@charset "UTF-8";
/* *****************************************************************

Stylesheet: ベーススタイル（全て）に適応

******************************************************************/
/* TOPのパネル */
.top-panel {
  /* 位置調整 */
  position: relative;
  -webkit-transform: translateY(-100px);
          transform: translateY(-100px);
  z-index: 1;
}

.top-panel .smb-panels__item {
  /* パネルの影 */
  -webkit-box-shadow: 0 -6px 8px rgba(0, 0, 0, 0.1) !important;
          box-shadow: 0 -6px 8px rgba(0, 0, 0, 0.1) !important;
}

.top-panel .smb-panels__item:hover {
  /* 標準であるホバーエフェクトの除去 */
  -webkit-box-shadow: none;
          box-shadow: none;
}

.top-panel .smb-panels__item__body {
  /* 標準のh2装飾の除去 */
  padding: 80px;
}

.top-panel .smb-panels__item__body h2 {
  background-color: transparent;
  border-left: none;
}

/* 3枚並んだパネルの装飾 */
.panels .c-row__col {
  /* パネルの余白除去 */
  padding: 0;
}

.panels .smb-panels__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 0;
  /* パネルホバー時の装飾 */
}

.panels .smb-panels__item__figure {
  /* テキストと画像の位置変更 */
  position: relative;
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  overflow: hidden;
}

.panels .smb-panels__item__figure::before {
  /* ホバー時の装飾 */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  content: '';
  white-space: pre;
  background: radial-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.9));
  color: #fff;
  font-size: 13px;
  -webkit-transition: all 0.6s 70ms;
  transition: all 0.6s 70ms;
  opacity: 0;
  z-index: 1;
}

.panels .smb-panels__item__figure img {
  /* 変化の時間 */
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
}

