/*

保存す????の文字コードはEUC-JP

*/

/* ////// base ////// */

	body { margin: 0px;  padding: 0px ; background: url(newimg/back.png) repeat; font-size:15px; color: #222; line-height: 190%;word-break:break-all; letter-spacing: 0.01em;
		/*font-family:"ï¿?Í?ï¿? ï¿??\ï¿?ï¿?ï¿?ï¿?Ã\ï¿?", Osaka, "ï¿?Ò\é\??珵??¿?Î?Ñ\ï¿? Pro W3";   */
		font-family: "Noto Sans JP", serif;
		}
    a 		{ color: #004DB6; text-decoration: underline; }
    a:hover { color: #FF6037; }
    h1,h2,h3,h4,h5,h6 {	font-size: 14px; margin: 0;  font-weight: normal; line-height: 175%; }
    img { border: none;}
    p 	{ margin: 0; padding: 0; text-indent: none; }
    ul,ol,li { margin: 0; padding: 0; list-style-type: none;}
	html {	overflow-y:scroll; /* Firefox*/ 	overflow-x:hidden; /* Firefox*/	width:auto;}


/* ////// useful ////// */
	.fl		{ float: left;}
	.flr	{ float: right;}
	.cll    { clear: left; }
	.clr    { clear: right; }
	.clall  { clear: both; }

	.borderc { border: 1px solid #CCC; }

	.t_center { text-align: center;}
	.t_left	  { text-align: left;}
	.t_right  { text-align: right;}

	.middle_img { vertical-align: middle; }

	.link {}
	.link img  {filter:alpha(opacity=100); -moz-opacity: 1;  opacity: 1;}
	.link img:hover {filter:alpha(opacity=60); -moz-opacity: 0.6;  opacity: 0.6;}
	.link input  {filter:alpha(opacity=100); -moz-opacity: 1;  opacity: 1;}
	.link input:hover {filter:alpha(opacity=60); -moz-opacity: 0.6;  opacity: 0.6;}
	.link span {filter:alpha(opacity=100); -moz-opacity: 1;  opacity: 1;}
	.link span:hover {filter:alpha(opacity=60); -moz-opacity: 0.6;  opacity: 0.6;}
	.linkimg {}
	.linkimg img	{ border: 1px solid #CCC;}
	.linkimg img:hover	{ border: 1px solid #666;}





	.link2 {}
	.link2 img  {filter:alpha(opacity=40); -moz-opacity: 0.4;  opacity: 0.4;}
	.link2 img:hover {filter:alpha(opacity=100); -moz-opacity: 1;  opacity: 1;}

	.link3 {}
	.link3 img  {filter:alpha(opacity=100); -moz-opacity: 1;  opacity: 1;}
	.link3 img:hover {filter:alpha(opacity=80); -moz-opacity: 0.8;  opacity: 0.8;}

	a.linktxt { color: #333;text-decoration:underline dotted;}
	a.linktxt:hover { color: #666;text-decoration:underline dotted;}



/* margin-top */
	.mt5  { margin-top: 5px;  }
	.mt10 { margin-top: 10px; }
	.mt15 { margin-top: 15px; }
	.mt20 { margin-top: 20px; }
	.mt25 { margin-top: 25px; }
	.mt30 { margin-top: 30px; }
	.mt35 { margin-top: 35px; }
	.mt40 { margin-top: 40px; }
	.mt45 { margin-top: 45px; }
	.mt50 { margin-top: 50px; }
	.mt55 { margin-top: 55px; }
	.mt60 { margin-top: 60px; }
	.mt80 { margin-top: 80px; }

/* margin-right */
	.mr5  { margin-right: 5px;  }
	.mr10 { margin-right: 10px; }
	.mr15 { margin-right: 15px; }
	.mr20 { margin-right: 20px; }
	.mr25 { margin-right: 25px; }
	.mr30 { margin-right: 30px; }
	.mr35 { margin-right: 35px; }
	.mr40 { margin-right: 40px; }
	.mr45 { margin-right: 45px; }
	.mr50 { margin-right: 50px; }
	.mr55 { margin-right: 55px; }
	.mr60 { margin-right: 60px; }
	.mr80 { margin-right: 80px; }

/* margin-bottom */
	.mb5  { margin-bottom: 5px;  }
	.mb10 { margin-bottom: 10px; }
	.mb15 { margin-bottom: 15px; }
	.mb20 { margin-bottom: 20px; }
	.mb25 { margin-bottom: 25px; }
	.mb30 { margin-bottom: 30px; }
	.mb35 { margin-bottom: 35px; }
	.mb40 { margin-bottom: 40px; }
	.mb45 { margin-bottom: 45px; }
	.mb50 { margin-bottom: 50px; }
	.mb55 { margin-bottom: 55px; }
	.mb60 { margin-bottom: 60px; }
	.mb80 { margin-bottom: 80px; }

/* margin-left */
	.ml5  { margin-left: 5px;  }
	.ml10 { margin-left: 10px; }
	.ml15 { margin-left: 15px; }
	.ml20 { margin-left: 20px; }
	.ml25 { margin-left: 25px; }
	.ml30 { margin-left: 30px; }
	.ml35 { margin-left: 35px; }
	.ml40 { margin-left: 40px; }
	.ml45 { margin-left: 45px; }
	.ml50 { margin-left: 50px; }
	.ml55 { margin-left: 55px; }
	.ml60 { margin-left: 60px; }
	.ml80 { margin-left: 80px; }


/* ////// base ////// */
	.allback { text-align: center; margin: 0px; padding: 0px ; }




	.header { position: relative; z-index: 100; width: 100%; margin: auto; }
	.header .header_inner { width: 1100px; margin: auto; text-align: left;}
	.header .logo { float: left; width: 200px;}
	.header .logo img { width: 170px;}
	.header .menu { float: right; margin-top: 20px; }
	.header li { margin-left: 20px; font-size: 18px; display:inline ; font-weight: bold; }
	.header .waku { border: 3px solid #f95210;  color: #f95210;  font-size: 16px;display: inline-flex;  align-items: center;  justify-content: space-between;  text-decoration: none; transition: all 0.3s ease; }
	.header .waku a {color: #f95210;text-decoration: none;padding: 4px 8px;}	
	.header .waku a:hover { background-color: #f95210; color: #FFF; }

/* 初期状態 */
	.header .content a {  color: #333;  position: relative;  text-decoration: none;}
	.header .content a::before {  content: '';  position: absolute;  bottom: 0;  left: 0;  width: 100%;  height: 2px; /* 下線の高さ */  background-color: #f95210;  transform: scaleX(0);  transform-origin: bottom right;  transition: transform 0.5s ease;}
	.header .content a:hover::before {  transform: scaleX(1);  transform-origin: bottom left;}
	.header .content a:hover {  color: #f95210;}





	#archive {}
	#archive .topstage { width: 100%; background: url(img/headback.png) top center no-repeat; background-size: cover; height: 640px; margin-bottom: 100px;}
	#archive .topstage_inner { width: 1100px; margin: auto; padding-top: 210px; text-align: left;}
	#archive .topmsg { font-size: 80px; color: #f95210; font-family: "Roboto", sans-serif; font-weight: bold; font-style: normal; line-height: 102%;letter-spacing: -0.05em;}
	#archive .submsg { font-size: 27px;font-weight: bold; margin-top: 15px; }

	#archive .news { width: 800px; margin: auto; text-align: left;}
	.media-item { margin-bottom: 20px; padding-bottom: 8px; border-bottom: 1px solid #ccc;display: flex;   flex-wrap: wrap;}
	.mediatype {  background-color: #f95210; color: white; padding: 2px 5px; font-size: 12px; border-radius: 14px; width: 100px; height: 28px; margin-right: 20px; text-align: center;}
	.date { display: block; margin-top: 5px; font-size: 14px; color: #666;}
	.contentmore {  margin-top: 10px; font-size: 16px; color: #333;}

	.media-item a {  color: #333;  position: relative;  text-decoration: none;}
	.media-item a::before {  content: '';  position: absolute;  bottom: 0;  left: 0;  width: 100%;  height: 2px; /* 下線の高さ */  background-color: #f95210;  transform: scaleX(0);  transform-origin: bottom right;  transition: transform 0.5s ease;}
	.media-item a:hover::before {  transform: scaleX(1);  transform-origin: bottom left;}
	.media-item a:hover {  color: #f95210;}

	#archive .aboutus {  width: 1100px; margin:150px auto 0px; text-align: left;display: inline-flex;   flex-wrap: wrap;}
	#archive .aboutus_txt { width: 530px;}
	#archive .aboutus_txtin { font-size: 18px;}
	#archive .aboutus_img {width: 570px; text-align: right;}

	#archive .toplineimg { text-align: center; margin-top: 80px;}

	#archive .business {  width: 1100px; margin:150px auto 0px; text-align: left;display: inline-flex;   flex-wrap: wrap;}
	#archive .business_txt { width: 530px;}
	#archive .business_txtin { font-size: 18px;}
	#archive .business_txtin strong { font-size: 20px; display: block; margin-bottom: 15px;}
	#archive .business_img {width: 570px; text-align: right;}

#recruitbox {  width: 100%; height:540px ; margin: 120px auto 0; background: url(/img/recruitback.png) top center no-repeat; background-size: cover; }
#recruitbox .recruitinner { width: 1100px; margin: auto; padding-top: 160px; text-align: left;}
#recruitbox .recruitbox_txt { text-align: left;font-size:48px; line-height: 130%; }
#recruitbox .recruitbox_txt span { color:#f95210 ;}


.title { font-family: "Segoe UI"; font-size: 60px; font-weight: bold; margin-bottom: 40px;}




/* BTN */

.btn_andmore  { margin: auto; width: 100%; text-align: center; margin-top: 40px;}
.btn_andmore2 {  text-align: left; margin-top: 20px;}
.news-btn {  display: inline-flex;  align-items: center;  justify-content: space-between;  border: 2px solid #f95210; border-radius: 30px;  padding: 10px 25px; color: #f95210; font-weight: bold; font-size: 16px; text-decoration: none; transition: all 0.3s ease; width: 160px; }
.news-btn .arrow { margin-left: 10px; font-size: 18px;}
.news-btn:hover { background-color: #f95210; color: #fff;}

.news-btn_reverse {  display: inline-flex;  align-items: center; background-color: #f95210;  justify-content: space-between;  border: 2px solid #f95210; border-radius: 30px;  padding: 10px 25px; color: #FFF; font-weight: bold; font-size: 16px; text-decoration: none; transition: all 0.3s ease; width: 160px; }
.news-btn_reverse .arrow { margin-left: 10px; font-size: 18px;}
.news-btn_reverse:hover { background-color: #FFF; color: #f95210;}





	#co_archive { position: relative; top: 95px;}
		.substage { width: 100%; background: url(img/headback.png) top center no-repeat; background-size: cover; height: 260px; margin: 0px auto 50px;}
		.substage .substage_inner { width: 1100px; margin: auto; text-align: left;}
		.substage .subtitle_first  {font-size: 60px; color: #f95210; font-family: "Roboto", sans-serif; font-weight: bold; font-style: normal; line-height: 102%;text-align: left; padding-top: 85px;}
		.substage .subtitle_second { font-size: 27px;font-weight: bold; margin-top: 10px;text-align: left;  }

		.substage .subtitle_second2 { font-size: 26px;font-weight: bold; text-align: left;  padding-top: 85px; }
		.substage .subtitle_first2  {font-size: 50px; color: #f95210; font-family: "Roboto", sans-serif; font-weight: bold; font-style: normal; line-height: 102%;text-align: left;margin-top: 10px;}


#contents { width: 1100px; margin: auto; text-align: left;}

#contents .button-container { width: 1100px; display: flex;  justify-content: space-between;  margin: 30px auto; }
#contents .menu-button { background-color: #1a1a1a;  color: #ffffff;   border: 1px solid #1a1a1a;  border-radius: 16px; padding: 20px 16px; font-size: 18px; font-weight: bold; display: flex; align-items: center; justify-content: space-between; width: 250px; cursor: pointer;  transition: all 0.3s ease;    }
#contents .menu-button:hover {background-color: #ffffff; color: #1a1a1a;  border: 1px solid #1a1a1a; }
#contents .menu-button .arrow { margin-left: 12px; color: #f95210; font-size: 18px; transition: transform 0.3s ease; }
#contents .menu-button:hover .arrow {transform: translateX(1px); }

#contents .contents_lead { margin: 80px auto 80px; font-size: 20px; line-height: 150%;}
#contents .content_title { font-size: 28px; font-weight: bold;}
#contents .content_title span { font-size: 16px; color: #f95210; display: block;}

#contents .content_subtitle { font-size: 26px; border-bottom: 3px double #f95210; color: #f95210; padding-bottom: 5px; margin-bottom: 10px;}


#contents .mvv_back { width: 900px; padding: 50px 100px; background: url(img/headback.png) top center no-repeat; background-size: cover;}
#contents .mvv_back_t { font-size: 28px; color: #f95210; font-weight: bold;}
#contents .mvv_back_txt { font-size: 24px; margin-bottom: 40px;}

#contents .t1 { border: none; margin: auto; width: 1100px; font-size: 18px;}
#contents .t1 td { border-bottom: 1px solid #CCC; padding: 5px 10px 10px 10px; }
#contents .t1 th { border-bottom: 1px solid #CCC; padding: 5px 10px 10px 10px; width: 200px; }

#contents .box1 { margin: 30px auto 80px;}
#contents .box2 { margin: 30px auto 80px; padding-bottom: 80px;}


#contents .board_memberbox { display: flex; margin-bottom: 40px;}
#contents .b_member { font-size: 24px; font-weight: bold; width: 260px; }
#contents .b_member span { font-size: 14px; display: block; font-weight: normal;}

#contents .mgteam { width: 1000px; display: -webkit-flex; display: flex;  -webkit-justify-content: space-between; justify-content: space-between;}


#contents .bookimg { width: 260px; float: left; margin-top: 30px;}
#contents .bookimg img { width: 260px;}
#contents .booktxt { width: 800px; float: left; margin-top: 30px; margin-left: 40px;}

#contents .sus_txt {font-size: 18px; line-height: 150%;}


#contents .business_lead { margin: 80px auto 120px; font-size: 20px; line-height: 150%;}
#contents .business_lead_left  { float: left; width: 680px;}
#contents .business_lead_right { float: left; width: 400px; margin-left: 20px;}
#contents .business_txt { margin: 20px auto 120px;}
#contents .business_box { margin: 30px auto ; display: flex;}

#contents .business_logo { width: 260px;}


/* //////////////////////////// IR //////////////////////////// */

#ircontents { width: 1000px; margin: auto; text-align: left;}

#ircontents .button-container { width: 1000px; display: flex;  justify-content: space-between;  margin: 30px auto;  }
#ircontents .button-container button {background-color: transparent; appearance: none; outline: none; border: none;}
#ircontents .menu-button {  border-bottom: 1px solid #1a1a1a !important; padding: 2px 0px; font-size: 18px; font-weight: bold; display: flex; align-items: center; justify-content: space-between; width: 198px; cursor: pointer;  transition: all 0.3s ease;    }
#ircontents .menu-button:hover { border-bottom: 1px solid #f95210 !important; color: #f95210; }

#ircontents .irnews_top { margin: 80px auto 150px;}
#ircontents .ir_title1  { font-size: 28px; text-align: center; font-weight: bold; margin-bottom: 60px;}

#ircontents .media-item { margin-bottom: 20px; padding-bottom: 8px; border-bottom: 1px solid #ccc;display: flex;   flex-wrap: wrap;}
#ircontents .mediatype {  background-color: #f95210; color: white; padding: 2px 5px; font-size: 12px; border-radius: 14px; width: 100px; height: 28px; margin-right: 20px; text-align: center;}
#ircontents .date { display: block; margin-top: 5px; font-size: 14px; color: #666;}
#ircontents .contentmore {  margin-top: 10px; font-size: 16px; color: #333;}

#ircontents .media-item a {  color: #333;  position: relative;  text-decoration: none;}
#ircontents .media-item a::before {  content: '';  position: absolute;  bottom: 0;  left: 0;  width: 100%;  height: 2px; /* 下線の高さ */  background-color: #f95210;  transform: scaleX(0);  transform-origin: bottom right;  transition: transform 0.5s ease;}
#ircontents .media-item a:hover::before {  transform: scaleX(1);  transform-origin: bottom left;}
#ircontents .media-item a:hover {  color: #f95210;}

#ircontents .iralltxt {  margin-bottom: 80px; }
#ircontents .content_subtitle { font-size: 26px; border-bottom: 1px solid #333; color: #333; padding-bottom: 5px; margin-bottom: 10px; font-weight: bold;}
#ircontents .content_subtxt { font-size: 18px; }

/*library*/
#ircontents .docs-section {  width: 1000px;  margin: 0 auto;  display: grid;  grid-template-columns: 1fr 1fr;  gap: 40px 60px; /* 行・列の余白 */  font-family: sans-serif;}
#ircontents .doc-box { margin-bottom: 40px;}
#ircontents .doc-box_txt { font-size: 18px;}
#ircontents .doc-box_txt a {   margin-bottom: 20px;  color: #0072c6;  text-decoration: none;}
#ircontents .doc-box_txt a:hover {  text-decoration: underline;}
#ircontents .past-btn { float: right; margin-top: 20px; text-align: center; background-color: #1a1a1a;  color: #ffffff;   border: 1px solid #1a1a1a;  border-radius: 14px; padding: 14px 16px; line-height: 100%; font-size: 16px; font-weight: bold; display: flex; align-items: center; justify-content: space-between; width: 120px; cursor: pointer;  transition: all 0.3s ease;    }
#ircontents a.past-btn { color: #ffffff;  }
#ircontents .past-btn:hover {background-color: #ffffff; color: #1a1a1a;  text-decoration: none; }

/*result*/
.ir-archive {  width: 1000px;   box-sizing: border-box;  color: #111;}

.ir-archive__header {  display: flex;  align-items: center;  gap: 10px;  margin: 12px 0 18px;}
.ir-archive__label {  position: absolute;  width: 1px; height: 1px; overflow: hidden;  clip-path: inset(50%);}
.ir-archive__select-wrap {  position: relative;  display: inline-block;}
.ir-archive__select {  appearance: none;  -webkit-appearance: none;  -moz-appearance: none;  font-size: 16px;  line-height: 1.2;  padding: 8px 34px 8px 12px;  border: 1px solid #c7c7c7;  border-radius: 4px;  background: #fff;  cursor: pointer;}
.ir-archive__chevron {  position: absolute;  right: 10px;  top: 50%;  transform: translateY(-50%);  pointer-events: none;  font-size: 12px;  color: #333;}
.ir-list {}
.ir-item {  padding: 14px 0;  border-bottom: 1px solid #d9d9d9; }
.ir-item_meeting {  padding: 14px 0;  border-bottom: 1px solid #d9d9d9; margin-bottom: 80px; }
.ir-item__date {  font-weight: 700;  margin-bottom: 8px;  font-size: 16px;}
.ir-item__link {  display: inline-block;  font-size: 18px;  color: #0b66c3;      text-decoration: underline;  text-underline-offset: 2px;}
.ir-item__link:hover,.ir-item__link:focus {  text-decoration-thickness: 2px;}




#irfoot { width: 1000px; margin:80px auto 0px; padding-bottom: 50px;}
#irfoot .navbar { display: flex; justify-content: space-between;  padding: 20px; flex-wrap: wrap; }
#irfoot .navbar-item {  position: relative; text-align: left;}
#irfoot .navbar-item p {  font-size: 18px; font-weight: bold; margin-bottom: 20px;}
#irfoot .navbar-link {  font-weight: bold; text-decoration: none;  font-size: 16px;}
#irfoot .submenu { }
#irfoot .submenu li { padding: 4px 0px;}
#irfoot .submenu li a { text-decoration: none; font-size: 14px;}
#irfoot .submenu li a:hover { color: #ff4500; }

#irfoot .morenavi { border-top: 1px solid #666; margin: 60px auto 0px; padding-top: 15px; font-size: 15px;}
#irfoot .morenavi li { display: inline; padding-right: 15px;}


	#irfoot a {  color: #333;  position: relative;  text-decoration: none;}
	#irfoot a::before {  content: '';  position: absolute;  bottom: 0;  left: 0;  width: 100%;  height: 2px; /* 下線の高さ */  background-color: #f95210;  transform: scaleX(0);  transform-origin: bottom right;  transition: transform 0.5s ease;}
	#irfoot a:hover::before {  transform: scaleX(1);  transform-origin: bottom left;}
	#irfoot a:hover {  color: #f95210;}


.ir-ui-scope {
--accent: #f05a22; /* アクティブ・ホバーのオレンジ */
--text: #222;
--muted: #6b7280;
}

.ir-ui-scope .ir-ui {max-width: 1000px;width: 1000px;}
.ir-ui-scope .year-select-wrap {display: inline-block;position: relative;margin-bottom: 16px;}
.ir-ui-scope .year-select {appearance: none;-webkit-appearance: none;-moz-appearance: none;padding: 10px 44px 10px 14px;min-width: 260px;font-size: 16px;color: var(--text);border: 1px solid var(--border);border-radius: 6px;background: #fff;cursor: pointer;}
.ir-ui-scope .year-select-wrap::after {content: "";position: absolute;right: 14px;top: 50%;translate: 0 -50%;width: 0; height: 0;border-left: 6px solid transparent;border-right: 6px solid transparent;border-top: 8px solid #333;pointer-events: none;}
.ir-ui-scope .tabs {display: grid;grid-template-columns: repeat(5, 1fr);border: 1px solid var(--border);border-radius: var(--radius);overflow: hidden;}
.ir-ui-scope .tab {display: grid;place-items: center;height: 54px;padding: 0 10px;font-size: 16px;background: #fff;color: var(--text);border-right: 1px solid var(--border);cursor: pointer;user-select: none;transition: background 0.2s, color 0.2s;}
.ir-ui-scope .tab:last-child { border-right: none; }
.ir-ui-scope .tab:hover {background: var(--accent);color: #fff;}

/* 選択されたタブを常にオレンジ */
.ir-ui-scope .tab[aria-selected="true"] {background: var(--accent) !important;color: #fff !important;font-weight: 700;}
.ir-ui-scope .tab:focus { outline: 3px solid #cfe8ff; outline-offset: -3px; }
.ir-ui-scope .panels {border: 1px solid var(--border);border-top: none;padding: 24px 20px;border-radius: 0 0 var(--radius) var(--radius);}
.ir-ui-scope .panel[hidden] { display: none; }
.ir-ui-scope .panel h3 { margin: 0 0 8px; font-size: 18px; }
.ir-ui-scope .subtle { color: var(--muted); font-size: 14px; }

/* //////////////////////////// IR //////////////////////////// */



/* FOOT */
#foot { width: 100%; margin:80px auto 0px;  background-color: #f0f0f0;}
#foot .footinner { width: 1100px; margin:auto; padding: 50px 0px;}
#foot .footlogo { width: 180px; text-align: left;}
#foot .footlogo img { width: 180px;}
#foot .navbar { display: flex; justify-content: space-between;  padding: 20px; flex-wrap: wrap; }
#foot .navbar-item {  position: relative; text-align: left;}
#foot .navbar-link {  font-weight: bold; text-decoration: none;  font-size: 16px;}
#foot .submenu { }
#foot .submenu li { padding: 4px 0px;}
#foot .submenu li a { text-decoration: none; font-size: 14px;}
#foot .submenu li a:hover { color: #ff4500; }

	#foot a {  color: #333;  position: relative;  text-decoration: none;}
	#foot a::before {  content: '';  position: absolute;  bottom: 0;  left: 0;  width: 100%;  height: 2px; /* 下線の高さ */  background-color: #f95210;  transform: scaleX(0);  transform-origin: bottom right;  transition: transform 0.5s ease;}
	#foot a:hover::before {  transform: scaleX(1);  transform-origin: bottom left;}
	#foot a:hover {  color: #f95210;}


