@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
ADD:追加cssはここに記入。style.cssは使用しない
*/

/*cocooon設定--フォント--メイリオをnotosansjpに書き換えて使用*/
@font-face {/*normal*/	
		src:url("https://tobata-group.com/tgc/wp-content/themes/cocoon-child-master/custom/fonts/BIZUDPGothic-Regular.woff2") format('woff2'), url("https://tobata-group.com/tgc/wp-content/themes/cocoon-child-master/custom/fonts/BIZUDPGothic-Regular.woff") format("woff");	
	font-family:'BIZ UDPGothic';
    font-weight:400;
    font-style: normal;
    font-display: swap;
 }
@font-face {/*bold*/	
	src:url("https://tobata-group.com/tgc/wp-content/themes/cocoon-child-master/custom/fonts/BIZUDPGothic-Bold.woff2") format('woff2'), url("https://tobata-group.com/tgc/wp-content/themes/cocoon-child-master/custom/fonts/BIZUDPGothic-Bold.woff") format("woff");	
    font-family: 'BIZ UDPGothic';
    font-weight: 700;
    font-style: normal;
    font-display: swap;
 }
.ff-meiryo{	font-family: 'BIZ UDPGothic'; /*400*/}
bolderb, strong,boldstrong, b{font-weight:700;}

:root{
	/*
	 --bs-white
	--bs-secondary-color: border使用
	--cocoon-text-color:#101010;
	--bs-dark-bg-subtle:gray
	 */
	--color_orange:#ee7800;
	--color_red:#e83828;
	--color_blue:#144466;
	--color_lightblue:#F0FBFF;
	
	--color_tgc:#ee7800;/*戸畑グループ*/
	--color_ts:#f39800; /*戸畑製作所*/
	--color_iwaki:#0B96C9;
	--color_futaba:#0AB44B;
	--color_fujino:#0807d2;
	--color_nihonyouken:#428970;
	--color_tgmc:#00367d;
	
	--fs_14:0.875rem;
	--fs_18:1.125rem;
	--header_h:80px;/*ヘッダーの高さ*//*高さを変えない!mobile-btnの高さに合わせる*/
	--header_h_s:80px;/*ヘッダーの高さ*/
	--mv_h: calc( 100vh );/*メインビジュアルの高さ*/
	--subpagetop_h:180px;/*サブページトップ*/
	--content_w:1000px;/*コンテンツ幅を固定*/
	--mobilemenu_size:80px;

	 --font_jp_name:'BIZ UDPGothic', sans-serif;
	--font_jp_notosans:"Noto Sans JP", sans-serif;/*メインキャッチで使用*/
	--font_en_name:"Inter", sans-serif; /*400*/
	--font_fa_name:"Font Awesome 6 Free";
	--fluid_max_w:2500x;
}

body{letter-spacing: 0.05em;}
/*img{width:100%;height:auto;} //ユーザーが画像を追加するので、この方法は使えない！！
/*img fit*/
.img_fit > img{
  width: auto;
  height: auto;
}
a{transition: all .3s;}

/*cocoon設定の初期化*/
article a:hover{color:var(--bs-dark-bg-subtle);}
a:hover {text-decoration:none;}
.article dd{margin:0;}
.entry-content{margin:0!important;}
.body .article{margin-bottom:0!important}

/*ulのスタイルを解除するには .ul_unstyledを使用する。使用できない場合はこちらに記述*/
ul.ul_unstyled,ul[id^="menu-sitemap-"],ul[id^="menu-sitemap-"]  ul.sub-menu {list-style-type: none;padding: 0;}
ul.ul_unstyled li,ul[id^="menu-sitemap-"] > li{margin: 0;}

/*fluid-maxwide*/
.container-fluid.fluid-maxwide{max-width:var(--fluid_max_w);} /*container-fluidに.fluid-maxwideを追加することでmax値を設定*/

/*loading---------------------------------*/
/*枠組み*/
.loader-wrap {
	z-index: 99999;
	display:flex;
	justify-content:center;
	align-items:center;
	position: fixed;
	top:0;
	left:0;
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	overflow: hidden!important;
}
#loading_logo{
	width:100%;
	height:auto;
	display:block;
	min-width:200px;
	max-width:300px;
}
#loading_logo svg {
    width: 100%;
    height: auto;
	  overflow:visible;
}
/* Logo Loading Animation*/
svg{
  overflow:visible;
}

