@charset "utf-8";
/* -------------------------------------------------
	process_detail
------------------------------------------------- */
.head_text{
	font-size: 22px;
	color:#2f50aa;
	text-align: center;
	margin-top: 90px;
	margin-bottom: 45px;
	font-weight: bold;
	line-height: 1.4;
}

.head_text.--line span{
	display: inline-block;
	padding-bottom: 15px;
	border-bottom: 1px solid #2f50aa;
}

.text_block{
	line-height: 1.75;
	margin-bottom:45px;
}

.h4-style{
	line-height: 1.75;
	color:#2f50aa;
	font-size: 18px;
	text-align: center;
	font-weight: bold;
	margin-bottom: 25px;
}

.link_block{
	margin-bottom: 70px;
}
	
.link_block.--right{
	text-align: right;
}

.img_block{
	text-align: center;
	margin-bottom: 45px;
}

.flow_block-item{
	padding:35px 0;
	background: #2a61d7;
	position: relative;
}

.flow_block-item:last-child{
	background: #e7706d;
}

.flow_block-item:last-child::before{
	display: none;
}

.flow_block-item + .flow_block-item{
	margin-top:50px;
}

.flow_block-item:before{
	content: "";
	position: absolute;
	right: 0;
	bottom: -25px;
	left: 0;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: #2a61d7 transparent transparent transparent;
	border-width: 25px 50px 0 50px;
}

.flow_block-text{
	color:#fff;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}

.flow_block-text.--second{
	line-height: 1.4;
	text-align: center;
	margin-top:10px;
}

.flow_block-text.--second p{
	font-size: 12px;
}

.flow_block-text.--second span{
	color:#f8d308;
	font-size: 13px;
	margin-top:10px;
}

.cta_block{
	margin-bottom: 50px;
}

@media screen and (max-width:767px) {

	.text_block{
		font-size: calc(32 / 750 * 100vw);
		margin:0 0 1.2em 0;
	}

	.link_block.--right{
		text-align: center;
	}

	.head_text,
	.h4-style{
		font-size: calc(32 / 750 * 100vw);
		margin:1.2em 0;
	}

	.cta_block{
		margin-bottom: 2.2em;
	}

	.img_block img{
		width: 200px;
	}

	.flow_block{
		margin-bottom: 4em;
	}

	.flow_block-item{
		padding:2em 1em;
	}

	.flow_block-text{
		font-size: calc(32 / 750 * 100vw);
		line-height: 1.2;
	}

	.btn-style1.blue{
		width: calc(600 / 750 * 100vw);
		height: calc(56 / 750 * 100vw);
		border-radius: calc(28 / 750 * 100vw);
		font-size: calc(23 / 750 * 100vw);
	}

}



/* -------------------------------------------------
	detail
------------------------------------------------- */

#detail {
	position: relative;
}
#detail::before {
	width: 100%;
	height: 1260px;
	content: "";
	display: block;
	background: -moz-linear-gradient(top, #d9e9fc, #fff);
	background: -webkit-linear-gradient(top, #d9e9fc, #fff);
	background: linear-gradient(to bottom, #d9e9fc, #fff);
	position: absolute;
	left: 0;
	top: 0;
}
#detail .h-style2,
#detail .lead {
	position: relative;
	z-index: 4;
}
#detail .lead {
	margin: 90px 0 60px;
	font-size: 16px;
	line-height: 1.75;
}

@media print, screen and (min-width:768px) and (max-width:950px) {
	#detail .lead {
		font-size: 14px;
	}
}

@media screen and (max-width:767px) {
	#detail .lead {
		margin: 2em 0 4em;
		font-size: calc(32 / 750 * 100vw);
	}
}

/* -------------------------------------------------
	detail > steps
------------------------------------------------- */

