/*
Theme Name: solaris Child
Version: 1.6
Template: solaris_tcd088
*/

/*スマホのみ改行*/
.sp-only { display: none; }

@media (max-width: 767px) {
  .sp-only { display: block; }
}

/*余白設定*/
.m0 {
	margin: 0!important;
}
.m0-t {
	margin-top: 0!important;
}
.m0-r {
	margin-right: 0!important;
}
.m0-b {
	margin-bottom: 0!important;
}
.m0-l {
	margin-left: 0!important;
}
.m5 {
	margin: 5px!important;
}
.m5-t {
	margin-top: 5px!important;
}
.m5-r {
	margin-right: 5px!important;
}
.m5-b {
	margin-bottom: 5px!important;
}
.m5-l {
	margin-left: 5px!important;
}
.m10 {
	margin: 10px!important;
}
.m10-t {
	margin-top: 10px!important;
}
.m10-r {
	margin-right: 10px!important;
}
.m10-b {
	margin-bottom: 10px!important;
}
.m10-l {
	margin-left: 10px!important;
}
.m15 {
	margin: 15px!important;
}
.m15-t {
	margin-top: 15px!important;
}
.m15-r {
	margin-right: 15px!important;
}
.m15-b {
	margin-bottom: 15px!important;
}
.m15-l {
	margin-left: 15px!important;
}
.m20 {
	margin: 20px!important;
}
.m20-t {
	margin-top: 20px!important;
}
.m20-r {
	margin-right: 20px!important;
}
.m20-b {
	margin-bottom: 20px!important;
}
.m20-l {
	margin-left: 20px!important;
}
.m25 {
	margin: 25px!important;
}
.m25-t {
	margin-top: 25px!important;
}
.m25-r {
	margin-right: 25px!important;
}
.m25-b {
	margin-bottom: 25px!important;
}
.m25-l {
	margin-left: 25px!important;
}
.m30 {
	margin: 30px!important;
}
.m30-t {
	margin-top: 30px!important;
}
.m30-r {
	margin-right: 30px!important;
}
.m30-b {
	margin-bottom: 30px!important;
}
.m30-l {
	margin-left: 30px!important;
}
.m40 {
	margin: 40px!important;
}
.m40-t {
	margin-top: 40px!important;
}
.m40-r {
	margin-right: 40px!important;
}
.m40-b {
	margin-bottom: 40px!important;
}
.m40-l {
	margin-left: 40px!important;
}
.m50 {
	margin: 50px!important;
}
.m50-t {
	margin-top: 50px!important;
}
.m50-r {
	margin-right: 50px!important;
}
.m50-b {
	margin-bottom: 50px!important;
}
.m50-l {
	margin-left: 50px!important;
}
.m60 {
	margin: 60px!important;
}
.m60-t {
	margin-top: 60px!important;
}
.m60-r {
	margin-right: 60px!important;
}
.m60-b {
	margin-bottom: 60px!important;
}
.m60-l {
	margin-left: 60px!important;
}
.m70 {
	margin: 70px!important;
}
.m70-t {
	margin-top: 70px!important;
}
.m70-r {
	margin-right: 70px!important;
}
.m70-b {
	margin-bottom: 70px!important;
}
.m70-l {
	margin-left: 70px!important;
}
.m80 {
	margin: 80px!important;
}
.m80-t {
	margin-top: 80px!important;
}
.m80-r {
	margin-right: 80px!important;
}
.m80-b {
	margin-bottom: 80px!important;
}
.m80-l {
	margin-left: 80px!important;
}
.m90 {
	margin: 90px!important;
}
.m90-t {
	margin-top: 90px!important;
}
.m90-r {
	margin-right: 90px!important;
}
.m90-b {
	margin-bottom: 90px!important;
}
.m90-l {
	margin-left: 90px!important;
}
.m100 {
	margin: 100px!important;
}
.m100-t {
	margin-top: 100px!important;
}
.m100-r {
	margin-right: 100px!important;
}
.m100-b {
	margin-bottom: 100px!important;
}
.m100-l {
	margin-left: 100px!important;
}
.m120 {
	margin: 120px!important;
}
.m120-t {
	margin-top: 120px!important;
}
.m120-r {
	margin-right: 120px!important;
}
.m120-b {
	margin-bottom: 120px!important;
}
.m120-l {
	margin-left: 120px!important;
}
.m150 {
	margin: 150px!important;
}
.m150-t {
	margin-top: 150px!important;
}
.m150-r {
	margin-right: 150px!important;
}
.m150-b {
	margin-bottom: 150px!important;
}
.m150-l {
	margin-left: 150px!important;
}
.m200 {
	margin: 200px!important;
}
.m200-t {
	margin-top: 200px!important;
}
.m200-r {
	margin-right: 200px!important;
}
.m200-b {
	margin-bottom: 200px!important;
}
.m200-l {
	margin-left: 200px!important;
}
.m300 {
	margin: 300px!important;
}
.m300-t {
	margin-top: 300px!important;
}
.m300-r {
	margin-right: 300px!important;
}
.m300-b {
	margin-bottom: 300px!important;
}
.m300-l {
	margin-left: 300px!important;
}
.p0 {
	padding: 0!important;
}
.p0-t {
	padding-top: 0!important;
}
.p0-r {
	padding-right: 0!important;
}
.p0-b {
	padding-bottom: 0!important;
}
.p0-l {
	padding-left: 0!important;
}
.p5 {
	padding: 5px!important;
}
.p5-t {
	padding-top: 5px!important;
}
.p5-r {
	padding-right: 5px!important;
}
.p5-b {
	padding-bottom: 5px!important;
}
.p5-l {
	padding-left: 5px!important;
}
.p10 {
	padding: 10px!important;
}
.p10-t {
	padding-top: 10px!important;
}
.p10-r {
	padding-right: 10px!important;
}
.p10-b {
	padding-bottom: 10px!important;
}
.p10-l {
	padding-left: 10px!important;
}
.p15 {
	padding: 15px!important;
}
.p15-t {
	padding-top: 15px!important;
}
.p15-r {
	padding-right: 15px!important;
}
.p15-b {
	padding-bottom: 15px!important;
}
.p15-l {
	padding-left: 15px!important;
}
.p20 {
	padding: 20px!important;
}
.p20-t {
	padding-top: 20px!important;
}
.p20-r {
	padding-right: 20px!important;
}
.p20-b {
	padding-bottom: 20px!important;
}
.p20-l {
	padding-left: 20px!important;
}
.p25 {
	padding: 25px!important;
}
.p25-t {
	padding-top: 25px!important;
}
.p25-r {
	padding-right: 25px!important;
}
.p25-b {
	padding-bottom: 25px!important;
}
.p25-l {
	padding-left: 25px!important;
}
.p30 {
	padding: 30px!important;
}
.p30-t {
	padding-top: 30px!important;
}
.p30-r {
	padding-right: 30px!important;
}
.p30-b {
	padding-bottom: 30px!important;
}
.p30-l {
	padding-left: 30px!important;
}
.p40 {
	padding: 40px!important;
}
.p40-t {
	padding-top: 40px!important;
}
.p40-r {
	padding-right: 40px!important;
}
.p40-b {
	padding-bottom: 40px!important;
}
.p40-l {
	padding-left: 40px!important;
}
.p50 {
	padding: 50px!important;
}
.p50-t {
	padding-top: 50px!important;
}
.p50-r {
	padding-right: 50px!important;
}
.p50-b {
	padding-bottom: 50px!important;
}
.p50-l {
	padding-left: 50px!important;
}
.p60 {
	padding: 60px!important;
}
.p60-t {
	padding-top: 60px!important;
}
.p60-r {
	padding-right: 60px!important;
}
.p60-b {
	padding-bottom: 60px!important;
}
.p60-l {
	padding-left: 60px!important;
}
.p70 {
	padding: 70px!important;
}
.p70-t {
	padding-top: 70px!important;
}
.p70-r {
	padding-right: 70px!important;
}
.p70-b {
	padding-bottom: 70px!important;
}
.p70-l {
	padding-left: 70px!important;
}
.p80 {
	padding: 80px!important;
}
.p80-t {
	padding-top: 80px!important;
}
.p80-r {
	padding-right: 80px!important;
}
.p80-b {
	padding-bottom: 80px!important;
}
.p80-l {
	padding-left: 80px!important;
}
.p90 {
	padding: 90px!important;
}
.p90-t {
	padding-top: 90px!important;
}
.p90-r {
	padding-right: 90px!important;
}
.p90-b {
	padding-bottom: 90px!important;
}
.p90-l {
	padding-left: 90px!important;
}
.p100 {
	padding: 100px!important;
}
.p100-t {
	padding-top: 100px!important;
}
.p100-r {
	padding-right: 100px!important;
}
.p100-b {
	padding-bottom: 100px!important;
}
.p100-l {
	padding-left: 100px!important;
}

