@charset "UTF-8";
body {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  color: #051121;
  background-color: #f1f5f7;
  line-height: 1.75;
  overflow-x: hidden;
  letter-spacing: 0.5px;
}

a {
   color: #051121;
  text-decoration: none;
  cursor: pointer;
}

a:link {
   color: #051121;
}
a:visited {

   color: #051121;
}
a:hover {
   color: #051121;
   transition: 0.3s;
}


figure {
  margin: 0;
  padding: 0;
}

img {
display: block; 
width:100%;
max-width: 100%;
height: auto;
}

ol li{
  list-style: decimal;
}

/*==================================================

comoon

====================================================*/
a.link-i {
  color: #1469CA;
  border-bottom: dashed 1px;
  padding: 2px;
}

a.link-i:hover{
  transition: 0.3s;
  border-bottom: solid 1px;
  opacity: 0.8;
}

.cc-red{
  color: #ff0020;
}

.text{
  margin-top: 1em;
  letter-spacing: 1px;
}

.text:first-child{
  margin-top: 0;
}

.br-nlc{
  display: block;
}

.br-nlc02{
  display: block;
}

.br-nlc03{
  display:  none;
}
/* ボタン
======================================== */

    .base-btn {
        max-width: 320px;
        margin: 80px auto 0 auto;
      }
  
    .base-btn a {
        display: flex;
        justify-content: center;
        align-items: center;
        background: #fff;
        border: 1px solid #1469CA;
        width: 100%;
        height: 60px;
        padding: 0 6% 0 12%;
        color: #1469CA;
        text-align: left;
        position: relative;
        transition: 0.5s;
      }
  
    .base-btn a:hover {
        background: #1469CA;
        color: #fff;
        border-radius: 10px;
      }
    
    .base-btn a:before {
        content: "";
        display: inline-block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 7px 0 7px 8px;
        border-color: transparent transparent transparent #1469CA;
        position: absolute;
        top: 50%;
        left: 6%;
        margin-top: -7px;
      }
  
    .base-btn a:hover:before {
        border-color: transparent transparent transparent #fff;
      }

/* ヘッダー　
======================================== */
#header__nav02,
.for-sp {
  display: none;
}

.header-logo {
  text-align: center;
  margin-left: 2%;
  z-index: 1000;
  width: 168px;
  flex-shrink: 0;
}

.header {
  width: 100%;
  height: 80px;
background-color: #f1f5f7;
  position: fixed;
  top: 0px;
  z-index: 100000;
  display: flex;
  align-items: center;
}

#header__nav {
  z-index: 10;
  margin: 0 0 0 auto;
}

.header-nav__list01 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 1.8em;
}

.header-nav__list01
  li:not(
    .header-nav__list li:last-child
  ) {
  margin-bottom: 16px;
}

.header-nav__list li a:hover{
  transition: 0.3s;
  color: #FFA63D;
}

.header-tel a{
  font-size: 28px;
  font-weight: bold;
  color: #1469CA;
  display: inline-block;
  margin-bottom: -8px;
  margin-left: -4px;
  line-height: 1;
}

.header-tel a::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 20px;            
  margin-right: 8px;
  background-color: #1469CA;/* ← セミコロンを忘れない！ */
  -webkit-mask: no-repeat center/contain url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="20" viewBox="0 0 16 20"><path fill="%23000" d="M5.54155 1.18261C5.07221 0.361187 4.42235 -0.00896237 3.7331 0.000164599C3.07914 0.00827746 2.44241 0.354088 1.9107 0.814493C1.36838 1.28638 0.905951 1.88477 0.549444 2.576C0.213026 3.23415 -0.0298512 4.01197 0.00297006 4.77154C0.161333 8.42537 1.82455 12.3297 4.1606 15.2189C6.49501 18.105 9.61221 20.1109 12.7598 19.7276C13.3768 19.6525 13.9602 19.2641 14.4369 18.7693C14.93 18.2531 15.3329 17.6182 15.621 16.9033C15.8999 16.2015 16.0665 15.3923 15.9746 14.6043C15.8794 13.7829 15.5077 13.0487 14.8242 12.5619C14.6826 12.4604 14.5425 12.3556 14.4041 12.2475C14.281 12.1532 14.1497 12.0508 13.9906 11.9332C13.6654 11.6854 13.3223 11.4756 12.9657 11.3064C12.5989 11.1411 12.1796 11.0326 11.7431 11.1067C11.291 11.1837 10.8709 11.4474 10.5074 11.92C10.2276 12.2851 9.8157 12.3986 9.2364 12.1918C8.64726 11.9808 7.98427 11.4575 7.40826 10.7497C6.83225 10.0439 6.39655 9.2184 6.21029 8.47303C6.02649 7.73476 6.10772 7.19221 6.39491 6.81801C6.78302 6.31298 6.98979 5.75117 7.03328 5.1569C7.07595 4.57886 6.95943 4.0353 6.79286 3.5607C6.54342 2.85183 6.12003 2.14703 5.78853 1.59738C5.70519 1.45996 5.62313 1.32136 5.54237 1.1816"/></svg>');
          mask: no-repeat center/contain url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="20" viewBox="0 0 16 20"><path fill="%23000" d="M5.54155 1.18261C5.07221 0.361187 4.42235 -0.00896237 3.7331 0.000164599C3.07914 0.00827746 2.44241 0.354088 1.9107 0.814493C1.36838 1.28638 0.905951 1.88477 0.549444 2.576C0.213026 3.23415 -0.0298512 4.01197 0.00297006 4.77154C0.161333 8.42537 1.82455 12.3297 4.1606 15.2189C6.49501 18.105 9.61221 20.1109 12.7598 19.7276C13.3768 19.6525 13.9602 19.2641 14.4369 18.7693C14.93 18.2531 15.3329 17.6182 15.621 16.9033C15.8999 16.2015 16.0665 15.3923 15.9746 14.6043C15.8794 13.7829 15.5077 13.0487 14.8242 12.5619C14.6826 12.4604 14.5425 12.3556 14.4041 12.2475C14.281 12.1532 14.1497 12.0508 13.9906 11.9332C13.6654 11.6854 13.3223 11.4756 12.9657 11.3064C12.5989 11.1411 12.1796 11.0326 11.7431 11.1067C11.291 11.1837 10.8709 11.4474 10.5074 11.92C10.2276 12.2851 9.8157 12.3986 9.2364 12.1918C8.64726 11.9808 7.98427 11.4575 7.40826 10.7497C6.83225 10.0439 6.39655 9.2184 6.21029 8.47303C6.02649 7.73476 6.10772 7.19221 6.39491 6.81801C6.78302 6.31298 6.98979 5.75117 7.03328 5.1569C7.07595 4.57886 6.95943 4.0353 6.79286 3.5607C6.54342 2.85183 6.12003 2.14703 5.78853 1.59738C5.70519 1.45996 5.62313 1.32136 5.54237 1.1816"/></svg>');
}

.header-tel a:hover::before {
transition: 0.3s;
  background: #FFA63D;
}

.header-tel__desc{
  font-size: 13px;
	margin-left: 8px;
}

.header-contact a{
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 140px;
  height: 80px;
  margin: 0 auto;
  padding: 0;
  text-align: center;
  position: relative;
  background-color: #1469CA;
  color: #fff;
}

.header-contact a::before {
  content: "";
  display: inline-block;
  width: 28px;
  height: 22px;
  background-color: #fff; /* 色はここで変更可能 */
  -webkit-mask: no-repeat center/contain
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="22" viewBox="0 0 28 22"><path d="M2.8 22C2.03 22 1.37107 21.731 0.8232 21.1929C0.275333 20.6548 0.000933333 20.0072 0 19.25V2.75C0 1.99375 0.2744 1.34658 0.8232 0.8085C1.372 0.270416 2.03093 0.000916667 2.8 0H25.2C25.97 0 26.6294 0.2695 27.1782 0.8085C27.727 1.3475 28.0009 1.99467 28 2.75V19.25C28 20.0062 27.7261 20.6539 27.1782 21.1929C26.6303 21.7319 25.9709 22.0009 25.2 22H2.8ZM14 12.375L2.8 5.5V19.25H25.2V5.5L14 12.375ZM14 9.625L25.2 2.75H2.8L14 9.625ZM2.8 5.5V2.75V19.25V5.5Z"/></svg>');
          mask: no-repeat center/contain
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="28" height="22" viewBox="0 0 28 22"><path d="M2.8 22C2.03 22 1.37107 21.731 0.8232 21.1929C0.275333 20.6548 0.000933333 20.0072 0 19.25V2.75C0 1.99375 0.2744 1.34658 0.8232 0.8085C1.372 0.270416 2.03093 0.000916667 2.8 0H25.2C25.97 0 26.6294 0.2695 27.1782 0.8085C27.727 1.3475 28.0009 1.99467 28 2.75V19.25C28 20.0062 27.7261 20.6539 27.1782 21.1929C26.6303 21.7319 25.9709 22.0009 25.2 22H2.8ZM14 12.375L2.8 5.5V19.25H25.2V5.5L14 12.375ZM14 9.625L25.2 2.75H2.8L14 9.625ZM2.8 5.5V2.75V19.25V5.5Z"/></svg>');
}

.header-contact a:hover::before{
  transition: 0.3s;
  background: #FFA63D;
}

/* メニューのドロップダウン */

.brand-menu__pc {
  position: absolute;
  left: 0;
  top: 40px;
  z-index: 10;
  display: flex;
  justify-content: center;
  padding: 1em;
  background: #fff;
  border: solid 1px #d9d9d9;
  visibility: hidden;
  opacity: 0;
  transition: 0.3s ease-in-out;
}

.has-child:hover > .brand-menu__pc {
  visibility: visible;
  opacity: 1;
}

.header-toggle{ position: relative; }

.header-toggle .cateTitle{
  display: block;
  padding-right: 44px;
}

/* 右端の透明ボタン（矢印付近） */
.header-toggle .cateToggle{
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 100%;
  cursor: pointer;
}

.brand-menu__items li a {
  display: inline-block;
  padding-left: 0;
  /* padding-bottom: 0.5em; */
  white-space: nowrap;
  color: #1469CA;
}

.has-child {
  position: relative;
}

