@charset "UTF-8";
/*
Theme Name: 1os1C
Theme URI: https://web.1os.co.jp/
Author: One OS inc.
Author URI: https://1os.co.jp/
Description: このテーマは株式会社ワンオーエス(サービス名：クオリティWebデザイン)によって作成されました。高品質でカスタマイズ可能なデザインを提供し、ユーザーに素晴らしいエクスペリエンスをもたらします。
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: 1os_mc
Tags: レスポンシブ, 1カラム, 翻訳対応
*/

/**********  カスタマイズCSS **********/

.scroll #header_wrapper::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	pointer-events: none;
}

#header_title_img{
	max-width:236px;
}
#nav_toggle.is_active .nav_toggle_bar{
	background:rgb(0,64,152);
}

#footer_logo img{
	max-width:320px;
}

.scroll_bar {
	transition: all .6s ease;
	pointer-events: none;
	bottom: 64px;
	left:16px;
	z-index:4
}
.scroll-text {
  color: #fff;
  font-size: 16px;
  text-align: center;
  transform: rotate(90deg);
}
.scroll-border {
  position: relative;
  top: 20px;
	left:-4px;
  width: 100%;
  height: 100px;
  overflow: hidden;
}
.scroll-border::before {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 40px;
  top: 0;
  left: 0;
  right: 0;
  background: #fff;
	border:1px solid #222;
  animation: scrollbar 2.0s ease-in-out infinite;
  margin: auto;
}
@keyframes scrollbar {
  0% {
    height: 0;
    top: 0;
  }
  30% {
    height: 100%;
  }
  100% {
    top: 100%;
  }
}
.scroll .scroll_bar {
	opacity:0
}

.section-heading{
	margin-bottom:1.4em;
}
.section-label{
	margin-bottom:.2em;
	color:#777;
	font-size:.9em;
	font-weight:700;
	letter-spacing:.05em;
	text-transform:uppercase;
}
.section-heading h2{
	margin:0 0 .8em;
	font-size:1.6em;
	line-height:1.2;
}

.message-image{
	position:relative;
	margin:0;
}
.message-card{
	position:relative;
	z-index:2;
	width:calc(100% - 20px);
	margin:-48px auto 0;
	padding:2em;
	background:rgba(239,242,247, .8);
}

.business-section{
	background:rgb(239,242,247);
}
.business-list{
	display:grid;
	grid-template-columns:1fr;
	gap:20px;
}
.business-card{
	position:relative;
	padding:.6em;
	background:#fff;
	border:1px solid rgba(0,0,0,.08);
	box-shadow:0 10px 30px rgba(0,0,0,.05);
	overflow:hidden;
	transition:.3s;
}
.business-card::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:2px;
	background:linear-gradient(90deg,#004098,#88a7f7);
}
.business-card:hover{
	transform:translateY(-5px);
	box-shadow:0 20px 40px rgba(0,0,0,.1);
}
.business-number{
	margin-bottom:25px;
	font-size:4em;
	font-weight:700;
	line-height:1;
	color:rgba(0,0,0,.15);
}
.business-card h3{
	font-size:1.2em;
	line-height:1.2;
}
.business-title{
	font-size:.9em;
	font-weight:700;
	color:#777;
}
.business-text{
	font-size:14px;
	line-height:1.8;
	color:#666;
}
.brand-section{
	padding:70px 20px;
	background:#f6f7f8;
}
.brand-inner{
	max-width:1180px;
	margin:0 auto;
}
.brand-list{
	display:grid;
	grid-template-columns:1fr;
	gap:18px;
}
.brand-banner{
	position:relative;
	display:block;
	overflow:hidden;
	min-height:180px;
	border-radius:.2em;
	color:#fff;
	text-decoration:none;
	background:#444;
}
a.brand-banner:hover{
	color:#fff;
}
.brand-banner img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .5s ease,opacity .5s ease;
}
.brand-banner::before{
	content:"";
	position:absolute;
	inset:0;
	z-index:1;
	background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.68));
}
.brand-content{
	position:relative;
	z-index:2;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	min-height:180px;
	padding:0 2em;
}
.brand-en{
	letter-spacing:.05em;
	color:#eee;
}
.brand-banner:hover img{
	transform:scale(1.06);
	opacity:.82;
}
#page_footer::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:2px;
	background:linear-gradient(90deg,#ccc,#333,#ccc);
}
.company-page{
	padding:70px 20px;
	background:#fff;
	color:#111;
}
.company-inner{
	max-width:1180px;
	margin:0 auto;
}
.company-label{
	color:#777;
	font-size:12px;
	font-weight:700;
	letter-spacing:.15em;
	text-transform:uppercase;
}
.company-heading{
	margin-bottom:56px;
	text-align:center;
}
.company-message{
	display:grid;
	gap:30px;
	margin-bottom:70px;
}
.company-message_img img{
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover;
}
.company-message_body{
	padding:30px 24px;
	background:rgba(248, 248, 248, .9);
}
.company-sign{
	margin-top:24px!important;
	font-weight:700;
	text-align:right;
}
.company-philosophy{
	margin-bottom:70px;
	padding:34px 24px;
	background:#111;
	color:#fff;
}
.company-philosophy p{
	color:rgba(255,255,255,.82);
}
.company-profile{
	margin-bottom:70px;
}
.company-profile dl{
	margin:0;
	border-top:1px solid #ddd;
}
.company-profile dl div{
	display:grid;
	gap:8px;
	padding:18px 0;
	border-bottom:1px solid #ddd;
}
.company-profile dt{
	font-weight:700;
}
.company-profile dd{
	margin:0;
	color:#444;
	line-height:1.8;
}
.company-profile ul{
	margin:0;
	padding-left:1.2em;
}
.company-access_grid{
	display:grid;
	gap:28px;
}
.company-map iframe{
	width:100%;
	height:320px;
	border:0;
}

