@charset "UTF-8";

::selection {
  color: #fff;
  background-color: #2c3033c7;
}
a, 
button, 
[role="button"] {
  -webkit-tap-highlight-color: transparent;
}

body.nav-open {
  position: fixed;
  width: 100%;
}

/* ① body自体は「透明度（opacity）」の滑らかな変化だけを担当させる */
body {
  opacity: 0;
  transition: opacity 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}

/* ページ読み込み完了時：bodyを表示 */
body.is-loaded {
  opacity: 1;
}

/* 次のページへ行くとき：bodyを非表示に */
body.is-fading {
  opacity: 0;
}


/* ────────────────────────────────────────────────────────
   ② 他の要素を壊さないための「すりガラスの膜」（ここが重要！）
──────────────────────────────────────────────────────── */
body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 99999; /* ページ内の何よりも手前に配置 */
  background: rgba(255, 255, 255, 0.01); /* ほんの少しだけ色を乗せる */
  
  /* 初期状態（ページを開いた瞬間）のぼかし */
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  
  /* ぼかしの変化を滑らかにする設定 */
  transition: backdrop-filter 0.8s cubic-bezier(0.25, 1, 0.5, 1),
              -webkit-backdrop-filter 0.8s cubic-bezier(0.25, 1, 0.5, 1);
              
  /* 膜のせいで後ろのボタンがクリックできなくなるのを防ぐ */
  pointer-events: none; 
}

/* ページ読み込み完了時：すりガラスの霧を晴らす（0pxにする） */
body.is-loaded::before {
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
}

/* 次のページへ行くとき：ダイナミックに大袈裟にぼかす */
body.is-fading::before {
  backdrop-filter: blur(100px);
  -webkit-backdrop-filter: blur(100px);
}

/* ========================
 * common
 * ======================== */
body{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  line-height: 1;
  color: #202124;
  font-feature-settings: "palt";
}

.garamond{
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.outer{
  margin: 0 auto;
  max-width: 1700px;
  width: 100%;
  padding: 0 50px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  position: relative;
}

.inner{
  margin: 0 auto;
  max-width: 1380px;
  width: 100%;
  padding: 0 50px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  position: relative;
}
.box{
  display: flex;
  flex-direction: column;
  margin: 0 auto;
}

.standard-btn{
  width: 360px;
  height: 62px;
  padding-top: 2px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 0;
  box-sizing: border-box;
  font-size: 13px;
  position: relative;
  margin: 0 auto;
  background-color: transparent;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  text-decoration: none !important;
  letter-spacing: 1px;
}

.standard-btn:after{
  content: "";
  width: 20px;
  height: 1px;
  display: block;
  right: -10px;
  position: absolute;
  margin-top: 2px
}

.btn-wh{
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #fff
}

.btn-wh:after{
  background-color: rgba(255, 255, 255, 0.3);
}

.btn-bk{
  border: 1px solid rgba(60, 64, 67, 0.2);
  color: #3c4043
}

.btn-bk:after{
  background-color: rgba(60, 64, 67, 0.2);
}

a{
  transition: 0.2s;
  opacity: 1;
  color: #202124;
  text-decoration: none;
}

a:hover{
  opacity: 0.6
}

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

/*a:hover {
  animation: blur-and-back 0.6s ease-in-out forwards;
}

@keyframes blur-and-back {
  0% {
    filter: blur(0px);
  }
  50% {
    filter: blur(6px); 
  }
  100% {
    filter: blur(0px); 
  }
}*/

a.ci:hover {
  opacity: 1 !important;
  animation: unset;
}

.parens:before{
  content: "( ";
}
.parens:after{
  content: " )";
}
.label{
  font-size: 15px;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  position: relative;
  z-index: 2;
  color: #555;
  letter-spacing: 0.5px;
}
.label.wh{
  color: #fff
}


section{
  position: relative;
}

.swiper-navigation-icon{
  display: none;
}

main{
  padding-bottom: 200px
}

body.second .inner{
  max-width: 1180px;
  width: 100%;
  padding: 0 50px;
}

body.second .eye-c{
  margin-bottom: 70px;
}

body.second .eye-c.slider{
  margin-bottom: 90px;
}
body.second .eye-c .top-swiper,
body.second .eye-c img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
body.second .eye-c .thumbs-swiper .swiper-wrapper{
  display: flex;
  gap:10px;
  justify-content: center;
}

body.second .eye-c .top-swiper {
  width: 100%;
  margin-bottom: 20px;
}
/* 1. JS起動前は、1枚目のスライド以外を完全に非表示にする */
body.second .eye-c .top-swiper:not(.swiper-initialized) .swiper-slide:not(:first-child) {
    display: none !important;
}

/* 2. フェード特有のチラつき防止：JS起動前は2枚目以降の透明度を0にしておく */
body.second .eye-c .top-swiper:not(.swiper-initialized) .swiper-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
}

/* 3. 1枚目だけは最初から見える状態にしておく */
body.second .eye-c .top-swiper:not(.swiper-initialized) .swiper-slide:first-child {
    position: relative;
    opacity: 1;
}

body.second .eye-c .thumbs-swiper {
  height: 60px;
}

body.second .eye-c .thumbs-swiper .swiper-slide {
  width: 90px !important;
  height: 60px;
  cursor: pointer;
}

body.second .eye-c .thumbs-swiper .swiper-slide-thumb-active {
  opacity: 0.6;
}

body.second .outline{
  display: flex;
  justify-content: space-between;
}

body.second .outline>dt{
  max-width: 490px;
  width: 100%;
  line-height: 1;
}

body.second .outline>dd{
  max-width: 540px;
  width: 100%;
}

body.second .outline .name{
  font-size: 28px;
  letter-spacing: 0.8px;
  margin-bottom: 30px;
  font-weight: 300;
}

body.second.products .outline .name{
  font-family: "EB Garamond", "Noto Serif JP", serif;
  line-height: 1.4;
}

body.second .outline .sub-name{
  font-size: 14px;
}
body.second .outline .introduction{
  font-size: 16px;
  text-align: justify;
  line-height: 30px;
  letter-spacing: 0.8px;
}
body.second .outline .introduction p+p{
  margin-top: 30px;
}

body.second .outline .introduction a{
  text-decoration: underline;
}

