@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/


/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

.lp-factory-cols1{
	max-width:100%;
}
.lp-factory-cols2{
	max-width:100%;
}
.sec-soundness .wp-block-columns{
	width: 100%;
    max-width: 1000px;
}
.content {
    position: relative;
}

/************************************
** トップページ以外、コンテンツ中身幅は80%
************************************/
/* SPは従来どおり */
body:not(.home):not(.front-top-page)  .content-in.wrap{
  width: 100% !important;
}

@media (min-width: 1025px){
  body:not(.home):not(.front-top-page) .article-header {
    width: 100% !important;
	padding:0 10%;
  }
	body:not(.home):not(.front-top-page) #breadcrumb {
    width: 100% !important;
	padding:0 10%;
  }
	body:not(.home):not(.front-top-page):not(.page-id-14) .entry-content  {
    width: 80% !important;
    margin-left: auto;
    margin-right: auto;
  }
	.category-14 #content{
    width: 100% !important;
	padding:0 10%;
	}
}
/************************************
** グローバルメニュー
************************************/
/* 初期状態：透明 */
@media screen and (min-width: 1025px) {
	#header-container #header-container-in{
		padding:15px;
	}

body.home #header-container-in{
  background-color: transparent;
  transition: background-color .3s ease;
}

body.home #header-container-in.is-scrolled{
  background-color: var(--cocoon-white-color);
}
	body.home .navi{
  background-color: transparent;
}
	.navi {
		background-color:unset;
	}
	div#header-container {
    background-color: rgba(255, 255, 255, .82);
    backdrop-filter: blur(10px);
}
/* トップページ初期：文字を透明 */
body.home #header-container-in a{
  color: transparent;
  transition: color .3s ease;
}

/* スクロール後：文字を表示 */
body.home #header-container-in.is-scrolled a{
  color: #333;
}
	
	img.wp-image-63 {
    position: absolute;
    left: 10%;
    top: -100px;
    /* bottom: 0px; */
}
	#header-container .wrap{
		width:100%;
	}
	/* いったん両方表示されるのを防ぐための基本 */
#header-container-in .site-logo-image,
#header-container-in .site-fixed-logo-image{
  display: block;
}

/* ▼トップページ：初期（スクロール前） */
body.home #header-container-in .site-logo-image{          /* 白ロゴ（大） */
  display: block !important;
}
body.home #header-container-in .site-fixed-logo-image{    /* 黒ロゴ（小） */
  display: none !important;
}

/* ▼トップページ：スクロール後 */
body.home #header-container-in.is-scrolled .site-logo-image{
  display: none !important;
}
body.home #header-container-in.is-scrolled .site-fixed-logo-image{
  display: block !important;
}
	/* ロゴ2つを重ねるための基準 */
#header-container-in #header-in{
  position: relative;
}

/* 2つのロゴブロックを同じ場所に重ねる（左上固定） */
#header-container-in #header-in .logo.logo-header.logo-image{
  position: absolute;
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
  margin: 0;
  line-height: 0;
}

/* 画像の余白・ズレ防止 */
#header-container-in #header-in .logo.logo-header.logo-image img{
  display: block;
  height: auto;
}

/* ▼切替（トップページ例） */
/* 初期：白ロゴ表示、黒ロゴ非表示 */
body.home #header-container-in .site-logo-image{ display: block !important; }
body.home #header-container-in .site-fixed-logo-image{ display: none !important; }

/* スクロール後：白ロゴ非表示、黒ロゴ表示 */
body.home #header-container-in.is-scrolled .site-logo-image{ display: none !important; }
body.home #header-container-in.is-scrolled .site-fixed-logo-image{ display: block !important; }
#header-container-in #header-in{
  padding-left: 220px; /* ロゴ幅に合わせて調整（180〜260pxくらい） */
}

/* PCヘッダーメニュー文字を太く */
#navi .menu-header .item-label{
  font-weight: 600; /* 500〜700で調整 */
  letter-spacing: 0.08em; /* 少し上品に */
}
/* メニュー項目の左右余白 */
#navi .menu-header > li{
  margin: 0 18px; /* 好みで 12〜24px */
}
/* 英語（上） */
#navi .menu-header .menu-en{
  display: block;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.2;
}

/* 日本語（下） */
#navi .menu-header .menu-jp{
  display: block;
  font-size: 10px;
  opacity: .7;
  margin-top: 2px;   /* ← ここを詰める（4px → 2px） */
  line-height: 1.1;  /* ← 行間を詰める */
}
#navi .menu-header a{
  text-align: center;
}



	/* ===== メニュー2段（英/JPN）基本 ===== */
#navi .menu-header a{
  text-align: center;
}

#navi .menu-header .menu-en{
  display:block;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.2;
  font-size: 14px;
}

#navi .menu-header .menu-jp{
  display:block;
  font-size: 10px;
  line-height: 1.1;
  margin-top: 2px;
  transform: translateY(-2px); /* 少しだけ上から */
  transition: opacity .25s ease, transform .25s ease;
}
	/* トップ：初期は透明 */
body.home #header-container-in{
  background: transparent;
  transition: background-color .35s ease, box-shadow .35s ease, backdrop-filter .35s ease;
}

/* スクロール後：半透明＋ブラー＋上品な影 */
body.home #header-container-in.is-scrolled{
  background-color: rgba(255,255,255,.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 10px 30px rgba(0,0,0,.08);
}
	/* トップ初期：リンク文字を透明に */
body.home #header-container-in:not(.is-scrolled) #navi a{
  color: transparent;
}

/* スクロール後：リンク文字を表示 */
body.home #header-container-in.is-scrolled #navi a{
  color: #222;
  transition: color .25s ease;
}
	#navi .menu-header > li > a{
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}

#navi .menu-header > li > a::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.04);
  opacity: 0;
  transition: opacity .65s ease;
}
	.fixed-header{
		box-shadow:none;
	}
}

@media (min-width: 835px){
  #navi .menu-header > li:hover > a::before,
  #navi .menu-header > li:focus-within > a::before{
    opacity: 1;
  }
}
/* ヘッダー内ナビだけ対象にする */
#header-container-in #navi .menu-jp{
  display: block;
  font-size: 10px;
  line-height: 1.1;
  margin-top: 2px;
  transition: opacity .25s ease, visibility .25s ease;
}
body.home #header-container-in.is-scrolled #navi .menu-jp{
  opacity: .7;
  visibility: visible;
}
    .header-container-in.hlt-top-menu .logo-header img {
        max-height: 80px !important;
    }