#logo_t,
#logo_g,
#lgobo_c{
  opacity:0;
  transform-box:fill-box;
  transform-origin:center;
  will-change:transform, opacity;
}

/* 順番に出現 */
#logo_t{
  animation:logoSlide 0.8s cubic-bezier(0.22,1,0.36,1) forwards;
  animation-delay:0.5s;
}

#logo_g{
  animation:logoSlide 0.8s cubic-bezier(0.22,1,0.36,1) forwards;
  animation-delay:0.68s;
}

#lgobo_c{
  animation:logoSlide 0.8s cubic-bezier(0.22,1,0.36,1) forwards;
  animation-delay:0.86s;
}
@keyframes logoSlide{
  0%{
    opacity:0;
    transform:translateX(60px) scale(0.96);
    filter:blur(6px);
  }

  60%{
    opacity:1;
    transform:translateX(-4px) scale(1.01);
    filter:blur(0);
  }

  100%{
    opacity:1;
    transform:translateX(0) scale(1);
    filter:blur(0);
  }

}
/*mainimg vegas------------------------------*/
.header-cover {
    margin: var(--header_h) auto 0 auto;
    width: 100%;
    background:var(--bs-white);
	height: calc(100vh -  var(--header_h));
	z-index:0;
}
.slider {
	z-index:1;
	width: 100%;
	height: 100vh;
    background-position:center;
    background-size: cover;
}
#main_catch{
	display:flex;
	flex-direction:column;
	position:absolute;
	top:calc(var(--header_h) + 50px);
     right:80px;
	line-height:1.6;
	text-shadow: 0px 0px 12px rgba(0,0,0,0.6);
}
.fadein_catch{
	  opacity: 0;
  transform: translateY(10px);
}
.fadein_catch.is-show{
   animation: fadein_soft 1s ease-out forwards;	
}
#main_catch > span:nth-child(1){animation-delay:0.5s;}
#main_catch > span:nth-child(2){animation-delay:1s;}

@keyframes fadein_soft {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  80% {
    opacity:0.8;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/*header---------------------------------*/
/*ヘッダーを固定・透過：cocoon設定のヘッダー--固定は解除する！独自デザイン jsで追従設定*/
.header-container{
	position: fixed!important; 
	top: 0px; left: 0px; width: 100%!important;
	z-index:99;
	height:var(--header_h);
	transition: all 0.3s;
	background-color: var(--bs-white);
	border-bottom:1px solid var(--color_orange);
}
.header-container > .wrap{
	width:100%;
	padding:0 var(--mobilemenu_size);
}
#header-container.scroll-nav{
	height:var(--header_h_s);
}

/*logo*/
.header-container-in.hlt-top-menu .logo-header img,.header-container-in.hlt-top-menu .logo-header {transition: 0.2s;}
/*.header-container-in.hlt-top-menu .logo-header img{max-width:320px;}*/
.header-container-in.hlt-top-menu .logo-header{max-height:var(--header_h);}
.logo {text-align:left;}
/*スクロール時*/
.scroll-nav .logo-image img{ /*width:calc(100% - var(--header_h) - 2rem );*/}
.scroll-nav .navi-in > ul li{height:var(--header_h_s); line-height:var(--header_h_s);}

/*globalmenu*/
.navi{background-color: transparent;}
#navi .navi-in>ul>li>a {padding: 0 1rem; display:flex; align-items:center;}
#navi .navi-in a{
	cursor:pointer;
    font-family: 'BIZ UDPGothic';
    font-weight: 700;
	font-size:16px;
}
#navi .navi-in a:hover{background-color:var(--bs-black);color:var(--bs-white);}
.navi-in > ul li{
	height: var(--header_h);
	transition: all 0.3s;
	color:var(--bs-white);
}
.navi-in > ul .caption-wrap {
	align-items: flex-end;
align-content: flex-end;
}
.navi-in > ul .sub-menu li{
	height: 50px;
	line-height: 50px;
	background-color:var(--color_darkgray);
}
.navi-in > ul .sub-menu li:nth-child(odd){
	background-color:#333333;
}
.navi-in .has-icon{right:0!important;}

