@charset "utf-8";

/* ---------------------------------------- 
 - common 
---------------------------------------- */
/* doby */
body::after { /* fadeIn */
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color:#fff;
  pointer-events: none;
  z-index: 9999;
  opacity: 1;
  -webkit-transition: opacity .8s ease;
  transition: opacity .8s ease;
}
body.fadeIn::after {
  opacity: 0;
}

/* mainVisualScroll */
.mainVisualScroll {
	position: relative;
	margin-bottom: -183px;
	z-index: 1;
}
@media screen and (max-width: 768px) {
	.mainVisualScroll {
		margin-bottom: -190px;
	}
}
@media screen and (max-width: 480px) {
}

/* footer */
footer #foot__inner	#foot__departmentWrap{
	background: #daffe9;
}
footer #foot__inner #pageTop {
    width: 50%;
    max-width: 196px;
    padding: 0 65px 0 0;
    top: -185px;
}
@media screen and (max-width: 768px) {
	footer #foot__inner {
		padding: 30px 0 50px;
		background: #daffe9;
	}
	footer #foot__inner #pageTop {
		width: 25%;
		max-width: 175px;
		padding: 0 0 0 5%;
		position: static;
	}
	footer #foot__inner	ul.foot__departmentList{
		padding-top: 10%;
	}	
}
@media screen and (max-width: 480px) {
	footer #foot__inner {
		padding: 20px 0 35px;
	}
}

/* ---------------------------------------- 
 - mainVisual 
---------------------------------------- */
/* mainVisual */
#mainVisual{
	position:relative;
	background: #daffe9;
}
#mainVisual #mainVisual__inner{
	position:relative;
	width:94%;
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
	padding: 6vw 0 100px;
}
@media screen and (max-width: 768px) {
	#mainVisual #mainVisual__inner{
		padding: 90px 0 120px;
	}
}
@media screen and (max-width: 480px) {
}

/* mainVisualTitle */
.mainVisualTitle {
	width:100%;
	margin: 0 auto 80px;
	position: relative;	
}
.mainVisualTitle.effect .mainVisualTitle__ttl{
	transform: scale(1);
	opacity: 0;	
}
.mainVisualTitle.anime .mainVisualTitle__ttl{
	animation: mainVisualTitle-bound 0.5s ease-out 0.3s 1 forwards;
}
.mainVisualTitle .mainVisualTitle__illust {
	width:33.9%;/*/800*/
	max-width: 271px;
	margin: auto;
	position: absolute;
	top:18%;
	right:9.5%;
	z-index: 1;
	transform: scale(1);
	opacity: 0;	
}
.mainVisualTitle.anime .mainVisualTitle__illust{
	-webkit-animation: mainVisualTitle-bound 0.5s ease-out 0.6s 1 forwards;
	animation: mainVisualTitle-bound 0.5s ease-out 0.6s 1 forwards;
}
.mainVisualTitle .mainVisualTitle__start {
	width:15.7%;
	max-width: 115px;
	margin: auto;
	position: absolute;
	bottom:7%;
	left:0;
	right:0;
	transform: scale(1);
	opacity: 0;	
}
.mainVisualTitle.anime .mainVisualTitle__start{
	animation: mainVisualTitle-bound 0.5s ease-out 1.0s 1 forwards;
}
@-webkit-keyframes mainVisualTitle-bound {
	from { transform: scale(0.4); opacity: 0; }
	40% { transform: scale(1.15); opacity: 1;}
	70% { transform: scale(0.95); }
	90% { transform: scale(1.05); }
	to { transform: scale(1); opacity: 1; }
}
@keyframes mainVisualTitle-bound {
	from { transform: scale(0.4); opacity: 0; }
	40% { transform: scale(1.15); opacity: 1;}
	70% { transform: scale(0.95); }
	90% { transform: scale(1.05); }
	to { transform: scale(1); opacity: 1; }
}
@media screen and (max-width: 768px) {
	.mainVisualTitle {
		width:90%;
		max-width: 675px;
		margin: 0 auto;
	}
	.mainVisualTitle .mainVisualTitle__illust {
		width: 43%;
		top: 53%;
		left: -7%;
		right: 0;
	}
	.mainVisualTitle .mainVisualTitle__start {
		width:19%;
		bottom: 3%;
		left: 5%;
	}	
}
@media screen and (max-width: 480px) {
}