footer .menu-jp{
  display: none !important;
}
.footer .menu-jp{
  display: none !important;
}
/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}
@media (max-width: 834px){
  #navi .menu-header .menu-jp{
    display: none !important;
  }
}
/*834px以下*/
@media screen and (max-width: 834px){

  .sp-pad{
    padding-left: 5% !important;
    padding-right: 5% !important;
  }
	  .sp-pad .sp-full{
    width: calc(100% + 10%); /* 5% × 左右 */
    margin-left: -5%;
    margin-right: -5%;
  }
  .sp-full img,
  .sp-full video,
  .sp-full iframe{
    width: 100%;
    display: block;
	  
  }
	
  /* ドロワー内の余白 */
  #navi-menu-content{
    padding: 10px 14px;
  }

  /* リストの余白リセット */
  #navi-menu-content .menu-drawer{
    margin: 0;
    padding: 0;
  }

  /* 各項目：区切り線＋角丸の土台 */
  #navi-menu-content .menu-drawer > li{
    list-style: none;
    border-bottom: 1px solid rgba(0,0,0,.08);
  }
  #navi-menu-content .menu-drawer > li:last-child{
    border-bottom: none;
  }

  /* リンク：タップ領域を広く＆整列 */
  #navi-menu-content .menu-drawer > li > a{
    display: block;
    padding: 14px 10px;
    border-radius: 12px;
    text-decoration: none;
    transition: background-color .2s ease;
  }

  /* タップ時（iOS/Androidの押下感） */
  #navi-menu-content .menu-drawer > li > a:active{
    background-color: rgba(0,0,0,.04);
  }

  /* 英語→上段、 日本語→下段（縦積み） */
  #navi-menu-content .menu-drawer .menu-en{
    display: block;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: .06em;
    line-height: 1.2;
  }

  #navi-menu-content .menu-drawer .menu-jp{
    display: block;
    margin-top: 3px;
    font-size: 12px;
    opacity: .7;
    line-height: 1.2;
  }
	/* SPだけ：画像カラム→テキストカラムの順にする */
.has-bottom-margin.is-style-bottom-margin-6em {
   margin-bottom: 1em !important; 
}
  .lp-factory-cols1,.lp-factory-cols2{
    display: flex;          /* 念のため */
    flex-direction: column; /* 縦積み */
  }

  /* 5%の空カラムはスマホで不要なら消す */
  .lp-factory-cols1 > .wp-block-column:nth-child(1){
    display: none;
  }

  /* 2番目（テキスト）を後ろへ */
  .lp-factory-cols1 > .wp-block-column:nth-child(2){
    order: 2;
  }

  /* 3番目（画像/overlay-wrap）を先へ */
  .lp-factory-cols1 > .wp-block-column:nth-child(3){
    order: 1;

}
	
  /* 5%の空カラムはスマホで不要なら消す */
  .lp-factory-cols2 > .wp-block-column:nth-child(3){
    display: none;
  }

  /* 2番目（テキスト）を後ろへ */
  .lp-factory-cols2 > .wp-block-column:nth-child(2){
    order: 2;
  }

  /* 3番目（画像/overlay-wrap）を先へ */
  .lp-factory-cols2 > .wp-block-column:nth-child(3){
    order: 1;

}
	.home .wp-block-group.is-content-justification-right.is-layout-constrained.wp-container-core-group-is-layout-f1f2ed93.wp-block-group-is-layout-constrained {
    padding-left: 0% !important; 
}
	/*ホームLPFactoryテキストと画像との余白*/
	.wp-container-core-columns-is-layout-9625de0a .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow {
    margin-bottom: 5%;
}
	/*ホームイメージ画像設定*/
	.home .wp-block-column.is-vertically-aligned-top.is-layout-flow.wp-block-column-is-layout-flow {
    margin-right: -6%;
}
	
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/************************************
** 追加コード
************************************/
@media screen and (min-width: 1025px) {
  body.home .content {
    margin-top: -100px;
    z-index: 0;
    position: relative;
  }

}

/* =========================
   トップページ：ヘッダーをFVにかぶせる
========================= */
.home .header-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: transparent;
  transition: background .3s ease, box-shadow .3s ease;
}

/* FV動画を100%表示 */
.main-visual__video {
  position: relative;
  height: 100vh;
  overflow: hidden;
}

.main-visual__video video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* =========================
   共通：リンク/ボタン Hover
   ========================= */

/* まずはボタン（WP標準） */
:where(.wp-block-button__link, .btn, a.btn, button, input[type="submit"], input[type="button"]){
  transition: transform .18s ease, opacity .18s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease;
  will-change: transform;
}

/* ボタン hover（上品に浮く） */
:where(.wp-block-button__link, .btn, a.btn, button, input[type="submit"], input[type="button"]):hover{
  transform: translateY(-2px);
  opacity: .95;
  box-shadow: 0 12px 30px rgba(0,0,0,.14);
}

/* 押したとき */
:where(.wp-block-button__link, .btn, a.btn, button, input[type="submit"], input[type="button"]):active{
  transform: translateY(0px);
  box-shadow: 0 8px 18px rgba(0,0,0,.10);
}

/* テキストリンク（本文内） */
.article :where(a):not(.wp-block-button__link){
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: opacity .18s ease;
}
.article :where(a):not(.wp-block-button__link):hover{
  opacity: .8;
}

/* 動きを減らす設定の人にはOFF */
@media (prefers-reduced-motion: reduce){
  :where(.wp-block-button__link, .btn, a.btn, button, input[type="submit"], input[type="button"]),
  .article :where(a):not(.wp-block-button__link){
    transition: none !important;
    transform: none !important;
    box-shadow: none !important;
  }
}
/* =========================
   スクロールフェードイン
   ========================= */

.js-reveal{
  opacity: 0;
  transform: translateY(70px);
  transition:
    transform 2000ms cubic-bezier(.22, 1, .36, 1),
    opacity 2600ms cubic-bezier(.22, 1, .36, 1);
  transition-delay: 0ms, 180ms;
  will-change: opacity, transform;
}


.js-reveal.is-visible{
  opacity: 1;
  transform: translateY(0) ;
}

/* 連続表示が気持ちいいように少しだけ遅延できる（任意） */
.js-reveal[data-delay="1"]{ transition-delay: .06s; }
.js-reveal[data-delay="2"]{ transition-delay: .12s; }
.js-reveal[data-delay="3"]{ transition-delay: .18s; }

@media (prefers-reduced-motion: reduce){
  .js-reveal{
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Projects：カードグリッド */
.top-projects-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}

.top-project-card{
  display:block;
  text-decoration:none;
  color:inherit;
  transition: transform .22s ease, opacity .22s ease;
  will-change: transform;
}

.top-project-thumb{
  border-radius: 18px;
  overflow:hidden;
  background:#f2f2f2;
}
.top-project-thumb img{
  width:100%;
  height:auto;
  display:block;
  transition: transform .35s ease;
  will-change: transform;
}

.top-project-meta{ margin-top: 12px; }
.top-project-title{ font-weight: 700; line-height: 1.2; }
.top-project-excerpt{ margin-top: 8px; font-size: 14px; opacity: .75; line-height: 1.6; }

.top-project-card:hover{
  transform: translateY(-4px);
  opacity: .96;
}
.top-project-card:hover .top-project-thumb img{
  transform: scale(1.03);
}
/* リンク無し（クリック不可）の見た目 */
.top-project-card.is-nolink{
  cursor: default;
  opacity: .92;
}
.top-project-card.is-nolink:hover{
  transform: none;
  opacity: .92;
}
.top-project-card.is-nolink .top-project-thumb img{
  transform: none !important;
}

@media (max-width: 834px){
  .top-projects-grid{ grid-template-columns: 1fr; }
}


/* FV動画を完全全画面に */
.home .wp-block-cover {
  min-height: 100vh;
}

.home .wp-block-cover video {
  object-fit: cover;
}

/* FV内テキストを左寄せ＆読みやすく */
.home .fv-inner {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 5vw;
}
#post-34 .date-tags {
    display: none;
}
main.main, div.sidebar {
        padding: 0;
    }
