@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500&family=Shippori+Mincho&display=swap');
/*------------------------------------------------------------------------------
  PC or ALL
------------------------------------------------------------------------------*/
.header-logo {
  width: 290px;
}
.page-title h1, h2, div.fixed-footer, div.copy, div.btn, h3.box-h3, a {
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 0.25em;
}
div.copy, div.btn, h3.box-h3, a{
  letter-spacing: 0.1em;
}

/*——MV main-catch——*/
.mainvisual-catch div.copy{
	font-weight: 400;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 6.4rem;
  letter-spacing: 0.12em;
}

/*——MV sub-catch——*/
.mainvisual-catch div.sub-text {
	font-weight: 400;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 3.2rem;
  line-height: 1.4;
  letter-spacing: 0.3em;
}

.mainvisual{
	margin: 0;
}

/*——contact-ttl——*/
.contact-type01 h2.box-h2{
	color: #ffffff;
	font-size: 3.5rem;
}
.contact-type01 .title .en {
  margin-top: 0.5em;
}

.contact-type01 .text .tel.phone:before {
  content: '\e0b0';
  margin: 0 15px 0 0;
  font-size: 5rem;
  font-family: "Material Symbols Outlined";
  font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20;
}

/*——contact-tel_bottom-txt——*/
.contact-type01 .text .datetime {
  margin: 0 0 2vh 0;
}
/*-----fotter-----*/
.footer-main .logo{
	 width: 320px;
}
/*-----fixed fotter-----*/
.fixed-footer .tel a:before {
  margin: 0 5px 0 0;
  font-family: 'Material Symbols Outlined';
  font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 20;
	color: #2e9659;
}
/*-----fixed fotter_contact-btn-----*/
.fixed-footer .contact a{
	padding: 8px 44px;
	background: linear-gradient(90deg, rgba(166, 204, 70, 1), rgba(70, 170, 111, 1));
}

.box .btn a{
	background: linear-gradient(90deg, rgba(166, 204, 70, 1), rgba(70, 170, 111, 1));
}

/*-----title-type1_underborder----*/

.title-type01 {
  padding: 10px 0 30px 0;
}

.title-type01:before {
  content: "";
  position: absolute;
  top: 110px;
}
.title-type01 h2.box-h2 {
  padding-bottom: 10px;
}


/*-----title--type2_en-----*/
.title-type02 p {
  opacity: 1 !important;
}
p.en{
	color: #999999;
}

.contact-type01 .text .btn a {
  font-size: 1.4em;
  padding: 14px 60px;
border-radius: 40px;
}

.contact-type01 .text .btn a:after{
  position: absolute;
  top: 14px;
  right: 14px;
}

/* 20230114 added by Fabo */
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }

.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }

.box-color {
  margin: 35px 0 40px;
  padding: 35px;
  background: #f5f5f5;
}
.box-color :first-child {
  margin-top: 0 !important;
}
.box-color :last-child {
  margin-bottom: 0 !important;
}
.box-color {
  margin: 35px 0 40px;
  padding: 35px;
  background: #eff7f2;
}
.box-color :first-child {
  margin-top: 0 !important;
}
.box-color :last-child {
  margin-bottom: 0 !important;
}
.box-color p {
  margin-top: 20px !important;
}

.box-flow-group {
  margin: 40px 0 50px;
}
.box-flow {
  position: relative;
  padding: 0 0 40px 35px;
}
.box-flow::before {
  content: "";
  position: absolute;
  top: 3px;
  bottom: 0;
  left: 5px;
  width: 2px;
  background: #4cad6d;
}
.box-flow:last-child {
  padding-bottom: 0;
}
.box-flow::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 0;
  width: 13px;
  height: 13px;
  z-index: 10;
  background: #4cad6d;
  border-radius: 50%;
}

.box-flow .image {
  width: 300px;
  margin: 0 0 0 25px;
  text-align: center;
}
.box-flow .text h4 {
  margin: 0 0 10px;
  padding: 0;
  font-size: 20px;
  color: #2b8f4d;
  border: none;
  background: none;
}
.box-flow .text p {
  margin: 0;
}


/*------------------------------------------------------------------------------
  TABLET and SHONE
------------------------------------------------------------------------------*/
@media screen and (max-width: 1024px) {
}

/*------------------------------------------------------------------------------
  TABLET ONLY
------------------------------------------------------------------------------*/
@media screen and (min-width: 600px) and (max-width: 1024px) {

  .title-type01 {
    padding: 10px 0 40px 0;
  }
  .title-type01:before {
    content: "";
    position: absolute;
    top: 166px;
  }
  	.title-type01.ti1line:before {
    content: "";
    position: absolute;
    top: 110px;
  }
  	.title-type01 .box h2.box-h2 {
    margin: 0;
    font-size: 3.8rem;
  }

}

/*------------------------------------------------------------------------------
  SPHONE ONLY
------------------------------------------------------------------------------*/
@media screen and (max-width: 599px) {

	/*——MV main-catch——*/

	.mainvisual-catch div.copy {
  font-size: 5.2rem;
  }
	.mainvisual-catch div.sub-text {
		font-size: 2.8rem;
	}

  .box h2.box-h2 {
    margin: 0;
    font-size: 3.4rem;
  }
  .title-type01:before {
    content: "";
    position: absolute;
    top: 100px;
  }

/*——contact-tel——*/

	.box.contact-type01 .text .btn a{
		font-size: 1.1em;
		padding: 14px 60px;
	}
	.box.contact-type01 .text .tel {
    font-size: 4rem;
  }
	.contact-type01 .text .tel:before, .contact-type01 .text .tel.phone:before {
   font-size: 3.8rem;
  }

  .box-flow .image {
    width: 100%;
    margin: 0 0 25px 0;
    text-align: center;
  }

}



