@charset "utf-8";

/*
 * style.css
 *
 *  version --- 1.0
 *  updated --- 2017/11/30
 */

@font-face {
  font-family: "Gill Sans";
  src:
    url("../fonts/GillSans-Bold.woff2") format("woff2"),
    url("../fonts/GillSans-Bold.woff") format("woff"),
    url("../fonts/GillSans-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

/* !HTML5 elements
---------------------------------------------------------- */
header,
footer,
nav,
section,
aside,
article {
  display: block;
}

/* !Reseting
---------------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

fieldset {
  border: none;
}

ul,
ol,
li {
  list-style: none;
}

img {
  max-width: 100%;
  /* width: 100%; */
  height: auto;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  border-collapse: collapse;
  border-spacing: 0;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  /* appearance: none; */
}

select::-ms-expand {
  display: none;
}

input[type="radio"]::-ms-check,
input[type="checkbox"]::-ms-check {
  display: none;
}

select,
input[type="radio"],
input[type="checkbox"],
input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="reset"],
input[type="button"],
input[type="submit"],
textarea {
  /* appearance: none; */
  margin: 0;
  outline: none;
  border-radius: 0;
  font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
}

input[type="text"]::-ms-clear,
input[type="tel"]::-ms-clear,
input[type="number"]::-ms-clear {
  display: none;
}

input[type="reset"],
input[type="button"],
input[type="submit"] {
  font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  cursor: pointer;
}

*,
*:before,
*::after {
  box-sizing: border-box;
}

/* !Clearfix
---------------------------------------------------------- */
.clearfix {
  display: block;
  min-height: 1%;
}

.clearfix:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  visibility: hidden;
}

* html .clearfix {
  height: 1%;
}

/* !Layout
---------------------------------------------------------- */
html {
  overflow-y: scroll;
  font-size: 62.5%;
}

/*** タブレット 768x ~ 1300px***/
@media screen and (min-width: 768px) and (max-width: 1400px) {
  html {
    font-size: 0.714vw;
  }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  html {
    font-size: 62.5%;
  }
}

body {
  font-family: YakuHanJP, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
  font-size: 1.5rem;
  -webkit-text-size-adjust: none;
  line-height: 1.5;
  font-weight: normal;
  color: #000;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* !Base Fonts -------------------------------------------------------------- */
a {
  color: #000;
  text-decoration: none;
}

a[href^="javascript:;"] {
  cursor: default;
  pointer-events: none;
}

a:focus {
  outline: none;
}

a.link-blue {
  color: #2c93cd;
}

/*** hover ***/
@media screen and (min-width: 960px) {
  a {
    transition: all 0.5s;
  }

  a:hover {
    text-decoration: underline;
  }

  .op {
    transition: opacity 0.5s ease-out;
  }

  .op:hover {
    opacity: 0.5;
    text-decoration: none;
  }

  a[href^="tel:"] {
    cursor: default;
    pointer-events: none;
  }

}
@media (hover: none) and (pointer: coarse) {
  a, a *, button, [data-fancybox] {
    -webkit-tap-highlight-color: transparent;
  }
}
.is-hide {
  display: none;
}

.eng {
  font-family: "Gill Sans";
}

.is-pc {
  display: block;
}

.is-sp {
  display: none;
}

.inner {
  max-width: 124rem;
  width: 100%;
  padding: 0 2rem;
  margin: 0 auto;
}

.contents_inner {
  width: 100%;
  margin: 0 auto;
  display: inline-block;
  justify-content: space-between;
  align-items: center;
}

/* margin */
.mgt-10,
.mt10 {
  margin-top: 1rem;
}

.mgt-20 {
  margin-top: 20rem;
}

.mgt-150 {
  margin-top: 15rem;
}

.mgt-30,
.mt30 {
  margin-top: 3rem;
}

.mgt-40,
.mt40 {
  margin-top: 4rem;
}

.mgt-50 {
  margin-top: 5rem;
}

.mgt-80 {
  margin-top: 8rem;
}

.mbt-50 {
  margin-bottom: 5rem;
}

.mgb-50 {
  margin-bottom: 5rem;
}

/* padding */

.pdt-80 {
  padding-top: 8rem;
}

.pdt-200 {
  padding-top: 20rem;
}

.pdb-0 {
  padding-top: 0;
}

/* width */

.w20 {
  width: 20%;
  padding: 0 1%;
  margin: 3rem auto;
}

.w40 {
  width: 40%;
  padding: 0 1%;
  margin: 3rem auto;
}

.w60 {
  width: 60%;
  padding: 0 1%;
  margin: 3rem auto;
}

.w90 {
  width: 90%;
  padding: 0 1%;
  margin: 3rem auto;
}

.width-auto img {
  width: auto !important;
}

.tac {
  text-align: center;
}

/* btn */
.is-btn {
  border: 0.1rem solid #000;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2.6rem;
  border-radius: 2.5rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  transition:
    background 0.5s ease,
    color 0.5s ease;
}

.is-btn.black-btn {
  color: #fff;
  background: #000;
}

.is-btn.white-btn {
  color: #000;
  background: #fff;
}

/*** hover ***/
@media screen and (min-width: 960px) {
  .black-btn:hover {
    background: #fff;
    color: #000;
    transition:
      background 0.5s ease,
      color 0.5s ease;
    text-decoration: none;
  }

  .white-btn:hover {
    background: #000;
    color: #fff;
    transition:
      background 0.5s ease,
      color 0.5s ease;
    text-decoration: none;
    opacity: 1;
  }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  .is-pc {
    display: none;
  }

  .is-sp {
    display: block;
  }

  .inner {
    padding: 0 2rem;
  }

  .contents_inner {
    width: 100%;
    margin: 0 auto;
    display: block;
  }

  /*  margin */

  .mgt-20 {
    margin-top: 10rem;
  }

  .mgt-30,
  .mt30 {
    margin-top: 2rem;
  }

  .mgt-40,
  .mt30 {
    margin-top: 3rem;
  }

  .mgt-50 {
    margin-top: 3.5rem;
  }

  .mgt-80 {
    margin-top: 6rem;
  }

  .mbt-50 {
    margin-bottom: 3rem;
  }

  /*  padding */

  .pdt-80 {
    padding-top: 6rem;
  }

  .pdt-200 {
    padding-top: 10rem;
  }

  /* width */

  .w20 {
    width: 100%;
    padding: 0;
    margin: 3rem auto;
  }

  .w40 {
    width: 100%;
    padding: 0;
    margin: 3rem auto;
  }

  .w60 {
    width: 100%;
    padding: 0;
    margin: 3rem auto;
  }

  .w90 {
    width: 100%;
    padding: 0;
    margin: 3rem auto;
  }
}

/* !header
---------------------------------------------------------- */
#header {
  position: fixed;
  width: 100%;
  left: 0;
  top: 0;
  z-index: 9999;
}

#header::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
}

body.is-filter .header-box {
  filter: invert(1);
  
  transition: all .3s ease-in-out;
}

body.is-filter #header::before {
  background: #fff;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}

#header-inner {
  max-width: 160rem;
  width: 100%;
  height: 10rem;
  padding: 3rem 2rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-box {
  display: flex;
  width: 30rem;
  margin-right: 2rem;
}

#header-logo {
  position: relative;
  z-index: 1;
  width: 100%;
}

#header-logo img {
  width: 100%;
}

.btn-menu {
  display: none;
  position: relative;
  z-index: 3;
}

.btn-menu a {
  display: block;
  width: 3.2rem;
  height: 2rem;
  position: relative;
}

.btn-menu a span {
  display: block;
  background: #fff;
  width: 100%;
  height: 0.2rem;
  border-radius: 1.6rem;
  position: absolute;
  left: 0;
  transition: all 0.4s;
}

.btn-menu a span:first-child {
  top: 0;
}

.btn-menu a span:nth-child(2) {
  transform: translateY(-50%);
  top: 50%;
}

.btn-menu a span:last-child {
  bottom: 0;
}

.btn-menu.is-active a span:first-child {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

.btn-menu.is-active a span:nth-child(2) {
  opacity: 0;
}

.btn-menu.is-active a span:last-child {
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

@media screen and (max-width: 1600px) {
  .header-box {
    width: 20rem;
  }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  

  #header-inner {
    width: 100%;
    padding: 0;
    margin: 0 auto;
    height: 8rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .header-box {
    height: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 2rem;
    position: relative;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.3);
    margin-right: 0;
  }

  #header-logo {
    width: 30rem;
  }

  #header-logo img {
    width: auto;
    height: 2.8rem;
  }

  .btn-menu {
    display: block;
  }
}


/* !g-navi
---------------------------------------------------------- */
body.is-filter .g-navi__btn,body.is-filter #g-navi > ul > li > a,
body.is-filter #g-navi > ul > li > .is-parents {
  filter: invert(1);
  transition: all .3s ease-in-out;
}


#g-navi {
  display: flex;
  align-items: center;
  width: calc(100% - 32rem);
}

#g-navi a:hover {
  text-decoration: none;
}

#g-navi > ul {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-right: 1.2rem;
  width: 80%;
  margin-right: 1%;
}

#g-navi > ul > li {
  position: relative;
  height: 10rem;
  display: flex;
  align-items: center;
}

#g-navi > ul > li > a,
#g-navi > ul > li > .is-parents {
  position: relative;
  color: #fff;
  z-index: 100;
  padding: 0 1.5rem;
  font-size: 1.4rem;
  letter-spacing: 0.08em;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 2.1rem;
  overflow: hidden;
}

#g-navi > ul > li > .is-parents:after {
  width: 1rem;
  height: 0.8rem;
  background: #fff;
  content: "";
  display: block;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}

#g-navi .sub-menu {
  position: absolute;
  width: 100%;
  min-width: 20rem;
  left: 50%;
  transform: translateX(-50%);
  top: 0rem;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s;
  padding-top: 10rem;
}

#g-navi .sub-menu .sub-menu__box {
  display: flex;
  background: rgba(0, 0, 0, 0.3);
  padding: 2rem;
  width: 100%;
}

body.is-filter #g-navi .sub-menu .sub-menu__box {
  background: rgba(0, 0, 0, 1);
}


#g-navi .sub-menu .sub-menu__body {
  width: 100%;
}

#g-navi .sub-menu .sub-menu__body ul {
  width: 100%;
  display: block;
  text-align: center;
}

#g-navi .sub-menu .sub-menu__body ul a {
  color: #fff;
  font-size: 1.4rem;
  letter-spacing: 0.08em;
  font-weight: 700;
}

#g-navi .sub-menu .sub-menu__body ul li + li {
  margin-top: 2rem;
}

#g-navi > ul > li:hover .sub-menu {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s;
}

#g-navi .g-navi__btn {
  position: relative;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 35%;
}

#g-navi .g-navi__contact a,
#g-navi .g-navi__onlineshop a {
  font-size: 1.2rem;
  font-weight: bold;
  display: flex;
  /* width: 9.6rem; */
  height: 2.8rem;
  justify-content: center;
  align-items: center;
  border: 0.1rem solid #36363a;
  background: #36363a;
  color: #fff;
  border-radius: 1.8rem;
  padding: 0 1.4rem;
}

#g-navi .g-navi__contact {
  margin: 0 2rem;
}

.is-language a {
  font-size: 1.2rem;
  line-height: 1;
  font-weight: bold;
  display: flex;
  width: 5.2rem;
  height: 2.8rem;
  justify-content: center;
  align-items: center;
  background: #fff;
  color: #000;
  border-radius: 1.8rem;
  margin-left: 1rem;
}

.is-language a span {
  display: inline-flex;
  align-items: center;
}

.is-language a span::after {
  width: 0.8rem;
  height: 0.8rem;
  background: #000;
  content: "";
  display: block;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  margin-left: 0.5rem;
}

.is-language {
  position: relative;
  display: inline-block;
}

.is-language .sub-lang {
  position: absolute;
  top: 100%; 
  left: 0;
  opacity: 0; 
  visibility: hidden; 
  transform: translateY(-10px); 
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;
}

.is-language:hover .sub-lang {
  padding-top: .5rem;
  opacity: 1; 
  visibility: visible; 
  transform: translateY(0); 
}
.is-language .sub-lang a.op:hover {
  background-color: #333; 
}
.sub-lang a{
	background:#000;
	color:#fff;
}
.is-language .sub-lang a span::after {
    width: 0.8rem;
    height: 0.8rem;
    background: #fff;
    content: "";
    display: block;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    margin-left: 0.5rem;
}
.is-filter .sub-lang a{
	background: #000;
    color: #fff;
    border: solid 1px;
}
/*** hover ***/
@media screen and (min-width: 960px) {
  #g-navi > ul > li > a:hover,
  #g-navi > ul > li > span.is-parents:hover {
    text-decoration: underline;
  }

  #g-navi .sub-menu .sub-menu__body ul li a:hover {
    opacity: 0.75;
  }
}

@media screen and (max-width: 1600px) {
  #g-navi {
    width: calc(100% - 22rem);
  }

  #g-navi > ul > li > a, #g-navi > ul > li > .is-parents {
    font-size: 1.2rem;
  }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  body.is-filter .g-navi__btn,body.is-filter #g-navi > ul > li > a,
  body.is-filter #g-navi > ul > li > .is-parents {
    filter: invert(0);
    transition: all .3s ease-in-out;
  }

  #g-navi {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    /* background: rgba(118,154,38,0.9); */
    background: #fff;
    z-index: 2;
    padding: 8.6rem 2rem 8rem;
  }

  #g-navi .g-naviLogo {
    display: block;
    text-align: center;
    margin-bottom: 5rem;
  }

  #g-navi .g-naviLogo img {
    width: auto;
    height: 5rem;
  }

  #g-navi > ul {
    width: 100%;
    display: block;
    margin-right: 0;
    border-top: 0.1rem dashed #e5e5e5;
  }

  #g-navi > ul > li {
    border-bottom: 0.1rem dashed #e5e5e5;
    padding: 0;
    display: block;
    height: auto;
  }

  #g-navi > ul > li > a,
  #g-navi > ul > li > .is-parents {
    color: #000;
    position: relative;
    font-size: 1.8rem;
    line-height: 1.3125;
    display: block;
    height: auto;
    padding: 1.8rem 0;
  }

  #g-navi > ul > li > .is-parents {
    width: 100%;
    position: relative;
  }

  #g-navi > ul > li > .is-parents:after,
  #g-navi > ul > li > .is-parents::before {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.6rem;
    height: 0.1rem;
    background: #000;
    content: "";
    display: block;
    clip-path: unset;
    transition: transform 0.5s ease;
  }

  #g-navi > ul > li > .is-parents::before {
    transform: translateY(-50%) rotate(90deg);
  }

  #g-navi > ul > li > .is-parents.is-open::before {
    transform: translateY(-50%) rotate(0);
    transition: transform 0.5s ease;
  }

  #g-navi > ul > li > a:before {
    display: none;
  }

  #g-navi .sub-menu {
    position: relative;
    max-width: 100%;
    left: 0;
    transform: translateX(0);
    top: 0;
    opacity: 1;
    visibility: visible;
    padding: 0 0 2.8rem 2rem;
    display: none;
  }

  #g-navi > ul > li:hover > .sub-menu {
    opacity: 1;
    visibility: visible;
  }

  #g-navi .sub-menu .sub-menu__box {
    display: block;
    padding: 0;
    background: transparent;
  }

  #g-navi .sub-menu .sub-menuHead {
    display: none;
  }

  #g-navi .sub-menu .sub-menu__body {
    width: 100%;
  }

  body.is-filter #g-navi .sub-menu .sub-menu__box {
    filter: invert(0);
    background: transparent;
  }

  #g-navi .sub-menu .sub-menu__body ul {
    display: block;
  }

  #g-navi .sub-menu .sub-menu__body ul li {
    width: 100%;
    padding-left: 0;
    margin-bottom: 0;
  }

  #g-navi .sub-menu .sub-menu__body ul li a {
    position: relative;
    font-size: 1.6rem;
    padding: 1.1rem 0;
    height: auto;
    display: block;
    text-align: left;
    color: #000;
  }

  #g-navi .sub-menu .sub-menu__body ul li:last-child a {
    padding-bottom: 0;
  }

  #g-navi .g-navi__btn {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
    width: 100%;
  }

  #g-navi .g-navi__contact, 
  #g-navi .g-navi__onlineshop  {
    width: calc((100% - 5.2rem) / 2);
    margin: 0 .5rem;
  }

  #g-navi .g-navi__contact a, 
  #g-navi .g-navi__onlineshop a {
    font-size: 1.2rem;
    line-height: 1.2;
    margin: 0;
    height: 4rem;
    justify-content: center;
    align-items: center;
    border-radius: 10rem;
    text-align: center;
  }

  .is-language {
    
    margin: 0 .5rem;
  }

  .is-language a {
    font-size: 1.2rem;
    line-height: 1.2;
    font-weight: bold;
    display: flex;
    height: 4rem;
    justify-content: center;
    align-items: center;
    background: #fff;
    color: #000;
    border-radius: 10rem;
    margin: 0;
    border: 0.1rem solid #36363a;
  }

  .is-language a span {
    display: inline-flex;
    align-items: center;
  }

  .is-language a span::after {
    width: 0.8rem;
    height: 0.8rem;
    background: #000;
    content: "";
    display: block;
    clip-path: polygon(0 0, 50% 100%, 100% 0);
    margin-left: 0.5rem;
  }

  .is-language .sub-lang a,
  .is-filter .sub-lang a{
    background: #000;
      color: #fff;
      border: solid 1px;
  }
}

