@charset "utf-8";
/* CSS Document */
*{
	box-sizing: border-box;
}
html{
	font-size: 62.5%;
	-webkit-text-ajust: 100%;
}
body{
	line-height: 1.5;
	color: #333333;
	font-family: "ヒラギノ角ゴ Pro W4", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	font-weight: 400;
	font-size: 1.6rem;
	background-color: #38a091;
}
main{
	display: block;
	width: calc(100% - 20px);
	max-width: 1200px;
	margin:0 auto;
	padding-top: 180px;
	padding-bottom: 100px;
}
img{
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
}

.wrapper{
	position: relative;
	width: 100%;
	max-width: 1500px;
	margin: 0 auto;
	background-color: #fff2e4;
}
.inner{
	width: calc(100% - 40px);
	max-width: 1100px;
	margin: 0 auto;
}
.contents-inner{
	width: calc(100% - 20px);
	max-width: 1000px;
	margin: 0 auto;
}
.sponly{
	display: none;
}
a{
	color: #38a091;
}


/*header-------------*/
#top{
	position: relative;
}
.header{
	position: absolute;
	top: 0;
	right: 0;
	display: inline-block;
	padding: 18px 20px 14px;
	background-color: #FFFFFF;
	z-index: 999;
}
.header p a{
	display: block;
}

section{
	margin: 80px auto;
}

.paperback{
	background: url("../images/JN_bgim01.png") repeat #ffffff top center;
	border-radius: 10px;
}

