/*
Theme Name:tpl08
Template:astra
Version:4.6.15
*/

.no-wrap {
	white-space: nowrap;
}

body{
	letter-spacing: 0.1em;
	line-height: 2em;
}

.site-title{
	display: none;
}

.ast-header-button-1 .ast-custom-button{
	background-image: url(images/header-icon-tel.png);
	background-repeat: no-repeat;
	background-position: 25px center;
	background-size: 25px auto;
	padding-left: 60px !important;
}
.ast-header-button-1 .ast-custom-button:hover{
	background-image: url(images/header-icon-tel.png);
	background-repeat: no-repeat;
	background-position: 25px center;
	background-size: 25px auto;
}
.ast-header-button-2 .ast-custom-button{
	background-image: url(images/header-icon-contact.png);
	background-repeat: no-repeat;
	background-position: 25px center;
	background-size: 25px auto;
	padding-left: 60px !important;
}
.ast-header-button-2 .ast-custom-button:hover{
	background-image: url(images/header-icon-contact.png);
	background-repeat: no-repeat;
	background-position: 25px center;
	background-size: 25px auto;
}

/** page navi **/
.menu_slash ul.uael-nav-menu li{
	align-items: center;
  	display: flex;
  	justify-content: center;
}
.menu_slash ul.uael-nav-menu li::after {
  	background-color: #fff;
  	border-radius: 2px;
  	content: "";
  	height: 3px;
  	width: 40px;
}
.menu_slash ul.uael-nav-menu li:last-child::after{
	display: none;
}
.menu_slash ul.uael-nav-menu li::before {
  	margin-right: 10px;
}
.menu_slash ul.uael-nav-menu li::after {
  	margin-left: 10px;
  	transform: rotate(-60deg);
}
@media screen and (max-width: 767px) {
	.menu_slash ul.uael-nav-menu li{
		/*
		width: 100%;
		*/
		justify-content: flex-start;
	}
	.menu_slash ul.uael-nav-menu li::after {
  		height: 2px;
  		width: 20px;
	}
}

/** table **/
.entry-content table{
	border-collapse: collapse !important;
	border: none !important;
}

.entry-content table th{
	border-right: none !important;
	padding: 25px 25px 25px 0 !important;
	text-align: left;
}

.entry-content table td{
	border-right: none !important;
	padding: 25px 25px 25px 0 !important;
}

/**　Top blog **/
dl.list dd{
	margin-left: 0;
	padding-bottom: 10px;
	border-bottom: 1px solid #F7F4E6;
}

#content p{
	margin-bottom: 20px;
}

/** footer{
	margin-top: 100px;
} **/

@media screen and (max-width: 480px) {
.slide-circle{
	display: none;
}
}

/*Contact Form 7カスタマイズ*/
/*スマホContact Form 7カスタマイズ*/
@media(max-width:500px){
.inquiry th,.inquiry td {
 display:block!important;
 width:100%!important;
 border-top:none!important;
 -webkit-box-sizing:border-box!important;
 -moz-box-sizing:border-box!important;
 box-sizing:border-box!important;
}
.inquiry tr:first-child th{
 border-top:1px solid #fff!important;
}
/* 必須・任意のサイズ調整 */	
.inquiry .haveto,.inquiry .any {	
font-size:10px;
}}
/*見出し欄*/
.inquiry th{
 text-align:left;
 font-size:14px;
 color:#444;
 padding: 20px 5px 20px 20px;
 width:30%;
 border-bottom: solid 1px #ccc;
 vertical-align: middle;
 background: #fff;
}
/*通常欄*/
.inquiry td{
 font-size:13px;
 padding: 20px;
 border-bottom: solid 1px #ccc;
 background: #fff;
}
.inquiry td input, .inquiry td input:focus, .inquiry td select, .inquiry td textarea{
 background: #F1F1F4;
 border: none;
}
/*横の行とテーブル全体*/
.entry-content .inquiry tr,.entry-content table{
 border:solid 1px #F1F8FF;	
}
/*必須の調整*/
.haveto{
 font-size:7px;
 padding:5px 10px;
 background:#d91a1a;
 color:#fff;
 border-radius:2px;
 margin-right:10px;
 position:relative;
 bottom:1px;
}
/*任意の調整*/
.any{
 font-size:7px;
 padding:5px 10px;
 background:#68b2fb;
 color:#fff;
 border-radius:2px;
 margin-right:10px;
 position:relative;
 bottom:1px;
}
/*ラジオボタンを縦並び指定*/
.verticallist .wpcf7-list-item{
 display:block;
}
/*送信ボタンのデザイン変更*/
#formbtn{
 display: block;
 padding:1em 0;
 margin:30px auto 0 auto;
 width:70%;
 background:#023894;
 color:#fff;
 font-size:18px;
 font-weight:bold;	 
 border-radius:30px;
 border: none;
}
/*送信ボタンマウスホバー時*/
#formbtn:hover{
 background:#045cb4;
 color:#fff;
}

/** breadcrumb **/
div.breadcrumbs {
  color: #ffffff;
  font-size: 14px;
}
div.breadcrumbs a{
  color: #edf0ee;
}
div.breadcrumbs a:hover{
  color: #ffe100;
}

/** google reCAPTCHA　**/
.grecaptcha-badge { 
	visibility: hidden;
}


/* 作成者の名前を非表示にする */
span.author {
    display: none;
}

/* 部門紹介 */

:root {
--color-soumu: #8bc34a;    /* 緑 */
--color-eigyo: #5c85d6;    /* 青 */
--color-seizo: #4db6ac;    /* エメラルド */
--color-hinshitsu: #4fc3f7; /* 水色 */
--bg-gray: #f9f9f9;
}