/*mobilemenu:モバイル表示*/
.mobile-menu-buttons{
	display:none;
	justify-content:center;
	top:0;
	bottom:auto;
	right:0;
    left:auto;
	background-color:transparent;
	box-shadow:none;
	z-index:100;
}
.mobile-menu-buttons .menu-button{
	width:calc(var(--mobilemenu_size) - 1px);/*gnaviのborder1pxを考慮する*/
	height:calc(var(--mobilemenu_size) - 1px);
}
.menu-button-in{
	width:100%;
	height:100%;
	display:block;
	background-image:url('https://tobata-group.com/tgc/wp-content/uploads/btn_menu.svg?ver=202604'),url('https://tobata-group.com/tgc/wp-content/uploads/btn_menu_hover.svg?ver=202604');
	background-repeat:no-repeat,no-repeat;
	background-size:cover,cover;
}
.mobile-menu-buttons .menu-button:hover .menu-button-in{
	background-image:url('https://tobata-group.com/tgc/wp-content/uploads/btn_menu_hover.svg?ver=202604');
	background-repeat:no-repeat;
	background-size:cover;
 	opacity:1!important;
}
.sidebar-menu-button .menu-icon{
	display:none;
}
.navi-menu-content{/*右からスライドに変更*/
	left: auto;
	right: 0;
	transform: translateX(101%);
	background-color:rgba(32,33,33,0.9);
	padding:0;
    margin:0;
}
.menu-content .menu-drawer{padding-top:30px;}
.menu-close-button{color:var(--cocoon-text-color);text-align:right;padding:0 10px;}
.fa-times:before{content:'\f00d';}
/*mobile sidebar*/
.menu-content,.sidebar{background-color:var(--bs-white);}
div.sidebar{padding:32px 0;}

.widget-sidebar { margin-bottom:2rem!important;}

#slide_sitemap ul[id^="menu-sitemap-"] a{
	color:var(--cocoon-text-color);
	padding: 1rem ;
	display:block;
	border-bottom:1px solid var(--bs-secondary-color);
	position:relative;
}
#slide_sitemap ul[id^="menu-sitemap-"] > li:first-child a{
	border-top:1px solid var(--bs-secondary-color);
}
#slide_sitemap ul[id^="menu-sitemap-"] a::after{
	 content:'\f054';
	font-family: var(--font_fa_name);
	font-weight: 900;
	font-size:0.75rem;
	color:var(--color_orange);
	position: absolute;
	right:1rem;
	top :50%;
	transform: translateY(-50%);
    -webkit-transform: translateY(-50%);	
	z-index:1;
	transition: all .1s; 
}

/*footer---------------------------------*/
/*コピーライトエリア*/
.footer,.footer-bottom{ margin-top:0;}
.copyright{font-family:var(--font_en_name);}
/*コンテンツ下部エリア*/
.footer_logo_border{border-top :1px solid var(--bs-white);}

/*content-bottomの幅を100%に変更*/
#content-bottom-in.wrap{width:100%;}
.content-bottom{margin:0;}
.widget.widget-content-bottom,.content-bottom{margin-bottom:0;!important}

/*foote-sitemap*/
#footer_sitemap ul[id^="menu-sitemap-"]{
	margin-bottom:0;
	padding-left:1rem;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:0.75rem 2.5rem;
}
#footer_sitemap ul[id^="menu-sitemap-"] a{
	color:var(--cocoon-text-color);
	padding: 0.2rem;
	display:inline-block;
	font-size:var(--fs_14);
	border-bottom:1px solid var(--bs-secondary-color);
}
#footer_sitemap ul[id^="menu-sitemap-"]  ul.sub-menu{ margin-left:1rem; font-size:0.9rem;}
#footer_sitemap ul[id^="menu-sitemap-"] a:hover{ color:var(--color_yellow);}

/*footer banner*/
#footer_banner .banner_wrap{
	max-width:580px;
}
#footer_banner a{
	display:block;
	max-width:270px;
	height:auto;
	border:1px solid var(--bs-dark-bg-subtle);
}

