@charset "uft-8";
#wrapper{
	padding-top: 2.9rem !important;
}
#contents{
	min-width: auto;
}
#top-wrap .top-message{
	background-size: 30%;
	top: 45%;
}

#contents-top .top-topics{
	top: auto;
	bottom: 2%;
	right: -95%;
	width: 95%;
}
.top-topics .topics-msg{
	font-size: .65rem;
}



#contents #reason-wrap h2 img, #contents #contents-solution h2 img, #contents #contents-news h2 img{
	height: 2.4rem;
	width: auto;
	margin: 0 .8rem 0 1.5rem;
	padding-left: 0;
}
.lead p{
	font-size: 1.1rem;
}
.lead:before{
	height: 2em;
	top: -1em;
}
.lead:after{
	top: .95em;
}
p.note{
	font-size: .75rem;
	text-align: left;
}
p.note small{
	font-size: .9em;
}
#contents #reason-wrap{
	padding-top: 3rem;
}
#reason1 .lead:before,
#reason2 .lead:before,
#reason3 .lead:before{
	left: 0;
	right: 0;
	width: 100%;
}
#reason1,
#reason2,
#reason3,
#reason4{
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column-reverse;
	flex-direction: column-reverse;
}
#reason1{
	margin-top: 1.5em;
}
#reason1 .lead:after{
	left: 0;
	right: calc(100% - 1.5rem);
}
#chart1{
	padding: 0 0 1em;
	min-height: 7rem;
	position: relative;
}
#svg-chart1{
	width: 100%;
	height: auto !important;
	margin-bottom: 0 !important;
}
.chart1-2{
	stroke-width: 3px !important;
}
.chart1-4,
.chart1-5{
	stroke-width: 5px !important;
	stroke-dasharray: 4,6 !important;
}
.chart1-7,
.chart1-8{
	stroke-width: 2px !important;
}
.num-35{
	transform: scale(1.2) translate(656px, 19px);
}
.num-26{
	/*transform: scale(1.2) translate(671px, 160px);*/
}
.year1{
	transform: scale(1.3) translate(37px, 3px);
}
.year2{
	transform: scale(1.3) translate(475px, 131px);
}

#reason1 p.note{
	position: absolute;
	bottom: 0;
	left: 2rem;
}
#reason2{
	padding-top: 4rem;
}
#reason2 .lead{
	width: 100%;
}
#reason2 .lead:after{
	left: calc(100% - 11.5em);
}
#chart2{
	padding: 0;
	width: 100%;
}
#svg-chart2{
	width: 85% !important;
	height: auto !important;
	margin: 0 auto;
}
.ch2-11{
	transform: scale(1.2) translate(61px, 50px);
}
.ch2-8{
	transform: scale(1.2) translate(-17px,-25px);
	/*transform: scale(1.3) translate(32px, 86px);*/
}
.ch2-1{
	transform: scale(1.2) translate(-57px,-21px);
	/*transform: scale(1.2) translate(256px, 75px);*/
	stroke: #505050;
	stroke-width: .3px;
}
.ch2-12{
	transform: scale(1.2) translate(-20px, -40px);
	/*transform: scale(1.2) translate(31px, 192px);*/
}
.ch2-19{
	transform: scale(1.2) translate(425px, 91px);
}
.ch2-20{
	transform: scale(1.2) translate(414px, 162px);
	stroke: #64b45a;
	stroke-width: .3px;
}

.ch2-8,
.ch2-12{
	stroke: #ff8c46;
	stroke-width: .3px;
}


