@charset "UTF-8";

/*グリッドレイアウト*/
.grid {
	margin-right: -3%;
    overflow: hidden;	
}
.grid .gridElement {
	float: left;
    margin-right: 3%;
    width: 30.3333%;
	margin-bottom:30px;
}
@media screen and (max-width: 480px) {
.grid {
	margin-right: 0;
    overflow: hidden;	
}
.grid .gridElement {
	float:inherit;
    margin-right: 0;
    width: 100%;
}
}

/*============================================================================================
↓ボックス 共通レイアウト=====================================================================
============================================================================================*/
/*TOPと事業一覧　事業3カラム*/
.boxOverlapNarrow {
	position:relative;
}
.boxOverlapNarrow > .itemContainer {
	width:100%;
}
.boxOverlapNarrow > .itemContainer p {
	font-size:1.6em;
	line-height:1.6em;
	margin:5px 0;
}
.boxOverlapNarrow > .btnContainer {
	width:100%;
	position:absolute;
	bottom:15px;
}
.boxOverlapNarrow > .btnContainer .posRight {
	margin:0 10px 0 auto;
}

/*事業一覧　医療用医薬品のみ*/
.boxOverlap1col {
	position:relative;
}
.boxOverlap1col > .itemContainer {
	width:100%;
}
.boxOverlap1col > .itemContainer p {
	font-size:1.8em;
	line-height:1.8em;
	margin:5px 0;
}
.boxOverlap1col > .btnContainer {
	width:100%;
	position:absolute;
	bottom:15px;
}
.boxOverlap1col > .btnContainer .posRight {
	margin:0 10px 0 auto;
}

/*TOP　事業所スライダー*/
.boxOverlapTxt {
	position:relative;
	padding: 0 0 15px;
}
.boxOverlapTxt > .itemContainer {
	width:100%;
}
.boxOverlapTxt > .btnContainer {
	width:100%;
	position:absolute;
	bottom:0;
}
.boxOverlapTxt > .btnContainer .posRight {
	margin:0 10px 0 auto;
}
a.boxHover .boxTxt {
	position:relative;
	padding:0 0 15px;
}
a.boxHover .boxTxt:before{
	content:"";
	position:absolute;
	width:100%;
	height:1px;
	bottom:0;
	left:0;
	background-color:rgba(236,236,236,1);
}
a.boxHover .boxTxt p {
	font-size:1.6em;
	line-height:1.6em;
}
a.boxHover .boxTxt p span {
	font-size:0.8em;
}

/*TOP幅100%*/
.boxOverlapWide {
	position:relative;
	padding:0 0 30px;
}
.boxOverlapWide > .itemContainer {
	width:100%;
}
.boxOverlapWide > .itemContainer p {
	font-size:1.4em;
	line-height:1.6em;
	padding: 5px 0 15px;
}
.boxOverlapWide > .btnContainer {
	width:100%;
	position:absolute;
	bottom:0;
}
.boxOverlapWide > .btnContainer .posRight {
	margin:0 30px 0 auto;
}

@media screen and (max-width: 768px) {
.boxOverlapNarrow > .btnContainer,
.boxOverlap1col > .btnContainer {
	position:inherit;
	bottom: inherit;
}
.boxOverlapTxt > .btnContainer {
	bottom:0px;
}
.boxOverlapNarrow > .btnContainer .posRight,
.boxOverlap1col > .btnContainer .posRight,
.boxOverlapTxt > .btnContainer .posRight {
	margin:0 0 0 auto;
}
.boxOverlapTxt > .btnContainer .posRight {
	margin:0 10px 0 auto;
}
.boxOverlapWide > .btnContainer .posRight {
	margin:0 auto;
}
}


/*============================================================================================
↓ボックス共通 hoverアクション===========================================================================
============================================================================================*/
a.boxHover {
	position:relative;
	text-decoration:none;
	display: block;
}
a.boxHover img {
	width:100%;
	height:auto;
	transition: all 0.3s ease 0s;
}
a.boxHover:hover img,
a.boxHover:active img {
	opacity:0.6;
}

/*詳細ボタン*/
.boxHover .btnStyle {
	color:rgba(255,255,255,1);
	font-size:14px;
	text-align:center;
	width:90px;
	margin:0 auto;
	padding:20px 15px;
	background-color:rgba(46,75,167,1);
	box-sizing:border-box;
	transition: all 0.3s ease 0s;
}
.boxHover .btnStyle span.ico {
	position:absolute;
	top:50%;
	width:20px;
	height:20px;
	-webkit-transform:translate(0,-50%);
	transform:translate(0,-50%);
	background-image:url(../../assets/images/common/arr-wh-40px.png);
	background-position:0 0;
	background-repeat:no-repeat;
	background-size:cover;
	transition: all 0.3s ease 0s;
}
.boxHover:hover .btnStyle span.ico,
.boxHover:active .btnStyle span.ico {
	background-position:5px 0px;
}
@media screen and (max-width: 768px) {
.boxHover .btnStyle {
	width:80px;
	padding:10px;
}
}

/*詳細ボタン sweep*/
a.boxHover .sweep {
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  opacity:0;
  transition: all 0.3s ease 0s;
}
a.boxHover .sweep:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(58,167,194,1);
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
}
a.boxHover:hover .sweep, a.boxHover:focus .sweep, a.boxHover:active .sweep, a.boxHover.hover:active .sweep {
  color: white;
  opacity:1;
}
a.boxHover:hover .sweep:before, a.boxHover:focus .sweep:before, a.boxHover:active .sweep:before, a.boxHover.hover:active .sweep:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}
@media screen and (max-width: 768px) {
a.boxHover .sweep {
  opacity:1;
}
}