.panels .smb-panels__item__body {
  /* パネルのボーダー部分 */
  -webkit-box-shadow: 0 0 0 1px #ccc;
          box-shadow: 0 0 0 1px #ccc;
  /* パネルのテキストと画像の順序を変更*/
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.panels .smb-panels__item__title {
  font-size: 24px;
}

.panels .smb-panels__item__content {
  font-size: 14px;
}

.panels .smb-panels__item:hover .smb-panels__item__figure::before {
  /* ホバー時に文字浮き出して見えるようにscaleで拡大 */
  -webkit-transform: scale(1.4);
          transform: scale(1.4);
  opacity: 1;
}

.panels .smb-panels__item:hover .smb-panels__item__figure img {
  /* ホバー時に画像を拡大 */
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

.smb-section__title {
  /* セクションタイトルサイズ変更 */
  font-size: 2.5em;
}

.smb-section__title::after {
  /* 標準であるセクションタイトルの下線除去 */
  display: none;
}

/* バナーの装飾 */
.banners .smb-items__banner__figure {
  /* デフォルトのfilterの除去 */
  -webkit-filter: none !important;
          filter: none !important;
}

.banners .smb-items__banner__figure img {
  /* 常時filterをかける */
  -webkit-filter: brightness(0.8);
          filter: brightness(0.8);
}

.banners .smb-items__banner__body {
  /* 変化にかける時間 */
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s;
}

.banners .smb-items__banner__title {
  font-size: 24px;
  font-weight: 600;
}

.banners .smb-items__banner__lede {
  font-size: 16px;
}

.banners .smb-items__banner:hover .smb-items__banner__body {
  /* ホバー時に文字を右に移動 */
  -webkit-transform: translateX(15px);
          transform: translateX(15px);
}

@media (max-width: 1023px) {
  /******************************************************************

Stylesheet: 1023px以下（タブレット）で適用

******************************************************************/
  /* ヒーロースライダー */
  .hero__title h2 {
    font-size: 32px;
  }
  .hero .swiper-slide {
    height: 80vh;
  }
  /* タブレット以下でパネルの画像の重なりをなくす */
  .top-panel {
    margin-top: 30px;
    -webkit-transform: none;
            transform: none;
    /* パネルの影を調節 */
  }
  .top-panel .smb-panels__item {
    -webkit-box-shadow: 10px 0 -10px rgba(0, 0, 0, 0.2);
            box-shadow: 10px 0 -10px rgba(0, 0, 0, 0.2);
  }
  .top-panel .smb-panels__item__body {
    padding: 30px;
  }
  /* フッターウィジェットエリア */
  .l-footer-widget-area__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 50%;
            flex: 0 1 50%;
    border: none !important;
  }
}

@media (max-width: 639px) {
  /******************************************************************

Stylesheet: 639px以下(スマホ)で適用

******************************************************************/
  /* ヒーロースライダー */
  .hero__title {
    top: 15% !important;
  }
  .hero__title h2 {
    font-size: 24px !important;
  }
  .hero__btn {
    bottom: 20% !important;
  }
  .hero__btn a {
    /* ボタンのサイズを小さく */
    width: 180px !important;
    height: 45px !important;
  }
  /* 3つ並んだパネル */
  .panels {
    /* パネルの余白追加 */
  }
  .panels .c-row__col {
    padding: 0 14px;
  }
  /* ボタン */
  .btn .smb-btn {
    width: 180px !important;
    height: 45px !important;
    margin-top: 30px !important;
  }
  /* 任意のタクソノミーの投稿（リッチメディア）のスタイル（スマホ） */
  .c-entries--rich-media .c-entries__item:nth-of-type(-n + 5) {
    /* 6番目を除く */
    margin-bottom: 30px;
  }
  .c-entries--rich-media .c-entry-summary__content {
    /* スマホでテキスト除去 */
    display: none;
  }
  /* フッター */
  .info-inner {
    display: block !important;
    text-align: center !important;
    height: auto !important;
    padding: 40px;
  }
  .info__logo {
    margin-right: 0 !important;
    margin-bottom: 25px;
  }
  .info__logo img {
    width: 120px;
  }
  .info__text {
    margin-bottom: 25px;
  }
}

.swiper-slide {
  /* 表示させる高さの調整 */
  position: relative;
  height: 70vh;
  overflow: hidden;
}

.swiper-slide .main-visual {
  width: 100%;
  height: 100%;
  max-width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-transition: -webkit-transform 9s ease;
  transition: -webkit-transform 9s ease;
  transition: transform 9s ease;
  transition: transform 9s ease, -webkit-transform 9s ease;
}

.swiper-slide-active .main-visual {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

.swiper-slide-active .hero__title {
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 1;
}

.swiper-slide-active .hero__btn {
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 1;
}

.hero {
  overflow: hidden;
}

.hero__title {
  position: absolute;
  top: 30%;
  left: 50%;
  color: #fff;
  text-align: center;
  width: 90vw;
  -webkit-transform: translate(-50%, 20px);
          transform: translate(-50%, 20px);
  -webkit-transition: opacity 1.2s ease 1.5s, -webkit-transform 1.2s ease 1.5s;
  transition: opacity 1.2s ease 1.5s, -webkit-transform 1.2s ease 1.5s;
  transition: opacity 1.2s ease 1.5s, transform 1.2s ease 1.5s;
  transition: opacity 1.2s ease 1.5s, transform 1.2s ease 1.5s, -webkit-transform 1.2s ease 1.5s;
  z-index: 1;
  opacity: 0;
}

.hero__title h2 {
  font-size: 36px;
  text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.8);
  line-height: 2em;
}

.hero__title span {
  display: block;
}

.hero__btn {
  position: absolute;
  bottom: 30%;
  left: 50%;
  font-size: 16px;
  color: #fff;
  -webkit-transform: translate(-50%, 20px);
          transform: translate(-50%, 20px);
  -webkit-transition: opacity 1.2s ease 2.5s, -webkit-transform 1.2s ease 2.5s;
  transition: opacity 1.2s ease 2.5s, -webkit-transform 1.2s ease 2.5s;
  transition: opacity 1.2s ease 2.5s, transform 1.2s ease 2.5s;
  transition: opacity 1.2s ease 2.5s, transform 1.2s ease 2.5s, -webkit-transform 1.2s ease 2.5s;
  opacity: 0;
  z-index: 1;
}

.hero__btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background-color: #cd162c;
  text-decoration: none;
  width: 240px;
  height: 60px;
}

