@charset "UTF-8";

.m-lb01__title {
	margin-bottom: 80px;
}

.company-intro {
	padding: 115px 0;
}

.company-intro__inner {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	gap: 90px;
}

.company-intro__image {
	-webkit-box-flex: 0;
	    -ms-flex: 0 0 510px;
	        flex: 0 0 510px;
}

.company-intro__body {
	-webkit-box-flex: 0;
	    -ms-flex: 0 1 600px;
	        flex: 0 1 600px;
}

.company-intro__author {
	margin-top: 36px;
	font-size: 1.875em;
}

.company-intro__author .small {
	font-size: 0.667em;
}

.company-message__inner {
	position: relative;
	background: url("../image/rinen_bg.jpg") 50% 50% no-repeat;
	background-size: cover;
}

.company-message__inner::before {
	content: "";
	position: absolute;
	inset: 0;
	background: #865F3E;
	mix-blend-mode: multiply;
}

.company-message .m-inner {
	position: relative;
	z-index: 1;
	padding: 164px 0 122px;
}

.company-message__bgText {
	position: absolute;
	left: 0;
	top: 0;
	-webkit-transform: rotate(90deg) translate(-.1em, -.7em);
	        transform: rotate(90deg) translate(-.1em, -.7em);
	-webkit-transform-origin: left top;
	        transform-origin: left top;
	margin: 0;
	color: var(--color-sub);
	font-size: 121px;
	letter-spacing: 0.06em;
	line-height: .8;
	opacity: .3;
}

.company-message__cont {
	position: relative;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 118px;
	border-bottom: solid 1px #fff;
	max-width: 1100px;
	padding: 122px 0 60px 60px;
	margin: 0 auto;
	color: #fff;
}

.company-message__cont::before,
.company-message__cont::after {
	content: "";
	position: absolute;
	top: 0;
	display: block;
	width: calc(50% - 46px);
	border-top: solid 1px #fff;
}

.company-message__cont::before {
	left: 0;
}

.company-message__cont::after {
	right: 0;
}

.company-message__head {
	position: absolute;
	left: 50%;
	top: 0;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
}

.company-message__title {
	margin: 0;
	font-size: 22px;
	font-weight: 500;
	letter-spacing: .33em;
	line-height: 1;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}

.company-message__copy {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	    -ms-flex-align: start;
	        align-items: flex-start;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	    -ms-flex-direction: row-reverse;
	        flex-direction: row-reverse;
	gap: 22px;
}

.company-message__copy span {
	display: block;
	margin: 0;
	padding: 22px 10px;
	border-right: solid 1px var(--color-main);
	border-bottom: solid 1px var(--color-main);
	background: #fff;
	color: var(--color-text);
	font-size: 33px;
	line-height: 1.85;
	letter-spacing: .24em;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}

.company-message__body {
	font-size: 19px;
	letter-spacing: 0.025em;
	line-height: 3.158em;
}

.company-feature {
	padding: 145px 0 35px;
}

.company-feature__inner {
	position: relative;
}

.company-feature__list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 30px;
	margin-top: 100px;
}

.company-feature-card {
	position: relative;
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 0px;
	        flex: 1 1 0;
}

.company-feature-card__title {
	position: absolute;
	top: -40px;
	left: 26px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	gap: 15px;
	margin: 0;
	padding: 20px 15px 12px;
	background: #fff;
	border-right: 1px solid var(--color-main);
	font-size: 23px;
	font-weight: 500;
	letter-spacing: 0.22em;
	line-height: 1.1;
	-webkit-writing-mode: vertical-rl;
	    -ms-writing-mode: tb-rl;
	        writing-mode: vertical-rl;
}

.company-feature-card__title .num {
	position: relative;
	z-index: 1;
	color: #fff;
	font-size: 0.565em;/*13px*/
	letter-spacing: .282em;
}

.company-feature-card__title .num::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%) rotate(45deg);
	        transform: translate(-50%, -50%) rotate(45deg);
	display: block;
	width: 1.682em;
	height: 1.682em;/*37px*/
	background: var(--color-main);
}

.company-feature-card__text {
	margin-top: 27px;
	letter-spacing: 0.025em;
	line-height: 1.875;
}

.company-profile {
	padding: 105px 0 135px;
}

.company-profile__cont {
	margin-top: -15px;
	padding: 60px 50px;
	background: #fff;
}

.company-profile__list {
	display: table;
	border-collapse: collapse;
	width: 100%;
	margin-top: -24px;
	line-height: 1.7;
}

.company-profile__row {
	display: table-row;
	border-bottom: 1px solid var(--color-gray);
}

.company-profile__row dt,
.company-profile__row dd {
	display: table-cell;
	vertical-align: middle;
	padding: 24px 82px 24px 62px;
}

.company-profile__row dt {
	width: 350px;
	border-bottom: 1px solid var(--color-main);
	color: var(--color-main);
	font-weight: 600;
	text-align: center;
}


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

	.m-lb01__title {
		margin-bottom: 25px;
	}

	.company-intro {
		padding: 55px 0;
	}

	.company-intro__inner {
		display: block;
	}

	.company-intro__image {
		max-width: 498px;
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}

	.company-intro__body {
		margin-top: 30px;
	}

	.company-message .m-inner {
		padding: 85px 0 60px;
	}

	.company-message__bgText {
		font-size: 54px;
	}

	.company-message__cont {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 25px;
		padding: 75px 0 30px;
	}

	.company-message__cont::before,
	.company-message__cont::after {
		width: calc(50% - 28px);
	}

	.company-message__title {
		font-size: 18px;
	}

	.company-message__copy {
		gap: 15px;
	}

	.company-message__copy span {
		padding: 18px 7px 14px;
		font-size: 21px;
	}

	.company-message__body {
		font-size: 15px;
		line-height: 2.7;
	}

	.company-feature {
		padding: 55px 0;
	}

	.company-feature__list {
		display: block;
		max-width: 380px;
		margin: 48px auto 0;
	}

	.company-feature-card {
		margin-top: 128px;
	}

	.company-feature-card:first-child {
		margin-top: 98px;
	}

	.company-feature-card__title {
		top: -95px;
		left: 2%;
		gap: 12px;
		padding: 16px 10px 7px;
		font-size: 19px;
	}

	.company-feature-card__text {
		margin-top: 18px;
	}

	.company-profile {
		padding: 25px 0 55px;
	}

	.company-profile__cont {
		margin-top: -7px;
		padding: 40px 7%;
	}

	.company-profile__list {
		margin-top: -12px;
	}

	.company-profile__row dt,
	.company-profile__row dd {
		padding: 12px .5em 12px 22px;
	}

	.company-profile__row dt {
		padding-left: .5em;
	}

	.company-profile__row dt {
		width: 100px;
	}

}