body.second .outline .detail{
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  line-height: 24px;
  /*border-top: 1px solid rgba(60, 64, 67, 0.08);*/
  margin-top: 130px;
}
body.second .outline .detail dt,
body.second .outline .detail dd{
  padding: 28px 0;
  border-top: 1px solid rgba(60, 64, 67, 0.08);
}
body.second .outline .detail dt{
  width: 110px;
  padding-right: 30px;
  letter-spacing: -0.2px;
}
body.second .outline .detail dd{
  width: 400px;
}

body.second .outline .detail dd div.cat-outer{
  width: 100%;
  display: flex;
}

body.second .outline .detail .txt-area{
  text-align: justify;
}

body.second .outline .detail .txt-area p+p{
  margin-top: 30px;
}
body.second .outline .detail a{
  text-decoration: underline;
}

body.second .others{
  margin-top: 160px;
}
body.second .others .caption{
  font-size: 20px;
  margin-bottom: 20px;
}

body.second .others ul{
  display: flex;
  gap: 0 20px;
  flex-wrap: wrap;
}

body.second .others ul li{
  width: calc(50% - 10px);
  border-top: 1px solid rgba(60, 64, 67, 0.08);
  /*border-bottom: 1px solid rgba(60, 64, 67, 0.08);*/
}

body.second .others ul li a{
  padding: 20px 0;
  display: flex;
  gap: 30px;
  align-items: center;
  position: relative;
}

body.second .others ul li a img{
  background-color: #000;
  width: 150px;
  height: 100px;
}

body.second .others ul li a h5{
  font-size: 16px;
  margin-bottom: 20px;
}

body.second .others ul li a p{
  font-size: 14px;
}

body.second .others ul li a:after{
  content: "";
  position: absolute;
  display: block;
  width: 18px;
  height: 18px;
  right: 20px;
  background: url(/wp2/wp-content/themes/pp/img/icon_arrow.svg) no-repeat center / cover;
}

body.second .center-section .section-caption{
  font-size: 28px;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  text-align: center;
  line-height: 1;
  margin-bottom: 52px;
  letter-spacing: 0.3px;
}

body.second .center-section .section-description{
  text-align: center;
  font-size: 16px;
  line-height: 32px;
  letter-spacing: 0.3px;
}

body.second .center-section .section-caption+.section-description{
  margin-top: -8px;
}

body.second .center-section .detail-area div{
  display: flex;
  border-top: 0.5px solid #e0e0e0;
  padding: 40px 0px;
  flex-wrap: wrap;
}

body.second .center-section .detail-area div:last-child{
  padding-bottom: 0;
}

body.second .center-section .detail-area div>dt{
  width: 280px;
}

body.second .center-section .detail-area div>dd{
  width: calc(100% - 280px);
}

body.second .center-section .detail-area .label{
  font-size: 14px;
}

body.second .center-section .detail-information{
  display: flex;
  flex-wrap: wrap;
  font-size: 16px;
  line-height: 32px;
  gap: 0 30px;
}

body.second .center-section .detail-information>dt{
  width: 80px;
}

body.second .center-section .detail-information>dd{
  width: calc(100% - 110px);
}

body.second .detail-list{
  text-indent: -16px;
  padding-left: 16px;
  font-size: 16px;
  line-height: 32px;
}

body.second .notice{
  font-size: 14px;
  text-indent: -14px;
  padding-left: 14px;
  line-height: 28px;
  margin-top: 20px;
}

body.second .center-section+.center-section{
  margin-top: 200px;
}

body.second .guidance-link{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border: 0.5px solid #e0e0e0;
  background-color: #fafafa;
  height: 340px;
  margin-top: 60px;
}

body.second .guidance-link dd{
  border-left: 0.5px solid #e0e0e0;
}

body.second .guidance-link a{
  display: flex;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

body.second .guidance-link a h4{
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 28px;
  line-height: 1;
  letter-spacing: 0.3px;
  margin-bottom: 24px;
}

body.second .guidance-link a .guidance-caption{
  font-size: 14px;
  letter-spacing: 0.3px;
  margin-bottom: 40px;
}

body.second .guidance-link a .standard-btn{
  background-color: #fff;
  width: 300px;
  font-size: 14px;
}




body.second .form-link{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border: 0.5px solid #e0e0e0;
  background-color: #fafafa;
  /*margin-top: 60px;*/
  padding-bottom: 80px;
}

body.second .form-link dd{
  border-left: 0.5px solid #e0e0e0;
}

body.second .form-link .outer{
  display: flex;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  height: 400px;
  padding-top: 90px;
}

body.second .form-link .outer h4{
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 28px;
  line-height: 1;
  letter-spacing: 0.3px;
  margin-bottom: 24px;
}

body.second .form-link .outer .form-caption{
  font-size: 14px;
  letter-spacing: 0.3px;
  margin-bottom: 40px;
}

body.second .form-link .outer .standard-btn{
  background-color: #fff;
  width: 300px;
  font-size: 14px;
  display: inline-flex;
}

body.second .form-link .outer .standard-btn+.standard-btn{
  margin-top: 20px;
}

body.second .form-link .tel-box{
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}
body.second .form-link .tel-box h5{
  font-size: 14px;
  line-height: 1;
  padding-bottom: 6px;
  border-bottom: 1px solid #202124;
  display: inline;
  margin-bottom: 22px;
}

body.second .form-link .tel-box a{
  font-size: 28px;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  margin-bottom: 26px;
}

body.second .form-link .tel-box .note{
  font-size: 14px;
}

body.second .form-link .tel-box .note br{
  display: none;
}


/* ========================
 * header
 * ======================== */
header .outer{
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 50px;
  flex-direction: row;
}

header h1{
  display: flex;
}

header h1 img{
  height: 90px;
  width: auto;
}

header .nav{
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  gap:70px;
}

header .nav,
header .nav .menu{
  display: flex;
}

header .nav .cat{
  margin-right: 30px
}

header .nav .menu ul{
  display: grid;
  gap: 20px 40px;
  text-align: left;
  grid-auto-flow: column;
  grid-template-rows: repeat(3, auto);
}


header .sns{
  display: flex;
  gap: 20px;
}

header .sns li{
  display: flex;
  justify-content: center;
  align-items: center;
}

header .sns img{
  width: 16px;
}

header .sns li.nt img{
  width: 13px
}

/*body.second main{
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
}*/

body.second #head{
  max-width: 1080px;
  margin: 240px auto 100px;
  padding: 0 50px;
}

