@charset "UTF-8";


ul.dot {position:relative; padding:1.5em; background:#EDF9EE; border:1px solid #C8E3CC;}
ul.dot::after {position:absolute; display:block; content:""; bottom:-18px; left:calc(50% - 25px); height:calc(30px / 2 * tan(60deg)); width:50px; clip-path:polygon(0 0, 100% 0, 50% 100%); background:#389143;}


main .ptxt .btn {margin:2em auto 0 auto; text-align:right;}
main .ptxt .btn a {display:block; width:50%; padding:0.3em 1em; border:1px solid #389143; border-radius:3px; color:#389143; font-size:110%; text-align:center; text-decoration:none !important;}


/*********************************
 * ～900
 *********************************/

@media screen and (max-width:900px){
 
  main > .ptxt:first-child {width:100%; max-width:none !important; margin-top:0; padding:1em; background:#e4f4fa; color:#78c8e6; font-size:80%; text-align:center;}
  main > .ptxt:first-child span {display:block; padding-bottom:0.5em; font-size:110%; font-weight:600;}
  
	main h2 {width:90%; margin-left:auto; margin-right:auto;}
  main h2 + .ptxt {width:90%; margin:2em auto 0 auto;}
  main h2:first-child {margin:12% auto 0 auto;}
  
  .area1 {width:90%; margin:2em auto 0 auto; text-align:center;}
  
	.area2 {width:90%; margin:2.5em auto 0 auto; padding-bottom:2em;}
 .area2 .fleft {position:relative; width:70%; border-right:2rem solid #fff; font-size:0; z-index:+1;}	
 .area2 .fright {width:90%; margin:-2.5em 0 0 10%; padding:5em 2em 3em 0 !important; border:3px solid #389143; border-left:0; line-height:1.8;} 
	.area2 .fright span {font-size:120%; font-weight:700; line-height:1.5;}
 
 .ptxt {width:90%; margin:2em auto 0 auto;}
	
	ul.service {display:flex; flex-wrap:wrap; justify-content:space-between; width:100%;}
	ul.service li {width:48%; margin:0 0 1em 0; padding:1.5em; background:#2d7f37; border-radius:3px; color:#fff;}
  
  ul.dot::after {bottom:-12px; left:calc(50% - 20px); height:calc(24px / 2 * tan(60deg)); width:40px; clip-path:polygon(0 0, 100% 0, 50% 100%);}

}



/*********************************
 * 901～
 *********************************/

@media screen and (min-width:901px) {
 
  main > .ptxt:first-child {width:100%; max-width:none !important; margin-top:0; padding:1.5em 1em; background:#e4f4fa; color:#78c8e6; text-align:center;}
  main > .ptxt:first-child span {display:block; padding-bottom:0.5em; font-size:115%; font-weight:600; text-align:center;}
 
 main .ptxt .btn a {transition:0.3s;}
 main .ptxt .btn a:hover {background:#389143; color:#fff;}
 
 main h2 {width:94%; max-width:1200px; margin-left:auto; margin-right:auto;}
 main h2 + .ptxt {width:94%; max-width:1200px; margin:2em auto 0 auto;}
 main h2:first-child {margin:8% auto 0 auto;}

 .area1 {width:80%; max-width:1200px; margin:2em auto 0 auto; text-align:center;}
.area1 img {}
  
	.area2 {width:94%; max-width:1200px; margin:2.5em auto 0 auto; padding-bottom:2em;}
 .area2 .ptxt {display:flex; position:relative; align-items:center; justify-content:space-between; width:100%;}
 .area2 .ptxt .fleft {position:relative; width:40%; border-right:3em solid #fff; font-weight:500; line-height:2; text-align:justify; text-justify:inter-ideograph; z-index:+1;}	
 .area2 .ptxt .fright {position:absolute; width:75%; bottom:-2em; right:0; margin:6em 0 0 25%; padding:5em 2em 5em 16%; border:3px solid #389143; border-left:0; line-height:1.8;}
	.area2 .fright span {font-size:115%; font-weight:700;}
 
 .ptxt {width:94%; max-width:1200px; margin:2em auto 0 auto;}
	
	ul.service {display:flex; flex-wrap:wrap; width:80%; margin:0 auto;}
	ul.service li {width:32%; margin:0 2% 1em 0; padding:2em; background:#2d7f37; border-radius:3px; color:#fff;}
	ul.service li:nth-child(3n) {margin-right:0;}

}