/* ! footer
---------------------------------------------------------- */
#footer {
  background: #ececec;
  padding: 4rem 0 3rem;
  position: relative;
  z-index: 2;
}

#footer .inner {
  max-width: 120rem;
}

.footer-site {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 5rem;
}

.footer-section {
  display: flex;
}

.footer-item {
  width: calc(70% / 3);
}

.footer-item.last {
  width: 30%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.footer-item .footer-item__list > li > a {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  display: inline-block;
  padding: 1.4rem 0;
}

.footer-item .footer-item__list .sun-list a {
  font-size: 1rem;
  line-height: 1.2;
  display: inline-block;
}

.footer-item .footer-item__list .sun-list li + li a {
  padding-top: 1.2rem;
}

.footer-item__sns {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.footer-item__sns .contact {
  margin-left: 4rem;
}

.footer-item__sns .contact .is-btn {
  font-size: 1.2rem;
}

.footer-inner {
  padding-top: 2.4rem;
  font-size: 1.5rem;
  line-height: 1.2;
  margin-top: 3.4rem;
  border-top: 0.1rem solid #000;
}

.footer-name {
  font-weight: 700;
}

.footer-info {
  display: flex;
  justify-content: space-between;
  margin-top: 1.1rem;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  /* ! footer
    ---------------------------------------------------------- */

  #footer {
    padding: 4rem 0 3rem;
  }

  .footer-site {
    font-size: 3rem;
    margin-bottom: 3rem;
  }

  .footer-section {
    display: flex;
    flex-wrap: wrap;
  }

  .footer-item {
    width: calc(100% / 3);
  }

  .footer-item.last {
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    max-width: 40rem;
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  .footer-item .footer-item__list > li > a {
    font-size: 1.2rem;
    padding: 1.2rem 0;
  }

  .footer-item .footer-item__list .sun-list a {
    font-size: 1rem;
    line-height: 1.2;
    display: inline-block;
  }

  .footer-item .footer-item__list .sun-list li + li a {
    padding-top: 1rem;
  }

  .footer-item__sns {
    width: 100%;
    margin: 3rem auto 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  .footer-item__sns .contact {
    margin-left: 0;
  }

  .footer-inner {
    padding-top: 2.4rem;
    font-size: 1.5rem;
    line-height: 1.2;
    margin-top: 3.4rem;
    border-top: 0.1rem solid #000;
  }

  .footer-name {
    font-weight: 700;
  }

  .footer-info {
    display: block;
    justify-content: space-between;
    margin-top: 1.1rem;
  }

  #copyright {
    margin-top: 1rem;
  }
}

/* !contents
---------------------------------------------------------- */
#contents {
  width: 100%;
  padding-bottom: 10rem;
}

#contents.pdb-0 {
  padding-bottom: 0;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  #contents {
    padding-bottom: 6rem;
  }
}

/* swiper */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  background: rgba(0, 0, 0, 0.5);
  padding: 2rem;
  margin: 0 auto;
  width: auto;
  display: inline-flex;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 3.5rem;
  border-radius: 3rem;
}

.swiper-horizontal > .swiper-pagination-bullets.out-page,
.swiper-pagination-bullets.swiper-pagination-horizontal.out-page {
  position: relative;
  width: auto;
  margin: 3rem auto 0;
  bottom: 0;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 0.5rem;
}

.swiper-pagination .swiper-pagination-bullet {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  background: #fff;
  opacity: 1;
}

.swiper-pagination .swiper-pagination-bullet-active {
  width: 6rem;
  border-radius: 1.2rem;
}

.swiper-button-prev,
.swiper-button-next {
  top: 50%;
  transform: translate(0,-50%);
  margin-top: 0;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  content: unset;
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
  opacity: 0.5;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  .swiper-pagination .swiper-pagination-bullet {
    width: 2vw;
    height: 2vw;
  }
  .swiper-pagination-fraction,
  .swiper-pagination-custom,
  .swiper-horizontal > .swiper-pagination-bullets,
  .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 3.2vw;
    padding: 3.2vw;
  }

  .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
  .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 0.5rem;
  }

  .swiper-pagination .swiper-pagination-bullet-active {
    width: 6vw;
  }

  /* .swiper-button-prev,
  .swiper-button-next {
    display: none;
  } */
}

/* !mainVisual
---------------------------------------------------------- */
.bg-white {
  background: #fff;
}

#main-visual {
  overflow: hidden;
  position: relative;
  z-index: -1;
}

#main-visual::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
}

.main-visual__mv {
  position: relative;
  width: 100%;
  padding-top: 100vh;
}

.main-visual__mv video {
  position: fixed;
  left: 0;
  top: 0;
  z-index: -1;
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease-in-out;
}

body.is-change .main-visual__mv video {
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.main-visual__head {
  position: absolute;
  left: 0;
  top: 50%;
  z-index: 10;
  color: #fff;
  transform: translateY(-50%);
  width: 100%;
  text-align: center;
}

.main-visual__head .main-visual__eng {
  display: block;
  font-size: 6rem;
  font-weight: 400;
  font-family: "Cinzel Decorative", serif;
}

.main-visual__head .main-visual__jap {
  display: block;
  font-size: 3rem;
  font-weight: 500;
  font-family: "Shippori Mincho", serif;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  .main-visual__head .main-visual__eng {
    font-size: 4rem;
  }

  .main-visual__head .main-visual__jap {
    font-size: 2rem;
  }
}

/* !teaser
---------------------------------------------------------- */
.teaser-hd {
  text-align: center;
}

.teaser-hd .eng {
  font-size: 3rem;
  line-height: 1.2;
  display: block;
}

.teaser-hd .jap {
  font-size: 5rem;
  line-height: 1.2;
  display: block;
  margin-top: 6rem;
}

.teaser-txt {
  font-size: 1.8rem;
  line-height: 2;
  text-align: center;
  font-weight: 700;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  .teaser-hd .jap {
    font-size: 2.5rem;
    margin-top: 2rem;
  }
}

/* top-section1 */
.top-section1 {
  position: relative;
}

.top-section__wrap {
  position: relative;
}

.top-section1 .image-bg {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
}

.top-section1 .image-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

.top-section2.pdt-20 {
  padding-top: 20rem;
}

.top-section__flex {
  height: 100%;
  padding: 13rem 0 20rem;
}

.top-section__left {
  color: #fff;
}

.top-section__left .tit-img {
  max-width: 110rem;
  width: 100%;
  margin: 0 auto;
}

.top-section__left .tit1 {
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.2;
  padding-left: 3rem;
  text-align: center;
}

.top-section__left .tit2 {
  font-size: 10rem;
  font-weight: 700;
  line-height: 1.13;
  margin: 1.7rem 0 3rem;
  padding-left: 3rem;
  text-align: center;
}

.top-section__left .txt1 {
  margin-top: 1rem;
  font-size: 2rem;
  font-weight: 600;
  line-height: 2;
  padding-left: 3rem;
  margin-top: 2rem;
  text-align: center;
}

.top-section__left .btn {
  text-align: center;
  margin-top: 12rem;
}

.top-section__left .txt3 {
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.19;
  margin-top: 1.2rem;
}

.top-section__right {
  display: flex;
  align-items: flex-end;
}

.top-section__right p {
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
}

.top-head {
  margin-bottom: 7rem;
  text-align: center;
}

.top-head .top-hd {
  font-size: 5rem;
  line-height: 1.2;
  font-weight: 700;
}

.top-head .top-eng {
  font-size: 3rem;
  font-weight: 600;
  margin-bottom: 4.8rem;
}

.top-head .top-head__txt {
  font-size: 1.5rem;
  line-height: 2;
  font-weight: 400;
  margin-top: 3rem;
}

.top-mg20 {
  margin-top: 20rem;
}

.top-swiper {
  max-width: 107rem;
  width: 100%;
  margin: 0 auto;
}

.cover-swiper .swiper {
  /* height: 90rem; */
  overflow: hidden;
}

.top-swiper .swiper-slide .swiper-image {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding-top: 54.67%;
  border-radius: 2rem;
  overflow: hidden;
}

.top-swiper .swiper-slide .swiper-image img {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom left;
  transition: transform 0.5s ease;
}

.top-section2 {
  overflow: hidden;
}

.top-swiper.cover-swiper {
  max-width: unset;
}

.top-swiper.cover-swiper .swiper-slide .swiper-image {
  border-radius: 0;
}

.top-review {
  position: relative;
}

.top-review__prev,
.top-review__next {
  position: absolute;
  top: 50%;
  z-index: 3;
  left: 0;
}

.top-review__next {
  left: auto;
  right: 0;
}

.top-review__prev a,
.top-review__next a {
  display: block;
  background-size: 2.9rem 2.3rem;
  width: 6.2rem;
  height: 6.2rem;
  border-radius: 100%;
  background: url("../img/common/img_arrow_prev.png") center center no-repeat #888888;
  background-size: 2.9rem 2.3rem;
}

.top-review__next a {
  background: url("../img/common/img_arrow_next.png") center center no-repeat #888888;
  background-size: 2.9rem 2.3rem;
}

.top-review__swiper {
  max-width: 98rem;
  width: 100%;
  margin: 0 auto;
}

.top-review__swiper .swiper-slide .swiper-image {
  position: relative;
  padding-top: 122%;
  overflow: hidden;
  border-radius: 1rem;
  display: block;
}

.top-review__swiper .swiper-slide .swiper-image img {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.top-review__btn {
  text-align: center;
  margin-top: 10rem;
}

.top-news h2 {
  line-height: 1.2;
  font-size: 3rem;
}

.top-news h2 .eng {
  font-weight: 600;
  display: block;
}

.top-news h2 .jap {
  font-weight: 700;
  display: block;
}

.top-news {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  border-top: 0.2rem solid #000;
  padding: 8rem 4rem 0;
}

.top-news h2 {
  width: 30%;
}

.top-news__list {
  width: 70%;
}

.top-news__list li:first-child a {
  padding-top: 0;
}

.top-news__list a {
  display: block;
  padding: 3.6rem 1rem;
  border-bottom: 0.1rem solid #000;
}

.top-news__list a span {
  display: inline-block;
  font-size: 2rem;
  line-height: 1.2;
}

.top-news__list a .date {
  line-height: 1;
}

.top-news__list a .tit {
  width: 100%;
  margin-top: 2rem;
}

.top-news__list a .cate {
  font-size: 1.5rem;
  line-height: 1;
  border: 0.1rem solid #000;
  border-radius: 1.5rem;
  padding: 0.4rem 1rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  margin-left: 1rem;
}

.top-news__btn {
  text-align: center;
  margin-top: 10rem;
}

.top-section6 {
  background: #ececec;
  padding: 10rem 0 6rem;
}

.home #contents {
  padding-bottom: 0;
}

.top-flex {
  display: flex;
  justify-content: center;
}

.top-flex__item {
  width: calc(100% / 3);
  padding: 6rem 5rem 8rem;
}

.top-flex__item + .top-flex__item {
  border-left: 0.1rem solid #000;
}

.top-flex__item .tit {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 2.3rem;
}

.top-flex__item .txt {
  font-size: 1.5rem;
  line-height: 2;
  font-weight: 700;
}

/*** hover ***/
@media screen and (min-width: 960px) {
  .top-swiper .swiper-slide a:hover img,
  .top-review__swiper .swiper-slide a:hover img {
    transform: scale(1.1);
    transition: transform 0.5s ease;
  }

  .top-news__list a:hover {
    text-decoration: none;
  }

  .top-news__list a:hover .tit {
    text-decoration: underline;
  }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  /* top-section1 */
  .top-section__wrap {
    position: relative;
  }

  .top-section2.pdt-20 {
    padding-top: 10rem;
  }

  .top-section__left .tit-img {
    max-width: 80%;
  }

  .top-section__flex {
    display: block;
    height: 100%;
    padding: 4rem 4rem 6rem;
  }

  .top-section__left .tit1 {
    font-size: 2rem;
    padding-left: 0;
  }

  .top-section__left .txt1 {
    font-size: 1.4rem;
    line-height: 1.8;
    padding-left: 0;
  }

  .top-section__left .tit2 {
    font-size: 3rem;
    margin: 1.2rem 0 1rem;
    padding-left: 0;
  }

  .top-section__left .btn {
    padding-left: 0;
    margin-top: 2rem;
  }

  .top-section__left .txt3 {
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.19;
    margin-top: 1rem;
  }

  .top-section__right {
    display: flex;
    justify-content: flex-end;
  }

  .top-section__right p {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.5;
  }

  .top-head {
    margin-bottom: 4rem;
    text-align: center;
  }

  .top-head .top-hd {
    font-size: 3.2rem;
  }

  .top-head .top-eng {
    font-size: 2.6rem;
    margin-bottom: 2rem;
  }

  .top-head .top-head__txt {
    font-size: 1.5rem;
    line-height: 1.45;
    margin-top: 2rem;
  }

  .top-mg20 {
    margin-top: 6rem;
  }

  .top-swiper {
    max-width: 107rem;
    width: 100%;
    margin: 0 auto;
  }

  .cover-swiper .swiper {
    /* height: 50rem; */
    overflow: hidden;
  }

  .top-swiper .swiper-slide a {
    padding-top: 60%;
  }

  .top-review__prev,
  .top-review__next {
    position: absolute;
    top: 50%;
    z-index: 3;
    left: 0;
  }

  .top-review__next {
    left: auto;
    right: 0;
  }

  .top-review__prev a,
  .top-review__next a {
    display: block;
    background-size: 1.6rem 1.2rem;
    width: 5rem;
    height: 5rem;
    border-radius: 100%;
  }

  .top-review__next a {
    display: block;
    background-size: 1.6rem 1.2rem;
  }

  .top-review__swiper {
    max-width: calc(100% - 12rem);
  }

  .top-review__btn {
    margin-top: 5rem;
  }

  .top-news h2 {
    line-height: 1.2;
    font-size: 3rem;
    text-align: center;
  }

  .top-news {
    display: block;
    padding: 5rem 0 0;
  }

  .top-news h2 {
    width: 100%;
  }

  .top-news__list {
    width: 100%;
    margin-top: 6rem;
  }

  .top-news__list a {
    padding: 2rem 1rem;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }

  .top-news__list a span {
    display: inline-block;
    font-size: 1.6rem;
    line-height: 1.2;
  }

  .top-news__list a .tit {
    width: 100%;
    margin-top: 2rem;
  }

  .top-news__list a .cate {
    margin-left: 1.6rem;
  }

  .top-news__btn {
    margin-top: 5rem;
  }

  .top-flex {
    display: block;
    justify-content: center;
  }

  .top-section6 {
    background: #ececec;
    padding: 4rem 0;
  }

  .top-flex__item {
    width: 100%;
    padding: 3rem 0;
  }

  .top-flex__item + .top-flex__item {
    border-top: 0.1rem solid #000;
    border-left: none;
  }

  .top-flex__item .tit {
    font-size: 2rem;
    margin-bottom: 1.6rem;
  }
}

/* お知らせ */
.news-wrap .news-list li {
  padding: 4rem 0;

  border-bottom: 0.1rem solid #000;
}

.news-wrap .news-list li:first-child {
  padding-top: 0;
}

.news-wrap .news-list a {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-left: 5rem;
  position: relative;
}

.news-wrap .news-list a::before {
  content: "";
  width: 3rem;
  height: 3rem;
  border-radius: 100%;
  background: url("../img/common/img_arrow_next.png") center center no-repeat #888;
  background-size: 1.2rem;
  position: absolute;
  left: 0;
  top: -0.5rem;
  z-index: 10;
}

.news-wrap .news-list a span {
  display: inline-block;
  font-size: 2rem;
  line-height: 1.2;
}

.news-wrap .news-list a .date {
  line-height: 1;
  width: 20%;
}

.news-wrap .news-list a .tit {
  width: 60%;
}

.news-wrap .news-list a .cate {
  line-height: 1;
  border: 0.1rem solid #000;
  border-radius: 1.5rem;
  padding: 0.4rem 1.4rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  margin-left: 1rem;
}

/*** hover ***/
@media screen and (min-width: 960px) {
  .news-wrap .news-list a:hover {
    text-decoration: none;
    opacity: 0.5;
  }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  .news-wrap .news-list li {
    padding: 3rem 0;
  }

  .news-wrap .news-list a span {
    font-size: 1.6rem;
    line-height: 1.2;
  }

  .news-wrap .news-list a .date {
    line-height: 1;
    width: 100%;
  }

  .news-wrap .news-list a .tit {
    width: 100%;
    margin-top: 1.8rem;
  }

  .news-wrap .news-list a .cate {
    top: -0.6rem;
    position: absolute;
    right: 0;
    z-index: 3;
  }
}

/* products-patmark */
#teaser img {
  width: 100%;
}

.teaser-image {
  position: relative;
  overflow: hidden;
  padding-top: 100vh;
}

.teaser-image img {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 
#patmark .teaser-image img {
  object-position: bottom center;
} */

