@charset "UTF-8";
/*========= LoadingのためのCSS ===============*/

/* Loading背景画面設定　*/
#splash {
  /*fixedで全面に固定*/
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 999;
	background:#ffbf69;
	text-align:center;
	color:#fff;
  
}

/* Loading画像中央配置　*/
#splash_logo {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

/* Loading アイコンの大きさ設定　*/
#splash_logo svg{
    width:150px;
}

/*=============== SVGアニメーション内の指定 =================*/

/*アニメーション前の指定*/
#mask path {
		fill-opacity: 0;/*最初は透過0で見えない状態*/
		transition: fill-opacity .5s;/*カラーがつく際のアニメーション0.5秒で変化*/
		fill: none;/*塗りがない状態*/
		stroke: #fff9e2;/*線の色*/
	}

/*アニメーション後に.doneというクラス名がで付与された時の指定*/
#mask.done path{
	  fill: #fff9e2;/*塗りの色*/
	  fill-opacity: 1;/*透過1で見える状態*/
	  stroke: none;/*線の色なし*/
	}

/*メイン*/
.section-top {
  margin-bottom: 150px;
  height: 475px;
}
.section-top p {
  writing-mode:vertical-rl;
  line-height: 4.0rem;
  position: absolute;
  top: 15%;
  left: 5%;
  font-size: 1.7rem;
  color: #fff;
  text-align: left;
  z-index: 2;
}

.section-top p:before {
    content: "";
    z-index: -1;
    position: absolute;
    top: -25%;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(-45deg, #ffeda0 0%, #ffa585 100% );
    transform: translate3d(0px, 20px, 0) scale(0.95);
    filter: blur(21px);
    opacity: var(0.25);
    transition: opacity 0.3s;
    border-radius: inherit;
}

/* 
* Prevents issues when the parent creates a 
* stacking context. (For example, using the transform
* property )
*/
.section-top p::after {
    content: "";
    z-index: -1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: inherit;
    border-radius: inherit;
}
        
.higo-icon {
  margin: 0 auto;
  width: 190px;
  height: auto;
  position: absolute;
  top: 35%;
  transform: translateX(-50%);
  z-index: 2;
}
.top-images {
  position: relative;
  z-index: 1;
  max-width: 100%;
}
.top-images img {
  position: absolute;
  width: 100%;
  height: 475px;
  object-fit: cover;
  background-repeat: no-repeat;
  opacity: 0;
  animation: change-img-anim 50s infinite;
  left: 0;
}
.top-images img:nth-of-type(1) {
  animation-delay: 0s;
}
.top-images img:nth-of-type(2) {
  animation-delay: 5s;
}
.top-images img:nth-of-type(3) {
  animation-delay: 10s;
}
@keyframes change-img-anim {
  0% {
    opacity: 0;
  }
  10% {
    opacity: 5;
  }
  90% {
    opacity: 5;
  }
  100% {
    opacity: 0;
  }
}
@media(min-width: 1160px) {
  .section-top {
    margin-bottom: 200px;
    height: 750px;
  }
  .section-top p {
    line-height: 5rem;
    position: relative;
    left: 10%;
    font-size: 2.5rem;
    color: #fff;
    text-align: left;
  }
  .higo-icon {
    width: 350px;
    top: 50%;
    left: 50%;
    transform: translateX(-50%);
  }
  .top-images img {
    position: absolute;
    width: 100%;
    height: 750px;
  }
}

#company {
  width: auto;
}
#company h2 {
  font-size: 3.5rem;
  display: flex;
  align-items: center;
  margin: 0 0 80px 25px;
}
#company h2::after {
  content: "";
  height: 3px;
  flex-grow: 1;
  background-color: #ffbf69;
  margin-left: 1rem;
}

