@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
*/

/*ここからした追加*/

/*トップページ*/
/*事業内容のスマホのときの並び順*/
@media (max-width: 768px)  {
.swell-col-reverse .swell-block-columns__inner{
flex-direction: column-reverse; 
}
}


/*スクロール色変更*/
.p-mainVisual__scroll{
color: #ea540c!important;
}


/*フッターメニュー追加CSS250326*/
.l-footer__nav {
  gap: 1em;
  padding: 1em 0 4em;
}

.l-footer__nav a {
  border-right: none;
}

.l-footer__nav li:first-child a {
  border-left: none;
}

.l-footer__nav > li > a {
  font-weight: 700;
  font-size: 14px;
}

.l-footer__nav .sub-menu {
  margin-top: 0.25em;
  display: grid;
  gap: 0.15em;
}

.l-footer__nav .sub-menu > li {
  margin-left: 0.75em;
}

.l-footer__nav .sub-menu > li a {
  padding: 0 0.75em;
  position: relative;
  font-size: 13px;
}

.l-footer__nav .sub-menu > li a::before {
  content: "";
  width: 5px;
  height: 1px;
  background-color: var(--color_footer_text);
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .l-footer__nav {
    gap: 0.5em;
    flex-direction: column;
  }

  .l-footer__nav > li:nth-of-type(n + 2) {
    padding-bottom: 0.5em;
  }

  .l-footer__nav > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  }

  .l-footer__nav > li > a {
    font-size: 13px;
  }

  .l-footer__nav .sub-menu {
    margin-top: 0.2em;
    gap: 0.5em;
  }

  .l-footer__nav .sub-menu > li a {
    font-size: 12px;
  }
}


/*会社概要サイドバー　ID42*/
#body_wrap:not(.page-id-42):not(.page-id-63):not(.page-id-207):not(.page-id-220):not(.page-id-232):not(.page-id-235):not(.page-id-262):not(.page-id-279):not(.page-id-288):not(.page-id-315):not(.page-id-333):not(.page-id-321):not(.page-id-339):not(.page-id-351):not(.page-id-935) .sidebar-company{
display:none;
}

/*事業内容サイドバー　ID44*/
#body_wrap:not(.page-id-44):not(.page-id-392):not(.page-id-396):not(.page-id-411):not(.page-id-400):not(.page-id-439):not(.page-id-448):not(.page-id-483):not(.page-id-500):not(.page-id-494):not(.page-id-486):not(.page-id-507):not(.page-id-1548) .sidebar-business{
display:none;
}

/*製品案内サイドバー*/
#body_wrap:not(.page-id-46):not(.page-id-526):not(.page-id-531):not(.page-id-400) .sidebar-product{
display:none;
}


/* 固定ページタイトル中央寄せ */
.c-pageTitle,
.c-pageTitle__inner {
	float: none!important;
	text-align: center;
}

/* 開発実績ページカラム高さ調整 */
.myColumnCaptionBox {
  height : 100%;
}

.myColumnCaptionBox .cap_box_content{
  height : 90%;
}

/* メインビジュアルフォント変更 */
.p-mainVisual__textLayer{
  font-family: 'Yu Mincho', 'Hiragino Mincho ProN', 'serif';
}

/* サイドメニュー */	
.sidemenulink a{	
background-color: #ededed;	
display: block;	
padding: 10px;	
color: #ea540c;
}	
.sidemenulink li{	
list-style:none;	
padding: 0;	
}	
.sidemenulink a:hover{	
background-color: #ea540c;	
color: #fff;	
}

/*半導体EMS事業*/
.emsbox{
border: solid 1px #ea540c;
padding: 1em!important;
}
.w550px{
max-width: 550px;
width: 95%;
}


/*電子機器MS事業*/
.ems_business_1{
	border: solid 2px #000066;
	padding: 6px;
}
.ems_business_2{
	border: solid 2px #3333ff;
	padding: 6px;
}
.ems_business_3{
	border: solid 2px #00b050;
	padding: 6px;
}