/* ヘッダー */
/* グローバルメニュー位置調整 */
.l-header .c-navbar__item {
  position: relative;
}

.l-header .c-navbar__item::after {
  /* メニューアイテムの左に区切り線 */
  content: '';
  position: absolute;
  top: 50%;
  display: block;
  height: 30px;
  margin-top: -15px;
  border-right: 1px solid #ccc;
}

.l-header .c-navbar__item:last-of-type::before {
  /* 最後のメニューアイテムの右に区切り線 */
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  display: block;
  height: 30px;
  margin-top: -15px;
  border-right: 1px solid #ccc;
}

.btn .smb-btn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 240px;
  height: 60px;
  margin-top: 60px;
}

/* 最近の投稿（テキスト）のスタイル */
.c-entries--text {
  position: relative;
  background-color: #f9f9f9;
  border-right: 1px solid #eee;
  border-left: 1px solid #eee;
}

.c-entries--text .c-entries__item a {
  padding-right: 2em;
  padding-left: 2em;
}

.c-entries--text .c-entries__item .c-entry-summary {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* 作成したカテゴリーIDによって末尾の番号が変わります */
  /* 作成したカテゴリーIDによって末尾の番号が変わります */
  /* 作成したカテゴリーIDによって末尾の番号が変わります */
  /* 作成したカテゴリーIDによって末尾の番号が変わります */
}

.c-entries--text .c-entries__item .c-entry-summary__title {
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}

.c-entries--text .c-entries__item .c-entry-summary__figure {
  display: block;
  position: absolute;
  top: -2px;
  left: 6em;
  /* 日付の長さに合わせて調整 */
  background-color: transparent;
}

.c-entries--text .c-entries__item .c-entry-summary__figure img, .c-entries--text .c-entries__item .c-entry-summary__figure::before {
  display: none;
}

.c-entries--text .c-entries__item .c-entry-summary__figure span {
  background-color: #fff;
  border-radius: 15px;
}

.c-entries--text .c-entries__item .c-entry-summary__term--category-4 {
  color: #333;
  border: 1px solid #333;
}

.c-entries--text .c-entries__item .c-entry-summary__term--category-6 {
  color: #cd162c;
  border: 1px solid #cd162c;
}

.c-entries--text .c-entries__item .c-entry-summary__term--category-5 {
  color: #104f96;
  border: 1px solid #104f96;
}

.c-entries--text .c-entries__item .c-entry-summary__term--category-7 {
  color: #e97501;
  border: 1px solid #e97501;
}

.c-entries--text .c-entries__item .c-entry-summary__term {
  position: relative;
  left: 0;
  white-space: nowrap;
}

.c-entries--text .c-entries__item .c-entry-summary__meta {
  margin-right: 10rem;
  /* カテゴリー名の長さにあわせて調整 */
}

.c-entries--text .c-entries__item:hover .c-entry-summary__title {
  color: #cd162c;
}

/* 任意のタクソノミーの投稿（リッチメディア）のスタイル */
.c-entries--rich-media .c-entries__item:nth-of-type(-n + 3) {
  /* メディアの下に余白を増やす */
  margin-bottom: 80px;
}

.c-entries--rich-media .c-entries__item .c-entry-summary {
  /* 作成したカテゴリーIDによって末尾の番号が変わります */
  /* 作成したカテゴリーIDによって末尾の番号が変わります */
  /* 作成したカテゴリーIDによって末尾の番号が変わります */
}