/* 親：重ねの基準点 */
.overlay-wrap{
  position: relative;
}

/* ベース画像：高さを確実に作る（これが重要） */
.overlay-wrap .layer-base{
  position: relative;
  z-index: 1;
}
.overlay-wrap .layer-base img{
  width: 100%;
  height: auto;
  display: block;
}

/* 中：重ね画像（figureに効かせる） */
.overlay-wrap figure.layer-img {
position: absolute;
    right: 6%;
    bottom: 0%;
    width: 55%;
    z-index: 2;
    margin: 0;
}
.overlay-wrap figure.layer-img img{
  width: 100%;
  height: auto;
  display: block;
}

/* 上：動画（figureに効かせる） */
.overlay-wrap figure.layer-video {
    position: absolute;
    right: 27%;
    bottom: 21.3%;
    width: 28%;
    z-index: 3;
    margin: 0;
    border-radius: 22px;
    overflow: hidden;
}

/* videoを枠いっぱいに */
.overlay-wrap figure.layer-video video{
  width: 100%;
  height: auto;
  display: block;
}

/* スマホは縦積みに戻す
@media (max-width:834px){
  .overlay-wrap figure.layer-img,
  .overlay-wrap figure.layer-video{
    position: static;
    width: 100%;
    margin-top: 12px;
  }
} */
/* ベース画像を右カラム幅いっぱいにする */
.overlay-wrap figure.layer-base,
.overlay-wrap figure.layer-base img{
  width: 100%;
  max-width: none ;   /* ここが重要：1024pxなどの上限を外す */
}
/* 記事内 h3 のデザイン（LP Factory用） */

.home .article h3{
	border:0;
}
body.page:not(.home):not(.front-top-page) .entry-title{
    font-family: "Poppins", "Montserrat", "Noto Sans JP", sans-serif;
   font-size: clamp(2.2rem, 5vw, 4.4rem);
    font-weight: 500;
    letter-spacing: 0.02em;
}

/* 固定ページのみ：タイトル下に余白 */
@media screen and (min-width: 1025px) {
body.page:not(.home):not(.front-top-page) .entry-header{
  margin-bottom: 80px; /* 好みで 16〜40px */
}
}
/* Cocoonがh2に下線や装飾を入れてる場合の保険 */
body.page:not(.home):not(.front-top-page) .entry-content h2::before,
body.page:not(.home):not(.front-top-page) .entry-content h2::after{
  content: none !important;
}

/* ホーム以外の固定ページだけ：本文内の h2 に適用 */
body.page:not(.home) .entry-content h2{
    position: relative;
    font-family: "Poppins", "Montserrat", "Noto Sans JP", sans-serif;
   font-size: clamp(1.7rem, 3.3vw, 3.5rem);
    font-weight: 200;
    letter-spacing: 0.02em;
    margin-top: 0em;
    padding-top: 0.6em;
    padding-left: 0;
    margin-bottom: 0em;
	color:#333;
	border:0;
	max-width:100%;
  background: none !important;   /* 背景（帯/色）を消す */
}
/* ホーム以外の固定ページだけ：本文内の h3 に適用 */
body.page:not(.home) .entry-content h3{
    position: relative;
    font-family: "Poppins", "Montserrat", "Noto Sans JP", sans-serif;
   font-size: clamp(2.0rem, 4vw, 4.2rem);
    font-weight: 300;
    letter-spacing: 0.02em;
    margin-top: 0em;
    padding-top: 0.6em;
    padding-left: 0;
    margin-bottom: 0.3em;
	color:#333;
	border:0;
	max-width:100%;
}
.home .article h3 {
    position: relative;
    font-family: "Poppins", "Montserrat", "Noto Sans JP", sans-serif;
    font-size: clamp(2rem, 5vw, 6rem);
    font-weight: 700;
    letter-spacing: 0.02em;
    margin-top: 0em;
    padding-top: 0.6em;
    padding-left: 0;
    margin-bottom: 0.3em;
	color:#333;
}
p{
	    max-width: 100% !important;
}
/* 上のライン */
.home .article h3.homeservice::before{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 140px;        /* ラインの長さ */
  height: 10px;        /* ラインの太さ */
  background: #000;   /* 色 */
}


.home .article h4 {
    border: 0;
	 font-size: clamp(1rem, 2vw, 2rem);
    margin-bottom: 1em;
    padding-left: 0;
	color:#000000;
}
.home .wp-block-group.is-content-justification-right.is-layout-constrained.wp-container-core-group-is-layout-f1f2ed93.wp-block-group-is-layout-constrained {
    padding-left: 8%;
}

/* =========================
   セクション見出し共通（News / Activity）
   ========================= */
.sec-activity{
	margin-bottom:clamp(56px, 8vw, 92px)  !important;
}
/* 見出し本体 */
.article .section-title{
  position: relative;
  margin: 0 0 28px;
  font-family: "Poppins","Noto Sans JP",sans-serif;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: 0.01em;
  font-size: clamp(1.9rem, 3.2vw, 3.4rem) !important;
}

.section-subtitle{
  text-align:center;
  margin-top:-18px;
  font-size:20px !important;
}
/* セクション中央寄せにしたい場合（画像のような見た目） */
.article .is-layout-constrained .section-title{
  text-align: center;
}
.article .is-layout-constrained .section-title::before{
  left: 50%;
  transform: translateX(-50%);
}
/* Activity：カードの動き */
.top-activity-card{
  transition: transform .22s ease, opacity .22s ease;
  will-change: transform;
}
.top-activity-thumb{
  transition: box-shadow .22s ease;
}
.top-activity-thumb img{
  transition: transform .35s ease;
  will-change: transform;
}

/* hover */
.top-activity-card:hover{
  transform: translateY(-4px);
  opacity: .96;
}
.top-activity-card:hover .top-activity-thumb{
  box-shadow: 0 14px 40px rgba(0,0,0,.18);
}
.top-activity-card:hover .top-activity-thumb img{
  transform: scale(1.03);
}
@media (prefers-reduced-motion: reduce){
  .top-news-item,
  .top-activity-card,
  .top-activity-thumb,
  .top-activity-thumb img{
    transition: none !important;
    transform: none !important;
  }
}
/* SP微調整 */
@media (max-width: 834px){
	.entry-title{
		padding: 0.6em 0.6em 0 !important;
	}
  .article .section-title{
    padding-top: 14px;
    font-size: clamp(2.0rem, 7vw, 3.2rem) !important;
  }
  .article .section-title::before{
    width: 72px;
    height: 5px;
  }
}


/* =========================
   Projects セクション（添付デザイン寄せ）
   ========================= */
.wp-block-columns.is-layout-flex.wp-container-core-columns-is-layout-28f84493.wp-block-columns-is-layout-flex {
    margin-bottom: 100px;
}
.sec-soundness .wp-block-columns.is-layout-flex.wp-container-core-columns-is-layout-28f84493.wp-block-columns-is-layout-flex {
    margin-bottom: 0px;
}
.sec-projects{
  background:#000;
  color:#fff;
  padding: clamp(56px, 8vw, 92px) 0;
}