#detail .steps {
	position: relative;
}
#detail .steps .fig {
	width: 186.6px;
	position: absolute;
	left: 135px;
	top: 220px;
	z-index: 20;
}
#detail .step {
	background: -moz-linear-gradient(top, #fff, #d7eefb);
	background: -webkit-linear-gradient(top, #fff, #d7eefb);
	background: linear-gradient(to bottom, #fff, #d7eefb);
	position: relative;
}
#detail .step.step1 { z-index: 15; padding-top: 55px; }
#detail .step.step2 { z-index: 14; padding-top: 100px; }
#detail .step.step3 { z-index: 13; padding-top: 105px; }
#detail .step.step4 { z-index: 12; padding-top: 90px; }
#detail .step.step5 { z-index: 11; padding: 100px 0 65px; }

#detail .step:not(:last-child)::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 96px 630px 0 630px;
	border-color: #d7eefb transparent transparent transparent;
	position: absolute;
	left: 0;
	bottom: -96px;
}
#detail .step-inner {
	width: calc(943 / 1260 * 100%);
	margin: 0 auto;
}
#detail .step .headline {
	margin-bottom: 47px;
	text-align: center;
	color: #2f50aa;
}
#detail .step .headline .text1 {
	display: block;
}
#detail .step .headline .text1 .text {
	display: inline-block;
	font-size: 20px;
	font-weight: 700;
	vertical-align: baseline;
	letter-spacing: 0.4em;
	transform: translateY(-20%);
}
#detail .step .headline .text1 .num {
	display: inline-block;
	font-size: 78px;
	font-weight: 200;
	vertical-align: baseline;
}
#detail .step .headline .text2 {
	margin-top: 0.2em;
	display: block;
	font-size: 33px;
	font-weight: 700;
}

#detail .step .step-lead {
	margin: -1.2em 0 1.4em;
	font-size: 21px;
	font-weight: 700;
	text-align: center;
}

#detail .step dl {
	margin-left: calc(215 / 943 * 100%);
}
#detail .step dl dt {
	padding-bottom: 0.3em;
	margin-bottom: 0.5em;
	font-size: 23px;
	color: #2f50aa;
	border-bottom: solid 1px #2f50aa;
	font-weight: 700;
}
#detail .step dl dt.s1-2 { margin-top: 105px; }
#detail .step dl dt.s2-2 { margin-top: 40px; }
#detail .step dl dt.s2-3 { margin-top: 120px; }
#detail .step dl dt.s3-2 { margin-top: 15px; }
#detail .step dl dt.s3-3 { margin-top: 107px; }
#detail .step dl dt.s4-2 { margin-top: 85px; }
#detail .step dl dt.s4-3 { margin-top: 90px; }
#detail .step dl dt.s4-4 { margin-top: 140px; }
#detail .step dl dt.s5-1 { margin-top: -10px; }

#detail .step dl dd {
	position: relative;
}

#detail .step dl dd p {
	font-size: 18px;
	line-height: 1.4;
	letter-spacing: 0;
}
#detail .step dl dd p + p,
#detail .step dl dd ul + p {
	margin-top: 0.5em;
}
#detail .step dl dd p + ul {
	margin-top: 9px;
}
#detail .step dl dd p strong {
	font-weight: 700;
	font-size: 21px;
	vertical-align: baseline;
}
#detail .step dl dd .points li {
	font-size: 19px;
	line-height: 1.3;
}

#detail .step dl dd .help {
	text-align: right;
}
#detail .step dl dd .help li + li {
	margin-top: 8px;
}

@media print, screen and (min-width:768px) {
	#detail {
		padding-bottom: 116px;
		background: url(../img/logo_10.svg) no-repeat center bottom / 1093.65px auto;
	}
	#detail .step dl dd .help.posfix {
		position: absolute;
		right: 0;
		bottom: 0;
	}
}