body.second #head .head-bar{
  display: flex;
  justify-content: space-between;
}

body.second #head .main-cap{
  display: flex;
  flex-direction: column;
  font-size: 48px;
  letter-spacing: 2px;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  margin-top: -6px;
}
body.second #head .main-cap.and-sub{
  flex-direction: row;
  flex-wrap: wrap;
  width: 50%;
}
body.second #head .main-cap.and-sub b{
  font-size: 24px;
  margin-left: 22px;
  margin-top: 20px;
}
body.second #head .main-cap span{
  font-size: 16px;
  margin-top: 36px;
}
body.second #head #breadcrumbs{
  font-size: 12px;
  line-height: 1.6;
  margin-top: -4px;
}

body.second #head #breadcrumbs b{
  margin: 0 10px;
}

body.second #head #breadcrumbs .breadcrumb_last {
    display: inline-block;    /* 横幅や省略の効力を有効にする */
    max-width: 400px;         /* ★省略させたい最大の横幅（環境に合わせて調整してください） */
    vertical-align: bottom;   /* 周りの文字との上下の並びを揃える */
    overflow: hidden;         /* はみ出た部分を非表示にする */
    white-space: nowrap;      /* 文字を途中で改行させず1行にする */
    text-overflow: ellipsis;  /* はみ出た末尾を「...」にする */
}

body.second #content .top-head{
  font-size: 36px;
  text-align: center;
  letter-spacing: 2px;
  margin-bottom: 100px;

  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
body.second #content .head_e-j{
  display: flex;
  flex-direction: column;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

body.second #content .top-head.head_e-j span{
  font-size: 16px;
  margin-top: 30px;
}

body.second #head .main-cap span,
body.second #content .head_e-j span,
body.second #content .top-head span{
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.intro-txt,
.txt-box{
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.3px;
  text-align: justify;
}
.txt-box .adjust-br{
  display: none;
}

.intro-txt{
  margin-bottom: 110px;
}

.intro-txt p+p,
.txt-box p+p,
.txt-box p+ul{
  margin-top: 40px;
}

#services-consumer .txt-box p+ul.indent{
  margin-top: 0px;
}

.txt-box ul.indent{
  text-indent: -16px;
  padding-left: 16px;
}

.txt-head{
  font-size: 20px;
  padding-bottom: 20px;
  border-bottom: 0.5px solid #E0E0E0;
  line-height: 1;
  margin-bottom: 40px;
}

.txt-box p{
  text-align: justify;
}

.txt-box a{
  text-decoration: underline;
}

.txt-box+.txt-head{
  margin-top: 100px;
}


#head .intro-txt{
  margin-top: 100px;
}

.intro-txt a{
  text-decoration: underline;
}

.tag-bar,
.tag-bar ul,
.tag-bar div{
  display: flex;
  align-items: center;
}

.tag-bar{
  margin-top: 100px;
}