.c-entries--rich-media .c-entries__item .c-entry-summary__figure {
  /* border-leftを適応するためmarginを消す */
  margin-bottom: 0;
}

.c-entries--rich-media .c-entries__item .c-entry-summary__figure img {
  /* 変化の時間 標準の装飾を除去 */
  -webkit-transition: -webkit-transform 0.6s;
  transition: -webkit-transform 0.6s;
  transition: transform 0.6s;
  transition: transform 0.6s, -webkit-transform 0.6s;
  -webkit-filter: none !important;
          filter: none !important;
}

.c-entries--rich-media .c-entries__item .c-entry-summary__term--category-6 {
  background-color: rgba(205, 22, 44, 0.8);
}

.c-entries--rich-media .c-entries__item .c-entry-summary__term--category-5 {
  background-color: rgba(16, 79, 150, 0.8);
}

.c-entries--rich-media .c-entries__item .c-entry-summary__term--category-7 {
  background-color: rgba(233, 117, 1, 0.8);
}

.c-entries--rich-media .c-entries__item .c-entry-summary__body {
  /* 見栄えを良くするため左側に余白をつける テキスト左側の縦線 */
  padding-left: 30px;
  border-left: 5px solid #cd162c;
}

.c-entries--rich-media .c-entries__item .c-entry-summary__header {
  /* c-entry-summary__figureでmarginを除去したので余白を埋め合わせ */
  padding: 20px 0;
}

.c-entries--rich-media .c-entries__item .c-entry-summary__content {
  /* テキスト部分の装飾 */
  color: #333;
  font-size: 14px;
  line-height: 2.25em;
}

.c-entries--rich-media .c-entries__item .c-entry-summary__meta {
  /* 投稿者・日時の除去 */
  display: none;
}

.c-entries--rich-media .c-entries__item a:hover .c-entry-summary__figure img {
  /* ホバー時の画像拡大 */
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

/* フッターの上 */
.info {
  /* フッター上部にボーダー */
  border-top: 1px solid #ccc;
}

.info-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1180px;
  height: 140px;
}

.info__logo {
  margin-right: 30px;
}

.info__logo img {
  width: 150px;
}

.info__text {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 14px;
}

.info .social-nav {
  margin-left: 0;
}

.info .social-nav__icon {
  display: inline;
  margin: 0 10px;
  list-style: none;
}

.info .social-nav__icon a {
  color: #212121;
}

/* フッターウィジェットエリア */
.l-footer-widget-area {
  /* ウィジェットエリアの上部にボーダーを入れるため、paddingを除去 */
  border-top: 1px solid #ccc;
  padding: 0;
}

.l-footer-widget-area .c-row {
  /* 左右にボーダー */
  border-right: 1px solid #ccc;
  border-left: 1px solid #ccc;
}

.l-footer-widget-area__item {
  /* paddingを除去し、詰まったのでこちらで追加 */
  padding: 40px;
}

.l-footer-widget-area__item:nth-of-type(n + 2) {
  /* 最初の一つ目を除くブロックにボーダー */
  border-left: 1px solid #ccc;
}

.l-footer-widget-area__item .c-widget__title {
  /* タイトルを左寄せ */
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  color: #26BDC2;
}

.l-footer-widget-area__item .c-widget__title::before, .l-footer-widget-area__item .c-widget__title::after {
  /* 左右のボーダーの除去 */
  display: none;
}


/*header*************/



/* ヘッダー全体を基準にする */
.l-header .c-container{
  position:relative;
}

/* ナビ内に入れたHTMLを右上へワープ */
.header-contact{
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  align-items:center;
  gap:30px;
  z-index:100;
}

/* 電話ブロック */
.header-tel{
  text-align:right;
  line-height:1.2;
}

.tel-number{
  font-size:28px;
  font-weight:700;
  letter-spacing:.05em;
  color:#333;
}

