@charset "utf-8";
/* ==========================================================================
   森松工業について
   ========================================================================== */

/* ----------------------------------
   ダイジェスト
   ---------------------------------- */
/* 導入部 */
.digest-intro { position: relative;}
.digest-intro__layer {
	padding: 10px 16px 16px;
	background: #f2f2f2;
	font-size: 12px;
	font-size: 1.2rem;
}
.digest-intro__title {
	font-size: 16px;
	font-size: 1.6rem;
	font-size: 5vw;
	font-weight: bold;
	text-align: center;
}

@media screen and (max-width:40em) {
	.digest-intro { margin: -16px -16px 0;}
}
@media print, (min-width:40.0625em) {
	.digest-intro {
		width: 100%;
		height: 0;
		padding-top: 46.66%;
	}
	.digest-intro__image {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}
	.digest-intro__layer {
		position: absolute;
		left: 0;
		top: 50%;
		z-index: 1;
		width: 100%;
		padding: 20px;
		background: rgba(255,255,255,.7);
		font-size: 13px;
		font-size: 1.3rem;
		font-weight: bold;
		text-align: center;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	.digest-intro__title {
		line-height: 1.4;
		margin-bottom: 10px;
		font-size: 30px;
		font-size: 3rem;
		font-weight: bold;
	}
}
@media print, (min-width:60.0625em) {
	.digest-intro__layer {
		line-height: 2;
		padding: 25px 20px;
	}
	.digest-intro__title {
		line-height: 1.4;
		margin-bottom: 16px;
		font-size: 35px;
		font-size: 3.5rem;
		font-weight: bold;
	}
}

/* 各章設定 */
.digest__heading {
	margin: 30px 0 20px 0;
	text-align: center;
}
.digest__btn {
	display: block;
	max-width: 430px;
	line-height: 1.2;
	margin: 20px auto;
	padding: 12px 8px;
	border: 1px solid #015db2;
	color: #015db2;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	text-decoration: none !important;
}
.digest__btn:after {
	display: inline-block;
	content: "";
	position: relative;
	top: -1px;
	width: 20px;
	height: 20px;
	margin-left: 5px;
	background-repeat: no-repeat;
	background-image: url(../../common_v2/img/ico-btn.png);
	background-size: 40px 30px;
	background-position: 0 -10px;
	vertical-align: middle;
}
.digest__btn small {
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: normal;
}
.no-bgsizecover .digest__btn:after {
	background-position: 0 0;
}
.no-touchevents .digest__btn:hover {
	background: #015db2;
	color: #fff;
}
.no-touchevents .digest__btn:hover .icon-logo {
	color: #fff;
	transition: color .3s;
}
.digest__image-set {
	page-break-inside: avoid;
}

@media screen and (max-width:40em) {
	.digest__heading .heading__title {
		font-size: 18px;
		font-size: 1.8rem;
		font-size: 5.5vw;
	}
	.digest__image {
		float: none;
		margin: 20px auto;
		text-align: center;
	}
}
@media print, (min-width:40.0625em) {
	.digest__heading { margin: 50px 0 40px 0;}
	.digest__text {
		width: 60%;
	}
	.digest__image {
		width: 38%;
		margin: 0;
	}
	.digest__btn {
		font-size: 18px;
		font-size: 1.8rem;
	}
	.digest__btn small {
		font-size: 15px;
		font-size: 1.5rem;
	}
}
@media print, (min-width:60.0625em) {
	.digest__text {
		width: 50.66%;
	}
	.digest__image {
		width: 46.66%;
		margin: 0;
	}
}

.digest01,
.digest02,
.digest03,
.digest04,
.digest05 { position: relative;}
.number__image { display: none;}
@media screen and (max-width:60em) {
	.digest__number {
		margin: 20px 0 30px;
		padding: 10px;
		border-radius: 10px;
		background: #015db2;
		color: #fff;
		text-align: center;
		font-weight: bold;
	}
	.digest__number .icon-logo {
		color: inherit;
	}
	.number__title {
		font-size: 16px;
		font-size: 1.6rem;
	}
	.number__num,
	.number__desc {
		display: inline-block;
		vertical-align: middle;
	}
	.number__num {
		width: 40%;
		position: relative;
		z-index: 1;
		line-height: 1;
		margin: 6px 0;
		padding: 6px 0;
		border-right: 1px solid #fff;
		color: #fcee21;
		font-size: 17px;
		font-size: 1.7rem;
	}
	.number__num > strong {
		margin-right: 4px;
		font-size: 46px;
		font-size: 4.6rem;
		letter-spacing: -.025em;
	}
	.csstransforms .number__num:after {
		display: block;
		content: "";
		position: absolute;
		right: -4px;
		top: 50%;
		z-index: -1;
		width: 10px;
		height: 10px;
		margin-top: -5px;
		background: #015db2;
		box-shadow: 1px 1px 0 #fff;
		-webkit-transform: rotate(-45deg);
		-ms-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.number__desc {
		width: 58%;
		line-height: 1.4;
		padding-left: 14px;
		font-size: 13px;
		font-size: 1.3rem;
	}
}
@media screen and (max-width:35em) {
	.digest01 .number__num { width: 44%;}
	.digest01 .number__desc { width: 54%;}
	.digest01 .number__num > strong {
		font-size: 36px;
		font-size: 3.6rem;
	}
}
@media screen and (min-width:40.0625em) and (max-width:60em) {
	.number__num {
		font-size: 22px;
		font-size: 2.2rem;
	}
	.number__num > strong {
		font-size: 60px;
		font-size: 6rem;
	}
	.number__desc {
		font-size: 15px;
		font-size: 1.5rem;
	}

	.digest03 .number__num,
	.digest04 .number__num,
	.digest03 .number__desc,
	.digest04 .number__desc {
		display: block;
		width: 100%;
	}
	.digest03 .number__num,
	.digest04 .number__num {
		border-right: none;
		border-bottom: 1px solid #fff;
	}
	.digest03 .number__num:after,
	.digest04 .number__num:after {
		left: 50%;
		top: auto;
		right: auto;
		bottom: -4px;
		margin: 0 0 0 -5px;
		-webkit-transform: rotate(45deg);
		-ms-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.digest03 .number__desc,
	.digest04 .number__desc {
		padding: 10px 0 0 0;
	}
}
@media print, (min-width:60.0625em) {
	.number__title,
	.number__num,
	.number__desc { display: none;}
	.number__image { display: block;}

	.digest01 .digest__number,
	.digest02 .digest__number,
	.digest04 .digest__number,
	.digest05 .digest__number {
		position: absolute;
		bottom: 0;
		margin: 0;
	}

	.digest01 { padding-bottom: 100px;	}
	.digest01 .digest__number { left: 42%;}

	.digest02 { padding-bottom: 60px;}
	.digest02 .digest__number { right: 4%;}

	.digest03 { padding-bottom: 60px;}
	.digest03 .digest__number {
		position: absolute;
		left: 1%;
		bottom: 0;
	}

	.digest04 {
		margin-bottom: 20px;
		padding-bottom: 60px;
	}
	.digest04 .digest__number { right: 0;}

	.digest05 { padding-bottom: 60px;}
	.digest05 .digest__number { left: 4%;}
}


/* ----------------------------------
   私たちの強み
   ---------------------------------- */
.excellence__intro {
	height: 300px;
	padding: 24px;
	background: url(../img/excellence_p01.jpg) no-repeat center center;
	background-size: cover;
	font-weight: bold;
}
.excellence__intro p { margin: 0;}

@media screen and (max-width:60em) {
	.excellence__intro {
		height: 300px;
		margin: -16px -16px 30px;
		font-size: 13px;
		font-size: 1.3rem;
	}
	.excellence__intro br { display: none;}
}
@media print, (min-width:40.0625em) {
	.excellence__intro {
		line-height: 1.86;
		margin: 0 0 40px;
		font-size: 15px;
		font-size: 1.5rem;
		text-align: center;
	}
}

.excellence__three {
	list-style: none;
	margin: 0;
	padding: 0;
}
.excellence__three > li { margin-top: 20px;}
.three__num {
	margin-bottom: 10px;
	color: #333;
	font-size: 20px;
	font-size: 2rem;
}
.three__num:before {
	display: inline-block;
	content: attr(data-num);
	width: 1.2em;
	line-height: 1;
	margin: 0 6px 6px 0;
	border-bottom: 3px solid;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 30px;
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
}
.three__text {
	margin-top: 10px;
	font-size: 14px;
	font-size: 1.4rem;
}

.excellence__street {
	position: relative;
	margin-top: 60px;
	padding: 16px;
	background: #015db2 url(../img/excellence_bg@2x.png) repeat center top;
	background-size: 20px 20px;
	color: #fff;
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: bold;
}
.excellence__street:before,
.excellence__street:after { content: ""; display: table;}
.excellence__street:after { clear: both;}
.street__title {
	margin-bottom: 10px;
	font-size: 20px;
	font-size: 2rem;
	font-size: 5.4vw;
}
.street__text {
	margin-top: 10px;
	font-size: 13px;
	font-size: 1.3rem;
}
.street__btn,
.business__btn {
	display: block;
	width: 90%;
	max-width: 300px;
	line-height: 40px;
	margin: 0 auto;
	border: 1px solid #015db2;
	background: #fff;
	color: #015db2;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: bold;
	text-align: center;
	text-decoration: none !important;
}
.street__btn { border: 1px solid #fff;}
.street__btn i,
.business__btn i {
	position: relative;
	top: -2px;
	margin-left: 6px;
	font-size: 1.2em;
	vertical-align: middle;
}
.no-touchevents .street__btn:hover,
.no-touchevents .business__btn:hover {
	background: #015db2;
	color: #fff;
}

.business {
	list-style: none;
	margin: 0;
	padding: 0;
}
.business li:before,
.business li:after { content: ""; display: table;}
.business li:after { clear: both;}
.business li + li { margin-top: 40px;}
.business__image img { width: 100%;}
.business__text { margin-top: 12px;}
.business__text p {
	font-size: 13px;
	font-size: 1.3rem;
}
@media print, (min-width:40.0625em) {
	.excellence__three > li {
		float: left;
		width: 30.9333%;
		margin-top: 0;
		margin-left: 3.2%;
	}
	.excellence__three > li:first-child {
		margin-left: 0;
	}
	.three__num:before {
		display: block;
		margin: 0 0 6px;
		font-size: 40px;
		font-size: 4rem;
	}

	.excellence__street { padding: 30px 20px;}
	.street__title,
	.street__text {
		width: 57.746%;
		margin-top: 0;
	}
	.street__title {
		float: left;
		margin-bottom: 16px;
		font-size: 25px;
		font-size: 2.5rem;
	}
	.street__image {
		float: right;
		width: 39.436%;
	}

	.business li { position: relative;}
	.business li + li {
		clear: both;
		margin-top: 0;
		padding-top: 50px;
	}
	.business__image {
		float: left;
		width: 50%;
	}
	.business__text {
		margin-top: 0;
		margin-left: 52.66%;
	}
	.street__btn,
	.business__btn {
		width: 100%;
		max-width: none;
		line-height: 45px;
		font-size: 18px;
		font-size: 1.8rem;
	}
	.street__btn {
		position: absolute;
		left: 20px;
		bottom: 30px;
		width: 54.66%;
	}
	.business__btn {
		position: absolute;
		right: 0;
		bottom: 0;
		width: 47.333%;
	}
}
@media screen and (min-width:40.0625em) and (max-width:60em) {
	.street__title {
		margin-bottom: 10px;
		font-size: 20px;
		font-size: 2rem;
		font-size: 3.2vw;
	}
}


/* ----------------------------------
   MORIMATSUの歴史
   ---------------------------------- */
.history__table {
	width: 100%;
}
.history__table tr:nth-child(odd) { background: #ebf2f9;}
.history__table th,
.history__table td {
	padding: 8px 10px;
}
.history__table th {
	color: #015db2;
	font-size: 11px;
	font-size: 1.1rem;
	font-weight: normal;
}
.history__table th span {
	font-size: 14px;
	font-size: 1.4rem;
}
.history__table ul {
	list-style: none;
	margin-bottom: 0;
	padding-left: 0;
}
.history-global { color: #f7931e;}
.history__table li {
	padding-left: 1em;
	text-indent: -1em;
}
.history__table li:before { content: "\030FB";}
.history__table li.history-global {
	padding-left: 24px;
	text-indent: -24px;
}
.history__table li.history-global:before { display: none;}
.icon-global {
	position: relative;
	top: -1px;
	font-size: 24px;
	vertical-align: middle;
}
@media screen and (max-width:60em) {
	.history__table th,
	.history__table td {
		display: list-item;
		list-style: none;
		width: 100%;
	}
	.history__table th {
		width: 12em;
		padding: 10px 10px 2px 10px;
		white-space: nowrap;
	}
	.history__table td { padding: 2px 10px 10px 10px;}
}


.history-image img {
	display: inline-block;
	vertical-align: top;
}
.history-image img + img { margin-left: 10px;}
figure.history-image img { margin-bottom: 4px;}
figure.history-image figcaption {
	font-size: 12px;
	font-size: 1.2rem;
}

@media screen and (max-width:40em) {
	.history-image { margin-bottom: 10px;}
}
@media print, (min-width:40.0625em) {
	.history-image {
		float: right;
		margin-left: 16px;
	}
	figure.history-image {
		display: table;
		direction: rtl;
	}
	figure.history-image img {
		display: table-cell;
	}
	.history-image figcaption {
		display: table-cell;
		direction: ltr;
		padding-right: 8px;
		vertical-align: bottom;
	}
}
@media screen and (max-width:60em) {
	.history-image { margin: -24px 0 10px;}
}
