/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */
.page-content .no-underLine a,
.page-content a.no-underLine{
 text-decoration: none;
}

.pointer-none .elementor-widget-text-editor{
  pointer-events: none;
}

.flex{
  display: flex;
}

/* ------------------------stickyItem */
.sticky-item{
 position: sticky;
}
.sticky-item_default{
 top: 0;
}

/* ----------------------link-arrow */
.link-arrow{
  position: relative;
	display: inline-block;
	padding: 0 0 0 1em;
	color: var(--e-global-color-primary);
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
}
.link-arrow::before,.link-arrow::after{
  position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.link-arrow::before{
  left: 0.25em;
	width: 6px;
	height: 6px;
	border-top: 2px solid var(--e-global-color-primary);
	border-right: 2px solid var(--e-global-color-primary);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

/* ----------------------header */
.ehf-header #masthead{
 position: fixed;
 width: 100%;
 top: 0;
 left: 0;
}
/* ---------------------breadcrumbs */
span.hfe-breadcrumbs-home-icon{
 margin-right: 0;
}

/* -------------------------------改行調整 */
.keepAll,.keepAll p{
 word-break: keep-all;
}

/* -------------------------------FV */
.fv-area{
 position: relative;
}
.fv-txtG{
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 right: 0;
 width: fit-content;
}
.fv-txtElm{
  opacity: 0;
}

.reveal-text,
.reveal-text::after{
  -webkit-animation-delay: var(--delay, 0);
          animation-delay: var(--delay, 0);
  -webkit-animation-iteration-count: var(--iterations, 1);
          animation-iteration-count: var(--iterations, 1);
  -webkit-animation-duration: var(--duration, 800ms);
          animation-duration: var(--duration, 800ms);
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);
          animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);
}
.reveal-text{
  --animation-delay: var(--delay, 0);
  --animation-duration: var(--duration, 800ms);
  --animation-iterations: var(--iterations, 1);
  position: relative;
  -webkit-animation-name: clip-text;
          animation-name: clip-text;
          cursor: default;
}
.reveal-text::after{
  content: "";
    position: absolute;
    z-index: 999;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color:#a2abcd;
    transform: scaleX(0);
    transform-origin: 0 50%;
    pointer-events: none;
    -webkit-animation-name: text-revealer;
            animation-name: text-revealer;
          }