@media print, screen and (min-width:768px) and (max-width:1328px) {
	#detail .steps .fig {
		width: calc(186.6 / 1328 * 100vw);
		left: calc(135 / 1328 * 100vw);
		top: calc(220 / 1328 * 100vw);
	}
	#detail .step.step1 { padding-top: calc(55 / 1328 * 100vw); }
	#detail .step.step2 { padding-top: calc(100 / 1328 * 100vw); }
	#detail .step.step3 { padding-top: calc(105 / 1328 * 100vw); }
	#detail .step.step4 { padding-top: calc(90 / 1328 * 100vw); }
	#detail .step.step5 { padding: calc(115 / 1328 * 100vw) 0 calc(65 / 1328 * 100vw); }

	#detail .step:not(:last-child)::after {
		border-width: calc(96 / 1328 * 100vw) calc(630 / 1328 * 100vw) 0 calc(630 / 1328 * 100vw);
		bottom: calc(-96 / 1328 * 100vw);
	}
	#detail .step .headline {
		margin-bottom: calc(47 / 1328 * 100vw);
	}
	#detail .step .headline .text1 .text {
		font-size: calc(20 / 1328 * 100vw);
	}
	#detail .step .headline .text1 .num {
		font-size: calc(78 / 1328 * 100vw);
	}
	#detail .step .headline .text2 {
		font-size: calc(33 / 1328 * 100vw);
	}

	#detail .step .step-lead {
		font-size: calc(21 / 1328 * 100vw);
	}
	
	#detail .step dl dt {
		font-size: calc(23 / 1328 * 100vw);
	}
	#detail .step dl dt.s1-2 { margin-top: calc(105 / 1328 * 100vw); }
	#detail .step dl dt.s2-2 { margin-top: calc(40 / 1328 * 100vw); }
	#detail .step dl dt.s2-3 { margin-top: calc(60 / 1328 * 100vw); }
	#detail .step dl dt.s3-2 { margin-top: calc(10 / 1328 * 100vw); }
	#detail .step dl dt.s3-3 { margin-top: calc(103 / 1328 * 100vw); }
	#detail .step dl dt.s4-2 { margin-top: calc(85 / 1328 * 100vw); }
	#detail .step dl dt.s4-3 { margin-top: calc(90 / 1328 * 100vw); }
	#detail .step dl dt.s4-4 { margin-top: calc(140 / 1328 * 100vw); }

	#detail .step dl dd p {
		font-size: calc(18 / 1328 * 100vw);
	}
	#detail .step dl dd p + ul {
		margin-top: calc(9 / 1328 * 100vw);
	}
	#detail .step dl dd p strong {
		font-size: calc(21 / 1328 * 100vw);
	}
	#detail .step dl dd .points li {
		font-size: calc(19 / 1328 * 100vw);
	}

	#detail .step dl dd .help li + li {
		margin-top: calc(8 / 1328 * 100vw);
	}
	
	#detail .step dl dd .help a {
		width: calc(257 / 1328 * 100vw);
		height: calc(30 / 1328 * 100vw);
		border-radius: calc(15 / 1328 * 100vw);
		font-size: calc(12 / 1328 * 100vw);
	}
}