.product-teaser {
  margin-top: 6rem;
}

.product-teaser h2 {
  text-align: center;
  font-size: 5rem;
  line-height: 1.2;
}

.product-teaser .teaser-txt {
  /* font-size: 2rem; */
  font-weight: 400;
  line-height: 2;
  text-align: center;
  margin-top: 2.7rem;
}

.product-teaser__item {
  position: relative;
  width: calc(100% - 4rem);
  padding-top: 54.62%;
  margin: 8rem auto 0;
}

.product-teaser__item img,
.product-teaser__item iframe {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  height: 100%;
  width: 100%;
  object-fit: cover;
  border-radius: 2.6rem;
}

.product-wrap {
  margin-top: 12rem;
}

.line-up__hd {
  text-align: center;
  color: #e36604;
  margin-bottom: 6rem;
  font-size: 5rem;
}

.line-up__hd.bk {
  color: #000;
}

.line-up__hd.brown {
  color: #a17a53;
}

.line-up__hd.green {
  color: #8dc21f;
}

.lineup-wrap .swiper {
  overflow: visible;
}

.lineup-bg.blue .products-slide {
  background: #8d96aa;
}

.lineup-bg.gold .products-slide {
  background: #c8b5a4;
}

.lineup-bg.green .products-slide {
  background: #b3c48a;
}

.product-lineup {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 2rem;
  /* gap: 1rem;
  flex-wrap: wrap; */
}

.product-lineup .products-slide {
  /* width: calc(50% - .7rem); */
  position: relative;
  padding: 2rem;
  
  overflow: hidden;
}

.product-lineup .products-slide .info {
  text-align: center;
  font-size: 1.9rem;
  font-weight: 700;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 6;
  padding: 4rem 10rem;
  pointer-events: none;
}

.product-wrap.patmark-lineup .product-lineup {
  grid-template-columns: repeat(3,1fr);
}

.product-wrap.patmark-lineup .product-lineup .products-slide {
  /* width: calc((100% / 3) - .7rem); */
  padding-bottom: 10rem;
}

.product-wrap.patmark-lineup .product-lineup .products-slide .info {
  position: relative;
  padding: 10rem 0 6rem;
}

.product-wrap.hublaser-lineup .product-lineup .products-slide .info {
  top: auto;
  bottom: 0;
}

.product-lineup .products-slide .info h3 {
  line-height: 1.2;
  color: #fff;
  font-size: 4.5rem;
  transition: transform 0.5s ease;
}

.product-lineup .products-slide .info .btn {
  margin-top: 4.7rem;
}

.product-lineup .products-slide .image {
  text-align: center;
  position: relative;
  z-index: 5;
}

.product-lineup .products-slide .image img {
  height: 40rem;
  width: auto;
}

.patmark-sketchbook__hd {
  font-size: 5rem;
  font-weight: 700;
  text-align: center;
}

.common-txt {
  font-size: 1.6rem;
  font-weight: 400;
}

.patmark-sketchbook {
  margin-top: 22rem;
}

.patmark-sketchbook__info {
  text-align: center;
}

.patmark-sketchbook__img {
  max-width: 54rem;
  width: 100%;
  margin: 9rem auto 6rem;
}

.patmark-sketchbook__btn {
  margin-top: 7rem;
}

.product-lineup .products-slide.card a:hover {
  text-decoration: unset;
}

.product-lineup .products-slide.card a .image img,
.product-lineup .products-slide a .info h3 {
  transition: transform 0.5s ease-out;
}

.product-lineup .products-slide.card a:hover .image img {
  transition: transform 0.5s ease-out;
  transform: scale(1.2);
}

.product-lineup .products-slide a:hover .info h3 {
  transition: transform 0.5s ease-out;
  transform: scale(2);
}

.product-wrap.patmark-lineup .product-lineup .products-slide a:hover .info h3 {
  transform: scale(1.8);
}


@media screen and (min-width: 768px) and (max-width: 1400px) {
  .product-lineup .products-slide.card a:hover .image img {
    transition: transform 0.5s ease-out;
    transform: scale(1.1);
  }

  .product-lineup .products-slide a:hover .info h3 ,
  .product-wrap.patmark-lineup .product-lineup .products-slide a:hover .info h3 {
    transform: scale(1.3);
  }

}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  /* products-patmark */
  /* .teaser-image {
    padding-top: 98%;
  } */

  #teaser img {
    width: 100%;
  }

  .product-teaser {
    margin-top: 6rem;
  }

  .product-teaser h2 {
    font-size: 3.2rem;
  }

  .product-teaser .teaser-txt {
    font-size: 1.5rem;
    line-height: 1.45;
  }

  .product-teaser__item {
    width: 100%;
    margin-top: 5rem;
  }

  .product-teaser__item img {
    width: 100%;
    border-radius: 1.6rem;
  }

  .product-wrap {
    margin-top: 6rem;
  }

  .line-up__hd {
    margin-bottom: 3rem;
    font-size: 3.6rem;
  }

  .lineup-bg {
    padding: 4rem 0;
  }

  .product-lineup .swiper-slide {
    width: 100%;
    transform: scale(1);
  }

  .product-lineup .swiper-slide.swiper-slide-active {
    transform: scale(1);
  }

  .product-lineup .products-slide .info {
    font-size: 1.5rem;
    padding: 1rem 2rem;
  }

  .product-lineup .products-slide .image img {
    height: auto;
    width: 100%;
  }

  .product-lineup .products-slide .info h3 {
    font-size: 2.4rem;
  }

  .product-lineup {
    gap: 1rem;
  }

  .product-wrap.patmark-lineup .product-lineup {
    display: block;
  }

  .product-wrap.patmark-lineup .product-lineup .products-slide+.products-slide {
    margin-top: 1rem;
  }

  .product-wrap.patmark-lineup .product-lineup .products-slide {
    width: 100%;
    padding: 3rem 0;
  }

  .product-wrap.patmark-lineup .product-lineup .products-slide .info {
    position: relative;
    padding: 3rem 0;
  }

  .product-lineup .products-slide .info .btn {
    margin-top: 2.4rem;
  }

  .patmark-sketchbook__hd {
    font-size: 3.2rem;
  }

  .common-txt {
    font-size: 1.5rem;
  }

  .patmark-sketchbook {
    margin-top: 8rem;
  }

  .patmark-sketchbook__img {
    margin: 5rem auto 6rem;
  }

  .patmark-sketchbook__btn {
    margin-top: 4rem;
  }

  .product-lineup .products-slide.card a:hover .image img,
  .product-lineup .products-slide a:hover .info h3,
  .product-wrap.patmark-lineup .product-lineup .products-slide a:hover .info h3 {
    transition: transform 0.5s ease;
    transform: scale(1);
  }
}

/* 精巧刻印 */
#metal_stamp .line-up__hd {
  margin-bottom: 3rem;
}

.swiper-3d .swiper-slide-shadow {
  background: none;
}

.product-swiper__card .card-info {
  margin-top: 2.8rem;
  display: flex;
  justify-content: space-around;
}

.product-swiper__card .card-info h3 {
  font-size: 3rem;
}

.metal-stamp__wrap {
  max-width: 74rem;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.product-swiper__card .swiper-slide .products-slide {
  transform: translateY(-10rem) scale(0.9);
  padding: 10rem 0;
}

.product-swiper__card .swiper-slide .products-slide img {
  border-radius: 2rem;
  width: 100%;
}

.product-swiper__card .swiper-slide.swiper-slide-active .products-slide {
  /* scale: 1; */
  transform: translateY(5rem) scale(1);
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  #metal_stamp .line-up__hd {
    margin-bottom: 0;
  }

  .swiper-3d .swiper-slide-shadow {
    background: none;
  }

  .product-swiper__card .metal-stamp__info {
    margin-top: 2.8rem;
  }

  .product-swiper__card .metal-stamp__info h3 {
    font-size: 3rem;
  }

  .metal-stamp__wrap {
    max-width: 74rem;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
  }

  .product-swiper__card .swiper-slide .products-slide {
    transform: translateY(-5rem) scale(0.9);
    padding: 5rem 0;
  }

  .product-swiper__card .swiper-slide.swiper-slide-active .products-slide {
    /* scale: 1; */
    transform: translateY(5rem) scale(1);
  }
}

/* 打刻ツール */

.products-line_up {
  /* overflow: hidden; */
  /* padding-bottom: 20rem; */
  margin: 0 auto;
}

.line-up__slider .line-up__info {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-top: 2.5rem;
  /* opacity: 0; */
}

.line-up__slider .line-up__info h3 {
  line-height: 1.2;
  color: #000;
  font-size: 4rem;
}

.line-up__info .btn {
  margin-top: 0;
}

.line-up__slider .slick-slide .line-up__info {
  opacity: 0;
}

.line-up__slider .slick-slide.slick-current .line-up__info {
  opacity: 1;
}

.line-up__slider .slick-list {
  overflow: visible;
}

.line-up__slider .slick-slide {
  text-align: center;
}

.line-up__slider .slick-slide.slick-current {
  position: relative;
}

.line-up__slider .slick-slide.slick-current .line-up__slide {
  transform-origin: top center;
  position: relative;
  z-index: 1;
  position: absolute;
  left: 50%;
  top: 10rem;
  transform: translateX(-50%);
  width: 50rem !important;
}

.line-up__slider .slick-slide img {
  width: 100%;
}

.products-line_up .card a {
  text-decoration: none;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  .products-line_up {
    padding-bottom: 0;
  }

  .line-up__slider .line-up__info {
    margin-top: 2.8rem;
    display: block;
    opacity: 1;
    text-align: center;
  }

  .line-up__slider .line-up__info h3 {
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 2rem;
  }

  .line-up__slider .slick-slide .line-up__info {
    opacity: 1;
  }

  .line-up__slider .slick-slide.slick-current .line-up__slide {
    position: relative;
    left: 0;
    top: 0;
    transform: translateX(0);
    width: auto !important;
  }

  .line-up__slider .slick-slide img {
    width: 100%;
  }
}

/* 会社情報 about */
.about-teaser {
  position: relative;
  z-index: 3;
  padding: 17rem 0 9rem;
}

.about-bg {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.about-bg::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
}

.about-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom center;
}

.teaser-info {
  position: relative;
  z-index: 3;
  color: #fff;
  font-size: 1.5rem;
  line-height: 3;
  text-align: center;
}

.teaser-info .about-logo {
  max-width: 7.2rem;
  width: 100%;
  margin: 0 auto 7rem;
}

.common-hd {
  font-size: 5rem;
  line-height: 1.2;
  text-align: center;
  margin-bottom: 4rem;
  letter-spacing: 0.02em;
}

.common-hd span {
  display: block;
}

.common-hd span + span {
  margin-top: 1.6rem;
}

.about-section {
  max-width: 95rem;
  width: 100%;
  margin: 8rem auto 0;
}

.about-section.philosophy {
  max-width: 100rem;
  width: 100%;
  margin: 10rem auto 0;
}

.about-philosophy__img {
  position: relative;
  padding: 6rem 0;
  margin-top: 10rem;
}

.about-philosophy__img img {
  width: 100%;
}

.about-philosophy__img::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  z-index: -1;
  width: 100vw;
  height: 100%;
  transform: translateX(-50%);
  background: #eeeeee;
}

.about-access {
  padding-top: 4rem;
  border-top: 0.1rem solid #d8d9da;
  margin-top: 10.6rem;
}

.about-access__name {
  font-size: 1.6rem;
  margin-bottom: 4.5rem;
  color: #474241;
  display: flex;
}

.about-access__name span {
  font-weight: 700;
  display: inline-block;
  margin-left: 1rem;
}

.access-item table,
.access-item tbody {
  width: 100%;
  font-size: 1.4rem;
}

.access-item tr {
  color: #434040;
  text-align: left;
  width: 100%;
  display: table-row;
}

.access-item tr th {
  width: 25%;
  padding: 1.2rem;
  border-bottom: 0.1rem solid #cc0000;
  font-weight: 700;
  display: table-cell;
  vertical-align: middle;
}

.access-item tr td {
  width: 75%;
  border-bottom: 0.1rem solid #c0c0c0;
  padding: 1.2rem;
  display: table-cell;
}

.access-area {
  padding: 4rem 0;
  border-bottom: 0.1rem dotted #c0c0c0;
}

.access-area.flex {
  display: flex;
}

.access-area.flex .access-item {
  width: 56%;
  padding-right: 2.2rem;
}

.access-area.flex .about-access__map {
  width: 44%;
}

.access-area .map-iframe {
  position: relative;
  overflow: hidden;
  padding-top: 67.73%;
}

.access-area .map-iframe iframe {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.access-item.blue tr th {
  border-bottom: 0.1rem solid #5986b8;
}

.access-area:last-child {
  border-bottom: none;
}

.about-section.field .common-hd,
.about-section.history .common-hd {
  color: #464241;
  border-bottom: 0.1rem solid rgb(216 217 218);
  padding: 1rem 0;
}

.about-section.field p {
  line-height: 2;
}

h3.about-bg__gray {
  font-size: 2.4rem;
  text-align: center;
  padding: 0.5em 0;
  display: inline-block;
  width: 58%;
  margin: 0 auto;
  background: #eeeeee;
  color: #464241;
}

.about-box p {
  line-height: 2;
  font-size: 1.8rem;
  color: #464241;
}

.about-history table {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  color: #434040;
}

.about-history table th {
  width: 20%;
  padding: 1rem 0;
  text-align: left;
  vertical-align: middle;
}

.about-history table td {
  line-height: 1.8em;
  width: 80%;
  padding: 1rem 0;
}

.about-history table td a {
  color: #2c93cd;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  /* 会社情報 about */
  .about-teaser {
    padding: 10rem 0 6rem;
  }

  .teaser-info {
    font-size: 1.4rem;
    line-height: 2;
    text-align: center;
  }

  .teaser-info .about-logo {
    max-width: 7.2rem;
    width: 100%;
    margin: 0 auto 4rem;
  }

  .common-hd {
    font-size: 3rem;
    line-height: 1.2;
    text-align: center;
  }

  .common-hd span {
    display: block;
  }

  .common-hd span + span {
    margin-top: 1rem;
  }

  .about-section {
    max-width: 95rem;
    width: 100%;
    margin: 6rem auto 0;
  }

  .about-section.philosophy {
    max-width: 100rem;
    width: 100%;
    margin: 6rem auto 0;
  }

  .about-philosophy__img {
    margin-top: 5rem;
  }

  .about-access {
    padding-top: 2rem;
    margin-top: 6rem;
  }

  .about-access__name {
    font-size: 1.6rem;
    margin-bottom: 3rem;
  }

  .access-item tr {
    color: #434040;
    text-align: left;
    width: 100%;
    display: table-row;
  }

  .access-item tr th {
    width: 25%;
    padding: 1.2rem;
    border-bottom: 0.1rem solid #cc0000;
    font-weight: 700;
    display: table-cell;
    vertical-align: middle;
  }

  .access-item tr td {
    width: 75%;
    border-bottom: 0.1rem solid #c0c0c0;
    padding: 1.2rem;
    display: table-cell;
  }

  .access-area {
    padding: 4rem 0;
    border-bottom: 0.1rem dotted #c0c0c0;
  }

  .access-area.flex {
    display: block;
  }

  .access-area.flex .access-item {
    width: 100%;
    padding-right: 0;
  }

  .access-area.flex .about-access__map {
    width: 100%;
    margin-top: 3rem;
  }

  .about-section.field p {
    font-size: 1.6rem;
  }

  h3.about-bg__gray {
    font-size: 1.6rem;
    margin: 0 auto;
    display: block;
  }

  .about-box p {
    line-height: 2;
    font-size: 1.8rem;
  }

  .about-history table {
    width: 100%;
  }
}

/* download */
.white-teaser {
  padding: 15rem 0;
}

.download-warp {
  background: #eeeeee;
  padding: 20rem 0;
}

.download-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6rem;
}

.download-item {
  width: calc((100% / 3) - 6rem);
}

.download-item__logo {
  height: 5rem;
  margin-bottom: 5rem;
  text-align: center;
}

.download-item__logo img {
  width: auto;
  height: 100%;
}

.download-item__box {
  background: #fff;
  padding: 10rem 4rem 3rem;
  position: relative;
}

.download-item__btn {
  position: absolute;
  left: 2.6rem;
  top: 1.6rem;
  z-index: 2;
  width: 4.6rem;
}

.download-item__btn.new::before {
  content: "New";
  position: absolute;
  left: 50%;
  bottom: -0.5rem;
  z-index: 2;
  transform: translate(-50%, 100%);
  font-size: 1.9rem;
  color: #b8824f;
  font-family: "Gill Sans";
}

.download-item__image {
  max-width: 95%;
  width: 100%;
  margin: 0 auto;
  text-align: center;
}

.download-item__tit {
  font-size: 1.6rem;
  font-weight: 700;
  margin-top: 3rem;
  text-align: center;
}

