/*----------------------------------------------------
https://daib-log.com/responsive/
・スマートフォン：設定なし（実質599px以下）
・タブレット：600px　@media screen and (min-width: 600px) {}
・PC：1025px　@media screen and (min-width: 1025px) {}
red #003366 rgba(0,51,102,1.00)
----------------------------------------------------*/
/* invisible
----------------------------------------------------*/
.invisible {
  opacity: 0;
  transition: all 1s;
  transform: translateY(50px);
}
.invisible.visible {
  opacity: 1;
  transform: translateY(0);
}
.fadein {
  opacity: 0;
  animation: fadein 2.6s ease forwards;
}
@keyframes fadein {
  100% {
    opacity: 1;
  }
}
/* sec_btn
----------------------------------------------------*/
.btn_box {
  margin-top: 15px;
}
.btn_box a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  width: 95%;
  color: #fff;
  margin: 0 auto;
  text-decoration: none;
  border: 2px solid #fff;
  border-radius: 5px;
  line-height: 1.6;
}
.btn_box a::after {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%) rotate(-45deg);
  width: 8px;
  height: 8px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}
@media (min-width: 600px) {
  .btn_box a {}
}
@media (min-width:1025px) {
  .btn_box {}
  .btn_box a {}
}
/* 
----------------------------------------------------*/
.sec_ttl {
  margin-bottom: 20px;
  text-align: center;
}
.sec_ttl h2 {
  font-size: 2.4rem;
  display: inline-block;
  padding: 6px;
  border-bottom-color: #664d22;
  border-bottom-style: dotted;
  border-bottom-width: 2px;
}
@media (min-width: 600px) {
  .sec_ttl {
    margin-bottom: 30px;
  }
  .sec_ttl h2 {
    font-size: 2.8rem;
  }
}
@media (min-width: 1025px) {
  .sec_ttl {
    margin-bottom: 40px;
  }
  .sec_ttl h2 {
    font-size: 3.4rem;
  }
}
/* 
----------------------------------------------------*/
#sec_main {
  background: url("../img/main.jpg") no-repeat center;
  background-size: cover;
  height: 90vh;
  position: relative;
  border-bottom-left-radius: 1000px 100px;
  border-bottom-right-radius: 1000px 100px;
  margin-left: -50px;
  margin-right: -50px;
  padding-left: 50px;
  padding-right: 50px;
}
#sec_main .txt_box {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
}
#sec_main h2, #sec_main h3 {
  text-align: center;
  color: #fff;
  text-shadow: 0 0 5px #6fb2ee;
}
#sec_main h2 {
  font-size: 2rem;
  line-height: 2;
  margin-bottom: 1.5em;
  letter-spacing: .2em;
}
#sec_main h3 {
  font-size: 1.3rem;
}
#sec_main   .nipponf  {
    position: absolute;
    top: 70px;
    right:65px;
    width: 80px;
    background: #fff;
}
#sec_main   .nipponf  a  {
    display: block;
    height: 0;
    overflow: hidden;
    padding-top: 100%;
    background:url("../img/nippon-foundation.svg") no-repeat;
    background-size: cover;
}
@media (min-width: 600px) {
  #sec_main h2 {
    font-size: 3rem;
  }
  #sec_main h3 {
    font-size: 1.8rem;
  }
}
@media (min-width: 1025px) {
#sec_main   .nipponf  {
    position: absolute;
    top: 100px;
    right:80px;
    width: 90px;
}
}
/* 
----------------------------------------------------*/
#established {
  background: url("../img/bg_sec01-sp.png") center bottom repeat-x;
  position: relative
}
#established::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  height: 10px;
  width: 100%;
  background: url("../img/bg_sec01.png") repeat-x center;
}
#established .txt_box {
  border-radius: 15px;
  padding: 30px 30px 60px;
  box-shadow: 0 6px 0 #8fc141;
  background-color: #fff;
  background-image: url("../img/bird.png");
  background-repeat: no-repeat;
  background-position: right 15px top 15px;
  background-size: 20% auto;
  position: relative;
}
#established .txt_box::before, #established .txt_box::after {
  position: absolute;
  content: '';
  background-position: center;
  background-size: auto 100%;
  background-repeat: no-repeat;
  height: 70px;
  width: 70px;
  bottom: -20px;
}
#established .txt_box::before {
  left: 5%;
  background-image: url("../img/tree01.png");
}
#established .txt_box::after {
  right: 5%;
  background-image: url("../img/tree02.png");
}
#established .txt_box p br {
  display: none;
}
#established .txt_box .sec_ttl h2 {
  color: #7ac333;
  border-bottom-color: #7ac333;
}
#established .txt_box2 {
  padding-top: 60px;
}
#established .rinen_box {
  padding: 0 20px;
}
#established .rinen_box .txt {
  border-radius: 15px;
  padding: 10px 15px 15px;
  box-shadow: 0 6px 0 #8fc141;
  background-color: #fff;
  text-align: center;
  margin-bottom: 25px;
}
#established .rinen_box p {
  font-size: 3rem;
  color: #8fc141;
  font-weight: 700;
  font-family: 'Roboto Condensed', sans-serif;
  display: inline-block;
  border-bottom: 2px solid #8fc141;
  margin-bottom: 15px;
}
#established .rinen_box h3 {
  font-size: 1.8rem;
}
@media (min-width: 600px) {
  #established {
    background: url("../img/bg_sec01-pc.png") center bottom repeat-x;
  }
  #established .txt_box {
    padding: 50px 60px 100px;
    background-size: 15% auto;
    background-position: right 30px top 30px;
  }
  #established .txt_box::before, #established .txt_box::after {
    height: 100px;
    width: 100px;
    bottom: -20px;
  }
  #established .rinen_box {
    display: flex;
    justify-content: space-between;
    padding: 0;
  }
  #established .rinen_box .txt {
    width: 30%;
  }
  #established .rinen_box .txt br {
    display: none;
  }
}
@media (min-width: 1025px) {
  #established .txt_box {
    border-radius: 20px;
    padding: 50px 0 100px;
    background-size: 10% auto;
    background-position: right 80px top 30px;
    text-align: center;
  }
  #established .txt_box::before, #established .txt_box::after {
    height: 150px;
    width: 150px;
    bottom: -40px;
  }
  #established .rinen_box .txt {
    border-radius: 20px;
    padding-bottom: 30px;
  }
  #established .txt_box p br {
    display: block;
  }
  #established .rinen_box .txt br {
    display: block;
  }
  #established .rinen_box p {
    font-size: 4rem;
    margin-bottom: 25px;
  }
  #established .rinen_box h3 {
    font-size: 2rem;
    line-height: 1.8
  }
}
/* 
----------------------------------------------------*/
#business {}
.business_nav {
  display: flex;
  justify-content: space-between;
}
.business_nav h3 {
  width: 32%;
}
.business_nav h3 a {
  border-radius: 10px;
  text-align: center;
  color: #fff;
  line-height: 1.3;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.business_nav h3 a:hover {
  text-decoration: none;
}
.business_nav h3 a strong {
  display: inline-block;
  padding: 0 0 40px;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%23fff" d="M22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2A10,10 0 0,1 22,12M6,10L12,16L18,10L16.6,8.6L12,13.2L7.4,8.6L6,10Z" /></svg>');
  background-repeat: no-repeat;
  background-position: center bottom 5px;
  background-size: 30px;
}
.business_nav .business_nav01 a {
  background-color: #f56c8f;
}
.business_nav .business_nav02 a {
  background-color: #76ba2f;
}
.business_nav .business_nav03 a {
  background-color: #318bb4;
}
@media (min-width: 600px) {
  .business_nav h3 {
    width: 32%;
    font-size: 1.8rem;
  }
  .business_nav h3 a {
    padding: 0 15px;
    height: 80px;
  }
  .business_nav h3 a strong {
    padding: 0 0 0 40px;
    background-position: left center;
    background-size: 30px;
    text-align: left;
  }
  .business_nav h3 a br {
    display: none;
  }
}
@media (min-width: 1025px) {
  .business_nav {
    padding: 0 15px;
  }
  .business_nav h3 {
    width: 31%;
  }
  .business_nav h3 a strong {
    padding: 8px 0 8px 40px;
    background-position: left center;
    background-size: 30px;
  }
}
/* 
----------------------------------------------------*/
.business_box {
  background: #fff;
  border-radius: 15px;
  padding: 20px;
  box-shadow: 0, 0, 10px, #f7f3eb;
  margin-top: 30px;
}
.business_box .txt {
  margin: 0 0 1em;
}
.business_box h3 {
  font-size: 1.8rem;
  padding: 10px 0 10px 40px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 35px;
}
#business01 h3 {
  background-image: url("../img/icn01.png");
}
#business02 h3 {
  background-image: url("../img/icn02.png");
}
#business03 h3 {
  background-image: url("../img/icn03.png");
}
.business_box .midashi {
  background: #f7f3eb;
  padding: 15px;
  font-size: 1.5rem;
}
.business_box .midashi p {
  padding-top: 3px;
  padding-bottom: 3px;
}
.business_box .midashi p span {
  font-family: "Osaka-mono", "MS Gothic", "monospace"
}
#business01 .midashi {
  border-top: 4px solid #f56c8f;
}
#business02 .midashi {
  border-top: 4px solid #7ac333;
}
#business03 .midashi {
  border-top: 4px solid #318bb4;
}
#business01 .midashi span {
  color: #f56c8f;
}
#business02 .midashi span {
  color: #7ac333;
}
#business03 .midashi span {
  color: #318bb4;
}
.business_box .lead {
  line-height: 2;
  margin: 20px 0;
}
#business01 .lead a {
  color: #f56c8f;
  border-bottom: 1px solid #f56c8f;
}
#business02 .lead a {
  color: #7ac333;
  border-bottom: 1px solid #7ac333;
}
#business02 .lead a {
  color: #318bb4;
  border-bottom: 1px solid #318bb4;
}
.business_box h4 {
  color: #fff;
  border-radius: 5px;
  text-align: center;
  padding: 3px;
}
#business01 h4 {
  background: #f56c8f;
}
#business02 h4 {
  background: #7ac333;
}
#business03 h4 {
  background: #318bb4;
}
.business_box .txt03 {}
.business_box .txt03 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 10px;
}
.business_box .txt03 li {
  width: 50%;
  padding: 2px 0;
}
.business_box .txt03 li:before {
  content: '\25CF';
}
#business01 .txt03 li:before {
  color: #f56c8f;
}
#business02 .txt03 li:before {
  color: #7ac333;
}
#business03 .txt03 li:before {
  color: #318bb4;
}
.business_box .txt03 li.nostyle:before {
  content: '';
}
.business_box .txt03 .lead {
  padding: 15px;
  border-radius: 10px;
}
#business02 .txt03 .lead {
  background: #f1f9ea;
}
#business03 .txt03 .lead {
  background: #eaf3f7;
  margin-top: 0
}
.business_box .txt04 ul {
  padding: 10px 0;
}
.business_box .txt04 li {
  text-align: center;
  position: relative;
  padding-bottom: 25px;
}
.business_box .txt04 li:before {
  content: '\25BC';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.business_box .txt04 li:last-child {
  padding-bottom: 0;
}
.business_box .txt04 li:last-child::before {
  content: '';
}
@media (min-width: 600px) {
  .business_box {
    padding: 30px 30px 10px;
    margin-top: 50px;
  }
  .business_box h3 {
    font-size: 2.4rem;
  }
  .business_box .txt {
    margin: 0 0 2em;
  }
  .business_box .midashi {
    font-size: 1.8rem;
    padding: 20px 30px;
  }
  .business_box .txt02 {
    text-align: center;
  }
  .business_box .txt03 ul {
    padding: 15px 10%;
  }
  .business_box .txt03 .lead {
    padding: 25px;
  }
  .business_box .txt04 ul {
    padding: 15px 0;
  }
  /*  .business_box .txt04 ul br {
    display: none;
  }*/
}
@media (min-width: 1025px) {
  .business_box {
    padding: 50px 50px 20px;
  }
  .business_box h3 {
    font-size: 3rem;
    padding: 10px 0 10px 75px;
    background-size: 60px;
  }
  .business_box .txt_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .business_box .txt_box .txt {
    width: 47%;
  }
}
/* 
----------------------------------------------------*/
#sec_03 {
  background-image: url("../img/bg_sec03-1.png"), url("../img/bg_sec03-2.png");
  background-repeat: repeat-x;
  background-position: center top, center bottom;
  background-size: auto 15px;
}
.sec_bg {
  background: url("../img/bg_sec03.jpg") center;
}
#sec_03 .txt_box {
  padding: 1em;
}
#sec_03 .txt_box p {
  margin: 1em 0;
}
#sec_03 .pht_box {
  margin: 1em;
  text-align: center;
}
@media (min-width: 600px) {
  #sec_03 {
    background-size: auto 40px;
  }
}
@media (min-width: 1025px) {
  #sec_03 {
    background-size: auto 70px;
  }
  #sec_03 .txt_box {
    display: flex;
    justify-content: space-between;
  }
  #sec_03 .txt_box .txt {
    width: 55%;
  }
  #sec_03 .txt_box .pht_box {
    width: 40%;
  }
}
/* 
----------------------------------------------------*/
#corporation {}
#corporation .gaiyo {
  border: 1px solid #ccc;
}
#corporation .gaiyo01, #corporation .gaiyo02 {
  padding: 10px;
}
#corporation .gaiyo01 {
  background: #7bc435;
  color: #fff;
}
#corporation .gaiyo02 {
  background: #fff;
}
#corporation .gaiyo02 i {
  display: inline-block;
  width: 100px;
  font-style: normal;
}
#corporation .map {
  margin-top: 30px;
}
#corporation .gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 66%;
  position: relative;
}
#corporation .gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
#corporation .map .pht_box {
  margin-top: 15px;
}
#corporation .map .pht_box figure {
  background: url("../img/pht05.jpg") no-repeat center;
  background-size: cover;
  height: 0;
  padding-top: 66%;
}
@media (min-width: 600px) {
  #corporation .gaiyo {
    display: flex;
    flex-wrap: wrap;
    border-bottom: 0;
  }
  #corporation .gaiyo01, #corporation .gaiyo02 {
    padding: 15px;
    border-bottom: 1px solid #ccc;
  }
  #corporation .gaiyo01 {
    width: 160px;
  }
  #corporation .gaiyo02 {
    width: calc(100% - 160px);
  }
  #corporation .gaiyo02 i {
    width: 110px;
  }
  #corporation .map {
    display: flex;
    justify-content: space-between;
  }
  #corporation .map .gmap_box {
    width: 48%;
  }
  #corporation .map .pht_box {
    width: 48%;
    margin-top: 0;
  }
}
@media (min-width: 1025px) {
  #corporation .gaiyo {
    width: 80%;
    margin: 0 auto;
  }
  #corporation .gaiyo01, #corporation .gaiyo02 {
    padding: 20px 25px;
  }
  #corporation .map {
    margin-top: 50px;
  }
}
/* 
----------------------------------------------------*/
#contact {
  background: #7bc435;
  color: #fff;
}
#contact .sec_ttl h2 {
  border-bottom-color: #fff;
}
#contact .txt_box {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}
#contact h3 {
  color: #7bc435;
  background: #fff;
  border-radius: 4px;
  padding: 3px;
}
#contact h3 strong {
  display: inline-block;
  padding-left: 24px;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: auto 80%;
  font-size: 1.5rem;
}
#contact .tel {
  margin-bottom: 30px;
}
#contact .tel h3 strong {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%237bc435" d="M6.62,10.79C8.06,13.62 10.38,15.94 13.21,17.38L15.41,15.18C15.69,14.9 16.08,14.82 16.43,14.93C17.55,15.3 18.75,15.5 20,15.5A1,1 0 0,1 21,16.5V20A1,1 0 0,1 20,21A17,17 0 0,1 3,4A1,1 0 0,1 4,3H7.5A1,1 0 0,1 8.5,4C8.5,5.25 8.7,6.45 9.07,7.57C9.18,7.92 9.1,8.31 8.82,8.59L6.62,10.79Z" /></svg>');
}
#contact .mail h3 strong {
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%237bc435" d="M22 6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6M20 6L12 11L4 6H20M20 18H4V8L12 13L20 8V18Z" /></svg>');
}
#contact .tel h4 {
  padding: 15px 5px 5px;
}
@media (min-width: 600px) {
  #contact .txt_box {
    display: flex;
    justify-content: space-between;
  }
  #contact .txt_box .tel, #contact .txt_box .mail {
    width: 45%;
  }
  #contact .tel {
    margin-bottom: 0;
  }
}
@media (min-width: 1025px) {}
/* lower
----------------------------------------------------*/
/* 
----------------------------------------------------*/