.tel-time{
  font-size:12px;
  color:#000;
}

/* ボタンエリア */
.header-btn{
  display:flex;
  gap:12px;
}

/* インスタ */
.insta-follow{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:#222;
  position:relative;
  padding-bottom:6px;
}

.insta-follow:hover{
  opacity:.8;
}

/* アイコン */
.insta-icon{
  width:28px;
  height:28px;
}

/* Follow us テキスト */
.insta-text{
  font-size:16px;
  font-weight:500;
  letter-spacing:.05em;
}







/* お問い合わせ */
.btn-contact{
  background:#7aa3cc;
  color:#fff;
  padding:12px 24px;
  border-radius:6px;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  transition:.3s;
}

.btn-contact:hover{
  opacity:.8;
}

/* LINE */
.btn-line{
  background:#02c300;
  color:#fff;
  padding:12px 24px;
  border-radius:6px;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  transition:.3s;
}

.btn-line:hover{
  opacity:.8;
}


ul#menu-global-nav-1 {
    position: relative;
    top: 3rem;
}


/*ロゴの上のテキスト*/
/* ロゴブロックを基準位置にする */
.c-site-branding{
  position:relative;
  padding-top:28px; /* 上に文字を置く余白 */
}

/* ロゴ上のキャッチコピー */
.c-site-branding::before{
  content:"和歌山でリフォーム＆リノベーションするならハコリノへ";
  position:absolute;
  top:0;
  left:0;

  font-size:14px;
  color:#000;
  letter-spacing:.08em;
  line-height:1.4;

  white-space:nowrap;
}



/* ヘッダーを最前面に出す */
.l-header{
  position:relative;
  z-index:9999;
}

.l-header__content{
  position:relative;
  z-index:9999;
}


/* トップページのヘッダー行だけ基準にする */
.home .l-header .c-row {
    position: relative;
}

/* header-contactをその行の右上に固定 */
.home .l-header .header-contact {
    position: absolute;
    top: 56px;
    right: 6rem;
    display: flex;
    align-items: center;
    gap: 20px;
}


.header-contact {
    position: absolute;
    right: 81px;
    top: 33%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 30px;
    z-index: 100;
}



/*header*****end********/





/*PCだけ、追従*/

/* PCのみ表示 ******************/
@media(min-width:769px){

.fixed-contact{
  position:fixed;
  right:0;
  top:50%;
  transform:translateY(-50%);
  z-index:9999;
  display:flex;
  flex-direction:column;
}

/* 共通ボタン */
.fixed-contact a{
  writing-mode:vertical-rl;
  text-orientation:upright;
  padding:18px 12px;
  font-size:14px;
  font-weight:700;
  letter-spacing:2px;
  text-decoration:none;
  color:#fff;
  transition:.25s;
  box-shadow:0 8px 20px rgba(0,0,0,0.15);
}

/* LINE */
.fc-line{
  background:#00c300;
}
.fc-line:hover{
  background:#00a82a;
}

/* 問い合わせ */
.fc-mail{
  background:#7AA3CC;
}
.fc-mail:hover{
  background:#d85c65;
}

/* 電話 */
.fc-tel{
  background:#ADBDCC;
}
.fc-tel:hover{
  background:#111;
}

/* 角丸 */
.fixed-contact a{
  border-radius:6px 0 0 6px;
}

/* ボタン間境界 */
.fixed-contact a + a{
  border-top:1px solid rgba(255,255,255,0.25);
}

}

/* スマホ非表示 */
@media(max-width:768px){
  .fixed-contact{
    display:none;
  }
}



/* 電話番号：横書きのまま 90度回転して縦に見せる */

.fc-tel{
 writing-mode: vertical-rl !important;
  text-orientation: sideways !important;
}











/*フォントの設定*/

body {
  font-family:
    "Yu Gothic",
    "YuGothic",
    "Hiragino Kaku Gothic ProN",
    Meiryo,
    sans-serif;

  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 2;
  color: #333;
}