/* ---------------------------------------- 
 - leadBook 
---------------------------------------- */
#leadBook{
	position:relative;
	overflow: hidden;
	background: #a8ffca;
}
#leadBook #leadBook__inner{
	position:relative;
	width:94%;
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
	padding: 80px 0 140px;
}
#leadBook #leadBook__inner .leadBook__wrap {
	width:100%;
	margin: 0 auto;
	position: relative;	
}
#leadBook #leadBook__inner .leadBook__wrap .leadBook__bg {
	width:100%;
	margin: 0 auto;
}
#leadBook #leadBook__inner .leadBook__wrap .leadBook__lead {
	width: 37%;
    max-width: 291px;
    margin: auto;
    position: absolute;
    top: 28%;
    left: 7%;
}	
#leadBook #leadBook__inner .leadBook__wrap .leadBook__lead .leadBook__catch {
	width:100%;
	max-width: 238px;
	margin: 0 auto 13%;
}
#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor {
	width: 40%;
    max-width: 278px;
    margin: auto;
    position: absolute;
    top: 31%;
    right: 8%;
}
#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor ul.anchorList li{
	padding-bottom: 7%;
}
#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor ul.anchorList li:nth-child(1){
	width: 64.3%; /* /278 */
    max-width: 179px;
}
#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor ul.anchorList li:nth-child(2){
	width: 100%; /* /278 */
    max-width: 278px;
}
#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor ul.anchorList li:nth-child(3){
	width: 94.6%; /* /278 */
    max-width: 263px;
}	
#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor ul.anchorList li:nth-child(4){
	width: 76.6%; /* /278 */
    max-width: 213px;
}
#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor ul.anchorList li:nth-child(5){
	width: 86%; /* /278 */
    max-width: 239px;
}
#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor ul.anchorList li a{
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
}
#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor ul.anchorList li a:hover{
	opacity: 0.5;
}	
#leadBook #leadBook__inner .leadBook__wrap .leadBook__point {
	width:33.4%;
	max-width: 244px;
	margin: auto;
	position: absolute;
	top:14%;
	right:-15%;
}
@media screen and (max-width: 768px) {
	#leadBook #leadBook__inner{
		width:90%;
		max-width: 675px;
		padding: 65px 0 50px;
	}
	#leadBook #leadBook__inner .leadBook__wrap {
		width:100%;
		max-width: 100%;
	}
	#leadBook #leadBook__inner .leadBook__wrap .leadBook__lead {
		width:88%;
		max-width: 600px;
		top:10%;
		left:0;
		right:0;
	}	
	#leadBook #leadBook__inner .leadBook__wrap .leadBook__lead .leadBook__catch {
		width:70.8%;
		max-width:70.8%;
		margin: 0 auto 8%;
	}
	#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor {
		width:58%;
		max-width: 350px;
		top:62%;
		right:auto;
		left:35%;
	}
	#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor ul.anchorList li{
		padding-bottom: 4%;
	}
	#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor ul.anchorList li:nth-child(1){
		width: 65%;
    	max-width: 65%;
	}
	#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor ul.anchorList li:nth-child(2){
		width:100%;
		max-width: 100%;
	}
	#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor ul.anchorList li:nth-child(3){
		width:93%;
		max-width: 93%;
	}	
	#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor ul.anchorList li:nth-child(4){
		width:75%;
		max-width: 75%;
	}
	#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor ul.anchorList li:nth-child(5){
		width:81%;
		max-width: 81%;
	}
	#leadBook #leadBook__inner .leadBook__wrap .leadBook__point {
		width:28.5%;
		max-width: 193px;
		top:62%;
		right:auto;
		left:0;
	}	
}
@media screen and (max-width: 480px) {
	#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor {
		top:60%;
	}
	#leadBook #leadBook__inner .leadBook__wrap .leadBook__anchor ul.anchorList li{
		padding-bottom: 1%;
	}
}

/* ---------------------------------------- 
 - point 
---------------------------------------- */
#point{
	position:relative;
	background: #daffe9;
}
#point #point__inner{
	position:relative;
	width:100%;
	max-width: 100%;
	max-width: 1200px; /* 1080+60*2（pointBox__inner/padding） */
	margin: 0 auto;
	text-align: center;
	padding: 0;	
}	
#point .pointBg{
	background: #a8ffca;
	width: 100%;
	position: absolute;
	left:0;
}
#point .pointBg.top{
	height: 160px;
	top:0;
}
#point .pointBg.bottom{
	height: 90px;
	bottom:0;
}
#point #point__inner .pointBox {
	padding-top: 6%;
	padding-bottom: 95px;
}
#point #point__inner .pointBox:last-child {
	padding-bottom: 0;
}
#point #point__inner .pointBox .pointBox__inner {
	width:94%;
	max-width:978px;
	background: #fff;
	border-radius: 20px;
	padding: 80px 148px 65px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}