/* 見出しとリード */
.sec-projects.wp-block-group{
	margin-bottom:0;
}
.sec-projects h3{
  margin: 0 0 14px;
  font-family: "Poppins","Noto Sans JP",sans-serif;
  font-weight: 800;
  letter-spacing: .01em;
  font-size: clamp(2.2rem, 4.2vw, 4.0rem);
	padding-top:0 !important;
}
.sec-projects h3{
  color:#fff !important;
}

.sec-projects p{
  color: rgba(255,255,255,.78);
  margin: 0 auto 34px;
  max-width: 740px;
  line-height: 1.8;
  font-size: 15px;
}

/* グリッド（PC3列→SP1列） */
/* Projects グリッド全体 */
.sec-projects .top-projects-grid{
  max-width: 1100px;   /* ← 少し小さく */
  margin: 0 auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 42px;
}
/* カード */
.sec-projects .top-project-card{
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  background: rgba(255,255,255,.06);
}
/* 列はそのまま、カードだけ少し細く */
.sec-projects .top-project-card{
  max-width:80%;
  margin-left: auto;
  margin-right: auto;
}
/* 凸凹は transform ではなく margin で作る（競合しない） */
.sec-projects .top-project-card{
  margin-top: 0;
}
.sec-projects .top-projects-grid > .top-project-card:nth-child(2){
  margin-top: 34px;  /* 28px → 34px */
}

.sec-projects .top-projects-grid > .top-project-card:nth-child(3){
  margin-top: -18px; /* -16px → -18px */
}

/* スマホはリセット */
@media (max-width: 834px){
	.sec-activity{ padding-bottom: 70px; }
  .sec-projects .top-projects-grid{
    gap: 22px;
    max-width: 100%;
  }
.sec-projects .top-project-card{
  max-width:90%;
  margin-left: auto;
  margin-right: auto;
}
  .sec-projects .top-projects-grid > .top-project-card{
    margin-top: 30px !important;
    transform: none;
  }
}
/* サムネ */
.sec-projects .top-project-thumb img{
  width: 100%;
  height: auto;
  display: block;
}

/* いまの title/excerpt を “黒いラベル” にする */
.sec-projects .top-project-meta{
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 2;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(0,0,0,.82);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  max-width: calc(100% - 28px);
}

/* 上段：小さいカテゴリっぽい文字（excerptがある時だけ表示） */
.sec-projects .top-project-excerpt{
  display:block;
  font-size: 11px;
  letter-spacing: .06em;
  text-transform: uppercase;
  opacity: .85;
  margin: 0 0 3px;
  line-height: 1.2;
}

/* 下段：タイトル */
.sec-projects .top-project-title{
  font-weight: 800;
  font-family: "Poppins","Noto Sans JP",sans-serif;
  font-size: 14px;
  line-height: 1.2;
  letter-spacing: .02em;
}

/* hover（リンク有りの時だけ、ふわっと） */
.sec-projects a.top-project-card:hover{
  transform: translateY(-4px);
  transition: transform .22s ease, opacity .22s ease;
  opacity: .96;
}
.sec-projects a.top-project-card:hover .top-project-thumb img{
  transform: scale(1.03);
  transition: transform .35s ease;
}

/* nolinkは動かさない（既に入れてるならそのままでもOK） */
.sec-projects .top-project-card.is-nolink{
  transform: none;
  opacity: 1;
}

/* SP */
@media (max-width: 834px){
  .sec-projects .top-projects-grid{
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .sec-projects .top-project-meta{
    left: 12px;
    bottom: 12px;
  }
}

/* =========================
   Projects：ラベルずれ解消（画像基準に統一）
   ========================= */

/* 1) サムネ領域を同一比率に固定（ここが本命） */
.sec-projects .top-project-thumb{
  position: relative;
  aspect-ratio:  / 3;  2 /* ←好みで調整：16/9, 1/1 などもOK */
  overflow: hidden;
  border-radius: 20px ;
}

/* 画像は領域いっぱいに揃えてトリミング */
.sec-projects .top-project-thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 2) ラベルを“画像の上”に重ねる（HTMLそのまま版）
   カードをグリッド化して、thumbとmetaを同じ面に重ねます */
.sec-projects .top-project-card{
  display: grid;
}

/* thumbとmetaを同じ場所に重ねる */
.sec-projects .top-project-thumb,
.sec-projects .top-project-meta{
  grid-area: 1 / 1;
}

.sec-projects .top-project-meta {
    position: absolute;
    right: 0;
    bottom: 0;
    align-self: end;
    justify-self: start;
    /* margin: 0 0 14px 14px; */
    z-index: 2;
    padding: 20px 12px;
    border-radius: 12px 0 0 0;
    background: rgba(0, 0, 0, .82);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    max-width: calc(100% - 28px);
}

/* 既存の absolute 指定が残っていても上書きされるように */
.sec-projects .top-project-meta{
  left: auto;
  bottom: auto;
}
.sec-soundness  {
padding: clamp(56px, 8vw, 92px) 0;
}
.sec-soundness  .section-title{
	text-align:left !important;
	padding-top:0 !important;
	font-size: clamp(1.8rem, 4vw, 5rem) !important;
}

.section_subtitle{
	border: 0;
	line-height:1.5em;
    font-size: clamp(1rem, 2vw, 2rem);
    margin-bottom: 0.7em !important;
    padding-left: 0;
    color: #000000;
}
.sec-soundness .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow img {
    border-radius: 30px;
}
.columun-right1{
     padding-left: 40px;
	}
	#footer{
		padding-top:40px;
	}

#footer-in.wrap{
	width:100%;
}
.footer-bottom{
	padding:0;
}
.footer_logo{
	margin:50px auto 0;
	width:30%;
	max-width:300px;
}
.footer_logo img{
	width:100%;
}

.footer{
	margin-top:0;
	padding:0;
}
nav#navi-footer {
    margin-bottom: 30px;
}
.source-org.copyright {
    background: #000000;
    color: #ffff;
	padding:20px;
}

/* 追加：フッター上段の4つメニュー */
.footer-quick-nav{
  margin: 20px 0 12px;
	font-size: 12px;
}

.footer-quick-menu{
  list-style:none;
  margin:0;
  padding:0;

  display:flex;
  gap: 14px;
  justify-content:center;
  flex-wrap:wrap;
}

.footer-quick-menu li{ margin:0; }

.footer-quick-menu a{
  display:block;
	color:#888888;
  padding: 10px 14px;
  text-decoration:none;
}

/* スマホ：縦1列 */
@media (max-width: 834px){

  .footer-quick-menu{
        width: 80%;
        margin: auto;
    flex-direction:column;
    align-items:stretch;
    gap:5px;
  }
  .footer-quick-menu a{
    text-align:center;
  }
	
	.footer-quick-menu a {
    text-decoration: none;
    border-top: 1px solid rgb(221 221 221);
}
    .navi-footer {
        margin: 0 auto;
        width: 80%;
    }
	    .navi-footer-in > .menu-footer li.menu-item {
        width: 40%;
        padding: 10px 0;
        border-top: 1px solid rgb(221 221 221);
    }
	    .navi-footer-in > .menu-footer {
        justify-content: left; 
    }
}
/* SP */
@media (max-width: 834px){
.sec-soundness  {
        padding: 10% 0 10% 0;
        margin-bottom: 0 !important;
}
.columun-right1{
     padding-left: 0px;
	}
	.footer_logo{
	margin:0px auto 0;
	width:30%;
	max-width:300px;
}
}