.tag-bar .all{
  font-size: 18px;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

.tag-bar .all+div .cat-name{
  margin-left: 40px;
}

.tag-bar .all+div ul{
  margin-left: 20px;
}

.tag-bar .cat-name{
  font-size: 13px;
}

.tag-bar ul{
  margin-left: 15px;
  gap: 10px;
}

.tag-bar ul li a{
  display: flex;
  width: 90px;
  height: 40px;
  border-radius: 40px;
  background-color: #f5f5f5;
  font-size: 12px;
  justify-content: center;
  align-items: center;
}
.tag-bar ul li a.current{
  background-color: #3c4043;
  color: #fff;
}

/*#news .tag-bar ul li a{
  width: auto;
}*/

.tag-bar div+div{
  margin-left: 35px;
}

body.second .list-inner{
  max-width: 1380px;
}

.list-ui{
  width: 100%;
  display: flex;
  gap: 40px 20px;
  flex-wrap: wrap;
}

.list-ui li{
  width: calc(50% - 10px)
}

.list-ui li img{
  width: 100%;
  height: auto;
}

.list-ui li .names{
  font-size: 13px;
  margin-top: 10px;
  text-align: right;
}

.list-ui.products-list li .names{
  font-family: "EB Garamond", "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

.outro{
  margin: 110px auto 0;
  display: flex;
  padding: 30px;
  border: 0.5px solid #e0e0e0;
  align-items: center;
  box-sizing: border-box;
  max-width: 1080px;
  width: 100%;
}

.outro img{
  width: 240px;
}

.outro div{
  width: 730px;
  margin-left: 40px;
}

.outro div h4{
  font-size: 20px;
  font-family: "EB Garamond", "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    margin-bottom: 30px;
    letter-spacing: 1.3px;
}

.outro div p{
  text-align: justify;
  font-size: 14px;
  line-height: 28px;
}

.outro div p a{
  text-decoration: underline;
}


.box-link{
  max-width: 1080px;
  width: 100%;
  border-bottom: 0.5px solid #e0e0e0;
  border-left: 0.5px solid #e0e0e0;
  border-right: 0.5px solid #e0e0e0;
  box-sizing: border-box;
  font-size: 20px;
}

.box-link li,
.faq-inner dt,
.faq-inner dd .inbox{
  border-top: 0.5px solid #e0e0e0;
}

.faq-inner dt{

        backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: #ffffffa3; 
}


.box-link li a,
.faq-inner dt h5,
.faq-inner dd{
  display: flex;
  align-items: center;
  padding: 30px;
  position: relative;
}

.faq-inner dd{
  font-size: 16px;
  background-color: #fafafa;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.faq-inner dd .inbox{
  padding: 30px;
  margin: 0;
}

.faq-inner dd .inbox strong{
  font-weight: 500;
}

.faq-inner dd .inbox a{
  text-decoration: underline;
  font-weight: 500;
}

.faq-inner dd .inbox p+p{
  margin-top: 30px;
}

.faq-inner dt h5 {
  cursor: pointer;
  padding-right: 50px;
}

.box-link li a:after,
.faq-inner dt h5:after{
  content: "";
  position: absolute;
  display: block;
  width: 18px;
  height: 18px;
  right: 20px;
  background: url(/wp2/wp-content/themes/pp/img/icon_accordion.svg) no-repeat center / cover;
}

.faq-inner dt h5:after{
  transform: rotate(90deg);
  transition: .2s;
}

.faq-inner dt.is-active h5:after{
  transform: rotate(-90deg);
}

h3.caption{
  font-size: 28px;
  line-height: 1;
  margin-bottom: 70px;
}

.faq-outer{
  display: flex;
}

.faq-outer+.faq-outer{
  margin-top: 30px;
}

.faq-outer > dt{
  width: 280px;
  font-size: 14px;
  line-height: 1;
  padding-top: 30px;
  border-top: 0.5px solid #e0e0e0;
}

.faq-outer > dd{
  width: calc(100% - 310px);
  margin-left: 30px;
}

.faq-inner{
  width: 100%;
  border-bottom: 0.5px solid #e0e0e0;
  border-left: 0.5px solid #e0e0e0;
  border-right: 0.5px solid #e0e0e0;
  box-sizing: border-box;
  font-size: 18px;
  line-height: 32px;
  display: flex;
  flex-direction: column;
}

.pagination-area {
    text-align: center;
    margin-top: 110px;
}

.pagination-area .nav-links {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.pagination-area .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 40px;
    box-sizing: border-box;
    color: #000;
    text-decoration: none;
    font-size: 13px;
    transition: all 0.2s ease;
}

.pagination-area a.page-numbers:not(.prev):not(.next) {
    height: 40px;
    width: 40px;
    padding: 0;
    color: #333;
    background-color: #f9f9f9;
    border: 0.5px solid #e0e0e0;
    border-radius: 2px;
}

.pagination-area .page-numbers.current {
    height: 40px;
    width: 40px;
    padding: 0;
    background-color: #e0e0e0;
    color: #333;
    border: 0.5px solid #e0e0e0;
    border-radius: 2px;
}

.pagination-area .page-numbers.prev,
.pagination-area .page-numbers.next {
    font-size: 14px;
    letter-spacing: 0.05em;
    position: relative;
}

.pagination-area .page-numbers.prev:before,
.pagination-area .page-numbers.next:before{
  content: "";
  position: absolute;
  display: block;
  width: 18px;
  height: 18px;
  background: url(/wp2/wp-content/themes/pp/img/icon_arrow.svg) no-repeat center / cover;
  margin-top: 2px;
}

.pagination-area .page-numbers.prev.disabled:before,
.pagination-area .page-numbers.next.disabled:before {
    background: url(/wp2/wp-content/themes/pp/img/icon_arrow_disable.svg) no-repeat center / cover;
}

.pagination-area .page-numbers.prev:before{
  left: -26px;
  transform: scaleX(-1);
}

.pagination-area .page-numbers.next:before{
  right: -26px;
}

.pagination-area .page-numbers.prev {
    margin-right: 20px;
}

.pagination-area .page-numbers.next {
    margin-left: 20px;
}

.pagination-area .page-numbers .arrow {
    font-size: 20px;
    color: #b5b5b5;
    display: inline-block;
}
.pagination-area .page-numbers.prev .arrow {
    margin-right: 8px;
}
.pagination-area .page-numbers.next .arrow {
    margin-left: 8px;
}

.pagination-area .page-numbers.prev.disabled,
.pagination-area .page-numbers.next.disabled {
    color: #ccc;
    cursor: not-allowed;
}

.pagination-area a.page-numbers:hover {
    opacity: 0.6;
}

.reference a{
  text-decoration: underline;
}

.forms {
  box-sizing: border-box;
  width: 100%;
  border-right: 0.5px solid #E0E0E0;
  border-bottom: 0.5px solid #E0E0E0;
}

.forms tr{
  display: flex;
}

.forms th,.forms td{
  box-sizing: border-box;
  padding: 30px 25px;
  border-left: 0.5px solid #E0E0E0;
  border-top: 0.5px solid #E0E0E0;
}

.forms td.lil{
  padding: 20px 25px;
}

.mw_wp_form_confirm .forms td.lil{
  padding: 30px 25px;
}

.forms th{
  width: 280px;
  height: auto;
  background-color: #FAFAFA;
  display: flex;
  flex-wrap: wrap;
}

.forms th.required:before{
  content: "必須";
  display: flex;
  color: #fff;
  background-color: #3C4043;
  font-size: 12px;
  width: 40px;
  height: 20px;
  justify-content: center;
  align-items: center;
}

.forms th.optional:before{
  content: "任意";
  display: flex;
  color: #3C4043;
  background-color: #fff;
  box-sizing: border-box;
  border: 0.5px solid #3C4043;
  font-size: 12px;
  width: 40px;
  height: 20px;
  justify-content: center;
  align-items: center;
}

.forms th p{
  width: calc(100% - 55px);
  text-align: left;
  margin-left: 15px;
  text-align: justify;
  letter-spacing: -0.2px;
    line-height: 24px;
    margin-top: -3px;
}

.forms td{
  width: calc(100% - 280px);
}

.forms td input[type="text"]{
  width: 100%;
  height: 40px;
}

.forms td textarea{
  width: 100%;
  min-height: 300px;
}

.forms td input[type="text"],
.forms td textarea{
  background-color: #FCFCFC;
  border: 0.5px solid #E0E0E0;
  padding: 5px 10px;
  box-sizing: border-box;
}

.forms td .min{
  font-size: 14px;
  margin-bottom: 24px;
}

.grid-set{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap:20px;
}

.mw_wp_form .grid-set .horizontal-item + .horizontal-item{
  margin-left: unset;
}

input[type="checkbox"] {
    accent-color: #1F1F1F;
}

input[type="radio"] {
    accent-color: #5F6368;
}

.grid-set {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 24px;
  align-items: center;
}

.grid-set .mwform-radio-field:nth-of-type(11),
.grid-set .mwform-radio-field:nth-of-type(12),
#contact-estimate .grid-set.recognized .mwform-radio-field:nth-of-type(5){
  grid-column: 1;
}

.grid-set .mwform-radio-field:nth-of-type(12),
.grid-set #other-input-wrap{
  grid-row: 7;  
}

#contact-estimate .grid-set.recognized .mwform-radio-field:nth-of-type(6),
#contact-estimate .grid-set.recognized #other-input-wrap   {
  grid-row: 4;  
}

.grid-set #other-input-wrap {
  grid-column: 2;
  width: 100%;
}

#contact-estimate .grid-set.recognized .mwform-radio-field:nth-of-type(5){
  grid-column: 1 / -1;
}

