@charset "UTF-8";
            
/*---------- section_01 ----------*/  
.section_01 {
      padding: 0px;
      background:
        repeating-linear-gradient(135deg, rgba(37, 178, 70, .18) 0 2px, transparent 2px 12px),
        #e8f8df;
    }
    .message {
		position: relative;
      padding: 0px;
     box-sizing: border-box;
		max-width: 1000px;
    }
    .message__box {
      position: relative;
      margin: 0 auto;
      padding: 64px 72px 64px;
      background-color: #ffffff;
      border-radius: 28px;
      z-index: 2;
      box-sizing: border-box;
    }
    .message__content {
      position: relative;
      z-index: 1;
      text-align: center;
    }
    .message__en {
      margin: 0;
	width: 100vw;
    margin: 0 calc(50% - 50vw);
      font-size: 8em;
      line-height: 0.8;
      font-weight: 800;
      color: transparent;
      -webkit-text-stroke: 2px #9bd49e;
      text-stroke: 2px #9bd49e;
    }
    .message__label {
      position: relative;
      width: min(100%, 700px);
      min-height: 78px;
      margin: -10px auto 70px;
      border: 3px solid #35a95b;
      border-radius: 999px;
      display: grid;
      place-items: center;
      color: #24963d;
      font-size: 2em;
      line-height: 1.2;
      font-weight: 800;
      background: #fff;
    }
    .message__label::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: -20px;
      width: 54px;
      height: 42px;
      background: #fff;
      border-left: 3px solid #35a95b;
      border-bottom: 3px solid #35a95b;
      transform: translateX(-50%) skewY(-34deg);
    }
.message__label span{position: relative;z-index: 1;}
    .message__lead {
      margin: 0 0 15px;
      font-size: 1.6em;
      line-height: 1.55;
      font-weight: 800;
    }
    .message__text {
		text-align: center;
      max-width: 800px;
      margin: 0 auto 3em;
      font-size: 1.14em;
      line-height: 1.85;
    }

@media (max-width: 640px) {
      .message {
        padding: 0px;
      }
      .message__box {
        padding: 30px 15px 40px;
        border-width: 3px;
        border-radius: 20px;
      }
	.message::before {
      right: -10px;
      bottom: -10px;
      background-size: 10px 10px;
      border-radius: 20px;
    }
      .message__en {
        font-size: 3em;
		  
        -webkit-text-stroke-width: 1.5px;
      }

      .message__label {
        min-height: 50px;
        margin: -4px auto 40px;
        border-width: 2px;
        font-size: 1.2em;
      }

      .message__label::after {
        bottom: -14px;
        width: 42px;
        height: 32px;
        border-left-width: 2px;
        border-bottom-width: 2px;
      }

      .message__lead {
        text-align: left;
        font-size: 1.0em;
		  line-height: 1.3;
      }

      .message__text {
        text-align: justify;
        font-size: 0.84em;
        line-height: 1.6;
      }

    }

/*---------- 企業理念CSS ----------*/ 
    .philosophy {
      padding: 0px 0px;
		position: relative;
		max-width: 1000px;
		box-sizing: border-box;
    }

    .philosophy__box {
      position: relative;
      max-width: 1000px;
      margin: 0 auto;
      padding: 100px 50px 100px;
      background: #34a634;
      color: #fff;
      overflow: hidden;
		box-sizing: border-box;
		z-index: 2;
    }