/*投稿詳細 */
@media screen and (min-width: 1025px) {
body.single-post #content-in.wrap{
  width: 980px;
  max-width: 90%;	
  margin: 5rem auto;
}
	}
body.single-post #content-in.wrap{
  width: 980px;
  max-width: 90%;
  margin:  auto;
}
/* 投稿（記事詳細）だけ：アイキャッチを記事枠いっぱいに */
.single-post .eye-catch-wrap,
.single-post .eye-catch{
  width: 100%;
  max-width: none;
}

.single-post .eye-catch img.eye-catch-image{
  width: 100% !important;
  height: auto !important;
  display: block;
	border-radius:20px;
}
/*sns share */
.sns-follow-message, .sns-share-message{
    font-family: "Poppins", "Montserrat", "Noto Sans JP", sans-serif;
	font-size:12px;
	font-weight:bold;
}

.entry-content figure img{
	border-radius:20px;
}
/* =========================================================
  固定ページ（会社概要・お問い合わせ等）のみ
  ※ 固定ページで作ったトップ（front-page）は除外
========================================================= */
@media (max-width: 834px){

  body.page:not(.home):not(.front-page) .entry-content{
    padding-left:0.8em;
    padding-right:0.8em;
    line-height: 1.85;
    font-size: 15px;
  }

  body.page:not(.home):not(.front-page) .entry-content p{
    margin: 0 0 1em;
  }

  body.page:not(.home):not(.front-page) .entry-content h2{
    margin: 1.6em 0 .7em;
    line-height: 1.35;
    letter-spacing: .02em;
  }

  body.page:not(.home):not(.front-page) .entry-content h3{
    margin: 1.3em 0 .6em;
    line-height: 1.4;
    letter-spacing: .01em;
  }

  body.page:not(.home):not(.front-page) .entry-content ul,
  body.page:not(.home):not(.front-page) .entry-content ol{
    padding-left: 1.2em;
    margin: 0 0 1.1em;
  }

  body.page:not(.home):not(.front-page) .entry-content li{
    margin: 0 0 .5em;
  }

  body.page:not(.home):not(.front-page) .entry-content img{
    max-width: 100%;
    height: auto;
    border-radius: 12px;
  }

  body.page:not(.home):not(.front-page) .entry-content table{
    width: 100%;
    font-size: 14px;
  }

  body.page:not(.home):not(.front-page) .entry-content th,
  body.page:not(.home):not(.front-page) .entry-content td{
    padding: 12px 10px;
    line-height: 1.6;
  }

  body.page:not(.home):not(.front-page) .entry-content input,
  body.page:not(.home):not(.front-page) .entry-content textarea,
  body.page:not(.home):not(.front-page) .entry-content select{
    padding: 12px;
    border-radius: 12px;
    box-sizing: border-box;
  }
}
body.page .entry-date,
body.page .post-date,
body.page .entry-time,
body.page .post-time,
body.page .date-tags{
  display: none !important;
}
/* デフォルト：改行しない */
.sp-br,
.pc-br{
  display: inline;
}
.pc-display {
	display:block;
}
.sp-display {
	display:none;
}
/* スマホだけ改行 */
@media (max-width: 834px){
  .sp-br{
    display: block;
  }
.sp-display {
	display:block;
}
	.pc-display {
	display:none;
}
}

/* PCだけ改行 */
@media (min-width: 835px){
  .pc-br{
    display: block;
  }

}
/* 会社概要：2カラムの情報ブロック（ミニマル） */
.company-profile{
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 24px 0;
}

/* 1行カード */
.company-profile__row{
        border-bottom: #00000012 solid 1px;
  display: grid;
  grid-template-columns: minmax(8.5em, 200px) 1fr;
  gap: 14px;
  padding: 16px 18px;
}

/* 左ラベル */
.company-profile__label{
  font-weight: 700;
  letter-spacing: .03em;
  color: rgba(15,23,42,.88);
  font-size: .95em;
  line-height: 1.4;
}

/* 右本文 */
.company-profile__value{
  color: rgba(51,65,85,.95);
  line-height: 1.85;
  word-break: break-word;
}

/* メール画像 */
.company-profile__value img{
  max-width: 240px;
  height: auto;
  display: block;
}

/* TELなど“長文”は表から分離して、注記カードに */
.company-profile__note{
  padding: 18px 18px;
}

.company-profile__noteTitle{
  font-weight: 800;
  letter-spacing: .02em;
  margin-bottom: 8px;
}

.company-profile__noteBody{
  line-height: 1.85;
  color: rgba(51,65,85,.95);
}

/* リンク */
.company-profile a{
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: .08em;
  text-underline-offset: .18em;
  text-decoration-color: rgba(51,65,85,.35);
}
.company-profile a:hover{
  text-decoration-color: rgba(51,65,85,.7);
}

/* スマホは縦積み */
@media (max-width: 767px){
  .company-profile__row{
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 14px 16px;
  }
}
/* 会社概要（company-profile）を左寄せ＋適正幅に */
.company-profile{
  max-width: 100%;         /* ← ここが効きます。好みで 760〜920 で調整OK */
  margin: 28px auto 28px 0; /* 左寄せ（右に余白） */
}

/* 行カードの比率を整える（左列を細くして間延び解消） */
.company-profile__row{
  grid-template-columns: 180px 1fr; /* 200px→細く。好みで 140〜180 */
}
@media (max-width: 834px){
.company-profile__row{
  grid-template-columns: 100px 1fr; /* 200px→細く。好みで 140〜180 */
}
}
/* PCでさらに締めたいなら */
@media (min-width: 1024px){
  .company-profile__row{
    padding: 18px 20px;
  }
}

.is-layout-constrained > iframe {
    max-width: 100% !important;
}


  /* 
「トップページだけ」スクロールするまで透明、
スクロール後に帯を出すように上書きします。
*/


@media (min-width: 1025px){

  /* ▼トップ：初期は帯を消す（原因の指定を上書き） */
  body.home #header-container{
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
  }

  /* ▼トップ：初期は header-container-in も透明に */
  body.home #header-container-in{
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
  }

  /* ▼トップ：スクロール後だけ帯を出す（is-scrolled が付いた時） */
  body.home #header-container-in.is-scrolled{
    background-color: rgba(255,255,255,.82) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: 0 10px 30px rgba(0,0,0,.08) !important;
  }

  /* 念のためナビ背景も初期は透明 */
  body.home #header-container-in:not(.is-scrolled) .navi,
  body.home #header-container-in:not(.is-scrolled) #navi{
    background: transparent !important;
  }

  /* Cocoonの固定ヘッダー系が被る場合の保険 */
  body.home .fixed-header{
    background: transparent !important;
    box-shadow: none !important;
  }
}


.wpforms-field-email .wpforms-field-row{
    display: block;
  }