.grid-set #recognized_other_input {
  width: calc(200% + 8px - 80px) !important; 
  margin-left: calc(-100% - 8px + 80px); 
  display: block;
}

.mwform-checkbox-field label, .mwform-radio-field label{
  display: flex;
  align-items: center;
}

.mwform-checkbox-field input, .mwform-radio-field input{
  margin-right: 10px !important;
  margin-top: 6px;
}


.mw_wp_form .select-wrapper {
  position: relative;
  display: inline-block;
  width: auto;
}

.select-wrapper select {
  width: 150px;
  padding: 8px 40px 8px 16px; 
  font-size: 16px;
  color: #333333;
  background-color: #FCFCFC;
  
  border: 0.5px solid #E0E0E0;
  border-radius: 4px; 
  
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  
  cursor: pointer;
  box-sizing: border-box;


  font-family: "Noto Serif JP", serif;
  font-size: 14px;
}


.select-wrapper::after {
  content: "";
  position: absolute;
  right: 18px;
  /*top: calc(50% - 6px);*/
  top: 12px;
  width: 8px;
  height: 8px; 
  
  border-right: 2px solid #555555; 
  border-bottom: 2px solid #555555;
  transform: rotate(45deg);
  
  pointer-events: none; 
}

.policy{
display: flex;
    margin-top: 70px;
    flex-direction: column;
    align-items: center;
}

.policy-label{
  display: flex;
  align-items: center;
}

#submit_button{
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 90px auto 0;
  width: 360px;
  height: 62px;
  position: relative;
}

.policy-label a{
  text-decoration: underline;
}


#submit_button input[type="submit"]{
  width: 360px;
  height: 62px;
  padding-top: 2px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 0;
  box-sizing: border-box;
  font-size: 13px;
  position: relative;
  margin: 0 auto;
  background-color: transparent;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  border: 1px solid rgba(60, 64, 67, 0.2);
  color: #3c4043;
  transition: .2s;
  opacity: 1;
}

#submit_button input[type="submit"]:hover{
  opacity: 0.6;
}

#submit_button:after{
  content: "";
  width: 20px;
  height: 1px;
  display: block;
  right: -10px;
  position: absolute;
  margin-top: 2px;
  background-color: rgba(60, 64, 67, 0.2);
}

.mw_wp_form h3.caps{
  font-size: 24px;
  margin-bottom: 30px;
}

.mw_wp_form table+h3.caps{
  margin-top: 70px;
}

.mw_wp_form_confirm .intro-txt,
.mw_wp_form_complete .intro-txt{
  display: none;
}

.mw_wp_form_complete .intro-txt.thanks{
  display: block;
}

select[name="area"] option[value=""] {
  display: none; /* ドロップダウンを開いたときは非表示に */
}

select[name="area"]:invalid,
select[name="area"]:has(option[value=""]:checked) {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="20"><text x="5" y="15" fill="%23666666" font-size="14" font-family="sans-serif">選択ください</text></svg>');
  background-repeat: no-repeat;
  background-position: left 10px center;
}

select[name="area"]:valid,
select[name="area"]:not(:has(option[value=""]:checked)) {
  background-image: none;
}

.mw_wp_form .error{
  grid-column: 1;
  margin-top: 10px;
}

.mw_wp_form_confirm .min,
.mw_wp_form_confirm .policy,
.mw_wp_form_confirm .select-wrapper::after{
  display: none;
}

.mw_wp_form_confirm .grid-set{
  display: block;
}

/*.mw_wp_form_confirm #other-input-wrap::before{
  content: "［";
}

.mw_wp_form_confirm #other-input-wrap::after{
  content: "］";
}*/

.mw_wp_form_confirm #submit_button{
  flex-direction: column-reverse;
  height: 160px;
  gap:10px;
}

.mw_wp_form_confirm #submit_button:after{
  top: 52px;
}

.mw_wp_form_confirm #submit_button input.back[type="submit"]{
width: 200px;
    background-color: #FAFAFA;
    height: 40px;
}

/* ========================
 * footer
 * ======================== */
 footer{
  background-color: #3c4043;
  color: #fff;
  padding-top: 140px
 }

 footer .inner{
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

footer h1{
  display: flex;
}

footer h1 img{
  height: 90px;
  width: auto;
}

footer .nav{
  font-size: 13px;
  gap:70px;
}

footer .nav,
footer .nav .menu{
  display: flex;
}

footer .nav .cat{
  margin-right: 30px
}

footer a{
  color: #fff
}

footer .nav .menu ul{
  display: grid;
  gap: 20px 40px;
  text-align: left;
  grid-auto-flow: column;
  grid-template-rows: repeat(3, auto);
}

footer .bottom{
  width: 100%;
  margin-top: 310px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  display: flex;
  justify-content: space-between;
  padding-top: 36px;
  padding-bottom: 50px
}

footer .bottom ul{
  display: flex;
  gap: 20px;
  font-size: 13px;
}

footer .bottom .copyright{
  font-size: 12px
}

.menu-button,
.global-nav{
  display: none;
}

#home #gallery .swiper-slide {
  transition: filter 0.6s ease, opacity 0.6s ease; 
}

.swiper-slide.is-dragging {
  filter: blur(6px) !important;
  opacity: 0.6 !important; 
}

body.second .center-section .detail-information>dd br{
  display: none;
}