/*お知らせ一覧ショートコード用 [post_list],[post_list_year]共通-----------------------------*/
ul.ul_post_list > li{
	border-bottom:2px dotted var(--color_green);
	padding:2px;
}
ul.ul_post_list > li > a{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
   padding:0.5rem 1.5rem 0.5rem 0.5rem;
	color:var(--bs-body-color);
	line-height:1.4;
	gap: 0.5em 1.5em ;
}
ul.ul_post_list > li > a:hover{background-color:var(--bs-light);}
/*カテゴリ*/
ul.ul_post_list .post_categories{order:1;}
ul.ul_post_list .post_category{
	padding :4px 12px;
	width:10em;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50vh;
	background-color:var(--bs-white);
	border:2px solid var(--bs-secondary-color);
}
ul.ul_post_list .post_category.cat-group_tgc{border-color:var(--color_tgc);}
ul.ul_post_list .post_category.cat-group_ts{border-color:var(--color_ts);}
ul.ul_post_list .post_category.cat-group_nihonyouken{border-color:var(--color_nihonyouken);}
ul.ul_post_list .post_category.cat-group_iwaki{border-color:var(--color_iwaki);}
ul.ul_post_list .post_category.cat-group_fujino{border-color:var(--color_fujino);}
ul.ul_post_list .post_category.cat-group_futaba{border-color:var(--color_futaba);}
ul.ul_post_list .post_category.cat-group_tgmc{border-color:var(--color_tgmc);}

ul.ul_post_list > li .post_date{
	width:12em;
	letter-spacing:-0.02rem;
	order:2;
}
ul.ul_post_list > li .post_title{
 order:3;
}
/*ニュースリリースページ：年選択*/
.post_list_year_form label {
    position: relative;
	width:10em;
	height:auto;
	display:block;
}
.post_list_year_form label::before,
.post_list_year_form label::after {
    position: absolute;
    content: '';
    pointer-events: none;
}

.post_list_year_form label::before {
    display: block;
    right: 0;
    width: 2.8em;
    height: 100%;
    border-radius: 0 3px 3px 0;
    background-color:var(--bs-dark);
}

.post_list_year_form label::after {
	content: '\f107';
	 font-family:var(--font_fa_name);
	 font-weight: 900;
	color:var(--bs-white);
    position: absolute;
    top: 50%;
	 transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    right: 1em;
}

.post_list_year_form select {
    appearance: none;
    min-width:100%;;
    height: 2.8em;
    padding: .4em 3.6em .4em .8em;
    border: none;
    border-radius: 3px;
	border:2px solid var(--bs-secondary-color);
    background-color:var(--bs-white);
    font-size: 1em;

    cursor: pointer;
}

.post_list_year_form select:focus {
    outline: 2px solid #2589d0;
}


/*固定+トップ共通*/
.article h2,.article h3,.article h4,.article h5{
	background-color:transparent;
	margin-bottom:0;
	padding:0;
	margin-block-start: 0;
    margin-block-end:0;
	border:none;
	color:var(--cocoon-text-color);
	/*font-weight:600;*/
}
body.home.entry-content,body.page.entry-content{margin-bottom:0!important;}
/*固定ページテンプレート:body:not(.home)-----------------------*/
.page .date-tags {display: none;}
.content{margin-top:0;}
.main{padding: 0;}

/*固定ページヘッダー部：body.home ,body.add-parentid-jobs--------------------------*/
body.home .main,body.add-parentid-jobs .main{padding-top:0;}
body.home .entry-title,body.add-parentid-jobs .entry-title{display:none;}
body.home .entry-content,.body .article,.entry-content >*, body.jobs .entry-content,body.add-parentid-jobs .entry-content,body.add-parentid-guidelines .entry-content{margin-bottom:0;}


/*トップページ：body.home*/
a[id^="home_menu_"] {
	position:relative;
	display:flex;
	height:180px;
	justify-content:center;
	align-items:center;
	color:var(--bs-white)!important;
	background-image:url('../../../uploads/home_menu_about-min.jpg');
  background-repeat: no-repeat;
  background-size: /*100% auto*/cover; 
  background-position: center ;
  overflow: hidden;	
	letter-spacing:0.2rem;
}
a#home_menu_group{background-image:url('../../../uploads/home_menu_group-min.jpg');}
a#home_menu_careers{background-image:url('../../../uploads/home_menu_careers-min.jpg');}
a#home_menu_contact{background-image:url('../../../uploads/home_menu_contact-min.jpg');}
a[id^="home_menu_"]::before {
	content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
  z-index: 0;
 transition:0.3s;
}
a[id^="home_menu_"]:hover::before {
  background: rgba(0,0,0,0.7);
}
a[id^="home_menu_"]::after{
	  content:"";
  display:block;
  width:0;
  height:8px;
  position:absolute;
  bottom:0;
  left:0;
  z-index:3;
  transition:0.3s;
  background:var(--color_orange);
}
a[id^="home_menu_"]:hover::after{
	  width:100%;
}