.has-child::after,
.cateTitle::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 2px 4px;
  border-bottom: 2px solid;
  border-right: 2px solid;
  transform: rotate(45deg);
}

.has-child:hover:after {
  opacity: 0.7;
  transition: 0.3s ease-in-out;
}

.cateTitle::after{
  transition: transform .2s ease;
}


/* フッター
======================================== */

#footer-btn-js{
  display: none;
}

.footer-wrap{
  background-color: #1469CA;
  color: #fff;
  padding: 48px 0 24px 0;
}

.footer-logo{
  width: 180px;
  margin: 0 auto 24px auto;
}

.footer-unit{
  display: flex;
  gap: 0.5em;
  width: fit-content;
  margin: 0.5em auto;
  font-size: 14px;
}

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

.footer-tel{
  font-weight: bold;
}

.footer-nav__list{
  display: flex;
  column-gap: 2.5em;
  flex-wrap: wrap;
  margin: 40px auto;
  width: 80%;
}

.footer-nav__list li a{
  color: #fff;
  font-size: 14px;
}

.footer-nav__list li a:hover{
  transition: 0.3s;
  color: #FFA63D
}

.footer-unit__kumiai{
margin-top: 32px;
}

.kumiai-name{
  text-align: center;
  font-size: 16px;
  line-height: 1.5;
}

.copyright{
  text-align: center;
  font-size: 13px;
}


/* 誘導
======================================== */
.induce-sec__inner{
  background: #1469CA;
  padding: 48px 0;
}

.induce-list{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 48px;
  justify-content: center;
 max-width: 900px;
 margin: 0 auto;
}

.induce-list li a{
display: block;
width: 200px;
height: 140px;
border: solid 2px #fff;
position: relative;
}

.induce-list li a::before{
  content: "";
  width: 0;
  height: 0;
  border-left: 6px solid #fff;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  position: absolute;
  top: 42%;
  left: 12px;
}

.triangle1{
  width: 0;
  height: 0;
  border-left: 30px solid black;
  border-top: 30px solid transparent;
  border-bottom: 30px solid transparent;
}

.induce-icon{
  width: 80px;
  margin: 18px auto 8px auto;
}

.induce-ttl{
  text-align: center;
  color: #fff;
  line-height: 1.5;
}

.induce-list li a:hover{
 transition: 0.3s;
 border: solid 2px #FFF23D;
}

.induce-list li a:hover:before{
   border-left: 6px solid #FFF23D;
}

.induce-list a:hover .induce-ttl{
  color: #FFF23D;
}