.philosophy {
  margin-bottom: 160px;
}
.philosophy-bg {
  background-color: #05668d;
  position: absolute;
  height: 150px;
  width: 330px;
}
.philosophy-taitl {
  color: #fff;
  font-size: 2.5rem;
  padding: 20px 0;
  width: 100%;
}
.philosophy p {
  font-size: 1.6rem;
  line-height: 3.2rem;
  padding: 20px 40px 20px 120px;
  width: 450px;
  height: 180px;
  background-color: #ffbf69;
  margin-left: 20px;
  margin-top: 70px;
  border-top-right-radius: 50px;
  text-align: left;
}
.philosophy img {
  position: absolute;
  width: 130px;
  height: auto;
  bottom: 40px;
}
.philosophy-explanation {
  display: flex;
  position: relative;
}
.policy {
  margin-bottom: 160px;
}
.policy-bg {
  background-color: #05668d;
  position: absolute;
  height: 150px;
  width: 330px;
}
.philosophy_taitl {
  color: #fff;
  font-size: 2.5rem;
  padding: 20px 0;
  width: 100%;
}
/*フェードイン*/
.fadeIn {
  opacity: 0;
  animation-name: fadeIn;
  animation-duration: 1s;
  animation-timing-function: ease;
  animation-delay: 1s;
  animation-fill-mode: forwards;
}
@keyframes fadeIn {
  0% {
    opacity: 0%;
  }
  100% {
    opacity: 1;
  }
}
.policy p {
  font-size: 1.6rem;
  line-height: 3.2rem;
  padding: 20px 40px 20px 140px;
  width: 450px;
  height: 180px;
  background-color: #ffbf69;
  margin-left: 20px;
  margin-top: 70px;
  border-bottom-right-radius: 50px;
  text-align: left;
}
.policy img {
  position: absolute;
  width: 140px;
  height: auto;
  bottom: 40px;
}
.policy-explanation {
  display: flex;
  position: relative;
}
@media(min-width: 1160px) {
  .philosophy-bg {
  
  width: 400px;
}
  .policy-bg {
  
  width: 400px;
}
  .philosophy {
    width: 640px;
    padding-right: 25px;
  }
  .policy {
    width: 640px;
    padding-left: 25px;
  }
  .management {
    display: flex;
    margin: 0 120px;
    justify-content: center;
  }
  #company h2 {
    font-size: 3.5rem;
    display: flex;
    align-items: center;
    margin: 0 0 80px 120px;
  }
  #company h2::after {
    content: "";
    height: 3px;
    flex-grow: 1;
    background-color: #ffbf69;
    margin-left: 1rem;
  }
}





.strength::before {
  position: absolute;
  content: '';
  left: 50%;
  z-index: 10;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: inherit;
  transform: translateX(-50%) translateY(50%);
  bottom: 0px;
}
.strength01 {
  margin: 50px 20px 0;
  position: relative;
  animation: fluidrotate 5s ease 0s infinite;/*アニメーションの設定*/
}




.strength01:before {
    content: "";
    z-index: -1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(-84deg, #fff95b 0%, #ff930f 100% );
    transform: translate3d(0px, 20px, 0) scale(0.95);
    filter: blur(38px);
    opacity: var(0.49);
    transition: opacity 0.3s;
    border-radius: inherit;
}

/* 
* Prevents issues when the parent creates a 
* stacking context. (For example, using the transform
* property )
*/
.strength01::after {
    content: "";
    z-index: -1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: inherit;
    border-radius: inherit;
}
        
        
        
        
/*流体*/
@keyframes fluidrotate {  
    
0%, 100% {
    border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
}
14% {
    border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
}
28% {
    border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
}
42% {
    border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
}
56% {
    border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
}
70% {
    border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
}
84% {
    border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
}
    
}
.strength h3 {
  display: inline-block;
  position: relative;
  font-size: 3.5rem;
  padding: 80px 0 10px;
}
.strength h3:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px;
  display: inline-block;
  width: 50px;
  height: 3px;
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background-color: #ff9f1c; /*下線の色*/
}
.strength01 img {
  width: 90px;
  height: 135px;
  margin: 0 auto;
  padding-bottom: 20px;
}
.strength01 h4 {
  font-size: 2.5rem;
  color: #05668d;
}
.strength01 p {
  font-size: 1.6rem;
  line-height: 3.2rem;
  padding-top: 20px;
}
.strength02 {
  margin: 50px 20px 0;
  position: relative;
  animation: fluidrotate 5s ease 0s infinite;/*アニメーションの設定*/
}

