/*
Theme Name: LUMAS Original Theme
Author: tune16
Version: 1.0
*/

/* ==========================
   Base Reset
========================== */
*,
*::before,
*::after {
  box-sizing: border-box;
}
html, body {
	margin: 0;
	padding: 0;
}

body {
	background: rgb(255 255 255 / 1);
	line-height: 1.65;
	font-family: "Noto Sans JP", sans-serif;
	font-size: .95em;
	font-weight: 300;
	color: rgb(77 77 77 / 1);
	letter-spacing: .05em;
	text-align: left;
/*font-family: "Roboto", sans-serif;*/
}
body.menu-open {
  overflow: hidden;
  height: 100vh;
}
@media (max-width:900px) {
body {
	font-size: .85em;
}	
}
/*body home*/
body.home{
	background: rgb(248 245 238 / 1);
	text-align: center;
}

.pc{
display: block;
}
.sp{
display: none;
}
@media (max-width:900px) {
.pc{
display: none;
}
.sp{
display: block;
}
}

/* ==========================
   Typography Reset
========================== */
h1, h2, h3, h4, h5, h6{
	font-weight: 400;
}
h1, h2, h3, h4, h5, h6,
p, figure, blockquote {
	margin: 0;
}

ul, ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

dl, dd {
	margin: 0;
}

a {
	color: inherit;
	text-decoration: none;
	-webkit-transition:All 1s ease;
	-moz-transition:All 1s ease;
	-o-transition:All 1s ease;
	-ms-transition:All 1s ease;
	transition:All 1s ease;
}

/* ==========================
   Media
========================== */