.headArea{
	position: relative;
	padding-top: 110px;
	padding-bottom: 70px;
}
.headArea:before{
	content: "";
	position: absolute;
	width: 60px;
	height: 60px;
	right: 0;
	bottom: 0;
	background-color: #fff2e4;
}
.headArea:after{
	content: "";
	position: absolute;
	width: 60px;
	height: 60px;
	right: 0;
	bottom: 0;
	background: url("../images/JN_ic12.png") no-repeat center center / cover;
}
.headArea .inner > .txArea{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
.headArea .inner > .txArea > div{
	width: 66%;
}
.headArea .inner > .txArea figure{
	margin-left: 20px;
	width: calc(34% - 20px);
	max-width: 321px;
}
.h1Area{
	position: absolute;
	top: -90px;
	left: 50px;
	font-size: 1.8rem;
}
h1{
	position: relative;
	padding: 30px 50px;
	margin-bottom: 30px;
	transition: all 0.5s 0;
}
h1 img{
	position: relative;
	z-index: 2;
}
h1:before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	position: absolute;
	background-color: #47c1b0;
	transform:rotate(-1deg); 
	z-index: 1;
	box-shadow: 2px 3px 3px 0px rgba(0,0,0,0.8);
}
section[class^="contents0"]{
	position: relative;
	padding-top: 100px;
	padding-bottom: 70px;
}
.h2Area{
	position: absolute;
	top: -20px;
	left: 50px;
}
h2{
	position: relative;
	padding: 10px 20px;
	margin-bottom: 30px;
	font-size: 3.6rem;
	line-height: 1.2;
	font-weight: bold;
	color: #ffffff;
	text-shadow: 1px 1px 3px rgba(0,0,0,0.25);
}
h2 span{
	position: relative;
	z-index: 2;
}
h2:before{
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	position: absolute;
	background-color: #e9bc46;
	transform:rotate(-1deg); 
	z-index: 1;
	box-shadow: 2px 3px 3px 0px rgba(0,0,0,0.8);
}
.h2Area+p{
	font-weight: bold;
	font-size: 1.8rem;
	margin-bottom: 40px;
}
.contents01 h3{
	display: inline;
	padding: 0 10px 5px 0;
	font-size: 2.4rem;
	font-weight: bold;
	color: #b43a6e;
  background: linear-gradient(transparent 40%, #fff2e4 60%);
}
.contents01 h3 img{
	margin-right: 10px;
}
.contents01 h3+p{
	margin-top: 30px;
}
.contents01 ol > li+li{
	margin-top: 40px;
}
.contents01 .txArea{
	margin-top: 60px;
	position: relative;
	background-color: #edf0ea;
	padding: 45px 45px 40px;
	font-weight: bold;
	font-size: 1.8rem;
}
.contents01 .txArea:before{
	content: "";
	display: block;
	position: absolute;
	width: 250px;
	height: 34px;
	top: -17px;
	left: 50%;
	margin-left: -125px;
	transform:rotate(-1deg); 
	background-color: rgba(71,193,176,0.50)
}
.contents01 .graphArea{
	position: relative;
	margin: 40px auto;
	padding: 50px;
	background-color: #fff2e4;
	border-radius: 10px;
}
.contents01 .graphArea:before{
	content: "";
	display: block;
	position: absolute;
	width: 37px;
	height: 97px;
	top: -16px;
	left: 20px;
}
.contents01 .contents-inner > ol > li:nth-of-type(3n+1) .graphArea:before{
	background: url("../images/JN_ic01.png") no-repeat center center / cover;
}
.contents01 .contents-inner > ol > li:nth-of-type(3n-1) .graphArea:before{
	background: url("../images/JN_ic02.png") no-repeat center center / cover;
}
.contents01 .contents-inner > ol > li:nth-of-type(3n) .graphArea:before{
	background: url("../images/JN_ic03.png") no-repeat center center / cover;
}
.contents01 .contents-inner > ol > li:first-of-type .graphArea .graphArea-inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
	font-size: 2.4rem;
}
.contents01 .contents-inner > ol > li:first-of-type .graphArea .graphArea-inner p span{
	font-weight: bold;
	color: #b43a6e;
  background: linear-gradient(transparent 40%, #f4d795 60%);
}

/*contents02-------------*/
.contents02 h3{
	display: inline;
	font-size: 2.4rem;
	font-weight: bold;
	color: #b43a6e;
	border-bottom: 2px solid #b43a6e;
	padding-bottom: 2px;
}
.contents02 h3+*{
	margin-top: 30px;
}
h4{
	margin: 0 auto 20px;
	text-align: center;
}
h4 span{
	display: inline;
	padding: 3px 10px;
	font-size: 2rem;
	font-weight: bold;
	background-color: #47c1b0;
}
.contents02 .contents-inner > ul > li+li{
	margin-top: 40px;
}
.contents02 p+h4{
	margin-top: 40px;
}
.contents02 li>ul+p{
	margin-top: 40px;
}
.contents02 .graphArea{
	margin: 40px auto;
	padding: 50px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	border: 3px solid #e9bc46;
	border-radius: 10px;
	text-align: center;
}
.contents02 li .txArea{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.contents02 li .txArea p{
	width: 65%;
}
.contents02 li .txArea figure{
	margin-left: 20px;
	width: calc(35% - 20px);
	max-width: 337px;
}

/*contents03-------------*/
.contents03 ul.fundArea {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
}
.contents03 ul.fundArea li {
	position: relative;
	background-color: #edf0ea;
	width: calc((100% - 20px) / 2);
	margin-top: 30px;
	box-shadow: 1px 1px 2px 0px rgba(0,0,0,0.8);
	border-radius: 10px;
	transition:transform 0.3s;
}
.contents03 ul.fundArea li:hover {
    transform:scale(0.98);
}
.contents03 ul.fundArea li:nth-of-type(even){
	margin-left: 20px;
}
.contents03 ul.fundArea li:before{
	content: "";
	width: 50px;
	height: 55px;
	top: -20px;
	left: 50%;
	margin-left: -20px;
	position: absolute;
}
.contents03 ul.fundArea li:nth-of-type(3n+1):before{
	background: url("../images/JN_ic09.png") no-repeat center center / cover;
}
.contents03 ul.fundArea li:nth-of-type(3n-1):before{
	background: url("../images/JN_ic10.png") no-repeat center center / cover;
}
.contents03 ul.fundArea li:nth-of-type(3n):before{
	background: url("../images/JN_ic11.png") no-repeat center center / cover;
}

.contents03 ul.fundArea li a{
	display: block;
	height: 100%;
	text-decoration: none;
	padding: 50px 20px 20px;
}
.contents03 ul.fundArea li figure{
	text-align: center;
}
.contents03 ul.fundArea li p{
	margin-top: 20px;
	color: #333333;
	font-weight: bold;
}
.contents03 ul.fundArea li p span{
	font-size: 1.4rem;
	font-weight: normal;
}
.contents03 .txArea{
	margin-top: 60px;
	position: relative;
	padding: 45px 50px;
	font-size: 1.8rem;
	font-weight: bold;
	background-color: #ffffff;
	border: 3px dashed #47c1b0;
	border-radius: 10px;
}
.contents03 .txArea:before{
	position: absolute;
	content: "";
	width: 120px;
	height: 30px;
	top: 10px;
	left: -30px;
	transform:rotate(-45deg); 
	background-color: rgba(71,193,176,0.50)
}
.contents03 .txArea:after{
	position: absolute;
	content: "";
	width: 120px;
	height: 30px;
	bottom: 10px;
	right: -30px;
	transform:rotate(-45deg); 
	background-color: rgba(71,193,176,0.50)
}
/*flexbox-------------*/
.flexbox{
	margin: 30px auto;
	width: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}

section>.flexbox{
	margin-top: 0;
}
/*action*/
.fadeIn_item.fade.offs,.offs .fadeIn_item.fade{
  opacity: 0;
}
.fadeIn_item.up.offs,.offs .fadeIn_item.up{
  opacity: 0;
  transform: translateY(50px);
}
.fadeIn_item.down.offs,.offs .fadeIn_item.down{
  opacity: 0;
  transform: translateY(-50px);
}
.fadeIn_item.left.offs,.offs .fadeIn_item.left{
  opacity: 0;
  transform: translateX(50px);
}
.fadeIn_item.right.offs,.offs .fadeIn_item.right{
  opacity: 0;
  transform: translateX(-50px);
}
.fadeIn_item.ons,.ons .fadeIn_item{
  transition: all 0.5s cubic-bezier(0, 0, 0.13, 0.79);
  opacity: 1;
  transform: translateY(0);
  transform: translateX(0);
}


/* process -------------*/

/*note-------------*/
.note{
	margin-top: 20px;
	text-align: left;
	font-size: 1.4rem;
}
.note li:not(.flat) , p.note:not(.flat){
	position: relative;
	padding-left: 16px;
}
.note02{
	text-align: left;
	font-size: 1.8rem;
}
.note li:not(.flat) , p.note:not(.flat){
	position: relative;
	padding-left: 20px;
}

ol.note , ol.note02{
  counter-reset: item;
  list-style-type: none;
}
ol.note li:not(.flat){
  position: relative;
	padding-left: 28px;
}
ol.note02 li:not(.flat){
  position: relative;
	padding-left: 32px;
}
.kome_number:before{
  counter-increment: item;
  content: "※"counter(item);
	position: absolute;
	margin-left: -28px;
}
.ast_number:before{
  counter-increment: item;
  content: "*"counter(item);
	position: absolute;
	margin-left: -28px;
}
.circle_number:before{
  counter-increment: item;
  content: counter(item);
	position: absolute;
	margin-left: -28px;
	margin-top: 5px;
  line-height: 1.7rem;
  text-align: center;
  height: 16px;
  width: 16px;
	border: 1px solid #333333;
  border-radius: 50%;
	font-size: 1.4rem;
}
.kome:before{
	content: "※";
	position: absolute;
	margin-left: -16px;
}
.circle:before{
	content: "●";
	position: absolute;
	margin-left: -16px;
}
.ast:before{
	content: "＊";
	position: absolute;
	margin-left: -16px;
}
.tx_super{
	vertical-align: super;
	font-size: 1rem;
}
.tx_red{
	color: #d0111b;
}
.tx_bold{
	font-weight: bold;
}
.tx_center{
	text-align: center;
}
.tx_big{
	font-size: 2rem;
}

/*pagetop-------------*/
.pageTop{
	display: none;
	position: fixed;
	right: 50px;
	bottom: 30px;
	z-index: 999;
}
.pageTop a{
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	width: 80px;
	height: 80px;
	border-radius: 40px;
	border: 3px solid #fff2e4;
	background: #38a091;
	box-shadow: 0px 2px 3px 2px rgba(56,160,145,0.3);
	color: #fff2e4;
	font-size: 2rem;
	line-height: 1.2;
	text-align: center;
	font-weight: bold;
	text-decoration: none;
}

/*footer------------*/
.footer{
	padding: 25px 0 20px;
	background-color: #ffffff;
	color: #333333;
}
.footer .linkArea{
	display: -webkit-flex;
	display: flex;
	margin-bottom: 20px;
	margin-left: 30px;
}
.footer .linkArea li:not(last-of-type) a{
	padding-right: 10px;
}
.footer .linkArea li+li{
	padding-left: 10px;
	border-left: 1px solid #d5d5d5;
}
.footer .linkArea a{
	color: #004fab;
	text-decoration: underline;
}
.footer .linkArea a:hover{
	text-decoration: none;
}
.footerBox{
	padding: 30px 0 25px;
	background-color: #d5d5d5;
	font-size: 1.4rem;
	text-align: center;
}
.footerBox .name{
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 2.4rem;
}
.footer .small{
	margin-top: 20px;
	font-weight: bold;
	font-size: 12px;
	text-align: center;
}

/*------------------------------------------------------------
　　スマートフォン
------------------------------------------------------------*/
@media screen and (max-width:768px){
	body{
		font-size: 1.5rem;
		line-height: 1.5;
	}
	main{
		padding-top: 80px;
		padding-bottom: 50px;
		width: 100%;
	}
	.sponly{
		display: block;
	}
	.pconly{
		display: none;
	}

	/*header-------------*/
	.header{
		position: static;
		display: block;
		padding: 5px 10px 10px;
	}
	.header p{
		line-height: 1;
		font-size: 2rem;
	}
	.headArea{
	padding-top: 80px;
	padding-bottom: 50px;
}
.headArea .inner > .txArea{
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
	.headArea .inner > .txArea > div{
	width: 100%;
}
.headArea .inner > .txArea figure{
	margin-left: 0;
	margin-top: 20px;
	width: 100%;
}

.h1Area{
	max-width: 500px;
	width: calc(100% - 20px);
	top: -60px;
	left: 10px;
}
h1{
	position: relative;
	padding: 20px 10px;
}

	section[class^="contents0"]{
	padding-top: 80px;
	padding-bottom: 70px;
}
	section.contents02 , section.contents03{padding-top: 120px;}
	.paperback{
		border-radius: 0;
	}

.h2Area{
	max-width: calc(100% - 20px);
	top: -30px;
	left: 10px;
}
h2{
	padding: 10px;
	margin-bottom: 30px;
	font-size: 2.8rem;
	line-height: 1.2;
}
.h2Area+p{
	font-size: 1.6rem;
	margin-bottom: 40px;
}

	.contents01 h3{
	font-size: 2.2rem;
}
.contents01 .txArea{
	margin-top: 60px;
	padding: 45px 20px 30px;
	font-size: 1.6rem;
}
.contents01 .txArea:before{
	width: 200px;
	height: 34px;
	top: -17px;
	left: 50%;
	margin-left: -100px;
}
.contents01 .graphArea{
	margin: 40px auto;
	padding: 50px 20px;
}
.contents01 .graphArea:before{
	width: 24px;
	height: 64px;
	top: -9px;
	left: 16px;
}
.contents01 .contents-inner > ol > li:first-of-type .graphArea .graphArea-inner{
	flex-direction: column;
	margin: 0 auto;
	font-size: 2rem;
}
.contents01 .contents-inner > ol > li:first-of-type .graphArea .graphArea-inner img:nth-of-type(2){
	transform:rotate(90deg); 
}

	/*contents02-------------*/
.contents02 h3{
	font-size: 2.0rem;
}
h4 span{
	font-size: 1.6rem;
}
.contents02 .graphArea{
	padding: 50px 20px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
	.contents02 .graphArea div+div{
		margin-top: 40px;
	}
.contents02 li .txArea{
	width: 100%;
	flex-direction: column;
}
.contents02 li .txArea p{
	width: 100%;
}
.contents02 li .txArea figure{
	margin-top: 20px;
	margin-left: 0;
	width: 100%;
}

	/*contents03-------------*/
.contents03 ul.fundArea {
	flex-direction: column;
	justify-content: center;
}
.contents03 ul.fundArea li {
	width: 100%;
	max-width: 490px;
	margin: 20px auto;
}
.contents03 ul.fundArea li:nth-of-type(even){
	margin-left: auto;
}
.contents03 ul.fundArea li:before{
	width: 30px;
	height: 33px;
	top: -20px;
	left: 50%;
	margin-left: -10px;
	position: absolute;
}

.contents03 ul.fundArea li a{
	padding: 20px 10px 20px;
}
.contents03 ul.fundArea li p span{
	font-size: 1.2rem;
	font-weight: normal;
}
.contents03 .txArea{
	margin: 60px 30px;
	position: relative;
	padding: 45px 30px;
	font-size: 1.6rem;
}
.contents03 .txArea:before{
	height: 26px;
}
.contents03 .txArea:after{
	height: 26px;
}


		.flexbox{
		margin: 30px auto;
		-webkit-flex-direction: column;
		flex-direction: column;
	}

	
	section{
		margin: 80px auto;
	}
	
		.fadeIn_item.up.offs,
	.offs .fadeIn_item.up{
		opacity: 0;
		transform: translateY(20px);
	}
	.fadeIn_item.down.offs,
	.offs .fadeIn_item.down{
		opacity: 0;
		transform: translateY(-20px);
	}
	.fadeIn_item.left.offs,
	.offs .fadeIn_item.left{
		opacity: 0;
		transform: translateX(20px);
	}
	.fadeIn_item.right.offs,
	.offs .fadeIn_item.right{
		opacity: 0;
		transform: translateX(-20px);
	}

		

	/*--  pagetop  ----------------------------------*/
	.pageTop{
		right: 10px;
		bottom: 15px;
	}
	.pageTop a{
		width: 65px;
		height: 65px;
		border-radius: 35px;
	}
	/*--  footer  ----------------------------------*/
	.footer{
		padding: 25px 0 20px;
	}
	.footer .linkArea{
		display: block;
		margin-right: 15px;
		margin-bottom: 23px;
		margin-left: 13px;
		font-size: 1.4rem;
	}
	.footer .linkArea li:not(last-of-type) a{
		padding-right: 0;
	}
	.footer .linkArea li+li{
		padding-top: 10px;
		padding-left: 0;
		border-left: none;
	}
	.footerBox{
		padding: 25px 13px 20px;
		font-size: 1.3rem;
	}
	.footerBox .name{
		margin-bottom: 8px;
		font-size: 1.8rem;
	}
	.footer .small{
		margin-top: 20px;
		padding: 0 15px;
		font-size: 1.1rem;
	}
}