/* お問い合わせ */
.induce-contact__wrap{
padding: 120px 0 96px;
position: relative;
  background-image: url(/wp-content/themes/hanahara-wp/images/top-column.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  margin-bottom: 0; 
}

.induce-contact__inner{
  background: #fff;
  margin: 0 auto;
  width: 95%;
  position: relative;
  max-width: 960px;
}

.top-heading__contact {
font-size: 42px;
font-weight: bold;
line-height: 1.2;
width: fit-content;
text-align: center;
position: relative;
margin: 0 auto;
color: #1469CA;
border-bottom: solid 2px #1469CA;
padding: 8px;
margin-top: -80px;
}

.induce-contact__inner{
background-color: #FFA63D;
padding: 40px 0;
}

.induce-contact__aligned{
display: flex;
justify-content: center;
gap: 64px;
}

.induce-contact__aligned li{
  width: 320px;
}

.induce-contact__btn{
  margin: 4px auto;
}

.induce-contact__desc{
  white-space: pre-line;
  line-height: 1.5;
  text-align: center;
  padding: 1em 0;
}

.induce-contact__notes{
  line-height: 1;
  text-align: center;
  font-size: 14px;
}

a.induce-contact__tel{
  display: block;
  font-size: 40px;
  font-weight: bold;
  color: #1469CA;
  line-height: 1;
  margin-top: 6px;
}

.induce-contact__tel::before{
  content: '';
  display: inline-block;
  width: 18px;
  height: 20px;
  background: url(/wp-content/themes/hanahara-wp/images/tel.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  padding-top: 10px;
  padding-right: 12px;
  margin-top: -8px;
}

.induce-contact__wrap::after{
  content: "";
  background: url(/wp-content/themes/hanahara-wp/images/fv-deco.png) no-repeat;
  background-size: cover;
  display: inline-block;
  width: 104px;
  height: 90px;
  position: absolute;
  top: -110px;
  left: -10%;
}


/*==================================================

トップページ

====================================================*/
.top-sec__wrap{
margin: 120px auto;
}

.top-heading{
font-size: 42px;
font-weight: bold;
line-height: 1.4;
width: fit-content;
text-align: center;
position: relative;
margin: 0 auto;
}

.top-heading__EN{
  font-family: "Smooch", cursive;
  font-weight: 400;
  font-style: normal;
  font-size: 65px;
  letter-spacing: 2px;
  color: #FFF23D;
  position: absolute;
  transform: rotate(-18deg);
  top: -35px;
  margin-left: 10px;
  text-shadow: 0 4px 4px rgba(153,153,153,0.25);
}

/* scrollani
======================================== */
.element01 {
  /* 最初は非表示 */
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  transition: opacity 1s, visibility 1s, transform 1s;
}
.is-fadein01 {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}



.element04 {
  /* 最初は非表示 */
  opacity: 0;
  visibility: hidden;
  transform: translateX(0);
  transition: opacity 2s, visibility 2s, transform 2s;
}
.is-fadein04 {
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}

/* FV
======================================== */

.slider {
  position: relative;
  z-index: 1;
  overflow: hidden;
  width: 85vw;
  height: 85vh;
  padding: 0;
  margin: 100px 0 100px auto;
  list-style: none;
 background-color: #f1f5f7;
}

/* slick 初期化前後 */
.slider { display: none; }
.slider.slick-initialized { display: block; }

/* ★ Slick が作る各ラッパーも高さを100%に */
.slider .slick-list,
.slider .slick-track,
.slider .slick-slide { height: 100%; }

/* ★ スライド(li)に clip-path を適用（L字・6点）*/
.slider__item{
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;	
}


.slider-wrap {
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%, 40% 80%, 0 80%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 40% 100%, 40% 80%, 0 80%);
}

/* 画像は枠いっぱいにフィットさせる */
.slider__item .slider-image{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  background-color: #f1f5f7;
}

/* （任意）ズームアニメは li に付ける方が安定 */
@keyframes zoomUp{
  0%{ transform: scale(1); }
  100%{ transform: scale(1.15); }
}
.slider__item.add-animation{ animation: zoomUp 10s linear both; }


.fv-copy__wrap {
  position: absolute;
  top: 20vh;
  left: 3%;
  z-index: 1000;
  letter-spacing: 2px;
}

.fv-copy__text01{
  font-size: 64px;
  color: #1469CA;
  font-weight: bold;
  width: fit-content;
  line-height: 1.2;
  padding: 16px;
  margin-bottom: 16px;
  background: rgba(255,255,255,0.9);
}

.fv-copy__text02 {
  font-size: 20px;
  margin-top: 96px;
  padding: 24px;
  background: rgba(20,105,202,0.9);
  color: #fff;
}


/* トップニュース */
.top-news__wrap{
  position: absolute;
  left: 2%;
  bottom: 5%;
  z-index: 1001;
}

.top-news__wrap::before{
  content: "";
  background: url(/wp-content/themes/hanahara-wp/images/fv-deco.png) no-repeat;
  background-size: cover;
  display: inline-block;
  width: 402px;
  aspect-ratio: 1448.58 / 1251.16;
  position: absolute;
  top: -100px;
  left: -120px;
  z-index: -100000;
}

.top-news__wrap::after{
  content: "";
  background: url(/wp-content/themes/hanahara-wp/images/fv-deco.png) no-repeat;
  background-size: cover;
  display: inline-block;
  width: 210px;
  aspect-ratio: 1448.58 / 1251.16;
  position: absolute;
  top: 24px;
  left: 68%;
  z-index:  -100000;
}

.top-news__heading{
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 0.5em;  
}

.top-news__inner{
margin: 0 1em 0.5em 1em;
}

.fv-news__item{
  display: flex;
  align-items: center;
  gap: 1em;
  margin-bottom: 0.5em;
}

.fv-news__title{
  line-height: 1.2;
  transition: 0.3s ease;
}

.fv-news__title a:hover{
  color: #1469CA;
}



/* お悩み
======================================== */
.top-assignment__wrap{
  background: #1469CA;
  position: relative;
  padding: 80px 0;
}

.top-assignment__wrap .top-heading{
  color: #fff;
}

.assignment-aligned{
  display: flex;
  justify-content: space-between;
  width: 980px;
  margin: 0 auto 0 58%;
  transform: translateX(-50%);
}

.assignment-list li{
  font-weight: bold;
  font-size: 20px;
  padding: 24px 1em 1em 4em;
  background: #fff;
  max-width: 720px;
  margin: 2em auto;
  position: relative;
  min-height: 80px;
  line-height: 1.6;
}

.assignment-list li::before{
    content: '';
  display: inline-block;
  background: url(/wp-content/themes/hanahara-wp/images/check.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  width: 28px;
  height: 28px;
  position: absolute;
  top: 35%;
  left: 1.2em;
}
.assignment-list li:last-child{
  margin-bottom: 0;
}

.assignment-img{
  max-width: 200px;
  width: 85%;
  margin-top: 32px;
}

.triangle {
  width: 0;
  height: 0;
  border-left: 60px solid transparent;  /* 左側を透明 */
  border-right: 60px solid transparent; /* 右側を透明 */
  border-top: 60px solid #1469CA;       /* 上の辺を青にして三角形 */
  position: absolute;
  bottom: -48px;
  left: 50%;
  transform: translateX(-50%);
}

/* 解決 */
.solution-wrap{
  background-color: #f1f5f7;
  padding-top: 80px;
}

.top-heading__solution{
 width: fit-content;
 margin: 0 auto 40px auto;
 font-weight: bold;
 text-align: center;
 font-size: 18px;
 line-height: 1.5;
 color: #051121;
}

.top-solution__deco{
  color: #1469CA;
  position: relative;
}

.solution-list{
  display: flex;
  justify-content: space-between;
  width: 1080px;
  margin: 56px auto 120px auto;
}

.solution-list li{
  width: 320px;
  height: 340px;
  background: #fff;
  box-shadow: 12px 12px 0 #1469CA;
  padding: 2em 1.5em;
  position: relative;
}

.solution-ttl{
  font-weight: bold;
  position: relative;
  margin-bottom: 1em;
  line-height: 1.6;
  font-size: 20px;
}



/* 特長
======================================== */
.top-sec__strength{
  background-image: url(/wp-content/themes/hanahara-wp/images/strength-img.jpg);
  padding: 120px 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  margin-bottom: 0; 
}

.strength-number{
  font-size: 102px;
  font-weight: bold;
  display: block;
  color: transparent;
  -webkit-text-stroke: 1px #1469CA;
  line-height: 1;
}

.strength-aligned{
  width: 980px;
  margin: 48px auto 140px auto;
    display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.strength-ttl{
  font-size: 28px;
  font-weight: bold;
  margin: 0.5em 0;
  color: #1469CA;
  line-height: 1.5;
}

.strength-aligned .text{
  max-width: 480px;
}

.strength-img{
  width: 380px;
  height: 280px;
  object-fit: cover;
}

.strength-aligned__03{
  margin-bottom: 0;
}


/* 取扱業務
======================================== */
.top-sec__service{
  background-color: #E7F6F6;
  padding: 120px 0;
}

.top-service__list{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
  max-width: 900px;
  width: 90%;
  margin: 56px auto;  
}

.top-service__list li a{
  display: block;
  width: 190px;
  height: 190px;
  background: #1469CA;
  padding-top: 18px;
  border: 4px solid #1469CA;
}

.top-service__list li a {
transition: 0.5s ease;
}


.top-service__ttl{
  font-weight: bold;
  color: #fff;
  text-align: center;
  margin-top: 8px;
  line-height: 1.2;
}

/* hover時に枠線を追加 */
.top-service__list li a:hover {
  border: 4px solid #FFF23D;
}

.top-service__list li a:hover .top-service__ttl{
  color: #FFF23D;
}

.top-service__list img{
  max-width: 118px;
  margin: 0 auto;
}



/* お役立ち情報
======================================== */
.top-sec__column{
  background-color: #fff;
  padding: 120px 0;
}

.top-blog__unit{
  display: flex;
  justify-content: center;
  gap: 48px;
  margin: 56px auto 0 auto;
}

.postlist-contents{
  width: 280px;
  border: solid 1px #afafaf;
  padding-bottom: 1em;
}

.postlist-contents > a {
  display: block;
  overflow: hidden; /* これが肝 */
}

.top-blog__unit .post-categories li a{
  display: inline-block;
  padding: 2px 8px;
  background-color: #1469CA;
  color: #fff;
  font-size: 13px;
  margin-bottom: 2px;
  transition: 0.3s ease;
}

.postlist-ttl a{
  display: inline-block;
  padding: 1em 0.5em;
  line-height: 1.5;
  transition: 0.3s ease;
}

.postlist-date{
  padding-left: 0.5em;
}

.postlist-contents a {
  display: block;
}

.postlist-img {
  width: 100%;
  aspect-ratio: 16 / 9;   /* ← 16:9固定 */
  object-fit: cover;      /* ← はみ出した部分をトリミング */
  height: auto;
  display: block;
  transition: transform 0.3s ease-in-out;
}

.postlist-img:hover {
    transform: scale(1.1);
  }

  .postlist-ttl a:hover{
color: #1469CA;
  }

  .post-categories li a :hover{
  opacity: 0.8;
  }
  


/* アクセス
======================================== */  
.top-sec__access{
  padding: 120px 0;
}

 .top-google__map{
  width: min(100%,1010px);
  height: 320px;
  margin: 56px auto 24px auto;
  text-align: center;
  display: block;
 }

 .top-access__wrap{
  margin: 0 auto;
  max-width: 1010px;
  width: 90%;
  padding: 0 40px;
 }

  .top-adress__unit{
  font-weight: bold;
 }


.top-access__ttl__car,
.top-access__ttl__train{
  color: #1469CA;
  font-weight: bold;
  font-size: 18px;
}

.top-access__ttl__car::before{
  content: '';
  display: inline-block;
  width: 30px;
  height: 25px;
  background: url(/wp-content/themes/hanahara-wp/images/access-icon01.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  padding-right: 1em;
}

.top-access__ttl__train::before{
  content: '';
  display: inline-block;
  width: 30px;
  height: 25px;
  background: url(/wp-content/themes/hanahara-wp/images/access-icon02.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  padding-right: 1em;
  margin-top: -6px;
}

.top-access__unit{
  margin-top: 40px;
}

.top-access__unit .text{
  margin-left: 48px;
  margin-top: 0;
}

.top-access__list{
display: flex;
gap: 48px;
margin-top: 1em;
margin-left: 48px;
}

.top-access__list li{
  width: 340px;
  position: relative;
}


.top-access__list li::before{
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #1469CA;
  position: absolute;
  top: 6px;
  left: 0;
}

.parking-img{
  width: 300px;
  margin-left: 16px;
  margin-top: 8px;
}

.top-access__caption{
  font-weight: bold;
  padding-left: 1em;
  line-height: 1.2;
}

.top-access__notes{
  font-size: 16px;
  margin-left: 2em;
  margin-top: 0.5em;
  line-height: 1.2;
}

.top-access__list li .notes{
  display: block;
  font-size: 10px;
  margin-left: 3em;
  line-height: 2;
}


/* ページ
======================================== */

/* パンくずリスト */
.aioseo-breadcrumbs{
  width: min(90%, 1080px);
  margin: 80px 0.5em 80px 40px;
  padding-left: 1em;
  text-indent: -0.5em;
}


.aioseo-breadcrumbs span{
	padding: 0 0.5em;
  font-size: 14px;
  
}

.aioseo-breadcrumbs a{
transition: color 0.3s ease;
}

.aioseo-breadcrumbs a:hover {
  color: #1469CA; /* お好みの色 */
}



.page-sec__wrap{
  width: min(90%,900px);
  margin: 0 auto 160px auto;
}

.page-sec__wrap02{
  width: min(90%,1080px);
  margin: 0 auto 160px auto;
}

.page-top__wrap{
  background: #fff;
  width: 100%;
  height: 250px;
  margin-top: 200px;
  position: relative;
}

.page-top__inner{
  width: min(90%,1080px);
  margin: 0 0 0 80px;
}


.page-top__ttl{
  font-size: 64px;
  font-weight: bold;
  color: #1469CA;
  padding-top: 62px;
  padding-left: 92px;
  letter-spacing: 4px;
  position: relative;
  line-height: 1.2;
}

.page-top__ttl::before{
  content: "";
  background: url(/wp-content/themes/hanahara-wp/images/fv-deco.png) no-repeat;
  background-size: cover;
  display: inline-block;
  width: 402px;
  aspect-ratio: 1448.58 / 1251.16;
  position: absolute;
  top: -48px;
  left: -140px;
  opacity: 0.75;
}

.page-top__ttlEN{
  font-family: "Smooch", cursive;
  font-weight: 400;
  font-style: normal;
  font-size: 56px;
  letter-spacing: 2px;
  color: #FFF23D;
  position: absolute;
  transform: rotate(-18deg);
  top: 152px;
  left: 288px;
}

.page-top__desc{
  white-space: pre-line;
  margin-bottom: 48px;
  margin-left: 1em;
  line-height: 2;
}

.page-heading{
  font-size: 42px;
  font-weight: bold;
  width: fit-content;
  color: #1469CA;
  border-bottom: solid 2px #1469CA;
  padding: 0 0.5em;
  margin: 0 auto;
  letter-spacing: 1px;
  margin-bottom: 64px;
}

.page-subheading{
  font-size: 28px;
  border-left: solid 8px #1469CA;
  padding-left: 12px;
  letter-spacing: 1px;
  line-height: 1.5;
  margin-top: 64px;
margin-bottom: 40px;
}

.page-subheading02{
  font-size: 20px;
  font-weight: bold;
  border-bottom: solid 1px #051121;
  padding: 2px 1em;
}

/* お悩み */

.onayami-sec__wrap .page-heading{
  margin-bottom: 24px;
}

.onayami-sec__wrap .assignment-list li::before{
  top: 48%;
  left: 1em;
}

.onayami-wrap{
  max-width: 900px;
margin: 0 auto;
}

.onayami-list{
  width: fit-content;
  margin: 0 auto;
}

.onayami-list li{
  background: none;
  margin: 0 auto;
  max-width: 100%;
  min-height: auto;
  padding-bottom: 0;
  padding-left: 3em;
}

.onayami-heading{
font-size: 28px;
font-weight: bold;
padding: 0;
margin: 64px auto 10px auto;
width: fit-content;
color: #1469CA;
}

.kaiketsu-list{
  width: 900px;
  margin: 0 auto;
  flex-direction: column;
  align-items: center;
}

.kaiketsu-list li{
  font-size: 20px;
  font-weight: bold;
  width: 85%;
  height: auto;
  padding: 1em 0.5em 1em 1.5em;
  margin-bottom: 24px;
  box-shadow: 6px 6px 0 #FFA63D;
}

.page-wrap{
margin-top: 48px;
}

.service-contents__list{
  margin: 1em 0 0 2em;
}

.service-contents__list li{
  position: relative;
  margin-bottom: 0.5em;
}

.service-contents__list .HL{
  font-weight: bold;
}

.service-contents__list li::before{
  content: "";
  position: absolute;
  left: -16px;
  top: 12px;
  width: 5px;
  height: 5px;
  background-color: #051121;
  border-radius: 50%; /* 丸くする */
}

.page-lead__wrap{
  width: min(90%, 900px);
  /* margin: 0 auto 160px auto; */
    margin: 0 auto 120px auto;
}

.page-lead__text{
  margin-top: 0.5em;
}

/* 料金 */
.page-fee__table{
  width: 100%;
  margin-top: 24px;
}


.page-fee__table th,
.page-fee__table td{
border-right: solid 1px #d9d9d9;
}

.page-fee__table th {
  padding: 0.5em;
  text-align: center;
  background-color: #FFA63D;
  color: #fff;
}

.page-fee__table td{
  padding: 1em;
  border-bottom: solid 1px #d9d9d9;
  padding-left: 2em;
  border-left: solid 1px #d9d9d9;
  background-color: #fff;
}

.page-fee__table td:first-child {
width: 60%;
font-weight: bold;
}

.page-fee__jimukumiai td:first-child{
  width: 45%;
}


/*==================================================

取扱業務

====================================================*/
.service-list{
    grid-template-columns: repeat(2, 1fr);
    gap: 56px;
    max-width: 1080px;
}

.service-list li a{
  width: 100%;
  height: 360px;
}

.service-ttl{
  font-size: 28px;
}

.service-text{
  padding: 2em 1em;
  color: #fff;
}

.service-list img{
  max-width: 160px;
}


/*==================================================

建設業許可

====================================================*/
.kensetu-youken__list{
  margin: 2em 2em 2em 0;
}

.kensetu-youken__list li{
font-size: 18px;  
margin-bottom: 2em;
font-weight: bold;
}

.kensetu-youken__list .text{
  font-weight: normal;
  font-size: 16px;
  margin-left: 1.5em;
  margin-top: 0.5em;

}

.setsuritsu-procedure__wrap .page-subheading{
margin-bottom: 24px;
}

/* 工事の種類 */
.kensetsu-type__aligned{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 24px;
}

.kensetsu-type__wrap{
  border: solid 1px #999;
  width: 430px;
}

.kensetsu-type__list{
  display: flex;
  align-items: stretch;
  border-top: solid 1px #999;
  background-color: #fff;
  padding: 0;
}

.kensetsu-type__list__adj{
  border-top: none;
  background-color: #d9d9d9;
}

.kensetsu-type__list dt,
.kensetsu-type__list dd{
  line-height: 1.3;
  font-size: 15px;
}

.kensetsu-type__list dt{
  display: flex;
  align-items: stretch;
}

.kensetsu-type__list .number,
.kensetsu-type__list .ttl{
  display: flex;
  align-items: center;
  padding: 0.5em;
  border-right: solid 1px #999;
  box-sizing: border-box;
}

.kensetsu-type__list .number{
  width: 2.5em;
}

.kensetsu-type__list .ttl{
  width: 10em;
}

/* 内容側にも余白 */
.kensetsu-type__list dd{
  width: 100%;
  padding: 0.5em;
  box-sizing: border-box;
}

.kensetsu-type_list__kouji{
  font-size: 15px;
}

.kensetsu-type_list__kouji li{
  margin-bottom: 1em;
  position: relative;
  margin-left: 0.5em;
}

.kensetsu-type_list__kouji li:first-child{
  margin-left: 0;
}

.kensetsu-type_list__kouji li:not(:first-child):before{
  content: "";
  position: absolute;
  left: -8px;
  top: 8px;
  width: 4px;
  height: 4px;
  background-color: #051121;
  border-radius: 50%; /* 丸くする */
}

/* 建設のメリット */
.kensetsu-merit__table{
  width: 100%;
  margin-top: 40px;
}


.kensetsu-merit__table th,
.kensetsu-merit__table td{
padding: 0.5em;
border: solid 1px #999;
}

.kensetsu-merit__table th {
  text-align: left;
  background-color: #d9d9d9;
}

.kensetsu-merit__table td:first-child {
width: 150px;
}

.kensetsu-merit__table td:not(:first-child) {
  width: 300px;
}

.kensetsu-merit__table .label{
 margin-bottom: 0.5em;
}

.kensetsu-contents__unit{
  display: flex;
  margin-bottom: 1em;
}

.kensetsu-contents__unit dt{
  font-weight: bold;
  flex-shrink: 0;
  width: 9em;
}

.kensetsu-contents__unit dd{
  margin-left: 1em;
}

/*==================================================

経審

====================================================*/
.keishin-contents__wrap .page-subheading{
  margin-bottom: 24px;
}

.keishin-unit{
  margin-left: 2.5em;
  margin-bottom: 2em;
}

.keishin-unit dt{
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 0.5em;
  position: relative;
}

.keishin-unit dt::before{
  content: "";
  position: absolute;
  left: -15px;
  top: 15px;
  width: 5px;
  height: 5px;
  background-color: #051121;
  border-radius: 50%;
}

.keishin-unit dd{
  margin-left: 1em;
}

.keishin-unit .keisanshiki{
  background-color: #FFF23D;
  padding: 12px 24px;
  font-weight: bold;
  width: fit-content;
  margin-top: 0.5em;
  font-size: 18px;
  letter-spacing: 3px;
}

/*==================================================

会社設立

====================================================*/
.setsuritsu-procedure__wrap{
margin-top: 80px;
}

.setsuritsu-procedure__wrap02{
  margin: 40px 0;
}

.setsuritsu-procedure__list li{
  margin-left: 4em;
  margin-top: 1em;
  position: relative;
  font-size: 18px;
}

.setsuritsu-procedure__list li::before{
  content: "";
  position: absolute;
  left: -16px;
  top: 15px;
  width: 5px;
  height: 5px;
  background-color: #051121;
  border-radius: 50%;
}

.setsuritsu-procedure__list li .text{
  font-size: 16px;
  margin-top: 2px;
}

.setsuritsu-procedure__wrap .text{
  margin-top: 1em;
  margin-left: 2em;
}

.setsuritsu-costs{
  margin: 1em 0 2em 2em;
}

.setsuritsu-costs dt{
  margin-bottom: 4px;
  font-weight: bold;
}

.setsuritsu-costs .text{
  margin: 0;
}

.s-kingaku::before{
content: "金額:";
}

/* 取締役会の表 */
.torishimari-table{
  border: solid 1px #999;
  margin: 24px;
  background-color: #fff;
  font-size: 15px;
}

.torishimari-table th{
  background-color: #d9d9d9;
  text-align: left;
}

.torishimari-table th,
.torishimari-table td{
  padding: 0.5em;
  border-bottom: solid 1px #999;
  border-right: solid 1px #999;
}

/*==================================================

助成金

====================================================*/
.koutekishien-table{
  margin-top: 40px;
  width: 100%;
}

.koutekishien-table th,
.koutekishien-table td{
padding: 0.5em;
border: solid 1px #999;
}

.koutekishien-table th {
  text-align: left;
  background-color: #d9d9d9;
}

.koutekishien-table td:first-child {
width: 150px;
}

.koutekishien-table td:not(:first-child) {
  width: 300px;
}

.koutekishien-list li{
  margin-bottom: 0.5em;
}

.koutekishien-list li:last-child{
  margin-bottom: 0;
}

.jyoseikin-table{
  margin-top: 24px;
  background-color: #fff;
  width: 100%;
}

.jyoseikin-table th{
  text-align: left;
  padding: 0.5em;
  background-color: #d9d9d9;
  text-align: center;
}

.jyoseikin-table th,
.jyoseikin-table td{
  border: solid 1px #999;
  padding: 0.5em;
}

.jyoseikin-table td{
  padding: 1em;
}

.jyoseikin-table td:last-child{
  width: 150px;
}

/*==================================================

事務組合

====================================================*/
.jimukumiai-merit__wrap .kensetsu-contents__unit{
  margin-bottom: 2em;
}

.jimukumiai-merit__wrap .kensetsu-contents__unit dt{
width: 10em;
}
/*==================================================

その他業務

====================================================*/
.page-other__wrap{
  margin-top: 64px;
}

.page-other__wrap .desc{
  margin-top: 2em;
  margin-left: 1em;
}

.other-list__number{
margin: 1em 0 3em 3em;
}

.other-list__number li {
font-weight: bold;
margin-bottom: 2em;
}

.other-list__number li .text{
font-weight: normal;
margin-top: 1em;
}

.other-list__sub li{
  list-style: disc;
  font-weight: normal;
  margin-left: 1em;
margin-top: 4px;
margin-bottom: 0;
}

.page-other__wrap .page-fee__table th{
  padding: 0.25em;
}

.page-other__wrap .page-fee__table td{
  padding: 0.5em 0.5em 0.5em 1em;
}

.other-list__sub__adj{
  margin-top: 1em;
}

.other-list__sub__adj li{
  list-style: none;
}


/*==================================================

ご相談の流れ

====================================================*/
.flow-aligned{
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  margin-bottom: 48px;
  padding-bottom: 48px;
  border-bottom: dashed 1px #1469CA;
}

.flow-unit{
  width: 560px;
}

.flow-step__number{
  font-size: 28px;
  font-weight: bold;
  color: #1469CA;
  letter-spacing: 2px;
}

.flow-ttl{
  font-size: 28px;
  font-weight: bold;
  border-left: 8px solid #1469CA;
  padding-left: 16px;
  margin: 0.5em 0;
  line-height: 2;
  margin-left: 4px;
}

.flow-text{
  margin-left: 24px;
  white-space: pre-line;
  line-height: 2;
}

.flow-img{
  width: 300px;
  height: 220px;
  object-fit: cover;
}

a.flow-tel{
  font-weight: bold;
  color: #1469CA;
}

/*==================================================

費用

====================================================*/
.fees-table__wrap {
  margin-top: 80px;
}

.fees-table {
  border: solid 1px #999;
  background: #fff;
  margin-top: 24px;
  width: 100%;
}

.fees-table th,
.fees-table td {
  padding: 1em 0 1em 1em;
  border-bottom: solid 1px #999;
  border-right: solid 1px #999;
  text-align: left;
}

.fees-table th {
  font-weight: bold;
  background-color: #FFA63D;
  color: #fff;
  text-align: center;
}

.fees-table td:first-child {
  font-weight: bold;
  width: 50%;
}

.fees-table td:last-child {
padding: 0 0.5em;
vertical-align: middle;
}

/*==================================================

事務所紹介

====================================================*/
.page-sec__office {
  position: relative;
  overflow: hidden;
}

.page-sec__office:before {
  content: '';
  display: inline-block;
   aspect-ratio: 1.16 / 1;
  width: 877px;
  background: url(/wp-content/themes/hanahara-wp/images/fv-deco.png) no-repeat;
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: 120px;
  right: -12%;
  z-index: -2;
  opacity: 0.4;
}

.page-sec__office__adj01{
  top: 0;
}

.page-office__wrap{
  margin: 120px auto;
  width: min(90%,1080px);
}

.page-office__wrap__adj01{
  margin-top: 0;
}

.page-office__aligned{
  display: flex;
  /* width: 1080px; */
}

.page-message__wrap{
  margin: 80px auto 0 auto;
}

.message-text{
  margin-bottom: 2em;
  white-space: pre-line;
  letter-spacing: 1px;
}

.message-shomei{
  text-align: left;
  margin-top: 3em;
  width: fit-content;
}

.message-shomei .name{
  font-size: 24px;
font-weight: bold;
margin: 8px 0 20px 0;
}

.office-img__wrap{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 80px;
  margin-top: 80px;
}

.office-sign{
  width: 340px;

}

.office-img{
  width: 480px;
  margin: 0 0 0 auto;
}

/* プロフィール */

.page-profile__wrap__adj::before{
  right: 0;
  left: -10%;
  top: 0;
}

.profile-img{
  width: 400px;
}

.profile-aligned{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 80px;
  margin-top: 80px;
}

.profile-unit{
  color: #1469CA;
}

.profile-name__unit .position{
  line-height: 1;
}

.profile-name__unit .name{
  font-weight: bold;
  font-size: 28px;
  display: inline-flex;
  margin-right: 1em;
}

.profile-list{
  margin-top: 32px;
  margin-left: 1em;
}

.profile-list dt{
  position: relative;
  font-weight: bold;
}

.profile-list dt::before{
  content: "";
  position: absolute;
  left: -16px;
  top: 10px;
  width: 8px;
  height: 8px;
  background-color: #FFA63D;
  border-radius: 50%; /* 丸くする */
}

.profile-list .contents{
  display: block;
}

/* 事務所紹介 */
.office-aligned{
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.office-unit{
  width: 450px;
  margin-bottom: 1em;
}

.office-unit dt{
  color: #1469CA;
  border-bottom: solid 1px #1469CA;
  padding-left: 0.5em;
}

.office-unit dd{
  margin: 1em 0 0 1em;
  line-height: 1.5;
}

 .office-google__map{
  width: 90%;
  height: 400px;
  margin: 40px auto 10px auto;
  text-align: center;
  display: block;
 }

/*==================================================

よくある質問

====================================================*/
.faq-induce__list{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  margin-bottom: 80px;
}

.faq-induce__btn a{
  display: block;
  background-color: #fff;
  position: relative;
  padding: 0.5em;
  text-align: center;
  transition: all 0.3s;
}

.faq-induce__btn a:after {
    position: absolute;
    display: block;
    content: "";
    top: 20px;
    right: 16px;
    width: 4px;
    height: 4px;
    border-top: 2px solid #051121;
    border-right: 2px solid #051121;
    transform: rotate(45deg);
    transition: all 0.3s ease-in-out;
  }

  .faq-induce__btn a:hover{
    background: #1469CA;
    color: #fff;
  }

  .faq-induce__btn a:hover::after{
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
  }

.faq-wrap{
  margin-bottom: 120px;
  scroll-margin-top: 100px;
}

.faq-heading{
  font-size: 28px;
  font-weight: bold;
  color: #1469CA;
  margin-bottom: 0.5em;
}
.qa-list{
  margin-bottom: 32px;
}
     .faq-box {
        background: #fff;
        cursor: pointer;
        font-size: 16px;
        padding: 20px 40px;
        position: relative;
        display: flex;
        align-items: center;
        column-gap: 20px;
      }

      .qa-ttl:after {
        position: absolute;
        display: block;
        content: "";
        top: 40%;
        right: 22px;
        width: 8px;
        height: 8px;
        border-top: 2px solid #051121;
        border-right: 2px solid #051121;
        transform: rotate(135deg);
        transition: all 0.3s ease-in-out;
      }
      
      .qa-ttl .faq{
        color: #1469CA;
        font-weight: bold;
        font-size: 18px;
      }

      .qa-ttl.open:after {
        transform: rotate(-45deg);
        top: 48%;
      }

      .qa-text {
        border-left: 1px solid #d9d9d9;
        border-right: 1px solid #d9d9d9;
        border-bottom: 1px solid #d9d9d9;
        display: none;
        padding: 20px 40px 20px 75px;
        position: relative;
        margin: 0;
      }

      .qa-text:before {
        position: absolute;
        display: block;
        content: "A";
        top: 18px;
        left: 40px;
        color: #1469CA;
        font-size: 18px;
        font-weight: bold;
      }

      .faq-list__number{
        margin-left: 1em;
        margin-top: 0.5em;
      }

      .faq-list__number li{
        list-style: decimal;
        margin-bottom: 4px;
      }

/*==================================================

お役立ち情報

====================================================*/
.page-blog__wrap{
  width: min(90%,1080px);
  margin: 120px auto;
}

/* 投稿一覧
======================================== */
      .page-blog__wrap .postlist-aligned {
        display: grid;
        grid-template-columns: 1fr 280px;
        margin: 0 auto;
        justify-content: center;
        column-gap: 5%;
      }

     .page-blog__wrap .postlist-contents__wrap {
        width: 100%;
 display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 40px;
      }


/* 記事がひとつだけのときにサイズ制限 */
.page-blog__wrap .postlist-contents__wrap > *:only-child {
  max-width: 420px;
  justify-self: start; 
}

      .page-blog__wrap .postlist-contents {
        width: 100%;
      }

.page-blog__wrap .postlist-img {
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.page-blog__wrap .postlist-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

      .page-blog__wrap .postlist-date {
        display: flex;
        align-items: center;
        gap: 1em;
        margin: 0.5em;
      }

      .page-blog__wrap .post-time {
        font-size: 14px;
      }

      .page-blog__wrap .post-categories li a{
        padding: 0.5em;
        font-size: 14px;
        background: #1469CA;
        color: #fff;
        letter-spacing: 0;
        line-height: 0.5;
      }

      .page-blog__wrap .post-categories {
        display: flex;
        gap: 0.5em;
      }

      .page-blog__wrap .postlist-ttl {
        font-size: 16px;
        font-weight: bold;
        line-height: 1.5;
        padding: 0 8px;
        letter-spacing: 1px;
      }

      /* サイドバー
======================================== */

      .sidebar {
        background: #fff;
        border: solid 2px #1469CA;
        padding-bottom: 1em;
        height: fit-content;
      }

      .sidebar-ttl {
        font-size: 24px;
        font-weight: bold;
        margin-bottom: 1em;
        background-color: #1469CA;
        color: #fff;
        padding: 0.5em;
        position: relative;
      }

      .sidebar-ttl__EN {
        font-size: 24px;
        font-family: "Smooch", cursive;
        font-weight: bold;
        color: #FFA63D;
        padding: 0.5em;
        margin-bottom: 1em;
        transform: rotate(-10deg);
        position: absolute;
        top: -2px;
      }

      .cat-all,
      .cat-list li{
        margin: 24px 12px;
        border-bottom: solid 1px #d9d9d9;
      } 

      .cat-all a,
      .cat-list li a {
         padding: 0.5em 1em;
         color: #1469CA;
         display: inline-block;
         position: relative;
         transition: 0.3s ease;
      }

      .cat-all a:hover,
      .cat-list li a:hover{
        color: #FFA63D;
      }
      
      .cat-all:hover .sidebar-ttl, 
      .cat-list li:hover .sidebar-ttl{
        background-color: #FFA63D;
      }


      /* ページネーション
======================================== */

      .nav-links {
        margin-top: 56px;
      }

      .page-numbers {
        display: flex;
        align-items: center;
        justify-content: center;
      }

      .page-numbers li {
        display: inline-block;
        margin: 0 8px;
        padding: 6px;
        border: solid 2px #0f77b9;
        color: #0f77b9;
        width: 40px;
        height: 40px;
        text-align: center;
        position: relative;
        border-radius: 5px;
      }

      .current {
        vertical-align: middle;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        text-align: center;
        display: table;
        text-decoration: none;
        font-weight: bold;
        background-color: #1469CA;
        border-radius: 2px;
        padding-top: 3px;
        color: #fff;
      }

      .page-numbers li a {
        color: #1469CA;
        vertical-align: middle;
        position: absolute;
        top: 4px;
        left: 1px;
        width: 100%;
        height: 100%;
        text-align: center;
        display: table;
        text-decoration: none;
      }

      .page-numbers li a:hover,
      .page-numbers li a.active {
        opacity: 0.5;
      }

/*==================================================

記事ページ

====================================================*/      

  /* 投稿内容
======================================== */
      .post-wrap {
    width: 100%;
    max-width: 1080px;
      }


      article{
        margin: 2em 1em;
      }

      .article-ttl {
        font-size: clamp(24px, 2.5vw, 32px);
        line-height: 1.3;
        margin-bottom: 0.5em;
      }

      article .text {
        margin-top: 2.5em;
      }

      article > .text:first-of-type {
        margin-top: 1em;
      }

      .article-imgf {
        margin: 24px auto;
        text-align: center;
      }

      .article-imgf img {
        object-fit: cover;
        /* height: 52vh; */
        aspect-ratio: 16 / 9;
      }

      .post-date {
        display: flex;
        align-items: center;
        gap: 1em;
        margin-top: 0.5em;
      }

      .post-time {
        font-size: 14px;
      }

      .post-date .post-categories li {
        padding: 0.5em;
        font-size: 12px;
        color: #fff;
      }

      article h2{
        font-size: 42px;
      }


 /* SNSシェアボタン
  ======================================== */
      .sns-share__wrap {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
        gap: 10px;
        margin: 80px auto 40px auto;
      }

      .sns-share__wrap li a {
        display: inline-block;
        width: 100%;
        text-align: center;
        padding: 10px 0px;
		  transition: 0.3s;
      }

.sns-share__wrap li a:hover{
	opacity: 0.8;
}

      .sns-share__wrap li a::before {
        content: "";
        display: inline-block;
      }

      .sns-share__text {
        color: #fff;
        font-size: 13px;
      }

      /* X */

      .sns-share__x a {
        background-color: #000;
      }

      .sns-share__x a::before {
        width: 16px;
        height: 16px;
        background-image: url(/wp-content/themes/hanahara-wp/images/x-white.png);
        background-size: contain;
        vertical-align: middle;
        background-repeat: no-repeat;
        margin-right: 0.5em;
        margin-top: -4px;
      }

      .sns-share__x a {
        background-color: #000;
      }

      /* FB */
      .sns-share__fb a::before {
        width: 20px;
        height: 20px;
        background-image: url(/wp-content/themes/hanahara-wp/images/fb-w.png);
        background-size: contain;
        vertical-align: middle;
        background-repeat: no-repeat;
        margin-right: 0.5em;
        margin-top: -4px;
      }

      .sns-share__fb a {
        background-color: #35629a;
      }

      /* はてブ */
      .sns-share__hateb a::before {
        width: 20px;
        height: 20px;
        background-image: url(/wp-content/themes/hanahara-wp/images/hateb-w.png);
        background-size: contain;
        vertical-align: middle;
        background-repeat: no-repeat;
        margin-right: 0.5em;
      }

      .sns-share__hateb a {
        background-color: #00a4de;
      }

    
      /* LINE */
      .sns-share__line a::before {
        width: 20px;
        height: 20px;
        background-image: url(/wp-content/themes/hanahara-wp/images/line-w.png);
        background-size: contain;
        vertical-align: middle;
        background-repeat: no-repeat;
        margin-right: 0.5em;
      }

      .sns-share__line a {
        background-color: #00b903;
      }

      /* ページネーション
  ======================================== */
      .pagena {
        display: flex;
        gap: 4%;
        justify-content: space-between;
      }

      .pagena-prew,
      .pagena-next {
        width: 48%;
        background: #fff;
        padding: 1em 0;
        position: relative;
        line-height: 1.3;
        border: solid 1px #d9d9d9;
        transition: 0.3s ease;
      }

      .pagena-prew {
        padding: 1em;
      }

      .pagena-next {
        padding-right: 3em;
        padding-left: 1em;
      }


      .pagena-cat__list {
        display: block;
        width: 100%;
        background: #FFA63D;
        padding: 1em;
        text-align: center;
        margin: 2em auto;
        transition: 0.3s;
      }

       .pagena-prew a:hover,
        .pagena-next a:hover{
          color:  #FFA63D;
        }

        .pagena-cat__list:hover{
          opacity: 0.8;
        }


  /* 投稿用のスタイル (ブロックエディタ対応)
======================================== */
/* 順序なしリスト（「・」を表示） */
ul.wp-block-list {
  list-style-type: none; /* マーカーの種類を黒丸に指定 */
}

/* 順序付きリスト（数字を表示） */
ol.wp-block-list {
  list-style-type: decimal; /* マーカーの種類を数字に指定 */
}

/* ulとol共通のインデント設定 */
ul.wp-block-list,
ol.wp-block-list {
  margin: 1em 0;
  padding: 1.5em 1em 1.5em 3em;
  background: #fff;
}

/* ネストされた（入れ子になった）リストのマージン調整 */
ul.wp-block-list ul,
ol.wp-block-list ol {
  margin-top: 0.5em;
}

.wp-block-group__inner-container{
  margin-bottom: 80px;
}

/* 見出し */

article h2{
    font-size: 20px;
    font-weight: bold;
    margin: 3em 0 1em 0;
    position: relative;
    padding-left: 0.5em;
    border-left: solid 8px #1469CA
  }

  article h3{
    font-size: 18px;
    font-weight: bold;
    color: #1469CA;
    margin-top: 2.5em;
    margin-bottom: 0.5em;
  }

 .article-text h3:first-child{
  margin-top: 1em;
 }

  .article-text p{
    margin-bottom: 1em;
  }

 article p{
  margin-bottom: 0.5em;   
 }
  
  /* リスト */
  .wp-block-list li{
    padding-bottom: 1em;
  }
  
  .wp-block-list li:last-child{
     padding-bottom: 0;
  }
  
  ul.wp-block-list li{
      position: relative;
  }
  
  
  ul.wp-block-list li:before{
      content:"";
     position: absolute;
      top: 12px;
      left: -16px;
      display: block;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: #FFA63D;
  }

  /* ボタン */

 .wp-block-buttons .wp-block-button{
  width: 50%;
  min-width: 300px;
  margin: 1em auto;
  font-size: 15px;
  }

  .wp-block-buttons .wp-block-button a {
  background: #1E6091;
  text-align: center;
  padding: 1em;
  position: relative;
  transition: 0.3s ease-in-out;
  color: #fff;
  }

  .wp-block-buttons .wp-block-button a::after{
    content: "";
    width: 6px;
    height: 6px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    position: absolute;
    top: 50%;
    right: 10%;
    transform: rotate(45deg) translateY(-50%);
    border-radius: 1px;
	}

  .wp-block-buttons .wp-block-button:visited{
    color: #fff;
  }

   .wp-block-buttons .wp-block-button a:hover{
    opacity: 0.9;
    color: #fff;
   }

/* テーブル  */
   .wp-block-table .has-fixed-layout th,
.wp-block-table .has-fixed-layout td{
border: solid 1px #999;
}


/*==================================================

お問い合わせ

====================================================*/
.contact-wrap{
  margin: 40px 0;
}

.contact-unit{
  margin: 2em auto;
}

.contact-tel_number{
  font-size: 32px;
  font-weight: bold;
  display: inline-block;
  margin-left: 1em;
}

.contact-tel__h{
  display: inline-flex;
  margin-left: 2em;
}

.contact-ttl{
  font-size: 20px;
  font-weight: bold;
  color: #1469CA;
  width: fit-content;
  padding: 0 0.5em;
  border-bottom: solid 2px #FFA63D;
  margin-bottom: 10px;
}

.contact-unit .text{
  margin: 1em 2em;
  white-space: pre-line;
}

/* フォーム
======================================== */
input[type="button"],
input[type="text"],
input[type="submit"],
input[type="image"],
input[type="tel"],
input[type="email"],
input[type="url"],
textarea {
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  font-size: 16px;
	 font-family: YuGothic, 游ゴシック, "Hiragino Kaku Gothic ProN",
    "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, sans-serif;
}

      select {
        -webkit-appearance: none;
        appearance: none;
      }

      form {
        margin: 40px auto;
      }

      .form-box {
        margin: 2em 0;
      }

      form .must::after {
        content: "必須";
        display: inline-block;
        font-size: 70%;
        color: red;
        padding-left: 1em;
      }

      .form-box dt {
        width: 35%;
        margin-right: 2em;
      }

      .form-box dd {
        width: 100%;
        margin-top: 0.5em;
      }

      .form-box__textarea {
        align-items: stretch;
      }

      .form-box__textarea dt {
        margin-top: 2em;
      }

      input {
        outline: none;
      }

      .form-input {
        box-sizing: border-box;
        border: none;
        width: 100%;
        background: #FFF;
        height: 4em;
        padding-left: 0.5em;
        border-bottom: solid 1px #1469CA;
      }

      .radiobtn {
        display: inline-block;
        background: #ddd;
        padding: 1.2em;
      }

      input[type="radio"] {
        transform: scale(1.2);
        margin: 4px 10px 0 0;
      }

      .form-comment {
        box-sizing: border-box;
        border: none;
        width: 100%;
        background: #fff;
        padding: 0.5em;
        border-bottom: solid 1px #1469CA;
      }

      /* #comment {
        height: 280px;
      } */

     /* プライバシーポリシーに同意 */
      .agree-unit {
        display: flex;
        align-items: center;
        justify-content: center;
      }

      .agree-link {
        width: fit-content;
        font-size: 14px;
        border-bottom: solid 1px;
        margin: 0.5em auto;
      }

      .agree-link a:hover {
        opacity: 0.8;
      }

      #agree {
        width: 20px;
        height: 20px;
        margin-right: 8px;
      }

.wpcf7-list-item{
  margin: 0 !important;
}      

 .wpcf7-spinner {
        display: none !important;
    }

      /*送信ボタン*/
      .form-btn__wrap {
        margin: 40px auto;
        width: fit-content;
        height: 50px;
      }

      .submit-btn__notes{
        display: block;
        color: red;
        font-size: 14px;
        text-align: center;
      }


      .submit-btn {
        width: 280px;
        height: 48px;
        border: 0;
        background-color: #051121;
        color: #fff;
        transition: 0.3s;
      }

      .submit-btn:hover {
        opacity: 0.8;
        cursor: pointer;
      }

/* 完了画面
======================================== */
.thanks-text{
    text-align: center;
}

/*==================================================

プライバシーポリシー

====================================================*/
.page-top__inner .privacy-EN{
   top: 164px;
}

.privacy-wrap {
  margin: 64px 0;
}

.privacy-wrap h2 {
  font-size: 20px;
  margin-bottom: 0.5em;
	line-height: 1.2;
}

.privacy-wrap h3 {
  margin-top: 1em;
}

.privacy-wrap .text{
  margin-top: 0;
}

.privacy-unit {
  display: flex;
  align-items: center;
  gap: 2em;
  font-weight: 400;
}

/*==================================================

404ページ

====================================================*/
.error404-wrap{
  width: min(90%,1080px);
  margin: 80px auto;
}

.page-subheading__404 {
    font-size: 24px;
    font-weight: bold;
    color: #1469CA;
    margin-bottom: 0.5em;
}

.base-btn__404{
  margin: 40px 0 0 0;
}

/*==================================================

Hamburger Menu  ~1329px

====================================================*/

@media screen and (max-width: 1329px) {
#header__nav{
  display: none;
}  
#header__nav02,
.for-sp {
  display: block;
}

 .header__wrap {
    width: 100%;
  }

  .header__wrap.clicked .header02-cover {
    display: block;
    position: fixed;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 8;
    transition: all 0.5s ease-in-out;
    background: rgba(3, 3, 3, 0.8);
  }

  .header-nav__list02 {
    padding-left: 0;
  }

  #header__nav02 {
    display: block;
    /* background: #1469CA; */
    border: solid 6px #FFA63D;
  }

  #header__nav {
    display: none;
  }

  .header__nav02 {
    position: fixed;
    top: -120%;
    right: 0;
    width: 100%;
    height: 100vh;
    background-color: #fff;
    transition: all 0.5s;
    display: flex;
    justify-content: center;
    padding-top: 56px;
    z-index: 9;
    overflow: auto;
    box-sizing: border-box;
  }

  .clicked .header__nav02 {
    top: 0;
  }

  .header02-logo {
    position: absolute;
    top: 25px;
    left: 16px;
  }

  .header-nav__list02 li {
    border-bottom: solid 2px #d9d9d9;
    position: relative;
    margin: 0 auto;
    width: 90%;
  }

  .header-nav__list02 li a {
    display: block;
    padding: 20px 40px;
  }

  .cateTitle:hover{
    color: #FFA63D;
  }


  .header-nav__list02 .header-sp{
    padding: 32px 0;
    margin: 0 auto;
    background: #F1F5F7;
  }

 .header-sp .header-tel__desc{
  text-align: center;
	 margin-left: 0;
 } 

.header-nav__list02 .header-contact {
  padding-top: 0;
  text-align: center;
}

.header-nav__list02 > li:last-child {
border: none;
}
  .header-tel:before {
    margin-left: 40px;
    margin-right: -10px;
  }

  .header-nav__list02 .header-tel {
    border: none;
  }

.header-nav__list02 .header-tel a{
    padding: 0;
    text-align: center;
  }

.header-contact a{
  display: inline-flex !important;
  flex-direction: row;
  width: 50%;
  height: 60px;
  min-width: 250px;
  gap: 8px;
}

  .header02-toggle {
    width: 100%;
  }

  .cateTitle,
  .childCat li {
    display: block;
    line-height: 1.6;
    border: none;
    cursor: pointer;
    transition: 0.5s ease-in-out;
    position: relative;
    margin: 0;
  }

  /* プラスマイナス */
  .cateTitle {
    position: relative;
    display: block;
  }

  .cateTitle {
    padding: 20px 40px;
  }

  .cateTitle:after {
    position: absolute;
    content: "";
    top: 24px;
    right: 20px;
    transform: rotate(45deg);
    transition: 0.4s cubic-bezier(0.33, 1, 0.68, 1);
  }

  .cateTitle:active:after {
    transform: rotate(-45deg);
  }

  .childCat li a {
    padding: 8px 20px 0px;
    font-size: 13px;
  }

  .childCat .bold {
    font-weight: bold;
  }

  .childCat .bold a {
    padding-bottom: 0;
    padding-top: 20px;
  }

  .cateTitle.open {
    padding-bottom: 20px;
  }

  .cateTitle.open:after {
    transform: rotate(-135deg);
  }

  .childCat li a {
    padding: 8px 20px;
  }

  .childCat {
    display: none;
    overflow: hidden;
    animation: show 0.6s linear;
    margin-left: 20px;
    margin-bottom: 20px;
  }

  @keyframes show {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }

  .has-child::after, .cateTitle::after{
    width: 10px;
    height: 10px;
  }

  /* ham */
  #header__ham {
    position: fixed;
    top: 0;
    right: 0;
    width: 60px;
    height: 60px;
    z-index: 100;
    background-color: #1469CA;
    cursor: pointer;
  }

  .header-ham__line {
    position: absolute;
    width: 40px;
    height: 3px;
    background-color: #fff;
    z-index: 150;
    transition: all 0.5s;
    border-radius: 10px;
  }

  .line1 {
    top: 20px;
    left: 10px;
  }
  .line2 {
    top: 28px;
    left: 10px;
  }

  .line2::after {
    content: "MENU";
    position: absolute;
    top: 8px;
    left: 5px;
    font-size: 10px;
    color: #fff;
  }

  .clicked .line1 {
    transform: rotate(45deg);
    top: 20px;
  }
  .clicked .line2 {
    transform: rotate(-45deg);
    top: 20px;
  }

  .clicked .line2::after {
    content: "CLOSE";
    transform: translateY(0) rotate(45deg);
    top: 12px;
    left: -14px;
  }

  .slider-wrap {
    -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 700px 100%, 700px calc(100% - 160px), 0 calc(100% - 160px)); 
    clip-path: polygon(0 0, 100% 0, 100% 100%, 700px 100%, 700px calc(100% - 160px), 0 calc(100% - 160px));
}

.top-news__wrap {
  bottom: 2%;
}



.slider{
  margin: 80px 0 80px auto;
}

.fv-copy__text02{
  margin-top: 24px;
}

/* フッターボタン02（SPの場合の誘導ボタン）
======================================== */
/* JS準備完了後にだけ表示を許可 */
  body.is-footerbtn-ready #footer-btn-js.for-sp{
    display: block;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 9999;

    /* 初期状態　隠す */
    opacity: 0;
    transform: translateY(110%);
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease;
  }

  /* 表示状態（スクロール後） */
  body.is-footerbtn-ready #footer-btn-js.for-sp.is-show{
    opacity: .9;
    transform: translateY(0);
    pointer-events: auto;
  }

  .footer-btn__wrap{
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 14px;
    background: #FFA63D;
    width: 240px;
  }

  .footer-btn__text{
    font-size: 14px;
  }

  .footer-btn01{
    display: flex;
    align-items: center;
  }

  .footer-btn01 a{
    font-size: 24px;
    font-weight: bold;
    color: #1469CA;
  }

  .footer-btn01::before {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url(/wp-content/themes/hanahara-wp/images/tel.png) no-repeat;
  background-size: contain;
}