/*subpage下層ページ---------------------------------*/
/*パン屑 homeは非表示にする*/
.breadcrumb, .breadcrumb a{color :var(--bs-body-color);font-size:var(--fs_14);}

/*固定+トップ共通*/
.article h2,.article h3,.article h4,.article h5{
	background-color:transparent;
	margin-bottom:0;
	padding:0;
	margin-block-start: 0;
    margin-block-end:0;
	border:none;
}

/*固定ページテンプレート-----------------------*/
.page .date-tags {display: none;}
.content{margin-top:0;}
.main{padding: 0;}


/*固定ページヘッダー*/
#subpage_title{
	height:var(--subpagetop_h);
	margin-top:var(--header_h) ;
	background-image:url('https://tobata-group.com/tgc/wp-content/uploads/subpage_photo_about-min.jpg');
	background-repeat:no-repeat;
	background-size: 100% auto;
	background-position:center center;
}
body.about-us #subpage_title{background-image:url('https://tobata-group.com/tgc/wp-content/uploads/subpage_photo_about-min.jpg');}
body.group-companies #subpage_title{background-image:url('https://tobata-group.com/tgc/wp-content/uploads/subpage_photo_group-min.jpg');}
body.press-releases #subpage_title{background-image:url('https://tobata-group.com/tgc/wp-content/uploads/subpage_photo_press-min.jpg');}
body.careers #subpage_title{background-image:url('https://tobata-group.com/tgc/wp-content/uploads/subpage_photo_careers-min.jpg');}
body.contact #subpage_title{background-image:url('https://tobata-group.com/tgc/wp-content/uploads/subpage_photo_contact-min.jpg');}
#subpage_title::before{
	content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    z-index: 0;
}
#subpage_title > *{
	position:relative;
	z-index:1;
}
#subpage_title h1{letter-spacing:0.125rem;text-shadow: 0 2px 6px rgba(0,0,0,0.7);}

/*リンク*/
.body:not(.home) .entry-content a,
.single .entry-content a {
	border-bottom:1px dotted var(--color_navy_btn);
	/*color:var(--color_navy_btn);*//*cocoon設定*/
	padding-bottom:0.25rem;
}
.single .entry-content a:hover {
	color:var(--color_hover);
	border-color:var(--color_hover);
}

/*投稿ページ共通 投稿ページはページタイプを1カラム狭いに強制*/
.single .content-in,.archive .content-in{width:900px;padding:0 16px;}

/*投稿ページのカテゴリcat-helfは、タイトル非表示*/
.body.add-cat-shelf .entry-title{display:none;}

/*投稿ページには独自カテゴリリンク*/
.add_cat-link > a{
	background-color:var(--color_navy_btn);
	color:var(--bs-white);
	font-size:var(--fs_14);
	padding:4px 10px;
	margin:0 1px;
	border-radius:2px;
}
.add_cat-link > a:hover{
	background-color:var(--color_hover);
	color:var(--bs-white);
}


/*投稿一覧アーカイブページ*/
#list.list{row-gap:0;}
#list .entry-card-wrap{border-bottom: 1px dotted var(--bs-secondary);}
#list .entry-card-content{margin-left:0;}
#list .entry-card-wrap .entry-card-info > * {font-size:1em;}
#list .entry-card-thumb {display: none;}
#list .entry-card-meta{font-size:0.75rem;font-family:var(--font_en_name);}
.archive-title span{color:var(--color_gold);}
.related-entry-card-title, .entry-card-title{font-weight:400;}

/*group, carrees*/
dl.dl_group > dt{
display:flex;
align-items:center;
gap:20px;
margin-bottom:1.5rem;
}
dl.dl_group > dt > .img_logo{width:60px;height:auto; display:block;}
dl.dl_group > dd{
padding-left:80px;
border-bottom:1px solid var(--bs-secondary-color);
margin-bottom:2rem;
}