@media(max-width: 768px){
body{
  overflow-x: hidden;
}
a[href^="tel:"] {
    pointer-events: auto;
    cursor: pointer; 
  }

.inner{
  padding: 0 20px;
  box-sizing: border-box;
}

header .sns img{
  width: 20px;
}

header .sns li.nt img{
  width: 18px;
}

  header .outer{
    padding-top: 20px;
  }

  header h1 img{
    width: 120px;
    height: auto;
  }

  .outer{
    padding: 0 20px;
  }

  header .nav{
    display: none;
  }

  header .sns{
    position: absolute;
    right: 130px;
    margin-top: 10px;
  }

/* --- メニュー画面全体のスタイル --- */

.menu-button {
display: inline-flex;
align-items: center;
justify-content: flex-end;
padding: 0 16px 0 0;
border: none;
cursor: pointer;
background-color: #2c3033;
height: 40px;
width: 110px;
border-radius: 40px 0 0 40px;
position: fixed;
right: 0;
z-index: 999;

/* ======= 【対策追加】不具合防止 ======= */
transform: translateZ(0);
will-change: transform;
}

/* 「menu」テキストのスタイル */
.menu-text {
  color: #ffffff;
  font-family: "EB Garamond", "Noto Serif JP", serif; /* 画像のようなセリフ体（明朝体）風に */
  font-size: 12px;
  margin-top: -3px;
  margin-right: 18px;
}

/* 2本線のアイコン（ハンバーガーメニュー） */
.hamburger-icon {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 30px;
  height: 5px; /* 線の間隔を狭めにするために低めの高さに設定 */
}

.hamburger-icon span {
  display: block;
  width: 100%;
  height: 1px; /* 線の太さ */
  background-color: #ffffff; /* 線の色 */
}

.global-nav {
  position: fixed;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background-color: #383c3e; /* 画像の背景色に近いダークグレー */
  color: #ffffff;
  font-family: "EB Garamond", "Noto Serif JP", serif;
  z-index: 9999;
  padding: 70px 40px 0 40px;
  box-sizing: border-box;
  overflow-y: auto; /* コンテンツが多い場合のスクロール担保 */

  /* 初期状態は非表示（透明 & クリック不可） */
  opacity: 0;
  backdrop-filter: blur(10px);
  filter: blur(10px);
  pointer-events: none;
  transition: opacity 0.4s ease, filter 0.4s ease;
}

/* JSで body に .nav-open がついた時のスタイル */
body.nav-open .global-nav {
  opacity: 1;
  filter: blur(0px);
  pointer-events: auto;
}

/* --- 閉じるボタン (close) --- */
.close-button {
  top: 20px;
  display: inline-flex;
  align-items: center;
          justify-content: flex-end;
          padding: 0 16px 0 0;
  border: none;
  cursor: pointer;
  
  /* サイズと色（画像に合わせ変えてみてください） */
  background-color: #636669; /* 暗いグレー */
  height: 40px;
  width: 110px; /* 好みの幅に調整してください */
  
  /* 形状のポイント：左側だけを丸くする */
  border-radius: 40px 0 0 40px;

  position: absolute;
  right: 0;
}

.close-text {
  color: #ffffff;
  font-family: "EB Garamond", "Noto Serif JP", serif; /* 画像のようなセリフ体（明朝体）風に */
  font-size: 11px;
  margin-top: -3px;
  margin-right: 18px;
}

/* ×アイコン（疑似要素で2本の線をクロスさせる） */
.cross-icon {
  position: relative;
  width: 30px;
  height: 20px;
}
.cross-icon::before,
.cross-icon::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #ffffff;
}
.cross-icon::before { transform: rotate(15deg); }
.cross-icon::after { transform: rotate(-15deg); }




/* --- レイアウト用のスタイル --- */
.nav-inner {
  max-width: 600px;
  margin: 0 auto;
}

.nav-section {
  margin-bottom: 40px;
}

.nav-section .parens{
  margin-bottom: 20px;
  font-size: 16px;
}

.section-title {
  font-size: 14px;
  color: #aaaaaa;
  margin-bottom: 20px;
}

/* 2段組のグリッドレイアウト */
.nav-grid {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr; /* 綺麗に2列に分割 */
  gap: 20px 40px;
}

.nav-grid li {
  border-bottom: 0.5px solid #151515; /* 下線 */
  padding-bottom: 10px;
}

.nav-grid a {
  color: #ffffff;
  text-decoration: none;
  font-size: 14px;
  display: block;
}

/* --- フッターエリア（下部リンク & SNS） --- */
.nav-footer {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  font-size: 12px;
}

.nav-footer ul{
  display: flex;
  flex-direction: column;
    gap: 20px;
}

.nav-footer a{
  color: #fff;
}


.footer-links {
  list-style: none;
  padding: 0;
  margin: 0;
}
.footer-links li {
  margin-bottom: 15px;
}
.footer-links a {
  color: #ffffff;
  text-decoration: none;
  font-size: 14px;
}

.nav-footer ul.sns-icons {
  display: flex;
  gap: 15px;
  flex-direction: row;
  gap: 10px;
}

.nav-footer ul.sns-icons li{
  width: 40px;
  height: 40px;
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
}