#point #point__inner .pointBox:nth-child(odd) .pointBox__inner {
	margin-left: auto;
	margin-right: -60px;
}
#point #point__inner .pointBox:nth-child(even) .pointBox__inner {
	margin-right: auto;
	margin-left: -60px;
}
#point #point__inner .pointBox .pointBox__inner .pointTitle {
	width:7.5%;
	max-width:73px;
	text-align: center;
	position: absolute;
	top:-60px;
}
#point #point__inner .pointBox:nth-child(odd) .pointBox__inner .pointTitle {
	left:4%;
}
#point #point__inner .pointBox:nth-child(even) .pointBox__inner .pointTitle {
	right:4%;
}
#point #point__inner .pointBox .pointBox__inner .pointTitle .pointTitle__icon {
	width:100%;
	max-width:73px;
	padding: 0 0 20px;
}
#point #point__inner .pointBox .pointBox__inner .pointTitle .pointTitle__ttl {
	width:59%;
	max-width:43px;
	margin: 0 auto;
}
#point #point__inner .pointBox .pointBox__inner .pointBox__pht {
	width:100%;
	margin: 0 auto;	
}
#point #point__inner .pointBox .pointBox__inner .pointBox__catch {
	width:42.9%; /* /682 */
	max-width: 286px; /* point01 */
	margin: 0 auto;
	padding: 0 0 45px;
}
#point #point__inner .pointBox .pointBox__inner .pointBox__txt {
	width:100%;
	margin: 0 auto;
	text-align: left;
	color:#000084;
	font-size: 1.8rem;
	line-height: 1.8;
}
#point #point__inner .pointBox .pointBox__inner .pointBox__txt > .line {
	text-decoration: underline;
}
#point #point__inner .pointBox .pointBox__inner .pointDetail {
	width:100%;
	margin: 25px auto 0;
	padding: 30px 35px;
	text-align: left;
	color:#000084;
	font-size: 1.8rem;
	line-height: 1.8;
	background: #daffe9;
	border-radius: 20px;
	display: -webkit-flex;
   	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
}
#point #point__inner .pointBox .pointBox__inner .pointDetail .pointDetail__ttl {
	width:7.5%;
	max-width:16px;
	text-align: center;
}
#point #point__inner .pointBox .pointBox__inner .pointDetail .pointDetail__cnt {
	width:90%;
	max-width:550px;
}

/* point01 */
#point #point__inner .pointBox#point01 .pointBox__inner .pointBox__pht {
	margin-top: 25px;
}
#point #point__inner .pointBox#point01 .pointBox__inner .pointBox__pht img {
	border-radius: 20px;
}

/* point02 */
#point #point__inner .pointBox#point02 .pointBox__inner .pointBox__catch {
	width:51.5%; /* /682 */
	max-width: 351px;
}
#point #point__inner .pointBox#point02 .pointBox__inner .pointDetail .pointDetail__cnt .pht { 
	width:59.3%; /* /550 */
	max-width:326px;
	margin: 4% auto;
}
#point #point__inner .pointBox#point02 .pointBox__inner .pointDetail .pointDetail__cnt .pointBox__pht {
	width:77.3%; /* /550 */
	max-width:425px;	
    padding: 25px 0 25px;
}

/* point03 */
#point #point__inner .pointBox#point03 .pointBox__inner .pointBox__catch {
	width:44.1%; /* /682 */
	max-width: 300px;
}
#point #point__inner .pointBox#point03 .pointBox__inner .pointBox__pht {
	width:73.3%; /* /682 */
	max-width: 500px;	
    padding: 55px 0 25px;
}

/* point04 */
#point #point__inner .pointBox#point04 .pointBox__inner .pointBox__catch {
	width:68.0%; /* /682 */
	max-width: 464px;
}
#point #point__inner .pointBox#point04 .pointBox__inner .pointDetail .pointDetail__cnt .pht { 
	width:83.6%; /* /550 */
	max-width:460px;
	margin: 4% auto;
}
	