/*お問い合わせフォーム*******************************/
/*reCAPTCHAボタン非表示*/
.grecaptcha-badge { visibility: hidden; }


/*snow monky*/
textarea:focus, input:focus, input[type]:focus, .uneditable-input:focus {
  outline: none!important;
  box-shadow: none!important;
}
input::placeholder, textarea::placeholder  {  color: rgba(var(--bs-tertiary-color-rgb), .3);}
.snow-monkey-form input:not([type="checkbox"]),.snow-monkey-form textarea,.snow-monkey-form  select{
	padding: 18px 16px!important;
	background-color:var(--bs-secondary-bg)!important;
	border:2px solid var(--bs-secondary-bg)!important;
}
.snow-monkey-form  select {padding: 12px 16px!important;}
.snow-monkey-form textarea{height:200px;}
.snow-monkey-form input:focus,.snow-monkey-form textarea:focus, .snow-monkey-form select:focus{
	background-color:var(--color_lightblue)!important;
	border-color:  var(--color_blue)!important;
}
/*selectの矢印が消えるので独自 => 本番サーバーでは矢印が出てきたため使っていない*/
/*.snow-monkey-form .smf-select-control {
	position: relative;
}
.snow-monkey-form .smf-select-control::before {
	position: absolute;
	top: 0;
	right: 0;
	width: 48px;
	height: 100%;
	pointer-events: none;
	content: "";
	position: absolute;
	top: 50%;
	right: 14px;
	width: 6px;
	height: 6px;
	border-right: 2px solid var(--cocoon-text-color);
	border-bottom: 2px solid var(--cocoon-text-color);
	transform: translateY(-60%) rotate(45deg);
	z-index:2;
}*/
 .snow-monkey-form input[type=checkbox], .snow-monkey-form input[type=radio]{
  display:inline;
}
.smf-form--letter .smf-item__col--label{padding-bottom:0.25rem;}
.required{
	background-color:var(--bs-danger);
	display:inline-block;
	color:#ffffff;
	padding:0 10px;
	font-size:12px;
	border-radius:4px;
	margin-left:10px;
}
.iframe-container {
            width: 100%;
            height: 300px;
            border: 1px solid var(--bs-dark-border-subtle);
            overflow: auto;
	        font-size:90%;
}

.consent-label {/*承諾ボタン*/
	border: 1px solid var(--bs-dark-border-subtle);
	padding:20px 40px;	
  display: inline-flex;
  align-items: center;
  gap: .5em;
  cursor: pointer;
}
.consent-label input[type="checkbox"] {
  width: 1.1em;
  height: 1.1em;
}
.smf-action .smf-button-control__control{
	background-image:none!important;
	background-color:var(--color_blue)!important;
	border-color:var(--color_blue)!important;
	color:var(--bs-white)!important;
}
.smf-action .smf-button-control__control.is-disabled {
  opacity: .45;
  pointer-events: none;
  cursor: not-allowed;
}

/* 確認ボタンが無効のとき */
.smf-button-control__control.is-disabled,
.smf-action .smf-button-control__control.is-disabled {
  opacity: 0.45;
  pointer-events: none;
  cursor: not-allowed;
	
}
/*確認画面*/
form[data-screen="confirm"] .dsp_input{
display:none!important;
}
/*プログレストラッカー デザイン*/
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__number {background-color: var(--color_blue);}
.smf-progress-tracker__item__number{width:44px;height:44px;}
.smf-progress-tracker__item:after, .smf-progress-tracker__item:before{top:22px;}
.smf-progress-tracker__item[aria-current=true] .smf-progress-tracker__item__text {color: var(--color_blue);}

/*animation--------------------------------*/
.fadeIn,.fadeUp{opacity: 0;}