h1, h2, h3, h4 {
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.6;
}


body,
.c-entry,
.c-block,
.c-navbar__item a,
.c-btn,
p,
li {
  font-family: inherit;
}

p {
  font-size: 14px;
}

@media(min-width:769px){

p {
  font-size: 16px;
}

}



@media(max-width:769px){

p {
  font-size: 14px;
}

}














/*topのファーストビューの変更*/

.hero{
  position:relative;
}

/* スライダーは背景 */
.hero .swiper-container{
  position:relative;
  z-index:1;
}

/* 固定キャッチ */
.hero__catch{
  position:absolute;
  z-index:10;
  pointer-events:none; /* ←クリック邪魔しない */
}


@media(min-width:769px){

.hero__catch{
  left:8%;
  bottom:12%;
  width:520px; /* 画像サイズ調整 */
}

.hero__catch img{
  width:100%;
  height:auto;
}

}



@media(max-width:768px){

.hero__catch{
  left:50%;
  top:50%;
  /*transform:translate(-50%,-50%);*/
  width:80%;
  text-align:center;
}

}
.hero-copy{
  position:absolute;
  left:8%;
  bottom:10%;
  width:42%;
  z-index:10;


}

@media(max-width:768px){
.hero-copy{
  position:absolute;
  left:8%;
  bottom:10%;
  width:82%;
  z-index:10;

	}
}

.hero-copy img{
  /* ここが影 */
  filter:
drop-shadow(0 6px 6px rgba(0,0,0,0.45))
drop-shadow(0 14px 14px rgba(0,0,0,0.30))
drop-shadow(0 30px 32px rgba(0,0,0,0.20))
drop-shadow(0 8px 0 rgba(122,163,205,0.35));	
	
}








/*サービスページ*/

/* =========================
 サービス グリッド
========================= */

.works-grid{
  display:flex;
  width:100%;
}

.works-item{
  position:relative;
  width:25%;
  overflow:hidden;
  cursor:pointer;

}

/* 画像 */
.works-item img{
  width:100%;
  height:520px;
  object-fit:cover;
  transition:.6s;
}

/* =========================
 オーバーレイ本体
========================= */

.works-overlay{
  position:absolute;
  inset:0;
  color:#fff;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  padding:1rem;
  z-index:2;
	

}

/* 暗くするレイヤー（疑似要素） */
.works-overlay::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0);
  transition:.5s;
  z-index:1;
}

/* =========================
 初期表示（タイトルだけ）
========================= */

.works-overlay h3{
  font-size:28px;
  letter-spacing:.2em;
  margin-bottom:10px;
  position:relative;
  z-index:2;
  transition:.4s;
}




.works-overlay p{
  max-width:260px;
  line-height:1.8;
  opacity:0;
  transform:translateY(20px);
  position:relative;
  z-index:2;
  transition:.4s;
}

/* =========================
 hover / タップ時の動き
========================= */

/* 背景が暗くなる */
.works-item:hover .works-overlay::before,
.works-item:focus-within .works-overlay::before{
  background:rgba(0,0,0,0.55);
}

/* タイトル消える */
.works-item:hover h3,
.works-item:focus-within h3{
  opacity:0;
  transform:translateY(-10px);
}

/* 説明が出てくる */
.works-item:hover p,
.works-item:focus-within p{
  opacity:1;
  transform:translateY(0);
}

/* 少しズームすると高級感出る */
.works-item:hover img{
  transform:scale(1.05);
}

/*h3*/
.works-overlay h3{
  font-size:28px;
  letter-spacing:.2em;
  margin-bottom:10px;
  position:relative;
  z-index:2;
  transition:.4s;

  /* ▼ここが浮き上がりの正体 */
  color:#fff;

  text-shadow:
    0 1px 0 rgba(0,0,0,0.6),
    0 2px 4px rgba(0,0,0,0.55),
    0 6px 12px rgba(0,0,0,0.45),
    0 14px 28px rgba(0,0,0,0.35);
}





