@charset "UTF-8";

.c-text--theme-c-a{
  width:auto;
  padding:4px 6px;
}

.w-per-25{
  width: 25%;
}
/**
* FIXME: scssの環境が管理されていなく、実行環境が不明のため
* scss管理下では無さそうなこのファイルに暫定でhotfix Style記述を行う
*/

/**
* wysiwyg利用時のボタンスタイル調整
*/
.c-post a.c-btn__label--theme-a-a--c{
    color:#fff;
    text-decoration:none;
    line-height:1.3;
}
.c-post a.c-btn__label--theme-a-a--c.small{
    color:#fff;
    text-decoration:none;
    line-height:1.3;
    padding-top:9px;
    padding-bottom:7px;
}

.wp_pagenavi {
  display: flex !important;
  justify-content: center;
}
.wp_pagenavi > a,
.wp_pagenavi > span {
  overflow: hidden;
  justify-content: center;
  align-items: center;
  width: auto;
  margin:0 1px;
  padding: 0;
  text-decoration: none;
  vertical-align: middle;
  text-align: center;
  line-height: 1.0;
  letter-spacing: 0;
  background-color: transparent;
  font-weight: normal;
  border: 0;
  display: flex !important;
  position: relative !important;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  border-color: #d4e5e8;
  border-width: 1px;
  border-style: solid;
  background-color: #fff;
  color:#009444;
}
.wp_pagenavi a:hover {
  opacity:0.8 !important;
}
.wp_pagenavi > span {
  background:#009444;
  color:#fff;
}
.wp_pagenavi a.first,
.wp_pagenavi a.last,
.wp_pagenavi a.previouspostslink,
.wp_pagenavi a.nextpostslink {
  margin:0 2px;
}
@media only screen and (max-width: 667px) {
  .wp_pagenavi a.page {
    display: none !important;
  }
}
.c-search__btn {
  width:200px !important;
  margin-right:15px !important;
}
.c-search-modal .modal .tab-form input[type="radio"] ~ label {
  color: #183561;
}
.c-search__selected span.selected-tag {
  padding: 4px 10px !important;
  margin:2px 0;
}
.c-search__selected span.selected-tag .tag-after2 {
  display: inline-block;
  margin-left: 10px;
  vertical-align: text-bottom;
  cursor: pointer;
}
@media only screen and (max-width: 1024px) {
  .c-search__btn {
    width: 140px !important;
    padding: 3px 0;
    font-size: 12px;
  }
  .c-search {
    display: flex !important;
    flex-wrap: wrap;
    justify-content: center;
  }
  .c-search__selectedBlock {
    width:100%;
  }
}

.header__nav__grid__cell--e {
  margin-left: 3.1% !important;
}
@media only screen and (max-width: 1024px){
  .header__nav__grid__cell--e {
    margin-left:0 !important;
  }
}
.c-btn--theme-a-a--a {
  /*margin:0 auto 30px !important;*/
}
.grecaptcha-badge { visibility: hidden; }
.c-date {
  
}
@media only screen and (min-width:668px){
  .c-date {
    padding-right:0 !important;
    margin-right:0;
    width:132px;
    height:0.875rem;
  }
  .c-title {
    padding-bottom: 6px;
  }
}
@media only screen and (max-width:667px){
  .c-title {
    padding-bottom: 8px;
    border-bottom:1px solid #ccc;
  }
}
.c-title:last-of-type {
  border:none;
  padding-bottom:0;
}

