@charset "utf-8";

/*------------------------------------------------------------------------------------------------

共通

------------------------------------------------------------------------------------------------*/
.page-title.img-title {
    text-shadow: 0px 0px 3px #000000;
	height: 27vw;
}
/*PC*/
@media print, screen and (min-width: 768px) {
	.page-title.img-title {
		height: 120px;
	}
}


.page-title__title-sub {
	font-size: 60%;
}

img {
	height: auto;
}

/****************************　表示コンテンツの切り替え用　****************************/
.pc-only { display: none }
.sp-only { display: block }

/*PC*/
@media print, screen and (min-width: 768px) {
	.pc-only { display: block }
	.sp-only { display: none }
}

/****************************　灰色背景　****************************/
section.page-contents > section:nth-child(2n) {
	background-color: #f0f0f0;
}

/****************************　余白　****************************/
section.page-contents > section {
 padding: 6vw 0 6vw;
}

section.page-contents > section:first-child {
	padding-top: 0;
}

section.page-contents > section:last-child {
	padding-bottom: 10%;
}

/*PC*/
@media print, screen and (min-width: 768px) {
	section.page-contents > section ,
	section.page-contents > section:last-child {
		padding: 80px 0 ;
	}

}
/****************************　基本データ　****************************/

section.page-contents h3,
section.page-contents h4,
section.page-contents .headline {
	font-size: 4.7vw;
	font-weight: bold;
	line-height: 1.7em;
}

section.page-contents h3 {
	border-bottom: solid 0.5vw;
	padding-bottom: 0.5em;
	margin: 0 0 0.5em;
}

section.page-contents h3.headline {
	border: none;
	padding: 0;
}

section.page-contents p + h3 {
	margin-top: 1.5em;
}

section.page-contents h4 {
	margin-bottom: 0.5em;
}

section.page-contents p + h4 {
	margin-top: 2em;
}

section.page-contents p {
	font-size: 3.6vw;
	line-height: 1.85em;
}

section.page-contents p + p {
	margin-top: 1.5em;
}

section.page-contents ul ,
section.page-contents ul {
	font-size: 3.8vw;
	line-height: 1.5em;
}

/*PC*/
@media print, screen and (min-width: 768px) {
	section.page-contents h3,
	section.page-contents h4,
	section.page-contents .headline{
		font-size: 30px;
		line-height: 1.5em;
	}
	
	section.page-contents h3 {
		border-bottom: solid 2px;
		padding-bottom: 10px;
		margin: 0 0 28px;
	}
	section.page-contents p + h3 {
		margin-top: 50px;
	}
	section.page-contents h4 {
		margin-bottom: 25px;
	}
	
	section.page-contents p + h4 {
		margin-top: 50px;
	}
	
	section.page-contents p {
		font-size: 15px;
	}
	
	section.page-contents ul ,
	section.page-contents ul {
		font-size: 15px;
	}
}

/****************************　カラー　****************************/

section.page-contents h3,
section.page-contents h4,
section.page-contents .headline {
	color: #3d62ac;
	border-color: #3d62ac;
}

.service .leftborder-box {
	border-color: #3d62ac;
}

.investor section.page-contents .contact h4 {
	border-color: #3d62ac;
}


/*------------------------------------------------------------------------------------------------

/adr/

------------------------------------------------------------------------------------------------*/

.flow-block__composition {
	margin: 6vw 0;
}

.border-box .flow-block__composition {
	margin: 6vw 0 0;
}
.flow-block__composition li {
	display: block;
	background: #999999;
	color: #FFF;
	font-size: 3.2vw;
	line-height: 9vw;
	text-align: center;
	margin: 2vw 0;
}

.flow-block__composition li:last-child {
	background: #3d62ac;
}
.flow-block__composition li.flow-block__composition__next {
	position: relative;
	display: block;
	background-color: rgba(0,0,0,0);
	height: 4vw;
	margin: 2vw 0;
}
.flow-block__composition li.flow-block__composition__next::before {
	position: absolute;
	top: 0;
	left: calc(50% - 4vw);
	display: block;
	content: "";
	border-top: 4vw solid #999999;
	border-bottom: 0 solid transparent;
	border-left: 4vw solid transparent;
	border-right: 4vw solid transparent;
}

.border-box {
	border: solid 1px #3d62ac;
	padding: 4%;
	margin-top: 5vw;
}

section.page-contents .border-box h4 {
	font-size: 3.8vw;
}

section.page-contents .border-box h5 {
	font-size: 3.8vw;
	font-weight: bold;
	margin-bottom: 0.5em;
}

section.page-contents .border-box .flow-block h5 {
	margin-top: 1.5em;
}

/*PC*/
@media print, screen and (min-width: 768px) {
	.flow-block {
		display: flex;
		justify-content: space-between;
		margin-bottom: 75px;
	}
	.flow-block__text {
		width: 425px;
	}
	.flow-block__composition {
		width: 405px;
		margin: 0;
	}
	.flow-block__composition li {
		font-size: 16px;
		line-height: 42px;
		margin: 0;
	}
	.flow-block__composition li.flow-block__composition__next {
		height: 15px;
		margin: 7px 0;
	}
	.flow-block__composition li.flow-block__composition__next::before {
		left: calc(50% - 7.5px);
		border-top: 15px solid #999999;
		border-bottom: 0 solid transparent;
		border-left: 15px solid transparent;
		border-right: 15px solid transparent;
	}

	.border-box {
		padding: 25px 35px 30px;
		margin-top: 30px;
	}
	
	section.page-contents .border-box h4 {
		font-size: 22px;
	}
	
	section.page-contents .border-box h5 {
		font-size: 18px;
	}
	section.page-contents .border-box .flow-block {
			margin: 0;
		}
	section.page-contents .border-box p + .flow-block {
			margin: 35px 0 0;
		}

	section.page-contents .border-box .flow-block h5 {
		margin: 0 0 10px;
	}
	.border-box .flow-block__text {
		width: 360px;
	}
	.border-box .flow-block__composition {
		margin:10px 0 0;
	}
}




