@charset "utf-8";
/*----------------------------------------------------
	MAIN 
----------------------------------------------------*/
* {margin: 0; padding: 0;}

body {margin: 0 auto; padding: 0; font-family: a-otf-midashi-go-mb31-pr6n, sans-serif; -webkit-text-size-adjust:100%;}

html {overflow-y:scroll;}

img {border: 0;}

li {list-style-type: none;}

.clear {clear: both;}

a:link {color: #f80; text-decoration: none;}
a:visited {color: #f80; text-decoration: underline;}
a:hover {color: #3f3f3f;text-decoration: none;}
a:active {color: #3f3f3f;text-decoration: underline;}

/*----------------------------------------------------
	 Re:design
----------------------------------------------------*/
h2												{font-size:1.5rem; letter-spacing:normal; position:relative; padding-bottom:12px; margin:3em auto 3em; width:1400px; color:#3f3f3f;}
h2::before										{content:""; position:absolute; bottom:0; left:0; width:80px; height:2px; background:#f80;}
h3												{width:215px; top:20px; font:700 3rem/0 "Lato", sans-serif; color:#3f3f3f; border-right:solid 3px #f0f0f0; position:relative;}
h4												{font-size:100%; letter-spacing:normal; position:relative; padding-bottom:12px; margin:3em auto 3em; width:200px; color:#3f3f3f;}
h4::before										{content:""; position:absolute; top:130px; bottom:0; left:0; width:80px; height:2px; background:#f80;}
h5												{font-size:2.0rem; letter-spacing:normal; position:relative; padding-bottom:12px; margin:3em auto 3em; width:1400px; color:#fff;}
h5::before										{content:""; position:absolute; bottom:0; left:0; width:80px; height:2px; background:#f80;}

h6 {
	position: relative;
	top: 5%;
	text-align: center;
	font-size: 120%;
	color: #ffffff;
	margin-bottom: 30px;
}
h6 span {
	position: relative;
	z-index: 2;
	display: inline-block;
	margin: 0 2.5em 10px;
	padding: 5px 30px;
	background-color: #3F3B3A;
	text-align: left;
	border-radius: 0 0 5px 5px;
	-webkit-border-radius: 0 0 5px 5px;
	-moz-border-radius: 0 0 5px 5px;
	-khtml-border-radius: 0 0 5px 5px;
}

h1 {
	position: relative;
	text-align: center;
	font-size: 120%;
	margin-top: 10px;
}
h1 span {
	position: relative;
	z-index: 2;
	display: inline-block;
	margin: 10px 2.5em;
	padding: 0 1em;
	background-color: #ffffff;
	text-align: left;
}
h1::before {
	position: absolute;
	top: 33%;
	z-index: 1;
	content: '';
	display: block;
	width: 100%;
	height: 10px;
	background-color: #ff8800;
}


.pagetop										{position:fixed; bottom:10px; right:10px; padding:10px 15px 5px; background:#fff; border:2px solid #3f3f3f; font-size:0.8em; transition:1.0s; z-index:999; color:#3f3f3f !important;}
.pagetop:hover									{opacity:0.5; transition:0.3s;}
.pagetop b										{font-size:210%; line-height:0.6em; display:block;}
.pagejump										{height:0; display:block; padding-top:89px; margin-top:-89px;}
.pagejump_white									{height:0; display:block; padding-top:89px; margin-top:-89px; background:#fff; position:relative; z-index:-1;}

.video-youtube									{width:100%; aspect-ratio:16 / 9;}
.video-youtube iframe							{top:50%; left:50%; width:100%; height:100%; min-width:100%; min-height:100%; overflow:hidden;}

.video-box										{position:relative; overflow:hidden; width:100%; height:calc(90vh - -0px); z-index:1; background:#000;}
												/*--フルワイドに戻す場合は▲calc(100vh - -160px) ▼min-height:100%に--*/
.video-box video								{position:relative; top:50%; left:50%; min-width:100%; height:100%; -webkit-transform:translate(-50%, -50%); -moz-transform:translate(-50%, -50%); transform:translate(-50%, -50%);}

.newhead										{display:flex; position:fixed; z-index:999; width:100%; justify-content:space-between; align-items:center; background:#3f3f3f; box-shadow:0 3px 3px rgba(0, 0, 0, 0.1); border-bottom:1px solid #3f3f3f; padding:0;}
.newhead_logo									{display:flex; align-items:center; min-width:420px; margin-left:15px;}
.newhead_logo_link								{display:flex; width:250px; text-align:center; margin:0; gap:0 5px;}

.newhead_menu									{display:flex; align-items:center; background:#fff;}
.newhead_menu_link 								{display:flex; margin:0; align-items:center; gap:0;}
.newhead_menu_link .mainhref					{display:block; position:relative; width:150px; height:90px; margin:0; text-align:center; background:#fff; border-right:1px solid #3f3f3f;}
.newhead_menu_link .mainhref:hover				{background:-webkit-linear-gradient(top, #ffffff 24%, #efefef 120%); transition:0.3s;}
.newhead_menu_link .mainhref span				{display:block; font-size:12px; text-align:center; margin-top:-10px; color:#3f3f3f;}
.newhead_menu_link img							{height:75px; margin: 0 auto; vertical-align:middle;}

.newhead_children_menu,.newhead_children_menu2,.newhead_children_menu3,.newhead_children_menu4
												{position:absolute; margin:0; left:0; width:100%; background:#fff; justify-content:center; z-index:999; opacity:0; visibility:hidden; transition:300ms; border-top:1px solid #3f3f3f; border-bottom:1px solid #3f3f3f;}
.newhead_children_menu_sub						{width:1200px; margin:auto; padding:30px 0;}
.children_menu_sub_title						{display:flex; justify-content:center; align-items:center; gap:10px; border-bottom:2px solid #3f3f3f; padding-bottom:30px;}
.children_menu_sub_title img					{width:100%; max-height:100px !important; border-radius:3px;}
.children_menu_sub_title p						{position:relative; top:5px; font-weight:bold; font-size:2.5rem;}
.children_menu_sub_title span					{font-weight:bold; font-size:1.5rem; letter-spacing:0.1em;}
.children_menu_sub_link							{display:grid; grid-template-columns:1fr 1fr 1fr; gap:0 30px;}
.children_menu_sub_link a						{position:relative; border-bottom:2px solid #ccc; padding:15px 0; color:#3f3f3f;}
.children_menu_sub_link a:hover					{color:#f80;}
.children_menu_sub_link a::before				{display:block; content:""; position:absolute; top:50%; right:0; width:20px; height:20px; margin-top:-10px; margin-right:1px; background:#3f3f3f;}
.children_menu_sub_link a:hover::before			{background:#f80;}
.children_menu_sub_link a::after				{display:block; content:""; position:absolute; top:50%; right:1px; width:0; height:0; margin-top:-5px; margin-right:0; border:5px solid transparent; border-left:8px solid #fff;}
.active,.active2,.active3,.active4				{opacity:1; visibility:visible;}

.new_wrapper									{width:100%; margin:0 auto; background:#f0f0f0;}
.jp												{font-size:2.5rem;}
.en												{font-size:1.5rem; font-weight:800; display:block;}

.new_wrapper_widthimg							{width:100%; vertical-align:middle;}

.new_wrapper_company							{width:100%; background:#f0f0f0; margin:0 auto 5em;}
.new_wrapper_company_info						{width:100%; max-width:1200px; margin:auto; border-spacing:1px; font-size:100%;}
.new_wrapper_company_info td					{padding:1em; background:#fff;}
.new_wrapper_company_info th					{padding:1em; font-weight:700; color:#fff; background:#3f3f3f; text-align:left;}
.new_wrapper_company_info a						{margin:0; float:right;}
.new_wrapper_company_sponsor					{display:flex; justify-content:space-between; width:100%; max-width:1200px; margin:auto; gap:1px;}
.new_wrapper_company_sponsor div				{display:flex; flex-direction:column; flex:1;}
.new_wrapper_company_sponsor a					{width:100%; display:block; padding:15px 0; background:#fff; flex:1; text-align:center;}
.new_wrapper_company_sponsor a:hover			{outline:2px solid #3f3f3f; outline-offset:-2px; z-index:999;}
.new_wrapper_company_sponsor img				{height:40px; max-height:40px; display:block; margin:15px auto;}
.new_wrapper_company_sponsor span				{padding:0 15px; font-size:90%; color:#3f3f3f; display:inline-block; text-align:left;}

.new_wrapper_company_business p					{display:block; padding:10px; background:#3f3f3f; color:#fff; font-size:1.0rem; width:100%; font-size:1.5rem; font-weight:700;}
.new_wrapper_company_business					{display:flex; justify-content:space-between; width:100%; max-width:1200px; margin:0 auto; gap:0; flex-wrap:wrap;}
.new_wrapper_company_business .logo				{display:flex; flex-direction:column; background:#fff; box-sizing:border-box; width:40%; padding:20px 0;}
.new_wrapper_company_business .logo a:hover		{outline:2px solid #3f3f3f; outline-offset:-2px;}
.new_wrapper_company_business .logo p			{display:inline-block; padding:10px; background:#3f3f3f; color:#fff; font-size:1.0rem; width:fit-content; min-width:80px; position:relative; top:10px; left:10px;}
.new_wrapper_company_business .logoimg			{padding:0; height:auto; width:180px; display:block; margin:auto;}
.new_wrapper_company_business .logo2			{display:flex; flex-direction:column; flex:1; background:#fff; border:1px solid #f0f0f0; box-sizing:border-box; margin-top:15px;}
.new_wrapper_company_business .logo2 a:hover	{outline:2px solid #3f3f3f; outline-offset:-2px; cursor:pointer;}
.new_wrapper_company_business .logo2 p			{display:block; padding:10px; background:#3f3f3f; color:#fff; font-size:1.0rem; width:auto; font-size:1.5rem; font-weight:700;}
.new_wrapper_company_business .logoimg2			{padding:0; height:auto; max-height:115px; display:block; margin:0 auto; position:relative; top:0;}
.new_wrapper_company_business .photoimg			{overflow:hidden; position:relative; top:0; width:60%; height:246px; object-fit:cover}
.new_wrapper_company_business .imgflex			{display:flex; margin-top:0; align-items:center;}
.new_wrapper_company_mall						{display:flex; flex:1; gap:15px 30px; margin:0 auto; padding:15px; flex-wrap:wrap; width:100%; justify-content:space-between; background:#fff; align-items:center;}
.new_wrapper_company_mall ul					{display:flex; align-items:center; gap:15px; width:100%; flex-wrap:wrap;}
.new_wrapper_company_mall ul li					{flex-grow:1;}
.new_wrapper_company_mall img					{vertical-align:top; width:150px;}
.new_wrapper_company_mall a						{display:flex; width:335px; height:60px; padding:0; align-items:center; justify-content:center; text-align:center; border:1px solid #f0f0f0; font-size:0.9rem; line-height:1.2em; color:#3f3f3f; background:#fff;}
.new_wrapper_company_mall a:hover				{outline:2px solid #3f3f3f; outline-offset:-2px;}
.new_wrapper_company_tel						{width:150px; display:inline-block; line-height:1.8em;}


.lastmall										{}
.lastmall::after								{display:block; content:""; width:132px;}
.new_wrapper_company_business .mall img			{width:100%; max-width:200px; margin:auto; padding:0;}



.new_wrapper_history							{padding:30px 0 0; width:100%; margin:auto; background:#fff;}
.new_wrapper_history div						{display:flex; justify-content:space-between;}
.new_wrapper_history_main						{width:100%; max-width:1200px; margin:auto;}
.new_wrapper_history_table						{width:calc(100% - 263px); font-size:100%; margin:0;}
.new_wrapper_history_table tr					{font-size:100%; font-feature-settings:"palt"; vertical-align:baseline; box-sizing:border-box; margin:0; padding:0; border:0; outline:0;}
.new_wrapper_history_table th					{font:500 0.9rem/25px "Lato", sans-serif; color:#fff; text-align:center; width:110px; padding-top:2px; position:relative; z-index:1; letter-spacing:0.2em;}
.new_wrapper_history_table th::before			{content:""; background:#3f3f3f; display:block; width:100%; height:23px; border-radius:12px; position:absolute; top:3px; z-index:-1;}
.new_wrapper_history_table th::after			{left:-54px; content:""; background: #f0f0f0; display:block; width:11px; height:11px; border-radius:6px; position:absolute; top:9px;}
.new_wrapper_history_table td					{padding:0 0 40px 30px;}
.new_wrapper_history_table td span				{position:relative; top:3px;}
.new_wrapper_history figure						{display:flex; align-items:flex-start; justify-content:space-between; font-size:100%; background:#f0f0f0; margin-top:20px; padding:50px; border-radius:5px;}
.new_wrapper_history figcaption					{width:55%; padding-right:50px;}
.new_wrapper_history figure img					{width:45%; max-width:300px; height:auto;}

.right											{position:fixed; right:20px; z-index:500; opacity:1; transform:unset; top:50%; transform: translateY(-50%); border:1px solid #3f3f3f; border-radius:3px; padding:10px;}
.right a										{display:block; border-bottom:1px solid #ccc;}
.right a:last-child								{border:none;}

.new_wrapper_photo								{display:flex; flex-wrap:wrap; overflow:hidden; width:1200px; border-radius:3px; padding:0 80px; margin:80px auto;}
.new_wrapper_photo div							{width:33.3%;}
.new_wrapper_photo div a						{position:relative; display:block; width:100%; height:100%;}
.new_wrapper_photo figure						{position:relative; width:100%; height:100%; overflow:hidden;}
.new_wrapper_photo figure::before				{position:absolute; top:0; left:0; z-index:10; width:100%; height:100%; content:""; background:#000; background:linear-gradient(0deg, rgba(0, 0, 0, 0.74) 0%, rgba(35, 35, 35, 0.0649) 59%);}
.new_wrapper_photo img							{width:100%; height:100%; transition:transform 1s cubic-bezier(0.25, 1, 0.5, 1); transform:scale(1.05); -o-object-fit:cover; object-fit:cover;}

.new_wrapper_news								{width:100%; background:#fff;}
.news_maincontents								{display:flex; gap:0; justify-content:space-between; width:1400px; margin:auto;}
.news_maincontents jp							{opacity:1; transition: all .6s cubic-bezier(0.8, 0, 0.1, 1); transform: translateX(0);}
.news_content									{display:flex; width:1200px; margin:auto;}
												/*--▲縦表示するようなら追加 flex-direction:column;--*/
.news_flex										{flex-grow:1; width:100%; padding:80px 50px; border-right: solid 2px #f0f0f0;}
.news_flex:first-child							{padding-right:50px; padding-left:50px; border-left:solid 2px #f0f0f0; border-right:solid 2px #f0f0f0;}
.news_flex_award								{flex-grow:1; width:100%; padding:80px 50px;}
.news_flex_award:first-child					{padding-right:50px; padding-left:50px; border-left:solid 2px #f0f0f0; border-top:none; border-right:solid 2px #f0f0f0;}
.news_flex_subtitle								{font-size:1.3rem; font-weight:700; text-indent:20px;}
.news_flex_subtitle::before						{content:url(https://horicorporation.co.jp/img/logo_oring.svg); vertical-align:middle; display:inline-block; transform:scale(1.3); position:relative; left:-36px; top:2px;}
.news_list li									{position:relative;}
.news_list li a									{position:relative; display:block; padding:30px 0;}
.news_list li a::after							{position:absolute; bottom:0; left:0; width:100%; height:2px; content:""; background:#f0f0f0;}
.news_list li a:link							{color:#3f3f3f; text-decoration:none;}
.news_list li a:visited							{color:#3f3f3f; text-decoration:none;}
.news_list li a:hover							{color:#f80; text-decoration:none;}
.news_list li a:active							{color:#f80; text-decoration:none;}
.news_list .nolink								{position:relative; display:block; padding:30px 0;}
.news_list .nolink::after						{position:absolute; bottom:0; left:0; width:100%; height:2px; content:""; background:#f0f0f0;}

.new_wrapper_company_index						{position:relative; box-sizing:border-box; height:480px; padding-top:0; margin:0; display:flex; gap:0; overflow:hidden;}
.new_wrapper_company_index a					{width:100%;}
.new_wrapper_company_index .bg					{position:absolute; width:calc(100% / 3); width:-webkit-calc(100% / 3); width:33.33333%; height:100%; overflow:hidden;}
.new_wrapper_company_index .bg::before			{position:absolute; top:0; left:0; z-index:10; width:100%; height:100%; content:""; background-color:rgba(35,24,21,.6); transition:background-color .6s cubic-bezier(0.25, 1, 0.5, 1);}
.new_wrapper_company_index .bg:hover::before	{opacity:0.80; filter: alpha(opacity=80);}
.new_wrapper_company_index .bg img				{position:relative; top:-20%; width:100%; height:140%; -o-object-fit:cover; object-fit:cover;}
.new_wrapper_company_inner						{position:relative; padding:0 80px; margin:0 auto;}

.new_wrapper_movie								{position:relative; box-sizing:border-box; height:480px; padding-top:3rem; margin:0;}
.new_wrapper_movie .bg							{position:absolute; top:50%; left:50%; width:100%; height:100%; overflow:hidden; transform:translate(-50%, -50%);}
.new_wrapper_movie .bg::before					{position:absolute; top:0; left:0; z-index:10; width:100%; height:100%; content:""; background-color:rgba(35,24,21,.6); transition:background-color .6s cubic-bezier(0.25, 1, 0.5, 1);}
.new_wrapper_movie .bg:hover::before			{opacity:0.80; filter: alpha(opacity=80);}
.new_wrapper_movie .bg img						{position:relative; top:-20%; width:100%; height:140%; -o-object-fit:cover; object-fit:cover;}
.new_wrapper_movie_inner						{position:relative; padding:0 80px; margin:0 auto;}
.new_wrapper_movie_innertext					{margin:3em auto 3em; width:1400px; color:#fff; font-weight:700; font-size:1.0rem; position:relative; top:-10px;}
.new_wrapper_movie_innertext a					{padding:15px 30px; color:#fff; background:#f80;}
.new_wrapper_movie_innertext a:hover			{background:-webkit-linear-gradient(bottom, #fff4e0 1%,orange 80%); background:#fcbe11;}

.flex-box										{display:flex; gap:15px;}
.flex-boximage									{position:relative; flex-shrink:0; padding:0;}
.flex-boximage figure							{width:120px; height:90px; overflow:hidden; border-radius:3px;}
.flex-boximage figure img						{width:100%; height:100%; object-fit:contain;}
.flex-boxdetail									{flex-grow:1;}
.flex-boxdetail > .flex-box						{flex-wrap:wrap; display:flex; justify-content:space-between;}
.flex-boxcategory_text							{display:flex; background:#3f3f3f; padding:5px 10px; margin-right:5px; margin-bottom:5px; font-size:10px; font-weight:700; line-height:100%; color:#fff; letter-spacing:.02em; border:1px solid #3f3f3f; border-radius:3px;}
.date											{font-size:12px; color:#3f3f3f; letter-spacing:.02em; opacity:.5;}
.text											{margin-top:10px; overflow:hidden; font-size:90%; line-height:1.6em; letter-spacing:.02em;}

.new_award_content								{width:100%; background:linear-gradient(#fff, #eee); margin-bottom:}
.new_award_tab									{display:flex; flex-wrap:wrap; background:#fff; box-sizing:border-box; margin:0 auto; padding:0; gap:15px;}
.new_award_tab img								{vertical-align:top;}
.new_award_table								{width:100%; margin:0 auto;}
.new_award_table tr								{background:#fff;}
.new_award_table tr:nth-child(2n)				{background:#f7f7f7;}
.new_award_table td								{padding:30px 15px; text-align:right; width:1100px; letter-spacing:0.15em; font-size:90%;}
.new_award_table td::before						{content:attr(data-label); float:left; margin-right:10px; color:#3f3f3f;}
.input											{position:absolute; opacity:0;}
.tab-label										{padding:20px 0; background:#fff; cursor:pointer; text-align:center; flex:1; border:1px solid #f0f0f0;}
.tab-panel										{display:none; padding:0; background:#fff; order:99;}
.input:checked + .tab-label + .tab-panel		{display:block;}

.modal-wrapperitem											{z-index:999; position:fixed; top:0;right:0; bottom:0; left:0; padding:60px 10px; text-align:center;}
.modal-wrapperitem:not(:target)								{opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s;}
.modal-wrapperitem:target									{opacity:1; visibility:visible; transition:opacity .4s, visibility .4s;}
.modal-wrapperitem::after									{display:inline-block; height:100%; margin-left:-.05em; vertical-align:middle; content: ""}
.modal-wrapperitem .modal-windowitem						{box-sizing:border-box; display:inline-block; z-index:20; position:relative; width:100%; max-width:600px; padding:30px 15px 15px; border-radius:10px; background:#fff; box-shadow:0 0 30px rgba(0, 0, 0, .6); vertical-align:middle;}
.modal-wrapperitem .modal-windowitem .modal-content			{margin:auto; max-height:70vh; overflow-y:auto;}
.modal-overlayitem											{z-index:10; position:absolute; top:0; right:0; bottom:0; left:0; background:rgba(0, 0, 0, .8)}
.modal-wrapperitem .modal-close								{z-index:20; position:absolute; top:0; right:0; width:35px; color:#95979c !important; font-size:20px; font-weight:700; line-height:35px; text-align:center; text-decoration:none; text-indent:0;}
.modal-wrapperitem .modal-close:hover						{color:#3f3f3f !important}
.modal-wrapperitem img										{width:100%; max-width:500px; height:auto; z-index:999; position:absolute; transform:translate(-50%,-50%); top:50%; left:50%;}
.modal-wrapperitem figcaption								{color:#fff; z-index:999; position:relative; background:#f80; width:300px; margin:-0 auto; font-size:90%; padding:10px;}

.new_logowrapper								{width:100%; margin:auto; padding-bottom:30px; background:#f0f0f0;}
.new_logogrid									{width:100%; max-width:1400px; margin:auto; display:flex; flex-wrap:wrap; background-color:#fff; position:relative; justify-content:center; align-items:center; overflow:hidden; width:calc(100% - 1px); box-sizing:border-box; outline:0;}
.new_logogrid a									{display:flex; align-items:center; justify-content:center; height:170px; width:100%; color:#3f3f3f;}
.new_logogrid .makernolink						{pointer-events:none;}
.new_logogrid a:hover							{outline:2px solid #f0f0f0; outline-offset:-2px;}
.new_logogrid img								{width:200px;}
.new_logoitem									{flex:1 1 calc(100% / 6); min-width:180px; position:relative; padding:15px; margin-left:-1px; margin-top:-1px;}
.new_logoitem::before							{display:inline-block; content:""; width:1px; height:calc(100% - 20px); background:#ccc; position:absolute; left:0; top:0; bottom:0; margin:auto;}
.new_logoitem::after							{display:inline-block; content:""; width:calc(100% - 20px); height:1px; background:#ccc; position:absolute; right:0; left:0; top:0; margin:auto;}
.new_logoitem span								{position:relative; text-align:center; display:inherit; font-size:90%; height:40px;}
.new_logoitem p									{width:100%; position:absolute; display:block ruby; bottom:10%; left:50%; transform:translateX(-50%);}
.new_logoitem_spbr								{display:none;}
.new_logofirst									{border:-1; flex: 1 0 100%;}
.new_logofirst img								{width:350px;}

input[type="checkbox"].on-off					{bottom:0; display:block; opacity:0;}
.open-label										{width:200px; margin:30px auto 0; padding:0.8em; display:block; color:#fff; font-weight:bold; text-align:center; background:#f80; position:relative; border-radius:30px;}
.open-label:active								{box-shadow:0 0 0 0;}
.open-label:hover								{background:-webkit-linear-gradient(bottom, #fff4e0 1%,orange 80%); background:#fcbe11;}
.open-label::after								{content:'もっと見る';}
.on-off:checked ~ .open-label::after			{content:'閉じる';}

/*開閉エリア*/
.open											{padding:0; height:590px;/*ちらっと見える部分の高さ*/ overflow:hidden; transition:.5s; position:relative;}
.on-off:checked ~ .open							{padding:0; height:auto;}
.open::before									{content:''; background:linear-gradient(to bottom, transparent,rgba(255,255,255,1)150%); position:absolute; top:0; left:0; right:0; bottom:0; z-index: 3;}
/*開いたらぼかしを消す*/
.on-off:checked ~ .open::before					{background:none; z-index:-1;}




.navToggle										{display:none !important;;}
.modal-spitem									{display:none;}
.switch_modal									{cursor:pointer; padding:5px 0; height:50px; font-size:120%; font-weight:bold; line-height:2.6em; border-bottom:3px double #667777; position:relative; background:#3f3f3f;}
.switch_modal:after								{color:#667777; content:""; position:absolute; right:5px; top:-100%; bottom:-100%; margin:auto; font-size:16px; height:16px; transform:rotate(90deg);}
.switch_modal.openmenu:after					{content: "";}
.switch_modal span								{position:relative; right:35px; top:2px;}
.switch_modal img								{float:left; height:50px; width:50px; padding-right:10px; padding-left:10px;}

.staff_rec										{margin:auto; position:relative; border-right:1px solid #3f3f3f; padding:0 10px;}
.staff_rec img									{width:auto; height:90px; vertical-align:top;}

@media only screen and (max-width: 820px) {
.video-box										{height:100%;}
.video-box video								{display:block; position:static; top:0; left:0; width:100%; height:100%; -webkit-transform:translate(0, 0); -moz-transform:translate(0, 0); transform:translate(0, 0);}
.newhead										{height:90px;}
.newhead_menu									{display:none;}
.newhead_logo_link_sp							{display:flex; width:250px; text-align:center; margin:0; position:relative; top:27px; left:15px;}
.newhead_logo_link_sp img						{width:100%;}


h2												{width:auto; margin:3em 1.5rem;}
h3												{width:150px; font: 700 2.2rem/0 "Lato", sans-serif; top:17px;}
h4												{margin:3em 1.5rem;}
h5												{font-size:1.5rem; width:auto; margin:1.5em auto;}
.en												{font-size:1.5rem;}
.newhead										{height:90px;}
.new_wrapper_company							{margin-bottom:10px;}
.new_wrapper_company_info th					{display:flex; display:table-cell;}
.new_wrapper_company_sponsor					{flex-wrap:wrap;}
.new_wrapper_company_info td					{width:initial; display:table-cell;}
.new_wrapper_company_info a						{float:initial; display:block; line-height:2;}
.new_wrapper_company_mall						{width:auto; padding:15px 0; justify-content:center; margin:0;}
.new_wrapper_company_mall ul					{width:100%; flex-direction:column; gap:10px; padding:0 15px;}
.new_wrapper_company_mall ul li					{width:100%;}
.new_wrapper_company_mall a						{width:100%;}
.new_wrapper_company_business					{gap:0; margin:0 10px; width:auto;}
.new_wrapper_company_business p					{}
.new_wrapper_company_business .logoimg			{max-height:80px; padding:10px; width:auto;}
.new_wrapper_company_business .imgflex			{flex-wrap:wrap; justify-content:center; margin-top:0;}
.new_wrapper_company_business .logo2 p			{text-align:center;}
.new_wrapper_company_business .logoimg2			{margin-bottom:10px; width:220px; max-height:initial; top:15px;}
.new_wrapper_company_business .photoimg			{width:60%; height:auto;}
.news_maincontents								{width:auto; flex-wrap:wrap;}
.news_content									{width:auto; flex-wrap:wrap;}
.news_flex										{padding:30px 10px; border-right:none;}
.news_flex_subtitle								{margin-bottom:1.5em;}
.news_flex:first-child							{padding-right:10px; padding-left:10px; border-left:none; border-right:none;}
.news_flex_award:first-child					{padding:0; border-top:none; border-left:none; border-right:none;}
.new_award_content								{background:#fff; margin-bottom:10px;}
.new_award_table								{width:100%;}
.new_award_table td								{width:auto; letter-spacing:0; gap:15px;}
.new_award_tab									{margin:0 10px; gap:10px; padding-top:30px;}
.new_award_tab img								{width:100%;}
.new_award_table td								{display:grid; text-align:left; line-height:1.8em;}
.tab-label										{padding:20px;}
.input:checked + .tab-label + .tab-panel		{width:100%;}
.new_logogrid img								{width:150px !important;}
.new_wrapper_slidercontetns						{flex-wrap:wrap !important;}
.new_wrapper_slider img							{height:auto !important;}
.new_wrapper_slidercontetns div:first-child		{width:100% !important;}
.new_wrapper_slidercontetns div:nth-child(2)	{width:100% !important; padding:0 40px !important; height:400px !important;}
.new_wrapper_slider p							{font-size:90% !important; line-height:1.5em !important; letter-spacing:0 !important;}
.slick-prev,.center-item .slick-prev			{left:10px !important;}
.new_wrapper_company_index						{height:auto; flex-flow:column wrap;}
.new_wrapper_company_index a					{height:350px;}
.new_wrapper_company_index .bg					{width:100%; height:350px;}
.new_wrapper_company_index .bg img				{top:0; height:350px;}
.new_wrapper_company_index .bg::before			{background-color:rgba(35,24,21,.4); transition: background-color .4s cubic-bezier(0.25, 1, 0.5, 1);}
.new_wrapper_company_inner						{padding:3rem 0;}
.new_wrapper_movie								{height:350px;}
.new_wrapper_movie_inner						{padding:0;}
.new_wrapper_movie .bg							{height:100%;}
.new_wrapper_movie .bg img						{top:0; height:350px;}
.new_wrapper_movie_innertext					{width:100%; top:0;}
.new_wrapper_movie_innertext a					{width:90%; display:block; text-align:center; margin:auto; padding:15px 0; position:relative; top:-41px;}
.new_wrapper_history							{width:auto; padding:30px 10px 0;}
.new_wrapper_history_table						{width:calc(100% - 198px); line-height:2;}
.new_wrapper_history_table td					{width:auto;}
.new_wrapper_history figure						{padding:20px; flex-wrap:wrap;}
.new_wrapper_history figcaption					{width:auto; padding:0 0 10px;}
.new_wrapper_history figure img					{width:100%;}

.kanban_sp													{position:sticky; top:0; display:block; z-index:999; border-bottom: 1px solid #ccc;}
.kanban_pc 													{width:100%; margin:0; padding:10px 0; text-align:left; display:grid; grid-template-columns:repeat(2, 1fr); position:fixed; top:0; border-bottom:1px solid #ccc; -webkit-backface-visibility:hidden; backface-visibility:hidden; z-index:1000;}
.kanban_pc li												{width:100%; height:inherit; padding:0; background-image:inherit;}
.kanban_pc li a 											{filter:inherit; top:13px;}
.navToggle													{display:block !important; position:fixed; right:18px; top:18px; width:50px; height:55px; cursor:pointer; z-index:0; background:#fff; text-align:center; border-radius:3px;}
.navToggle span												{display:block; position:absolute; width:34px; border-bottom:solid 2px #3f3f3f; left:8px;}
.navToggle span:nth-child(1)								{top:10px;}
.navToggle span:nth-child(2)								{top:20px;}
.navToggle span:nth-child(3)								{top:30px;}
.navToggle span:nth-child(4)								{border:none; font-size:0.7em; top:36px; letter-spacing:0.05em; color:#f60;}
.modal-spitem												{display:block; z-index:999; position:fixed; top:0;right:0; bottom:0; left:0; padding:0; text-align:center; overflow-y:scroll;}
.modal-spitem:not(:target)									{opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s;}
.modal-spitem:target										{opacity:1; visibility:visible; transition:opacity .4s, visibility .4s;}
.modal-spitem::after										{display:inline-block; height:100%; margin-left:-.05em; vertical-align:middle; content: ""}
.modal-spitem .modal-windowitem								{box-sizing:border-box; display:inline-block; z-index:20; position:relative; width:100%; padding:0; height:90px; background:#3f3f3f; box-shadow:0 3px 3px rgba(0, 0, 0, 0.1); vertical-align:middle;}
.modal-spitem .modal-windowitem .modal-content				{margin:auto; max-height:70vh; overflow-y:auto;}
.modal-spitem .modal-overlay								{z-index:10; position:absolute; top:0; right:0; bottom:0; left:0; background:rgba(0, 0, 0, .8)}
.modal-spitem .modal-overclose								{max-height:70vh; overflow-y:auto; z-index:10; position:absolute; top:0; right:0; bottom:0; left:0;}
.modal-spitem .navigation									{display:block; padding:10px 0; margin:0; color:#3f3f3f; font-size:90%; background:#fff; border-bottom:1px solid #ccc;}
.modal-spitem .modal-home									{z-index:20; position:absolute; top:25px; left:0; width:50px; text-indent:15px; color:#fff !important; font-size:100%; line-height:0; text-align:center; text-decoration:none; text-indent:0;}
.modal-spitem .modal-home:hover								{color: #fff !important}
.modal-spitem .modal-close									{z-index:20; position:absolute; top:47px; right:18px; width:50px; color:#fff !important; font-size:50px; line-height:0; text-align:center; text-decoration:none; text-indent:0;}
.modal-spitem .modal-close:hover							{color: #fff !important}

.modal-spitem .modal-contents								{display:grid; grid-template-columns:35% 65%; justify-content:center; background:#fff; height:100%;}
.modal-spitem .modal-contents .leftnavi						{padding:0; border-right:2px solid #7f7f7f;}
.modal-spitem .modal-contents .leftnavi a 					{display:block; width:100%; height:auto; padding-top:10px; margin:0 auto; border-bottom:2px solid #f0f0f0;}
.modal-spitem .modal-contents .leftnavi a:last-child 		{margin:0 auto;}
.modal-spitem .modal-contents .leftnavi a:link				{color:#3f3f3f; text-decoration: none;}
.modal-spitem .modal-contents .leftnavi a:visited			{color:#3f3f3f; text-decoration: underline;}
.modal-spitem .modal-contents .leftnavi a:hover				{color:#3f3f3f; text-decoration: none;}
.modal-spitem .modal-contents .leftnavi a:active			{color:#3f3f3f; text-decoration: underline;}
.modal-spitem .modal-contents .leftnavi a img				{display:block; width:fit-content; max-width:120px; margin:0 auto; padding:0 5px;}
.modal-spitem .modal-contents a span						{font-size:0.9em; position:relative; top:-15px;}

.modal-spitem .modal-contents .right_title					{display:block; color:#fff; text-align:center; font-size:100%; margin:10px auto; background:#3f3f3f; width:80%; border-radius:20px; padding:3px 0;}
.switch_modal												{padding:5px 0; height:50px; text-align:left; font-size:90%; font-weight:bold; line-height:2.6em; border-bottom:1px solid #fff;}
.switch_modal:after											{content:"＋"; color:#fff; right:3px}
.switch_modal.openmenu::after								{content:"×";}
.switch_modal span											{right:5px; top:7px;line-height:2em; color:#fff;}
.switch_modal img											{float:left; height:30px; width:30px; padding:10px 10px 0;}
.rightnavi													{padding:5px 0; height:50px; text-align:left; font-size:90%; line-height:2.6em;}
.rightnavi a												{display:block; font-size:1.0em; text-align:left; padding:10px; border-bottom: 1px solid #f0f0f0; margin:0; color:#3f3f3f;}
.rightnavi a::before										{display:block; content:''; position:relative; float:right; top:17px; width:8px; height:8px; border-top:1px solid #7f7f7f; border-right:1px solid #7f7f7f; -webkit-transform:translateY(-50%) rotate(45deg); transform:translateY(-50%) rotate(45deg); -webkit-transition:-webkit-transform 0.1s ease-out 0.2s; transition: -webkit-transform 0.1s ease-out 0.2s; transition: transform 0.1s ease-out 0.2s; transition: transform 0.1s ease-out 0.2s, -webkit-transform 0.1s ease-out 0.2s;}

.accordion_modal a											{display:block; font-size:100%; text-align:left; padding:10px; border-left: 1px solid #816750; border-bottom: 1px solid #816750; margin:0 10px;}
.accordion_modal a::before									{display:block; content:''; position:relative; float:right; top:12px; width:8px; height:8px; border-top:1px solid #816750; border-right:1px solid #816750; -webkit-transform:translateY(-50%) rotate(45deg); transform:translateY(-50%) rotate(45deg); -webkit-transition:-webkit-transform 0.1s ease-out 0.2s; transition: -webkit-transform 0.1s ease-out 0.2s; transition: transform 0.1s ease-out 0.2s; transition: transform 0.1s ease-out 0.2s, -webkit-transform 0.1s ease-out 0.2s;}
.accordion_modal a:link										{color:#816750; text-decoration: none;}
.accordion_modal a:visited									{color:#816750; text-decoration: underline;}
.accordion_modal a:hover									{color:#816750; text-decoration: none;}
.accordion_modal a:active									{color:#816750; text-decoration: underline;}

.spnext li:last-child										{margin-bottom:10px;}

.staff_rec													{display:none;}
.staff_recsp												{position:initial; margin:auto; background:#fff; border-bottom:2px solid #3f3f3f; border-right:none; width:100%;}
.staff_recsp img											{width:350px; height:auto; vertical-align:top;}

}

@media only screen and (max-width: 540px) {
h3												{width:66px; font: 700 1.0rem/0 "Lato", sans-serif; top:17px;}
.pagetop										{padding:5px 5px 0; font-size:0.7em; text-align:center; border:1px solid #3f3f3f;}
.pagetop b										{font-size:1.8em;}
.new_wrapper_company_info th					{font-size:0.9em;}
.new_wrapper_company_business .logo				{width:100%;}
.new_wrapper_company_business .logoimg			{max-height:90px; padding:10px;}
.new_wrapper_company_business .logoimg2			{width:150px;}
.new_wrapper_company_business .photoimg			{width:100%;}
.new_award_tab img								{width:125px;}
.new_wrapper_history_table						{width:calc(100% - 90px); line-height:1.5;}
.new_wrapper_history_table th					{display:block;}
.new_wrapper_history_table th::after			{left:-30px;}
.new_wrapper_history_table td					{padding:15px 0 40px;}
.new_wrapper_history figcaption					{width:100%; padding:0 0 10px;}
.new_logoitem									{min-width:150px;}
.slick-next,.center-item .slick-next			{right:10px !important;}
.slick-prev::before, .slick-next::before		{font-size:20px !important;}
.footer											{margin:0 !important;}

}
/*----------------------------------------------------
	h1~h4
----------------------------------------------------*/
h1 {
	position: relative;
	text-align: center;
	font-size: 120%;
}
h1 span {
	position: relative;
	z-index: 2;
	display: inline-block;
	margin: 10px 2.5em;
	padding: 0 1em;
	background-color: #ffffff;
	text-align: left;
}

h1 span img {
	position: relative;
	top: -20px;
	width: auto;
	height: auto;
	margin: 0;
	padding-bottom: -20px;
}

h1::before {
	position: absolute;
	top: 33%;
	z-index: 1;
	content: '';
	display: block;
	width: 100%;
	height: 10px;
	background-color: #ff8800;
}

/*----------------------------------------------------
	 header
----------------------------------------------------*/
#newheader{
	z-index:999;
	width:100%;
}

.header {
	width: 100%;
	background-color: #ffffff;
	margin: 0 0 10px;
	padding: 0;
	-webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
		 -moz-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
					box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
	border-bottom: 1px solid #cccccc;
}

.header img {
	width: 500px;
	height: auto;
	margin: 0 auto;
	padding: 30px 0;
	display: block;
}

.header li {
	display: table-cell;
}
.header-block {
	text-align: center;
	width: 100%;
	background: #3F3B3A;
	padding: 10px 0 2px;
	border-bottom: 3px solid #ff8800;
	display: table;
	border-collapse: separate;	/* セルの間隔を空ける */
	border-spacing: 5px 0;
}

.header-block-middle {
	display: inline-block;
	padding: 0;
}
.header-block-under {
	text-align: center;
	display: table-cell;
	width: 50%;
	line-height: 0;
	letter-spacing: .3em;
}

a.cp_btn {
	font-size: 100%;
	display: inline-block;
	position: relative;
	width: 160px;
	border-top: 2px solid #dddddd;
	border-bottom: 2px solid #666666;
	padding: 0 10px 0 10px;
	margin: 0;
	text-align: center;
	text-decoration: none;
	color: #dedede;
	overflow: hidden;
	letter-spacing: normal;
	z-index: 1 !important;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-khtml-border-radius: 10px;
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.95, #dddddd), color-stop(0.24, #ffffff));
	background:-webkit-linear-gradient(top, #ffffff 24%, #dddddd 95%);
	background:-moz-linear-gradient(top, #ffffff 24%, #dddddd 95%);
	background:-o-linear-gradient(top, #ffffff 24%, #dddddd 95%);
	background:-ms-linear-gradient(top, #ffffff 24%, #dddddd 95%);
	background:linear-gradient(top, #ffffff 24%, #dddddd 95%);
}

a.cp_btn:after {
	content:"";
	position: absolute;
	top: 50%;
	left: 50%;
	height: 0;
	width: 100%;
	background : #ffffff;
	opacity: 0;
	transform: translateX(-50%) translateY(-50%) ;
	transition: 0.3s;
	z-index: -1;
}
a.cp_btn:hover {
	color: #3F3B3A;
}
a.cp_btn:hover:after {
	height: 250%;
	opacity: 1;
}
a.cp_btn:active:after {
	height: 350%;
	opacity: 1;
}

a.cp_btn img {
	width: 160px;
	padding: 0;
	margin: 0 auto ;
	display: block;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}

a.cp_btn p {
	position: relative;
	padding: 0;
	margin: 0 auto;
	top: -16px;
}

a.cp_btn_yoyaku {
	font-size: 100%;
	display: inline-block;
	position: relative;
	width: 500px;
	border-top: 2px solid #dddddd;
	border-bottom: 2px solid #666666;
	padding: 30px;
	margin: 10px;
	text-align: center;
	text-decoration: none;
	color: #dedede;
	overflow: hidden;
	letter-spacing: normal;
	z-index: 1 !important;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	-khtml-border-radius: 10px;
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.95, #dddddd), color-stop(0.24, #ffffff));
	background:-webkit-linear-gradient(top, #ffffff 24%, #dddddd 95%);
	background:-moz-linear-gradient(top, #ffffff 24%, #dddddd 95%);
	background:-o-linear-gradient(top, #ffffff 24%, #dddddd 95%);
	background:-ms-linear-gradient(top, #ffffff 24%, #dddddd 95%);
	background:linear-gradient(top, #ffffff 24%, #dddddd 95%);
}

a.cp_btn_yoyaku:after {
	content:"";
	position: absolute;
	top: 50%;
	left: 50%;
	height: 0;
	width: 100%;
	background : #ffffff;
	opacity: 0;
	transform: translateX(-50%) translateY(-50%) ;
	transition: 0.3s;
	z-index: -1;
}
a.cp_btn_yoyaku:hover {
	color: #3F3B3A;
}
a.cp_btn_yoyaku:hover:after {
	height: 250%;
	opacity: 1;
}
a.cp_btn_yoyaku:active:after {
	height: 350%;
	opacity: 1;
}

a.cp_btn_yoyaku img {
	width: 350px;
	padding: 0;
	margin: 0 auto ;
	display: block;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}

@media screen and (max-width: 480px) {
.header-block,.header-block-middle,.header-block-under {
	display: none;
}

.header img {
	width: 230px;
	height: auto;
	margin: 0 0 0 30px;
	padding: 30px 0;
	display: block;
}

}

/*----------------------------------------------------
	 recruit
----------------------------------------------------*/
.hori_rec					{text-align:center; width:350px; background:#fff; margin:10px auto; padding:10px 0 0; border:1px solid #3f3f3f;}
.hori_rec ul				{display:grid; font-weight:bold; font-size:210%; line-height:1.3em;}
.hori_rec ul li img			{width:100%; max-width:100px; height:auto; padding:inherit; margin:0 auto 15px;}
.hori_rec p					{display:block; background:#3f3f3f; border-radius:3px; padding:5px 10px; color:#fff; font-size:100%; width:300px; margin:10px auto;}
.hori_rec span				{display:block; border-bottom:1px solid #3f3f3f; margin:auto; padding:10px; text-align:left;}
.hori_rec_list				{margin:0 auto;}
.hori_rec_tel				{margin:0; padding:10px 0; background:#3f3f3f; color:#fff;}
/*----------------------------------------------------
	 slider
----------------------------------------------------*/
.new_wrapper_sliderbox						{padding:0; width:100%; margin:auto;}
.new_wrapper_slider							{margin:0;}
.new_wrapper_slider img						{width:100%; height:calc(90vh - -0px)}
.new_wrapper_slidercontetns					{display:flex; gap:0; justify-content:center;}
.new_wrapper_slidercontetns div:first-child	{width:75%;}
.new_wrapper_slidercontetns div:nth-child(2){width:25%; padding:0 80px; background:#3f3f3f;}
.new_wrapper_slider p						{font-size:100%; line-height:1.8em; letter-spacing:0.1em; color:#fff;}

.slick-prev::before, .slick-next::before {
	font-size: 30px;
}
.slick-next,
.center-item .slick-next {
	right: 20px;
	z-index: 99;
}
.slick-prev,
.center-item .slick-prev {
	left: 15px;
	z-index: 100;
}
.slick-prev::before,
.slick-next::before {
	color: #f80;
}
.slick-dots {
	bottom:-25px;
}

/*----------------------------------------------------
	 company
----------------------------------------------------*/
.company {
	width: 100%;
	height: auto;
	background-color: #3F3B3A;
	margin: 0 0 30px;
	padding: 30px 0;
}

.company ul {
	width:90%;
	margin: 0 auto;
	padding: 0;
	letter-spacing: -.5em;
}
.company ul li {
	padding-top: 10px;
	width: 50%;
	display: inline-block;
	color: #ffffff;
	vertical-align: top;
	letter-spacing: 0;
	margin: 0;
}
.company ul li img {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

.company ul li:nth-child(n+2) {
	padding-top: 8px;
}

.companytext {
	width: 100%;
}

.companytext td {
	padding: 10px;
	font-size: 90%;
	border-bottom: 1px solid #acacac;
	box-sizing: border-box;
}

.companytext th {
	padding: 5px;
	font-size: 100%;
	font-weight: normal;
	color: #3F3B3A;
	background-color: #acacac; 
}

.companytext .name {
	background-color: #ff8800; 
}

.map {
	margin: 0;
	padding: 0;
}

.map iframe{
	margin: 0;
	padding: 0;
	width: 100%;
	height: 300px;
}

.companymap {margin:10px 0; display:inline-block;}
.companymap:link {color: #f80; text-decoration: none;}
.companymap:visited {color: #f80; text-decoration: underline;}
.companymap:hover {color: #fff;text-decoration: none;}
.companymap:active {color: #fff;text-decoration: underline;}

.company_ohter			{width:100%; background:#3F3B3A; margin:0; padding:30px 0;}
.company_ohter ul		{width:90%; margin:0 auto; padding:0; display:flex; justify-content:center; gap:10px;}
.company_ohter ul li	{background:#fff; padding:10px;}
.company_ohter img		{width:100%; max-height:60px; vertical-align:top;}

@media screen and (max-width: 810px) {

.company {
	padding: 0;
}

.company ul {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.company ul li {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}
.company ul li:nth-child(n+2) {
	padding: 0;
	margin: -1px auto 0;
	text-align: center;
}

td:last-child {
	border-bottom: none;
}

.company ul li img {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

.companytext th,td {
	width: 100%;
	margin: auto;
	padding: 0;
	display: block;
	border: none;
	word-break: break-all;
	word-wrap: break-all;
}
.companytext th {
	padding: 3px 0; text-indent: 0.3em;
}

.companytext td {
	padding: 10px 0;
	margin: auto;
}

}
@media screen and (max-width: 480px) {
.companymap{margin:10px auto 0;}
}
/*----------------------------------------------------
	 company_footer
----------------------------------------------------*/
.company2 {
	width: 100%;
	height: auto;
	background-color: #3F3B3A;
	margin: 0;
	padding: 30px 0;
}

.company2 ul {
	width:90%;
	margin: 0 auto;
	padding: 0;
	letter-spacing: -.5em;
}
.company2 ul li {
	padding-top: 10px;
	width: 50%;
	display: inline-block;
	color: #ffffff;
	vertical-align: top;
	letter-spacing: 0;
	margin: 0;
}
.company2 ul li img {
	display:block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	max-height:518px;
}

.company2 ul li:nth-child(n+2) {
	padding-top: 8px;
}

.companytext2 {
	width: 100%;
}

.companytext2 td {
	padding: 10px;
	font-size: 90%;
	border-bottom: 1px solid #acacac;
	box-sizing: border-box;
}

.companytext2 th {
	padding: 15px 5px;
	font-size: 100%;
	font-weight: normal;
	color: #3F3B3A;
	background-color: #acacac; 
}

.companytext2 .name {
	background-color: #ff8800; 
}

.map2 {
	margin: 0;
	padding: 0;
}

.map2 iframe{
	margin: 0;
	padding: 0;
	width: 100%;
	height: 300px;
}

@media screen and (max-width: 810px) {

.company2 {
	padding: 0;
}

.company2 ul {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.company2 ul li {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}
.company2 ul li:nth-child(n+2) {
	padding: 0;
	margin: -1px auto 0;
	text-align: center;
}

td:last-child {
	border-bottom: none;
}

.company2 ul li img {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

.companytext2 th,td {
	width: 100%;
	margin: auto;
	padding: 0;
	display: block;
	border: none;
	word-break: break-all;
	word-wrap: break-all;
}
.companytext2 th {
	padding: 3px 0; text-indent: 0.3em;
}

.companytext2 td {
	padding: 10px 0;
}

}
/*----------------------------------------------------
	 policy
----------------------------------------------------*/
.policy {
	width: 100%;
	height: auto;
	background-color: #3F3B3A;
	margin: 0;
	padding: 0;
}

.policy ul {
	width:1000px;
	margin: 0 auto;
	padding: 0;
	letter-spacing: -.5em;
}
.policy ul li {
	padding: 0;
	width: 100%;
	display: inline-block;
	color: #ffffff;
	vertical-align: top;
	letter-spacing: 0;
	margin: 0;
}
.policy ul li p {
	display:block;
	width: 100%;
	height: auto;
	margin: 50px auto 10px;
	padding: 30px 0;
	background:#f80;
	color:#fff;
	font-weight:bold;
	text-align:center
}

.policy ul li:nth-child(n+2) {
	padding-top: 8px;
}

.policy {
	width: 100%;
}

.policy td {
	padding: 10px;
	font-size: 90%;
	border-bottom: 1px solid #acacac;
	box-sizing: border-box;
}

.policy th {
	padding: 22.3px 5px;
	font-size: 100%;
	font-weight: normal;
	color: #3F3B3A;
	background-color: #acacac; 
}

.policy .name {
	background-color: #ff8800; 
}

.policy a:link {color:#f80; text-decoration: none;}
.policy a:visited {color:#f80; text-decoration: underline;}
.policy a:hover {color:#f80; text-decoration: none;}
.policy a:active {color:#f80; text-decoration: underline;}

@media screen and (max-width: 810px) {

.policy {
	padding: 0;
}

.policy ul {
	width: 90%;
	margin: 0 auto;
	padding: 0;
}

.policy ul li {
	display: block;
	width: 90%;
	margin: 0 auto;
	padding: 0;
}
.policy ul li:nth-child(n+2) {
	padding: 0;
	margin: -1px auto 0;
	text-align: center;
}

td:last-child {
	border-bottom: none;
}

.policy ul li img {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

.policy th,td {
	width: 100%;
	margin: auto;
	padding: 0;
	display: block;
	border: none;
	word-break: break-all;
	word-wrap: break-all;
}
.policy th {
	padding: 3px 0; text-indent: 0.3em;
}

.policy td {
	padding: 10px 0;
}

.policy ul li p {
	margin: 0 auto 10px;
	padding: 30px 0;
	background:#f80;
	color:#fff;
	font-weight:bold;
	text-align:center
}

}
/*----------------------------------------------------
	 transaction
----------------------------------------------------*/
.transaction {
	width: 100%;
	height: auto;
	background-color: #3F3B3A;
	margin: 0;
	padding: 30px 0;
}

.transaction ul {
	width:1000px;
	margin: 0 auto;
	padding: 0;
	letter-spacing: -.5em;
}
.transaction ul li {
	padding-top: 10px;
	width: 100%;
	display: inline-block;
	color: #ffffff;
	vertical-align: top;
	letter-spacing: 0;
	margin: 0;
}
.transaction ul li img {
	display:block;
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
}

.transaction ul li:nth-child(n+2) {
	padding-top: 8px;
}

.transactiontext {
	width: 100%;
}

.transactiontext td {
	padding: 10px;
	font-size: 90%;
	border-bottom: 1px solid #acacac;
	box-sizing: border-box;
}

.transactiontext th {
	padding: 22.3px 5px;
	font-size: 100%;
	font-weight: normal;
	color: #3F3B3A;
	background-color: #fff;
	text-align: center;
}

.transaction_postage {
	width:100%;
	border-top:1px dashed #fff;
	margin:-1px 0 0;
	padding:10px;
	display:table;
	border-collapse:collapse;
}

.transaction_postage div {
	border:1px solid #fff;
	padding:10px;
	display:table-cell;
}

.transaction_postage div:first-child {
	background:#fff;
	width:20%;
	color: #494949;
	border: 1px solid #494949;
	vertical-align:middle;
	text-align:center;
}
.transaction_postage div:nth-child(2) {
	background:#fff;
	width:50%;
	color: #494949;
	border: 1px solid #494949;
}
.transaction_postage div:nth-child(3) {
	width:30%;
	vertical-align:middle;
}

.transaction_postage_text b {
	padding:5px;
	display:inline-block;
	background:#fff;
	border-radius:30px;
	color:#494949;
	margin:10px 10px 0 0;
	width:100px;
	text-align:center;
}

@media screen and (max-width: 810px) {

.transaction {
	padding: 0;
}

.transaction ul {
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.transaction ul li {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
}
.transaction ul li:nth-child(n+2) {
	padding: 0;
	margin: -1px auto 0;
	text-align: center;
}

td:last-child {
	border-bottom: none;
}

.transaction ul{
	padding-top: 15px;
}

.transaction ul li img {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

.transactiontext th,td {
	width: 100%;
	margin: auto;
	padding: 0;
	display: block;
	border: none;
	word-break: break-all;
	word-wrap: break-all;
}
.transactiontext th {
	padding: 10px; text-indent: initial;
	text-align: initial;
}

.transactiontext td {
	padding: 10px 0;
}

}
/*----------------------------------------------------
	 award
----------------------------------------------------*/
.award {
	width: 100%;
	height: auto;
	background-color: #fff;
	margin: 0 auto 30px;
	padding: 30px 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 30px 30px;
	max-width: 80%;
}

.award ul {
	width:100%;
	max-width:1000px;
	margin: 0 auto;
	padding: 0;
	display:grid;grid-template-columns:repeat(2, 1fr); grid-gap:10px 10px; justify-content:center;
}
.award ul li {
	padding-top: 10px;
	width: 100%;
	margin: 0;
}
.award ul li p {
	margin: 0 0 10px;
	padding: 10px;
	color:#fff;
	display:block;
	background:#3f3f3f;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-khtml-border-radius: 5px;
}
.award ul li a{
	font-size:120%;
	text-indent:10px;
}
.award ul li img {
	width: 100%;
	max-width:400px;
	height: auto;
	margin: 0;
	padding: 0;
}


@media screen and (max-width: 912px) {

.award {
	padding: 0;
	grid-template-columns: repeat(1, 1fr);
	max-width: 100%;
}
.award ul {
	width: 80%;
	margin: 0 auto;
	padding: 0;
	display:grid;grid-template-columns: repeat(1, 1fr);grid-gap:10px 10px;grid-auto-rows: minmax(auto);justify-content:center;
}

.award ul li img {
	width: 100%;
	height: auto;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}

.award ul li p {
	border-radius: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	-khtml-border-radius: 0;
}
.award ul li a{
	font-size:120%;
	margin:0;
}

}

/*----------------------------------------------------
	 maker list
----------------------------------------------------*/
.makeritem-title {
	width: 100%;
	height: 400px;
	margin: 0;
	padding: 0;
	background-image: url("../img/photo01.jpg");
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-size: cover;
	background-position: 50% 50%;
	border-bottom: 1px solid #e6e6e6;
	box-sizing: border-box;
}

.makeritem-title-sp {
	display: none;
}

.makeritem-title div {
	margin: 0;
	background-color: #3F3B3A;
	opacity: 0.8;
	position: relative;
	top: 20px;
	left: 40px;
	width: 400px;
	height: 150px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-khtml-border-radius: 5px;
}

.makeritem-title div p {
	margin: 20px;
	font-size: 16px;
	line-height: 1.4em;
	color: #ffffff;
	position: relative;
	top: 20px;
}
.makeritem-title div p:first-letter{
	font-size: 3em;
	line-height: 0.8em;
	float: left;
	margin: 0 0 0 0;
	padding: 0 .1em 0 0;
	color: #ff8800;
}

.makeritem-position {
	width: 80%;
	margin: 0 auto 30px;
	padding: 10px;
	box-sizing: border-box;
	background: #ffffff;
}
.makeritem-grid {
	display: grid;
	align-items: center;
	justify-content: center;
	grid-template-columns: repeat(auto-fit, minmax(210px, 210px));
	gap:10px 20px;
}
.makeritem-grid div {
	background: #ffffff;
	margin: 10px 0;
}
.makeritem-grid div img {
	width: 200px;
	height: auto;
}

@media screen and (max-width:960px) { 

.makeritem-title {
	width: 100%;
	height: 300px;
	margin: 0;
	padding: 0;
	background-image: url("../img/photo01.jpg");
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-size: cover;
	background-position: 50% 50%;
	border-top: 1px solid #e6e6e6;
	border-bottom: none;
	box-sizing: border-box;
}

.makeritem-title div {
	display: none;
}

.makeritem-title-sp {
	display: block;
	background-color: #3F3B3A;
	padding: 15px;
	margin-bottom: 30px;
}

.makeritem-title-splast {
	display: block;
	background-color: #3F3B3A;
	padding: 15px;
	margin-bottom: -30px;
	border-bottom: 5px solid #cacaca;
}

.makeritem-title-sp p {
	font-size: 16px;
	line-height: 1.4em;
	color: #ffffff;
}

.makeritem-title-splast p {
	font-size: 16px;
	line-height: 1.4em;
	color: #ffffff;
}

.makeritem-grid {
	display: grid;
	align-items: center;
	justify-content: center;
	grid-template-columns: repeat(auto-fit, minmax(150px, 150px));
}

.makeritem-grid div {
	background: #ffffff;
	margin: 10px 0;
}

.makeritem-grid div img {
	width: 150px;
	height: auto;
}
}

/*----------------------------------------------------
	 tire1ban
----------------------------------------------------*/
.shop-title {
	width: 100%;
	height: 500px;
	margin: 0;
	padding: 0;
	border-top: 3px solid #3F3B3A;
	background-image: url("../img/photo10.jpg");
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-size: cover;
	background-position: 50% 50%;
}

.shop-title-sp {
	display: none;
}

.shop-title div {
	margin: 0;
	position: relative;
	top: 20px;
	left: 40px;
	width: 400px;
	height: auto;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-khtml-border-radius: 5px;
}

.shop-title div p {
	padding: 20px;
	margin: 20px;
	background-color: #3F3B3A;
	opacity: 0.8;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-khtml-border-radius: 5px;
	font-size: 16px;
	line-height: 1.4em;
	color: #ffffff;
	position: relative;
	top: 20px;
}
.shop-title div p:first-letter{
	font-size: 3em;
	line-height: 0.8em;
	float: left;
	margin: 0 0 0 0;
	padding: 0 .1em 0 0;
	color: #ff8800;
}

.shop-position {
	width: 70%;
	margin: 0 auto;
	padding: 10px;
	box-sizing: border-box;
	background: #ffffff;
}
.shop-grid {
	display: grid;
	align-items: center;
	justify-content: center;
	grid-template-columns: repeat(auto-fit, minmax(210px, 210px));
}
.shop-grid div {
	background: #ffffff;
	margin: 10px 0;
}
.shop-grid div img {
	width: 200px;
	height: auto;
}

.award-title {
	width: 100%;
	height: 500px;
	margin: 0;
	padding: 0;
	border-top: 3px solid #3F3B3A;
	background-image: url("../img/photo11.jpg");
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-size: cover;
	background-position: 50% 50%;
}

.award-title-sp {
	display: none;
}

.award-title div {
	margin: 0;
	position: relative;
	top: 20px;
	left: 40px;
	width: 400px;
	height: auto;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}

.award-title div p {
	padding: 20px;
	margin: 20px;
	background-color: #3F3B3A;
	opacity: 0.8;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-khtml-border-radius: 5px;
	font-size: 16px;
	line-height: 1.4em;
	color: #ffffff;
	position: relative;
	top: 20px;
}
.award-title div p:first-letter{
	font-size: 3em;
	line-height: 0.8em;
	float: left;
	margin: 0 0 0 0;
	padding: 0 .1em 0 0;
	color: #ff8800;
}

.logowrapper		{width:1200px; margin:auto;}
.logogrid			{display:flex; flex-wrap:wrap; background-color:#fff; position:relative; justify-content:center; align-items:center; overflow:hidden; width:calc(100% - 1px); margin-left:-1px; margin-top:-1px;box-sizing: border-box; outline:0;}
.logogrid a			{display:flex; align-items:center; justify-content:center; height:200px; width:100%;}
.logogrid a:hover	{outline:2px solid #f0f0f0; outline-offset:-2px;}
.logogrid img		{width:200px;}
.logoitem			{flex:1 1 calc(100% / 5); min-width:180px; position:relative; padding:15px; margin-left:-1px; margin-top:-1px;}
.logoitem::before	{display:inline-block; content:""; width:1px; height:calc(100% - 20px); background-color:#f0f0f0; position:absolute; left:0; top:0; bottom:0; margin:auto;}
.logoitem::after	{display:inline-block; content:""; width:calc(100% - 20px); height:1px; background-color:#f0f0f0; position:absolute; right:0; left:0; top:0; margin:auto;}
.logoitem span		{position:relative; text-align:center; display:inherit; font-size:120%; height:40px;}
.logoitem p			{position:absolute;  display:block ruby; bottom:-10%; display:block ruby; left:50%; transform:translateX(-50%); color:#3f3f3f; width:250px; font-size:0.8em;}
.logofirst			{order:-1; flex: 1 0 100%;}
.logofirst img		{width:350px;}

@media screen and (max-width:820px) { 
.logowrapper		{width:100%; margin:auto;}
.logogrid img		{max-width:160px;}
.logofirst			{width:350px;}
.logoitem			{flex:content;}

}
@media screen and (max-width:480px) { 
.logoitem			{flex:auto;}
.shop-title {
	width: 100%;
	height: 300px;
	margin: 0;
	padding: 0;
	background-image: url("../img/photo10.jpg");
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-size: cover;
	background-position: 50% 50%;
	border-top: 3px solid #3F3B3A;
	border-bottom: none;
	box-sizing: border-box;
}

.shop-title div {
	display: none;
}

.shop-title-sp {
	display: block;
	background-color: #3F3B3A;
	padding: 15px;
	margin: 0;
}

.shop-title-sp p {
	font-size: 16px;
	line-height: 1.4em;
	color: #ffffff;
}

.shop-grid {
	display: grid;
	align-items: center;
	justify-content: center;
	grid-template-columns: repeat(auto-fit, minmax(110px, 110px));
}

.shop-grid div {
	background: #ffffff;
	margin: 10px 0;
}

.shop-grid div img {
	width: 100px;
	height: auto;
}

.award-title {
	width: 100%;
	height: 300px;
	margin: 0;
	padding: 0;
	background-image: url("../img/photo11.jpg");
	background-repeat: no-repeat;
	background-attachment: scroll;
	background-size: cover;
	background-position: 50% 50%;
	border-top: 3px solid #3F3B3A;
	border-bottom: none;
	box-sizing: border-box;
}

.award-title div {
	display: none;
}

.award-title-sp {
	display: block;
	background-color: #3F3B3A;
	padding: 15px;
	margin: 0;
}

.award-title-sp p {
	font-size: 16px;
	line-height: 1.4em;
	color: #ffffff;
}

}

/*----------------------------------------------------
	 maker list
----------------------------------------------------*/
.makeritem-list-block {
	padding: 0;
	text-align: center;
	width: 100%;
}
.makeritem-list-block-middle {
	display: inline-block;
	padding: 0;
}
.makeritem-list-block-under {
	text-align: center;
	display: table-cell;
	width: 50%;
	color: #ffffff;
}

.makeritem-list-block-under div {
	float: left;
	margin: 0 auto;
	padding: 0 10px 10px 0;
}

/*----------------------------------------------------
	 information
----------------------------------------------------*/
.information {
	background-color: #cacaca;
	border-top: 1px solid #3F3B3A;
	width: 100%;
	margin: 0 0 -30px;
	padding: 0;
}

.information ul {
	font-size: 90%;
	width: 80%;
	padding-bottom: 10px;
	margin: 0 auto 30px;
	border-bottom: 1px solid #acacac;
}

.information ul:last-child {
	border-bottom: none;
}

.information ul li {
	text-align: left;
	display: inline-block;
	margin-bottom: 20px;
}

.information ul li time {
	font-weight: bold;
	color: #3F3B3A;
	margin-right: 5px;
}

.category {
	font-size: 70%;
	color: #ffffff;
	width: 30%;
	min-width: 105px;
	margin-right: 5px;
	white-space: nowrap;
	text-align: center;
}

.label {
	font-weight: bold;
	position: relative;
	bottom: 2px;
	padding: 5px 10px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	-khtml-border-radius: 5px;
}

.red { background-color: #ff0000; }
.orange { background-color: #ff8800; }

@media screen and (max-width:480px) {

.information ul {
	font-size: 90%;
	width: 80%;
	padding-bottom: 10px;
	margin: 0 auto 20px;
	border-bottom: 1px solid #acacac;
}

.information ul:last-child {
	margin: 0 auto 30px;
}

.information ul li {
	text-align: left;
	display: inline-block;
	margin-bottom: 5px;
}

}

/*----------------------------------------------------
	 footer
----------------------------------------------------*/
.footer {width:100%; background-color:#3f3f3f; margin:0; padding:0;}

.footer_corporate		{width:800px; margin:auto; padding-top:30px; text-align:center; display:grid; align-items:center; justify-content:center; grid-template-columns:repeat(4, 1fr); grid-gap:10px;}
.footer_corporate a		{display:inline-block; font-size:100%;}

.footer_corporate a:link {color: #fff;}
.footer_corporate a:visited {color: #fff;}
.footer_corporate a:hover {color: #fff;}
.footer_corporate a:active {color: #fff;}

.footer img {
	width: 300px;
	height: auto;
	margin: 0 auto;
	padding: 30px 0 20px;
	display: block;
}

.footer-block {
	padding: 0;
	text-align: center;
	width: 100%;
}
.footer-block-middle {
	display: inline-block;
	padding: 0;
}
.footer-block-under {
	text-align: center;
	display: table-cell;
	width: 50%;
	color: #ffffff;
}

.footer .copy {
	width:100%;
	font-size:0.8em;
	color:#fff;
	background-color:#3f3f3f;
	margin:0 auto;
	padding:30px 0;
	text-align:center;
}

.footer-block_after {
	text-align: center;
	width: 100%;
	background: #3F3B3A;
	padding: 30px 0;
	border-bottom: 3px solid #ff8800;
	display: table;
	border-collapse: separate;	/* セルの間隔を空ける */
	border-spacing: 5px 0;
}

.footer-block-middle {
	display: inline-block;
	padding: 0;
}

.footer-block-under {
	text-align: center;
	display: table-cell;
	width: 50%;
	line-height: 0;
	letter-spacing: .3em;
}

@media screen and (max-width:810px) {
.footer_corporate		{width:90%;}
.makeritem-position {
	width: 100%;
}
}

@media screen and (max-width:480px) {
.footer-block_after		{display:none;}
.footer_corporate		{width:80%; grid-template-columns:repeat(1, 1fr);}
}

/*----------------------------------------------------
	 iframe
----------------------------------------------------*/
.cmposition-wrap { width:100%; background: #3F3B3A; border-top:3px solid #3F3B3A; }
.cmposition-wrap-width { max-width: 670px; margin: 0 auto; }

.cmposition {
	position: relative;
	padding-bottom: 56.25%; /*アスペクト比 16:9の場合の縦幅*/
	overflow: hidden;
	background-color: #3F3B3A;
	height: 0;
}

.cmposition iframe {
	margin: 0;
	padding: 0;
	overflow: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	width: 100%;
	height: 100%;
}

@media screen and (max-width:480px) {
.cmposition iframe {
	position: absolute;
	top: 0;
	left: 0;
	transform: translateY(0%) translateX(0%);
	-webkit- transform: translateY(0%) translateX(0%);
	width: 100%;
	height: 100%;
}

}

/*----------------------------------------------------
	 icon

a[href$=".pdf"] {	 
	background: url(../img/pdf.gif) no-repeat 100% 45%;
}
* html a.pdf{	 
	background: url(../img/pdf.gif) no-repeat 100% 45%;
}
----------------------------------------------------*/

.pdf_link {display:inline-block; padding:10px; border:1px solid #3f3f3f; background:#fff;}

/*----------------------------------------------------
	 spmenu
----------------------------------------------------*/
.sp-menu {
	display: inline;
}

nav.globalMenuSp {
	position: fixed;
	z-index: 999;
	top: 0;
	left: 0;
	background: #ffffff;
	color: #000000;
	text-align: center;
	transform: translateY(-100%);
	transition: all 0.6s;
	width: 100%;
}

nav.globalMenuSp ul {
	background: #ffffff;
	margin: 0 auto;
	padding: 0;
	width: 100%;
}

nav.globalMenuSp ul li {
	font-size: 1.1em;
	display: block;
	padding: 0;
	width: 100%;
	border-bottom: 1px dotted #3F3B3A;
}

nav.globalMenuSp ul li:last-child {
	padding-bottom: 0;
	border-bottom: none;
}

nav.globalMenuSp ul li a {
	display: block;
	color: #3F3B3A;
	padding: 1em 0;
}

@media screen and (max-width:480px) { 
.sp-menu {
	display: inline;
}

}