/* point05 */
#point #point__inner .pointBox#point05 .pointBox__inner .pointBox__catch {
	width:46.6%; /* 310/682 */
	max-width: 318px;
}
#point #point__inner .pointBox#point05 .pointBox__inner .pointBox__pht {
    padding: 55px 0 25px;
}
#point #point__inner .pointBox#point05 .pointBox__inner .pointBox__pht.pht_01,
#point #point__inner .pointBox#point05 .pointBox__inner .pointBox__txt.txt_01{
    width:89.4%; /* /682 */
	max-width: 610px;
	text-align: center;
}
@media screen and (max-width: 1080px) {
	#point #point__inner .pointBox .pointBox__inner {
		padding: 8% 14%;
	}
	#point #point__inner .pointBox .pointBox__inner {
		padding: 8% 14%;
	}
	#point #point__inner .pointBox .pointBox__inner .pointTitle {
		top:-5.5vw;
	}
}
@media screen and (max-width: 768px) {
	#point #point__inner{
		width:100%;
		max-width: 100%;
		padding: 100px 0 25px;
	}
	#point #point__inner .pointBox {
		width:88%;
		padding: 20vw 0 7vw;
		margin: 0 auto;
	}
	#point #point__inner .pointBox .pointBox__inner {
		width:100%;
		max-width:100%;
		background: none;
		border-radius: 0;
		padding: 0 0 0;
	}
	#point #point__inner .pointBox:nth-child(odd) .pointBox__inner {
		margin-right: auto;
	}
	#point #point__inner .pointBox:nth-child(even) .pointBox__inner {
		margin-left: auto;
	}
	#point #point__inner .pointBox .pointBox__inner .pointTitle {
		width:100%;
		max-width:100%;
		text-align: center;
		position:relative;
		background: #fff;
		border-radius: 15px;
		padding: 6vw 0;
		box-sizing: border-box;
		margin: 0 auto;
	}
	#point #point__inner .pointBox:nth-child(odd) .pointBox__inner .pointTitle {
		left: 0;
	}
	#point #point__inner .pointBox:nth-child(even) .pointBox__inner .pointTitle {
		right: 0;
	}
	#point #point__inner .pointBox .pointBox__inner .pointTitle .pointTitle__icon {
		width:13%;
		max-width:90px;
		padding: 0 0 0;
		position: absolute;
		left:0;
		right:0;
		top:-13vw;
		margin: 0 auto;
	}
	#point #point__inner .pointBox .pointBox__inner .pointTitle .pointTitle__ttl {
		width:30%;
		max-width:200px;
		padding: 0 0 20px;
	}
	#point #point__inner .pointBox .pointBox__inner .pointTitle .pointTitle__catch {
		width:64%;
		max-width: 420px;
		margin: 0 auto;
	}
	#point #point__inner .pointBox .pointBox__inner .pointBox__pht {
		padding: 0 0 4vw;
	}
	#point #point__inner .pointBox .pointBox__inner .pointBox__txt {
		font-size: 1.6rem;
	}
	#point #point__inner .pointBox .pointBox__inner .pointDetail {
		margin: 4vw auto 0;
		padding: 3vw 5%;
		font-size: 1.6rem;
		line-height: 1.8;
		background: #fff;
		border-radius: 15px;
		display: block;
	}
	#point #point__inner .pointBox .pointBox__inner .pointDetail .pointDetail__ttl {
		width:83%;
		max-width:497px;
		text-align: center;
		padding-bottom: 4vw;
	}
	#point #point__inner .pointBox .pointBox__inner .pointDetail .pointDetail__cnt {
		width:100%;
		max-width:100%;
	}
	/* point01 */
	#point #point__inner .pointBox#point01 .pointBox__inner .pointTitle .pointTitle__ttl {
		width: 32.0%; /* /660 */
		max-width: 211px;
	}
	#point #point__inner .pointBox#point01 .pointBox__inner .pointTitle .pointTitle__catch {
		width: 54.1%; /* /660 */
		max-width: 357px;
		margin: 0 auto;
	}
	#point #point__inner .pointBox#point01 .pointBox__inner .pointBox__pht img {
		border-radius: 15px;
	}
	
	/* point02 */
	#point #point__inner .pointBox#point02 .pointBox__inner .pointTitle .pointTitle__ttl {
		width: 49.4%; /* /660 */
		max-width: 326px;
		padding: 0 0 4vw;
	}
	#point #point__inner .pointBox#point02 .pointBox__inner .pointTitle .pointTitle__catch {
		width: 68.8%; /* /660 */
		max-width: 454px;
	}
	#point #point__inner .pointBox#point02 .pointBox__inner .pointDetail .pointDetail__ttl {
		width: 80.6%; /* /594 */
		max-width: 479px;
		padding-bottom: 2vw;
	}
	#point #point__inner .pointBox#point02 .pointBox__inner .pointDetail .pointDetail__cnt .pht { 
		width: 66.1%; /* /594 */
		max-width:392px;
	}
	#point #point__inner .pointBox#point02 .pointBox__inner .pointDetail .pointDetail__cnt .pointBox__pht {
		width:84.2%; /* /594 */
		max-width:500px;	
		padding: 2vw 0 6vw;
	}
	/* point03 */
	#point #point__inner .pointBox#point03 .pointBox__inner .pointTitle .pointTitle__ttl {
		width: 53.5%; /* /660 */
		max-width: 318px;
		padding: 0 0 4vw;
	}
	#point #point__inner .pointBox#point03 .pointBox__inner .pointTitle .pointTitle__catch {
		width: 59.0%; /* /660 */
		max-width: 390px;
	}
	#point #point__inner .pointBox#point03 .pointBox__inner .pointBox__pht {
		width:75.8%; /* /660 */
		max-width:500px;
		padding: 6vw 0 4vw;
	}
	
	/* point04 */
	#point #point__inner .pointBox#point04 .pointBox__inner .pointTitle .pointTitle__ttl {
		width: 36.8%; /* /660 */
		max-width: 243px;
		padding: 0 0 4vw;
	}
	#point #point__inner .pointBox#point04 .pointBox__inner .pointTitle .pointTitle__catch {
		width: 53.0%; /* /660 */
		max-width: 350px;
	}	
	#point #point__inner .pointBox#point04 .pointBox__inner .pointDetail .pointDetail__ttl {
		width: 34.3%; /* /594 */
		max-width: 204px;
	}
	#point #point__inner .pointBox#point04 .pointBox__inner .pointDetail .pointDetail__cnt .pht { 
		width:55.7%; /* /594 */
		max-width:331px;
		margin: 4% auto;
	}
	
	/* point05 */
	#point #point__inner .pointBox#point05 .pointBox__inner .pointTitle .pointTitle__ttl {
		width: 41.8%; /* /660 */
		max-width: 276px;
		padding: 0 0 4vw;
	}
	#point #point__inner .pointBox#point05 .pointBox__inner .pointTitle .pointTitle__catch {
		width: 82.6%; /* /660 */
		max-width: 545px;
	}
	#point #point__inner .pointBox#point05 .pointBox__inner .pointBox__pht {
		padding: 6vw 0 4vw;
	}	
	#point #point__inner .pointBox#point05 .pointBox__inner .pointBox__pht.pht_01,
	#point #point__inner .pointBox#point05 .pointBox__inner .pointBox__txt.txt_01{
		width:89.4%; /* /660 */
		max-width: 610px;
		text-align: center;
	}
	#point #point__inner .pointBox#point05 .pointBox__inner .pointBox__pht.pht_02{
		padding-top: 10vw;
	}
}
@media screen and (max-width: 480px) {
	#point #point__inner{
		padding: 45px 0 25px;
	}
	#point #point__inner .pointBox .pointBox__inner .pointTitle {
		padding: 4.5vw 0 6vw;
	}
	#point #point__inner .pointBox .pointBox__inner .pointDetail {
		padding: 2vw 5%;
	}
	#point #point__inner .pointBox .pointBox__inner .pointDetail .pointDetail__ttl {
		padding-bottom: 4vw;
	}
}

