/* トップページ 専用CSS */

/* ===========================
   上部ヘッダー
=========================== */

.site-title{
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip: rect(0,0,0,0);
}

.site-header__content{
	height : 0!important;
}

.site-top-header{
  width:100%;
  background:#cfe9f7;
  height : auto;
}

.site-top-inner{
  max-width:1080px;
  margin:0 auto;
  padding:10px 20px 0px 20px;

  display:flex;
  justify-content:space-between;
  align-items:center;
}

.site-logo img{
  height:70px;
  width:auto;
}

/* SPだけ高さ変更 */
@media(max-width:767px){
.site-logo img{
	height : 50px!important;
  width:auto;
}
}


/* ===========================
   FV Slick 完全確定・競合ゼロ版
=========================== */

.top-fv{
  width:100%;
  overflow:hidden;
  margin:0;
}

/* === スライダー枠 === */
.slick-fv,
.fv-slide{
  width:100%;
  height:700px; /* PC */
}


/* === 画像制御（切らず・隙間も出さない） === */
.fv-slide img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

/* スマホだけ：画像を切らずに全部表示 */
@media(max-width:767px){
  .fv-slide img{
    height:auto;
    object-fit:contain;
  }
  /* SPだけ高さ固定を解除 */
  .slick-fv,
  .fv-slide{
    height:auto !important;
  }
}

/* === Slick 余白除去 === */
.slick-slider,
.slick-track,
.slick-list{
  margin:0 !important;
  padding:0 !important;
}

/* === ドット表示保証 === */
.slick-dots{
  position:absolute;
  left:0;
  right:0;
  bottom:12px;
  z-index:99;
  margin:0 !important;
  padding:0 !important;
  text-align:center;
}

/* ドットサイズ */
.slick-dots li button:before{
  font-size:18px;
  color:#fff;
  opacity:.6;
}

.slick-dots li.slick-active button:before{
  opacity:1;
}

/* ===========================
   Slick ドット強制表示だけ
=========================== */

.slick-dots{
  display:block !important;
  position:absolute !important;
  left:0;
  right:0;
  bottom:12px;
  z-index:9999;
  margin:0 !important;
  padding:0 !important;
  text-align:center;
    height : 70px;
}

.slick-dots li button:before{
  font-size:18px !important;
  color:#fff !important;
  opacity:.7;
}

.slick-dots li.slick-active button:before{
  opacity:1 !important;
}


/* =========================
   新着情報
========================= */

.top-news{
  max-width:1080px;
  margin:60px auto;
  padding:0 20px;
}

.news-title{
  font-size:1.3rem;
  margin-bottom:0px;
  border-bottom:2px solid #333;
  padding-bottom:10px;
}

.news-list{
  list-style:none;
  margin:0;
  padding:0;
}

.news-list li{
  border-bottom:1px dotted #555151;
	margin-top : 0px;
	padding : 0;
}

.news-list li a{
  display:flex;
  gap:15px;
  padding:12px 5px;
  text-decoration:none;
  color:#333;
  transition:0.2s;
	font-weight : 600;
}

.news-list li a:hover{
  background:#f4f4f4;
}

.news-list time{
  min-width:100px;
  font-size:1rem;
  color:#333;
}

.news-list span{
  font-size:1rem;
}
.top-news-single {
  max-width: 1040px;
  margin: 40px auto;
  background : #f8f8f8;
	border : 1px solid #555151;
	padding : 25px;
}

.news-full-title {
  font-size: 18px;
  margin-bottom: 20px!important;
	background : #555151;
	border-radius : 8px;
	padding : 10px!important;
	color : #fff;
}

.news-full-date {
  display: block;
  color: #888;
  margin-bottom: 15px;
}

.news-full-body {
  line-height: 1.8;
}

@media(max-width:767px){
.top-news{
  max-width:1080px;
	margin : 30px 0px;
  padding:0 20px;
}
  .news-list li a{
    flex-direction:column;
    gap:5px;
  }
.news-list{
  list-style:none;
  margin:0;
  padding:0;
}

.news-list li{
  border-bottom:1px dotted #555151;
	margin-top : 0px;
	padding : 0 5px;
}
}
	
/* =========================
   ホームページコンテンツ
========================= */
section.rinen-content{
  width:100%;
  padding:20px 0 40px 0px;
  background: url("https://tfp.client.kmi-temporary.com/wp-content/themes/ystandard-child/image/rinen-content-bg.jpg")
              center bottom / cover no-repeat fixed;
margin-bottom : 0!important;
}

section.greeting-content{
  width : 100%;
	padding : 50px 0px;
	background : #fffef8;
}

section.profile-content{
  width:100%;
  padding:50px 0;

  background: linear-gradient(
    to bottom,
    #f8f9fa 0%,
    #f2f4f6 50%,
    #eef1f4 100%
  );
}

section.company-content{
  width : 100%;
	padding : 30px 0px;
	background : #ffffff;
}

section.contact-content{
  width : 100%;
	padding : 50px 0px;
	background : #dff1f8;
}


/* セクションタイトル */
.section-ttl{
  position: relative;
  display: block;
  margin-bottom: 1.5em;
  text-align: center;      /* 中央寄せ */
  font-size: 1.7rem;         /* 文字サイズを大きく */
  font-weight: 700;
}

/* 下線バー */
.section-ttl::before{
  content: '';
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 5px;
  background-color: #cc0000;  /* 指定カラー */
  border-radius: 2px;
}
.rinen-main-text{
  max-width:980px;
  width:95%;
  margin:50px auto 10px;
  background: rgba(255,255,255,0.85);
  padding:40px 25px 20px 35px;
  border-radius:8px;
  box-shadow:0 3px 12px rgba(0,0,0,0.08);
}