@media screen and (max-width:767px) {
	#detail .steps .fig {
		width: calc(187.2 / 750 * 100vw);
		left: calc(29 / 750 * 100vw);
		top: calc(264 / 750 * 100vw);
	}
	#detail .step.step1 { padding-top: calc(68 / 1328 * 100vw); }
	#detail .step.step2 { padding-top: 17vw; }
	#detail .step.step3 { padding-top: 22vw; }
	#detail .step.step4 { padding-top: 18vw; }
	#detail .step.step5 { padding: 25.5vw 0 calc(65 / 750 * 100vw); }

	#detail .step:not(:last-child)::after {
		border-width: calc(125 / 750 * 100vw) 50vw 0 50vw;
		bottom: calc(-124 / 750 * 100vw);
	}
	#detail .step-inner {
		width: calc(689 / 750 * 100vw);
	}
	#detail .step .headline {
		margin-bottom: calc(80 / 750 * 100vw);
	}
	#detail .step .headline .text1 .text {
		font-size: calc(24 / 750 * 100vw);
	}
	#detail .step .headline .text1 .num {
		font-size: calc(94 / 750 * 100vw);
	}
	#detail .step .headline .text2 {
		font-size: calc(40 / 750 * 100vw);
	}

	#detail .step .step-lead {
		margin: -2em 0 2.4em;
		font-size: calc(27 / 750 * 100vw);
	}

	#detail .step dl {
		margin-left: calc(211 / 750 * 100vw);
	}
	#detail .step dl dt {
		font-size: calc(34 / 750 * 100vw);
	}
	#detail .step dl dt.s1-2 { margin-top: 8vw; }
	#detail .step dl dt.s2-1 { margin-top: 14vw; }
	#detail .step dl dt.s2-2 { margin-top: 8vw; }
	#detail .step dl dt.s2-3 { margin-top: 18vw; }
	#detail .step dl dt.s3-1 { padding-top: 8vw; }
	#detail .step dl dt.s3-2 { margin-top: 5vw; }
	#detail .step dl dt.s3-3 { margin-top: 8vw; }
	#detail .step dl dt.s4-1 { margin-top: 10vw; }
	#detail .step dl dt.s4-2 { margin-top: 15vw; }
	#detail .step dl dt.s4-3 { margin-top: 13vw; }
	#detail .step dl dt.s4-4 { margin-top: 17vw; }
	#detail .step dl dt.s5-1 { padding-top: 4vw; }
	
	body.AndroidSP #detail .step dl dt.s1-2 { margin-top: 10vw; }
	body.AndroidSP #detail .step dl dt.s2-1 { margin-top: 13vw; }
	body.AndroidSP #detail .step dl dt.s2-2 { margin-top: 7vw; }
	body.AndroidSP #detail .step dl dt.s2-3 { margin-top: 20vw; }
	body.AndroidSP #detail .step dl dt.s3-1 { padding-top: 8vw; }
	body.AndroidSP #detail .step dl dt.s3-2 { margin-top: 7vw; }
	body.AndroidSP #detail .step dl dt.s3-3 { margin-top: 7vw; }
	body.AndroidSP #detail .step dl dt.s4-1 { margin-top: 15vw; }
	body.AndroidSP #detail .step dl dt.s4-2 { margin-top: 18vw; }
	body.AndroidSP #detail .step dl dt.s4-3 { margin-top: 13vw; }
	body.AndroidSP #detail .step dl dt.s4-4 { margin-top: 17vw; }
	body.AndroidSP #detail .step dl dt.s5-1 { padding-top: 7vw; }

	#detail .step dl dd p {
		font-size: calc(29 / 750 * 100vw);
		line-height: 1.5;
	}
	body.iPhone #detail .step dl dd p {
		line-height: 1.35;
	}
	body.AndroidSP #detail .step dl dd p {
		line-height: 1.45;
	}
	#detail .step dl dd p + ul,
	#detail .step dl dd ul + ul {
		margin-top: 2.6vw;
	}
	#detail .step dl dd p strong {
		font-size: calc(34 / 750 * 100vw);
	}
	#detail .step dl dd .points li {
		font-size: calc(30 / 750 * 100vw);
	}

	#detail .step dl dd .help li + li {
		margin-top: calc(13 / 750 * 100vw);
	}
}

@media screen and (max-width:767px) and (max-width:340px) { /* iphone SE サイズ */
	body.iPhone #detail .step dl dt.s1-1 { margin-top: 11vw; }
	body.iPhone #detail .step dl dt.s1-2 { margin-top: 17vw; }
	body.iPhone #detail .step dl dt.s2-1 { margin-top: 15vw; }
	body.iPhone #detail .step dl dt.s2-2 { margin-top: 5vw; }
	body.iPhone #detail .step dl dt.s2-3 { margin-top: 29vw; }
	body.iPhone #detail .step dl dt.s3-1 { padding-top: 11vw; }
	body.iPhone #detail .step dl dt.s3-2 { margin-top: 18vw; }
	body.iPhone #detail .step dl dt.s3-3 { margin-top: 11vw; }
	body.iPhone #detail .step dl dt.s4-1 { margin-top: 16vw; }
	body.iPhone #detail .step dl dt.s4-2 { margin-top: 23vw; }
	body.iPhone #detail .step dl dt.s4-3 { margin-top: 15.5vw; }
	body.iPhone #detail .step dl dt.s4-4 { margin-top: 17vw; }
	body.iPhone #detail .step dl dt.s5-1 { padding-top: 11vw; }
}

/* -------------------------------------------------
	funding > block1
------------------------------------------------- */

#funding .block1 {
	padding-top: 70px;
}
#funding .block1 .text p {
	font-size: 22px;
	line-height: 1.8;
	font-weight: 700;
}
#funding .block1 .btn {
	text-align: right;
	margin-top: 9px;
}

@media print, screen and (min-width:768px) {
	#funding {
		padding-bottom: 125px;
		background: url(../img/logo_10.svg) no-repeat center bottom / 1093.65px auto;
	}
}