/* ---------------------------------------- 
 - otherLink 
---------------------------------------- */
#otherLink{
	position:relative;
	overflow: hidden;
	background: #a8ffca;
}
#otherLink #otherLink__inner{
	position:relative;
	width:80%;
	max-width: 678px;
	margin: 0 auto;
	text-align: center;
	padding: 225px 0 325px;
}
#otherLink #otherLink__inner .otherLink__ttl{
	width:100%;
	max-width: 678px;
	margin: 0 auto;
	padding: 0 0 45px;
}
#otherLink #otherLink__inner .otherLink__banner{
	width:80%;
	max-width: 540px;
	margin: 0 auto;
}
#otherLink #otherLink__inner .otherLink__banner a{
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
}
#otherLink #otherLink__inner .otherLink__banner a:hover{
	opacity: 0.5;
}
@media screen and (max-width: 768px) {
	#otherLink #otherLink__inner{
		position:relative;
		width:80%;
		max-width: 600px;
		margin: 0 auto;
		text-align: center;
		padding: 6vw 0 7vw;
	}
	#otherLink #otherLink__inner .otherLink__ttl{
		width:82%;
		max-width: 492px;
		padding: 0 0 4vw;
	}
	#otherLink #otherLink__inner .otherLink__banner{
		width:100%;
		max-width: 600px;
	}
}
@media screen and (max-width: 480px) {
	#otherLink #otherLink__inner{
		padding: 4vw 0 7vw;
	}
}