.greeting-main-text{
  max-width:980px;
  width:95%;
  margin:50px auto 10px;
  background: rgba(255,255,255,0.85);
  padding:20px 25px;
  border-radius:8px;
  box-shadow:0 3px 12px rgba(0,0,0,0.08);
}

.profile-main-text{
  max-width:980px;
  width:95%;
  margin:50px auto 10px;
  background: rgba(255,255,255,0.85);
  padding:30px;
  border-radius:8px;
  box-shadow:0 3px 12px rgba(0,0,0,0.08);
}
.hp-profile-name{
	font-size : 24px;
	line-height : 32px;
	font-weight : 600;
}
.hp-profile-name span{
	font-size : 16px;
	margin-right : 20px;
}
span.syussin{
	font-size : 18px;
}

/* 画像を右に回り込み */
.miyata-img{
  float:right;
  margin:0 0 15px 20px; /* 左側に余白 */
  max-width:280px;
  height:auto;
}

.sign{
	text-align : right;
}


@media(max-width:767px){
.section-ttl{
  position: relative;
  display: block;
	margin-bottom : 1.4em;
  text-align: center;      /* 中央寄せ */
  font-size: 1.4rem;         /* 文字サイズを大きく */
  font-weight: 700;
}
section.rinen-content{
  width:100%;
  padding:5px 0px;
  background: url("https://tfp.client.kmi-temporary.com/wp-content/themes/ystandard-child/image/rinen-content-bg-sp.jpg")
              right center / cover no-repeat;
}
.hp-main-text{
  width : auto;
  margin : 20px;	
}
section .top-content{
  width : 100%;
	padding : 0px;
	background : #f4f4f4;
}
  .miyata-img{
    float:none;
    display:block;
    margin:0 auto 15px;
    max-width:100%;
  }
.rinen-main-text{
  width:auto;
  margin:50px 20px;
  background: rgba(255,255,255,0.85);
  padding:40px 0 20px 0;
}
.greeting-main-text{
  width:auto;
  margin:40px 20px;
  background: rgba(255,255,255,0.85);
  padding:20px;
  border-radius:8px;
  box-shadow:0 3px 12px rgba(0,0,0,0.08);
}
.profile-main-text{
  width:auto;
  margin:40px 20px;
  background: rgba(255,255,255,0.85);
  padding:30px 25px;
  border-radius:8px;
  box-shadow:0 3px 12px rgba(0,0,0,0.08);
}
}
/*メルマガフォーム*/
.lp-inner-mel {
  max-width: 880px;
  margin: 0 auto;
  padding: 0px 20px 20px 20px;
}
.form-tyui{
	color : #555151;
	font-size : 90%;
}

/* =========================
   お問合せフォーム
========================= */
.mel-form {
  max-width: 980px;
  margin: 30px auto;
  padding: 30px;
  background: #f4f4f4;
  border-radius: 14px;
  border: 1px solid #c2b98a;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.mel-form-none {
  max-width: 980px;
  margin: 60px auto 0px;
  padding: 0px;
}

/* ブロック間余白 */
.form-block {
  margin-bottom: 20px;
}

/* 全input共通 */
.mel-form input[type="text"],
.mel-form input[type="email"],
.mel-form input[type="tel"] {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #ccc;
  border-radius: 10px;
  font-size: 16px;
  background: #fafafa;
  transition: 0.25s;
  box-sizing: border-box;
}


/* フォーカス時 */
.mel-form input[type="text"]:focus,
.mel-form input[type="email"]:focus,
.mel-form input[type="tel"]:focus {
  background: #fff;
  border-color: #0078ff;
  box-shadow: 0 0 6px rgba(0,120,255,0.25);
}


/* スマホも横並びキープ */
@media (max-width: 480px) {
  .name-flex {
    gap: 10px;
  }
.lp-inner-profile {
  width: auto;
  margin: 0px auto 0;
  padding: 0px 20px 20px 20px;
}
.mel-form {
	width : auto;
  margin: 30px 20px;
  padding: 30px 20px;
  background: #f4f4f4;
  border-radius: 14px;
  border: 1px solid #c2b98a;
  box-shadow: 0 4px 20px rgba(0,0,0,0.08);
}
.mel-form-none {
	width : auto;
  margin: 40px 20px 20px 20px;
}
}

/* ボタン */
.formBtn{
  display:block;
  width:100%;
  max-width:360px;
  margin:30px auto 40px;
  padding:16px 0;

  background:#555151;
  color:#fff;

  font-size:18px;
  font-weight:700;
  letter-spacing:0.08em;

  text-align:center;
  border:none;
  border-radius:50px;

  cursor:pointer;

  transition:all .2s ease;
}

/* ホバー */
.formBtn:hover{
  background:#333;
  transform:translateY(-2px);
  box-shadow:0 6px 15px rgba(0,0,0,0.15);
}

/* スマホ調整 */
@media(max-width:767px){
  .formBtn{
    font-size:16px;
    padding:14px 0;
  }
}

/* タブレット（1280px以下） */
@media(max-width:1280px){
  .slick-fv,
  .fv-slide{
    height:448px;
  }
.top-news-single {
  max-width: 95%!important;
  margin: 40px auto;
  background : #f8f8f8;
  border : 1px solid #555151;
  padding : 25px;
}
}

/* スマホ */
@media(max-width:767px){
  .slick-fv,
  .fv-slide{
    height:420px;
  }
.top-news-single {
  max-width: 92%!important;
  margin: 40px auto;
  background : #f8f8f8;
  border : 1px solid #555151;
  padding : 20px;
}
.news-full-title {
  font-size: 16px;
}
}