/*** hover ***/
@media screen and (min-width: 960px) {
  .download-item__btn:hover {
    opacity: 0.5;
    transition: opacity 0.5s ease;
  }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  .white-teaser {
    padding: 12rem 0 6rem;
  }

  .download-warp {
    background: #eeeeee;
    padding: 10rem 0;
  }

  .download-list {
    display: block;
  }

  .download-item {
    width: 100%;
  }

  .download-item + .download-item {
    margin-top: 8rem;
  }

  .download-item__logo {
    height: 4rem;
    margin-bottom: 3rem;
  }

  .download-item__box {
    padding: 10rem 2rem 3rem;
  }

  .download-item__btn {
    position: absolute;
    left: 1.6rem;
    top: 1.6rem;
    z-index: 2;
    width: 4.6rem;
  }

  .download-item__tit {
    font-size: 2rem;
  }

  .download-item__image {
    max-width: 80%;
  }
}

/* support サポート */
.support-bg {
  background: #eeeeee;
  padding: 6rem 0 10rem;
}

.support-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6rem;
}

.support-item {
  width: calc((100% / 3) - 6rem);
}

.support-item .support-box {
  background: #fff;
  display: flex;
  justify-content: space-between;
  text-align: center;
  flex-direction: column;
  border-radius: 2rem;
  box-shadow: 0 0 1.6rem rgba(0, 0, 0, 0.3);
  padding: 6rem 4rem 2rem;
  min-height: 38rem;
}

.support-item.video .support-box {
  justify-content: flex-start;
}

.support-item__image {
  max-width: 6rem;
  width: 100%;
  margin: 6rem auto 0;
}

.support-item .support-box .tit {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 2rem;
}

.support-item .support-box .info {
  margin-top: 5rem;
}

.support-item .support-box .info p {
  font-size: 2rem;
}

.support-item .support-box .info p span {
  font-weight: 700;
}

.support-item .support-box .support-btn {
  margin-top: 7rem;
}

.support-wrap .support-top__tit {
  font-size: 2.5rem;
  text-align: center;
  font-weight: 700;
  margin-bottom: 9rem;
}

.support-wrap .support-txt {
  font-size: 2rem;
}

.support-ul.decimal {
  list-style: none;       
  counter-reset: li;
}

.support-ul li {
  border-bottom: 0.1rem dashed #030000;
  padding: 2rem 0;
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 700;
}

.support-ul.decimal li {
  padding: 2rem 2rem 2rem 3em;
  /* text-indent: -1.5em ; */
  font-size: 1.2rem;
  position: relative;
}

.support-ul.decimal li::before {
  counter-increment: li; 
  content: counter(li) "."; 
  position: absolute;
  left: 0;
  top: 2rem;
  width: 2.5em;
  text-align: right;
  font-weight: 700;
  font-size: 1.2rem;
  color: #030000;
}

.support-note {
  margin-top: 2rem;
  font-size: 1.1rem;
  line-height: 2;
  font-weight: 700;
  padding: 0 1em;
}

.support-table {
  margin-top: 3rem;
}

.support-table table {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  border: 0.1rem solid #dfdfdf;
  font-size: 1.2rem;
  text-align: center;
  border-collapse: collapse;
  line-height: 150%;
}

.support-table table caption {
  text-align: left;
  font-weight: 700;
  margin-bottom: 2rem;
}

.support-table table th {
  width: 20rem;
  padding: 1rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  border: 0.1rem solid #dfdfdf;
  background: #f8f8f8;
}

.support-table table td {
  padding: 1rem 2rem;
  border: 0.1rem solid #dfdfdf;
  vertical-align: middle;
}

.support-table table td.type02 {
  background-color: azure;
  font-weight: bold;
}

.support-table__note {
  font-size: 1.8rem;
  margin-bottom: 3rem;
  text-align: center;
}

.support-table__note.bold {
  font-weight: 700;
}

.support-table__note a {
  color: #2c93cd;
}

/*** hover ***/
@media screen and (min-width: 960px) {
  .support-item a:hover {
    opacity: 0.5;
    transition: 0.5s ease;
  }

  .support-item .support-btn a {
    opacity: 1;
  }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  .support-bg {
    background: #eeeeee;
    padding: 6rem 0 10rem;
  }

  .support-list {
    display: block;
    max-width: 90%;
    width: 100%;
    margin: 0 auto;
  }

  .support-item {
    width: 100%;
  }

  .support-item + .support-item {
    margin-top: 3rem;
  }

  .support-item .support-box {
    padding: 3rem 4rem 2rem;
    min-height: 30rem;
  }

  .support-item__image {
    max-width: 6rem;
    width: 100%;
    margin: 6rem auto 0;
  }

  .support-item .support-box .tit {
    font-size: 2.2rem;
    font-weight: 700;
    margin-bottom: 2rem;
  }
	.support-btn a.is-btn.white-btn {
    font-size: 1.3rem;
}
  .support-item .support-box .info {
    margin-top: 5rem;
  }

  .support-item .support-box .info p {
    font-size: 2rem;
  }

  .support-item .support-box .info p span {
    font-weight: 700;
  }

  .support-item .support-box .support-btn {
    margin-top: 7rem;
  }

  .support-wrap .support-top__tit {
    font-size: 2.4rem;
    margin-bottom: 4rem;
  }

  .support-table {
    margin-top: 3rem;
  }

  .support-table table {
    max-width: 100%;
    font-size: 1rem;
  }

  .support-table table caption {
    text-align: left;
    font-weight: 700;
    margin-bottom: 3rem;
  }

  .support-table table th {
    width: 20%;
    padding: 1rem;
  }

  .support-table table td {
    padding: 1rem 0.6rem;
  }

  .support-table__note {
    font-size: 1.6rem;
  }
}

/* 海外代理店 network */
.network-teaser {
  position: relative;
  z-index: 3;
  padding: 26rem 0 23rem;
}

.network-teaser .teaser-info {
  color: #000;
}

.network-bg {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}

.network-bg::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.2);
}

.network-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom center;
}
.Network_content {
    margin-top: 13rem;
}
.worldmap {
  max-width: 100rem;
  width: 100%;
  height: 46.8rem;
  background: url(../img/network/111.jpg) no-repeat;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  background-size: 100% 100%;
}

.worldmap a {
  display: block;
  max-width: 2rem;
}

.usa {
  position: absolute;
  top: 14.6rem;
  left: 21.4rem;
}

.uk {
  position: absolute;
  top: 11rem;
  left: 45rem;
}

.mexico {
  position: absolute;
  top: 20.5rem;
  left: 18rem;
}

.brazil {
  position: absolute;
  top: 32.2rem;
  left: 33.8rem;
}

.korea {
  position: absolute;
  top: 16.7rem;
  left: 81.7rem;
}

.taiwan {
  position: absolute;
  top: 20rem;
  left: 79.9rem;
}

.thailand {
  position: absolute;
  top: 22.6rem;
  left: 74.4rem;
}

.singapore {
  position: absolute;
  top: 26.2rem;
  left: 74.8rem;
}

.indonesia {
  position: absolute;
  top: 28.7rem;
  left: 77rem;
}

.turkey {
  position: absolute;
  top: 16.2rem;
  left: 54.5rem;
}

.australia {
  position: absolute;
  top: 35.9rem;
  left: 87.8rem;
}

.tat {
  position: absolute;
  top: 23.6rem;
  left: 29rem;
}

.germany {
  position: absolute;
  top: 13rem;
  left: 47.5rem;
}

.sweden {
  position: absolute;
  top: 7rem;
  left: 50.3rem;
}

.vietnam {
  position: absolute;
  top: 23.8rem;
  left: 76.5rem;
}

.india {
  position: absolute;
  top: 23.8rem;
  left: 68.4rem;
}

.canada {
  position: absolute;
  top: 11.6rem;
  left: 14.5rem;
}

.southafrica {
  position: absolute;
  top: 36.2rem;
  left: 52.3rem;
}

.download-conte-title {
  color: #434040;
  font-weight: bold;
  font-size: 2rem;
  margin-bottom: 2rem;
}

.download-conte-title.Network_title {
  margin: 6rem 0;
}

.dl_box {
  width: 50%;
  margin-left: auto;
  margin-right: auto;
  display: table;
}

p.dl_btn02 {
  display: block;
  text-align: center;
}

.dl_btn02 a {
  color: #666464;
  font-weight: normal;
  background: #cfcfcf;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 1.6rem 2rem;
  font-size: 1.5rem;
  display: inline-block;
}

.dl_btn02 a span.small {
  background: url(../img/network/ico_pdf.png) no-repeat;
  background-size: 1.6rem 1.8rem;
  background-position: left 0.1rem;
  padding-left: 2.8rem;
}

a.anchor {
  display: block;
  position: relative;
  top: -7rem;
  visibility: hidden;
}

.agency_area {
  /* max-width: 100rem; */
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  padding: 5rem 0;
  border-bottom: 0.1rem dotted #c0c0c0;
}

.agency_area .agency_left {
  width: 56%;
  padding-right: 2.2rem;
  display: table-cell;
  vertical-align: middle;
  text-align: left;
  font-weight: normal;
}

.distributor {
  padding: 0.5rem 3rem;
  background: #0f52a6;
  display: inline-block;
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 1rem;
}

.agency_area table {
  width: 95%;
  color: #434040;
  font-size: 1.4rem;
}

.agency_area table th {
  width: 25%;
  padding: 1.2rem;
  border-bottom: 0.1rem solid #cc0000;
}

.agency_area table td {
  padding: 1.2rem;
  border-bottom: 0.1rem solid #c0c0c0;
}

.agency_area table td a {
  color: #2c93cd;
}

.movie_network {
  width: 44%;
}

.movie_network .map {
  position: relative;
  overflow: hidden;
  padding-top: 67.73%;
}

.agency_area iframe {
  display: table-cell;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.agency_area.nostyle {
  border: none;
}

/*** hover ***/
@media screen and (min-width: 960px) {
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  .network-teaser {
    padding: 12rem 0 16rem;
  }
.Network_content {
    margin-top: 8rem;
}
  .worldmap {
    max-width: 80vw;
    height: 40vw;
    background-size: 100% 100%;
  }

  .worldmap a {
    max-width: 1rem;
  }

  .canada {
    position: absolute;
    top: 33px;
    left: 46px;
  }

  .usa {
    position: absolute;
    top: 12vw;
    left: 18vw;
    /* top: 43px;
        left: 74px; */
  }

  .uk {
    position: absolute;
    top: 30px;
    left: 158px;
  }

  .mexico {
    position: absolute;
    top: 18vw;
    left: 15vw;
    /* top: 64px;
        left: 63px; */
  }

  .brazil {
    position: absolute;
    /* top: 105px;
        left: 119px; */
    top: 28vw;
    left: 27vw;
  }

  .korea {
    position: absolute;
    top: 14vw;
    left: 66vw;
    /* top: 50px;
        left: 290px; */
  }

  .indonesia {
    position: absolute;
    /* top: 98px;
        left: 276px; */
    top: 26vw;
    left: 62vw;
  }

  .taiwan {
    position: absolute;
    top: 17vw;
    left: 64vw;
    /* top: 69px;
        left: 282px; */
  }

  .thailand {
    position: absolute;
    top: 19vw;
    left: 60vw;
    /* top: 75px;
        left: 263px; */
  }

  .singapore {
    position: absolute;
    /* top: 88px;
        left: 263px; */
    top: 24vw;
    left: 60vw;
  }

  .turkey {
    position: absolute;
    top: 53px;
    left: 192px;
  }

  .australia {
    position: absolute;
    /* top: 119px;
        left: 310px; */
    top: 31vw;
    left: 71vw;
  }

  .germany {
    position: absolute;
    /* top: 42px;
        left: 168px; */
    top: 13vw;
    left: 38vw;
  }

  .sweden {
    position: absolute;
    top: 21px;
    left: 177px;
  }

  .vietnam {
    position: absolute;
    top: 85px;
    left: 270px;
    top: 22vw;
    left: 62vw;
  }

  .india {
    position: absolute;
    top: 82px;
    left: 240px;
  }

  .southafrica {
    position: absolute;
    /* top: 140px;
        left: 203px; */
    /* top: 126px;
        left: 180px; */
    top: 32vw;
    left: 42vw;
  }

  .tat {
    position: absolute;
    /* top: 81px;
        left: 102px; */
    top: 22vw;
    left: 24vw;
  }

  .dl_box {
    width: 100%;
  }

  .agency_area {
    display: block;
  }

  .agency_area .agency_left {
    width: 100%;
    padding-right: 0;
  }

  .movie_network {
    margin-top: 4rem;
    width: 100%;
  }
}

/* metal_stamp 手打刻印 */
.products_link {
  padding: 6rem 8%;
}

.products_link ul,
.products_flex {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 0 auto;
}

.products_link ul li {
  width: 33.33%;
  margin-bottom: 3rem;
}

.products_link ul li img {
  width: 100%;
}

.products_link ul li .listbox {
  padding: 0 1rem;
}

.products_link ul li.block_2 {
  width: 50%;
  margin-bottom: 5rem;
}

p.caption {
  margin-top: 1.8rem;
  font-size: 1.5rem;
  line-height: 110%;
}

.products_link .block_w65per {
  width: 65%;
  margin-bottom: 5rem;
}

.products_link .block_w35per {
  width: 35%;
  margin-bottom: 5rem;
  padding-left: 5%;
}

.product-table {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  border: 0.1rem solid #dfdfdf;
  border-collapse: collapse;
  font-size: 1.2rem;
  /*font-size: 80%;*/
}

.product-table caption {
  padding: 1rem 0.8rem;
  font-weight: bold;
  background: #efefef;
  border: 0.1rem solid #dfdfdf;
  border-bottom: none;
}

.product-table th {
  padding: 1rem;
  border: 0.1rem solid #dfdfdf;
  background: #f6f6f6;
  font-weight: bold;
  vertical-align: middle;
  width: auto;
}

.product-table td {
  padding: 1rem;
  border: 0.1rem solid #dfdfdf;
  vertical-align: middle;
}

.product-section.txt {
  font-size: 1.9rem;
}

.product-sec {
  margin-top: 18rem;
}

.product-swiper__cover .swiper-button-prev,
.product-swiper__cover .swiper-button-next {
  left: 4rem;
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 100%;
  background: url("../img/common/img_arrow_prev_3.png") center center no-repeat;
  background-size: cover;
  margin-top: 0;
}

.product-swiper__cover .swiper-button-next {
  left: auto;
  right: 4rem;
  background: url("../img/common/img_arrow_next_3.png") center center no-repeat;
  background-size: cover;
}

.product-swiper__cover .swiper-button-next,
.product-swiper__cover {
  &.swiper-button-disabled {
    opacity: 1;
  }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  .products_link {
    padding: 4rem 0;
  }

  .products_link ul,
  .products_flex {
    display: block;
  }

  .products_link ul li {
    width: 100%;
    padding: 1rem;
    margin-bottom: 5rem;
  }

  .products_link ul li.block_2 {
    width: 100%;
    margin-bottom: 0;
  }

  p.caption {
    margin-top: 1em;
    font-size: 1.5rem;
  }

  .products_link .block_w65per {
    width: 100%;
  }

  .products_link .block_w35per {
    width: 100%;
    padding-left: 0;
  }

  .product-table th {
    padding: 1rem 0.5rem;
  }

  .product-sec {
    margin-top: 8rem;
  }

  .product-swiper__cover .swiper-button-prev,
  .product-swiper__cover .swiper-button-next {
    left: 2vw;
    width: 8vw;
    height: 8vw;
  }

  .product-swiper__cover .swiper-button-next {
    left: auto;
    right: 2vw;
  }
	.product-table {
    border: 0.1rem solid #dfdfdf;
    border-collapse: collapse;
    order-collapse: collapse;
    width: 100%;
    white-space: nowrap;
    text-align: center;
}
}

/* tradeshows 展示会情報 */
.tradeshows-navi {
  display: flex;
  justify-content: center;
  margin-bottom: 15rem;
}

.tradeshows-navi li {
  margin: 0 2.4rem;
}

.tradeshows-navi li p {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6rem 1.6rem;
  border-radius: 1.6rem;
  border: 0.1rem solid #000;
  min-width: 10rem;
  transition: 0.5s ease;
  text-decoration: none;
}

.tradeshows-navi li p.is-active {
  color: #fff;
  background: #000;
  transition: 0.5s ease;
}

.tradeshows-item {
  display: flex;
}

.tradeshows-item + .tradeshows-item {
  margin-top: 13rem;
}

.tradeshows-image {
  width: 46%;
  margin-right: 4%;
  display: flex;
  align-items: center; 
  justify-content: center; 
  height: auto;
}
.tradeshows-image p {
  width: 100%;
  margin: 0;
  text-align: center; 
}
.tradeshows-image p img {
  width: 100%;
}
.tradeshows-box {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.tradeshows-box .date,
.tradeshows-box .title {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
}

.tradeshows-box .txt {
  margin-top: 4.5rem;
  line-height: 1.8;
}

.tradeshows-btn {
  text-align: right;
}

.tradeshows-btn a {
  font-size: 1.8rem;
  display: inline-flex;
  align-items: center;
}

.tradeshows-btn a::after {
  content: "";
  margin-left: 3rem;
  width: 3rem;
  height: 3rem;
  border-radius: 100%;
  background: url(../img/common/img_arrow_next.png) no-repeat center center #888888;
  background-size: 1.6rem auto;
}

.anchor-area {
  position: relative;
}

.anchor {
  position: absolute;
  top: -10rem;
  z-index: -1;
  pointer-events: none;
}

/*** hover ***/
@media screen and (min-width: 960px) {
  .tradeshows-navi li p:hover {
    color: #fff;
    background: #000;
    transition: 0.5s ease;
  }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  .tradeshows-navi {
    display: flex;
    justify-content: center;
    margin-bottom: 6rem;
  }

  .tradeshows-navi li {
    max-width: 10rem;
    width: 100%;
    margin: 0 1rem;
  }

  .tradeshows-navi li p {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.6rem;
    border-radius: 1.6rem;
    border: 0.1rem solid #000;
    min-width: unset;
    width: 100%;
    transition: 0.5s ease;
    text-decoration: none;
  }

  .tradeshows-navi li p.is-active {
    color: #fff;
    background: #000;
    transition: 0.5s ease;
  }

  .tradeshows-item {
    display: block;
  }

  .tradeshows-item + .tradeshows-item {
    margin-top: 5rem;
  }

  .tradeshows-image {
    width: 100%;
    margin-right: 0;
    text-align: center;
  }

  .tradeshows-box {
    width: 100%;
    display: block;
    margin-top: 3rem;
  }

  .tradeshows-box .date,
  .tradeshows-box .title {
    font-size: 2rem;
  }

  .tradeshows-box .txt {
    margin-top: 2rem;
  }

  .tradeshows-btn {
    margin-top: 3rem;
  }

  .ancho {
    top: 8rem;
  }
}

.topics-detail__wrap {
  border-top: 0.1rem solid #000;
  padding: 15rem 8rem 0;
}

.topics-detail__item {
  margin-top: 10rem;
}

.topics-detail__item .title {
  font-size: 3rem;
  font-weight: 700;
}

.topics-detail__image img {
  width: 100%;
}

.page_navi {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 60%;
  margin: 10rem auto 0;
  position: relative;
}

.page_navi p a {
  font-size: 2rem;
}

.page_navi .back-btn {
  position: relative;
  display: inline-flex;
}

.page_navi .back-btn::before {
  content: "";
  margin-right: 2rem;
  width: 3rem;
  height: 3rem;
  border-radius: 100%;
  background: url(../img/common/img_arrow_prev.png) no-repeat center center #888888;
  background-size: 1.6rem auto;
}

.page_navi .prev,
.page_navi .next {
  position: absolute;
  width: 10rem;
  height: 100%;
  z-index: 3;
}

.page_navi .prev {
  left: 0;
  text-align: left;
}

.page_navi .next {
  right: 0;
  text-align: right;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  .topics-detail__wrap {
    padding: 6rem 0 0;
  }

  .topics-detail__item {
    margin-top: 10rem;
  }

  .topics-detail__item .title {
    font-size: 3rem;
    font-weight: 700;
  }

  .page_navi {
    max-width: 60rem;
    width: 100%;
    margin: 3rem auto;
  }

  .page_navi p a {
    font-size: 1.8rem;
  }
}

/* HubLASER */
#teaser .teaser-image {
  position: relative;
}

#teaser .hublaser_teaser_title,
#teaser .teaser-image2 {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  width: 76%;
  object-fit: contain;
}