#reason3 .lead{
	width: 100%;
}
#chart3{
	padding: 0;
	width: 100%;
}
#svg-chart3{
	width: 90% !important;
	height: auto !important;
	margin: 0 0 0 auto;
}
.ch3-text-1, .ch3-text-3, .ch3-text-4, .ch3-text-5{
	font-size: 19px !important;
}
.ch3-text-7{
	font-size: 19px !important;
	transform: translate(200px, 48px) !important;
}
.ch3-text-20{
	font-size: 15px !important;
	transform: translate(265px, 69px) !important;
}
.ch3-text-17{
	/*transform: scale(1.2) translate(271px, 157px);*/
}
#reason4 .lead{
	width: 100%;
}
#reason4 .lead:after{
	left: calc(100% - 1.5em);
}
#reason4 .lead:before{
	left: 0;
}
#chart4{
	padding: 0;
	width: 100%;
}
#svg-chart4{
	width: 90% !important;
	height: auto !important;
	margin: 0 3% 0 7%;
}
.ch4-26, .ch4-27{
	font-size: 22px !important;
}
.ch4-1, .ch4-2, .ch4-3{
	font-size: 22px !important;
}
#question1{
	font-size: 1.2rem;
}
#question1:after{
	width: calc(14em + 30px);
}
#question1 .border{
	width: 100%;
}
#anser-wrap{
	width: 100%;
}
#anser-wrap > p{
	font-size: 1.1rem;
	width: 80%;
	max-width: 15em;
	margin-left: auto;
	margin-right: auto;
}
#anser-wrap > .circle3{
	font-size: 1.2rem;
}
#solution-wrap{
	width: 100%;
	margin-top: 3em;
}
#solution-wrap .solution1{
	float: none;
	width: 100%;
}
.solution1{
	padding-top: 4.5em;
}
.solution1 .lead{
	float: none !important;
	width: 100%;
	max-width: 100%;
	font-size: 1rem;
	padding: 0 1rem !important;
	box-sizing: border-box;
}
.solution1 .lead:after{
	right: 0;
	left: calc(100% - 2em) !important;
}
.solution1 .lead p{
	width: auto !important;
	padding: 0;
}
#solution2{
	-webkit-flex-direction: column;
	flex-direction: column;
}
#solution2-area{
	-webkit-justify-content: center;
	justify-content: center;
	margin: 0 auto 2em;
}
.solution2-number-small{
	-webkit-justify-content: center;
	justify-content: center;
	margin: 0 auto 0;
}
.solution2-text{
	font-size: .9rem;
}
.solution2-number{
	font-size: 2.5rem;
}
.solution2-number-small{
	font-size: .5em;
	font-weight: normal;
}
#solution2{
	padding-bottom: 3em;
}
#solution-wrap .solution3{
	box-sizing: border-box;
	padding-right: 1.5rem;
	font-size: 1rem;
	width: 100%;
}
.solution3 .lead{
	max-width: 100%;
}
.solution3 .lead .orange{
	display: block;
}
.solution3 .lead:after{
	left: -2rem !important;
	right: auto !important;
	width: 1em !important;
}
#svg-so1p{
	width: 85% !important;
	height: 0 !important;
	margin: 0 auto;
	float: none !important;
	padding-top: 85%;
	margin-top: 0 !important;
}
#svg-so1{
	position: absolute !important;
	top: 0;
	left: 0;
}
.rnd1, .rnd2, .rnd3, .rnd4, .rnd5, .rnd6, .rnd7, .rnd8, .rnd9{
	font-size: .6rem !important;
}

.so1-6{
	font-size: 30px !important;
	transform: translate(276px, 276px) !important;
}
.so1-7{
	font-size: 21px !important;
}
.so1-6 + .so1-7{
	transform: translate(348px, 117px) !important;
}
.so1-6 + .so1-7 + .so1-7{
	transform: translate(348px, 139px) !important;
}
.so1-6 + .so1-7 + .so1-7 + .so1-7{
	transform: translate(440px, 373px) !important;
}
.so1-6 + .so1-7 + .so1-7 + .so1-7 + .so1-7{
	transform: translate(118px, 310px) !important;
}
.so1-6 + .so1-7 + .so1-7 + .so1-7 + .so1-7 + .so1-7{
	transform: translate(118px, 332px) !important;
}
/*
.so1-st1{
	transform: translate(130px, 428px) !important;
}*/

.so1-st2{
	transform: translate(-60px, 350px) !important;
}
.so1-st3{
	transform: translate(450px, 20px) !important;
}


.so1-st5{
	transform: translate(290px, -15px) !important;
}