.strength02:before {
    content: "";
    z-index: -1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(-84deg, #ffeda0 0%, #ffa585 100% );
    transform: translate3d(0px, 20px, 0) scale(0.95);
    filter: blur(38px);
    opacity: var(0.49);
    transition: opacity 0.3s;
    border-radius: inherit;
}

/* 
* Prevents issues when the parent creates a 
* stacking context. (For example, using the transform
* property )
*/
.strength02::after {
    content: "";
    z-index: -1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: inherit;
    border-radius: inherit;
}
        
.strength02 img {
  width: 120px;
  height: 135px;
  margin: 0 auto;
  padding-bottom: 20px;
}
.strength02 h4 {
  font-size: 2.5rem;
  color: #05668d;
}
.strength02 p {
  font-size: 1.6rem;
  line-height: 3.2rem;
  padding-top: 20px;
}
.strength03 {
  margin: 50px 20px 0;
  position: relative;
  animation: fluidrotate 5s ease 0s infinite;/*アニメーションの設定*/
}

.strength03:before {
    content: "";
    z-index: -1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(-84deg, #ffcb69 0%, #c6f8ff 100% );
    transform: translate3d(0px, 20px, 0) scale(0.95);
    filter: blur(38px);
    opacity: var(0.49);
    transition: opacity 0.3s;
    border-radius: inherit;
}

/* 
* Prevents issues when the parent creates a 
* stacking context. (For example, using the transform
* property )
*/
.strength03::after {
    content: "";
    z-index: -1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: inherit;
    border-radius: inherit;
}
        
.strength03 img {
  width: 150px;
  height: 135px;
  ;
  margin: 0 auto;
  padding-bottom: 20px;
}
.strength03 h4 {
  font-size: 2.5rem;
  color: #05668d;
}
.strength03 p {
  font-size: 1.6rem;
  line-height: 3.2rem;
  padding-top: 20px;
}
#company a {
  font-size: 2.0rem;
  margin-top: 80px
}
.original-button {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  color: #000000;
  font-size: 4rem;
  border-radius: 0px;
  width: 325px;
  height: 50px;
  position: relative;
  transition: 0.3s;
  background-color: #FFFFFF;
}
.original-button::before, .original-button::after {
  content: "";
  display: block;
  position: absolute;
  border: 2px solid #ff9f1c;
  width: 100%;
  height: 100%;
  transition: .3s;
}
.original-button::before {
  top: -4px;
  left: -4px;
}
.original-button::after {
  top: 2px;
  left: 2px;
}
.original-button:hover::before, .original-button:hover::after {
  top: 0;
  left: 0;
}
.original-button {
  margin: 0 auto;
}
@media(min-width: 1160px) {
  .strength_explanation {
    display: flex;
    margin: 50px 120px;
    justify-content: center;
  }
  .strength01 {
    margin: 0 50px 0 0;
    width: 467px;
  }
  .strength02 {
    margin: 0 50px;
    width: 467px;
  }
  .strength03 {
    margin: 0 0 0 50px;
    width: 467px;
  }
  .original-button {
    padding: 40px;
  }
  
}
#business h2 {
  font-size: 3.5rem;
  display: flex;
  align-items: center;
  margin: 150px 0 30px 25px;
}
#business h2::after {
  content: "";
  height: 3px;
  flex-grow: 1;
  background-color: #ffbf69;
  margin-left: 1rem;
}
@media(min-width: 1160px) {
  #business h2 {
    font-size: 3.5rem;
    display: flex;
    align-items: center;
    margin: 150px 0 80px 120px;
  }
  #business h2::after {
    content: "";
    height: 3px;
    flex-grow: 1;
    background-color: #ffbf69;
    margin-left: 1rem;
  }
}
.circle-padding {
  padding-left: 10px;
}
.circle {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: rgba(255, 159, 28, 0.7);
  position: absolute;
  animation-name: updown1; /* アニメーション名の指定 */
  animation-delay: 0s; /* アニメーションの開始時間指定 */
  animation-duration: 3s; /* アニメーション動作時間の指定 */
  animation-timing-function: ease-in-out; /* アニメーションの動き指定（徐々に早く）*/
  animation-iteration-count: infinite;
}
.circle::after {
  content: "";
  display: inline-block;
  width: 70px;
  height: 70px;
  position: relative;
  z-index: 1;
  top: -5px;
  left: -5px;
}
.circle::after {
  backdrop-filter: blur(5px);
  position: relative;
}
.circle02-padding {
  padding-top: 60px;
  padding-left: 50px;
}
.circle02 {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(255, 159, 28, 0.7);
  position: absolute;
  animation-name: updown1; /* アニメーション名の指定 */
  animation-delay: 0s; /* アニメーションの開始時間指定 */
  animation-duration: 4s; /* アニメーション動作時間の指定 */
  animation-timing-function: ease-in-out; /* アニメーションの動き指定（徐々に早く）*/
  animation-iteration-count: infinite;
}
.circle02::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  position: relative;
  z-index: 1;
  top: -5px;
  left: -5px;
}
.circle02::after {
  backdrop-filter: blur(5px);
  position: relative;
}
@keyframes updown1 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0);
  }
}
.circle03-padding {
  padding-top: 20px;
  padding-left: 90px
}
.circle03 {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 159, 28, 0.7);
  position: absolute;
  animation-name: updown1; /* アニメーション名の指定 */
  animation-delay: 0s; /* アニメーションの開始時間指定 */
  animation-duration: 5s; /* アニメーション動作時間の指定 */
  animation-timing-function: ease-in-out; /* アニメーションの動き指定（徐々に早く）*/
  animation-iteration-count: infinite;
}
.circle03::after {
  content: "";
  display: inline-block;
  width: 50px;
  height: 50px;
  position: relative;
  z-index: 1;
  top: -5px;
  left: -5px;
}
.circle03::after {
  backdrop-filter: blur(5px);
  position: relative;
}
@media(min-width: 1160px) {
  .circle-padding {
    padding-left: 10px;
    padding-top: 10px;
  }
  .circle {
    width: 110px;
    height: 110px;
  }
  .circle::after {
    width: 120px;
    height: 120px;
  }
  .circle02-padding {
    padding-top: 110px;
    padding-left: 100px;
  }
  .circle02 {
    width: 40px;
    height: 40px;
  }
  .circle02::after {
    width: 50px;
    height: 50px;
  }
  .circle03-padding {
    padding-top: 10px;
    padding-left: 150px;
  }
  .circle03 {
    width: 80px;
    height: 80px;
  }
  .circle03::after {
    width: 90px;
    height: 90px;
  }
}
.about {
  padding: 0 25px;
  margin-bottom: 150px;
  
}