.nav-footer ul.sns-icons li img{
  width: 18px;
}

  .label{
    font-size: 12px;
  }

  .standard-btn{
    width: 100%;
  }

  main{
    padding-bottom: 120px;
  }

  footer{
    padding-top: 100px;
  }

  footer h1 img{
            height: auto;
        width: 120px;
  }

  footer .bottom .copyright{
        font-size: 8px;
        text-align: center;
        width: 100%;
        letter-spacing: 1px;
  }

  footer .inner{
    justify-content: center;
  }

  footer .bottom{
        border: unset;
        margin-top: 80px;
        padding-top: unset;
        padding-bottom: 20px;
  }

  footer .nav,
  footer .bottom ul{
    display: none;
  }

  body.second #head{
    margin: 80px auto;
    padding: 0 20px;
  }

  body.second #head .head-bar{
    flex-direction: column-reverse;
  }

  body.second #head #breadcrumbs{
    margin-bottom: 50px;
    font-size: 11px;
  }
  body.second #head #breadcrumbs .breadcrumb_last{
    max-width: 170px;
  }
  body.news-template-default.second #head #breadcrumbs .breadcrumb_last{
    max-width: 140px;
  }
  body.second #head .main-cap{
    font-size: 38px;
    letter-spacing: -0.2px;
  }

  body.second #head .main-cap span{
    margin-top: 14px;
    letter-spacing: 1px;
    font-size: 14px;
    font-weight: 500;
  }
  body.second .inner{
    padding: 0 30px;
  }
  body.second #content .top-head{
    font-size: 30px;
    margin-bottom: 60px;
  }
  body.second #content .top-head.head_e-j span{
        font-size: 14px;
    margin-top: 12px;
  }
  #head .intro-txt{
    margin-top: 60px;
  }
  .intro-txt{
    margin-bottom: 50px;
  }
  .intro-txt, .txt-box{
    font-size: 14px;
    line-height: 28px;
  }
  body:not(#distributor) .intro-txt br {
    display: none;
  }
  .tag-bar{
    flex-wrap: wrap;
    align-items: flex-start;
    margin-top: 60px;
    gap: 8px;
    margin-bottom: -30px;
  }
  .tag-bar .all{
    width: 60px;
    position: relative;
    text-align: center;
    padding: 6px 0;
    font-size: 16px;
  }
  .tag-bar .all:before,
  .tag-bar .all:after{
        position: absolute;
        /*color: #cecece;*/
        font-weight: 100;
        font-family: 'Noto Serif JP';
  }
  .tag-bar .all:before{
    content: "(";
    left: 0;
  }
  .tag-bar .all:after{
    content: ")";
    right: 0;
  }
  .tag-bar .all+div .cat-name,
  .tag-bar .all+div ul,
  .tag-bar ul,
  .tag-bar div+div{
    margin-left: unset;
  }
  .tag-bar ul{
    gap: 6px;
    flex-wrap: wrap;
    /*padding: 0 5vw;*/
  }
  .tag-bar div{
    width: 100%;
  }
  .tag-bar div+div{
    width: auto;
  }
  .tag-bar div+div+div{
    margin-left: 6px;
  }
  .tag-bar ul li a{
    font-size: 11px;
    width: calc(100vw / 4);
    height: 30px;
    border-radius: 20px;
  }
  #products .tag-bar ul,
  .tax-products-category .tag-bar ul{
    padding: unset;
  }
  #products .tag-bar ul li a,
  .tax-products-category .tag-bar ul li a{
    width: 78px;
  }
  .tag-bar .cat-name{
    min-width: auto;
    margin-right: 10px;
    font-size: 12px;
  }
  body.second .list-inner{
    padding: 0 20px !important;
  }
  .list-ui{
    gap: 30px 8px;
  }
  .list-ui li .names{
    font-size: 12px;
    /*text-align: left;*/
    line-height: 1;
    margin-top: 6px;
  }
  .list-ui li{
    width: 100%;
  }
  .outro{
        flex-direction: column;
            width: calc(100% - 32px);
            margin-top: 60px;
  }
  .outro img{
    width: 100%;
  }
  .outro div {
      width: 100%;
      margin-left: unset;
  }
  .outro div h4{
    font-size: 18px;
    margin-bottom: 20px;
    margin-top: 30px;
    line-height: 1.4;
  }
  .outro div p{
        font-size: 12px;
    line-height: 24px;
  }
  .pagination-area{
    margin-top: 60px;
  }
  .pagination-area .nav-links{
    gap: 8px;
  }
  .pagination-area .page-numbers{
    font-size: 11px;
  }
  .pagination-area a.page-numbers:not(.prev):not(.next),
  .pagination-area .page-numbers.current{
    width: 30px;
    height: 30px;
  }
  .pagination-area .page-numbers.prev, .pagination-area .page-numbers.next{
    font-size: 12px;
  }
  .pagination-area .page-numbers.prev{
    margin-right: 10px;
  }
  .pagination-area .page-numbers.next{
    margin-left: 10px;
  }
  body.second .eye-c.slider,
  body.second .eye-c{
    margin-left: -30px;
            width: calc(100% + 60px);
            margin-bottom: 50px;
  }

  body.second .eye-c .top-swiper{
    margin-bottom: 10px;
  }
  body.second .eye-c .thumbs-swiper .swiper-slide{
            width: calc(100vw / 7) !important;
        height: auto;
  }
  body.second .eye-c .thumbs-swiper{
    height: auto;
  }
  body.second .eye-c .thumbs-swiper .swiper-wrapper{
    gap: 6px;
  }
  body.second .outline{
    flex-direction: column;
  }
  body.second .outline .name{
    font-size: 26px;
    margin-bottom: 10px;
    line-height: 1.3;
    font-weight: 400;
  }
  body.single-gallery.second .outline .name{
    margin-bottom: 20px;
  }
  body.second .outline>dd{
    margin-top: 50px;
  }
  body.second .outline .introduction{
    font-size: 14px;
    line-height: 28px;
  }
  body.second .outline .detail{
    margin-top: 80px;
    font-size: 12px;
  }
  body.second .outline .detail dt{
    padding-right: 10px;
    width: 100px;
    letter-spacing: -0.1px;
  }
  body.second .outline .detail dd{
    width: calc(100% - 110px);
  }
  .products.second .cat-name{
            margin-right: 10px !important;
        font-size: 12px !important;
  }
  .products.second .cat-terms ul{
            white-space: nowrap;
            letter-spacing: -0.4px;
            gap: 8px !important;
  }
  body.second .outline .detail dt, body.second .outline .detail dd{
    padding-top: 20px;
    padding-bottom: 20px;
  }
  body.second .others ul li{
    width: 100%;
  }
  body.second .others ul li a{
    gap: 14px;
  }
  body.second .others ul li a img{
    width: 100px;
    height: auto;
  }
  body.second .others ul li a:after{
    right: 10px;
  }
  body.second .others ul .link-set{
        width: 100%;
    box-sizing: border-box;
    padding-right: 40px;
  }
  body.second .others ul li a h5{
    font-size: 14px;
    margin-bottom: 14px;
    line-height: 1.4;
  }
  body.second .others ul li a p{
    font-size: 12px;
  }
  body.second .others{
    margin-top: 80px;
  }
  body.second .guidance-link{
    grid-template-columns: repeat(1, 1fr);
  }
  body.second .center-section .detail-area div{
        flex-direction: column;
  }
  body.second .center-section .detail-area div>dt,
  body.second .center-section .detail-area div>dd{
    width: 100%;
  }
  body.second .center-section .section-caption{
    font-size: 20px;
    margin-bottom: 20px;
  }
  body.second .center-section .detail-area .label{
    font-size: 12px;
    margin-bottom: 20px;
  }
  body.second .center-section .detail-information{
    font-size: 13px;
    line-height: 26px;
    gap: 10px 20px;
  }
  body.second .detail-list{
    text-indent: -13px;
    padding-left: 13px;
    font-size: 13px;
    line-height: 26px;
  }
  body.second .notice{
    font-size: 12px;
    text-indent: -12px;
    padding-left: 12px;
    line-height: 24px;
  }
  body.second .center-section .detail-information>dd{
    width: calc(100% - 90px);
  }
  body.second .center-section .detail-information>dd br{
    display: block;
  }
  body.second .center-section+.center-section{
    margin-top: 120px;
  }
  body.second .center-section .section-description{
    text-align: justify;
        font-size: 14px;
    line-height: 28px;
  }
  body.second .center-section .section-description br{
    display: none;
  }
  body.second .guidance-link{
    margin-top: 40px;
    height: unset;
    padding: 40px 20px;
  }
  body.second .guidance-link dd{
    border-left: unset;
    border-top: 0.5px solid #e0e0e0;
    margin-top: 40px;
    padding-top: 40px;
  }
  body.second .guidance-link a .standard-btn{
    width: 100%;
  }
  body.second .guidance-link a h4{
    font-size: 20px;
    margin-bottom: 16px;
  }
  body.second .guidance-link a .guidance-caption{
    font-size: 12px;
    margin-bottom: 30px;
  }
  .box-link{
    font-size: 16px;
  }
  .box-link li a, .faq-inner dt h5,.faq-inner dd .inbox{
    padding: 20px;
  }
  h3.caption{
    font-size: 22px;
    margin-bottom: 60px;
  }
  .faq-outer{
    flex-direction: column;
  }
  .faq-outer > dt,
  .faq-outer > dd{
    width: 100%;
    margin-left: unset;
  }

  .faq-outer > dt{
    margin-top: unset;
    padding: 30px 0;
            position: sticky;
        top: 0;
        height: 74px;
        box-sizing: border-box;
        backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: #ffffffa3;
    z-index: 99;
  }
  .box-link li a:after, .faq-inner dt h5:after{
    right: 10px;
  }
  .faq-inner,
  .faq-inner dd{
    font-size: 14px;
    line-height: 28px;
  }
  .faq-inner dt h5{
    padding-right: 40px;
  }

  .faq-inner dt{
            position: sticky;
                top: 74px;
        backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    background-color: #ffffffa3;
    z-index: 98;
    box-sizing: border-box;
  }
  body.second #head .main-cap.and-sub{
    width: 100%;
  }
  body.second #head .main-cap.and-sub b{
        font-size: 18px;
    margin-left: 10px;
    margin-top: 16px;
  }
  .intro-txt p+p, .txt-box p+p{
    margin-top: 30px;
  }
  .txt-box p+ul{
    margin-top: 10px;
  }
  .txt-head{
    font-size: 18px;
    margin-bottom: 20px;
    padding-bottom: 10px;
  }
  .txt-box+.txt-head{
    margin-top: 60px;
  }
  body.second .form-link{
    grid-template-columns: repeat(1, 1fr);
    width: 100%;
    padding-bottom: unset;
  }
  body.second .form-link .outer{
    box-sizing: border-box;
    padding-top: 40px;
    height: unset;
  }
  body.second .form-link .outer h4{
    font-size: 20px;
        margin-bottom: 16px;
  }
  body.second .form-link .outer .form-caption{
            font-size: 12px;
        margin-bottom: 30px;
  }
  body.second .form-link .outer .standard-btn{
    width: 100%;
  }
  body.second .form-link .tel-box{
    margin-top: 30px;
    padding: 0 20px 40px;
  }
  body.second .form-link .outer .standard-btn+.standard-btn{
    margin-top: 10px;
  }
  body.second .form-link dd{
    border-left: unset;
    border-top: 0.5px solid #e0e0e0;
  }
  body.second .form-link .tel-box .note{
    text-align: left;
    line-height: 28px;
    margin-left: -5px;
  }
  body.second .form-link .tel-box .note br{
    display: block;
  }
  body.second .form-link .tel-box a{
    margin-bottom: 12px;
  }
  .forms th p br{
    display: none;
  }
  .select-wrapper select{
    width: 100%;
  }
  .forms{
    font-size: 14px;
    line-height: 28px;
  }
  .forms td{
    font-size: 14px;
    line-height: 25px;
  }
  .forms th,
  .forms td,
  .forms td.lil{
    padding: 20px;
  }
  .forms th{
    padding: 10px 20px;
  }
  .grid-set{
    gap: 10px;
        align-items: start;
        display: flex;
        flex-direction: column;
  }
  .mwform-checkbox-field label, .mwform-radio-field label{
    align-items: start;
  }
  .forms td .min{
    font-size: 12px;
    line-height: 20px;
    margin-bottom: 10px;
  }
  .select-wrapper::after{
    top: 8px;
  }
  .policy{
    margin-top: 20px;
    font-size: 12px;
  }
  .mw_wp_form h3.caps {
    font-size: 20px;
    margin-bottom: 10px;
    line-height: 1.4;
  }
  .pagination-area .page-numbers.dots{
    font-size: 8px;
  }
  .pagination-area .page-numbers.prev:before, .pagination-area .page-numbers.next:before{
    width: 14px;
    height: 14px;
  }
  .pagination-area .page-numbers.prev:before{
    left: -16px;
  }
  .pagination-area .page-numbers.next:before{
    right: -16px;
  }
  .pagination-area .page-numbers.next{
    margin-left: 2px;
  }
  .pagination-area .page-numbers.prev{
    margin-right: 2px;
  }