.org-wrapper {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 50px;
    transition: transform 0.3s ease;
    transform-origin: center center;
}
/* 共通スタイル */
.node {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    background: #fff;
    text-align: center;
}
/* リンクがあるもの（丸）のみホバー効果を適用 */
a.node {
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
}
a.node:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}
.node-top:hover    { color: var(--color-soumu) !important; box-shadow: 0 10px 25px rgba(139, 195, 74, 0.4) !important; }
.node-left:hover   { color: var(--color-eigyo) !important; box-shadow: 0 12px 24px rgba(92, 133, 214, 0.3)!important; }
.node-right:hover  { color: var(--color-seizo) !important; box-shadow: 0 10px 25px rgba(77, 182, 172, 0.4) !important; }
.node-bottom:hover { color: var(--color-hinshitsu) !important; box-shadow: 0 10px 25px rgba(79, 195, 247, 0.4) !important; }

/* 中央のダイヤモンド配置 */
.diamond-layout {
    display: grid;
    grid-template-areas: ". top ." "left . right" ". bottom .";
    gap: 30px;
    position: relative;
    flex-shrink: 0;
}

.circle {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    font-size: 1.1rem;
    border: 8px solid transparent;
	  box-shadow: 0 4px 8px rgba(0,0,0,0.2)!important;
}
.node-top {
    grid-area: top;
    border-color: var(--color-soumu);
    color: var(--color-soumu);
	font-size: 1.3rem;
}
.node-left {
    grid-area: left;
    border-color: var(--color-eigyo);
    color: var(--color-eigyo);
    font-size: 1.3rem;
}
.node-right {
    grid-area: right;
    border-color: var(--color-seizo);
    color: var(--color-seizo);
    font-size: 1.3rem;
}
.node-bottom {
    grid-area: bottom;
    border-color: var(--color-hinshitsu);
    color: var(--color-hinshitsu);
}
/* サイドの「課・工場」リスト */
.side-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-shrink: 0;
}
.rect {
    width: 170px;
    padding: 12px 20px;
    color: white;
    font-size: 0.95rem;
    box-sizing: border-box;
}
/* 左側（営業系） */
.left-menu .rect {
    border-radius: 30px 5px 5px 30px;
    background-color: var(--color-eigyo);
    text-align: right;
    padding-right: 25px;
}
/* 右側（製造系） */
.right-menu .rect {
    border-radius: 5px 30px 30px 5px;
    background-color: var(--color-seizo);
    text-align: left;
    padding-left: 25px;
}
/* 装飾用の線 */
.left-menu {
    position: relative;
    border-right: 2px solid #ddd;
    padding-right: 20px;
}
.right-menu {
    position: relative;
    border-left: 2px solid #ddd;
    padding-left: 20px;
}


@media (max-width: 980px) {
    .org-wrapper {
        transform: scale(0.85);
			justify-content:center;
    }
}
@media (max-width: 820px) {
    .org-wrapper {
        transform: scale(0.7);
    }
}

}

/*部門イメージ＿モバイル*/
.mobile-org-wrapper {
    width: 100%;
    max-width: 450px;
    display: flex;
    flex-direction: column;
    gap: 12px;
	
}

/* 共通スタイル */
.node {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    background: #fff;
    text-align: center;
    box-shadow: 0 2px 5px rgba(0,0,0,0.08);
}

.main-link {
    text-decoration: none;
    height: 55px;
    border-radius: 30px;
    font-size: 1rem;
    border: 4px solid transparent;
    transition: transform 0.1s;
}
.main-link:active { transform: scale(0.96); }

.soumu-btn { border-color: var(--color-soumu); color: var(--color-soumu); }
.hinshitsu-btn { border-color: var(--color-hinshitsu); color: var(--color-hinshitsu); }

/* 所属グループパネル */
.dept-panel {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #fff;
    padding: 8px;
    border-radius: 15px;
    border: 1px solid #eee;
}

/* 親部門（グループ内） */
.dept-parent {
    flex: 0 0 100px;
    height: 80px;
    border-radius: 12px;
    font-size: 1rem;
    border: 4px solid transparent;
    text-decoration: none;
}
.parent-eigyo { border-color: var(--color-eigyo); color: var(--color-eigyo); }
.parent-seizo { border-color: var(--color-seizo); color: var(--color-seizo); }

.child-list {
    flex: 1;
    display: grid;
    gap: 5px;
}
.eigyo-children { grid-template-columns: 1fr; }
.seizo-children { grid-template-columns: 1fr 1fr; } 

.child-label {
    font-size: 0.75rem;
    color: white;
    padding: 6px 2px;
    border-radius: 4px;
	line-height: 1.2;
	align-items: center;
}
.bg-eigyo { background-color: var(--color-eigyo); }
.bg-seizo { background-color: var(--color-seizo); }

/* テーブル */

.entry-content table th {
    white-space: nowrap;
}

@media screen and (max-width: 768px) {
    .entry-content table th {
        padding: 15px 10px !important;
        font-size: 14px;
    }
    .entry-content table td {
        padding: 15px 10px !important;
        font-size: 14px;
    }
}

/* お知らせページ */

.widget_search .wp-block-search__inside-wrapper {
    display: flex;
    flex-wrap: nowrap !important;
    gap: 5px;
}
.widget_search .wp-block-search__input {
    flex-grow: 1;
    min-width: 0;
}
.widget_search .wp-block-search__button {
    flex-shrink: 0;
    white-space: nowrap;
}