.philosophy::before {
      content: "";
      position: absolute;
      right: -15px;
      bottom: -15px;
      width: 100%;
      height: 100%;
      background-image: repeating-linear-gradient(135deg, #e1efdc, #e1efdc 3px, transparent 3px, transparent 10px);
      background-position: right bottom;
	z-index: 1;
    }  


    .philosophy__text {
      position: relative;
      z-index: 2;
      margin: 0;
      text-align: center;
      font-size: 1.4em;
      line-height: 1.85;
      font-weight: 800;
      letter-spacing: .04em;
    }

    .philosophy__corner {
      position: absolute;
      right: 50px;
      bottom: 50px;
      width: 150px;
      height: 100px;
      border-right: 2px solid #fff;
      border-bottom: 2px solid #fff;
      z-index: 2;
    }
.philosophy__corner-l {
      position: absolute;
      left: 50px;
      top: 50px;
      width: 150px;
      height: 100px;
      border-left: 2px solid #fff;
      border-top: 2px solid #fff;
      z-index: 2;
    }

    @media (max-width: 640px) {
      .philosophy {
        padding: 0px;
      }

      .philosophy__box {
        padding: 54px 33px 54px;
      }

      .philosophy__box::before {
    right: -10px;
      bottom: -10px;
      background-image: repeating-linear-gradient(135deg, #e1efdc, #e1efdc 3px, transparent 3px, transparent 10px);
      
      }

      .philosophy__box::after {
        height: 28px;
        width: calc(100% - 18px);
        border-left-width: 18px;
        background: repeating-linear-gradient(135deg, transparent 0 8px, #34a634 8px 13px, #111 13px 18px);
      }

      .philosophy__text {
        font-size: 1.0em;
        line-height: 1.6;
        text-align: left;
      }

      .philosophy__corner {
        right: 20px;
        bottom: 20px;
        width: 100px;
        height: 40px;
        border-width: 2px;
      }
		.philosophy__corner-l {
      left: 20px;
      top: 20px;
      width: 100px;
      height: 40px;
      border-left: 2px solid #fff;
      border-top: 2px solid #fff;
      z-index: 2;
    }
    }

/*---------- section_03 ----------*/  
.section_03 {
      padding: 0px;
      background:
        repeating-linear-gradient(135deg, rgba(37, 178, 70, .18) 0 2px, transparent 2px 12px),
        #e8f8df;
    }
    .guidelines {
		position: relative;
      padding: 0px;
     box-sizing: border-box;
		max-width: 1000px;
    }
    .guidelines__box {
      position: relative;
      margin: 0 auto;
      padding: 64px 72px 64px;
      background-color:none;
      border-radius: 28px;
      z-index: 2;
      box-sizing: border-box;
    }
    .guidelines__content {
      position: relative;
      z-index: 1;
      text-align: center;
    }
    .guidelines__en {
      margin: 0;
      font-size: 8em;
      line-height: 0.8;
      font-weight: 800;
      color: transparent;
      -webkit-text-stroke: 2px #9bd49e;
      text-stroke: 2px #9bd49e;
		color:rgba(255, 255, 255, 0.5);
    }
    .guidelines__label {
      position: relative;
      width: min(100%, 700px);
      min-height: 78px;
      margin: -10px auto 70px;
      border: 3px solid #35a95b;
      border-radius: 999px;
      display: grid;
      place-items: center;
      color: #24963d;
      font-size: 2em;
      line-height: 1.2;
      font-weight: 800;
      background: #fff;
    }
    .guidelines__label::after {
      content: "";
      position: absolute;
      left: 50%;
      bottom: -20px;
      width: 54px;
      height: 42px;
      background: #fff;
      border-left: 3px solid #35a95b;
      border-bottom: 3px solid #35a95b;
      transform: translateX(-50%) skewY(-34deg);
    }
.guidelines__label span{position: relative;z-index: 1;}
    .guidelines__lead {
      margin: 0 0 15px;
      font-size: 1.6em;
      line-height: 1.55;
      font-weight: 800;
    }

@media (max-width: 640px) {
      .guidelines {
        padding: 0px;
      }
      .guidelines__box {
        padding: 30px 15px 40px;
        border-width: 3px;
        border-radius: 20px;
      }
	.guidelines::before {
      right: -10px;
      bottom: -10px;
      background-size: 10px 10px;
      border-radius: 20px;
    }
      .guidelines__en {
        font-size: 3em;
        -webkit-text-stroke-width: 1.5px;
      }

      .guidelines__label {
        min-height: 50px;
        margin: -4px auto 40px;
        border-width: 2px;
        font-size: 1.2em;
      }

      .guidelines__label::after {
        bottom: -14px;
        width: 42px;
        height: 32px;
        border-left-width: 2px;
        border-bottom-width: 2px;
      }

      .guidelines__lead {
        text-align: left;
        font-size: 1.0em;
		  line-height: 1.3;
      }
    }
/*---------- section_04 ----------*/  
.section_04 {
      padding: 0px;
      background:
        #00913a;
    }
.pge_menu_wrap{
      width: 100%;
      margin: 0em auto 0;
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 20px;
    }
.pge_menu_wrap img{
      position: relative;
      display: block;
      width: 100%;
      box-sizing: border-box;
    }
@media screen and (max-width:640px) {
.pge_menu_wrap{
      width: 90%;
      margin: 0em auto 0;
      display: grid;
      grid-template-columns: 1fr;
      gap: 10px;
    }
}
/*
===================================================
 tb タブレット解像度
===================================================
*/
@media screen and (max-width:1000px) {





	}
/*
===================================================
 sp スマホ解像度
===================================================
*/
@media screen and (max-width:640px) {


}