.so1-st6{
	transform: translate(80px, 180px) !important;
}
.so1-st7{
	transform: translate(360px, 480px) !important;
}
/*
.so1-st8{
	transform: matrix(-1, 0, 0, 1, 565, 420) !important;
}
*/
.solution3-text{
	margin-top: 0em;
	font-size: .75rem;
}
.solution3-text .text-title, .solution4-text .text-title{
	font-size: .9rem;
}
#solution-wrap .solution4{
	font-size: 1rem;
	width: 90%;
	margin: 2em auto;
}
#svg-so2{
	float: none !important;
	width: 100% !important;
	height: auto !important;
}
.so2-2, .so2-3{
	font-size: 27px !important;
}
.so2-13, .so2-14, .so2-9{
	font-size: 23px !important;
}
.so2-2{
	transform: translate(3px, 275px) !important;
}
.so2-3{
	transform: translate(570px, 275px) !important;
}
.so2-1 + .so2-13{
	transform: translate(159px, 31px) !important;
}
.so2-1 + .so2-13 + .so2-13{
	transform: translate(420px, 326px) !important;
}
.so2-1 + .so2-13 + .so2-13 + .so2-13{
	transform: translate(288px, 348px) !important;
}
.so2-1 + .so2-13 + .so2-13 + .so2-13 + .so2-13{
	transform: translate(365px, 82px) !important;
}
.so2-4 + .so2-9{
	transform: translate(155px, 128px) !important;
}
.so2-4 + .so2-9 + .so2-9{
	transform: translate(285px, 259px) !important;
}
.so2-4 + .so2-9 + .so2-9 + .so2-9{
	transform: translate(362px, 181px) !important;
}
.so2-4 + .so2-9 + .so2-9 + .so2-9 + .so2-9{
	transform: translate(416px, 234px) !important;
}
circle.so2-4{
	transform-origin: center;
	transform: scale(1.25);
}
body.ff circle.so2-4{
	transform: scale(1);
}
.so2-7{
	stroke-width: 3px !important;
}
.so2-8,.so2-11{
	stroke-width: 2px !important;
}
.solution4-text{
	float: none;
	margin-left: 0;
	padding-left: 2em;
	font-size: .75rem;
	margin-top: 1em;
}
#flow-wrap{
	width: 100%;
	padding-top: 2rem;
}
#flow-wrap h2{
	font-size: 1.1rem;
	max-width: 90%;
	margin: 0 auto;
}
#flow-wrap h2 span{
	display: inline-block;
}
#flow-wrap .flow.svg{
	width: 90%;
	margin: 0 auto;
	position: relative;
}
.flow .novalue{
	width: 8rem;
	height: 8rem;
}

#flow1,
#flow2,
#flow3,
#flow4,
#flow5{
	flex-direction: column-reverse;
	align-items: baseline;
	width: 50%;
}
#flow1 > div .link:after, #flow2 > div .link:after, #flow3 > div .link:after, #flow4 > div .link:after, #flow5 > div .link:after{
	height: .7em;
}
#flow1 > div .link:before, #flow2 > div .link:before, #flow3 > div .link:before, #flow4 > div .link:before, #flow5 > div .link:before{
}
#flow1 img,
#flow2 img,
#flow3 img,
#flow5 img{
	width: 3rem;
	height: auto;
}
#flow4 img{
	width: 3.5rem;
	height: auto;
}
#flow1 > div, #flow3 > div, #flow5 > div{
	float: none;
	margin-left: 0;
	width: 100%;
}
#flow1 img, #flow3 img, #flow5 img{
	float: none;
	margin: 0;
}
.flow ol li{
	padding-bottom: 0;
}

.flow ol li > div > p{
	font-size: 1rem;
	padding-top: .2em;
}

.flow ol li .link a{
	display: inline-block;
	font-size: .85rem;
	line-height: 1.3;
	padding-bottom: .25em;
	margin: 0 0 .3em;
	text-align: center;
}
#flow1 > div .link:before,
#flow3 > div .link:before,
#flow5 > div .link:before{
	right: -2rem;
}
#flow2 > div .link:before,
#flow4 > div .link:before{
	left: -2rem;
}

#flow1 > div .link:before{
	bottom: .45em;
}
#flow1 > div .link:after{
	left: 5.5em;
	right: calc(100% - 6em);
	bottom: .9em;
}
#flow3 > div .link:after{
	left: 7em;
}
#flow5 > div .link:after{
	left: 5.5em;
}
#flow1.appear > div .link:after,
#flow3.appear > div .link:after,
#flow5.appear > div .link:after{
	right: -1.5em;
}
#flow2.appear > div .link:after,
#flow4.appear > div .link:after{
	left: -1.5em;
}
#flow1, #flow3, #flow5{
	padding-right: 1.5rem;
	box-sizing: border-box;
}
#flow2, #flow4{
	padding-left: 1.5rem;
	box-sizing: border-box;
}
#flow2 > div, #flow4 > div{
	float: none;
	margin-left: 0;
	margin-right: 0;
}
#ml-line{
	top: 9rem;
}
.flow .value-circle{
	width: 12rem;
	height: 12rem;
	margin-top: 6rem;
}
#flow-wrap .new-line:before{
	content: "";
}

#contents-news{
	width: 100%;
	padding-top: 3rem;
}
#contents-news > h2{
	margin-bottom: 1rem;
}
#news-loop{
	-webkit-flex-direction: column;
	flex-direction: column;
	margin-top: 1em;
}
#news-loop li{
	width: 85%;
	margin: 0 auto 1em;
}
#links{
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
#links li{
	max-width: 80%;
	width: 13em;
	margin: 0 auto 1em;
	font-size: 1.1rem;
	min-height: 3.6em;
}