h3.catch.common_headline.rich_font_type3 {
    color: #8ec21f !important;
    margin-top: 50px; /* 上方向のスペース */
}

/*** サイトトップ ***/
/* 会社理念 */
.cb_service_top {
	background: #8ec21f;
}

.cb_service_bottom {
	background: #8ec21f;
}

/*事業案内*/
.cb_desc.inview{
	max-width:400px;margin:20px auto;
}

/* 取引先 */
.partners {
	background: #f1f1f1;
	padding: 80px;
}
/* PC時：4列 */
/* =================================
   共通設定: ロゴギャラリーと画像の中央寄せ
   ================================= */
.partners-grid {
  display: grid; 
  gap: 20px; /* アイテム間の間隔 */
}

.partner-logo {
  text-align: center; /* コンテナ内で画像を中央に寄せる */
}

.partner-logo img {
  width: 100%;
  max-width: 150px; /* 画像の最大幅 */
  height: auto;
  
  /* 画像を中央に寄せるための設定 */
  display: block; 
  margin: 0 auto; 
}

/* 見出しの共通設定 */
.cb_headline .headline {
  display: block; /* マージンを効かせるため */
  margin-bottom: 8px; /* サブ見出しとの間隔 */
}


/* =================================
   PC設定: 4列レイアウト (768px以上)
   ================================= */
