@charset "UTF-8";
/*
Theme Name: glorious-japan-sp
Version: 1.0.0
*/

/****************************************
General Setting
*****************************************/

body {
	font-size: 14px;
	min-width: 100%;
	letter-spacing: 0px;
	-webkit-text-size-adjust: 100%;
}
.sponly,
.sp {display:   block;}
.pc {display: none;}
img.spimgblock { float: none; display: block; margin-left: auto!important; margin-right: auto!important; margin-bottom: 10px; }
span.spbr { display: block; }
span.pcbr { display: inline; }

/****************************************

Typography

*****************************************/
img {
	max-width: 100%;
	height: auto;
}

footer {
	width: 100%;
}

iframe { max-width: 100%; }

/****************************************

Layout

*****************************************/

#sp_menu_btn {
	position: absolute;
	display: block;
	cursor: pointer;
	width:50px;
	height:50px;
	right:6px;
	margin-top:0px;
	margin-right:0px;
}

#header {
	width: 100%;
	height: 100px;
	height: 60px;
	padding-top: 0px;
	padding-left: 0px;
	margin-left: auto;
	margin-right: auto;
	min-width: 100%;
	justify-content: space-between;
	padding: 10px 10px;	
}
#header #logo img {
	width: auto;
	margin-top: 10px;
	margin-bottom: 5px;
	max-height: 30px;
	margin-left: 10px;
}
#header #logo {
	width: calc(100% - 80px);
}
#header .toptoi .toibtn {
	display: none;

}
#gnavi {
	position: fixed;
	top: 75px;
	z-index: 999;
	width: 100%;
	float: none;
	display: block;
}

#gnavi.menu_open {
	height: 100%;
	background: #fff;
	overflow-y: scroll;
	padding-bottom: 50px;
}

#rnavi { display: none;}


.menu {
	margin-top:55px;
	margin-left: auto;
	margin:0;
	padding: 0;
	width:100%;
	height: auto;
	float: none;
	display:  none;
}

.menu ul{
	display: block;
	list-style-type: none;
	margin: 0px 0;
	padding: 0px 0;
	text-align: left;
}

.menu li{
	display:block;
	margin: 0px;
	padding: 0px 0px;
	width:100%;
	box-sizing: border-box;
	border-bottom:1px #333 solid;
	background: #fff;
}
.menu li.menu1{
	border-top:1px #333 solid;	
}

.menu li.sns01,
.menu li.sns02 {
	display: block;
	width: auto;
	text-align: left;
	border: 0px;
}

.menu li.sns01 a,
.menu li.sns02 a {
	text-align: center;
}
.menu li.sns01 a img { display: inline-block; }
.menu span.wrap,
.menu a{
	display: block;
	text-align: left;
	padding: 15px 10px;
	position: relative;
	color: #333;
	width: auto;
	height: 100%;
	font-size: 15px;
	border: 0px !important;
	line-height: 1.7em;
	background: #fff;
}
.menu a:after {
	content: "";
	position: absolute;
	right: 10px;
	top: 10px;
	width: auto;
	opacity: 1;
	display: none;
}
.menu span.pcbr { display: inline; }
.menu span.wrap span.en,
.menu a span.en {
	display: inline-block;
	font-size: 14px;
	color: #eee;
	padding-left: 2em;
}
.menu a:hover {color: #e00;}
.menu a:hover{
	-webkit-transition: color 0.2s, font 0.2s;
	-moz-transition: color 0.2s, font 0.2s;
	transition: color 0.2s, font 0.2s;
}
.menu ul:after {
	clear: both;
	display: block;
	content: "";
}

.menu a:hover:after { background-color: #fff; }
.menu .child {
	position: relative;
	width: auto;
}
.bg-content .wrapper,
.wrapper03,
.wrapper-f,
.mB .wrapper, .kizi .wrapper,
.wrapper02,
#top-work.wrapper,
#container,
.wrapper {
	margin-left: auto;
	margin-right: auto;
	width: 92%;
}
.mB .wrapper, .kizi .wrapper { width: auto; padding-left: 10px; padding-right: 10px; color: #333;}


#maincon {
	padding: 0px 0px 20px;
}

.service-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 10px;
}
.morebutton,
.morebutton02 { min-width: auto;}
.main-title { font-size: 2em; }
.service-header h2  { font-size: 1.2em; }
.service-description { font-size: 1em; }
.card-overlay h3  { font-size: 1.2em; }
.card-content {
	padding: 15px 10px;
}
.tag {
	padding: 3px 10px;
}
.card-content h4  { font-size: 1.2em; }
.top-vacancy-wrap {
	padding: 20px 10px;
}
.vacancy-grid {
	grid-template-columns: repeat(1, 1fr);
	gap: 20px;
	padding: 0px 10px;
}
.vacancy-item { padding: 10px 30px; }
.vacant-category  { font-size: 1.2em; }
.vacant-description { font-size: 1em; }
.vacant-title  { font-size: 2em; }
.footermenu .menuf { display: none; }
.topcompnay {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	gap: 10px;
	justify-content: center;
}
.topcompnay li a { font-size: 15px; }
#top-vacant {
	padding: 30px 0px;
}
.topcompnay li {
	flex: 1;
	position: relative;
	height: 94px;
	border-radius: 20px;
	overflow: hidden;
}
#pcnavi .menuf { flex-wrap: wrap; }

#top-concept {
	background: url(/images/concept-bg.png) no-repeat top left;
	background-size: cover;
	position: sticky;
	color: #fff;
	padding: 30px 0px;
}

.toplogo img { max-width: 200px; }
#gmenubutton { 
	margin-top: 0px;
	width: 50px;
	height: 50px;
}
#pcnavi .menuf { padding-top: 0px; gap: 0px; }
#pcnavi .menuf .fbox {
	width: 90%;
	margin: auto;
}
.top-concept-bg { background: none; }
.topnews li a { display: block; }
.topnews h3 { font-size: 14px; display: block; }
#footer_fixed { position: fixed; bottom: 0px; width: 100%; }
#footer_fixed { padding: 0px; height: auto; }
#footer_fixed .fbtnsp { display: flex; width: 100%; align-items: middle; }
#footer_fixed .fbtnsp span,
#footer_fixed .fbtnsp a {
	display: table-cell;
	border-radius: 0px;
	line-height: 1.3em;
	padding: 0.6em 0.1em;
	font-size: 12px;
	letter-spacing: 0px;
	margin: 0px 0px;
	text-align: center;
	background: var(--accent-orange);
	color: #fff;
	width: 20%;
}
#footer_fixed .fbtnsp a:nth-child(3) {
	border-right: 1px solid #fff;	
	width: 30%;
}
#footer_fixed .fbtnsp a:nth-child(2) {
	border-left: 1px solid #fff;
	border-right: 1px solid #fff;
	width: 30%;
}

.addrs .spw {
	display: block;
	width: 100%;
	margin-bottom: 5px;
}

.addrs .wpcf7-form-control-wrap {
	width: 100%;
	margin-bottom: 15px;
}

.addrs .sps {
	margin-left: 0;
}

.addrs #zip {
	max-width: 100%;
}