.base-btn.footer-btn02{
    margin: 0;
  }

  .footer-btn02 a{
    width: 200px;
    height: 40px;
    font-size: 15px;
    color: #1469CA;
  }        
      

  /* end   */
}

/*==================================================

tablet ~1079px

====================================================*/
@media screen and (max-width: 1079px) {

.induce-list{
  width: 90%;
  grid-template-columns: repeat(2, 1fr);  
}

.induce-list li a{
  width: 100%;
}

.induce-contact__aligned{
  gap: 40px;
}

.page-top__ttl{
  font-size: 48px;
  padding-top: 68px;
}

.page-top__ttlEN{
  top: 128px;
}

  /* トップページ
======================================== */

/* FV */
.fv-copy__text01{
  font-size: 48px;
}

/* 悩み */
.top-heading .EN-problem{
  font-size: 4vw;
  top: 45px;
  margin-left: 24px;
}

.assignment-aligned{
  width: 90%;
  margin: 0 auto;
  transform: none;
  justify-content: center;
  align-items: center;
  gap: 24px;
}

.assignment-img{
  width: 130px;
}

/* 解決 */
.top-heading .EN-solution{
  font-size: 5vw;
  top: 20px;
  margin-left: 0;
}

.solution-list{
  flex-direction: column;
  align-items: center;
  gap: 40px;
    width: 100%;
}

.solution-list li{
  width: 90%;
  height: auto;
}

.solution-ttl{
  text-align: center;
}

/* 強み */
.top-heading .EN-strength{
  font-size: 5vw;
  top: 20px;
  margin-left: 0;
}
.strength-aligned{
width: 90%;
justify-content: center;
gap: 24px;
}

/* 取扱業務 */
.top-sec__service .top-service__list{
grid-template-columns: repeat(2, 1fr);
gap: 24px;
}

.top-service__list li a{
  width: 100%;
}

  /* 流れ
======================================== */

.flow-aligned{
  justify-content: space-between;
}

figure .flow-img{
  flex-shrink: 0;
}

.flow-text{
  margin-left: 0;
}

  /* 事務所案内
======================================== */
/* .page-sec__office:before{
width: 480px;
} */

  /* end   */
}