.about h3 {
  font-size: 2.5rem;
  color: #05668d;
}
.about img {
  width: 175px;
  height: auto;
  padding: 40px 0;
}
.about p {
  font-size: 1.6rem;
  line-height: 3.2rem;
  text-align: left;
}
.about p span {
  font-weight: 800;
}

@media(min-width: 1160px) {
  .about {
    padding: 0;
    margin: 0 120px 150px;
  }
  .about_explanation {
    display: flex;
    justify-content: center;
  }
  .about h3 {
    margin-bottom: 50px;
  }
  .about p {
    padding-left: 100px;
  }
  .sp {
    display: none;
  }
  .about img {
    width: 250px;
    height: 100%;
    padding: 0;
  }
}

.car {
  background-image: url("../images/cars-mobile.JPG");
  background-color: rgba(255, 249, 226, 0.8);
  background-blend-mode: lighten;
  background-size: cover;
  background-position: left;
  padding-bottom: 50px;
}
.car h3 {
  display: inline-block;
  position: relative;
  font-size: 2.5rem;
  margin-bottom: 50px;
  padding-top: 80px;
}
.car h3:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px;
  display: inline-block;
  width: 50px;
  height: 3px;
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background-color: #ff9f1c; /*下線の色*/
}
.car p {
  font-size: 1.6rem;
  line-height: 3.2rem;
  text-align: left;
  padding: 0 20px;
}
.pc {
  display: none;
}
.car a {
  font-size: 2.0rem;
  margin-top: 80px;
}
.original-button {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  color: #000000;
  font-size: 4rem;
  border-radius: 0px;
  width: 325px;
  height: 50px;
  position: relative;
  transition: 0.3s;
  background-color: transparent;
}
.original-button::before, .original-button::after {
  content: "";
  display: block;
  position: absolute;
  border: 2px solid #ff9f1c;
  width: 100%;
  height: 100%;
  transition: .3s;
}
.original-button::before {
  top: -4px;
  left: -4px;
}
.original-button::after {
  top: 2px;
  left: 2px;
}
.original-button:hover::before, .original-button:hover::after {
  top: 0;
  left: 0;
}
.original-button {
  margin: 0 auto;
}
@media(min-width: 1160px) {
  .car p {
    text-align: center;
    padding: 0 120px;
  }
  .pc {
    display: block;
  }
}
.achievement h3 {
  font-size: 2.5rem;
  padding: 10px 0 0;
  margin-bottom: 50px;
  display: inline-block;
  position: relative;
}
.achievement h3:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -10px;
  display: inline-block;
  width: 50px;
  height: 3px;
  -moz-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translate(-50%); /*位置調整*/
  background-color: #ff9f1c; /*下線の色*/
}
.achievement01 {
  position: relative;
  margin-bottom: 60px;
}
.achievement01-img {
  height: 290px;
  width: 100%;
}
/*フェードイン*/
.fadeIn02 {
  opacity: 0;
  animation-name: fadeIn02;
  animation-duration: 8s;
  animation-timing-function: ease;
  animation-delay: 1s;
  animation-fill-mode: forwards;
}
@keyframes fadeIn02 {
  0% {
    opacity: 0%;
  }
  100% {
    opacity: 1;
  }
}
.achievement01 p {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 3.2rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
}
.achievement02 {
  position: relative;
  margin-bottom: 60px;
}
.achievement02-img {
  height: 290px;
  width: 100%;
}
/*フェードイン*/
.fadeIn03 {
  opacity: 0;
  animation-name: fadeIn03;
  animation-duration: 5s;
  animation-timing-function: ease;
  animation-delay: 1s;
  animation-fill-mode: forwards;
}
@keyframes fadeIn03 {
  0% {
    opacity: 0%;
  }
  100% {
    opacity: 1;
  }
}
.achievement02 p {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 3.2rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
}
.achievement03 {
  position: relative;
  margin-bottom: 60px;
}
.achievement03-img {
  height: 290px;
  width: 100%;
}
/*フェードイン*/
.fadeIn04 {
  opacity: 0;
  animation-name: fadeIn04;
  animation-duration: 5s;
  animation-timing-function: ease;
  animation-delay: 1s;
  animation-fill-mode: forwards;
}
@keyframes fadeIn04 {
  0% {
    opacity: 0%;
  }
  100% {
    opacity: 1;
  }
}
.achievement03 p {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 3.2rem;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
}
/*ボールムーブ実績*/
.circle04-padding {
  padding-left: 10px;
  padding-top: 30px;
}
.circle04 {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: rgba(255, 159, 28, 0.7);
  position: absolute;
  animation-name: updown1; /* アニメーション名の指定 */
  animation-delay: 0s; /* アニメーションの開始時間指定 */
  animation-duration: 3s; /* アニメーション動作時間の指定 */
  animation-timing-function: ease-in-out; /* アニメーションの動き指定（徐々に早く）*/
  animation-iteration-count: infinite;
}
.circle04::after {
  content: "";
  display: inline-block;
  width: 70px;
  height: 70px;
  position: relative;
  z-index: 1;
  top: -5px;
  left: -5px;
}
.circle04::after {
  backdrop-filter: blur(5px);
  position: relative;
}
.circle05-padding {
  padding-top: 60px;
  padding-left: 50px;
}
.circle05 {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(255, 159, 28, 0.7);
  position: absolute;
  animation-name: updown1; /* アニメーション名の指定 */
  animation-delay: 0s; /* アニメーションの開始時間指定 */
  animation-duration: 4s; /* アニメーション動作時間の指定 */
  animation-timing-function: ease-in-out; /* アニメーションの動き指定（徐々に早く）*/
  animation-iteration-count: infinite;
}
.circle05::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  position: relative;
  z-index: 1;
  top: -5px;
  left: -5px;
}
.circle05::after {
  backdrop-filter: blur(5px);
  position: relative;
}
@keyframes updown1 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0);
  }
}
.circle06-padding {
  padding-top: 20px;
  padding-left: 90px
}
.circle06 {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 159, 28, 0.7);
  position: absolute;
  animation-name: updown1; /* アニメーション名の指定 */
  animation-delay: 0s; /* アニメーションの開始時間指定 */
  animation-duration: 5s; /* アニメーション動作時間の指定 */
  animation-timing-function: ease-in-out; /* アニメーションの動き指定（徐々に早く）*/
  animation-iteration-count: infinite;
}
.circle06::after {
  content: "";
  display: inline-block;
  width: 50px;
  height: 50px;
  position: relative;
  z-index: 1;
  top: -5px;
  left: -5px;
}
.circle06::after {
  backdrop-filter: blur(5px);
  position: relative;
}
.achievement a {
  font-size: 2.0rem;
  margin-bottom: 50px;
}
/*実績の下ボールムーブ*/
.circle07-padding {
  position: relative;
}
.circle07 {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: rgba(255, 159, 28, 0.7);
  position: absolute;
  top: 10px;
  right: 10px;
  animation-name: updown1; /* アニメーション名の指定 */
  animation-delay: 0s; /* アニメーションの開始時間指定 */
  animation-duration: 3s; /* アニメーション動作時間の指定 */
  animation-timing-function: ease-in-out; /* アニメーションの動き指定（徐々に早く）*/
  animation-iteration-count: infinite;
}
.circle07::after {
  content: "";
  display: inline-block;
  width: 70px;
  height: 70px;
  position: relative;
  z-index: 1;
  top: -5px;
  left: -5px;
}
.circle07::after {
  backdrop-filter: blur(5px);
  position: relative;
}
.circle08-padding {
  position: relative;
}
.circle08 {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: rgba(255, 159, 28, 0.7);
  position: absolute;
  top: 70px;
  right: 70px;
  animation-name: updown1; /* アニメーション名の指定 */
  animation-delay: 0s; /* アニメーションの開始時間指定 */
  animation-duration: 4s; /* アニメーション動作時間の指定 */
  animation-timing-function: ease-in-out; /* アニメーションの動き指定（徐々に早く）*/
  animation-iteration-count: infinite;
}
.circle08::after {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  position: relative;
  z-index: 1;
  top: -5px;
  left: -5px;
}
.circle08::after {
  backdrop-filter: blur(5px);
  position: relative;
}
@keyframes updown1 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(0);
  }
}
.circle09-padding {
  position: relative;
}
.circle09 {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255, 159, 28, 0.7);
  position: absolute;
  top: 10px;
  right: 90px;
  animation-name: updown1; /* アニメーション名の指定 */
  animation-delay: 0s; /* アニメーションの開始時間指定 */
  animation-duration: 5s; /* アニメーション動作時間の指定 */
  animation-timing-function: ease-in-out; /* アニメーションの動き指定（徐々に早く）*/
  animation-iteration-count: infinite;
}
.circle09::after {
  content: "";
  display: inline-block;
  width: 50px;
  height: 50px;
  position: relative;
  z-index: 1;
  top: -5px;
  left: -5px;
}
.circle09::after {
  backdrop-filter: blur(5px);
  position: relative;
}
@media(min-width: 1160px) {
  .achievement_explanation {
    display: flex;
    margin-bottom: 60px;
  }
  .achievement01 {
    width: 33.3%;
    margin-bottom: 0px;
  }
  .achievement01-img {
    width: 100%;
    height: 25vw;
  }
  .achievement02 {
    width: 33.3%;
    margin-bottom: 0px;
  }
  .achievement02-img {
    width: 100%;
    height: 25vw;
  }
  .achievement03 {
    width: 33.3%;
    margin-bottom: 0px;
  }
  .achievement03-img {
    width: 100%;
    height: 25vw;
  }
  /*ボール実績*/
  .circle04-padding {
    padding-left: 10px;
    padding-top: 30px;
  }
  .circle04 {
    width: 110px;
    height: 110px;
  }
  .circle04::after {
    width: 120px;
    height: 120px;
  }
  .circle05-padding {
    padding-top: 110px;
    padding-left: 100px;
  }
  .circle05 {
    width: 40px;
    height: 40px;
  }
  .circle05::after {
    width: 50px;
    height: 50px;
  }
  .circle06-padding {
    padding-top: 10px;
    padding-left: 150px;
  }
  .circle06 {
    width: 80px;
    height: 80px;
  }
  .circle06::after {
    width: 90px;
    height: 90px;
  }
  /*ボール下*/
  .circle07-padding {
    position: relative;
    padding: 80px 0 100px;
  }
  .circle07 {
    position: absolute;
    top: 10px;
    right: 20px;
    width: 110px;
    height: 110px;
  }
  .circle07::after {
    width: 120px;
    height: 120px;
  }
  .circle08 {
    position: absolute;
    top: 150px;
    right: 100px;
    width: 40px;
    height: 40px;
  }
  .circle08::after {
    width: 50px;
    height: 50px;
  }
  .circle09 {
    position: absolute;
    top: 60px;
    right: 150px;
    width: 80px;
    height: 80px;
  }
  .circle09::after {
    width: 90px;
    height: 90px;
  }
}