.fadeIn.is-show{
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-perspective: 1000; 
perspective: 1000; 	
will-change: transform, opacity;
animation-name: fadeInAnime;
animation-duration:0.8s;
animation-fill-mode:forwards;
opacity:0;
}
@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/*dl-----------------------------*/
dl.dl_table,dl.dl_philo {
margin-left:0 ;
margin-right:0;
margin-block-start: 0;
 margin-block-end: 0;
	line-height:1.6;
}
dl.dl_table > dt,dl.dl_philo > dt{
    border-bottom: 1px solid var(--bs-secondary-color);
	 border-radius: .5px;
     padding: 20px 5px 16px 15px;
	font-weight:normal;
	margin-bottom: 0;
}
dl.dl_table > dd ,dl.dl_philo > dd{
    border-bottom: 1px solid var(--bs-secondary-color);
	 border-radius: .5px;
    padding: 20px 5px 16px 15px;
	margin-bottom: 0;
	margin-left:0;
}
@media (max-width:767px){
	dl.dl_table > dt{padding-bottom: 5px;padding-top: 5px; background-color:var(--bs-light);border-top:1px solid var(--bs-secondary-color);border-bottom:none;}
	dl.dl_table > dd{padding-top:4px; padding-bottom: 20px;border:none;}
	
	dl.dl_philo > dt{padding-bottom: 5px;padding-top: 5px; }
	dl.dl_philo > dd{padding-top:4px; padding-bottom: 20px;border:none;}
	
}

/*dtの先頭にdeco*/
dl.dl_square > dt::before{
 content:"\f45c";
font-family:var(--font_fa_name);
 font-weight: 900;
 color:var(--bs-dark-bg-subtle);
 font-size:0.75rem;
margin-right:0.5rem;
}

/*btn--------------------------------------*/
.btn_red{
	position: relative;
	width:calc(100% - 30px);
	height:60px;
	padding: 0 30px;
	background-color:var(--color_red);
	border:3px solid var(--color_red);
	color: var(--bs-white);
	letter-spacing:0.1rem;
	line-height:1.4;
	text-align:center;
	border-radius:30px 0 0 30px;
	
	display:flex;
	align-items:center;
	justify-content:center;
}
.btn_red::before{
	content:'';
	display:block;
	width:60px;
	height:60px;
	border:3px solid var(--color_red);
	border-radius:50%;
	background-color:var(--bs-white);
     position: absolute;
	 top: 50%;
     right:-30px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
	z-index:1;
}
.btn_red::after{
	content:'';
	display:block;
	width:20px;
	height:20px;
    background-image:url('https://tobata-group.com/tgc/wp-content/uploads/arrow_r_red.svg');
	background-size:contain;
	background-position:center center;
	background-repeat:no-repeat;
    position: absolute;
	top: 50%;
    right:-15px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
	z-index:1;
	transition: right 0.3s ease-in-out;
}
.btn_red:hover{color:var(--bs-white);}
.btn_red:hover::after{
	right:-20px;
}
.btn_descript,.btn_newgrad{ 
	position: relative;
	padding: 1.5rem 2rem;
	background-color:var(--bs-white);
	border:2px solid var(--color_red);
	color: var(--color_red);
	letter-spacing:0.1rem;
	text-align:center;
	border-radius:20px;
}
.btn_descript{ 
	background-color:var(--color_red);
	border:2px solid var(--bs-white);
	color: var(--bs-white);
}
.btn_descript::after,.btn_newgrad::after{
	 content:'';
	display:block;
	width:30px;
	height:30px;
    background-image:url('https://tobata-group.com/tgc/wp-content/uploads/arrow_maru_r_white.svg');
	background-size:contain;
	background-repeat:no-repeat;
    position: absolute;
	right:1rem;
	 top :50%;
	transform: translateY(-50%);
    -webkit-transform: translateY(-50%);	
	z-index:1;
}
.btn_newgrad::after{  background-image:url('https://tobata-group.com/tgc/wp-content/uploads/arrow_maru_r_red.svg');}

.btn_newgrad:hover{background-color:var(--color_red);color:var(--bs-white);border-color:var(--bs-white);}
.btn_newgrad:hover::after{background-image:url('https://tobata-group.com/tgc/wp-content/uploads/arrow_maru_r_white.svg');}
.btn_descript:hover{background-color:var(--bs-white);color:var(--color_red);border-color:var(--color_red);}
.btn_descript:hover::after{background-image:url('https://tobata-group.com/tgc/wp-content/uploads/arrow_maru_r_red.svg');}

/*deco---------------------------------------*/
.title_leftline{
	padding-left:1rem!important;
	border-left:5px solid var(--color_blue)!important;
}