/* カスタム刻印 elaborate */
h2.border_bt {
  max-width: 85%;
  width: 100%;
  margin: 3rem auto;
  border-bottom: solid 0.1rem #000;
}

.tbl_hm {
  font-size: 1.4rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  border: 0.1rem solid #dfdfdf;
  border-collapse: collapse;
}

.w70per {
  width: 70%;
  margin: 3rem auto;
}

.tbl_hm.w70per {
  width: 70%;
}

.tbl_hm.w100per {
  width: 100%;
}

.tbl_hm caption {
  font-size: 1.4rem;
  padding: 1rem 0.8rem;
  font-weight: bold;
  background: #efefef;
  border: 0.1rem solid #dfdfdf;
  border-bottom: none;
  text-align: left;
}

.tbl_hm th {
  font-size: 1.4rem;
  padding: 1rem;
  border: 0.1rem solid #dfdfdf;
  background: #f6f6f6;
  font-weight: bold;
  vertical-align: middle;
  width: auto;
  text-align: left;
  height: 2.5rem;
}

.tbl_hm td {
  font-size: 1.4rem;
  padding: 1rem;
  border: 0.1rem solid #dfdfdf;
  vertical-align: middle;
}

.tbl_hm td img {
  width: auto;
  height: 100%;
}

.products_info img {
  width: 100%;
}

.products_info .txt {
  font-size: 2.3rem;
}

.font_box {
  width: 48%;
  display: inline-block;
}

.font_box .title {
  background: #efefef;
  text-align: center;
  font-size: 2rem;
  line-height: 2.2em;
  margin: 1rem 0 3rem;
}

.font-detail {
  display: table;
}

.font-detail .comment {
  font-size: 1.8rem;
  display: table-cell;
  width: 40%;
  text-align: left;
  vertical-align: middle;
}

.font-detail .font_image {
  display: table-cell;
  width: 30%;
  padding: 0 1%;
  box-sizing: border-box;
  vertical-align: middle;
}

.products_info span.f_bold {
  font-weight: bold;
}

.products_link ul.w_50per {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  width: 50%;
  margin: 0 auto;
}

.products_link.pdtb_30 {
  padding: 3rem 7%;
}

#stamp_list {
  display: block;
}

#stamp_list .list_area {
  display: inline-flex;
  vertical-align: middle;
  width: 45%;
  box-sizing: border-box;
  padding: 0 2%;
  text-align: left;
}

.list_area ul li {
  float: left;
  width: 45%;
  margin-bottom: 2rem;
}

.list_area .list a,
.list_area ul li a {
  font-size: 2rem;
  background: url(../img/common/ico_arrow.png) no-repeat left center;
  background-size: 1.6rem 1.6rem;
  padding-left: 2rem;
  background-position: 0 0.3rem;
  color: #666464;
  text-decoration: underline;
}

.list_area .list a:hover,
.list_area ul li a:hover {
  color: #2768b0;
  text-decoration: none;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  /* カスタム刻印 elaborate */
  h2.border_bt {
    max-width: 85%;
    width: 100%;
    margin: 0 auto 4rem;
  }

  .tbl_hm {
    font-size: 1rem;
	border-collapse: collapse;
    width: 100%;
    text-align: center;
    white-space: nowrap;
  }

  .tbl_hm.w70per {
    width: 100%;
  }

  .products_info .txt {
    font-size: 2rem;
  }

  .font_box {
    width: 100%;
    display: block;
  }

  .font-detail .comment {
    font-size: 2rem;
  }

  .products_info span.f_bold {
    font-weight: bold;
  }

  .products_link ul.w_50per {
    display: block;
    width: 100%;
    margin: 0 auto;
  }

  .products_link.pdtb_30 {
    padding: 3rem 0;
  }

  #stamp_list {
    display: block;
  }

  #stamp_list .list_area {
    display: block;
    width: 100%;
  }

  .list_area img {
    width: 100%;
  }

  .list_area ul {
    width: 100%;
    margin: 3rem auto;
  }

  .list_area ul li {
    float: unset;
    width: 100%;
    padding: 0 1rem;
  }

  .list_area .list a,
  .list_area ul li a {
    font-size: 1.8rem;
    background: url(../img/common/ico_arrow.png) no-repeat;
    background-size: 1.2rem 1.2rem;
    padding-left: 1.6rem;
    color: #666464;
  }

  .list_area .list a:hover,
  .list_area ul li a:hover {
    color: #666464;
    text-decoration: none;
  }
}

/* setmarker セットマーカー */
#setmarker_list {
  max-width: 80%;
  width: 100%;
  margin: 5rem auto 0;
}

#setmarker_list .list_area {
  display: block;
  padding: 0 2%;
  text-align: left;
}

.list_area .list_title {
  background: #efefef;
  padding: 0.8rem;
}

.tool_detail {
  width: 68%;
  margin: 0 auto;
}

.effect2 {
  width: 100%;
  position: relative;
}

.fl {
  float: left;
}

h3.bg_gray {
  font-size: 2.4rem;
  font-weight: normal;
  text-align: center;
  padding: 0.5em 0;
  /* background-color: #f0f0f1; */
  display: inline-block;
  width: 70%;
  margin: 0 auto;
  background: #eeeeee;
}

ul.inline li {
  font-size: 2.8rem;
  display: inline-block;
  background: url(../img/common/ico_arrow.png) no-repeat center left;
  background-size: 1.6rem 1.6rem;
  padding-left: 1.8rem;
  margin: 0 0.8rem;
  font-weight: bold;
}

.dl_btn03 a {
  color: #666464;
  font-weight: normal;
  background: #cfcfcf;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 1.6rem 0;
  font-size: 1.8rem;
  display: block;
  transition: 0.3s ease;
}

.dl_btn03 a span {
  background: url(../img/common/ico_pdf.png) no-repeat;
  background-size: 2.2rem 2.6rem;
  background-position: left -0.2rem;
  padding-left: 3.2rem;
}

.dl_btn03 a:hover {
  background: #53ad01;
  color: #e8e8e8;
  text-decoration: none;
  transition: 0.3s ease;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  #setmarker_list {
    display: block;
    max-width: 100%;
  }

  #setmarker_list .list_area {
    display: block;
    width: 100%;
  }

  .tool_detail {
    width: 100%;
  }

  .fl {
    float: unset;
  }

  .effect2 {
    width: 100%;
    position: relative;
  }

  .effect2 {
    display: block;
    width: 100%;
  }

  h3.bg_gray {
    font-size: 100%;
    padding: 0.25em 0;
    width: 95%;
    margin: 0 auto;
  }

  .scroll {
    overflow-x: auto;
  }
}

/* 18_ソフトウェア&アクセサリー
    software-duo.html
*/
html.is-hidden {
  overflow: hidden;
}

.tab-pane {
  display: none;
}

.tab-pane.is-active {
  display: block;
}

.software-duo__nav {
  margin-top: 16rem;
  display: flex;
  align-items: center;
  width: 100%;
  height: 6rem;
  border-radius: 10rem;
  background: #aaaaaa;
  padding: 0 0.5rem;
  margin-bottom: 12rem;
}

.software-duo__nav li {
  width: 50%;
  display: flex;
  align-items: center;
  text-align: center;
}

.software-duo__nav .tab-btn {
  display: block;
  width: 100%;
  height: 5rem;
  font-size: 3.2rem;
  line-height: 1.5;
  color: #fff;
  transition: opacity 0.5s ease;
}

.software-duo__nav .tab-btn.is-active {
  background: #fff;
  border-radius: 10rem;
  color: #000;
  pointer-events: none;
}

.software-duo__nav .tab-btn:hover {
  text-decoration: none;
  opacity: 0.7;
  transition: opacity 0.5s ease;
  cursor: pointer;
}

.software-duo__logo {
  max-width: 60%;
  width: 100%;
  margin: 0 auto 10rem;
}

.software-duo__area .flex-sec {
  display: flex;
}

.software-duo__area .flex-sec .flex-cont {
  width: 50%;
}

.software-duo__area .flex-sec .common-hd .jap {
  font-size: 2rem;
}

.software-duo__area .flex-sec .common-hd .eng {
  font-size: 3rem;
}

.flex-cont__img {
  margin-top: 4rem;
}

.flex-cont__btn {
  text-align: center;
  margin-top: 9rem;
}

.software-duo__swiper {
  margin-top: 20rem;
}

.software-duo__swiper .common-hd {
  margin-bottom: 7rem;
}

.software-duo__swiper .common-hd .eng {
  font-size: 6rem;
}

.software-duo__swiper .swiper-slide {
  position: relative;
  padding: 4rem 12rem;
}

.software-duo__swiper .swiper {
  position: relative;
}

.windows-swiper .swiper-button-disabled,
.app-swiper .swiper-button-disabled {
  display: none !important;
}

.software-duo__swiper .swiper-button-prev svg,
.software-duo__swiper .swiper-button-next svg {
  display: none;
}

.software-duo__swiper .swiper-button-prev,
.software-duo__swiper .swiper-button-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin-top: 0;
  z-index: 3;
  left: 1.4rem;
  width: 7rem;
  height: 7rem;
}

.software-duo__swiper .swiper-button-next {
  left: auto;
  right: 1.4rem;
}

.software-duo__swiper .swiper-button-prev,
.software-duo__swiper .swiper-button-next {
  display: block;
  width: 7rem;
  height: 7rem;
  border-radius: 100%;
  background: url("../img/common/img_arrow_prev_4.png") center center no-repeat;
  background-size: cover;
}

.software-duo__swiper .swiper-button-next {
  background: url("../img/common/img_arrow_next_4.png") center center no-repeat;
  background-size: cover;
}

.software-duo__swiper .swiper-button-next,
.software-duo__swiper .swiper-button-prev {
  &.swiper-button-disabled {
    opacity: 1;
  }
}

.software-duo__swiper .info {
  margin-top: 7rem;
  font-size: 2.6rem;
  font-weight: 700;
  text-align: center;
}

.software-duo__app {
  margin: 20rem auto 0;
}

.software-duo__app .app-section {
  display: flex;
}

.software-duo__swiper .app-swiper {
  width: 50%;
  margin: 0 auto;
}

.software-duo__swiper .app-swiper .swiper-slide {
  position: relative;
  padding: 0 12rem;
}

.software-duo__swiper .app-item {
  width: 50%;
}

.software-duo__swiper .app-item .swiper-slide {
  position: relative;
  padding: 5rem 4rem 7rem;
}

.software-duo__swiper .app-item .info {
  font-size: 2.4rem;
  text-align: left;
  line-height: 2;
  margin-top: 0;
}

.app-thumbnail__links {
  margin-top: 10rem;
}

.app-thumbnail__links ul {
  display: flex;
}

.app-thumbnail__links ul li + li {
  margin-left: 2.3rem;
}

.app-thumbnail__links ul a:hover {
  /* opacity: .5;
  transition: opacity .5s ease; */
}

.accessories-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 4rem 2.5rem;
}

.accessories-list .item {
  width: calc(50% - 2.5rem);
}

.accessories-list .item {
  overflow: hidden;
}

.accessories-list .item a {
  display: block;
}

.accessories-list .item a:hover {
  transform: scale(1.08);
  transition: transform 0.5s ease;
}

.fancybox-slide--html {
  padding: 0;
}

.fancybox-button.fancybox-close-small,
.fancybox-infobar,
.fancybox-toolbar,
.fancybox__thumbs {
  display: none;
}

.fancybox-inner {
  height: 60rem;
  position: absolute;
  width: 100%;
  top: 50%;
  transform: translateY(-50%);
  overflow: hidden;
}

.accessories-fancy {
  width: 100rem;
  height: auto;
  border-radius: 2rem;
  background: #dddddd;
  padding: 4rem 0;
  text-align: center;
  overflow: hidden;
}

.accessories-fancy__hidden {
  padding: 0 5rem;
  height: 100%;
  overflow: auto;
}

.accessories-fancy .image {
  position: relative;
  padding-top: 44%;
  width: 100%;
}