@media screen and (max-width:767px) {
	#funding .block1 {
		padding-top: 0;
	}
	#funding .block1 .text p {
		padding-top: 1em;
		font-size: calc(31 / 750 * 100vw);
	}
	#funding .block1 .btn {
		text-align: right;
		margin-top: 2vw;
	}
}

/* -------------------------------------------------
	funding > flow
------------------------------------------------- */

#funding .flow {
	margin-top: 65px;
	border: solid 1px #2f50aa;
	box-shadow: 5px 6px 7px 0 rgba(0,0,102,0.3);
	background: -moz-linear-gradient(top, #fff, #e1f0ff);
	background: -webkit-linear-gradient(top, #fff, #e1f0ff);
	background: linear-gradient(to bottom, #fff, #e1f0ff);
}
#funding .flow ul {
	height: 435px;
	padding-top: 40px;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
}
#funding .flow ul li {
	width: 26px;
	text-align: center;
	font-size: 26px;
	color: #2f50aa;
	font-weight: 700;
	position: relative;
}
#funding .flow ul li + li {
	margin-left: 66px;
}
#funding .flow ul li + li::before {
	content: "";
	display: block;
	width: 62px;
	height: 40px;
	background: url(../img/process/arrow_01.svg) no-repeat 0 0 / 100% auto;
	position: absolute;
	top: 18px;
	left: -62px;
}
#funding .flow ul li + li.small::before {
	top: calc(18px + 1em);
}
#funding .flow ul li.small {
	margin-top: -1em;
	font-size: 19px;
	color: #4d4d4d;
}
#funding .flow ul li span.r {
	display: inline-block;
	transform: rotate(90deg);
}
#funding .flow ul li span.s {
	font-size: 19px;
	line-height: 1;
	letter-spacing: 0;
	display: inline-block;
}
#funding .flow ul li span.b {
	display: block;
	text-align: right;
	transform: translateX(10%);
}

@media screen and (max-width:767px) {
	#funding .flow {
		margin-top: calc(50 / 750 * 100vw);
	}
	#funding .flow ul {
		height: calc(340 / 750 * 100vw);
		padding-top: calc(40 / 750 * 100vw);
	}
	#funding .flow ul li {
		width: calc(19 / 750 * 100vw);
		font-size: calc(19 / 750 * 100vw);
	}
	#funding .flow ul li + li {
		margin-left: calc(60 / 750 * 100vw);
	}
	#funding .flow ul li + li::before {
		width: calc(50 / 750 * 100vw);
		height: calc(40 / 750 * 100vw);
		top: 2vw;
		left: calc(-50 / 750 * 100vw);
	}
	#funding .flow ul li + li.small::before {
		top: calc(2vw + 1em);
	}
	#funding .flow ul li.small {
		font-size: calc(15 / 750 * 100vw);
	}
	#funding .flow ul li span.s {
		font-size: calc(15 / 750 * 100vw);
	}
}

/* -------------------------------------------------
	funding > flow-desc
------------------------------------------------- */

#funding .flow-desc {
	margin-top: 100px;
}
#funding .flow-desc dt {
	font-size: 21px;
	font-weight: 700;
	color: #2f50aa;
	line-height: 1.5;
}
#funding .flow-desc dd {
	margin-top: 0.3em;
	font-size: 16px;
	line-height: 1.75;
	color: #000;
}
#funding .flow-desc dd + dt {
	margin-top: 0.8em;
}

@media screen and (max-width:767px) {
	#funding .flow-desc {
		margin-top: calc(55 / 750 * 100vw);
	}
	#funding .flow-desc dt {
		font-size: calc(32 / 750 * 100vw);
	}
	#funding .flow-desc dd {
		font-size: calc(27 / 750 * 100vw);
	}
	#funding .flow-desc dd + dt {
		margin-top: 1.2em;
	}
}

/* -------------------------------------------------
	funding > case
------------------------------------------------- */