.wpforms-field-email .wpforms-field-row .wpforms-field-row-block{
    width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* 念のため：左右カラムのマージン調整 */
.wpforms-field-email .wpforms-field-row .wpforms-one-half{
    margin-top: 12px;
  }
.wpforms-field-email  .wpforms-field-row .wpforms-first{
    margin-top: 0;
  }
.wpforms-field-email .wpforms-field-row .wpforms-field-row-block{
    /* ← ここがポイント：スマホでは左右paddingを消して揃える */
    padding: 0 !important;
  }
  
.wpforms-submit-container {
    text-align: center;
    margin: 40px !important;
}
button#wpforms-submit-249 {
    width: 250px;
    height: 100px;
    border-radius: 60px;
}
#recuruit_contact .submit-btn button{
    width: 250px;
    height: 100px;
    border-radius: 60px;
	margin: auto;
	background:#333333;
	color:#ffffff;
	border:0;
}
@media (min-width: 1024px){
button#wpforms-submit-249 {
    width: 400px;
    height: 100px;
    border-radius: 100px;
}
#recuruit_contact .submit-btn button{
    width: 400px;
    height: 100px;
    border-radius: 100px;
}
}

/* =========================
  Cocoon：PCサブメニューを “ふわっ” と表示
========================= */
@media (min-width: 1025px){

  /* 親を基準にする */
  #navi .menu-header > li{
    position: relative;
  }

  /* サブメニュー初期：非表示 */
  #navi .menu-header li.menu-item-has-children > ul.sub-menu{
    position: absolute;
    top: calc(100% + 10px);
    left: 100%;
    transform: translateX(-50%) translateY(8px);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    min-width: 220px;
    padding: 10px;
    margin: 0;
    list-style: none;

    background: rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-radius: 14px;
    box-shadow: 0 14px 40px rgba(0,0,0,.10);
    z-index: 9999;

    transition: opacity .25s ease, transform .25s ease, visibility .25s ease;
  }

  /* hover / キーボード操作でも表示 */
  #navi .menu-header li.menu-item-has-children:hover > ul.sub-menu,
  #navi .menu-header li.menu-item-has-children:focus-within > ul.sub-menu{
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }

  /* サブメニュー項目 */
  #navi .menu-header ul.sub-menu > li > a{
    display: block;
    padding: 10px 12px;
    border-radius: 10px;
    white-space: nowrap;
    text-align: left;
  }

  #navi .menu-header ul.sub-menu > li > a:hover{
    background: rgba(0,0,0,.04);
  }
}
/* サブメニューだけ高さ固定を解除 */
.navi-in > ul > li ul li{
  height: auto !important;
  width: auto !important;
}
#navi .menu-header ul.sub-menu > li > a{
	font-size:12px !important;
}
@media (min-width: 1025px){

  #navi .menu-header li.menu-item-has-children{
    position: relative;
  }

  /* 親とサブメニューの間に透明の橋を作る */
  #navi .menu-header li.menu-item-has-children::after{
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 14px;           /* 隙間分＋α */
    background: transparent;
  }

  /* サブメニューを少し離す場合の例 */
  #navi .menu-header li.menu-item-has-children > ul.sub-menu{
    top: calc(100% + 10px) !important;
  }
}
@media (min-width: 1025px){

  /* サブメニュー全体の角丸を小さく */
  #navi .menu-header li.menu-item-has-children > ul.sub-menu{
    border-radius: 8px !important;   /* 6〜10で好み調整 */
    padding: 8px !important;         /* 角丸小さくした分、少し締める */
  }

  /* サブメニュー項目の角丸も小さく */
  #navi .menu-header ul.sub-menu > li > a{
    border-radius: 6px !important;   /* 4〜8で好み調整 */
  }
}




@charset "utf-8";
/* CSS Document */
.layer-01 {
    display: block;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
	top: 280px;
    height: 354px;
    background-color: #00000011;
    z-index: -9999;
    transition: 1s ease-in;
    transform: skewY( 
329deg
 ) skewX( 
360deg
 );
}
.layer-02 {
    display: block;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 40%;
    height: 500px;
    background-color: #00000011;
    z-index: -9999;
    transition: 1s ease-in;
    transform: skewY(30deg) skewX(360deg);
}
#message_contain > .container,#mem_contain > .container{
	width: 100% !important;
}
#mem_contain.wrapper {
    margin: 0 0 3em 0;
    padding: 4.5em 0 12em 0;
}
.message{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	position: relative;
}
.message .message_message{
	width: 50%;
	text-align: left;
	z-index: 5;
}
.message .message_photo{
	width: 50%;
	margin-top: -11%;
	padding-bottom:14.47%;
	z-index: 5;
}
.message .message_photo img{
	width: 100%;
}
.message .message_ei{
	position: absolute;
	bottom: 0;
	right: 0;
	width: 75%;
	z-index: 0;
	opacity:0.7;
}
.message .message_ei img{
	width: 100%;
}
.mem_ei{
	position: absolute;
	bottom: 0;
	left: 0;
	width: 60%;
	z-index: 0;
}
.mem_ei img{
	width: 100%;
}
.recuruit_bg{
	background: #EEEEEE;
}
.contents_title {
    background: url("../img/bg.jpg") top right;
	background-size: cover;
}
.contents_title{
	min-height: 500px;
}
.second .title3{
	text-align: left;
}
header > p{
	text-align: left;
	font-size: 1em;
}
header > p > strong{
	font-size: 1em;
	color: #006F78;
	font-weight: bold;
}
table.company {
width: 100%;
margin: 0 auto;
border-collapse: separate;
border-spacing: 0px 15px;
font-size: 1em;
}

table.company th,
table.company td {
padding: 10px;
}

table.company th {
vertical-align: middle;
text-align: left;
width:20%;
overflow: visible;
position: relative;
font-weight: normal;
font-size: 1em;
}
table.company th::after {
    position: absolute;
    content: '';
    width: 90%;
    height: 1px;
    background: #282828;
    bottom: -1px;
    left: 0;
}
.wrapper.style3{
	background: #EFEFEF;
}
#recuruit_senpai.container {
    width: 100%;
}
#recuruit_senpai .lp_contain {
    position: relative;
    width: 100%;
}
#recuruit_senpai .lp_contain .lp_img {
    position: relative;
    top: 10px;
    width: 76%;
    z-index: 10;
    margin-left: auto;
}
#recuruit_senpai .lp_contain .lp_img img{
	width: 100%;
}

