@charset "UTF-8";
/*
    Template: swell
    Theme Name: 鈴木化成品SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

@import url("css/page.css");


@media screen and (min-width:641px){.smp{display: none!important;}}
@media screen and (max-width:640px){.pc{display: none!important;}}

.w-beforeFooter{margin-bottom: 0!important;}

@media (min-width:600px) {
  .c-pageTitle {
    font-size:2em!important;
    letter-spacing: 0.02em;
  }
}

.p-relative{position: relative;}

/* font */
.alatsi-regular {
  font-family: "Alatsi", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.lh2{line-height: 2.0em;}

.main_visual-footer{position: absolute; bottom: -33px; left: -1%;width: 102%; z-index: 10;}
.main_visual-footer img{width: 100%; height: auto;}


/* table */
.type1 td{padding: 15px 2% !important;}

@media screen and (max-width: 640px) {
    .type1 table td{font-size: 90%;}    
}


@media screen and (max-width: 767px) {
    .main_visual-footer{bottom: -10px;}    
}

h2.wp-block-heading {
    background: 
        linear-gradient(to bottom, rgba(0,0,0,0.1) 1px, transparent 1px),
        linear-gradient(to right, #ffffff 50%, #d01c04 100%);
    background-size: 100% 2px, 100% 100%;
    padding: 10px 20px;
    border-left: solid 5px #d01c04;
}

h2.type1{
  border-left:none;    
  font-family: "Alatsi", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 3em;
  padding-left: 0!important;
  background: transparent!important;
    border-left: none;
}
h2.type1::before {
content: "";
  position: absolute;
  top: 10px;
  left: 50%;
  -webkit-transform: translatex(-50%);
  -moz-transform: translatex(-50%);
  -ms-transform: translatex(-50%);
  -o-transform: translatex(-50%);
  transform: translatex(-50%);
  background-color: #d01c04;
  width: 30px;
  height: 4px;
}

/*footer contact*/
.footer-contact{}
.footer-contact_item{border:solid 1px #fff; padding: 18px 5%!important; border-radius: 10px; text-align: center; height: 150px;}
.footer-contact_item_mail{border:solid 1px #fff;border-radius: 10px; text-align: center; height: 150px;}
.footer-contact_item .tel{font-weight: bold; font-size: clamp(20px,2.0vw,30px);}
.footer-contact_item_mail .mail{font-weight: 600; font-size: clamp(20px,2.0vw,30px);}
.footer-contact_item_mail a{display: block; padding: 30px 5%!important;}

@media screen and (max-width: 640px) {
    .footer-contact_item,.footer-contact_item_mail{ height: auto;}    
}

.serviceBox{
    position: relative;
    margin-bottom: 0!important;
}
.serviceBox .service-type{
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translatex(-50%);
  -moz-transform: translatex(-50%);
  -ms-transform: translatex(-50%);
  -o-transform: translatex(-50%);
  transform: translatex(-50%);
  background-color: #d01c04;
  font-family: "Alatsi", sans-serif;    
  width: 100px;
  padding: 15px 0 15px;
  color: #fff;
  text-align: center;
  line-height: 1.2em;  
  margin-bottom: 0!important;    
}
.service-ttl{
    margin: 0!important;
    border:solid 1px #ccc;    
    font-size: 1.3em;
    background: #fff;
    position: relative; /* 子要素の基準点にする */
   /* 必要に応じて調整 */    
}
.service-ttl::after {
  content: "";
  position: absolute; /* 絶対配置 */
  right: 6%; /* 右端に配置 */
  top: 50%; /* 上下中央寄せの準備 */
  transform: translateY(-50%); /* 上下中央寄せ */  
  /* 画像の設定 */
  width: 20px;  /* 画像の幅 */
  height: 20px; /* 画像の高さ */
  background-image: url('./img/arrow-type1.svg'); /* 画像パス */
  background-size: contain; /* サイズ調整 */
  background-repeat: no-repeat;
}
.service-ttl a{
    display: block;
    padding: 15px 20px;
    color: #333;
    font-weight: bold;
}
.service-ttl-dewnonhome{
    padding: 30px 0 20px!important;
}


@media screen and (max-width: 768px) {
    .serviceBox .service-type {width: 110px; padding: 10px 0;}
    .service-ttl{font-size: 1.0em;}
}

/* ============================
   core/table: 沿革 (history) 
   ============================ */
.wp-block-table.is-style-history{overflow-y: hidden!important;}
.wp-block-table.is-style-history table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  border:0;
}
.wp-block-table.is-style-history table th,
.wp-block-table.is-style-history table td{
  border:0;
  background:transparent;
  vertical-align:unset !important;
  padding: 20px 0;
  font-size: 16px;
}

/* 年（1列目）＋ 左の赤い小丸 */
.wp-block-table.is-style-history table tr > *:first-child{
  width: 80px;
  padding-right: 20px;
  position: relative;
  white-space: nowrap;
  font-weight: 700;
  font-size: 22px;
  color: #d01c04;
  padding-top: 20px;
  top: 3px;
}

/* 左の小丸（行の中央） */
.wp-block-table.is-style-history table tr > *:first-child::before{
  content: "";
  position: absolute;
  left: -18px; /* 小丸を表外へ */
  top: 50%;
  transform: translateY(-50%);
  width: calc(3px * 2);
  height: calc(3px * 2);
  background: #d01c04;
  border-radius: 50%;
  display: none;
}

/* タイムライン柱（2列目） */
.wp-block-table.is-style-history table tr > *:nth-child(2){
  width: 42px;
  position: relative;
  padding: 22px 15px;  /* 行と同じ上下余白に */
  color: #d01c04;        /* pseudo の currentColor */
  vertical-align: middle;
}
/* 縦ライン（テーブル全体で繋がる） */
.wp-block-table.is-style-history table tr > *:nth-child(2)::before{
  content:"";
  position:absolute;
  left: 50%;
  top: 0;          /* 表の外へはみ出さない */
  bottom: 0;
  width: 2px;
  transform: translateX(-50%);
  background: #e6e6e6;
}
/* 中央の白丸（基準：行の上余白＋月行の半分。SPで後述調整） */
.wp-block-table.is-style-history table tr > *:nth-child(2)::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width: 10px;
  height: 10px;
  background:#fff;
  border: 2px solid currentColor;
  border-radius:50%;
  box-sizing:border-box;
  border-color: #ddd!important;
}

/* 本文（3列目）…本文は常に本文色で */
.wp-block-table.is-style-history table tr > *:nth-child(3){
  padding-left: 25px;
  line-height: 1.8;
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* 互換用：もし月に .history-meta を入れるなら */
.wp-block-table.is-style-history .history-meta{
  display:inline-block;
  min-width: 3em;
  color:#666;
}

/* エディタでのプレビュー幅調整 */
.editor-styles-wrapper .wp-block-table.is-style-overview table,
.editor-styles-wrapper .wp-block-table.is-style-history table{
  max-width:100%;
}

/* ===== スマホ最適化 ===== */
@media (max-width: 767px){
  .wp-block-table.is-style-history table{
    table-layout: fixed;
    width: 100%;
  }

  .wp-block-table.is-style-history table th,
  .wp-block-table.is-style-history table td{
    white-space: normal;
    word-break: break-word;
    overflow-wrap: anywhere;
    hyphens: auto;
    min-width: 0;
  }

  /* 画像・埋め込みのはみ出し防止 */
  .wp-block-table.is-style-history table img,
  .wp-block-table.is-style-history table video,
  .wp-block-table.is-style-history table iframe{
    max-width: 100%;
    height: auto;
  }

  /* 年：やや内側に寄せる（小丸のはみ出し対策もPCと差別） */
  .wp-block-table.is-style-history table tr > *:first-child{
    width: 60px !important;
    padding-right: 15px!important;
    font-size: 18px;
    top: 0;
  }

  .wp-block-table.is-style-history table tr > *:first-child::before{
    left: 2px; /* 横スクロール誘発を避ける */
    transform: translateY(-50%);
  }

  /* 柱：左右詰めつつ上下は行と揃える */
  .wp-block-table.is-style-history table tr > *:nth-child(2){
    padding: 15px 10px !important;
    vertical-align: middle !important;
  }

  /* 本文（3列目） */
  .wp-block-table.is-style-history table tr > *:nth-child(3){
    padding-left: 15px !important;
    line-height: unset !important; /* 既存指定との整合性維持 */
    padding-block: 10px !important;
    font-size: 14px;
  }
  /* 2列目の白ドット：中央ではなく “月” の1行目中央に寄せる */
  .wp-block-table.is-style-history table tr > *:nth-child(2)::after{
        top: calc(15px + 5px + (1.6 * 1em / 2));
    transform: translate(-50%, -50%);
  }
}

@media (max-width: 767px){
  .wp-block-table.is-style-history {
    width: 100%;
    max-width: 100%;
    overflow: hidden !important; /* 横スクロール防止 */
  }

  .wp-block-table.is-style-history table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed;            /* 固定幅でセルを均等に */
    border-collapse: collapse;
  }

  .wp-block-table.is-style-history table tr,
  .wp-block-table.is-style-history table td,
  .wp-block-table.is-style-history table th {
    word-break: break-word;
    white-space: normal;
  }



  /* 1) ラッパ側で横スクロールを物理的に遮断（WPのデフォ対策） */
  .wp-block-table.is-style-history .s_table {
    display: block;
    inline-size: 100%;
    max-inline-size: 100%;
    overflow-x: hidden;                 /* 汎用 */
    -webkit-overflow-scrolling: auto;  
    margin-inline: unset;
    padding-inline: unset; /* iOSの慣性スクロール無効 */
  }
}