.accessories-fancy .image img {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.accessories-fancy .image.height-37 {
  position: relative;
  padding-top: 0;
  width: 100%;
  height: 37rem;
  text-align: center;
}

.accessories-fancy .image.height-37 img {
  position: relative;
  width: auto;
  height: 100%;
  object-fit: unset;
  display: inline-block;
}

.f-button.is-close-button {
  display: none;
}

.is-horizontal.is-ltr .f-button.is-arrow {
  top: 50%;
  opacity: 1;
  visibility: visible;
  border-radius: 100%;
  width: 8rem;
  height: 8rem;
  padding: 0;
  transform: translate(-50%, -50%);
  margin-top: 22rem;
  background: rgba(136, 136, 136, 0.6);
}

.is-horizontal.is-ltr .f-button.is-arrow.is-prev {
  left: 50%;
  transform: translate(-50%, -50%);
  margin-left: -40rem;
}

.is-horizontal.is-ltr .f-button.is-arrow.is-next {
  right: 50%;
  transform: translate(50%, -50%);
  margin-right: -40rem;
}

.f-button svg {
  stroke: #fff;
}

.is-horizontal.is-ltr .f-button.is-arrow[aria-disabled] {
  display: none !important;
}

.option-fancybox .is-horizontal.is-ltr .f-button.is-arrow {
  display: none;
}

.accessories-fancy .info {
  margin-top: 2.7rem;
  font-size: 2.5rem;
  font-weight: 700;
  padding: 0 9.5rem;
}

.accessories-fancy .info small {
  font-size: 1.5rem;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  .tab-pane {
    display: none;
  }

  .tab-pane.is-active {
    display: block;
  }

  .software-duo__nav {
    margin: 8rem auto;
  }

  .software-duo__nav .tab-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
  }

  .software-duo__nav .tab-btn:hover {
    opacity: 1;
  }

  .software-duo__logo {
    max-width: 90%;
    width: 100%;
    margin: 0 auto 3rem;
  }

  .software-duo__area .flex-sec {
    display: block;
    margin-top: 6rem;
  }

  .software-duo__area .flex-sec .flex-cont {
    width: 100%;
  }

  .software-duo__area .flex-sec .flex-cont + .flex-cont {
    margin-top: 6rem;
  }

  .flex-cont__btn {
    margin-top: 5rem;
  }

  .software-duo__swiper {
    margin-top: 10rem;
  }

  .software-duo__swiper .common-hd {
    margin-bottom: 5rem;
  }

  .software-duo__swiper .common-hd .eng {
    font-size: 3.6rem;
  }

  .software-duo__swiper .swiper-slide {
    position: relative;
    padding: 2rem 3rem;
  }

  .software-duo__swiper .thumbnail-swiper .swiper-slide {
    padding: 2rem 0rem;
  }

  .software-duo__swiper .swiper-button-prev,
  .software-duo__swiper .swiper-button-next {
    left: 0.6rem;
    width: 3rem;
    height: 3rem;
  }

  .software-duo__swiper .swiper-button-next {
    left: auto;
    right: 0.6rem;
  }

  .software-duo__swiper .swiper-button-prev,
  .software-duo__swiper .swiper-button-next {
    display: block;
    width: 3rem;
    height: 3rem;
  }

  .software-duo__swiper .info {
    margin-top: 3rem;
    font-size: 1.6rem;
  }

  .software-duo__app {
    margin: 8rem auto 0;
  }

  .accessories-list {
    gap: 2.5rem;
  }

  .accessories-list .item a:hover {
    transform: scale(1);
  }

  .fancybox-slide--html {
    padding: 0;
  }

  .fancybox-inner {
    height: 100%;
    position: relative;
    width: 100%;
    top: 0;
    transform: translateY(0);
    overflow: auto;
  }

  .accessories-fancy {
    max-width: 80rem;
    width: 90%;
    height: auto;
    margin: 0 auto;
    padding: 4rem 0;
  }

  .accessories-fancy__hidden {
    padding: 0 2rem;
  }

  .accessories-fancy .image {
    padding-top: 80%;
  }

  .is-horizontal.is-ltr .f-button.is-arrow {
    width: 4rem;
    height: 4rem;
    padding: 0;
    left: 0;
    transform: translate(0, -50%);
    margin-top: 0rem;
  }

  .is-horizontal.is-ltr .f-button.is-arrow.is-prev {
    left: 0;
    margin-left: 0rem;
    transform: translate(0, -50%);
  }

  .is-horizontal.is-ltr .f-button.is-arrow.is-next {
    left: auto;
    right: 0;
    transform: translate(0, -50%);
    margin-right: 0;
  }

  .accessories-fancy .info {
    margin-top: 2.7rem;
    font-size: 2rem;
    padding: 0;
  }

  .accessories-fancy .info small {
    font-size: 1.2rem;
  }

  .software-duo__app .app-section {
    display: block;
  }

  .software-duo__swiper .app-swiper {
    width: 100%;
  }

  .software-duo__swiper .app-swiper .swiper-slide {
    position: relative;
    padding: 0 4rem;
  }

  .software-duo__swiper .app-item {
    width: 100%;
  }

  .software-duo__swiper .app-item .swiper-slide {
    position: relative;
    padding: 0;
  }

  .software-duo__swiper .app-item .info {
    margin-top: 3rem;
    font-size: 1.6rem;
    text-align: center;
  }

  .app-thumbnail__links {
    max-width: 90%;
    width: 100%;
    margin: 5rem auto 0;
  }

  .app-thumbnail__links ul {
    display: flex;
  }

  .app-thumbnail__links ul li + li {
    margin-left: 1.8rem;
  }

  .app-thumbnail__links ul a:hover {
    opacity: 1;
    transition: none;
  }
}

/* 28_ソフトウェア＆アクセサリー
    hlb20-software-accesories.html
*/

#teaser.teaser-wrap .teaser-hd {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 100%;
  text-align: center;
}

#teaser.teaser-wrap .teaser-hd .eng {
  font-size: 9rem;
  margin-top: 0;
}

.software-accesories__flex {
  max-width: 80%;
  width: 100%;
  margin: 0 auto;
}

.software-accesories__flex ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem 4rem;
}

.software-accesories__flex ul li {
  background: #8dc21f;
  color: #fff;
  height: 8rem;
  border-radius: 10rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  font-weight: 500;
  padding: 0 1rem;
  text-align: center;
}

.software-accesories__flex ul li .title {
  font-weight: 700;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  #teaser.teaser-wrap .teaser-hd .eng {
    font-size: 4rem;
  }

  .software-accesories__flex {
    max-width: 60rem;
  }

  .software-accesories__flex ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }

  .software-accesories__flex ul li {
    padding: 0.2rem 0.5rem;
  }
}

/* 3_MarkinBOX
    products-markinbox.html
*/

.product-swiper .products-slide .info h3.gold {
  color: #ad8a5e;
}

/* 15_Patmark2-mini
    patmark-mini.html
*/
#teaser.teaser-wrap .teaser-hd.large {
  width: 90%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#teaser.teaser-wrap .teaser-hd.large .eng {
  color: #fff;
  font-size: 20rem;
}

#teaser.teaser-wrap .teaser-hd.large .eng.between {
  max-width: 90rem;
  width: 100%;
  margin: 0 auto;
}

#teaser.teaser-wrap .teaser-hd.large .eng.between span {
  display: block;
  text-align: left;
}

#teaser.teaser-wrap .teaser-hd.large .eng.between span.right {
  text-align: right;
  margin-top: 18rem;
}

.features-wrap {
  max-width: 100rem;
  width: 100%;
  margin: 14rem auto 0;
  border-radius: 2rem;
  background: #dddddd;
  padding: 4rem 0 4rem 2rem;
  position: relative;
}

.features-btn {
  position: absolute;
  left: 50%;
  bottom: 2.5rem;
  transform: translateX(-50%);
  display: flex;
  width: 3rem;
  height: 1.5rem;
  background: #fff;
  border-radius: 3rem;
}

.features-btn .tab-btn {
  border-radius: 100%;
  width: 1.5rem;
  height: 1.5rem;
}

.features-btn .tab-btn.is-active {
  background: #384356;
}

.features-area {
  display: flex;
  align-items: center;
}

.features-sec {
  width: 60%;
  /* padding-left: 6rem; */
  padding-right: 2rem;
  text-align: center;
}

.features-sec .tab-pane {
  height: 50rem;
}

.features-sec .tab-pane .left-box {
  height: 100%;
  display: flex;
  align-items: center;
  padding-left: 2rem;
}

.features-sec .left-graph {
  position: relative;
}

.features-sec .left-graph .graph-img2 {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}

.features-sec.animated .left-graph .graph-img2 {
  -webkit-animation: graphAnim04 3s forwards;
  animation: graphAnim04 3s forwards;
}

@keyframes graphAnim04 {
  0% {
    transform: scale(0);
  }

  100% {
    transform: scale(1);
  }
}

.features-image {
  width: 40%;
  text-align: center;
}

.features-image img {
  width: 100%;
}

.option-wrap {
  margin-top: 16rem;
}

.option-wrap .swiper-slide a {
  display: block;
}

.option-wrap .swiper-button-prev,
.option-wrap .swiper-button-next {
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
  left: 4rem;
  display: block;
  width: 8rem;
  height: 8rem;
  border-radius: 100%;
  background: url("../img/common/img_arrow_prev_3.png") center center no-repeat;
  background-size: cover;
}

.option-wrap .swiper-button-next {
  left: auto;
  right: 4rem;
  background: url("../img/common/img_arrow_next_3.png") center center no-repeat;
  background-size: cover;
}

.option-wrap .swiper-button-next,
.option-wrap {
  &.swiper-button-disabled {
    opacity: 1;
  }
}

.is-height .accessories-fancy.height-auto {
  height: auto;
  overflow: visible;
}

.is-height .fancybox-inner {
  height: auto;
  position: inherit;
  width: 100%;
  top: 0;
  transform: translateY(0);
  overflow: visible;
}

.accessories-fancy .info .blue {
  color: #384356;
}

.accessories-fancy .info .btn {
  margin-top: 2rem;
}

.green-bg {
  background: #dddddd;
}

.option-swiper {
  padding: 7rem 0;
  overflow: hidden;
}

.option-swiper .products-slide .image {
  border-radius: 2rem;
  overflow: hidden;
}

.option-swiper .products-slide .image img {
  width: 100%;
  border-radius: 2rem;
  transition: transform 0.3s ease;
}

.option-swiper .products-slide:hover .image img {
  transform: scale(1.12);
  transition: transform 0.3s ease;
}

.option-swiper .products-slide {
  position: relative;
}

.option-swiper .pop-btn {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 4.8rem;
  height: 4.8rem;
  background: #fff;
  border-radius: 100%;
  right: 1.6rem;
  bottom: 1.6rem;
}

.option-swiper .pop-btn::before,
.option-swiper .pop-btn::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 3rem;
  height: 0.5rem;
  background: #000;
}

.option-swiper .pop-btn::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.option-btn {
  padding: 0 2rem;
  margin: 12rem auto 0;
  text-align: center;
}

/* .option-btn .is-btn {
  max-width: 59.3rem;
  width: 100%;
  font-size: 3rem;
  border-radius: 4rem;
  padding: 2rem 3rem;
  font-weight: 600;
} */

.spec-drawing {
  padding: 4rem 0 6rem;
}

/* .spec-drawing .inner {
    max-width: 150rem;
} */

.spec-drawing__wrap {
  display: flex;
  justify-content: space-between;
}

.spec-drawing__wrap .image {
  width: 48%;
}

.spec-drawing__wrap .image img {
  width: 100%;
}

@media screen and (max-width: 1500px) {
  #teaser.teaser-wrap .teaser-hd.large {
    width: 98%;
  }

  #teaser.teaser-wrap .teaser-hd.large .eng {
    font-size: 10vw;
  }
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {

  #teaser.teaser-wrap .teaser-hd.large .eng {
    color: #fff;
    /* font-size: 6rem; */
    font-size: 7vw;
  }

  #teaser.teaser-wrap .teaser-hd.large .eng.between span {
    text-align: center;
  }

  #teaser.teaser-wrap .teaser-hd.large .eng.between span.right {
    margin-top: 0;
    text-align: center;
  }

  .features-wrap {
    margin-top: 5rem;
    padding: 4rem 2rem 8rem;
  }

  .features-sec .tab-pane {
    height: 30rem;
  }

  canvas {
    height: 30rem !important;
  }

  .features-sec .tab-pane .left-box {
    height: 100%;
    display: flex;
    align-items: center;
    padding: 0;
  }

  .features-btn {
    position: absolute;
    left: 50%;
    bottom: 1.2rem;
    transform: translateX(-50%);
    display: flex;
    width: 8rem;
    height: 4rem;
    background: #fff;
    border-radius: 5rem;
    overflow: hidden;
  }

  .features-btn .tab-btn {
    border-radius: 100%;
    width: 4rem;
    height: 4rem;
  }

  .features-area {
    flex-direction: column-reverse;
  }

  .features-sec {
    width: 100%;
    padding: 0;
  }

  .features-image {
    margin: 0 auto 3rem;
    max-width: 90%;
    width: 100%;
  }

  .option-wrap {
    margin-top: 10rem;
  }

  .is-height .accessories-fancy.height-auto {
    height: auto;
    overflow: visible;
  }

  .is-height .fancybox-inner {
    height: auto;
    position: inherit;
    width: 100%;
    top: 0;
    transform: translateY(0);
    overflow: visible;
  }

  .accessories-fancy .info .btn {
    margin-top: 2rem;
  }

  .option-swiper {
    max-width: 60rem;
    width: 100%;
    margin: 0 auto;
    padding: 3rem 2rem;
    overflow: hidden;
  }

  .option-swiper .products-slide .image {
    border-radius: 2rem;
    overflow: hidden;
  }

  .option-swiper .products-slide .image img {
    width: 100%;
    transition: transform 0.3s ease;
  }

  .option-swiper .products-slide:hover .image img {
    transform: scale(1);
    transition: transform 0.3s ease;
  }

  .option-swiper .pop-btn {
    right: 1.6rem;
    bottom: 1.6rem;
  }

  .option-swiper .pop-btn::before,
  .option-swiper .pop-btn::after {
    width: 1.6rem;
    height: 0.2rem;
  }

  .option-btn {
    margin: 4rem auto 0;
  }

  /* .option-btn .is-btn {
    font-size: 1.6rem;
    padding: 2rem;
  } */

  .option-wrap .swiper-button-prev,
  .option-wrap .swiper-button-next {
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
    left: 2vw;
    display: block;
    width: 8vw;
    height: 8vw;
    border-radius: 100%;
    background: url("../img/common/img_arrow_prev_3.png") center center no-repeat;
    background-size: cover;
  }

  .option-wrap .swiper-button-next {
    left: auto;
    right: 2vw;
    background: url("../img/common/img_arrow_next_3.png") center center no-repeat;
    background-size: cover;
  }

  .spec-drawing {
    padding: 4rem 0 6rem;
  }

  .spec-drawing__wrap {
    display: block;
  }

  .spec-drawing__wrap .image {
    width: 100%;
  }

  .spec-drawing__wrap p + p {
    margin-top: 3rem;
  }
}

@media screen and (max-width: 375px) {
  #teaser.teaser-wrap .teaser-hd.large .eng {
    font-size: 10vw;
  }
}

/* 26_Mini Enclosure
    mini.html
*/

#mini #teaser.teaser-wrap .teaser-hd.large .eng {
  font-size: 16rem;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  #mini #teaser.teaser-wrap .teaser-hd.large .eng {
    font-size: 6rem;
  }
}

/* marking_tool lineup */
.marking_tool .line-up__slider {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.marking_tool .line-up__slider {
  margin-left: -4rem;
}

.marking_tool .line-up__slider .line-up__slide {
  width: calc(50% - 4rem);
  margin-left: 4rem;
  margin-bottom: 4rem;
  overflow: hidden;
}

.marking_tool .line-up__slider .line-up__slide .image {
  border-radius: 2rem;
  overflow: hidden;
}

.marking_tool .line-up__slider .line-up__slide a img {
  transition: transform 0.5s ease-out;
}

.marking_tool .line-up__slider .line-up__slide a:hover img {
  transform: scale(1.2);
  transition: transform 0.5s ease-out;
}


/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  .marking_tool .line-up__slider {
    display: block;
  }
  
  .marking_tool .line-up__slider {
    margin-left: 0;
  }
  
  .marking_tool .line-up__slider .line-up__slide {
    width: 100%;
    margin-left: 0;
    margin-bottom: 2rem;
    overflow: hidden;
  }
  
  .marking_tool .line-up__slider .line-up__slide .image {
    border-radius: 2rem;
    overflow: hidden;
  }
  
  .marking_tool .line-up__slider .line-up__slide a:hover img {
    transform: scale(1);
  }
}


/** 
 *  260403
    sketchbook2の操作方法について
    tips-youtube-videos-for-patmark.html
 */

.videos-wrap #stamp_list .list_area {
  max-width: 60%;
  width: 100%;
  margin: auto;
  display: block;
}

.videos-wrap .list_area ul {
  display: flex;
  flex-wrap: wrap;
}

.videos-wrap .list_area ul li {
  float: unset;
  width: 50%;
  margin-bottom: 2rem;
}

.videos-wrap .list_area ul li a {
  font-size: 1.4rem;
}

.videos-wrap .list_area ul li a {
  background: url(../img/common/ico_arrow.png) no-repeat left center;
  background-size: 1.4rem 1.4rem;
}

.movie_lists .w100per {
  width: 100%;
}

.movie_lists .common-hd {
  font-size: 3rem;
}

.movie_content {
  width: 32%;
  gap: 0.6rem 0.4rem;
  display: flex;
  flex-direction: column;
  margin: 0 0 1.5rem 0;
}

.image_content {
  width: 32%;
  gap: 0.6rem 0.4rem;
  display: flex;
  flex-direction: column;
}

.movie_lists {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}

.movie_iframes {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  margin-top: auto;
}

.movie_iframes iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.movie_content .fs15em {
  font-weight: 500;
  font-size: 1.8rem;
}

/*** スマホ 320px ~ 767px***/
@media screen and (max-width: 767px) {
  .videos-wrap #stamp_list .list_area {
    max-width: 100%;
  }

  .videos-wrap .list_area ul {
    display: block;
  }

  .videos-wrap .list_area ul li {
    width: 100%;
  }

  .movie_lists {
    display: block;
  }

  .movie_content {
    width: 100%;
  }

  .image_content {
    width: 100%;
  }
}

/** 
 *  260403
 */

/*-------------------page_navi-------------------*/

.page_navi p a {
  color: #000;
}

#pagenavi li.active {
  display: flex;
  border-radius: 50%;
  width: 3.5rem;
  height: 3.5rem;
  margin: 1rem;
  background: #333333;
  color: #fff;
  justify-content: center;
  align-items: center;
  box-shadow: none;
}

.aligncenter {
  clear: both;
  text-align: center;
  display: block;
  margin: 0 auto;
}

.tradeshows-archive-img-wrap img {
  width: 100%;
  height: auto;
}

.page_navi p {
  font-size: 1.6rem;
}

.page_navi .back-btn.blog-back::before {
  content: unset;
}