/*==================================================

SP 〜770px

====================================================*/
@media screen and (max-width: 770px) {
/* common */

.br-nlc02{
  display: none;
}

.br-nlc03{
  display: block;
}

.base-btn{
  margin: 40px auto 0 auto;
}

 .top-heading{
 font-size: 28px;
 }

.top-heading__EN,
.top-heading .EN-solution,  
.top-heading .EN-problem,
.top-heading .EN-strength {
    position: absolute;
    top: -68px;
    left: 10%;
    transform: translateX(-50%) rotate(-16deg);
    font-size: clamp(42px, 9vw, 56px);
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
  }

  .top-heading .EN-adj01{
  font-size: 48px;
  left: 0;
 }

.EN-contact{
font-size: 56px;
left: 10%;
 }

 .induce-contact__inner{
  max-width: 100%;
 }

 .induce-contact__aligned{
  flex-direction: column;
  align-items: center;
  gap: 24px;
 }

 .top-heading__contact{
  font-size: 32px;
  margin-top: -64px;
 }

 .induce-list{
  gap: 24px;
 }

 .footer-wrap > .footer-unit {
  justify-content: flex-start;
}

 .footer-unit,
 .footer-nav__list{
  width: 90%;
  justify-content: center;
 }

.footer-nav__list{
  justify-content: center;
 }

 .footer-unit dt{
  flex-shrink: 0;
 }

 /* ページ */
 
.aioseo-breadcrumbs{
  margin: 48px 0;
}
 .page-sec__wrap02{
  margin: 0 auto 80px auto;
 }

 .page-top__wrap{
  margin: 140px 0 120px 0;
  height: 180px;
}

.page-sec__wrap{
  margin-bottom: 80px;
}

.page-lead__wrap{
  margin-bottom: 64px;
}

.page-top__inner{
  margin-left: 1em;
}

.page-top__ttl{
  font-size: clamp(
    32px,
    calc(32px + (42 - 32) * (100vw - 370px) / (770 - 370)),
    42px
  );
  margin: 0;
padding-left: 0;
padding-top: 75px;
}

 .page-top__ttlEN{
  left: 10px;
  top: 128px;
  font-size: 42px;
 }

 .page-top__ttl::before{
  width: 360px;
  top: -40px;
 }

 .page-heading{
  font-size: 28px;
  margin-bottom: 1em;
  line-height: 1.3;
  padding: 6px;
 }

 .page-subheading{
  font-size: 20px;
  margin-bottom: 1em;
 }

 .page-subheading02{
  font-size: 18px;

 }

 .page-top__desc{
  margin-bottom: 24px;
 }

 /* トップページ */

.top-sec__wrap{
  margin: 80px auto;
}

  .slider-wrap{
    margin-bottom: 0;
    clip-path: none;
  }

.fv-news__item{
  flex-direction: column;
  gap: 0;
  align-items: flex-start;
}  

.fv-copy__text01{
  font-size: 28px;
  margin-bottom: 0.5em;

}  

.fv-copy__text02{
  font-size: 16px;
  padding: 0.5em;
  padding-left: 12px;
}

.fv-copy__wrap{
  top: 46vh;
}

.top-service__list img{
  width: 140px;
}

  .top-news__wrap{
    position: static;
    margin: -24px auto 54px 0.5em;
  }


.top-news__wrap::before{
width: 320px;
top: -56px;
}  

.top-news__wrap::after{
  width: 130px;
  left: 192px;
  top: 112px;
}


.top-assignment__wrap{
  padding-top: 120px;
}

.assignment-aligned{
  flex-direction: column-reverse;
  gap: 0;
}

.assignment-img{
  margin-top: 24px;
  width: 86px;
}

.solution-list{
  margin: 1em auto 80px auto;
  gap: 24px;
}

.top-heading__solution{
 margin-bottom: 0;
}

.assignment-list li{
  font-size: 16px;
  padding: 1em 0.5em 1em 2.5em;
  min-height: auto;
}

.assignment-list li::before{
  left: 10px;
  width: 22px;
  height: 22px;
}

.solution-ttl{
  font-size: 18px;
}

.solution-wrap{
  padding-top: 96px;
}

.top-sec__strength{
 padding: 120px 0 80px 0;
 margin-bottom: 0;
}

.strength-aligned{
  flex-direction: column;
    width: 90%;
margin: 24px auto 48px auto;  
}

.top-sec__strength > .strength-aligned:nth-last-child(2) {
  margin-bottom: 0;
}

.strength-aligned__adj{
  flex-direction: column-reverse;
}

.strength-number{
  font-size: 85px;
}

.strength-ttl{
  font-size: 24px;
}

.strength-aligned .text{
  max-width: 100%;
}

.strength-img{
  width: 280px;
  height: 180px;
}

.top-sec__service{
  padding-bottom: 80px;
}

.top-service__list{
  margin: 24px auto;
}

.top-access__wrap{
  width: 100%;
  padding: 0 20px;
}

.top-access__list li{
  width: 100%;
}

 .top-google__map{
  width: 90%;
  margin-top: 24px;
 }
 
 .top-sec__column{
  padding-bottom: 80px;
 }

 .top-column__inner{
  width: 90%;
  margin: 0 auto;
 }

.top-blog__unit{
  flex-direction: column;
  margin-top: 24px;
}

.top-blog__unit .postlist-contents{
  width: 90%;
  max-width: 400px;
  margin: 0 auto;
}

.triangle {
  border-left: 40px solid transparent;  /* 左側を透明 */
  border-right: 40px solid transparent; /* 右側を透明 */
  border-top: 40px solid #1469CA;       /* 上の辺を青にして三角形 */
  position: absolute;
  bottom: -32px;
  left: 50%;
  transform: translateX(-50%);
}

.top-sec__access{
  padding-bottom: 80px;
}

.top-access__list{
  flex-direction: column;
  margin-left: 0;
  gap: 24px;
}

.top-access__notes{
  white-space: normal;
}

.parking-img{
  max-width: 200px;
}

.induce-contact__aligned .induce-contact__btn{
margin-top: 0;
}

.induce-contact__wrap{
  padding-bottom: 80px;
}

/* 横スクロール */
  .table-scroll{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .table-scroll table{
    min-width: 800px; /* ← 重要 */
    margin-top: 0;
  }

    .table-scroll::before{
    content: "← 横にスクロールできます →";
    display: block;
    font-size: 14px;
    color: #FFA63D;
    text-align: center;
    margin-bottom: 6px;
    font-weight: bold;
  }

  .table-scroll::after{
    content: "← 横にスクロールできます →";
    display: block;
    font-size: 14px;
    color: #FFA63D;
    text-align: center;
    margin-top: 6px;
    font-weight: bold;
  }

  /* 取扱業務
======================================== */
.service-list{
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  width: 100%;
  margin: 0 auto;
}

.service-ttl{
  font-size: 24px;
  margin-top: 16px;
}

.service-text__adj{
  padding: 1em;
}

.service-list li a{
  padding-top: 10px;
  height: 330px;
}

  /* 建設業許可
======================================== */
.onayami-sec__wrap .assignment-list li::before{
  top: 32%;
  left: 0;
}

.onayami-list li{
 padding-left: 2em;
}

.onayami-heading {
  font-size: 20px;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
}

.kaiketsu-list li{
  font-size: 16px;
}

.kensetsu-contents__unit{
  flex-wrap: wrap;
}

.kensetsu-contents__unit dt{
  width: auto;
}

.kensetsu-contents__unit dd{
  margin-left: 0;
}

.kensetsu-contents__unit dd:last-child{
  margin-top: 0.5em;
}

.kensetsu-type__aligned{
  flex-direction: column;
  gap: 24px;
}

.kensetsu-type__wrap{
width: 100%;
}

.page-fee__table td{
  padding: 0.5em;
}

  /* 経審・入札
======================================== */

.keishin-unit{
margin-left: 0;
}

.keishin-unit dt {
  font-size: 16px;
}

.keishin-unit .keisanshiki{
  padding: 1em;
  font-size: 14px;
  width: 300px;
}

.keishin-unit dd{
  margin-left: 0;
}


  /* 会社設立
======================================== */
.setsuritsu-procedure__list li{
  margin-left: 1em;
}

.setsuritsu-procedure__list li{
  font-size: 16px;
}

.setsuritsu-procedure__list li .text{
  font-size: 14px;
}

.setsuritsu-procedure__wrap .text{
  margin-left: 0;
}

.torishimari-table{
  margin-left: 0;
}

.setsuritsu-procedure__wrap{
  margin-top: 40px;
}

.setsuritsu-costs{
  margin-left: 0;
}

  /* その他業務
======================================== */
.page-other__wrap{
  margin-top: 24px;
}


  /*  料金
======================================== */
.fees-table{
  margin-top: 0;
}

.fees-table th, .fees-table td{
  font-size: 14px;
  padding: 0.5em;
}


  /* 事務所紹介
======================================== */
.page-office__wrap{
  margin: 64px auto;
}

.page-office__wrap__adj01{
  margin-top: 0;
}

.page-message__wrap{
  margin: 0 auto;
}

.page-sec__office:before{
  max-width: 1080px;
  width: 1080px;
}

.message-shomei{
  margin-top: 1em;
}

.message-shomei .position{
  font-size: 14px;
}

.message-shomei .name{
  font-size: 18px;
}

.office-img{
  width: 60%;
  min-width: 280px;
  margin-top: 10px;
}

.profile-aligned{
  flex-direction: column-reverse;
  align-items: center;
  margin-top: 24px;
  gap: 24px;
}

.profile-name__unit .name{
  font-size: 24px;
}

.profile-list{
  margin-top: 1em;
}

.office-aligned{
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.office-unit{
  width: 100%;
  margin: 1em auto;
}

.office-google__map{
  width: 100%;
}

.page-sec__access .top-access__wrap{
  padding: 0;
}

  /* ご相談の流れ
======================================== */

.flow-ttl{
  font-size: 24px;
}

.flow-unit{
  width: 100%;
}

.flow-aligned{
flex-direction: column;
align-items: center;
gap: 24px;
}

  /* よくある質問
======================================== */

.faq-induce__btn a{
  font-size: 14px;
}

.faq-induce__list{
  margin-bottom: 40px;
}

.faq-heading{
  font-size: 24px;
}

.faq-wrap{
  margin-bottom: 80px;
}

.faq-box{
  padding: 1em 2em 1em 1em;
}

.qa-text{
  padding: 1em 1em 1em 48px;
}

.qa-text:before{
  left: 16px;
}

  /* よくある質問
======================================== */
.page-blog__wrap .postlist-aligned{
  display: flex;
  flex-direction: column;
  align-items: center;
}


  /* ブロク一覧・投稿
======================================== */

.sidebar{
  width: 100%;
  margin-bottom: 0;
  margin-top: 40px;
  padding-bottom: 1em;
}

.page-blog__wrap{
  margin-top: 80px;
}

.pagena-cat__list{
  padding: 0.5em;
  margin: 0 auto;
}

.cat-all, .cat-list li{
  margin: 1em;
}

article{
  margin: 1em 0;
}

.sns-share__wrap{
  margin: 40px auto;
}

.page-blog__wrap .pagena{
  flex-direction: column;
  align-items: center;
  gap: 1em;
}

.pagena-prew, .pagena-next{
  width: 100%;
}



  /* お問い合わせ
======================================== */
.contact-ttl{
  font-size: 18px;
}

.contact-tel_number{
  font-size: 24px;
}

.contact-tel_number,
.contact-tel__h{
  margin-left: 0.5em;
}

.contact-unit .text{
  margin-left: 0.5em;
  margin-right: 0;
}

.form-box dt{
  width: 100%;
}

.form-box{
  margin: 1em 0;
}

.form-box__textarea dt{
  margin-top: 0;
}

.contact-wrap .page-heading{
  font-size: 26px;
}

.thanks-text{
  font-size: 14px;
}

  /* プライバシーポリシー
======================================== */

.page-top__inner .ttl-privacy{
  font-size: 7.6vw;
}

.page-top__inner .privacy-EN{
  font-size: 48px;
  top: 152px;
}

  /* end   */
} 
/*==================================================

SP フッターボタン　〜490px

====================================================*/
@media screen and (max-width: 490px) {

  /* 余白(safe area)は外側に */
  body.is-footerbtn-ready #footer-btn-js.for-sp{
    left: 0;
    right: 0;
    width: 100%;
    padding-bottom: 0;
    background: transparent; /* ここは透明でOK */
  }


  /* 中身のオレンジは必要な高さだけ */
  .footer-btn__wrap{
    flex-direction: row;
    justify-content: center;
    gap: 24px;
    width: 100%;
    padding: 14px;
    margin: 0;
    background: #FFA63D;    /* オレンジはこっちだけ */
  }


  .footer-btn__text{
    display: none;
  }

  .footer-btn01 a{
    font-size: 18px;
  }

  .footer-btn02 a{
    width: 168px;
    font-size: 14px;
  }
  /* end   */
} 