#recuruit_senpai .lp_contain .lp_text {
  position: absolute;
  left: 0;
  top: 40px;
  color: #000000;
  width: 50%;
  margin-left: auto;
    padding-left:4%;
    padding-top: 4%;
    padding-bottom: 3%;
	padding-right:4%;
  z-index: 15;
  background-color: #ffffffcf; /* 背景色 */
}
#recuruit_senpai .lp_contain .lp_text h3 {
display: inline-block;
    border-left: solid 5px #000000;
    padding-left: 1.7rem;
    font-size: 1.2rem;
    font-weight: bold;
    color: #464646;
    text-align: left;
    position: relative;
    line-height: 2rem;
}
.nensu{
	padding: 10px;
	background: #e5f2ff;
	border-radius: 10px;
	font-weight: normal;
	font-size: 1.1rem;
}
#recuruit_senpai .lp_contain .lp_text .lp_syotext1 {
    font-size: 1.6rem;
	    line-height: 2rem;
    font-weight: bold;
    margin-bottom: 1.5rem;
    margin-top: 2rem;
    padding-right: 1rem;
}
#recuruit_senpai .lp_contain .lp_text .lp_syotext2 {
    font-size: 1rem;
    padding-right: 1rem;
}
#recuruit_senpai .lp_contain .text_contain {
    padding-left: 5%;
}
#recuruit_senpai .brand_contain {
    position: relative;
	width: 112%;
    padding-top: 20px;
    margin-top: 5%;
    margin-left: -12%;
}
#recuruit_senpai .brand_contain .brand_img {
    position: relative;
    top: 40px;
    width: 70%;
    z-index: 10;
    margin-right: auto;
	padding-bottom: 8%;
}
#recuruit_senpai .brand_contain .brand_text {
position: absolute;
    right: 0;
    top: 100px;
    background: #ffffffcf;
    color: #000;
    width: 45%;
    margin-left: auto;
    padding-left: 4%;
    margin-right: 5vw;
    padding-right: 3%;
    padding-top: 4%;
    padding-bottom: 4%;
    z-index: 15;
  background-color: #ffffffcf; /* 背景色 */
}

/* 枠の太さ（調整しやすいように変数化） */
:root {
  --border-thickness: 30px; /* 太さを自由に変更可能 */
}

/* 横線（外側に配置） */
.brand_text::before {
  content: "";
  position: absolute;
  right: calc(-1 * var(--border-thickness)); /* 横線を左にずらす */
  bottom: calc(-1 * var(--border-thickness)); /* 下にずらして外側に配置 */
  width: 200px; /* 横線の長さ */
  height: var(--border-thickness); /* 線の太さ */
  background-color: black; /* 線の色 */
}

/* 縦線（外側に配置） */
.brand_text::after {
  content: "";
  position: absolute;
  right: calc(-1 * var(--border-thickness)); /* 左にずらして外側に配置 */
  bottom: calc(-1 * var(--border-thickness)); /* 縦線を下にずらすことで接続 */
  width: var(--border-thickness); /* 縦線の太さ */
  height: 200px; /* 縦線の長さ */
  background-color: black; /* 線の色 */
}
#recuruit_senpai .brand_contain .brand_text h3 {
	  display: inline-block;
  border-left: solid 5px #000000;
    padding-left: 1.7rem;
    font-size: 1.2rem;
    font-weight: bold;
    text-align: left;
    color: #464646;
    line-height: 2rem;
}
#recuruit_senpai .brand_contain .text_contain {
    padding-left: 2%;
}
#recuruit_senpai .brand_contain .brand_text .brand_syotext1 {
    font-weight: bold;
    font-size: 1.5rem;
	    line-height: 2rem;
    font-weight: bold;
    margin-bottom: 1.5rem;
    margin-top: 2rem;
    padding-right: 1rem;
}
#recuruit_senpai .brand_contain .brand_text .brand_syotext2 {
    font-size: 1rem;
    margin-bottom: 1rem;
    padding-right: 1rem;
}
#recuruit_senpai .brand_contain .brand_img img {
    width: 100%;
}
/* firefox */
@-moz-document url-prefix() {

}

table.company td {
width: 80%;
padding-left: 20px;
}
@media screen and (max-width: 961px) {
	#recuruit_senpai .lp_contain{
		padding-top: 0;
	}
	#recuruit_senpai .lp_contain .lp_text{
        position: relative;
        width: 96%;
        margin: auto;
		padding-left: 6%;
        z-index: 10;
		margin-top: -5%;
	}
	#recuruit_senpai .lp_contain .lp_img{
		width: 100%;
		z-index: 5;
	}
	#recuruit_senpai .lp_contain .img_sp{
		left: 10%;
		margin: auto;
		bottom:5%;
	}
	#recuruit_senpai .brand_contain .brand_text{
        position: relative;
        width: 96%;
        margin: 0 auto 3%;
        z-index: 10;
        top: 0px;
	}
	#recuruit_senpai .brand_contain{
		padding-top: 10%;
		margin-top:0;
	}
	#recuruit_senpai .brand_contain .brand_img{
		width: 100%;
		z-index: 5;
	}
	#recuruit_senpai .brand_contain .brand_img .img_in{
		display: none;
	}
	#recuruit_senpai .lp_contain .lp_text h3{
		font-size: 3rem;
	}
}
@media screen and (max-width: 768px) {
	.contents_title {
    background: url("../img/bg.jpg") top left;
	background-size: cover;
}
	
	
	#recuruit_senpai .lp_contain .lp_text{
		margin-top: -30%;
		width: 100%;
	}
	#recuruit_senpai .brand_contain .brand_text{
		width: 100%;
		margin-top:-13%;
	}
	
	#recuruit_senpai .lp_contain .lp_text h3{
		font-size: 1.1rem;
		margin-top: 10px;
	}
	#recuruit_senpai .lp_contain .lp_text .lp_syotext1 {
		font-size: 1.2rem;
		margin-top: 1rem;
	}
	#recuruit_senpai .lp_contain .lp_text .lp_syotext2{
		margin-bottom: 1.8rem;
	}
	#recuruit_senpai .brand_contain{
		
	}
	#recuruit_senpai .brand_contain .brand_text h3{
		font-size:1.1rem;
	}
	#recuruit_senpai .brand_contain .brand_text .brand_syotext1{
		font-size: 1.2rem;
		margin-top: 1rem;
	}
	#recuruit_senpai .brand_contain .brand_text .brand_syotext2{
	}
}
.contents_title .title{
    line-height: 2.2em;
}
	.text_s{
		line-height: 1em;
		font-weight:bold;
		font-size: clamp(1.25rem, 2vw, 1.9rem);
	}
@media screen and (max-width: 480px) {
	.contents_title {
    background: url("../img/bg.jpg") top;
	background-size: cover;
}
	.contents_title .title{
    line-height: 2.2em;
}
	
	#recuruit_senpai .lp_contain .lp_text h3{
		font-size: 1.1rem;
	}
	#recuruit_senpai .lp_contain .lp_text .lp_syotext1 {
		font-size: 1.4rem;
		margin-top: 1rem;
		padding-right: 0;
	}
	#recuruit_senpai .lp_contain .lp_text .lp_syotext2{
		margin-bottom: 1.8rem;
	}
	#recuruit_senpai .brand_contain{
		width: 100%;
		margin-left: 0;
	}
	#recuruit_senpai .brand_contain .brand_text h3{
		font-size:1.1rem;
	}
	#recuruit_senpai .brand_contain .brand_text .brand_syotext1{
		font-size: 1.4rem;
		margin-top: 1rem;
	}
	.message .message_message{
		width: 100%;
	}
	.message .message_photo{
		width: 100%;
		margin-top: 5%;
		padding-bottom: 30%;
	}
	#message_contain > .container, #mem_contain > .container {
    width: 100% !important;
    padding-left: 0;
}
	.message .message_ei{
		width: 98%;
	}
	#mem_contain.wrapper{
		padding: 3em 1em 3em 1em;
	}
	.img1{
		width: 70%;
		margin-left: auto;
	}
		.img2{
		width: 85%;
		margin-top: -6%;
	}