#case {
	margin-top: 160px;
}
#case .headline {
	width: 319px;
	height: 65px;
	padding-left: 1.4em;
	box-sizing: border-box;
	background: url(../img/process/bg_02.png) no-repeat 0 0 / 100% auto;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	display: flex;
	align-items: center;
	letter-spacing: 0.3em;
}
#case .border-box {
	padding: 0 calc(65 / 933 * 100%) 45px;
	border: solid 1px #2f50aa;
	box-shadow: 4px 7px 10px 0 rgba(0,102,204,0.38);
	background: -moz-linear-gradient(top, #fff, #e1f0ff);
	background: -webkit-linear-gradient(top, #fff, #e1f0ff);
	background: linear-gradient(to bottom, #fff, #e1f0ff);
	position: relative;
}
#case .com-name {
	height: 79px;
	padding: 1.9em 0 0 0.8em;
	box-sizing: border-box;
	border-left: solid 2px #2f50aa;
	font-size: 21px;
	font-weight: 700;
}

#case dl.info1 {
	width: 300px;
	margin-top: 35px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
#case dl.info1 dt {
	width: 121px;
	height: 26px;
	border-radius: 13px;
	font-size: 11px;
	font-weight: 700;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #2f50aa;
}
#case dl.info1 dd {
	width: calc(100% - 121px);
	font-size: 17px;
	padding-left: 1em;
	box-sizing: border-box;
}
#case dl.info1 dt:not(:first-of-type),
#case dl.info1 dd:not(:first-of-type) {
	margin-top: 6px;
}

#case dl.info2 {
	margin-top: 35px;
}
#case dl.info2 dt {
	height: 42px;
	border-radius: 21px;
	font-size: 18px;
	color: #2f50aa;
	background: #e6e6e6;
	display: flex;
	align-items: center;
	padding-left: 2em;
	font-weight: 700;
}
#case dl.info2 dd {
	font-size: 16px;
	line-height: 1.75;
	margin: 0.8em 0.6em 0;
}
#case dl.info2 dd + dt {
	margin-top: 1em;
}

#case dl.point {
	width: 386px;
	padding: 20px 0 28px 4%;
	box-sizing: border-box;
	position: absolute;
	right: calc(52 / 933 * 100%);
	top: -13px;
	background: #ffffcc;
	box-shadow: 5px 7px 10px 0 rgba(0,51,153,0.3);
}
#case dl.point dt {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#case dl.point dt::before {
	width: 56px;
	height: 56px;
	content: "";
	display: inline-block;
	background: url(../img/ico_point.svg) no-repeat 0 0 / 100% auto;
}
#case dl.point dt span {
	width: calc(100% - 68px);
	padding-bottom: 0.4em;
	box-sizing: border-box;
	color: #2f50aa;
	font-weight: 700;
	letter-spacing: 1em;
	display: block;
	border-bottom: solid 1px #2f50aa;
	font-size: 15px;
}
#case dl.point dd {
	margin: 1.6em 2em 0 0;
	font-size: 16px;
	line-height: 1.75;
	color: #2f50aa;
	font-weight: 700;
}
@media screen and (max-width:1170px) and (min-width:768px) {
	#case dl.point {
		/* top: calc(-16 / 750 * 100vw); */
		top: -80px;
	}
}
@media screen and (max-width:767px) {
	#case {
		margin-top: calc(50 / 750 * 100vw);
	}
	#case .headline {
		width: calc(280 / 750 * 100vw);
		height: calc(65 / 750 * 100vw);
		font-size: calc(22 / 750 * 100vw);
		letter-spacing: 0.2em;
	}
	#case .border-box {
		padding: 0 calc(65 / 933 * 100%) calc(45 / 750 * 100vw);
	}
	#case .com-name {
		height: calc(89 / 750 * 100vw);
		padding: 2em 0 0 0.8em;
		font-size: calc(21 / 750 * 100vw);
	}

	#case dl.info1 {
		width: calc(270 / 750 * 100vw);
		margin-top: calc(35 / 750 * 100vw);
	}
	#case dl.info1 dt {
		width: calc(121 / 750 * 100vw);
		height: calc(26 / 750 * 100vw);
		border-radius: calc(13 / 750 * 100vw);
		font-size: calc(14 / 750 * 100vw);
	}
	#case dl.info1 dd {
		width: calc(100% - 17vw);
		font-size: calc(19 / 750 * 100vw);
	}
	#case dl.info1 dt:not(:first-of-type),
	#case dl.info1 dd:not(:first-of-type) {
		margin-top: 1vw;
	}

	#case dl.info2 {
		margin-top: calc(35 / 750 * 100vw);
	}
	#case dl.info2 dt {
		height: calc(42 / 750 * 100vw);
		border-radius: calc(21 / 750 * 100vw);
		font-size: calc(18 / 750 * 100vw);
	}
	#case dl.info2 dd {
		font-size: calc(20 / 750 * 100vw);
	}

	#case dl.point {
		width: calc(314 / 750 * 100vw);
		padding: calc(30 / 750 * 100vw) 0 calc(35 / 750 * 100vw) calc(22 / 750 * 100vw);
		right: calc(30 / 750 * 100vw);
		/* top: calc(-16 / 750 * 100vw); */
		top: -50px;
	}
	#case dl.point dt::before {
		width: calc(56 / 750 * 100vw);
		height: calc(56 / 750 * 100vw);
	}
	#case dl.point dt span {
		width: calc(100% - 10vw);
		font-size: calc(15 / 750 * 100vw);
	}
	#case dl.point dd {
		font-size: calc(17 / 750 * 100vw);
		letter-spacing: 0;
	}
}