@media (min-width: 768px) {
  .partners-grid {
	width: 1150px;
	margin: 0 auto; 
    grid-template-columns: repeat(4, 1fr); /* 4列に設定 */
  }

  /* PCでの見出しマージン */
  .cb_headline {
    margin: 60px 0 40px; /* 上60px, 下40px */
  }
}


/* =================================
   スマホ設定: 2列レイアウト (767px以下)
   ================================= */
@media (max-width: 767px) {
.partners {
    padding: 100px 10px;
}
	
  .partners-grid {
    grid-template-columns: repeat(2, 1fr); /* 2列に設定 */
  }

  /* スマホでの見出しマージン調整 */
  .cb_headline {
    margin: 40px 0 20px; /* 上40px, 下20px */
  }

  /* スマホでは間隔を少し狭く調整 */
  .cb_headline .headline {
    margin-bottom: 5px; 
  }
}


/*** 企業情報 ***/

.txt_right {
	text-align:right;
}

/* 会社理念 */
.bg-grn {
  background: #8fc320;
  text-align:center;
  color: #fff;
  padding: 20px !important;
}

/* 会社概要 */
.dot_ttl {
  position: relative;
  display: block;       /* 幅いっぱいに */
  margin-bottom: 10px;
  text-align: center; 
}

.dot_ttl::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 100%;
  margin-top: 0.6rem;

  /* ドットサイズと間隔 */
  --dot-size: 8px;
  --gap: 5px;
  width: calc((var(--dot-size) * 4) + (var(--gap) * 6));
  height: var(--dot-size);

  /* 背景パターンで7つの丸を表現 */
  background-image: radial-gradient(circle at center, currentColor 50%, transparent 51%);
  background-size: calc(var(--dot-size) + var(--gap)) var(--dot-size);
  background-repeat: repeat-x;
  color: #8fc320;
}

.outline_table th {
    width: 160px !important;
}

/*** フォーム ***/
.form-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5em;
}

.form-table td {
  padding: 12px;
  border-bottom: 1px solid #ddd;
  vertical-align: top;
}

.form-table td:first-child {
  width: 25%;
  font-weight: bold;
  color: #333;
}

.required {
  color: #d33;
  font-size: 0.85em;
  margin-left: 4px;
}

.submit-area {
  text-align: center;
  margin-top: 20px;
}

/* ===== スマホ対応（768px以下） ===== */
@media screen and (max-width: 768px) {
  .form-table,
  .form-table tbody,
  .form-table tr,
  .form-table td {
    display: block;
    width: 100%;
  }

  .form-table td {
    border-bottom: none;
    padding: 8px 0;
	  table-layout: fixed;
	  box-sizing: border-box;
  }

  .form-table td:first-child {
    font-weight: bold;
    margin-bottom: 4px;
    width: 100%;
  }

  .form-table td:last-child {
    margin-bottom: 16px;
  }

  .form-table tr {
    margin-bottom: 16px;
    border-bottom: 1px solid #eee;
  }
	
	.cb_desc.inview{
		text-align:left;
	}
}

/* 送信ボタン */
.wpcf7 .wpcf7-submit {
  background-color: #309fd4 !important;
  border-radius: 5px;
}

/* ホバー時のスタイル */
.wpcf7 .wpcf7-submit:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); 
}

.wpcf7 .required {
	color: #ff0000;
	font-size: 12px;
}

:is(.design_headline2, .tcdce-body .design_headline2) span.title {
    border-top: 3px solid #8fc320;
}