.works h2 {
  font-size: 3.5rem;
  display: flex;
  align-items: center;
  margin: 150px 0 30px 25px;
}
.works h2::after {
  content: "";
  height: 3px;
  flex-grow: 1;
  background-color: #ffbf69;
  margin-left: 1rem;
}
.works img {
  width: 100%;
  height: auto;
  margin-bottom: 50px;
}
.works p {
  font-size: 1.6rem;
  line-height: 3.2rem;
  text-align: left;
  padding: 0 25px;
  margin-bottom: 80px;
}
.works span {
  font-weight: 700;
  color: #05668d;
}
.works a {
  font-size: 2.0rem;
}
@media(min-width: 1160px) {
  .works h2 {
    font-size: 3.5rem;
    display: flex;
    align-items: center;
    margin: 10px 0 80px 120px;
  }
  .works h2::after {
    content: "";
    height: 3px;
    flex-grow: 1;
    background-color: #ffbf69;
    margin-left: 1rem;
  }
  .works img {
    width: 60%;
    height: 100%;
    margin-bottom: 50px;
    border-bottom-right-radius: 50px;
  }
  .works p {
    height: auto;
    line-height: 4.0rem;
    padding: 0px 120px 0px 50px;
    margin: 0;
  }
  .works_explanation {
    display: flex;
    justify-content: space-between;
  }
}