/* -------------------------------------------------
	people
------------------------------------------------- */

#people {
	position: relative;
}
#people::before {
	width: 100%;
	height: 700px;
	background: -moz-linear-gradient(top, #c5ddfb, #fff);
	background: -webkit-linear-gradient(top, #c5ddfb, #fff);
	background: linear-gradient(to bottom, #c5ddfb, #fff);
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	display: block;
	content: "";
}
#people .h-style2 {
	position: relative;
	z-index: 4;
}
#people .fig {
	width: 537.59px;
	margin: 40px auto 0;
	display: block;
	position: relative;
	z-index: 4;
}
#people dl {
	margin-top: 65px;
	position: relative;
	z-index: 4;
}
#people dl dt {
	font-size: 22px;
	font-weight: 700;
	color: #2f50aa;
	position: relative;
}
#people dl dt:not(:first-child) {
	margin-top: 1.8em;
}
#people dl dt > div:first-child {
	position: absolute;
	left: 0;
	top: -100px;
}
#people dl dd,
#people dl dd p {
	margin-top: 0.8em;
	font-size: 16px;
	line-height: 1.75;
	color: #000;
}
#people dl dd p.date {
	margin-top: 0;
	font-size: 15px;
	text-align: right;
}
#people dl dd .btn {
	margin-top: 15px;
	display: flex;
	justify-content: flex-end;
}
#people dl dd .btn li + li {
	margin-left: 6px;
}

@media screen and (max-width:767px) {
	#people {
		margin-top: calc(90 / 750 * 100vw);
	}
	#people::before {
		height: calc(1170 / 750 * 100vw);
	}
	#people .fig {
		width: calc(691 / 750 * 100vw);
		margin: calc(60 / 750 * 100vw) auto 0;
	}
	#people dl {
		margin-top: 0;
	}
	#people dl dt {
		font-size: calc(32 / 750 * 100vw);
		margin-top: 0 !important;
		padding-top: 1.5em;
		clear: both;
	}
	#people dl dt > div:first-child {
		top: -16.8vw;
	}
	#people dl dd,
	#people dl dd p {
		font-size: calc(27 / 750 * 100vw);
	}
	#people dl dd p.date {
		font-size: calc(24 / 750 * 100vw);
	}
	#people dl dd .btn {
		margin: 2vw 0 0;
		display: block;
		float: right;
	}
	#people dl dd .btn li + li {
		margin: 2vw 0 0;
	}
}

/* -------------------------------------------------
	word
------------------------------------------------- */