.wp-pagenavi {
  max-width: 60rem;
  width: 100%;
  margin: 5rem auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.wp-pagenavi span.current {
  display: flex;
  border-radius: 50%;
  width: 3.5rem;
  height: 3.5rem;
  margin: 1rem;
  background: #333333;
  color: #fff;
  justify-content: center;
  align-items: center;
  box-shadow: none;
}

.wp-pagenavi a {
  width: 3.5rem;
  height: 3.5rem;
  margin: 1rem;
  border-radius: 50%;
  color: #000;
  border: solid .1rem #ffa500;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
}

span.extend {
  color: #333333;
}

.wp-pagenavi .next.page-numbers,
.wp-pagenavi .prev.page-numbers {
  width: auto;
  height: auto;
  border: none;
}

/** 
 *  260403
    ブログ
    blog.html
    blog_detail.html
    tradeshows_detail.html
 */

/*-------------------blog-------------------*/

/* 文字寄せ;
----------------------------------------------- */
.tacPC {
  text-align: center !important;
}

@media screen and (max-width: 768px) {
  /*.tacPC {
	text-align: left!important;
}*/
}

.talPC {
  text-align: left !important;
}

@media screen and (max-width: 768px) {
  .talPC {
    text-align: center !important;
  }
}

.blog-wrap {
  background-color: #efefef;
  padding: 5rem 0;
}

.blog-wrapper h1 {
  font-size: 4.2rem;
  text-align: center;
  display: block;
  margin-bottom: 6rem;
}

.blog-wrapper {
  margin: 0 auto;
  padding: 6rem 0;
}

.archive-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.6rem;
}

.archive-item {
  width: calc((100% - 6.4rem) / 5);
  padding: 1rem;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  height: auto;
  margin-bottom: 2rem;
  box-shadow: 15px 15px 25px 0px rgba(209, 209, 209, 0.5), -15px -15px 25px 0px rgba(255, 255, 255, 0.7);
}

.archive-date {
  margin-top: auto;
  font-style: italic;
}

.archive-img-wrap {
  width: 100%;
  height: 185px;
  margin-bottom: 1rem;
}

.archive-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* 
 .archive-item:not(:nth-child(3n)) {
    margin-right: 2rem;
} */

.archive-ttl {
  margin-bottom: 1rem;
  line-height: 1.5;
  background-color: skyblue;
  flex-grow: 1;
}

p.archive-date {
  margin-top: auto;
  font-size: 1.2rem;
}

p.archive-title {
  font-size: 2rem;
  font-weight: bold;
  line-height: 3rem;
}

p.archive-txt {
  font-size: 1.5rem;
  line-height: 2.6rem;
  margin: 1.5rem 0;
}

ul.post-categories {
  display: flex;
  flex-wrap: wrap;
}

ul.post-categories li {
  margin-bottom: 0.5rem;
}

ul.post-categories li a {
  font-size: 1rem;
  border: solid 0.1rem #c2c3c3;
  padding: 0.1rem 1rem;
  margin-right: 0.5rem;
  color: #000;
}

.archive-move a {
  width: 100%;
  color: #000;
  height: auto;
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
}

.archive-move a::before {
  content: "";
  margin-right: 1.2rem;
  background: url(../img/common/icon_read.svg) no-repeat center center;
  background-size: 2rem 2rem;
  width: 2rem;
  height: 2rem;
}

.archive-category a {
  border: solid 0.1rem #c2c3c3;
  padding: 0.1rem 1rem;
  color: #000;
  margin-right: 0.5rem;
  font-size: 1.2rem;
  margin-right: 0.5rem;
  margin-bottom: 1rem;
}

.category-tab ul {
  display: flex;
  justify-content: end;
  flex-wrap: wrap;
}

.category-tab ul li {
  margin-right: 0.5rem;
  margin-bottom: 1rem;
}

.category-tab ul li:last-child {
  margin-right: 0;
}

.category-tab ul li a {
  border: solid 0.1rem #d1d1d2;
  color: #000;
  padding: 0 1rem;
  font-size: 1.4rem;
  line-height: 2rem;
  background: #fff;
}

li.cat-item.current-cat a {
  background-color: #b8b8b9;
  overflow: hidden;
}

.archive-meta .post-categories {
  margin: 1rem 0;
}

ul.pagenation-list {
  display: flex;
  justify-content: center;
  align-items: center;
}

.archive-category {
  margin: 1rem 0 0 0;
  display: flex;
  flex-direction: row;
}

#blog-detail {
	padding-bottom: 5rem;
}

.blog-detail-box {
  display: block;
  position: relative;
  box-sizing: border-box;
}

.blog-detail-box p.blog-detail-title {
  font-size: 2.6rem;
  font-weight: bold;
}

.blog-detail-box p {
  font-size: 1.8rem;
  line-height: 2;
}

.blog-detail-box p iframe {
	max-width: 50rem;
width: 100%;
	margin: auto;
		
}

.blog-detail-box li {
  list-style-type: none;
  zoom: 1;
  display: inline-flex;
  margin: 0 1rem;
}

#blog-detail p.post-categories a {
  border: solid 0.1rem #000;
  color: #000;
  padding: 0.1rem 0.5rem;
  margin-right: 0.5rem;
}

.blog-detail-category {
  margin: 3rem 0 8rem;
}

.blog-detail-category a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  border: solid 0.1rem #c2c3c3;
  padding: 0.1rem 1rem;
  margin-right: 0.5rem;
  color: #000;
  background: #d1d1d2;
}

@media (max-width: 767px) {
  .archive-list {
    display: block;
  }

  .archive-item {
    width: 100%;
  }

  .tradeshows-archive-img-wrap {
    width: 100%;
    padding: 10px;
    box-sizing: border-box;
  }

  .form_des {
    padding: 0 10px;
  }

  .category-tab ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }

  .blog-detail-box li {
    list-style-type: none;
    zoom: 1;
    display: inline-flex;
    margin: 5px 5px;
  }

  .blog-detail-category {
    margin: 2rem 0 5rem;
  }

  div.wp-pagenavi {
    margin: 0;
  }

  .tradeshows-archive-img-wrap img {
    width: 100%;
    height: auto;
  }

  .blog-detail-box p.blog-detail-title {
    font-size: 2rem;
  }

  .blog-detail-box p {
    font-size: 1.6rem;
  }

  .blog-detail-box p a.link-blue {
    font-size: 1.4rem;
  }
}

/**
 *  260402
    inquiry.html
    registration.html
    registration2.html
    consent_form.html
    ms_form.html
 */

/*form  */

/**
 * error message
 */
.mw_wp_form {
  margin-top: 4rem;
}

.mw_wp_form .error {
  font-size: 93%;
  color: #b70000;
  display: block;
}

/**
 * error message of akismet
 */
.mw_wp_form .akismet_error {
  display: block;
}

/**
 * vertical style of radio and checkbox
 */
.mw_wp_form .vertical-item {
  display: block;
}

.mw_wp_form .vertical-item + .vertical-item {
  /* margin-top: 0.5rem; */
  margin-left: 1rem;
}

/**
 * horizontal style of radio and checkbox
 */
.mw_wp_form .horizontal-item + .horizontal-item {
  margin-right: 1rem;
  margin-left: 0;
}

/**
 * radio and checkbox
 */
.mwform-checkbox-field label,
.mwform-radio-field label {
  font-weight: normal;
  margin-bottom: 0;
}

.mwform-checkbox-field input,
.mwform-radio-field input {
  margin-right: 0.5rem;
}

/**
 * datepicker
 */
.mw_wp_form .ui-datepicker .ui-datepicker-title select.ui-datepicker-month,
.mw_wp_form .ui-datepicker .ui-datepicker-title select.ui-datepicker-year {
  width: 40%;
  margin: 0 0.5rem;
}

/**
 * deprecated message
 */
.mw-wp-form-deprecated-message {
  background: #fdeeee;
  border: 0.1rem solid #f7bdb8;
  border-radius: 0.5rem;
  color: #af4040;
  font-size: 1.3rem;
  line-height: 1.6;
  margin: 0 0 1rem;
  padding: 1em;
}

/**
 * file
 */
.mw_wp_form input[type="file"] {
  display: inline-block;
}

/**
 * file delete button
 */
.mwform-file-delete {
  cursor: pointer;
  visibility: hidden;
}

/**
 * tel and zip
 */
.mwform-tel-field input[type="text"],
.mwform-zip-field input[type="text"] {
  display: inline-block;
  width: auto;
}

.contents_inneradd table.common {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  border: 0.1rem solid #dfdfdf;
  font-size: 1.4rem;
  border-collapse: collapse;
}

.contents_inneradd table.common th {
  padding: 1rem;
  border: 0.1rem solid #dfdfdf;
  background: #f6f6f6;
  font-weight: bold;
  vertical-align: middle;
  width: 20rem;
  text-align: center;
  color: rgb(102, 100, 100);
}

.caution,
.error {
  color: #cc0000;
  font-size: 1.2rem;
}

.contents_inneradd table .mt10,
.contents_inneradd table .mgt_10 {
  margin-top: 1rem;
}

.contents_inneradd table.common td {
  padding: 1rem;
  border: 0.1rem solid #dfdfdf;
  vertical-align: middle;
}

.contents_inneradd table input,
.contents_inneradd table select,
.contents_inneradd table textarea {
  padding: 0.6rem;
  background-color: #fff;
  border: 0.1rem solid #c0c0c0;
}

.contents_inneradd table .mgt-10 {
  margin-top: 1rem;
}

.contents_inneradd table td .exmple {
  margin-left: 2rem;
  vertical-align: middle;
}

.contents_inneradd {
  /* width: 100rem; */
  margin-left: auto;
  margin-right: auto;
  color: rgb(102, 100, 100);
  padding-top: 10rem;
}

.contents_inneradd .red {
  color: #cc0000;
}

.contents_inneradd .btn_go {
  font-size: 1.8rem;
  font-weight: bold;
  width: 20rem;
  text-align: center;
  background: #0a5fbd;
  background: -moz-linear-gradient(top, #0a5fbd 0%, #02288e 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #0a5fbd), color-stop(100%, #02288e));
  background: -webkit-linear-gradient(top, #0a5fbd 0%, #02288e 100%);
  background: -o-linear-gradient(top, #0a5fbd 0%, #02288e 100%);
  background: -ms-linear-gradient(top, #0a5fbd 0%, #02288e 100%);
  background: linear-gradient(to bottom, #0a5fbd 0%, #02288e 100%);
  border-radius: 1rem !important;
  display: inline-block;
  color: #fff;
  position: relative;
  line-height: 3em;
  -webkit-transition: 0.7s;
  -moz-transition: 0.7s;
  -ms-transition: 0.7s;
  -o-transition: 0.7s;
  transition: 0.7s;
  border: none;
}

.contents_inneradd .btn_go:disabled {
  filter: brightness(0.8);
  cursor: not-allowed;
}

.contents_inneradd h1.japanese,
.contents_inneradd h2.japanese {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Verdana, "游ゴシック", YuGothic, sans-serif;
  font-size: 4rem;
  font-weight: 700;
  text-align: center;
  color: #666464;
  padding-bottom: 0.8rem;
  border-bottom: 0.1rem solid #666464;
}

.center {
  text-align: center;
}

.mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview table td .exmple {
  display: none;
}

.mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview table td .red {
  display: none;
}

.mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview .center {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  align-items: center;
  gap: 2rem;
}

ul.checkbox {
  display: flex;
  flex-direction: column;
  align-items: baseline;
}

#ms_logo {
  width: 50rem;
  margin: 1rem auto 5rem;
}

.btn_back.btn {
  font-size: 1.8rem;
  font-weight: bold;
  width: 20rem;
  text-align: center;
  background: rgb(255, 255, 255);
  background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNlNWU1ZTUiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
  background: -moz-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(229, 229, 229, 1) 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 1)), color-stop(100%, rgba(229, 229, 229, 1)));
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(229, 229, 229, 1) 100%);
  background: -o-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(229, 229, 229, 1) 100%);
  background: -ms-linear-gradient(top, rgba(255, 255, 255, 1) 0%, rgba(229, 229, 229, 1) 100%);
  background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(229, 229, 229, 1) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#e5e5e5', GradientType=0);
  border-radius: 0.5rem;
  display: inline-block;
  color: #707070;
  position: relative;
  line-height: 3em;
  -webkit-transition: 0.7s;
  -moz-transition: 0.7s;
  -ms-transition: 0.7s;
  -o-transition: 0.7s;
  transition: 0.7s;
  border: none;
}

span.mwform-checkbox-field.horizontal-item input[type="checkbox"] {
  margin-right: 0.5rem;
  vertical-align: middle;
}

td.vrSelectBox {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-right: 1rem;
}

.mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview .textHidden {
  display: none;
}

.mw_wp_form.mw_wp_form_complete .textHidden {
  display: none;
}

.mw_wp_form.mw_wp_form_complete h1 {
  font-size: 2rem;
  text-align: center;
  margin: 1rem auto 3rem;
}

.mw_wp_form.mw_wp_form_complete .center {
  font-size: 1.8rem;
}

.file_image_list input {
  padding: 0.6rem 0.5rem;
}

.formBackTop {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}

.formBackTop a {
  color: rgb(102, 100, 100);
  font-size: 2rem;
  line-height: 2rem;
  border: solid 0.1rem rgb(102, 100, 100);
  padding: 1rem;
}

ul.radio {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/* .mwform-checkbox-field label, .mwform-radio-field label {
    display: flex;
} */

td.checkFont .mwform-checkbox-field label {
  font-size: 1.5rem;
  font-weight: 600;
}

p.checkFont .mwform-checkbox-field label {
  font-size: 1.5rem;
  font-weight: 600;
}

.mwform-radio-field label {
  display: flex;
}

.pc {
  display: block;
}

input[type="button"],
input[type="submit"],
button {
  cursor: pointer;
}

.radioBox {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.radioBox span.radiotitle {
  font-size: 1.5rem;
  font-weight: 600;
  margin-right: 1rem;
}

span.mwform-radio-field-text {
  font-size: 1.4rem;
}

.mw_wp_form.mw_wp_form_confirm.mw_wp_form_preview .radioBox span.radiotitle {
  font-size: 1.1rem;
  font-weight: 100;
  margin-right: 1rem;
}

.mwform-radio-field.horizontal-item + .mwform-radio-field.horizontal-item {
  margin-right: 1rem;
}

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

  .contents_inneradd table.common {
    border: 0.3rem solid #dfdfdf;
  }

  .contents_inneradd table.common th {
    width: 100%;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    border-left: none;
    border-right: none;
  }

  .contents_inneradd table.common tr:first-child th {
    border-top: none;
  }

  .contents_inneradd table.common tr {
    display: flex;
    flex-direction: column;
    width: 100%;
    box-sizing: border-box;
  }

  .contents_inneradd {
    width: 100%;
    overflow: hidden;
    padding-top: 6rem;
  }

  .contents_inneradd h1.japanese {
    font-size: 2rem;
  }

  .contents_inneradd input[type="text"],
  .contents_inneradd textarea {
    width: 100%;
    padding: 0.5rem 0.4rem;
    box-sizing: border-box;
  }

  .contents_inneradd table.common td {
    padding: 1rem;
    border: 0.1rem solid #dfdfdf;
    vertical-align: middle;
    width: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    border-left: none;
    border-right: none;
  }

  .contents_inneradd table.common tr:last-child td {
    border-bottom: none;
  }

  .contents_inneradd table td .exmple {
    margin-left: 0;
    vertical-align: middle;
  }

  input[type="url"] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 0.4rem;
  }

  input[type="email"] {
    width: 100%;
    box-sizing: border-box;
    padding: 0.5rem 0.4rem;
  }

  table.common tbody {
    width: 100%;
  }

  th.h_text {
    height: 8.4rem;
    flex-direction: column;
  }

  th.h_text1 {
    height: 8.4rem;
    flex-direction: column;
  }

  #ms_logo {
    width: 100%;
    margin: 2rem auto 5rem;
    padding: 0 3rem;
    box-sizing: border-box;
  }

  .mw_wp_form {
    margin-top: 2rem;
  }

  .mw_wp_form .horizontal-item + .horizontal-item {
    margin-right: 0;
    margin-top: 0.2rem;
  }
}

/* 
  0409 
  software-duo.html
*/

.teaser-sec {
  position: relative;
}

.teaser-sec .tab-kv01,
.teaser-sec .tab-kv02 {
  opacity: 0;
  visibility: hidden;
  z-index: -1;
  transition: opacity 0.5s ease;
}

