

#visual {
  padding: 0 55px;
  text-align: center;
}
#visual img {
  max-width: 100%;
  vertical-align: bottom;
}

#greeting {
  
}

#greeting h2 + p {
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2;
}

.aisatsu {
  position: relative;
  width: 1000px;
  margin: 100px auto 0 auto;
}

.aisatsu h3 {
  position: absolute;
  left: 100px;
  color: #ea4474;
  font-size: 3rem;
}
.aisatsu .photo {
  padding-top: 80px;
  text-align: center;
}
.ceoname {
  font-size: 1rem;
  position: relative;
  line-height: 1.2;
  top: 90px;
  left: 700px;
  width: auto;
}
.ceoname p {
  padding: 0;
  margin: 0;
  line-height: 1.4;
}
.ceoname .name {
  padding: 0.2em 0;
  font-size: 1.5rem;
  font-weight: bold;
}
.aisatsu .text {
  margin-top: -210px;
  width: 600px;
}
.aisatsu .text h4 {
  font-size: 2rem;  
}
.aisatsu .text p {
  line-height: 2.5;  
}

#slogan,
#support,
#promise,
#mission,
#credo {
  max-width: 1920px;
  min-width: 1000px;

}

#slogan .inner,
#support .inner,
#promise .inner,
#mission .inner,
#credo .inner {
  padding-top: 160px;
  overflow: visible;
}

.pink {
  position: relative;
  width: 900px;
  margin: 0 auto;
  padding: 0 0 3em 0;
}
.color1 {
  background-color: rgba(255,229,218,0.9);
}
.color2 {
  background-color: rgba(241,204,204,0.9);
}

.pink .mark {
  text-align: center;
}
.pink .mark img {
  margin-top: -90px;
}
.pink .title {
  text-align: center;
}
.pink .strong {
  font-size: 2rem;
  font-weight: bold;
  line-height: 2;
}
.pink p {
  text-align: center;
  line-height: 3;
}

.slogan {

}
.slogan ul {
	text-align: center;
	padding: 0;
/*	margin-left: 15%;*/
}
.slogan ul li {
	list-style: none;
/*	text-indent: -1em;
	padding-left: 1em;*/
	line-height: 3;
}
.slogan ul li::before {
	content: ' ';
}

.promisetext{
  padding: 50px 0;
}

#support dl {
  margin: 0;
  padding: 0;
}
#support dl dt {
  margin: 0;
  padding: 0;
  font-size: 2rem;
  font-weight: bold;
  line-height: 2;
  text-align: center;
}
#support dl dd {
  margin: 0;
  padding: 0;
  text-align: center;
  padding-bottom: 2em;
}

#support dl.support_dl {
	width: 560px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-wrap: wrap;
}
#support dl.support_dl dt {
	text-align: left;
	color: #e44474;
	padding-right: 1em;
	font-size: 1.25rem;
	width: 4em;
}
#support dl.support_dl dd {
	text-align: left;
	font-size: 1.25rem;
	width: calc(100% - 4em);
}

#slogan {
/*  margin-top: 800px;*/
  margin-top: 500px;
}
#slogan .strong {
  margin-top: 0px;
}

.pivot {
  position: relative;
  width: 100%;
  max-width: 1920px;
  min-width: 1000px;
  margin: 0 auto;
}
.pog {
 position: absolute;
 z-index: -10;
}

.bg1 { top: 110px; left: 90px; }
.bg2 { width: 428px; top: 350px; right: 60px;}

.bg3 { top: -210px; left: 200px; }
.bg4 { width: 355px; top: -142px; right: 260px;}
.bg5 { top: 532px; left: 135px; }
.bg6 { width: 488px; top: 332px; right: 85px;}

.bg7 { top: 115px; left: 55px; }
.bg8 { width: 250px; top: 330px; right: 70px;}
.bg9 { top: 333px; left: 230px; }

.bg10 { width: 440px; top: -115px; right: 135px;}
.bg11 { top: 550px; left: 85px; }
.bg12 { width: 338px; top: 407px; right: 145px;}

.bg13 {
/*top: -655px;*/
top: -455px;
left: 50%;
-webkit-transform : translateX(-50%);
transform : translateX(-50%);
}

@media screen and (max-width:767px) {

  #visual {
    padding: 0;
  }
  #visual img {
    max-width: calc(100vw * (1000 / 1125));
    vertical-align: bottom;
  }
  
  .ceoname {
    position: static;
    width: calc(100vw * (960 / 1125));
    margin: 1em auto;
    font-size: 1.2rem;
  }
  .ceoname .name {
    font-size: 1.6rem;
  }
  .aisatsu h3 {
    margin: 0;
    padding: 0;
    position: absolute;
    left: calc(100vw * (170 / 1125));
    color: #ea4474;
    font-size: 3rem;
    line-height: 1;
  }
  .aisatsu .photo {
    padding-top: 3.2em;
    text-align: center;
  }
  .aisatsu .text {
    margin-top: 0;
    width: calc(100vw * (960 / 1125));
    margin: 1em auto;
  }
  
  #slogan,
  #support,
  #promise,
  #mission,
  #credo {
    max-width: auto;
    min-width: auto;
    width: 100%;
  }

  #slogan .inner,
  #support .inner,
  #promise .inner,
  #mission .inner,
  #credo .inner {
    padding-top: calc(100vw * (300 / 1125));
    padding-bottom: calc(100vw * (250 / 1125));
    overflow: visible;
    max-width: auto;
    min-width: auto;
    width: 100%;
  }

  #support dl {
    width: 90%;
    margin: 1em auto;
  }
  #support dl dt {

  }
  #support dl dd {
    text-align: left;
  }
  
	#support dl.support_dl {
		width: 90%;
		margin: 1em auto;
		flex-direction: column ;
		align-items: center
	}
	#support dl.support_dl dt {
		text-align: center;
		padding-right: 0;
		width: 90%;
	}
	#support dl.support_dl dd {
		text-align: center;
		width: 90%;
	}
  
  .promisetext img {
    width: calc(100vw * (788 / 1125));
  }
  
  #slogan {
    margin-top: 0;
  }
  .pink {
    width: calc(100vw * (950 / 1125));
    margin: 1em auto;
  }
  .pink p {
    width: 90%;
    margin: 1em auto;
  }
  .pink p.spLeft {
    text-align: left;
  }
  .pink .strong {
    font-size: 1.3rem;
  }
  .pink .title img {
    width: 90%;
    height: auto;
  }
  #slogan p {
  	text-align: left;
  }
  .slogan ul {
  	width: 90%;
    margin: 1em auto;
  /*
    text-align: left;
    margin-left: 1em;
    margin-right: 1em;
    */
  }
  
  .pivot {
    position: relative;
    width: 100%;
    max-width: none;
    min-width: auto;
    margin: 0 auto;
  }

  
  .aisatsu {
    width: 100%;
  }
  .pog {
    display: none;
  }
  #credo .mark img {
    margin-top: calc(100vw * (-200 / 1125));
  }
  #mission .mark img {
    margin-top: calc(100vw * (-180 / 1125));
  }
  #promise .mark img {
    margin-top: calc(100vw * (-250 / 1125));
  }
  #support .mark img {
    margin-top: calc(100vw * (-250 / 1125));
  }
  #slogan .mark img {
    margin-top: calc(100vw * (-250 / 1125));
  }
  .mark {
    width: calc(100vw * (450 / 1125));
    margin: 0 auto;
  }
  .together {
    width: calc(100vw * (600 / 1125));
    margin: 0 auto;
  }
}