/* =========================
 スマホ対応 → 2カラム化
========================= */
@media(max-width:768px){

  .works-grid{
    display:grid;
    grid-template-columns:1fr 1fr; /* ← 2カラム */
    gap:1px; /* 余白（お好みで） */

  }

  .works-item{
    width:100%;
  }

  /* 高さをスマホ用に少し詰めると綺麗 */
  .works-item img{
    height:240px;
  }

  /* タップ時 */
  .works-item:active .works-overlay::before{
    background:rgba(0,0,0,0.55);
  }

  .works-item:active h3{
    opacity:0;
  }

  .works-item:active p{
    opacity:1;
    transform:translateY(0);
  }
	
	  #sec-reform.c-container {
    padding: 8px !important;
}
	
	
	
}

.font-size-sm
.works-overlay h3{
  font-size:20px;
  letter-spacing:.2em;
  margin-bottom:10px;
  position:relative;
  z-index:2;
  transition:.4s;
}
@media(max-width:768px){
.font-size-sm
.works-overlay h3{
  font-size:14px;
  letter-spacing:.2em;
  margin-bottom:10px;
  position:relative;
  z-index:2;
  transition:.4s;
}

}


/**/


/*流れのパネルに数字をつける*/
/* 番号本体 */
.flow-section .smb-items__item__body > p:first-child{
  position:absolute;
  top:16px;
  right:16px;
  margin:0;

  font-size:28px; /* ← 小さくした */
  font-weight:600;
  font-family:"Montserrat",sans-serif;
  color:#fff;
  z-index:10;

  /* 丸背景 */
  width:56px;
  height:56px;
  background:rgba(0,0,0,0.55);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;

  /* 上品影 */
  box-shadow:0 6px 18px rgba(0,0,0,0.25);
}

/* 画像 */
.flow-section figure{
  position:relative;
}

.flow-section figure img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  border-radius:12px;
}


@media (max-width:768px){

  /* カラム余白 */
  .flow-section{
    gap:24px;
  }

  /* カード間隔 */
  .flow-section .smb-items__item{
    margin-bottom:10px;
  }

  /* 画像 */
  .flow-section figure img{
    border-radius:10px;
  }

  /* 番号 */
  .flow-section .smb-items__item__body > p:first-child{
    width:42px;
    height:42px;
    font-size:18px;
    top:10px;
    right:10px;
    background:rgba(0,0,0,0.55);
    backdrop-filter:blur(3px);
  }

  /* タイトル */
  .flow-section h3{
    font-size:18px;
    margin-top:10px;
  }

  /* 説明文 */
  .flow-section p{
    font-size:14px;
    line-height:1.7;
  }

}

	
	
img.custom-logo{
  position:relative;
  top:-38px;
}
img.custom-logo{
  position:relative;
  top:0px;
}

@media(max-width:768px){
  img.custom-logo{
    top:-6px;
  }
}


.p-header-sub-nav 
.c-navbar__item::after {
    content: '';
    position: absolute;
    top: 50%;
    display: block;
    height: 30px;
    margin-top: -15px;
    border-right: 0px solid #fff !important;
}


.outline-white{
text-shadow: 1px 2px 3px rgb(0 0 0 / 44%);	
}

/**/


/* ===============================
   Itemsブロック：SP時タイトル高さを揃える
================================ */
@media (max-width: 768px){

  /* タイトルを2行分確保 */
  .smb-items__item__body h3 {
    line-height: 1.5;
    min-height: calc(1.5em * 2); /* ←2行分の高さ */
    display: flex;
    align-items: center;         /* 縦中央 */
    justify-content: center;     /* 中央寄せ（不要なら削除） */
    text-align: center;
  }

}




/*# sourceMappingURL=style.css.map */