.academy-card{
	position:relative;
	background:rgb(239,242,247);
	border:1px solid rgba(0,0,0,.08);
	box-shadow:0 10px 30px rgba(0,0,0,.05);
	overflow:hidden;
	transition:.3s;
}
.academy-card::before{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:2px;
	background:linear-gradient(90deg,#004098,#88a7f7);
}
.academy-card:hover{
	transform:translateY(-5px);
	box-shadow:0 20px 40px rgba(0,0,0,.1);
}


/* Tablet */
@media (min-width:768px){

	.message-section{
		padding:1em;
	}
	.message-link{
		margin:0;
	}

	.business-list{
		grid-template-columns:repeat(2,1fr);
		gap:24px;
	}
	.business-list.repair-list{
		grid-template-columns:1fr;
	}

	.business-card{
		padding:35px 30px;
	}

	.brand-section{
		padding:90px 30px;
	}
	.brand-list{
		gap:24px;
	}

	.company-page{
		padding:100px 40px;
	}
	.company-profile dl div{
		grid-template-columns:220px 1fr;
		gap:30px;
		padding:24px 0;
	}
	.company-access_grid{
		grid-template-columns:1fr 1.2fr;
		align-items:start;
	}
	.company-map iframe{
		height:380px;
	}

}

/* PC */
@media (min-width:1024px){

	#header_title_img{
		max-width:360px;
	}

	.scroll #global_nav > .menu-item > .menu_link::before,
	.scroll #global_nav > .menu-item > .menu_link::after{
		background:#000000
	}

	.message-image{
		width:75%;
	}
	.message-card{
		position:absolute;
		right:0;
		top:4em;
		width:64%;
		margin:0 0 4em;
		padding:2em;
	}

	.business-list{
		grid-template-columns:repeat(4,1fr);
	}
	.business-list.repair-list{
		grid-template-columns:repeat(3,1fr);
	}

	#header_main_wrapper{
		padding:0 1em;
	}
	.scroll #global_nav > .menu-item > .menu_link{
		color:#000;
	}
	.scroll #global_nav .menu-item-has-children::after{
		background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='12' height='12' fill='%23000000'><path d='M7.247 11.14l-4.796-5.481c-.566-.646-.106-1.659.753-1.659h9.592c.86 0 1.32 1.013.753 1.659L8.753 11.14a1 1 0 0 1-1.506 0z'/></svg>") no-repeat center / contain;
		background-size:auto 22.4%;
	}

	.brand-list{
		grid-template-columns:repeat(3,1fr);
	}

	.company-message{
		grid-template-columns:1fr 1fr;
		align-items:center;
		gap:0;
	}
	.company-message_body{
		margin-left:-60px;
		padding:56px;
	}

}
@media (min-width:1440px){

	.message-image{
		width:64%;
	}
	.message-card{
		width:840px;
		right:0;
	}
	.message-card{
		top:50%;
		transform: translateY(-50%);		
	}

}

#header_wrapper {
	position: fixed !important;
	inset: 0 0 auto 0 !important;
	width: 100% !important;
	transform: none !important;
	z-index: 1000 !important;
}