/* 枠の太さ（調整しやすいように変数化） */
:root {
  --border-thickness: 5px; /* 枠の太さを変更 */
  --border-length: 100px; /* 枠の長さ */
}

/* 左上の枠 */
.lp_text::before {
  content: "";
  position: absolute;
  left: calc(-1 * var(--border-thickness)); /* 外側に配置 */
  top: calc(-1 * var(--border-thickness)); /* 外側に配置 */
  width: var(--border-length); /* 横線の長さ */
  height: var(--border-thickness); /* 線の太さ */
  background-color: black;
}

.lp_text::after {
  content: "";
  position: absolute;
  left: calc(-1 * var(--border-thickness)); /* 外側に配置 */
  top: calc(-1 * var(--border-thickness)); /* 外側に配置 */
  width: var(--border-thickness); /* 縦線の太さ */
  height: var(--border-length); /* 縦線の長さ */
  background-color: black;
}

/* 右下の枠 */
.lp_text div::before {
  content: "";
  position: absolute;
  right: calc(-1 * var(--border-thickness)); /* 外側に配置 */
  bottom: calc(-1 * var(--border-thickness)); /* 外側に配置 */
  width: var(--border-length); /* 横線の長さ */
  height: var(--border-thickness); /* 線の太さ */
  background-color: black;
}

.lp_text div::after {
  content: "";
  position: absolute;
  right: calc(-1 * var(--border-thickness)); /* 外側に配置 */
  bottom: calc(-1 * var(--border-thickness)); /* 外側に配置 */
  width: var(--border-thickness); /* 縦線の太さ */
  height: var(--border-length); /* 縦線の長さ */
  background-color: black;
}
/* 左上の枠 */
.brand_text::before {
  content: "";
  position: absolute;
  left: calc(-1 * var(--border-thickness)); /* 外側に配置 */
  top: calc(-1 * var(--border-thickness)); /* 外側に配置 */
  width: var(--border-length); /* 横線の長さ */
  height: var(--border-thickness); /* 線の太さ */
  background-color: black;
}

.brand_text::after {
  content: "";
  position: absolute;
  left: calc(-1 * var(--border-thickness)); /* 外側に配置 */
  top: calc(-1 * var(--border-thickness)); /* 外側に配置 */
  width: var(--border-thickness); /* 縦線の太さ */
  height: var(--border-length); /* 縦線の長さ */
  background-color: black;
}

/* 右下の枠 */
.brand_text div::before {
  content: "";
  position: absolute;
  right: calc(-1 * var(--border-thickness)); /* 外側に配置 */
  bottom: calc(-1 * var(--border-thickness)); /* 外側に配置 */
  width: var(--border-length); /* 横線の長さ */
  height: var(--border-thickness); /* 線の太さ */
  background-color: black;
}

.brand_text div::after {
  content: "";
  position: absolute;
  right: calc(-1 * var(--border-thickness)); /* 外側に配置 */
  bottom: calc(-1 * var(--border-thickness)); /* 外側に配置 */
  width: var(--border-thickness); /* 縦線の太さ */
  height: var(--border-length); /* 縦線の長さ */
  background-color: black;
}
	.mem_ei{
		width: 90%;
	}
	.text_s{
		line-height: 2em;
	}
}

.text_center{
	text-align: center;
}
#privacy_contain > div{
	margin: 0px 0 40px 0;
}
#privacy_contain h3{
	font-weight: bold;
	margin-bottom: 10px;
}
#privacy_contain p{
	margin:10px 0;
}
#privacy_contain ol {
	list-style:auto;
}
#privacy_contain ol li {
	font-size: 0.8em;
    margin: 0 0 0 3% ;
	
}
#thanks.container {
	max-width: 90%;
	width: 900px;
	text-align:center;
	margin:auto;
	
}
#thanks h2{
	text-align: center;
	margin: auto;
}
#thanks p{
	text-align: center;
	margin: auto;
}
.recuruit .list1{
	display: flex;
	width: 100%;
	margin: 0px auto;
    flex-wrap: wrap;
}
.recuruit .list1 .list_text1{
text-align: left;
    width: 20%;
    overflow: visible;
    position: relative;
    font-weight: normal;
    font-size: 1em;
    border-bottom: 1px solid rgb(190 190 190);
    padding: 25px 0 25px 25px;
    background: #f7f7f7;
}
.recuruit .list1 .list_text2{
    border-bottom: 1px solid rgb(190 190 190);
    width: 80%;
    padding: 25px 25px 25px 25px;
    font-size: 0.9em;
    background: #fcfcfc;
}
::placeholder{
	color: #999999;
}
#recuruit_contact .red{
	background:#eb585a;
	padding: 5px;
	border-radius: 3px;
	margin-left: 10px;
	color: #ffffff;
}
#recuruit_contact .submit-btn{
	width: 100%;
}

#recuruit_contact .f_small {
    font-size: 0.6em;
    line-height: 0.8em;
}
@media screen and (max-width: 768px) {

	.nensu{
		line-height:2em;
	}
	
.recuruit .list1 .list_text1{
    width: 100%;
    padding: 10px 0 10px 25px;
	border-bottom: 0px;
    background: #efeded;
}
.recuruit .list1 .list_text2{
    width: 100%;
	border-bottom: 0px;
}
	.recuruit .list1 .list_text1 label{
    margin-bottom: 0;
}.layer-02 {
    display: block;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 10%;
    height: 500px;
    z-index: -9999;
    transition: 1s ease-in;
    transform: skewY(30deg) skewX(360deg);
}
	
}
@media screen and (min-width: 1025px) {
.page-id-14 .entry-content {
    width: 100% !important;
	padding-left:10%;
    margin: unset !important;
	
}
	.single-post .eye-catch-wrap, .single-post .eye-catch {
    width: 100%;
    max-width: 900px;
    margin: 30px auto;
}
	}

.single-post .eye-catch-wrap, .single-post .eye-catch {
    width: 100%;
    margin: 10px auto;
}
body:not(.home):not(.front-top-page):not(.single) .content-in.wrap{
  width: 100% !important;
}

.list_text2 input {
    max-width: 600px !important;
}



/* 投稿一覧*/

a.entry-card-wrap.a-wrap.border-element.cf {
    border-radius: 0.8rem;
    grid-template-rows: 18.2rem 1fr;
    box-shadow: 0 0 2rem #00000029;
padding:0;
}
figure.entry-card-thumb.card-thumb.e-card-thumb {
    margin-top: 0;
}
img.entry-card-thumb-image.card-thumb-image.wp-post-image {
    border-radius: 10px 10px 0 0;
}
.entry-card-content.card-content.e-card-content {
    padding: 5px 20px;
}
.ect-3-columns {
    column-gap: 5%;
}
.ect-3-columns .entry-card-wrap {
    width: 46%;
}
@media screen and (min-width: 1025px) {
.ect-3-columns .entry-card-wrap {
    width: 30%;
}

.ect-3-columns {
    column-gap: 5%;
}
	#recuruit_contact .submit-btn {
    width: 90%;
}
	.category-14  #content{
  width: 100% !important;
}
}
.category-14  #content{
  width: 90% !important;
	margin:auto;
}