img, video, svg {
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

/* ==========================
   Form
========================== */
button,
input,
select,
textarea {
	margin: 0;
	font: inherit;
	color: inherit;
	background: none;
	border: none;
	outline: none;
}

/* ==========================
   Table
========================== */
table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* ==========================
   WordPress Block Reset
========================== */

.wp-block {
	margin: 0;
}

.wp-block-group__inner-container {
	padding: 0;
}


/* 個別ページマスター */
main.main-content{
	width: 80%;
	min-height: 777px;
	margin: 80px 10% 64px;
}
@media (max-width:900px) {
main.main-content{
	width: 95%;
	min-height: 777px;
	margin: 48px 2.5% 48px;
}
}
body.home main.main-content{
	width: 100%;
	margin: 0;
}

main.main-content{
	color: rgb(100 100 100 / 1);
}

header.subpage_header{
	width: 100%;
	background: linear-gradient(90deg,rgb(124 113 171 / 1) 0%, rgb(113 132 186 / 1) 100%);
	padding: 32px 10% 12px;
	border-bottom: 2px solid rgb(108 63 92 / .05);
}

header.subpage_header h1.page_title{
	margin-bottom:0;
	font-size: 1.45em;
	font-weight: 400;
	text-align: right;
	color: rgb(255 255 255 / 1);
	letter-spacing: .2em;
}

header.subpage_header h1.page_title span{
	display: inline-block;
	margin-left: 16px;
	position: relative;
	top: -4px;
	font-size: .5em;
	letter-spacing: .55em;
}
header.subpage_header h2 img{
	width: 250px;
	height: auto;
	margin-bottom: 16px;
}

@media (max-width:900px) {
header.subpage_header{
	padding: 24px 5% 24px;
}
header.subpage_header h1.page_title{
	font-size: 1.15em;
	text-align: left;
	letter-spacing: .1em;
}
/*固定ページタイトル文字拡大*/	
header.subpage_header.subpage_page_header h1.page_title{
	padding-left: .5em;
	font-size: 1.45em;
}

header.subpage_header h1.page_title span{
	display: block;
	margin-left: 4px;
	position: relative;
	top: 0;
	letter-spacing: .55em;
}
header.subpage_header h2 img{
	width: 200px;
	margin-bottom: 16px;
}	
}

main.main-content h2{
	margin-bottom: 16px;
	font-size: 1.45em;
}
main.main-content h3{
	/*width: fit-content; これを追加 */
	margin:0 auto 24px;
	padding:4px 24px;
	border-bottom: 2px solid rgb(108 63 92 / .2);
	font-size: 1.25em;
	font-weight: 400;
	text-align: center;
}
main.main-content h4{
	margin-bottom: 16px;
	font-size: 1.15em;
	align-items: center; /* 横線を上下中央 */
	display: flex; /* 文字と横線を横並び */
}
main.main-content h4::after {
	border-radius: 0; /* 横線の両端を丸く */
	content: "";
	height: 8px; /* 横線の高さ */
	width: 100px; /* 横線の長さ */
background: linear-gradient(to right, rgb(108 63 92 / .15) 0%, rgb(34 26 49 / 0) 100%);
	background-size:100px auto; 
	margin-left: 8px; /* 文字との余白 */
	margin-top: 0;
}

main.main-content h5{
	margin-bottom: 16px;
	font-size: 1.05em;
}
main.main-content h6{
	margin-bottom: 16px;
	font-size: 1.35em;
}
main.main-content > div{
	margin-bottom: 48px;
}

main.main-content .textbox > div{
	padding: 24px 1em 0;
	grid-column-gap: 8px;
	background: rgb(100 100 100 / .05);
	border-radius: 16px;
	font-size: 1.15em;
	text-align: center;
}

/*リンクボタン*/
main.main-content p.btn_link a{
	display: inline-block;
	padding: 4px 12px;
	background: rgb(108 63 92 / 1);
	border-radius: 16px;
	font-size: 1.05em;
	font-weight: 500;
	color: white;
	letter-spacing: .05em;
	text-align: center;
}
main.main-content p.btn_link a:hover{
	background: rgb(34 26 49 / 1)
}


div.wp-block-button{
}
main.main-content a.wp-block-button__link{
	display: block;
	width: 100%;
	height: 75px;
	margin: 0;
	padding: 4px 12px;
	background: rgb(100 100 100 / .5);
	border-radius: 16px;
	font-size: .8em;
	font-weight: 500;
	color: white;
	letter-spacing: .05em;
	text-align: center;
}
main.main-content a.wp-block-button__link:hover{
	background: rgb(100 100 100 / .8);
}

main.main-content p{
	margin-bottom: 32px;
	font-size:.9em;
	line-height: 1.85em;
}

main.main-content img{
	border-radius: 12px;
}

main.main-content table tr td:first-child{
	width: 200px;
	border-top: 1px solid rgb(0 0 0 / .05);
	border-left: none;
	border-bottom: 1px solid rgb(0 0 0 / .05);
	border-right: 1px solid rgb(0 0 0 / .05);
}
main.main-content table tr td:last-child{
	border-top: 1px solid rgb(0 0 0 / .05);
	border-left: none;
	border-bottom: 1px solid rgb(0 0 0 / .05);
	border-right: none;
}
main.main-content table tr:nth-child(odd){
	background:rgb(0 0 0 / .025) ;
}

main.main-content table th,
main.main-content table td{
	padding: 24px;
}
@media (max-width:900px) {
main.main-content table{
	width: 100%;
	margin: 0 auto;
}	
main.main-content table th,
main.main-content table td{
	display: block;
	width: 90%;
	margin: 0 auto;
	padding: 12px;
}
main.main-content table tr td:first-child{
	width: 90%;
}	
main.main-content table tr td:first-child{
	width: 90%;
	border-left: none;
	border-right: none;
}
main.main-content table tr:nth-child(odd){
	background:rgb(0 0 0 / .0) ;
}
main.main-content table tr td:nth-child(odd){
	background:rgb(0 0 0 / .025) ;
}		
}

/* ==========================
   投稿記事ページ
========================== */
main.main-content.news-single article{
	display: grid;
	grid-template-columns: 100px auto;
}
@media (max-width:900px) {
main.main-content.news-single article{
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 120px auto;
}
}
nav.news-single-nav{
	margin: 48px auto 0;
	display:grid;
	place-items:center;
}

nav.news-single-nav > div{
	margin: 0 auto;
	display: grid;
	grid-template-columns: 150px 150px;
	gap:2px;
}

.news-prev a,.news-next a{
	display: block;
	width: 150px;
	height: 100%;
	padding: 16px;
	background: rgb(100 100 100 / .1);
	font-size: .85em;
	font-weight: 400;
	color: rgb(100 100 100 / .8);
	text-align: center;
}
.news-prev a:hover,.news-next a:hover{
	background: rgb(100 100 100 / .45);
	color: rgb(255 255 255 / .8);
}
.news-prev a{
	border-radius: 32px 0 0 32px;
}
.news-next a{
	border-radius: 0 32px 32px 0;
}


/* ==========================
   MENU
========================== */
/*global menu*/
.site-header{
	position: fixed;
	right: 0px;
 	z-index: 555;
	display: grid;
	place-items:center;
	grid-template-columns: 255px 50px;
}
p.btn_contact a{
	display: inline-block;
	width: 200px;
	background: rgb(255 255 255 / 0);
	margin: 8px auto 0;
	padding: 4px;
	border: 1px solid rgb(255 255 255 / .5);
	border-radius: 24px;
	color: white;
	font-family: "Roboto", sans-serif;
	font-size: 1.05em;
	font-weight: 500;
	letter-spacing: .15em;
}
p.btn_contact a:hover{
	background: rgb(255 255 255 / .5);
	border: 1px solid rgb(255 255 255 / .5);
}
p.btn_contact a span{
	display: inline-block;
	padding-left: 32px;
	background: url(https://lumas.co.jp/wp-content/uploads/2026/01/icon_paperplane.png) no-repeat left 50%;
	background-size: 22px auto;
}
@media (max-width:900px) {
.site-header p.btn_contact.btn_contact_fixed a{
	display: none;
}
}

/*----------------------------------------
ハンバーガーメニューボタン
----------------------------------------*/
.hamburger{
 display: block;
 position: fixed;
 z-index: 8888;
 right: 0;
 top: 0;
 width: 50px;
 height: 50px;
 background: rgb(255 255 255 / 1);
 cursor: pointer;
 text-align: center;
	
-webkit-transition:All 1s ease;
-moz-transition:All 1s ease;
-o-transition:All 1s ease;
-ms-transition:All 1s ease;
transition:All 1s ease;	
}

.hamburger:hover{
	background: rgb(200 200 200 / 1);
}

.hamburger span {
 display: block;
 position: absolute;
 width: 30px;
 height: 2px;
 left: 10px;
 background: rgb(100 100 100 / .5);
 transition: 0.3s ease-in-out;
}

.hamburger span:nth-child(1) {
 top: 12px;
}

.hamburger span:nth-child(2) {
 top: 19px;
}

.hamburger span:nth-child(3) {
 top: 26px;
}

.hamburger span:nth-child(4) {
 top: 33px;
}

.hamburger span:nth-child(4) {
 width: 40px;
 height: 1.35em;
 background: none !important;
 left: 5px;
 font-family: 'Roboto', sans-serif;
 font-size: 0.7em;
 font-weight: 700;
 color: rgb(108 63 92 / .7);
 letter-spacing: 0.2em;
}
/* スマホメニューを開いてる時のボタン */
.hamburger.active span:nth-child(1) {
 top: 19px;
 left: 10px;
 background: rgb(108 63 92 / .5);
 transform: rotate(-45deg);
}
.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
 top: 19px;
 background: rgb(108 63 92 / .5);
 transform: rotate(45deg);
}
body.home .hamburger.active span:nth-child(1),
body.home .hamburger.active span:nth-child(2),
body.home .hamburger.active span:nth-child(3),
body.home .hamburger.active span:nth-child(4){
 background: rgb(108 63 92 / .5);
}

/* メニュー背景 */
nav.globalMenuSp{
position: fixed;
z-index: 7777;
top: 0;
left: 0;
color: rgb(255 255 255 / 1);
background: rgb(108 63 92 / 1) url(https://lumas.co.jp/wp-content/uploads/2026/01/logo_large_20-scaled.png) no-repeat center 97%;
background-size: 500px auto;
text-align: center;

width: 100%;
min-height: 100vh;	
height: auto;             /* ← ここが重要 */
max-height: 100dvh;       /* iOS / Android 両対応 */
overflow-y: auto;         /* ← メニュー側がスクロールする */
-webkit-overflow-scrolling: touch;	
	
transform: translateY(-100%);
transition: all 0.6s;
}

@media (max-width:900px) {
nav.globalMenuSp{
background: rgb(108 63 92 / 1) url(https://lumas.co.jp/wp-content/uploads/2026/01/logo_large_20-scaled.png) no-repeat center 95%;
background-size: 250px auto;
height: 100vh;/* ← 重要（min-height ではダメ） */
}
}

nav.globalMenuSp.active {
 transform: translateY(0);
}

div.main_menu{
margin:100px auto 32px;
width:80%;
}
div.products_menu{
margin:0 auto 64px;
width:80%;
}

nav.globalMenuSp.active p.btn_contact{
	margin: 0 auto 180px; /* 上下に余白を持たせて下まで行けるように */
}

nav.globalMenuSp h3{
margin-bottom: 16px;
font-size: 1.15em;
text-align: left;
letter-spacing: .2em;
}
nav.globalMenuSp div.main_menu ul{
 margin:0 auto 0;
 padding:0;
 display:grid;
 grid-template-columns:1fr 1fr 1fr 1fr;
 gap:0;
}
nav.globalMenuSp div.products_menu ul{
 margin:0 auto 0;
 padding:0;
 display:grid;
 grid-template-columns:repeat(4, 1fr);
 gap:0;
}

@media (max-width:1100px) {
div.main_menu{
margin:24px auto 16px;
width:90%;
}
div.products_menu{
margin:0 auto 24px;
padding:0;
width:90%;
}		
}
@media (max-width:900px) {
div.main_menu{
margin:24px auto 16px;
width:100%;
}
div.products_menu{
margin:0 auto 24px;
padding:0;
width:100%;
}	
nav.globalMenuSp h3{
margin-bottom: 8px;
padding-left: 1em;
font-size: 1em;
}	
nav.globalMenuSp div.main_menu ul{
 grid-template-columns:1fr;
}
nav.globalMenuSp div.products_menu ul{
 grid-template-columns:1fr 1fr;
}	
}

nav.globalMenuSp ul li {
transition: 0.4s all;
list-style-type: none;
font-size: 1em;
line-height: 1.55em;
letter-spacing: 0.05em;
display: flex;    
}

nav.globalMenuSp ul li a{
padding: 13px;
justify-content: center;     /* 横中央 */
align-items: center;         /* 縦中央 */
text-align: center;
width: 100%;
height: 100%;
box-sizing: border-box;
}
nav.globalMenuSp div.main_menu ul li a {
background: rgb(49 29 49 / 1);
border: 1px solid rgb(255 255 255 / .25);
color: rgb(255 255 255 / 1);
}
nav.globalMenuSp div.main_menu ul li a:hover,
nav.globalMenuSp div.main_menu ul li.current-menu-item a {
background: rgb(255 255 255 / 1);
color: rgb(49 29 49 / 1);
}

nav.globalMenuSp div.products_menu ul li a {
display: block;
background: rgb(108 63 92 / 1);
border: 1px solid rgb(255 255 255 / .25);
color: rgb(255 255 255 / 1);
}
nav.globalMenuSp div.products_menu ul li a:hover,
nav.globalMenuSp div.products_menu ul li.current-menu-item a{
background: rgb(255 255 255 / 1);
color: rgb(49 29 49 / 1);
}
nav.globalMenuSp ul li:last-child {
 padding-bottom: 0;
}
@media (max-width:1300px) {
nav.globalMenuSp ul li {
font-size: .7em;
}	
nav.globalMenuSp div.main_menu ul li a {
padding: 6px;
}
}
@media (max-width:1100px) {
nav.globalMenuSp ul li {
font-size: 1em;
}	
}

nav.globalMenuSp ul li a span {
display: block;
font-size: .6em;
letter-spacing: 0.2em;
}

/*固定ページ下部製品メニュー*/
div.page_products_menu{
margin:128px auto 0;
padding:64px 0 64px;
width:100%;
border-top: 1px solid rgb(100 100 100 / .15);
}
div.page_products_menu h5{
font-family: "Roboto", sans-serif;
font-size: 1.2s5em;
font-weight: 600;
color: rgb(100 100 100 / .5);
letter-spacing: .15em;
}
div.page_products_menu ul{ 
margin:0 auto 0;
padding:0;
display:grid;
grid-template-columns:repeat(5, 1fr);
gap:0;
}
div.page_products_menu ul li{
display: flex;
}
div.page_products_menu ul li a{
display: flex;               /* 中央寄せのためにFlex */
justify-content: center;     /* 横中央 */
align-items: center;         /* 縦中央 */
text-align: center;
width: 100%;
height: 100%;
box-sizing: border-box;
border: 1px solid rgb(100 100 100 / .2);
background: rgb(100 100 100 / 0) ;
color: rgb(100 100 100 / .7);	
text-align: center;
padding: 13px;
}
div.page_products_menu ul li a:hover,
div.page_products_menu ul li.current-menu-item a{
background: linear-gradient(90deg,rgb(124 113 171 / .5) 0%, rgb(113 132 186 / .5) 100%);
color: rgb(255 255 255 / 1);
}
div.page_products_menu ul li.current-menu-item a{
pointer-events: none;
cursor: default;
}

@media (max-width:1300px) {
div.page_products_menu ul li{
font-size: .7em;
}
}

@media (max-width:900px) {
div.page_products_menu ul{ 
grid-template-columns:1fr 1fr;
}	
div.page_products_menu ul li{
font-size: 1em;
}
}

/*footer*/
footer{
	background:rgb(108 63 92 / 1);
	background-size: 100% auto;
	margin: 0 auto;
	padding: 80px 0 40px;
	text-align: center;
}
body.home footer{
	background: url(https://lumas.co.jp/wp-content/uploads/2026/01/footer_back-scaled.png) no-repeat center center;
	background-size: 100% auto;
}

footer p.btn_contact a{
	margin: 0 auto 40px;
}

footer h2 a img{
	width: 250px;
	height: auto;
	margin: 0 auto 96px;
}
footer p.privacy a{
	display: block;
	height: auto;
	margin: 0 auto 24px;
	text-align: center;
	color: white;
}

footer p.copy{
	font-size: .6em;
	letter-spacing: .05em;
	color: white;
}
@media (max-width:900px) {
body.home footer{
	background: url(https://lumas.co.jp/wp-content/uploads/2026/01/footer_back-scaled.png) no-repeat center center;
	background-size: 250% auto;
}
}

/*top page*/
.header_top{
	background: url(https://lumas.co.jp/wp-content/uploads/2026/01/top_header_pc_002.png) no-repeat top center;
	background-size: contain;
	aspect-ratio: 10 / 4.6;
}
.header_top .top_header_content{
	padding: 48px 0 0;
}
.header_top .top_header_content .top_header_copy{
	width: 100%;
	height: auto;
	margin-bottom: 48px;
}
.header_top .top_header_content .top_header_copy img{
	width: 95%;
	height: auto;
}
.header_top .top_header_content h2{
	margin-top: 64px;
	color: white;
	font-size: 1.25em;
	font-weight: 400;
	letter-spacing: .1em;
}
@media (max-width:900px) {
.header_top{
	background: url(https://lumas.co.jp/wp-content/uploads/2026/01/top_header_sp_005.png) no-repeat top center;
	background-size: 100% auto;
	aspect-ratio: 10 / 19.24;
}
.header_top .top_header_content{
	padding: 36px 0 0;
}	
.header_top .top_header_content h2{
	margin-top: 64px;
	font-size: 1.25em;
}	
}

/*トップページ3項目*/
.top_three{
	padding: 92px 10% 92px;
}
.top_three .wp-block-columns{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
.top_three .wp-block-columns h3{
	margin-bottom: 6px;
	font-family: "Roboto", sans-serif;
	font-weight: 700;
	font-size: 1.25em;
	text-align: left;
	color:rgb(108 63 92 / 1) ;
	letter-spacing: .05em;
}
.top_three .wp-block-group .three_cap{
	height: 225px;
	background: linear-gradient(135deg,rgb(108 63 92 / 1) 0%, rgb(34 26 49 / 1) 100%);
	padding: 32px 24px 0;
	border-radius: 0 0 32px 0;
	color: white;
}
.top_three .wp-block-columns h4{
	margin-bottom: 12px;
	font-size: 1.25em;
}
.top_three .wp-block-columns p{
	font-size: .9em;
	line-height: 1.85em;
}
@media (max-width:900px) {
.top_three{
	padding: 48px 2.5% 48px;
}
.top_three .wp-block-columns{
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows:  1fr 1fr 1fr;
}
.top_three .wp-block-group .three_cap{
	padding: 48px 24px 0;
}	
}

/*トップ製品リスト*/
.top_products_wrapper{
	padding: 128px 5% 128px;
	background: linear-gradient(90deg,rgb(48 29 49 / 1) 0%, rgb(11 7 8 / 1) 100%);
	color: white;
}
/*.top_products_wrapper h3{
	margin-bottom: 16px;
	margin-left: calc((88vw - 888px) / 2);
	text-align: left;
	letter-spacing: .2em;
}*/

.top_products .wp-block-columns{
display: grid;
grid-template-columns: 222px 222px 222px 222px;
grid-template-rows: 222px 222px 222px;
grid-column-gap: 10px;
grid-row-gap: 10px;
place-content: center;
}

@media (max-width:900px) {
.top_products_wrapper{
padding: 64px 2.5% 64px;
}	
/*.top_products_wrapper h3{
margin-left: calc((100vw - 90vw) / 2);
text-align: left;
}*/
.top_products .wp-block-columns{
	display: grid;
	grid-template-columns: 45% 45%;
	grid-template-rows: 160px 160px 160px 160px 160px 160px;
	grid-column-gap: 0;
	grid-row-gap: 0;
	place-content: center;
}
}

.top_products .wp-block-column a:hover{
	background: rgb(0 0 0 / .5);
	/*color: rgb(255 255 255 / 1) !important;*/
}

.top_products .wp-block-column:first-child{
width: 222px;
height: 222px;
}
@media (max-width:900px) {
.top_products .wp-block-column:first-child{
width: 100%;
height: 160px;
}
}
.top_products .wp-block-column:first-child h3{
	font-family: "Roboto", sans-serif;
	color: rgb(255 255 255 / 1);
	font-size: 1em;
	font-weight: 700;
	letter-spacing: .2em;
}
.top_products .wp-block-column:nth-child(2){/*モーションコントロールサポート*/
	background:url(https://lumas.co.jp/wp-content/uploads/2026/01/top_products_001.png) no-repeat right top;
	background-size: 120% auto;
}
.top_products .wp-block-column:nth-child(3){/*3Dプリンタ―*/
	background: url(https://lumas.co.jp/wp-content/uploads/2026/01/top_products_002.png) no-repeat right 50%;
	background-size: 120% auto;
}
.top_products .wp-block-column:nth-child(4){/*レーザ複合機*/
	background: url(https://lumas.co.jp/wp-content/uploads/2026/02/top_products_009.png) no-repeat right 50%;
	background-size: 120% auto;
}
.top_products .wp-block-column:nth-child(5){/*レーザーマーカー*/
	background: url(https://lumas.co.jp/wp-content/uploads/2026/02/top_products_008.png) no-repeat right center;
	background-size: 120% auto;
}
.top_products .wp-block-column:nth-child(6){/*ロボット*/
	background: url(https://lumas.co.jp/wp-content/uploads/2026/01/top_products_004.png) no-repeat right bottom;
	background-size: 140% auto;
}
.top_products .wp-block-column:nth-child(7){/*溶接モニター*/
	background: url(https://lumas.co.jp/wp-content/uploads/2026/01/top_products_005.png) no-repeat right bottom;
	background-size: 120% auto;
}
.top_products .wp-block-column:nth-child(8){/*センサー 材料判別センサー*/
	background: url(https://lumas.co.jp/wp-content/uploads/2026/01/top_products_006.png) no-repeat right center;
	background-size: 120% auto;
}
.top_products .wp-block-column:nth-child(9){/*センサー 低コスト距離センサー*/
	background: url(https://lumas.co.jp/wp-content/uploads/2026/01/top_products_006.png) no-repeat right center;
	background-size: 120% auto;
}
.top_products .wp-block-column:nth-child(10){/*2um Laser*/
	background: url(https://lumas.co.jp/wp-content/uploads/2026/01/top_products_003.png) no-repeat right center;
	background-size: 140% auto;
}
.top_products .wp-block-column:nth-child(11){/*レーザファイバー端面検査洗浄ユニット*/
	background: url(https://lumas.co.jp/wp-content/uploads/2026/02/top_products_010.png) no-repeat right center;
	background-size: 120% auto;
}
.top_products .wp-block-column:last-child{/*レーザ加工ヘッドノズルアライメントデバイス*/
	background: url(https://lumas.co.jp/wp-content/uploads/2026/02/top_products_011.png) no-repeat right bottom;
	background-size: 140% auto;
}

.top_products .wp-block-columns > div{
	display:flex;
	justify-content:center;
	align-items:center;
	background: linear-gradient(135deg,rgb(108 63 92 / 1) 0%, rgb(34 26 49 / 1) 100%);
}

.top_concept_products{
	margin-bottom: 0;
	padding: 128px 10% 128px;
	background: rgb(202 202 202 / 1) url(https://lumas.co.jp/wp-content/uploads/2026/01/COREofTECHNOLOGY-scaled.png) no-repeat right 50%;
	background-size: auto 500px;
	color: white;
}
.top_concept_products h2{
	margin-bottom: 12px;
	text-align: left;
	letter-spacing: .2em;
}
.top_concept_products h3{
	background: linear-gradient(90deg,rgb(0 0 0 / .2) 0%, rgb(255 255 255 / .2) 100%);;
	padding: 4px 8px 2px ;
	font-family: "Roboto", sans-serif;
	font-size: .8em;
	color: white;
	letter-spacing: .2em;
	line-height: 1em;
	text-align: left;
}
.top_concept_products figure{
	width: 80%;
	margin: 0 auto;
}
@media (max-width:900px) {
.top_concept_products{
	padding: 64px 2.5% 64px;
	background-size: auto 300px;
}	
.top_concept_products figure{
	width: 100%;
}
}

/*トップ動画*/
div.top_movie{
padding: 0;
background: rgb(0 0 0 / 1);
}
div.top_movie video{
	width: 100%;
	margin: 0 auto;
}

/*トップ新着情報*/
.top_news{
	padding: 128px 20% 128px;
	background: linear-gradient(90deg,rgb(48 29 49 / 1) 0%, rgb(11 7 8 / 1) 100%);
	color: white;
}

div.news-area{}
h2.news-title{
	margin-bottom: 16px;
	font-family: "Roboto", sans-serif;
	font-size: 2.5em;
	font-weight: 500;
	letter-spacing: .2em;
}

ul.news-list{}
li.news-item{
	display: grid;
}
li.news-item a{
	display: grid;
	grid-template-columns: 80px auto 55px;
	margin-bottom: 24px;
	padding: 24px;
	background: rgb(255 255 255 / 0);
	border: 1px solid rgb(255 255 255 / .5);
}
main.main-content li.news-item a{
	display: grid;
	grid-template-columns: 80px auto 55px;
	margin-bottom: 24px;
	padding: 24px;
	background: rgb(255 255 255 / 0);
	border: 1px solid rgb(100 100 100 /.5);
}

li.news-item a:hover{
	background: rgb(255 255 255 / .3);
	border: 1px solid rgb(255 255 255 / .3);
}
main.main-content li.news-item a:hover{
	background: rgb(100 100 100 / .07);
}

div.news-date{
	width: 100px;
	font-family: "Roboto", sans-serif;
	font-weight: 700;
}
div.news-year{
	text-align: left;
}

div.news-md{
	width: 70px;
	height: 70px;
	background: url(https://lumas.co.jp/wp-content/uploads/2026/01/info_day.png) no-repeat center center;
	background-size:70px 70px;
	display: grid;
	grid-template-columns: 50% 50%;
	font-size: 24px;
	text-align: center;
}
main.main-content div.news-md{
	width: 70px;
	height: 70px;
	background: url(https://lumas.co.jp/wp-content/uploads/2026/01/info_day_gray.png) no-repeat center center;
	background-size:70px 70px;
	display: grid;
	grid-template-columns: 50% 50%;
	font-size: 24px;
	text-align: center;
}
div.news-md div.news-month{}
div.news-md div.news-day{
	position: relative;
	bottom: -32px;
}

div.news-text{
	display:flex;
	align-items:center;
	text-align: left;
}
div.news-text .news-item-title{}
div.news-text .news-item-content{}

main.main-content h3.news-item-title{
	margin:0 auto 12px;
	padding:4px 12px;
	border-bottom: 1px solid rgb(108 63 92 / .2);
	font-size: 1.25em;
	font-weight: 400;
	text-align: left;
}
main.main-content p.news-item-content{
	padding-left: 12px;;
}

div.news-more{
	display:flex;
	align-items:flex-end;
	font-family: "Roboto", sans-serif;
}
div.news-more p{
	padding: 2px 8px 2px;
	background: rgb(255 255 255 / 1);
	border: 1px solid rgba(255 255 255 / 1);
	color: rgb(49 29 49 / 1);s
	font-weight: 700;
	font-size: 12px;
	line-height: 1em;

	-webkit-transition:All 1s ease;
	-moz-transition:All 1s ease;
	-o-transition:All 1s ease;
	-ms-transition:All 1s ease;
	transition:All 1s ease;
}

li.news-item a:hover div.news-more p{
	background: rgb(255 255 255 / .3);
	border: 1px solid rgba(255 255 255 / .5);
	color: rgb(255 255 255 / 1);
}

main.main-content div.news-more p{
	padding: 2px 8px 2px;
	background: rgb(108 63 92 / 1);
	color: rgb(255 255 255 / 1);
	font-weight: 700;
	font-size: 12px;
	line-height: 1em;
}
main.main-content li.news-item a:hover div.news-more p{
	background: rgb(100 100 100 / .3);
	color: rgb(255 255 255 / 1);
}

@media (max-width:900px) {
.top_news{
	padding: 64px 5% 64px;
}
li.news-item a{
	grid-template-columns: 1fr;
	grid-template-rows: 100px auto 20px;
	padding: 12px;
}
div.news-more,
div.news-more p{
	margin: 0 0 0 auto;
}	
}

a.news-list-btn{
	display: inline-block;
	width: 200px;
	background: rgb(255 255 255 / 0);
	margin: 0 ;
	padding: 4px;
	border: 1px solid rgb(255 255 255 / 1);
	border-radius: 24px;
	color: white;
	font-family: "Roboto", sans-serif;
	font-size: .9em;
	font-weight: 500;
	letter-spacing: .15em;
}
a.news-list-btn:hover{
	background: rgb(255 255 255 / .5);
	border: 1px solid rgb(255 255 255 / .5);
}
/*NEWS一覧アーカイブページ*/
main.main-content.news-archive h2{
	color: rgb(100 100 100 / .3);
}
@media (max-width:900px) {
main.main-content.news-archive li.news-item a{
	grid-template-columns: 1fr;
	grid-template-rows: 100px auto 20px;
	padding: 12px;
}
main.main-content.news-archive div.news-more p{
	margin: 0 0 0 auto;
}	
}

/*投稿記事ページ*/
main.main-content.news-single div.news-date{
	margin-bottom: 36px;
}

/*トップ写真4つ*/
.top_four_photo{
	padding: 80px 20% 80px;
}
.wp-block-columns.top_four_photo{
	display: grid;
	grid-template-columns: 50% 50%;
	grid-template-rows: 1fr 1fr;
	grid-column-gap: 8px;
	grid-row-gap: 8px;
}
@media (max-width:900px) {
.top_four_photo{
	padding: 32px 2.5% 32px;
}
.wp-block-columns.top_four_photo{
	display: grid;
	grid-template-columns: 50% 50%;
	grid-template-rows: 1fr 1fr;
	grid-column-gap: 4px;
	grid-row-gap: 4px;
}
}

/*opening animation オープニングアニメーション*/
.loading {
  width: 100vw;
  height: 100vh;
  transition:All 1s ease;
  background-color: rgb(108 63 92 / 1);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  opacity: 1;
  visibility: visible;
}
.loading.is-active {
  opacity: 0;
  visibility: hidden;
}
.loading-animation {
  width: 100vw;
  height: 100vh;
  transition: all 1s;
  background-color: rgb(34 26 49 / 1);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
}
.loading-animation.is-active {
  opacity: 1;
  visibility: visible;
}
.loading .loading-animation img{
	width: 145px;
	height: auto;
	position: relative;
	top: 0;
}
@media (max-width:900px) {
.loading .loading-animation img{
	width: 145px;
	top: -20px;
}	
}

/* ニュース一覧ページ */

/* ニュース個別ページ */

/* 会社概要ページ */

/* 開発業務ページ */

/* 製品ページフォーマット */

/* お問い合わせページ */

/*form*/
div.wpcf7{
	width:100%;
	margin:0 auto;
	padding: 5%;
	border: 1px solid rgb(100 100 100 / .2);
	border-radius: 4px;
}
@media (max-width:900px) {
div.wpcf7{
	padding: 2.5%;
}
}
div.wpcf7 div.contact_round input,
div.wpcf7 div.contact_round textarea{
	display:block;
	background:rgb(0 0 0 / .025);
	width:100%;
	min-width: 100%;
	box-sizing:border-box;
	border:none;
	border-bottom: 1px solid rgb(0 0 0 / .05);
	border-radius:4px;
	padding-left:1em;
	padding-right:1em;
	padding-top:1em;
	padding-bottom:1em;
	transition:All 1s ease;
	font-size: 1.1em;
	color:rgb(100 100 100 / .7);
}

@media screen and (max-width : 900px) {
div.wpcf7 div.contact_round input,
div.wpcf7 div.contact_round textarea{
	min-width: 100% !important;
	font-size: 16px;
}
}
div.wpcf7 div.contact_round input:focus,
div.wpcf7 div.contact_round textarea:focus{
	background:rgb(108 63 92 / 1);
	border-bottom: 1px solid rgb(108 63 92 / 1);
	color:rgb(255 255 255 / 1);
	outline:none;
}
::placeholder{
	color: rgb(255 255 255 / .7);
}

.wpcf7-form.hide_error_message .wpcf7-not-valid-tip{
	display:none;
}/*エラー表示回避対策*/

.wpcf7-submit:disabled {
    opacity: .2;
}

input.wpcf7-submit[type="submit"]{
	display:block;
	background: linear-gradient(135deg,rgb(108 63 92 / .7) 0%, rgb(34 26 49 / .7) 100%);
	border-radius:16px;
	border:none;
	outline:none;
	margin-top:2.5em;
	margin-bottom:0;
	box-sizing:border-box;
	width:100%;
	padding-top:1.75em;
	padding-bottom:1.75em;
	cursor:pointer;
	color:rgb(255 255 255 / 1);
	text-align:center;
	font-size:1.15em;
	font-weight:400;
	letter-spacing:1.25em;
	line-height:1em;
	
-webkit-transition:All 1s ease;
-moz-transition:All 1s ease;
-o-transition:All 1s ease;
-ms-transition:All 1s ease;
transition:All 1s ease;	
}
input.wpcf7-submit[type="submit"]:hover{
	background: linear-gradient(135deg,rgb(108 63 92 / 1) 0%, rgb(34 26 49 / 1) 100%);
}
div.wpcf7 div.contact_round{
	margin-bottom: 24px;
}
div.wpcf7 div.contact_round div{
	text-align:left;
}
div.wpcf7 div.contact_round div.contact_text{
	margin-bottom: 0 !important;
	font-weight: 500;
	color: rgb(100 100 100 / .7);
	letter-spacing: .2em;
}
div.wpcf7 div.contact_round div.contact_text p{
	margin-bottom: 10px !important;
}
div.wpcf7 div.contact_text span{
	display: inline-block;
	margin-left: 8px;
	padding: 0 8px;
	background: rgb(108 63 92 / 1);
	border-radius: 4px;
	font-size: .65em;
	font-weight: bold;
	letter-spacing: .25em;
	color: white;
	text-align:center;
}
div.wpcf7 div.contact_round div p span input{
	display:inline;
	width:12em;
}
div.wpcf7 div.contact_round span.wpcf7-list-item-label{
	font-size: 11px !important;
}

div.wpcf7 .submit-btn{
	margin-bottom: -32px;
}

/*アラート*/
div.screen-reader-response{
	text-align:center;
	display:block;
	border:none;
	font-size:1em;
	font-family:'Noto Sans JP', sans-serif;
	color:rgb(60 20 90 / 1);
}
div.wpcf7 div.wpcf7-response-output{
	display:block;
	margin-top:20px;
	margin-bottom:35px;
	border:none;
	font-size:1em;
	font-family:'Noto Sans JP', sans-serif;
	text-align:center;
	color:rgb(60 20 90 / 1);
}
section#contact div.wpcf7 div.screen-reader-response ul{
	display:none;
}
div.wpcf7 span.wpcf7-not-valid-tip{
	display:block;
	margin-top:.5em;
	font-size:1em;
	font-family:'Noto Sans JP', sans-serif;
	color:rgb(60 20 90 / 1);
}
div.wpcf7 span.wpcf7-not-valid-tip:before{
	content: '＊ ';
}

.sent .formInner{
	display:none;
}

.complete-display{
	display:none;
}
.sent .complete-display{
	display:block;
	margin:20px auto 40px;
}
.sent .complete-display a{
	display:block;
	margin-top:0;
	margin-bottom:50px;
	border:none;
	color:rgb(77 77 77 / 1) !important;
	font-family:'Noto Sans JP', sans-serif;
	font-size:1.45em;
	text-align:center;
}
.sent .complete-display a:before{
	content:'▶ ';
	font-size:0.5em;
}

div.wpcf7-mail-sent-ok {
	color:rgb(77 77 77 / 1);
	font-family:'Noto Serif JP', serif;
	font-size:1.45em;
}

/*送信後にメッセージを表示*/
div.form-message{
	margin: 0 auto;
	text-align: center;
}

section#thanks div#page-content div.form-message p{
	margin: 35px auto 15px;
	font-size: 1.15em;
	font-family:'Noto Serif JP', serif;
	text-align: center;
	line-height: 1.65em;
}
section#thanks div#page-content div.form-message a{
	margin: 0 auto 35px;
	font-size: 1.15em;
	font-family:'Noto Sans JP', sans-serif;
	text-align: center !important;
	line-height: 1.35em;
}
section#thanks div#page-content div.form-message a:before{
	content: '▶︎ ';
	font-size: .5em;
	color: rgb(77 77 77 / .5);
}

/*　サイト共通　*/
/*ページトップ page top*/
.to-top{
position:fixed;
right:0;
bottom:0;
width:40px;
height:40px;
cursor:pointer;
z-index:20;
}
.to-top img{
width:100%;
height:auto;
}
.to-top:hover{
}

/*シャドウ*/
.drop{
filter: drop-shadow(4px 4px 4px rgb(0 0 0 / .2));
}

/*404*/

main.subpage.main-content.pnf p{
	margin: 0 auto;
	text-align: center;
}

main.subpage.main-content.pnf p img{
	width: 500px;
	height: auto;
	margin: 0 auto;
	text-align: center;
}
@media (max-width:900px) {
main.subpage.main-content.pnf p img{
	width: 300px;
}
}
main.subpage.main-content.pnf p.returntotop a{
	display: inline-block;
	width: 200px;
	background: linear-gradient(90deg,rgb(124 113 171 / 1) 0%, rgb(113 132 186 / 1) 100%);;
	margin: 32px auto 0 ;
	padding: 4px;
	border-radius: 24px;
	color: white;
	font-family: "Roboto", sans-serif;
	font-size: .9em;
	font-weight: 500;
	letter-spacing: .15em;
}
main.subpage.main-content.pnf p.returntotop a{
	background: linear-gradient(135deg,rgb(108 63 92 / 1) 0%, rgb(34 26 49 / 1) 100%);;
}


/*アニメーション設定*/
.header_top,
.top_header_copy,
.top_header_logo,
.top_header_content h2 {
  opacity: 0;
}
.fade-up{
  opacity:0;
  transform: translateY(60px);
  transition: .7s ease;
}

.fade-up.show{
  opacity:1;
  transform: translateY(0);
}





/* Top page text animation */
.top_animation_wrapper {
width: 95%;
margin: 0 auto;
}
.top_animation_container {
margin:24px auto 120px;
}
.sp .top_animation_container {
margin:96px auto 56px;
}

.top_animation_text {
font-family: "Roboto", sans-serif;
line-height: 1.5;
letter-spacing: 0em;
text-align: center;
color: rgb(255 255 255 / .75);
}
h3.top_animation_text{
margin-bottom: 0;
padding-bottom: 0;
font-size: 5vw;
font-weight: 500;
line-height: 1em;
}
p.top_animation_text{
margin-top: 24px;
font-size: 2vw;
font-weight: 300 !important;
letter-spacing: .1em;
}

.sp h3.top_animation_text{
font-size: 11vw;
}
.sp p.top_animation_text{
margin-top: 0;
font-size: 4.5vw;
}
.sp p.top_animation_text_last{
margin-top: 16px;
}

.alternative {
  position: fixed !important;
  inset: 0 !important;
  display: block !important;
  inline-size: 4px !important;
  block-size: 4px !important;
  contain: strict !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

/* アニメーション前 */
[data-text-animation="fadeIn"] span {
  opacity: 0;
  transition: opacity .3s;
}
/* アニメーション後 */
[data-text-animation="fadeIn"] span.is-active {
  opacity: 1;
}