/*ul*/
/*blueのドット付き*/
ul.list_gray {
    list-style-type: none; 
    padding-left: 0; 
}
ul.list_gray > li {
    padding-left:1rem; 
	position:relative;
    line-height: 1.8;
}
ul.list_gray >li:before {
	font-family: var(--font_fa_name);
	font-weight: 900;
    content:'\f111'; 
	font-size:0.4rem;
    color: /*var(--bs-dark-bg-subtle)*/var(--color_blue);
    position: absolute;
    left: 0;
    top: 1.5em;

}

/*共通---------------------------------------*/
.fs_14{font-size:var(--fs_14)!important;}
.fs_18{font-size:var(--fs_18)!important;}
.font_bold{font-family: var(--font_jp_name);font-weight:700!important;} 	
.font_catch{font-family: var(--font_jp_notosans);font-weight:700!important;} 
.font_en{font-family: var(--font_en_name);font-weight:400!important;} 
.fw-400 { font-weight: 400!important;}

.color_body{color:var(--cocoon-text-color);}
.color_blue{color:var(--color_blue)!important;}
.color_red{color:var(--color_red)!important;}
.color_gray{color:/*#333333*/var(--bs-secondary-color)!important;}
.color_tgc{color:var(--color_tgc)!important;}

.bg_lightblue{background-color:var(--color_lightblue);}

.text_shadow{text-shadow: 0px 0px 12px rgba(0,0,0,0.9);}
.ls_m{letter-spacing:0.2rem;}

.link_line{
	border-bottom:dotted 1px var(--bs-secondary);
	padding-bottom:0.25rem;
}
.link_line:hover{color:var(--color_green);}

/************************************
** bootstrap:レスポンシブデザイン用のメディアクエリ
************************************/
@media screen and (min-width: 1200px){

}
@media screen and (max-width: 1199.98px) { /*xl*//*（ここからmobile-menu表示）*/
#navi{display:none;}
	.mobile-menu-buttons{display:flex;}/*モバイルボタン*/
	.header-container > .wrap {padding-left: 0;}
	.header-container-in.hlt-top-menu .navi{border:none;}
	.header-container-in.hlt-top-menu {flex-direction:row;height:100%;}
	.header-in{height:100%;align-items:start;}

}
@media screen and (max-width:991.9px){/*lg*/	
.single .content-in,.archive .content-in{width:auto;}

}
@media screen and (max-width:767.9px) {/*md: sp*/	
	a[id^="home_menu_"] {
		height:160px;
		/*background-size:auto 100%;*/
	}
	ul.ul_post_list > li > a {border-bottom:1px solid var(--bs-border-color); }
	#main_catch{
		right:auto;
		left:1rem;
	}
	dl.dl_group > dd{padding-left:0;}
	.btn_careers{max-width:100%;}
}

@media screen and (max-width:575.9px){/*sm*/
	#loading_logo{max-width:220px;}
	#header .site-name-text { font-size:2px;}
	.logo-image a {max-width:calc(100vw - var(--mobilemenu_size) - 10px ); }
	/*.logo-image a {max-width:calc(100vw - var(--header_h)); }*/
	/*.scroll-nav .logo-image a { }
	.scroll-nav .logo-image img{width:90%;}*/
	
	#footer_sitemap ul[id^="menu-sitemap-"] {gap:0.5rem;justify-content:space-between;}
	#footer_sitemap ul[id^="menu-sitemap-"] > li {width:45%;} 	
	#subpage_title{height:calc(var(--subpagetop_h) * 0.8);background-size:cover;}
}

/************************************
** cocoon:レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下 humbergerMenuの表示*/
@media screen and (max-width: 1023px){
	/*.mobile-menu-buttons{display:flex;}/*モバイルボタン*/
	/*.header-container > .wrap {padding-left: 0;}
	.header-container-in.hlt-top-menu .navi{border:none;}
	.header-container-in.hlt-top-menu {flex-direction:row;height:100%;}
	.header-in{height:100%;align-items:start;}*/
	
}

/*834px以下*/
@media screen and (max-width: 834px){
    main.main{padding:0!important;}/*必要：モバイルの両端の余白を取り除く*/
	.scroll-nav .header div.header-in {min-height: var(--header_h_s);}
   table th, table td{font-size:1rem;}	
}

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