/*調達対象情報　使わない可能性あり*/
.koubai02_blue{
	color: #6080b0;
}
.koubai02_green{
	color: #60b080;
}

/*
お問い合わせフォーム
*/

/* 全幅指定 */
.full-width {
    margin: 0 calc(50% - 50vw);
    padding: 0 calc(50vw - 50%);
}
/* pタグの余白を削除 */
.wpcf7-form p {
    margin-bottom: 0;
}
/* 背景色 */
/*section.contact {
    background-color: #EDF7EF;
}*/
/*  フォームの幅 */
.contactForm {
    max-width: 1000px;
    margin: 0 auto;
	/*width: 100%;*/
}
/* 各項目の下部余白 */
.contact_item {
    margin-bottom: 3rem;
}
/* 項目名 */
.label {
    display: block;
    font-size: 1em;
    line-height: 0;
    letter-spacing: 0.05em;
    margin-bottom: .1rem;
    /*font-weight: bold;*/
}
/* 必須タグと任意タグ共通のスタイル */
.label_tag {
    /*font-size: 1.2em;*/
    color: #ffffff;
    border-radius: .3rem;
    margin-right: 1rem;
    padding: 5px 10px;
}
/* 必須タグ */
.label_must {
    background-color: #ea540c;
}
/* 任意タグ */
.label_option {
    background-color: #888988;
}
/* 名前やメールアドレスなどユーザーが入力する箇所 */
.inputs {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
input[type="text"],input[type="email"],input[type="tel"]{
    border: solid 1px #707070;
    padding: .5rem;
    font-size: 1em;
	width: 90%;
}
/* お問い合わせ内容を入力する箇所 */
textarea/*.form-control*/ {
    border: solid 1px #707070;
    padding: .5rem;
    height: 160px;
    font-size: 1em;
	width: 90%;
}
/* ボタン */
.btnArea {
    text-align: center;
}
input[type="submit"]{
    background: #ea540c;
    border: 2px solid #ffffff;
    width: 90%;
    color: #ffffff;
    text-align: center;
    font-size: 1.2em;
    line-height: 1.3;
    letter-spacing: .5em;
    text-indent: .5em;
    /*font-weight: bold;*/
    padding: 1rem 0;
    margin-top: 2rem;
    cursor: pointer;
    border-radius: .3rem;
    transition: all .3s;
	max-width: 400px;
    
}
/* ボタンにホバーした時 */
input[type="submit"]:hover {
    color: #ea540c;
    background-color: #ffffff;
    border-color: #ea540c;
}
/* ローダー */
.wpcf7 .ajax-loader {
    display: block;
    margin: 0 auto;
}

/* モバイル版 */
@media screen and (max-width: 480px) {
    .contact_item {
        margin-bottom: 2.6rem;
    }
    .label {
        font-size: 1em;
        margin-bottom: .2rem;
    }
    .label_tag {
        font-size: 1em;
    }
    input[type="text"],input[type="email"],input[type="tel"]{
        padding: .4rem;
		width: 100%;
/*        font-size: 1.5rem;*/
    }
    textarea {
        padding: .4rem;
		width: 100%;
        /*font-size: 1.5rem;*/
    }
    input[type="submit"]{
        /*font-size: 1.5rem;*/
    }
}

/*
フォント追加
*/

/*HOME説明文*/
.abouttext {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
}

/*HOME英字見出し*/
.heading {
  font-family: "Playfair Display", serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
}

/*沿革テーブル*/

.enkaku-table {
  width: 100%; /* テーブルの幅を親要素に合わせる */
  border-collapse: collapse; /* セルの境界線を結合 */
  margin-bottom: 20px; /* テーブルの下に余白 */
  font-family: sans-serif; /* フォントを指定 */
}

.enkaku-table th,
.enkaku-table td {
  padding: 10px 15px; /* セルの内側の余白 */
  text-align: left; /* テキストを左寄せ */
  border: 1px solid #ddd; /* セルの境界線 */
}

.enkaku-table th {
  background-color: #f2f2f2; /* thの背景色を薄いグレーに */
  font-weight: bold; /* thの文字を太字に */
  white-space: nowrap; /* thのテキストを折り返さない */
}

.enkaku-table tr:nth-child(even) {
  background-color: #f9f9f9; /* 偶数行の背景色をわずかに変更して読みやすく */
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .enkaku-table,
  .enkaku-table tbody,
  .enkaku-table tr,
  .enkaku-table th,
  .enkaku-table td {
    display: block;
  }

  .enkaku-table thead {
    display: none;
  }

  .enkaku-table tr {
    margin-bottom: 15px;
    border: 1px solid #ddd;
    padding: 10px; /* 行の内側にも少し余白を追加 */
  }

  .enkaku-table th {
    background-color: #e0e0e0;
    border-bottom: 1px solid #ddd;
    padding-bottom: 5px;
    text-align: center;
  }

  .enkaku-table td {
    border: none;
    border-bottom: 1px solid #eee;
    position: relative;
    text-align: left; /* tdのテキストは左寄せ */
  }

  .enkaku-table td:last-child {
    border-bottom: 0;
  }

  .enkaku-table td::before {
    position: absolute;
    left: 10px; /* ラベルの左からの位置を調整（ここを調整） */
    width: 80px; /* ラベルの固定幅を設定（ここを調整） */
    padding-right: 10px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: bold;
    text-align: right; /* ラベルのテキストを右寄せにして、内容との間にスペースを作る */
    content: attr(data-label); /* 基本的にdata-label属性を使うが、下記で上書き */
  }
}


/*調達対象情報 koubai02*/
  table.koubai02 {
    width: 100%;
    border-collapse: collapse; /* セルの境界線を結合 */
    color: #333!important;
    border: 1px solid #ddd; /* テーブル全体の細い枠線 */
  }
  table.koubai02 th,table.koubai02 td {
    border: 1px solid #ddd; /* 各セルの細い枠線 */
    padding: 10px 12px;
    text-align: left;
    vertical-align: top;
    background-color: transparent; /* すべての背景色を透明に設定 */
  }
  /* ヘッダーのスタイル */
  table.koubai02 th {
    background-color: #f2f2f2; /* ヘッダーのみ薄いグレーの背景色 */
    color: #555;
    text-align: center;
	font-weight: normal!important;
	font-size: 0.8em!important;
  }
  /* ヘッダーの分類と用途（詳細）のtd要素 */
  table.koubai02 thead tr:first-child td {
    background-color: #e9ecef; /* ヘッダーのtdも薄いグレー */
	color: #000000;
    text-align: center;
  }
  /* ホバー時の背景色（これも削除できますが、残しておくとUXが向上します） */
/*  table.koubai02 tr:hover {
    background-color: #f5f5f5;
  }*/
  /* 分類列の太字スタイル */
  table.koubai02 tbody td:first-child {
    text-align: left;
  }
  /* 用途（詳細）列の太字スタイル */
  table.koubai02 tbody td:nth-child(2) {
  }
  table.koubai02 .circle_blue{
  text-align: center; color:#2B85BD;
  font-size: 1.2em;
  }
  table.koubai02 .circle_green{
  text-align: center; color:#9DCB6E;
  font-size: 1.2em;
  }
  table.koubai02 .circle_black{
  text-align: center;
  font-size: 1.2em;
  }
  
/*カッコリスト*/
ol.number li {
  position: relative;
  list-style-type: none;
  margin-left: 20px;
}

ol.number li:before {
  position: absolute;
  right: calc(100% + 0.5rem);  /* 0.5remは連番とテキストとの余白 */
  content: "(" counter(list-item) ")";
}


/*reCAPTCHA保護マークをCSSで非表示*/
.grecaptcha-badge { visibility: hidden; }