@media screen and (min-width:668px){
  .header {
      position: sticky !important;
      height: 85px !important;
      top: 0 !important;
      left: 0 !important;
      z-index: 10 !important;
      padding-top: 12px !important;
      padding-bottom: 13px !important;
      border-bottom: unset !important;
      z-index: 20 !important;
  }
  .header .header__logo {
      width: 140px !important;
      margin-top: 4px !important;
  }
  .header .header__nav {
      margin-top: 5px !important;
      width:76.59615%;
  }
}
#pagetop + div {
  display: none;
}
.swiperContainer {
  overflow: hidden;
}
.js-wideslider {
  width:1030px;
  margin:0 auto;
  overflow: visible;
}
@media screen and (max-width:1024px){
  .js-wideslider {
    width:100%;
    margin:0 auto;
    overflow: visible;
  }
}
.js-wideslider .swiper-wrapper {
  list-style: none;
  padding:0;
  margin:0;
}
.js-wideslider .swiper-slide {
  padding:0 15px;
  display: block;
  list-style: none;
  margin:0;
}
@media screen and (max-width:1024px){
  .js-wideslider .swiper-slide {
    padding:0;
  }
}
.js-wideslider .swiper-slide img {
  width:100%;
  height:auto;
}
.swiper-pagination {
  position: relative;
  padding-top:20px;
  margin-bottom:50px;
}
@media screen and (max-width:1024px){
  .swiper-pagination {
    position: relative;
    padding-top:15px;
    margin-bottom:20px;
  }
}
.swiper-pagination .swiper-pagination-bullet-active {
  background:#009444;
}
.topics__swiperContainer {
  overflow: visible;
  margin:0 -20px;
}
.topics__swiper {
  width:1080px;
  display: flex;
  overflow: visible;
}
.js-topicSwiper {
  overflow: hidden;
}
@media screen and (max-width:1024px){
  .topics__swiper {
    width:100%;
    margin:0;
    display: flex;
    overflow: visible;
  }
}
.topics__o {
  width:calc(100% / 3);
  padding:0 20px;
}
@media screen and (max-width:1024px){
  .topics__o {
    width:300px;
    padding:0 16px;
  }
}
.product__img {
  width:100%;
  position: relative;
  padding-top:100%;
  border-radius: 4px;
  overflow: hidden;
  background:#fff;
}
.product__img img {
  position: absolute;
  left:0 !important;
  top:0 !important;
  margin: 0 !important;
  width:100% !important;
  height:100% !important;
  object-fit: contain;
}
.top__brand {
  padding-bottom:80px;
  overflow: hidden;
}
@media screen and (max-width:1024px){
  .top__brand {
    padding-top:20px;
    padding-bottom:30px;
    overflow: hidden;
  }
}
.brand__lists {
  width:1070px;
  margin:0 -15px;
  display: flex;
  list-style: none;
  padding:0;
}
@media screen and (min-width:1025px){
  .brand__lists {
    flex-wrap: wrap;
  }
}
@media screen and (max-width:1024px){
  .brand__listsWrap {
    overflow: visible;
  }
  .brand__lists {
    width:unset;
    margin:0;
  }
}
.brand__list {
  list-style: none;
  width:calc(100% / 4);
  padding:0 15px;
  margin:0;
}
@media screen and (max-width:1024px){
  .brand__list {
    width:300px;
    padding:0 15px;
    margin:0;
  }
}
.brand__listLink {
  display: block;
  text-decoration: none;
  color:#000;
}
.brand__listLink:hover {
  color:#009444;
}
.brand__listThumb {
  width:100%;
  padding-top:100%;
  border:1px solid #c0c0c0;
  border-radius: 5px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width:1024px){
  .brand__listThumb {
    margin-bottom: 0;
  }
}
.brand__listLink:hover .brand__listThumb {
  border-color:#009444;
}
.brand__listThumb img {
  width:100%;
  height:100%;
  display: block;
  position: absolute;
  left:0;
  top:0;
  object-fit: contain;
}
.brand__listName {
  font-weight: 700;
  text-align: center;
  font-size:20px;
}
@media screen and (max-width:1024px){
  .brand__listName {
    display:  none;
  }
}
.top__news {
  padding:0 0 40px;
}
@media screen and (max-width:1024px){
  .top__news {
    margin:0 20px;
  }
}
.top__contact {
  padding:0;
}
@media screen and (max-width:1024px){
  .top__contact {
    padding:0 20px;
  }
  .top__contact p.c-text {
    font-size:0.8em;
  }
}
.top__contact .p-block-a-h {
  padding:0;
}
@media screen and (max-width:1024px){
  .top__contact .p-block-a-h {
    margin-top:25px;
  }
  .c-twoLine span {
    height:3em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
}
@media screen and (max-width:667px){
  .p-block-a-j__top {
    display: block;
  }
  .p-block-a-j__top img {
    display: block;
  }
  .p-block-a-j__bottom {
    display: block;
  }
  .p-block-a-j__bottom img {
    display: block;
  }
}
@media screen and (max-width:1024px){
  .c-btn--theme-a-a--a {
    width:270px;
  }
}
@media screen and (max-width:1024px){
  .p-block-a-k--news {
    margin-top:20px;
  }
}
.c-date2 {
  color:#009444;
}
.about__movie {
  margin-bottom:80px;
}
@media screen and (max-width:1024px){
  .about__movie {
    margin:0 -20px 40px;
  }
}
.about__moviein {
  width:100%;
  padding-top:56.25%;
  position:relative;
}
.about__moviein iframe {
  width: 100%;
  height:100%;
  position: absolute;
  left:0;
  top:0;
}
.about__subTitle {
  border-bottom:1px solid #009444;
  display: flex;
  line-height:1;
  align-items: flex-end;
  padding-bottom:15px !important;
  margin-bottom:42px !important;
}
@media screen and (max-width:1024px){
  .about__subTitle {
    padding-bottom:10px !important;
    margin-bottom:20px !important;
  }
}
.about__subTitle--en {
  font-family: 'Montserrat', sans-serif;
  color:#009444;
  font-weight: 700;
  font-size:36px;
  line-height: 1 !important;
  margin-right:16px;
}
@media screen and (max-width:1024px){
  .about__subTitle--en {
    font-size:22px;
    line-height: 1 !important;
    margin-right:10px;
  }
}
.about__subTitle--ja {
  font-size:14px;
  line-height: 1.5 !important;
}
@media screen and (max-width:1024px){
  .about__subTitle--ja {
    font-size:12px;
  }
}
.p-block-a-f__link__icon {
    display: inline-block !important;
    vertical-align: middle !important;
    margin-right: 5px !important;
    width: 11px !important;
}
.about__companyKey {
  color:#009444;
}
.p-block-a-g__item {
  border:none;
}
.about__company {
  margin-bottom:80px;
}
.about__message {
  margin-bottom: 80px;
}
.about__messageCatch {
  font-size:24px !important;
  text-align: center;
  color:#009444;
  font-weight: 600 !important;
  margin-bottom:36px !important;
}
@media screen and (max-width:1024px){
  .about__messageCatch {
    font-size:1rem !important;
    margin-bottom:20px !important;
  }
}
.about__messageCont {
}
.about__messageCont p {
  font-size:15px !important;
  line-height:2.1 !important;
  margin-bottom: 1.8em !important;
}
.--eng.about__messageCont p {
  line-height:1.9 !important;
}
@media screen and (max-width:1024px){
  .about__messageCont p {
    font-size:0.875rem !important;
    margin-bottom: 1.2em !important;
  }
}
.about__messageImg {
  float:left;
  max-width: 308px !important;
  margin-right:32px !important;
  margin-bottom: 18px !important;
}
@media screen and (max-width:1024px){
  .about__messageImg,
  .--eng .about__messageImg {
    float:none;
    max-width: 200px !important;
    display: block;
    margin:0 auto 16px !important;
  }
}

.about__messageSign {
  font-weight: 600 !important;
  font-size:15px !important;
  text-align: right;
}
@media screen and (max-width:1024px){
  .about__messageSign {
    font-size:0.875rem !important;
  }
}
.about__messageSign strong {
  font-size:22px;
}
@media screen and (max-width:1024px){
  .about__messageSign strong {
    font-size:1.1rem;
  }
}
.about__banner a {
  display: block;
  transition: all 0.3s ease;
}
.about__banner a:hover {
  opacity:0.7;
}
@media screen and (max-width:1024px){
  .footer-a-c__copy__link {
    font-size: 0.7rem !important;
    display: inline-block;
    margin-bottom:1em !important;
  }
}
.swiper-prevNext {
  position: absolute;
  height:34px;
  top:50%;
  display: flex;
  justify-content: space-between;
  z-index:50;
  left:-64px;
  right:-64px;
  pointer-events: none;
}
.js-wideslider .swiper-prevNext {
  margin-top:-36px;
}
.js-TopicsSwiper .swiper-prevNext {
  margin-top:-17px;
}
@media screen and (max-width:1024px){
  .topicsSwiper-prevNext {
    left:50%;
    right:unset;
    width:332px;
    margin-left:-166px;
  }
  .topicsSwiper-prevNext {
    margin-top:-48px;
  }
  .topicsSwiper-prevNext a {
    transform:scale(0.6);
  }
}
.swiper-prev {
  display:flex;
  justify-content: center;
  align-items: center;
  width: 34px;
  height:34px;
  border-radius: 50%;
  border:2px solid #009444;
  background:#fff;
  text-indent:-9897px;
  transition: all 0.3s ease;
  pointer-events: auto
}
.swiper-prev:before {
  content:'';
  display: block;
  width:7px;
  height:7px;
  box-sizing: border-box;
  border-bottom: 2px solid #009444;
  border-left: 2px solid #009444;
  transform:rotate(45deg);
  margin-left:3px;
}
.swiper-next {
  display:flex;
  justify-content: center;
  align-items: center;
  width: 34px;
  height:34px;
  border-radius: 50%;
  border:2px solid #009444;
  background:#fff;
  text-indent: -9897px;
  transition: all 0.3s ease;
  pointer-events: auto;
}
.swiper-next:before {
  content:'';
  display: block;
  width:7px;
  height:7px;
  box-sizing: border-box;
  border-top: 2px solid #009444;
  border-right: 2px solid #009444;
  transform:rotate(45deg);
  margin-left:-1px;
}
@media screen and (hover:hover){
  .swiper-prev:hover,
  .swiper-next:hover {
    transform:scale(1.1);
  }
}
.productSwiper-prevNext {
  display: none;
}
@media screen and (max-width:1024px){
  .productSwiper-prevNext {
    display: flex;
    left:50%;
    right:unset;
    width:332px;
    margin-left:-166px;
    margin-top:-48px;
  }
  .productSwiper-prevNext a {
    transform:scale(0.6);
  }
}
.brand__pagelist {
  margin-bottom:20px;
  border-radius: 5px;
  border:2px solid #000;
  overflow: hidden;
}
.brand__pagelist dt {
  height:75px;
  color:#fff;
  font-size:24px;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  background:#000;
}
@media screen and (max-width:1024px){
  .brand__pagelist dt {
    height:37px;
    font-size:1rem;
  }
}
.brand__pagelist dd {
  padding:20px 20px 40px;
  display: flex;
  margin:0;
}
@media screen and (max-width:1024px){
  .brand__pagelist dd {
    padding:10px;
    display:block;
    margin:0;
  }
}
.brand__pageThumb {
  width:230px;
  height:230px;
  border-radius: 5px;
  border:1px solid #c0c0c0;
  overflow: hidden;
}
@media screen and (max-width:1024px){
  .brand__pageThumb {
    width:100%;
    height:140px;
    overflow: hidden;
    margin-bottom:1rem !important;
  }
}
.brand__pageThumb img {
  width:100%;
  height:100%;
  object-fit: contain;
}
@media screen and (max-width:1024px){
  .brand__pageThumb img {
    transform: scale(1.4)
  }
}
.brand__pageTexts {
  flex:1;
  padding-left:20px;
  padding-bottom:56px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width:1024px){
  .brand__pageTexts {
    padding-left:0;
    padding-bottom:0;
  }
}
.brand__pageTexts p {
  font-size: 16px !important;
}
@media screen and (max-width:1024px){
  .brand__pageTexts p {
    font-size: 0.8rem !important;
  }
}
.brand__btns {
  position: absolute;
  left:0;
  bottom:0;
  right:0;
  height:56px;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  padding-left:60px;
}
@media screen and (max-width:1024px){
  .brand__btns {
    position:relative;
    left:unset;
    bottom:unset;
    right:unset;
    height:unset;
    flex-direction: column-reverse;
    padding-left:0;
    padding-top:1rem;
    width:100%;
  }
}
.brand__icons {
  display: flex;
  align-items: center;
  list-style: none;
  justify-content: center;
}
@media screen and (max-width:1024px){
  .brand__icons {
    padding-left:0 !important;
    padding-bottom:1rem !important;
  }
}
.brand__icons li {
  width:54px;
  height:50px;
  margin:0;
  margin-left:12px;
  list-style: none;
}
@media screen and (max-width:1024px){
  .brand__icons li {
    width:36px;
    height:40px;
    margin:0;
    margin-left:12px;
    margin-right:12px;
    list-style: none;
  }
}
.brand__icons li a {
  display: flex;
  height:50px;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width:1024px){
  .brand__icons li a {
    height:40px;
  }
}
.icon_youtube img {
  width:46px;
  height:auto;
}
@media screen and (max-width:1024px){
  .icon_youtube img {
    width:36px;
  }
}
.icon_instagram img {
  width:36px;
  height:auto;
}
@media screen and (max-width:1024px){
  .icon_instagram img {
    width:32px;
  }
}
.icon_x img {
  width:36px;
  height:auto;
}
@media screen and (max-width:1024px){
  .icon_x img {
    width:32px;
  }
}
.icon_tiktok img {
  width:36px;
  height:auto;
}
@media screen and (max-width:1024px){
  .icon_tiktok img {
    width:32px;
  }
}
.icon_facebook img {
  width:36px;
  height:auto;
}
@media screen and (max-width:1024px){
  .icon_facebook img {
    width:32px;
  }
}
.brand__officialBtn {
  width:345px;
}
@media screen and (max-width:1024px){
  .brand__officialBtn {
    width:100%;
    margin-bottom:1rem;
  }
}
.brand__officialBtn a {
  display: flex;
  height:56px;
  justify-content: center;
  align-items: center;
  color:#fff;
  text-decoration: none;
  font-size:22px !important;
  font-weight: 700;
  border-bottom:4px solid rgba(0,0,0,.4);
  padding-top:6px;
}
@media screen and (max-width:1024px){
  .brand__officialBtn a {
    height:36px;
    font-size:.9rem !important;
  }
}
.brand__officialBtn a:hover {
  color:#fff;
  opacity:0.7;
  text-decoration: none;
}
.brand__officialBtn a:focus {
  color:#fff !important;
  text-decoration: none;
}
.toCP {
  display: flex;
  justify-content: center;
  list-style: none;
  margin:0 0 3em;
  padding:0;
}
@media screen and (max-width:1024px){
  .toCP {
    display: block;
    margin:0 auto 3em;
  }
}
.toCP li {
  padding:0 1em;
  margin:0;
  list-style: none;
}
.toBOS {
  width:100%;
  margin-top:50px;
}
@media screen and (max-width:768px){
.toBOS {
  margin-top:30px;
}
}
.toBOS a {
  display: block;
  padding:23px 0 24px;
  border:1px solid #c0c0c0;
  height:100px;
  border-radius: 5px;
  margin:0 auto;
}
@media screen and (max-width:768px){
  .toBOS a {
    padding:24px 0;
    height:80px;
    width:320px;
    margin-top:30px;
  }
}
.toBOS a:hover {
  border-color:#009444;
}
.toBOS a img {
  display: block;
  margin:0 auto;
  height:100%;
  width:auto;
}
.about__language {
  display: flex;
  justify-content: flex-end;
  list-style: none;
  padding:0;
  margin:0 -10px 10px 0;
}
.about__language li {
  padding:0 10px;
  position: relative;
  letter-spacing: 1;
  line-height:1;
}
.about__language li:first-child:after {
  content:'';
  position: absolute;
  right:0;
  top:0;
  bottom:0;
  width:1px;
  background:#009444;
}
.about__language li a {
  font-size:16px;
  line-height:1;
}
@media screen and (max-width:768px){
  .about__language li a {
    font-size:0.875rem;
    line-height:1;
  }
}
.about__language li a.is-active {
  font-weight: 700;
  color:#009444;
  pointer-events: none;
  text-decoration: none;
}
@media screen and (min-width:1025px){
  .--e .about__companyKey {
    width:32%;
  }
  .--e .p-block-a-g__item__text {
    width:68%;
  }
}
.footer-a-a__grid__cell--a {
  margin-left:7px;
  margin-right:8px;
}
@media screen and (max-width:1024px){
  .footer-a-a__grid__cell--a {
    margin-right:5px;
    margin-left:5px;
  }
}
  .c-btn--theme-b-b--a.footer-a-a__twitter {
    background-color: #fff;
    border-radius: 50%;
    box-shadow: unset;
    background-image: url(../img/common/X_logo_black.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px auto; }
    @media only screen and (max-width: 667px) {
      .c-btn--theme-b-b--a.footer-a-a__twitter {
        background-size: 14px auto; } }
    .c-btn--theme-b-b--a.footer-a-a__twitter:hover {
      opacity: 0.6; }
.c-btn--theme-b-a--a.footer-a-a__tiktok {
    background-color: #fff;
    border-radius: 50%;
    box-shadow: unset;
    background-image: url(../img/common/icon_tiktok.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px auto; }
    @media only screen and (max-width: 667px) {
      .c-btn--theme-b-a--a.footer-a-a__tiktok {
        background-size: 16px auto; } }
    .c-btn--theme-b-a--a.footer-a-a__tiktok:hover {
      opacity: 0.6; }

.c-btn--theme-b-a--a.footer-a-a__youtube {
    background-color: #fff;
    border-radius: 50%;
    box-shadow: unset;
    background-image: url(../img/common/icon_youtube.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 26px auto; }
    @media only screen and (max-width: 667px) {
      .c-btn--theme-b-a--a.footer-a-a__youtube {
        background-size: 18px auto; } }
    .c-btn--theme-b-a--a.footer-a-a__youtube:hover {
      opacity: 0.6; }

.footer-a-a__grid {
  width:189px;
}
@media screen and (max-width:667px){
  .footer-a-a__grid {
    width:120px;
  }
}
.product-title {
  max-height:4.5em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.product-title2 {
  max-height:6em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
.js-img-center {
  left:0 !important;
  top:0 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  margin:0 !important;
}
.p-block-b-h__cell:last-child {
  padding-left:3px;
}
.p-block-b-h__cell:first-child {
  padding-right:3px;
}
.p-block-b-h__btn {
  min-height:unset;
}
.wpcf7-not-valid-tip {
  font-size:16px;
  display: inline-block;padding-top:0.5em;
}
.blog-container .tpcs.products .img-wrapper {
  height:203px;
}
@media screen and (max-width:667px){
  .blog-container .tpcs.products .img-wrapper {
    height:auto;
  }
}
.blog-container .tpcs.products .tpcs.img {
  margin-bottom:0.5em;
}
.blog-container .tpcs.btns .btn {
  padding:5px;
}
.blog-container .tpcs.products .descriptions {
  padding:0 5px 0.5em;
}
.blog-container hr.tpcs {
  margin:10px 0 -1em !important;
}
@media screen and (max-width:1024px){
  .pc {
    display: none;
  }
}