@charset "utf-8";

/* 個別設定
  ############################################################################################# */

.pageTitle {
	background-image: url("../imgs/bg-ttl.jpg");
}
.pageTitle .title {
	width: 12.5px;
}

#main section .wrap {
	position: relative;
}
.section02 .wrap::before,
.section03 .wrap::before,
.section04 .wrap::before {
	content: 'TSUNAGU CORPORATE SITE';
	display: block;
	position: absolute;
	left: -50px;
	font-family: "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HiraMinProN-W3", "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 12px;
	line-height: 1;
	transform: rotate(-90deg);
	transform-origin: left;
}
.section02 .wrap::before,
.section03 .wrap::before {
	top: 450px;
}
.section02 header,
.section03 header,
.section04 header {
	max-width: 970px;
	margin: 0 auto;
	position: relative;
}
.section02 header,
.section03 header {
	padding: 110px 0 0;
}
.section02 header .title,
.section03 header .title,
.section04 header .title {
	position: absolute;
	z-index: +2;
	font-size: 30px;
	font-weight: normal;
	line-height: 40px;
}
.section02 header .title,
.section03 header .title {
	top: 40px;
}
.section02 header .title span,
.section03 header .title span,
.section04 header .title span {
	display: block;
}
.subTitle {
	position: absolute;
	right: -185px;
	font-size: 12px;
	line-height: 1;
	transform: rotate(90deg);
	transform-origin: right;
}
.section02 .subTitle,
.section03 .subTitle {
	top: 440px;
}
.subTitle .en {
	display: inline-block;
	margin: 0 20px 0 0;
	border-right: 1px solid #ccc;
	padding: 0 20px 0 0;
}
.subTitle .tate {
	display: inline-block;
	transform: rotate(-90deg);
}
.subTitle .choon {
	transform: rotate(0);
}
.section02 header .image01,
.section03 header .image01 {
	width: 725px;
	position: relative;
	z-index: +1;
}
.section02 header .image02,
.section03 header .image02 {
	width: 350px;
	position: absolute;
	top: 0;
}
.section02 main,
.section03 main {
	display: flex;
	max-width: 895px;
	margin: 40px auto 0;
}
.section02 main .title02,
.section03 main .title02 {
	width: 420px;
}
.section02 main p,
.section03 main p {
	width: calc(100% - 420px);
}

@media only screen and (max-width:640px) {
	.section02 .wrap::before,
	.section03 .wrap::before,
	.section04 .wrap::before {
		content: none;
	}
	.section02 header,
	.section03 header {
		padding:  0;
	}
	.section02 header .title,
	.section03 header .title,
	.section04 header .title {
		position: static;
		font-size: 24px;
		line-height: 1.5;
	}
	.section02 header .title span,
	.section03 header .title span,
	.section04 header .title span {
		display: inline;
	}
	.subTitle {
		display: none;
	}
	.section02 header .image01,
	.section03 header .image01 {
		width: auto;
		margin: 10px 0 0;
		position: static;
	}
	.section02 header .image02,
	.section03 header .image02 {
		display: none;
	}
	.section02 main,
	.section03 main {
		display: block;
		margin: 20px 0 0;
	}
	.section02 main .title02,
	.section03 main .title02 {
		width: auto;
	}
	.section02 main p,
	.section03 main p {
		width: auto;
		margin: 10px 0 0;
	}
}

/* ========================================================================== */

.section01 {
	margin: 80px 0 0;
}
.section01 .title02 {
	text-align: center;
}
.section01 p {
	max-width: 700px;
	margin: 30px auto 0;
	text-align: center;
}

@media only screen and (max-width:640px) {
	.section01 {
		margin: 50px 0 0;
	}
	.section01 p {
		text-align: left;
	}
}

/* ========================================================================== */

.section02 {
	margin: 115px 0 0;
}
.section02 header .title {
	left: 65px;
}
.section02 header .image02 {
	right: 0;
}
@media only screen and (max-width:640px) {
	.section02 {
		margin: 50px 0 0;
	}
}

/* ========================================================================== */

.section03 {
	margin: 110px 0 0;
}
.section03 header .title {
	display: flex;
	height: calc(40px * 7);
	right: 65px;
	direction: rtl;
	flex-direction: column;
	flex-wrap: wrap;
}
.section03 header .title span{
	margin: 0 0 0 10px;
}
.section03 header .title span:nth-child(4){
	margin-bottom: calc(40px * 3);
}
.section03 header .image01 {
	margin: 0 0 0 calc(100% - 725px);
}
.section03 header .image02 {
	left: 0;
}
@media only screen and (max-width:640px) {
	.section03 {
		margin: 50px 0 0;
	}
	.section03 header .title {
		display: block;
		height: auto;
		direction: ltr;
	}
	.section03 header .title span{
		margin: 0;
	}
	.section03 header .title span:nth-child(4){
		margin-bottom: 0;
	}
	.section03 header .image01 {
		margin: 10px 0 0;
	}
}

/* ========================================================================== */

.section04 {
	margin: 35px 0 130px;
}
.section04 .wrap::before {
	top: 385px;
}
.section04 header {
	padding: 65px 0 0;
}
.section04 header .title {
	top: 0;
	left: 65px;
}
.section04 .subTitle {
	top: 320px;
}
.section04 main {
	max-width: 895px;
	margin: 40px auto 0;
}
.section04 main ul {
	display: flex;
	height: calc(32.5px * 3);
	flex-direction: column;
	flex-wrap: wrap;
}
.section04 main li {
	padding-left: 1em;
	text-indent: -1em;
}
.section04 main li::before {
	content: '・';
}

@media only screen and (max-width:640px) {
	.section04 {
		margin: 50px 0;
	}
	.section04 header {
		padding: 0;
	}
	.section04 header .image {
		margin: 10px 0 0;
	}
	.section04 main {
		margin: 20px 0 0;
	}
	.section04 main ul {
		display: block;
		height: auto;
		flex-direction: column;
		flex-wrap: wrap;
	}
}