.teaser-sec.tab1 .tab-kv01 {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

.teaser-sec.tab2 .tab-kv02 {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

.teaser-sec .teaser-kv .swiper {
  height: 100%;
}

.teaser-sec .teaser-kv {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.teaser-sec .teaser-image .teaser-kv img {
  position: unset;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#mb-software__accesories .teaser-sec.tab2 .teaser-hd {
  color: #fff;
}

.accessories-list .item.w33 {
  width: calc((100% / 3) - 2.5rem);
}

.accessories-fancy .image.ht100 {
  text-align: center;
  height: auto;
  width: 30%;
  margin: 0 auto;
  padding-top: 0;
}

.accessories-fancy .image.ht100 img {
  position: relative;
}

@media (max-width: 767px) {
  .accessories-fancy .image.ht100 {
    width: 60%;
  }
}

.metal-stamp__wrap.w100 {
  max-width: 100%;
}

.metal-stamp__wrap.w100 .lineup-flex {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.5rem;
}

.metal-stamp__wrap.w100 .lineup-flex .card {
  width: calc(50% - 5rem);
}

.metal-stamp__wrap.w100 .lineup-flex .card .image {
  overflow: hidden;
  border-radius: 2.5rem;
}

@media (max-width: 767px) {
  .metal-stamp__wrap.w100 .lineup-flex {
    display: block;
  }

  .metal-stamp__wrap.w100 .lineup-flex .card {
    width: 100%;
    margin-bottom: 2rem;
  }
}

/* =====================
   GSAP animation
===================== */
.gasp-sec {
  overflow: hidden;
}

/* =====================
   お客様からの声 0518
   review_list
===================== */
.review-voice .top-head {
  margin-bottom: 4rem;
}

.review-voice .top-head .top-hd {
  color: #666666;
  font-size: 3rem;
}

.review_box {
  max-width: 80%;
  width: 100%;
  box-sizing: border-box;
  padding: 1rem;
  margin: 0 auto;
  background: #e6e6e6;
}

.review_list .swiper-slide {
  color: #666666;
  list-style: none;
  font-size: 90%;
  line-height: 120%;
  border: 0.1rem solid #e46604;
  padding: 2rem;
  /* margin-right: 1rem; */
  /* width: 100%; */
  margin: 0 auto 1rem auto;
  background: #fff;
}

.review_list .swiper-slide a {
  display: block;
  height: 20rem;
  overflow: hidden;
}

.review_awesome {
  margin-right: 1rem;
  width: 18rem;
}

p.review_text {
  font-size: 1.2rem;
  line-height: 1.5;
  font-style: italic;
}
p.review_date {
    margin-top: 3rem;
}
p.review_st {
  color: rgb(251, 198, 4);
  -webkit-text-stroke: 0.2rem rgb(208, 163, 21);
  letter-spacing: 0.3em;
  margin: 0.5em 0;
  font-size: 1.4rem;
}

p.review_title {
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.2;
}

p.review_name {
  font-size: 1.4rem;
  margin-top: 0.8vw;
  line-height: 1;
}

p.review_address {
  margin-top: 0.3vw;
  font-size: 1vw;
  line-height: 1;
}

.bg-border {
  display: block;
  height: 0.1rem;
  background: repeating-linear-gradient(90deg, #666666, #666666 0.8rem, transparent 0.8rem, transparent 1.6rem);
}

p.review_text,
p.review_name {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.review-popup {
  max-width: 100rem;
  width: 100%;
  height: 45rem;
  border: .1rem solid #000;
  overflow: visible;
  padding-bottom: 5rem;
}

.review-popup .height-hidden {
  padding: 0 5rem ;
  height: 100%;
  overflow: auto;
}

.review-popup p.review_text,
.review-popup p.review_name {
  overflow: visible;
  text-overflow: unset;
  display: block;
  -webkit-line-clamp: unset;
  -webkit-box-orient: unset;
  font-size: 1.8rem;
}

.review-popup p.review_title {
  font-size: 2.6rem;
}

.review-hide {
  display: none;
}

.review_list .swiper-slide a:hover {
  text-decoration: none;
  opacity: 0.5;
}

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

  .review_awesome {
    width: 50rem;
  }

  .review_list li {
    min-width: 65%;
    padding: 2rem;
  }

  p.review_st,
  p.review_address,
  p.review_name,
  p.review_text {
    font-size: 14px;
  }

  p.review_title {
    font-weight: bold;
    font-size: 1.6rem;
  }

  p.review_name {
    margin-top: 1.5rem;
  }

  .review-popup {
    max-width: 38rem;
    width: 100%;
    padding: 2rem 2rem 5rem;
    height: 45rem;
  }

  .review-popup .height-hidden {
    padding: 0;
  }
}

/* =====================
   pm-software-accesories.html
===================== */
.software-duo__hd {
  font-size: 3rem;
  color: #a17a53;
  margin-bottom: 2rem;
}

.software-duo__hd.green {
  color: #8dc21f;
}

.software-duo__table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 1.2rem;
}

.software-duo__table th,
.software-duo__table td {
  padding: 1rem 1.8rem;
  text-align: left;
  vertical-align: top;
  border: 0.1rem solid #c6a78b;
  font-weight: 500;
}

.software-duo__table th {
  border: 0.1rem solid #fff;
  border-right: none;
  font-weight: 700;
  background: #c6a78b;
  color: #fff;
  width: 35%;
}

.software-duo__table th small {
  font-size: 80%;
}

.software-duo__table tr:first-child th {
  border-top-color: #c6a78b;
}

.software-duo__table tr:last-child th {
  border-bottom-color: #c6a78b;
}

.product-spec__swiper {
  background: #dddddd;
  border-radius: 5rem;
}

.software-duo__table.green th,
.software-duo__table.green td {
  border: 0.1rem solid #8dc21f;
}

.software-duo__table.green th {
  background: #8dc21f;
  border: 0.1rem solid #fff;
}

.software-duo__table.green tr:first-child th {
  border-top-color: #8dc21f;
}

.software-duo__table.green tr:last-child th {
  border-bottom-color: #8dc21f;
}

/* 0519 */

.product-spec__swiper .swiper {
  height: 66rem;
  padding: 3rem 0 6rem;
}

.product-spec__swiper .swiper-slide {
  padding: 0 12rem;
}

.product-spec__item {
  display: flex;
}

.product-spec__item.item4 {
  align-items: center;
  height: 100%;
}

.product-spec__item .left-box {
  width: 40%;
  padding-top: 6rem;
}

.product-spec__item .right-box {
  width: 60%;
}

.product-spec__item.item1 .right-box__info .title {
  font-size: 5rem;
  margin-bottom: 3rem;
  text-align: center;
}

.product-spec__item.item1 .right-box {
  display: flex;
  justify-content: flex-end;
}

.product-spec__item.item1 .right-box__info {
  width: 80%;
}

.product-spec__item.item .right-box img {
  max-width: 49rem;
  width: 100%;
}

.product-spec__ul {
  display: flex;
  flex-wrap: wrap;
  margin-left: -2.6rem;
}

.product-spec__ul li {
  background: #fff;
  width: calc(25% - 1.6rem);
  margin-left: 1.6rem;
  margin-top: 2rem;
  padding: 2rem 0rem 3rem;
  border-radius: 2.6rem;
}

.product-spec__ul li .title-image {
  text-align: center;
}

.product-spec__ul li .title-image img {
  width: auto;
  height: 10rem;
}

.product-spec__ul li .info {
  margin-top: 0.6rem;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.product-spec__ul li .info .txt {
  font-size: 1.4rem;
}

.product-spec__ul li .info .txt small {
  font-size: 75%;
}

.product-spec__image {
  max-width: 80%;
  width: 100%;
  margin: 0 auto;
}

.product-spec__image img {
  width: 100%;
}

.product-spec__image a {
  display: inline-block;
}

.product-spec__image img {
  display: block;
  max-width: 100%;
  height: auto;
}

.product-spec__swiper canvas {
  max-width: 60rem !important;
  width: 100% !important;
  height: 56rem !important;
  margin: 0 auto;
}

.product-spec__swiper .swiper-button-prev,
.product-spec__swiper .swiper-button-next {
  left: 2rem;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  margin-top: 0;
  width: 8rem;
  height: 8rem;
  border-radius: 100%;
  background: url("../img/common/img_arrow_prev_3.png") center center no-repeat;
  background-size: cover;
}

.product-spec__swiper .swiper-button-next {
  left: auto;
  right: 2rem;
  background: url("../img/common/img_arrow_next_3.png") center center no-repeat;
  background-size: cover;
}

.product-spec__swiper .swiper-pagination-fraction,
.product-spec__swiper .swiper-pagination-custom,
.product-spec__swiper .swiper-horizontal > .swiper-pagination-bullets,
.product-spec__swiper .swiper-pagination-bullets.swiper-pagination-horizontal {
  background: transparent;
  bottom: 0;
  padding: 3rem;
}

.product-spec__swiper .swiper-pagination .swiper-pagination-bullet {
  width: 1.6rem;
  height: 1.6rem;
}

.product-spec__swiper .swiper-pagination .swiper-pagination-bullet-active {
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 100%;
  background: #384356;
}

@media screen and (min-width: 768px) {
  .product-spec__image {
    overflow: hidden;
    text-align: center;
  }

  .product-spec__image img {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
  }

  .product-spec__swiper.base-spec .left-box__image,
  .product-spec__swiper.class-spec .left-box__image,
  .product-spec__swiper.mb-spec .left-box__image {
    position: relative;
    width: 100%;
  }

  .product-spec__swiper.base-spec .left-box__image img,
  .product-spec__swiper.class-spec .left-box__image img,
  .product-spec__swiper.mb-spec .left-box__image img {
    position: absolute;
    right: -10rem;
    z-index: -1;
    width: 55rem;
    max-width: unset;
  }

  .product-spec__swiper.class-spec .left-box__image img {
    width: 50rem;
    right: -6rem;
  }

  .product-spec__swiper.mb-spec .left-box__image img {
    width: 50rem;
    right: -6rem;
  }
}

@media screen and (max-width: 767px) {
  .product-spec__swiper .swiper {
    height: calc(50% + 100vw);
    overflow: hidden;
    padding: 2vw 0 8vw;
  }

  .product-spec__swiper .swiper-slide {
    padding: 0 5vw;
  }

  .product-spec__item.item1,
  .product-spec__item.item2 {
    display: block;
    align-items: center;
  }

  .product-spec__item .left-box {
    max-width: 50vw;
    width: 100%;
    margin: 0 auto 2vw;
    padding-top: 0;
  }

  .product-spec__item .right-box {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
  }

  .product-spec__item.item1 .right-box__info .title {
    font-size: 5vw;
    margin-bottom: 3vw;
    text-align: center;
  }

  .product-spec__item.item1 .right-box__info {
    width: 90%;
    margin: 0 auto;
  }

  .product-spec__item.item .right-box img {
    max-width: 100%;
    width: 100%;
  }

  .product-spec__item.item3 {
    padding: 20vw 0 0;
  }

  .product-spec__ul {
    flex-wrap: wrap;
    margin-left: -1.6vw;
  }

  .product-spec__ul li {
    background: #fff;
    width: calc(50% - 1.6vw);
    margin-left: 1.6vw;
    margin-top: 2vw;
    padding: 2vw 1.6vw 3vw;
    border-radius: 1.6vw;
  }

  .product-spec__ul li .title-image {
    text-align: center;
  }

  .product-spec__ul li .title-image img {
    width: auto;
    height: 10vw;
  }

  .product-spec__ul li .info {
    margin-top: 2vw;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .product-spec__ul li .info .txt {
    font-size: 2vw;
  }

  .product-spec__item.item4 {
    height: auto;
  }

  .product-spec__image {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;

    white-space: nowrap;

    text-align: left;

    padding-bottom: 1rem;
  }

  .product-spec__image a {
    display: inline-block;
  }

  .product-spec__image img {
    max-width: none;
    height: 50rem;
    width: auto;
    display: block;
  }

  .product-spec__swiper canvas {
    max-width: 70vw !important;
    width: 100% !important;
    height: 60vw !important;
    margin: 0 auto;
  }

  .product-spec__swiper.base-spec canvas,
  .product-spec__swiper.class4-spec canvas,
  .product-spec__swiper.enclosure-spec canvas {
    max-width: 80vw !important;
    height: 68vw !important;
  }

  .product-spec__swiper .swiper-button-prev,
  .product-spec__swiper .swiper-button-next {
    left: 2vw;
    width: 8vw;
    height: 8vw;
  }

  .product-spec__swiper .swiper-button-next {
    left: auto;
    right: 2vw;
  }

  .product-spec__swiper .swiper-pagination-fraction,
  .product-spec__swiper .swiper-pagination-custom,
  .product-spec__swiper .swiper-horizontal > .swiper-pagination-bullets,
  .product-spec__swiper .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 0;
    padding: 3vw;
  }

  .product-spec__swiper .swiper-pagination .swiper-pagination-bullet {
    width: 2vw;
    height: 2vw;
  }

  .product-spec__swiper .swiper-pagination .swiper-pagination-bullet-active {
    width: 2vw;
    height: 2vw;
  }
}

/* 0528 */
img.f-panzoom__content {
  background: #dddddd;
}
/* 0529 */
.teaser-white {
  margin-bottom: 10rem;
}

.teaser-white .teaser-image {
  position: relative;
  padding-top: 29vw;
  overflow: hidden;
}

.teaser-white .teaser-image img {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  object-fit: cover;
}

.teaser-white.column-teaser .teaser-image img {
  object-position: top;
}

.teaser-white .teaser-hd {
  color: #fff;
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
}

.teaser-white .teaser-hd .jap {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .teaser-white {
    margin-bottom: 6rem;
  }
  
  .teaser-white .teaser-image {
    padding-top: 50vh;
  }
}

/* 0601 */
.topics-list li {
  text-align: center;
  padding: 7rem 1rem;
  border-top: .1rem solid #000;
}

.topics-list li:last-child {
  border-bottom: .1rem solid #000;
}

.topics-list li .title {
  font-size: 2rem;
  font-weight: 700;
}

@media screen and (max-width: 767px) {
  .topics-list li {
    padding: 4rem 1.6rem;
  }
}

/* 0603 */
.review-close {
  font-size: 1.2rem;
  font-weight: 600;
  max-width: 7rem;
  width: 100%;
  height: 2.6rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border: .1rem solid #000;
  border-radius: 2rem;
  background: #fff;
  position: absolute;
  left: 50%;
  bottom: 2rem;
  z-index: 3;
  transform: translateX(-50%);
}

.review_box {
  position: relative;
}

.review_list .review_navi {
  position: absolute;
  width: 4rem;
  height: 4rem;
  z-index: 3;
  top: 50%;
}

.review_list .review_navi.js-swiper-prev {
  left: 0;
  transform: translate(calc((-100% - 3rem)),-50%);
}

.review_list .review_navi.js-swiper-next {
  right: 0;
  transform: translate(calc((100% + 3rem)),-50%);
} 


.review_list .review_navi a img {
  width: 100%;
}
/* プライバシーポリシー */
h1.japanese {
    font-size: 4.2rem;
}
.form_txtbox {
    max-width: 1200px;
    width: 100%;
    box-sizing: border-box;
    margin: 100px auto 70px;
    text-align: center;
}
.privacy-policy-content {
    margin-bottom: 100px;
}
.privacy-policy__item__desc {
    font-size: 1.5rem;
    text-indent: 1rem;
	padding-left: 2rem;
}
.privacy-policy__item__title {
    font-size: 2.4rem;
    line-height: 1.4;
    margin: 38px 0 14px;
    padding-left: 17px;
    position: relative;
}
.privacy-policy__item__title::before {
    display: block;
    position: absolute;
    content: "";
    left: 0;
    top: 5px;
    width: 6px;
    height: calc(100% - 10px);
    background: #ffa500;
}
.privacy-policy__item ul {
    padding-left: 20px;
}
.tutorials_video_title {
    width: 100%;
    margin-top: 7rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
.tutorials_video_title a {
    color: #666;
    background-color: #ebebeb;
    padding: 15px 30px;
    font-size: 14px;
    border-radius: 10px;
    border: solid 1px #a9a9a9;
}
@media screen and (max-width: 767px) {
  .review-close {
    bottom: 1.6rem;
  }

  .review_list .review_navi {
    position: absolute;
    width: 4rem;
    height: 4rem;
    z-index: 3;
    top: 50%;
  }
  
  .review_list .review_navi.js-swiper-prev {
    left: 0;
    transform: translate(-30%,-50%);
  }
  
  .review_list .review_navi.js-swiper-next {
    right: 0;
    transform: translate(30%,-50%);
  } 
  
}

/* 0612 */
#numbering_head #teaser.teaser-wrap .teaser-hd.large .eng {
  font-size: 8vw;
}

/* パンクズ */
.breadcrumb {
	max-width: 124rem;
    width: 100%;
    padding: 0 2rem;
    margin: 1rem auto;
}

.breadcrumb .current-item {
	font-weight: 700;
  color: #ffa500;
}
.white-teaser-common {
    height: 7rem;
    width: 100%;
    display: block;
	margin-top:7rem;
}
/* トップ戻る */
.pagetop-btn {
    position: fixed;
    width: 40px;
    height: 80px;
    border: solid 1px #FFA500;
    background: #fff;
    cursor: pointer;
    right: -7px;
    bottom: 20px;
    z-index: 1000;
    border-radius: 16px 0 0 16px;
    opacity: 0;
    transform: translateX(100px); 
    transition: opacity 0.3s ease, transform 0.3s ease; 
    pointer-events: none; 
}

.pagetop-btn.visible {
    opacity: 1;
    transform: translateX(0); 
    pointer-events: auto; 
}

.pagetop-btn::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-left: 2px solid #FFA500;
  border-top: 2px solid #FFA500;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -25%) rotate(45deg);
}
/* 投稿詳細ページ */
.mlmrAuto {
    margin-left: auto ;
    margin-right: auto ;
}
.mt50 {
    margin-top: 50px ;
}
.mt10 {
    margin-top: 10px ;
}
.w80per {
    width: 80% ;
}
.w600 {
    width: 600px;
}
.talPC {
    text-align: left ;
}
.tacPC {
    text-align: center;
}