@-webkit-keyframes clip-text {
  from {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@keyframes clip-text {
  from {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@-webkit-keyframes text-revealer {
  
  0%, 50% {
    transform-origin: 0 50%;
  }
  
  60%, 100% {
    transform-origin: 100% 50%;   
  }

  
  60% {
    transform: scaleX(1);
  }
  
  100% {
    transform: scaleX(0);
  }
}


@keyframes text-revealer {
  
  0%, 50% {
    transform-origin: 0 50%;
  }
  
  60%, 100% {
    transform-origin: 100% 50%;   
  }

  
  60% {
    transform: scaleX(1);
  }
  
  100% {
    transform: scaleX(0);
  }
}

.fv-txtElm.reveal-text{
  opacity: 1;
}

.bgrade-animated{
  background: linear-gradient(270deg, #19A6DD, var(--e-global-color-primary));
  background-size: 200% 200%;
  animation: bgGrad 5s ease infinite;
}
@keyframes bgGrad{
  0%{background-position:0% 50%}
    50%{background-position:100% 50%}
    100%{background-position:0% 50%}
}

#js-particles,#js-particles-2{
  position: relative;
}
#js-particles canvas,#js-particles-2 canvas{
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}

.home__infoGrid .post .postLink{
  width: 85%;
}
.link-to-theme .elementor-image-box-wrapper{
  display: flex;
  align-items: center;
}

/* ------------------------------会社概要 */
.overview-contentsArea ol{
 padding-left: 1.25em;
}
.overview-contentsArea ol li::marker{
 color: var(--e-global-color-primary);
}

.BusinessPrtner-list .elementor-widget-container ul{
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0 1em;
}

/* ------------------------------インフォメーション */
.archive__wrap{
  background-color: var(--e-global-color-68aa597);
}
.archive-pd{
  padding: 4rem 0;
}
.postCat,.postLink{
  display: inline-block;
}
.postCat{
  color: #fff;
  padding: 0.5em;
  width: 100px;
  text-align: center;
}
.postCat.product-info{
background-color: var(--e-global-color-accent);
}
.postCat.report{
  background-color: var(--e-global-color-primary);
}
.postLink{
  text-decoration: none;color: #000;
}
@media (hover: hover){
  .postLink:hover{
    color: var(--e-global-color-primary);
  }
}
.postTitle{
  font-size: 16px;margin: 0;font-weight: 400;line-height: 1.5;
}
.archive__wrap article.post{
  margin-bottom: 1rem;
  padding: 1em;
  background-color: #fff;
  align-items: baseline;
  gap: 1em;
}

.page-content .pagination .nav-next a,
.page-content .pagination .nav-previous a{
  text-decoration: none;color: #fff;
  background-color: var(--e-global-color-accent);
  padding:0.5em 1em;
  display: inline-block;
}
.pagination{
  justify-content: center;
  align-items:center;
  gap: 1em;
}

/* ------------------------------学会発表詳細 */
.single-title{
  margin-top: 4rem;
  font-size: 24px;
  color: var(--e-global-color-primary);
}
.report-detail{
  margin-bottom: 2rem;
}
.report-detailList{
  border-bottom: 1px dotted var(--e-global-color-accent);
  padding-bottom: 1rem;
}
.reportDate,.endai-num,.report-detailList dt,.report-detailList dd{
  font-weight: 500;
}
.report-detailList dt,.report-detailList dd,.endai-num{
  font-size: 18px;
}
.report-detail a.report-pdf{
  color: var(--e-global-color-primary);
  font-size: 20px;
}
.report-detail-01{
  margin-top: 2rem;
}
.endai{
  background-color: var(--e-global-color-primary);
  color: #fff;
  padding: 0.5em;
  display: inline-block;
  margin-top: 0.5em;
}
.endai-num{
  display: block;
}
.pdf-icon{
  display: inline-block;
  vertical-align: middle;
}
.reportTitleHeader{
  line-height: 1;
  margin-bottom: 2rem;
}
.report-detailList .flex{
  margin-bottom: 1.5rem;
  align-items: center;
}

.report-detailList dt{
      /* width: 15%; */
    min-width: 115px;
    color: var(--e-global-color-primary);
    /* background-color: var(--e-global-color-primary); */
    /* padding: 0em 0em; */
    padding-right: 1em;
    /* text-align: center; */
    border-right: 1px solid var(--e-global-color-primary);
    /* text-align: center; */
}
.report-detailList dd{
  width: 85%;
}
.report-detailList dd p{
  margin-bottom: 0;
}
.report-detailList dd .productName-01 a,.report-detailList dd .productName-02 a{
  color: var(--e-global-color-primary);
}

.info-back-wrap{
  text-align: center;
  margin-bottom: 5rem;
}
.page-content .info-back-link{
  display: inline-block;color: #fff;
  background-color: var(--e-global-color-accent);
  text-decoration: none;padding: .75em 1em;
}

/* ------------------------------沿革 */

/* ------------------------------製品一覧 */
.product-list{
  gap: 2rem 2%;
  flex-wrap: wrap;
  margin-bottom: 4rem;
}
.product-list article{
  width: 32%;
}
.page-content .product-list a.postLink{
  text-decoration: none;
}
.product-list .postTitle{
  font-size: 20px;font-weight: 600;color: var(--e-global-color-primary);
}

.product-archive__wrap{
  margin-top: 4rem;
}
.product-classification-title{
  font-size: 28px;
  line-height: 1.3;
  color: var(--e-global-color-primary);
  font-weight: 600;
  margin-bottom: 2rem;
  margin-top: 0;
}
.productLink{
  display: flex;
  flex-direction: column;
  gap: 1rem 0;
}
.product-list p{
  color: #000;
}
.postTaxonomy{
  display: inline-block;
  padding: 0.5em 1em;
  background-color: #19A6DD;
  color: #fff;
  font-weight: 500;
}
/* ------------------------------タクソノミー */
.taxTermsList{
  flex-wrap: wrap;
  gap:1rem 2%;
  padding-left: 0;
  margin-bottom: 2rem;
}
.taxTermsListItem{
  width: 32%;
  list-style: none;
  color: #19A6DD;
  padding-bottom: 0.25em;
  border-bottom: 1px solid var(--e-global-color-accent);
}
.taxTermsListItem a{
  color: #000;
}
.taxo-area__bottom{
  margin-bottom: 4rem;
}

/* -------------------------------製品詳細ページ */
.product-breadcrumb{
  background-color: var(--e-global-color-68aa597);
  padding: 0.5em 1rem;
}
.product-breadcrumb ul{
  max-width: 1180px;
  margin:auto;
}
.product-breadcrumb ul li a{
  color: var(--e-global-color-primary);
}
.product-detailSect {
    margin-bottom: 4rem;
    margin-top: 2rem;
}
.product-detailSect > span{
    display: inline-block;
    background-color: var(--e-global-color-accent);
    padding: 0.5em 1em;
    color: #fff;
    margin-bottom: 0.35em;
}
.product-detailSect h1.product-classification-title{
  border-bottom: 1px solid var(--e-global-color-accent);
  padding-bottom: 0.25em;
  margin-bottom: 1rem;
}
.product-detailSect p,.product-detailSect ul li,.product-detailSect ol li,.product-wysiwygArea table td:last-child{
  line-height: 1.75; font-size: 15px;
}
.product-detailSect .product-outline p{
  font-size: 16px;font-weight: 500;
}
.product-detailSect .flex{
  gap: 2rem;
  margin: 4rem 0;
}
.product-ImageArea{
  width: 40%;
  text-align: center;
}
.product-introArea{
  width: 60%;
}
.product-itemTitle{
  font-size: 1.3em;
  margin-bottom: 1rem;
}
.product-itemTitle--wysiwyg{
  background-color: #f6fcff;
  padding: 0.5em 1em;
}
.page-content .product-detailSect a.catalog-pdf__link{
  background-color: #19A6DD;
  color: #fff;
  display: inline-block;
  padding: .75em 1.5em;
  margin-top: 1rem;
}
.catalog-pdf__innerTxt{
  display: inline-block;
  vertical-align: middle;
}
.product-wysiwygArea{
  margin-bottom: 2rem;
}
.product-wysiwygArea p{
  margin-top: 1rem;
}
.product-wysiwygArea ol,.product-wysiwygArea ul{
  padding-left: 1.5em;
}
.product-detailSect ul li::marker,.product-detailSect ol li::marker,.pp__list ul li::marker{
  color: var(--e-global-color-primary);
  font-size: 1.3em;
}
.product-wysiwygArea table td,.product-wysiwygArea table th{
  border: none;
}
.product-wysiwygArea table tr td:first-child{
  width: 20%!important;
  position: relative;
  font-weight: 700;
  vertical-align: middle;
}

.product-wysiwygArea table tr td:last-child{
  width: 80%!important;
}
.product-wysiwygArea table tbody>tr:nth-child(even)>td,.product-wysiwygArea table tbody>tr:nth-child(even)>th{
  background-color: #f6fcff;
}
.product-wysiwygArea table tbody>tr:nth-child(odd)>td,.product-wysiwygArea table tbody>tr:nth-child(odd)>th{
  background-color: #fff;
}

/* ---------------------------------お問い合わせフォーム */
.form-area{
  max-width: 900px;
  margin: auto;
}
.form-area .smf-item__col input.smf-text-control__control{
  height: 40px;
}
.form-area .wp-block-snow-monkey-forms-item:nth-child(even){
  background-color: #f6fcff;
}

.form-area .smf-item__label__text{
  color: var(--e-global-color-primary);
  font-weight: 700;
}
.smf-form--simple-table .smf-item{
  align-items: center;
  padding-left: 1rem;
  padding-right: 1rem;
}
.smf-checkbox-control__label a.smf-ppLink{
  color: var(--e-global-color-primary);
  border-bottom: 1px solid var(--e-global-color-primary);
  text-decoration: none;
}

/* -------------button */
.smf-form--simple-table+.smf-action{
  margin: 1em 0 4em;
}
.smf-action .smf-button-control__control{
  font-size: 1.1em;
  background-color: var( --e-global-color-accent );
  background-image: none;
  color: white;
  border: none;
  transition: box-shadow 0.25s;
  border-radius: 8px;
  display: inline-block;
  letter-spacing: 1px;
  line-height: 1.5;
  margin: 0;
  min-width: 20%;
  padding: 0.75em 0;
  position: relative;
  text-decoration: none;
  width: auto;
}
/* 進行状況に応じた背景・文字色：--_color-text を利用 */
[data-screen=back] .smf-progress-tracker__item--input .smf-progress-tracker__item__number,
[data-screen=complete] .smf-progress-tracker__item--complete .smf-progress-tracker__item__number,
[data-screen=confirm] .smf-progress-tracker__item--confirm .smf-progress-tracker__item__number,
[data-screen=input] .smf-progress-tracker__item--input .smf-progress-tracker__item__number,
[data-screen=invalid] .smf-progress-tracker__item--input .smf-progress-tracker__item__number {
  background-color: var(--e-global-color-primary)!important;
}

@media screen and (max-width:1024px){
 .header_nav_sp .hfe-nav-menu__toggle{
  margin: 0 0 0 auto!important;}
  .header_nav_sp .hfe-nav-menu-icon{
   position: absolute;
   top: -2.75em;
   right: 0.5em;
 }
}

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

  /* -------------------------------製品詳細ページ */
  .product-detailSect .flex{
    flex-direction: column;
    margin: 2rem 0;
  }
  .product-ImageArea,.product-introArea{
    width: 100%;
  }
}

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

  /* ------------------------------インフォメーション */
.home__infoGrid .post .postLink{
  width: 100%;
}

  .archive__wrap article.post{
    flex-direction: column;
  }
  .postCat{
    display: inline-block;
  }

  /* ------------------------------学会発表詳細 */
  .report-detailList .flex{
    flex-direction: column;
    align-items: flex-start;
  }
  .report-detailList dt, .report-detailList dd,.report-detail a.report-pdf{
    font-size: 16px;
  }
  .report-detailList dt{
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--e-global-color-primary);
    border-right: none;
  }
  .report-detailList dd{
    width: 100%;margin-left: 0;
  }

  /* --------------------------------製品一覧 */
  .product-list{
    flex-direction: column;
  }
  .product-list article{
    width: 100%;
  }
  .product-classification-title{
    font-size: 24px;
  }
  /* ------------------------------製品詳細ページ */
  .product-itemTitle{
    font-size: 1.25em;
  }
  .product-wysiwygArea table tr td:first-child, .product-wysiwygArea table tr td:last-child{
    display: block;
    width: 100%!important;
  }
  .product-wysiwygArea table tr, .product-wysiwygArea table tr td{
    height: auto!important;
  }
   .product-wysiwygArea table tbody>tr:nth-child(odd)>td:last-child,.product-wysiwygArea table tbody>tr:nth-child(even)>td:last-child{
    background-color: #fff;
  }
  .product-wysiwygArea table tbody>tr:nth-child(even)>td:first-child, .product-wysiwygArea table tbody>tr:nth-child(odd)>td:first-child{
    background-color: #f6fcff;
  }
  .product-itemTitle--wysiwyg_spNone{
    background-color: transparent;
    padding: 0.5em 0;
  }

  /* --------------------- */
  .smf-action .smf-button-control__control{
    padding: 0.5em 1em;
  }

  .footer__btnWrap{
    max-width: 480px;
  }

 }

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

/* ------------------------------インフォメーション一覧 */
body:not([class*=elementor-page-]) .archive__main{
  padding: 0 1em;
}

/* ------------------------------学会発表詳細 */
 body.single-post .site-main{
  padding: 0 1rem;
}
.single-title{
  margin-top: 5rem;
  font-size: 22px;
}
.report-detailList .flex{
  margin-bottom: 1rem;
}

/* ------------------------------製品詳細ページ */
.single_product__wrap{
  padding: 0 6px;
}
/* -----------------------------form */
.form-area{
  padding: 0 6px;
}
.smf-form--simple-table .smf-item__col--label{
  padding-bottom: 0.5em;
  padding-left: 0;
}
}