#word {
	margin-top: 150px;
}
#word table {
	width: 100%;
	margin-top: 90px;
	border-collapse: collapse;
	border-left: solid 1px #2e3192;
	border-top: solid 1px #2e3192;
}
#word table th,
#word table td {
	border-right: solid 1px #2e3192;
	border-bottom: solid 1px #2e3192;
	text-align: left;
	font-weight: 700;
	box-sizing: border-box;
}
#word table th {
	padding: 1em;
	font-size: 18px;
	font-weight: 700;
	background: #c9e6ff;
	line-height: 1.4;
	white-space: nowrap;
	position: relative_;
}
#word table th > div:first-child {
	transform: translateY(-118px);
}
#word table th .small {
	font-size: 15px;
}
#word table td,
#word table td p {
	font-size: 16px;
	line-height: 1.75;
}
#word table td {
	padding: 1.2em;
	letter-spacing: 0;
	font-weight: 500;
}
#word table td p {
	font-weight: 500;
}
#word table td p + p {
	margin-top: 1.3em;
}

#word table td img{
	margin-top: 1.3em;
}

@media screen and (max-width:767px) {
	#word {
		margin-top: calc(55 / 750 * 100vw);
	}
	#word table {
		margin-top: calc(45 / 750 * 100vw);
		display: block;
	}
	#word table tbody,
	#word table tr,
	#word table th,
	#word table td {
		display: block;
	}
	#word table th {
		padding: 1em;
		font-size: calc(30 / 750 * 100vw);
		position: relative;
	}
	#word table th > div:first-child {
		position: absolute;
		left: 0;
		top: -16.8vw;
		transform: translateY(0);
	}
	#word table th .small {
		font-size: calc(26 / 750 * 100vw);
		vertical-align: baseline;
	}
	#word table td,
	#word table td p {
		font-size: calc(25 / 750 * 100vw);
	}
	#word table td {
		padding: 1.2em;
	}
	#word table td p + p {
		margin-top: 1.3em;
	}
}

/* -------------------------------------------------
	company
------------------------------------------------- */

#company {
	margin-top: 100px;
	padding-bottom: 110px;
	position: relative;
}
#company .lead {
	margin-top: 60px;
	font-size: 16px;
	line-height: 1.75;
}

#company table {
	width: 100%;
	box-sizing: border-box;
	margin-top: 40px;
	border-collapse: collapse;
	border-left: solid 1px #4d4d4d;
	border-top: solid 1px #4d4d4d;
	position: relative;
	z-index: 4;
}
#company table th,
#company table td {
	border-right: solid 1px #4d4d4d;
	border-bottom: solid 1px #4d4d4d;
}
#company table thead th {
	padding: 0.5em 1em;
	background: #4d4d4d;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
	vertical-align: middle;
	white-space: nowrap;
}
#company table thead th:not(:last-child) {
	border-right: solid 1px #fff;
}
#company table tbody td {
	padding: 0.3em 0.7em;
	font-size: 12px;
	text-align: center;
	line-height: 1.2;
}
#company table tbody td:nth-child(2) {
	font-size: 11px;
	text-align: left;
}
#company table tbody td:not(:nth-child(2)) {
	white-space: nowrap;
}

#company .note {
	margin-top: 0.7em;
	text-align: right;
	font-size: 12px;
	position: relative;
	z-index: 4;
}

@media print, screen and (min-width:768px) {
	#company::before {
		width: 100%;
		height: 500px;
		background: -moz-linear-gradient(top, #fff, #c5ddfb);
		background: -webkit-linear-gradient(top, #fff, #c5ddfb);
		background: linear-gradient(to bottom, #fff, #c5ddfb);
		position: absolute;
		left: 0;
		bottom: 0;
		z-index: 2;
		display: block;
		content: "";
	}
}

@media screen and (max-width:767px) {
	#company {
		margin-top: calc(45 / 750 * 100vw);
		padding-bottom: 0;
	}
	#company .lead {
		margin: 1.5em 0;
		font-size: calc(32 / 750 * 100vw);
	}

	#company .table-wrap {
		overflow: scroll;
		-webkit-overflow-scrolling: touch;
	}
	
	#company table {
		width: 200vw;
		margin-top: 0;
	}
	#company table thead th {
		font-size: calc(22 / 750 * 100vw);
	}
	#company table thead th:not(:last-child) {
		
	}
	#company table tbody td {
		font-size: calc(24 / 750 * 100vw);
	}
	#company table tbody td:nth-child(1) {
		
	}
	#company table tbody td:nth-child(2) {
		width: 30vw;
		font-size: calc(22 / 750 * 100vw);
	}

	#company .note {
		font-size: calc(24 / 750 * 100vw);
	}
}