.grid-set #other-input-wrap {
  grid-column: 1 / -1; /* 最初の列から最後の列まで1行で繋ぐ */
}
.grid-set #recognized_other_input{
    width: 100% !important;
    margin-left: unset;
    /*margin-top: 30px;*/
}
.grid-set .mwform-radio-field:nth-of-type(12),
#contact-estimate .grid-set .mwform-radio-field:nth-of-type(10){
  z-index: 9;
}
body.second #head #breadcrumbs{
  white-space: nowrap;
}
body.second .center-section .detail-information>dt{
  width: 70px;
}

body.second .outline .sub-name{
  font-weight: 500;
}

/* 親要素をFlexboxにする（すでに設定済みの場合は不要です） */
.custom-radio-group.grid-set {
    display: flex;
    flex-wrap: wrap; /* 折り返しを許可 */
}

/* 1. ラジオボタン群を最初に配置 */
.custom-radio-group.grid-set .mwform-radio-field {
    order: 1;
}

/* 2. 「その他」の入力欄を2番目に配置 */
.custom-radio-group.grid-set #other-input-wrap {
    order: 2;
    width: 100%; /* 必要に応じて横幅いっぱいに広げて改行させる */
}

/* 3. エラーメッセージを一番最後に配置 */
.custom-radio-group.grid-set .error {
    order: 3;
    width: 100%; /* エラーを独立した行に表示させる */
    color: #ff0000;
    margin-top: 5px;
}


}
