/*
================================================================
style.css for mi templates
Mar. 2020
================================================================
*/



/*
----------------------------------------------------------------
mi styles
----------------------------------------------------------------
*/

/* page top */
.back-to-top
{
	position: fixed;
	right: 4%;
	bottom: 40px;
	z-index: 9000;
	display: block;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.5);
	background-color: rgba(10,10,10,1);
	opacity: 0;
	transition-delay: 0s;
	transition-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
	transition-duration: 0.4s;
	transition-property: opacity, transform, background-color, -webkit-transform;
	-webkit-transform: translateY(100px);
	transform: translateY(100px);
}

.back-to-top:before
{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	margin: auto;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	content: "";
	-webkit-transform: translateY(25%) rotate(45deg);
	transform: translateY(25%) rotate(45deg);
}

/*
----------------------------------------------------------------
overriding utility.css
----------------------------------------------------------------
*/

/*
space sizing
0 : 0;
1 : 0.25rem;
2 : 0.5rem;
3 : 1rem;
4 : 1.5rem;
5 : 3rem;
*/

ul
{
	padding: 0;
}

li
{
	list-style: none;
	margin: 0;
	padding: 0;
}

a
{
	color: #222;
	text-decoration: none;
	background-color: transparent;
}

a:hover
{
	color: #000;
	text-decoration: none;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6
{
	margin-top: 0;
	margin-bottom: 0;
}



h1, .h1, .h1 * { font-size: 2.5rem; }
h2, .h2, .h2 * { font-size: 2rem; }
h3, .h3, .h3 * { font-size: 1.75rem; }
h4, .h4, .h4 * { font-size: 1.5rem; }
h5, .h5, .h5 * { font-size: 1.25rem;}
h6, .h6, .h6 * { font-size: 1rem; }

.lead
{
	font-size: 1.5rem;
	font-weight: 400;
	margin-top: 1rem;
	letter-spacing: .15rem;
	line-height: 1.75;
}

/*
--------------------------------
paragraph margin reset
--------------------------------
*/

.m-0 p { margin: 0 !important; }
.mt-0 p,
.my-0 p { margin-top: 0 !important; }
.mr-0 p,
.mx-0 p { margin-right: 0 !important; }
.mb-0 p,
.my-0 p { margin-bottom: 0 !important; }
.ml-0 p,
.mx-0 p { margin-left: 0 !important; }

/*
----------------------------------------------------------------
utility added
----------------------------------------------------------------
*/

.flex
{
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-ms-flex-align: center;
	align-items: center;
}

.fit img { width: 100%; height: auto;}

.fig img { /*border: 1px solid #fff; */}

/*
----------------------------------------------------------------
colors
----------------------------------------------------------------
*/

/* background */

.bg-l-gray { background-color: #f5f5f5; }
.bg-p-blue { background-color: #c6deeb ; }
.bg-l-blue { background-color: #5aafed; }
.bg-m-black { background-color: #333; }
.bg-gray-01 { background-color: rgba(0,0,0,.01); }
.bg-gray-02 { background-color: rgba(0,0,0,.02); }
.bg-gray-03 { background-color: rgba(0,0,0,.03); }
.bg-gray-04 { background-color: rgba(0,0,0,.04); }
.bg-gray-05 { background-color: rgba(0,0,0,.05); }
.bg-gray-06 { background-color: rgba(0,0,0,.06); }
.bg-gray-07 { background-color: rgba(0,0,0,.07); }
.bg-gray-08 { background-color: rgba(0,0,0,.08); }
.bg-gray-09 { background-color: rgba(0,0,0,.09); }
.bg-gray-10 { background-color: rgba(0,0,0,.10); }
.bg-gray-15 { background-color: rgba(0,0,0,.15); }
.bg-gray-20 { background-color: rgba(0,0,0,.20); }
.bg-gray-25 { background-color: rgba(0,0,0,.25); }
.bg-gray-30 { background-color: rgba(0,0,0,.30); }
.bg-gray-35 { background-color: rgba(0,0,0,.35); }
.bg-gray-40 { background-color: rgba(0,0,0,.40); }
.bg-gray-45 { background-color: rgba(0,0,0,.45); }
.bg-gray-50 { background-color: rgba(0,0,0,.50); }
.bg-gray-55 { background-color: rgba(0,0,0,.55); }
.bg-gray-60 { background-color: rgba(0,0,0,.60); }
.bg-gray-65 { background-color: rgba(0,0,0,.65); }
.bg-gray-70 { background-color: rgba(0,0,0,.70); }
.bg-gray-75 { background-color: rgba(0,0,0,.75); }
.bg-gray-80 { background-color: rgba(0,0,0,.80); }
.bg-gray-85 { background-color: rgba(0,0,0,.85); }
.bg-gray-90 { background-color: rgba(0,0,0,.90); }
.bg-gray-95 { background-color: rgba(0,0,0,.95); }

/* text */

.txt-white * { color: #fff;}

/*
================================================================
page styling
================================================================
*/

/*
----------------------------------------------------------------
html base setting
----------------------------------------------------------------
*/

html { font-size: 10px; }

body
{
	margin: 0;
	font-family: 'Lato', 'Noto Sans JP', sans-serif;
	font-size: 1.4rem;
	letter-spacing: .05rem;
	font-weight: 400;
	line-height: 1.75;
	color: #222;
	text-align: left;
	background-color: #fff;
}

a
{
	transition-property: all;
	transition: 0.3s linear;
}

/*
--------------------------------
page construction
--------------------------------
*/

.page-header, .page-footer { }
.page-header:before { content: ''; }
.page-content:before { content: ''; }
.page-footer:before { content: ''; }
.page-header { }
.page-content { }
.page-footer { }

.page-header:before, .page-content:before, .page-footer:before
{
	display: block;
	text-align: center;
}

/* sectioning wrapper */
.content-outer { padding: 0; }

.content-inner
{
	 max-width: 1200px; margin: 0 auto; padding: 0 15px ;
}


/*
----------------------------------------------------------------
page header
----------------------------------------------------------------
*/

.page-header { padding: 10px 0; border-bottom: 1px solid #eee;}
.page-header h1 { margin: 0; }

.page-header h1 img.logo
{
	display: inline-block;
	height: 20px;
	width: auto;
}

@media screen and (max-width: 400px)
{
.page-header h1 img.logo
{
	height: 15px;
	width: auto;
}
}

/*
----------------------------------------------------------------
page content
----------------------------------------------------------------
*/

.page-content { padding: 0 0; }

.page-content section
{
	padding: 0 0;
	margin: 0;
}

/*
----------------------------------------------------------------
page footer (see below)
----------------------------------------------------------------
*/


/*
----------------------------------------------------------------
header brand 
----------------------------------------------------------------
*/

.header-brand
{
	padding: 0;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-ms-flex-align: center;
	align-items: center;
}

.header-brand h1.brand
{
	font-size: 1.2rem;
	font-weight: 500;
	letter-spacing: .2rem !important;
	display: inline-block;
	padding: 20px 0;
}

.header-brand nav { margin-left: auto; }
.header-brand nav ul.menu { margin-bottom: 0; }
.header-brand nav li { display: inline; }
.header-brand nav li a { margin: 0 0 0 10px; }

/*
--------------------------------
menu
--------------------------------
*/

/* menu icon*/
.header-brand .menu-icon { display: none; }

/* menu btn */
.header-brand .menu-btn { display: none; }

/* response setting */

@media screen and (max-width: 800px)
{
	.header-brand
	{
		position: relative;
		z-index: 3;
		display: block;
	}
	
	.header-brand nav > ul
	{
		margin: 0;
		padding: 0;
		list-style: none;
		overflow: hidden;
		background-color: #fff;
		max-height: 0;
		transition: max-height .25s ease-out;
	}
	
	.header-brand nav li a
	{
		display: block;
		padding: 15px 20px;
		text-decoration: none;
		margin: 0;
	}
	
	.header-brand nav li a:hover,
	.header-brand .menu-btn:hover { background-color: #f4f4f4; }
	
	/* menu */
	.header-brand .menu { }
	
	/* menu icon*/
	.header-brand .menu-icon
	{
		cursor: pointer;
		display: inline-block;
		padding: 28px 20px;
		position: absolute;
		top: 0;
		right: 0;
		user-select: none;
	}
	
	.header-brand .menu-icon .navicon
	{
		background: #333;
		display: block;
		height: 2px;
		position: relative;
		transition: background .25s ease-out;
		width: 18px;
	}
	
	.header-brand .menu-icon .navicon:before,
	.header-brand .menu-icon .navicon:after
	{
		background: #333;
		content: '';
		display: block;
		height: 100%;
		position: absolute;
		transition: all .25s ease-out;
		width: 100%;
	}
	
	.header-brand .menu-icon .navicon:before { top: 5px; }
	.header-brand .menu-icon .navicon:after { top: -5px; }
	
	/* menu btn */
	.header-brand .menu-btn { display: none; }
	
	.header-brand .menu-btn:checked ~ .menu
	{
		max-height: 300px;
		margin-bottom: 30px;
	}
	
	.header-brand .menu-btn:checked ~ .menu-icon .navicon { background: transparent; }
	.header-brand .menu-btn:checked ~ .menu-icon .navicon:before { transform: rotate(-45deg); }
	.header-brand .menu-btn:checked ~ .menu-icon .navicon:after { transform: rotate(45deg); }
	.header-brand .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
	.header-brand .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after { top: 0; }
}

/*
--------------------------------
menu rev
--------------------------------
*/

.header-brand ul.menu > li { position: relative; }

.header-brand ul.menu li ul li a {}
.header-brand ul.menu li ul li a:before { font-family: "Font Awesome 5 Free"; content:'\f0da  '}

@media screen and (min-width: 800px)
{
  .header-brand ul.menu li ul
  {
    display: block;
    position: absolute;
    top: 15px;
    left: 0;
    width: 300px;
    padding-top: 30px;
    opacity: 0;
    visibility: hidden;
    transition: .5s;
    z-index: 100;
  }

  .header-brand ul.menu li:hover ul
  {
    visibility: visible;
    opacity: 1;
    -webkit-transition: all .5s;
    transition: all .5s;
  }


  .header-brand ul.menu li ul li a
  {
    display: block;
    padding: 10px 15px !important;
    background-color: rgba(10,10,10,.8);
    color: #fff;
    font-size: 1.4rem;
  }

  .header-brand ul.menu li ul li a:hover { background-color: rgba(128,128,128,.8);}

}

/* response setting */

@media screen and (max-width: 800px)
{
  
  	.header-brand nav li li a { padding-left: 40px;}
	  .header-brand.rev .menu-btn:checked ~ .menu
    {
      max-height: 3000px;
    }
}

/*
----------------------------------------------------------------
page footer
----------------------------------------------------------------
*/

.page-footer { border-top: 1px solid #eee;}

.page-footer * { font-size: 1.2rem !important; }

.page-footer nav
{
	display: flex;
  -ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-align: center;
	align-items: center;
	margin: 20px auto;
	padding: 0;
}

nav .divider a:before { content:' | ' }

nav .divider a:first-child:before { content: none; }

nav.nav-btm { border-top: 1px solid #ddd; padding-top: 10px;}

.nav-top .logo img { width: 100%; max-width: 240px; height: auto; }
.nav-btm .logo img { width: 100%; max-width: 172px; height: auto; }

@media screen and (max-width: 860px)
{
	.page-footer nav
	{
		display: block;
		text-align: center;
	}
	
	.page-footer nav a.logo
	{
		display: inline-block;
    margin-bottom: 1.0rem;
	}
}

/*
================================================================
common style
================================================================
*/

.text .note p { font-size: 1.2rem;}

.text a { text-decoration: underline; color: #06c;}

/*
----------------------------------------------------------------
heading
----------------------------------------------------------------
*/

.h
{
	font-weight: bold;
	letter-spacing: .05rem;
}

.h i
{
	font-style: normal;
	font-weight: normal;
	font-size: 1.4rem;
	letter-spacing: 0;
}

.text > .cmp-text.h > p,
.title > .cmp-title.h > * { margin-bottom: 0;}

/*
----------------------------------------------------------------
character font
----------------------------------------------------------------
*/

.en  { font-family: 'Lato', sans-serif; letter-spacing: .2rem;}

.serif {font-family: 'Noto Serif JP', serif; }


/*
----------------------------------------------------------------
button
----------------------------------------------------------------
*/

button, .btn
{
	margin: 1.5rem .75rem !important;
	padding: 1rem 1.5rem !important;
	display: inline-block;
	text-align: center;
	transition-property: all;
	transition: 0.3s linear;
	letter-spacing: .2rem !important;
	min-width: 200px;
	border-radius: 24px;
	border: 2px solid #ccc;
	background-color: transparent;
}

button[type="submit"], .btn[type="submit"] { font-weight: bold;}

button[type="reset"], .btn[type="reset"],
button[name="return"], .btn[type="return"] { background-color: #eee;}

button:hover, .btn:hover
{
	background-color: rgba(10,10,10, 0.2);
	color: #222;
}

button.center, a.button.center { display: block; min-width: 220px; margin-left: auto !important; margin-right: auto !important;}

/*
--------------------------------
button black
--------------------------------
*/

button.btn-bg-black, a.btn.btn-bg-black
{
	background-color: rgba(10,10,10, 1);
	color: #fff;
}

button.btn-bg-black:hover, a.btn.btn-bg-black:hover
{
	background-color: rgba(10,10,10, .5);
	border: 1px solid #999;
}

/*
--------------------------------
button white
--------------------------------
*/

button.btn-white, a.btn.btn-white
{
	border: 1px solid #fff;
	color: #fff;
}

/*
--------------------------------
button large
--------------------------------
*/

button.large { padding: 1.5rem !important;}

/*
--------------------------------
external link
--------------------------------
*/

.ex-link:after { font-family: "Font Awesome 5 Free"; content: "\f360"; display: inline-block; margin-left: .25rem;}
.ex-link.blk:after { color: black;}

/*
--------------------------------
images
--------------------------------
*/

.border img { display: inline-block; border: 1px solid #ddd;}

/*
----------------------------------------------------------------
hero
----------------------------------------------------------------
*/

.page-content section.hero
{
	padding: 0;
	border-top: none;
}

.hero .content-inner { position: relative; padding: 0;}

.hero p { margin-bottom: 0;}

/*
----------------------------------------------------------------
imhds device setting
----------------------------------------------------------------
*/

.is-pc { display: block; }

@media screen and (max-width: 768px)
{
	.is-pc { display: none; }
}

.is-tablet { display: none; }

@media screen and (max-width: 768px)
{
	.is-tablet { display: block; }
}

.is-sp { display: none; }

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

.is-desktop { display: none; }
body.desktop .is-desktop { display: block; }
.is-nodesktop { display: block; }
body.desktop .is-nodesktop { display: none; }

/*
----------------------------------------------------------------
article list setting
----------------------------------------------------------------
*/

.col__items,
.col .post-list__items
{
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-ms-flex-align: center;
	align-items: center;
}

/* columns */

.col-3.col__item,
.col-3 .post-list__item
{
	width: calc(33.3% - 30px);
	padding: 15px;
	margin: 0 15px;
}

.col-4.col__item,
.col-4 .post-list__item
{
	width: calc(25% - 30px);
	padding: 15px;
	margin: 0 15px;
}

.col-5.col__item,
.col-5 .post-list__item
{
	width: calc(20% - 30px);
	padding: 15px;
	margin: 0 15px;
}

/* response setting */

@media screen and (max-width: 768px)
{
  .col-3.col__item,
  .col-3 .post-list__item
  {
    width: 100%;
  }

  .col-4.col__item,
  .col-4 .post-list__item
  {
    width: 100%;
  }

  .col-5.col__item,
  .col-5 .post-list__item
  {
    width: 100%;
  }
}

.col__item,
.col .post-list__item { position: relative; }

.col__item .col__img img,
.col .post-list__item .post-list__img img
{
	display: inline-block;
	margin-bottom: 10px;
}

.col__item .col__title,
.col .post-list__item .post-list__title { font-size: 1.6rem; }

/*
----------------------------------------------------------------
card list setting
----------------------------------------------------------------
*/

.card.outer { padding: 15px; }

.card.inner
{
	padding: 30px 30px 20px;
	background-color: #fff;
	position: relative;
}

.card .h,
.card .h p { margin-bottom: 0; }

/* biz */
.biz .icon { margin-bottom: 0; }

.biz .icon img
{
	max-width: 160px;
	width: 100%;
	height: auto;
}

/* icons list setting */

.icons {margin-bottom: 50px;}

.icons .card.outer { padding: 0; }

.icons .card.inner { padding: 0;}

.icons .icon img
{
	max-width: 128px;
	width: 100%;
	height: auto;
}

.icons .card .h { margin-bottom: 1rem;}

/*
----------------------------------------------------------------
condition list (news)
----------------------------------------------------------------
*/

/* list top border */
.news .news__items { border-top: 1px solid #ccc;}

.news .news__entry, 
.news .news__item { border-bottom: 1px solid #ccc; padding: 15px 0; position: relative;}
.news .news__date { display: inline-block; margin-right: 1.5rem;}
.news .news__title { display: inline-block; font-size: 1.5rem; margin-bottom: 0;}

.news .news__entry p, 
.news .news__item p,
.news .news__date p,
.news .news__title p { margin-bottom: 0;}

/*
----------------------------------------------------------------
article list box link setting
----------------------------------------------------------------
*/

.col__item .box-link,
.news__entry .box-link,
.news__item .box-link,
.card.inner .box-link,
.post-list__item .box-link
.item .box-link
{
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
	display: block;
	width: 100%;
	height: 100%;
	outline: none;
	border: none;
}

.col__item .box-link:hover,
.news__entry .box-link:hover,
.news__item .box-link:hover,
.card.inner .box-link:hover,
.post-list__item .box-link:hover,
.item .box-link:hover
{
  background-color: rgba(0,0,0,.1) ;
  transition: all .25s ease-out;
}

/*
----------------------------------------------------------------
column img apearance option
----------------------------------------------------------------
*/

.col img { border: 1px solid #eee;}

/*
----------------------------------------------------------------
table style
----------------------------------------------------------------
*/

.table { /*border-top: 1px solid #ccc;*/ margin: 20px 0;}

.table .thead { border-bottom: 2px solid #ddd; font-weight: 500;}

.table .tr { border-bottom: 1px solid #ccc;}

.table .tr p,
.table .th p { font-size: ; margin: 1rem;}

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

.table .thead { display: none;}
.table .th { font-weight: 500;}

}

/*
================================================================
each page styling
================================================================
*/

/*
--------------------------------
"page" construntion
--------------------------------

.page-content

  .hero
  
  .main
    
    .page-content-head
    
    .page-content-body

*/

/*
----------------------------------------------------------------
common
----------------------------------------------------------------
*/


/*
--------------------------------
page-content
--------------------------------
*/

.page-content section
{
	margin: 0;
	padding: 50px 0;
}

/*
--------------------------------
page-content-header
--------------------------------
*/

.page-content-header * { text-align: center; }
.page-content-header .title {margin-bottom: 20px; }

/* 
--------------------------------
page headers
--------------------------------
*/

.page .section-header { border: 1px solid #ccc; padding: 1.0rem 1.25rem; font-size: 1.8rem; margin-bottom: 3rem;}
.page .section-header p { margin-bottom: 0;}
.page .section-header * { font-weight: normal ;}

.page .subsection-header { border-bottom: 2px solid #ddd; padding: 1.0rem 1.0rem; font-size: 1.6rem; margin-bottom: 2rem;}

.page .item-header { padding: 1.0rem 1.0rem; font-size: 1.6rem; margin-bottom: 1rem; }
.page .item-header p:before { content: "■"; display: inline-block; margin-right: .5rem;}


/*
----------------------------------------------------------------
home
----------------------------------------------------------------
*/

/*
--------------------------------
hero
--------------------------------
*/

body.home .hero
{
	position: relative;
	height: 480px;
	background-image: url('https://www.imhds.co.jp/content/dam/im-bs/img/bg/bg-hero-home.jpg');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

body.home .hero .hero-content { 
  position: absolute; 
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  background-color: rgba(255,255,255,.75);
  padding: 20px 15px;
}

body.home .hero .hero-content p { font-weight: 300; font-size: 2.4rem; line-height: 1.8; letter-spacing: .25rem; margin-top: 10px;}

body.home .hero .hero-content .logo img { height: 18px; max-height: 18px; width: auto;}


/*
--------------------------------
home body nav
--------------------------------
*/

body.home .main nav .item { 
  position: relative;  
  height: 240px; 
  overflow: hidden; 
  margin-bottom: 30px;  
  background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	transition-property: all;
	transition: 0.3s linear;
}

body.home .main nav .item:after {
  content: '';
  background-color: rgba(0,0,0,.5);
  position: absolute;
  width: 100%;
  height: 240px;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  transition-property: all;
	transition: 0.3s linear;
}

body.home .main nav .item:hover:after { 
  background-color: transparent;
}


body.home .main nav .item .item-content { 
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  z-index: 10;
}

body.home .main nav .item .item-content .text p { font-size: 1.6rem;}

/*
----------------
background image
----------------
*/

body.home .main nav .item .item-content * { color: #fff;}

.home nav .item.company {	background-image: url('https://www.imhds.co.jp/content/dam/im-bs/img/bg/bg-nav-company.jpg');}
.home nav .item.business {	background-image: url('https://www.imhds.co.jp/content/dam/im-bs/img/bg/bg-nav-business.jpg');}
.home nav .item.recruit {	background-image: url('https://www.imhds.co.jp/content/dam/im-bs/img/bg/bg-nav-recruit.jpg');}

body.home .main nav .item .item-content .en { margin-bottom: 10px;}
body.home .main nav .item .item-content button { margin-bottom: 0 !important; }

/*
----------------
box link
----------------
*/

body.home .main nav .item .box-link { 
  position: absolute;
	top: 0;
	left: 0;
	z-index: 11;
	display: block;
	width: 100%;
	height: 100%;
	outline: none;
	border: none;
}

/*
----------------------------------------------------------------
page 
----------------------------------------------------------------
*/

/* 
--------------------------------
page hero
--------------------------------
*/

.page .page-content section.hero { 
	position: relative;
	padding: 50px 0; 
	height: 160px;
	background-color: #fafafa;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
}

.page .page-content section.hero.bg:after {
  content: '';
  background-color: rgba(0,0,0,.5);
  position: absolute;
  width: 100%;
  height: 160px;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  transition-property: all;
	transition: 0.3s linear;
}

.page .page-content section.hero.bg * { color: #fff;}

.page .page-content section.hero .page-content-header { position: relative; margin-bottom: 0; z-index: 1;}


/*
----------------
background image
----------------
*/

.page.company .page-content section.hero {	background-image: url('https://www.imhds.co.jp/content/dam/im-bs/img/bg/bg-hero-company.jpg');}
.page.business .page-content section.hero {	background-image: url('https://www.imhds.co.jp/content/dam/im-bs/img/bg/bg-hero-business.jpg');}
.page.recruit .page-content section.hero {	background-image: url('https://www.imhds.co.jp/content/dam/im-bs/img/bg/bg-hero-recruit.jpg');}

/*
--------------------------------
 main content block 
--------------------------------
*/

body.page .main { padding: 30px 0 0;}

/*
.page .single .main .content-inner { max-width: 800px;}

.page .single .main .fig { margin-bottom: 1rem;}

.page .caption {font-size: .9rem;}

.page .text p a
{
	display: inline-block;
	border: 1px solid #222;
	padding: .5rem 1rem;
	margin-right: .5rem;
	margin-left: .5rem;
}
.page .normal.text p a,
.page .normal .text p a { border: none; padding: 0; margin: 0; color: cornflowerblue; font-weight: 500; text-decoration: underline;}

.page .normal.text p a:hover,
.page .normal .text p a:hover { background-color: transparent; color: royalblue;}

.page .text p a:hover
{
	background-color: rgba(10,10,10, 0.2);
	color: #222; 
}

*/

/*
--------------------------------
page-content-head 
--------------------------------
*/

body.page .main .page-content-head { padding: 30px 0; max-width: 800px; margin: 0 auto;}

body.page .main .page-content-head * { text-align: center;}

body.page .main .page-content-head .h { font-family: 'Noto Serif JP', serif; font-weight: 400; line-height: 1.5; letter-spacing: .25rem;}

body.page .main .page-content-head .lead { font-weight: 300; font-size: 1.6rem; line-height: 1.8;  }

body.page .main .page-content-head .lead * { text-align: left !important; }

/*
.page-content-body header .h { letter-spacing: .05rem;}
.page-content-body .lead { font-size: 1.25rem; line-height: 1.75; font-weight: 300; letter-spacing: .05rem; ;}
*/

/*
--------------------------------
page-content-body 
--------------------------------
*/

body.page .main .page-content-body { padding: 30px 0 60px; }

body.page .main .page-content-body .content-inner { max-width: 640px; }

.page-content-body section .lead { margin-bottom: 3rem; font-weight: 500;}

.page-content-body .fig { text-align: center; margin-bottom: 2rem;}

/* image caption */
.page-content-body .fig span.cmp-image__title { display: block; text-align: center; margin: .5rem auto 0; font-size: 1.2rem;}

/* 
--------------------------------
each page style
--------------------------------
*/

.company .signature img { width: 128px; height: auto;}


/*
--------------------------------
contact 
--------------------------------
*/

/* overriding old style */

.form-attn { background-color: #c00; border-radius: 2px; font-weight: 400; font-size: .9rem; padding: 3px 4px 4px; line-height: 1;}

.contact .btn { line-height: 1.25 !important;}

.txt-sm { margin-top: .25rem; font-size: 1.1rem;}

/*
.contact .form.new .form-header:before
{
	display: inline-block;
	vertical-align: top;
	margin-right: .5rem;
	content: '新規項目';
	font-size: 10px;
	color: red;
	border: 1px solid red;
	padding: 2px 4px;
}
*/










/*
[EOF]
*/