@charset "UTF-8";

@media screen and (min-width : 768px){

	/* -------------------------------------------------------------------------------------------
	*
	* common
	*
	* ----------------------------------------------------------------------------------------- */
  
	main{
		position: relative;
	}

	section h3{
		margin: 0 0 3.75rem 0;
    }
    section h3 span.main{
      display: block;
      font-size: 2rem;
    }
    section h3 span.sub{
      display: block;
      margin: 0.5rem 0 0 0;
      font-size: 1.125rem;
    }
  
  section .secInner {
		width: 88%;
    margin: 0 auto;
  }
  
  section .underline{
    border-bottom: 1px solid;
  }
  
  section .yellow{
    background-color: #e6e46e;
  }



	/* -------------------------------------------------------------------------------------------
	*
	* MV
	*
	* ----------------------------------------------------------------------------------------- */

	#mv{
    width: 88vw;
/*    max-width: 920px;*/
    margin: 0 auto;
    padding: 0 0 0rem 0;
		position: relative;
	}
	#mv .inner{
		padding: 0 0 1.6rem 0;
		position: relative;
    width: 100%;
	}
  
	#mv h4{
    text-align: center;
    letter-spacing: 0.2rem;
    }
    #mv h4 span{
      display: block;
    }
    #mv h4 .lead_s{
      font-size: 1.2rem;
      font-weight: 500;
      margin: 0 0 0.5rem 0;
    }
    #mv h4 .lead_l{
      font-size: 1.9rem;
      font-weight: 700;
      line-height: 1.4;
      margin: 0 0 1.75rem 0;
    }

	#mv .container{
		position: relative;
		width: 100%;
    max-width: 920px;
    margin: 0 auto;
		overflow: hidden;
	}

	#mv .container .obj{
		display: inline-block;
		vertical-align: top;
		width: 100%;
		font-size: 0;
		opacity: 0;
		transform : translate(0, 30px);
		transition : opacity 0.5s, transform 0.5s;
    border: 1px solid #ccc;
    box-sizing: border-box;
		}
		#mv.appear .container .obj{
			opacity: 1;
			transform : translate(0, 0);
		}
		#mv.appear .container .obj img{
			width: 100%;
		}



	/* -------------------------------------------------------------------------------------------
	*
	* lead
	*
	* ----------------------------------------------------------------------------------------- */

	#lead{
		padding: 0 0 7rem;
		position: relative;
		overflow: hidden;
    text-align: center;
	}

	#lead .inner{
    display: inline-block;
    vertical-align: top;
    width: 100%;
    font-size: 0;
    opacity: 0;
    transform: translate(0, 30px);
    transition: opacity 0.5s, transform 0.5s;
  }
  #lead .inner.appear{
    opacity: 1;
    transform: translate(0, 0);
  }
  
	#lead .text div{
		font-size: 1rem;
    font-weight: 400;
    line-height: 2;
		word-break: break-all;
/*		color: transparent;*/
		background-clip: text;
    -webkit-background-clip: text;
		background-image: "linear-gradient(100deg, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 0%)",;
	}



	/* -------------------------------------------------------------------------------------------
	*
	* concept
	*
	* ----------------------------------------------------------------------------------------- */

	#concept{
		padding: 0 0 7rem 0;
	}

	#concept h4{
    margin-bottom: 1rem;
	}

	#concept h4 span{
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.6;
	}
  
  #concept .textContainer .text div {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 2.4;
    word-break: break-all;
    color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
    background-image: "linear-gradient(100deg, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 0%)",;
  }
  
	#concept .concept_block_wrap {
    width: 100%;
    position: relative;
    margin: 3.5rem 0 0;
    padding: 2rem;
    border: 3px solid #c7c7c7;
    box-sizing: border-box;
  }
  
  #concept .concept_block_wrap:before {
    content: "";
    position: absolute;
    top: -1.6rem;
    left: 50%;
    margin-left: -1.4rem;
    border-bottom: 1.7rem solid #fff;
    border-left: 1.24rem solid transparent;
    border-right: 1.24rem solid transparent;
    z-index: 2;
    }
    #concept .concept_block_wrap:after {
      content: "";
      position: absolute;
      top: -1.85rem;
      left: 50%;
      margin-left: -1.48rem;
      border-left: 1.32rem solid transparent;
      border-right: 1.32rem solid transparent;
      border-bottom: 1.8rem solid #c7c7c7;
      z-index: 1;
    }
  
  #concept .concept_block_wrap .bg {
    font-size: 0.94rem;
    font-weight: 600;
    text-align: center;
    opacity: 0.3;
    margin-bottom: 1.5rem;
  }
  
  #concept .concept_block .block_ttl {
    font-size: 0.94rem;
    font-weight: 500;
    padding: 0.75rem 1rem;
    }
    #concept .current_block .block_ttl {/*//////// 現状の認識 ////////*/
      background-color: #a2ceda;
    }
    #concept .proposal_block .block_ttl {/*//////// 発想の転換 ////////*/
      background-color: #ace1cc;
    }

  #concept .proposal_block .small_text {/*//////// 発想の転換 ////////*/
    font-size: 0.94rem;
    font-weight: 500;
    margin-bottom: 0.8rem;
    display: inline-block;
  }

  #concept .concept_block dt {
    font-size: 1.22rem;
    font-weight: 500;
    text-align: center;
    margin: 1.7rem 0;
    letter-spacing: 0.05rem;
  }
  #concept .concept_block dt .underline {
    font-weight: 500;
    background: linear-gradient(transparent 89%, #e6e46e 89%);
    border: none;
    padding-bottom: 0.24rem;
  }

  #concept .concept_block dd.gray {
    padding: 1rem;
    background-color: #f4f4f4;
    gap: 1.5rem;
    }
    #concept .current_block dd.gray {/*//////// 現状の認識 ////////*/
      display: flex;
    }
    #concept .current_block dd.gray .block {/*//////// 現状の認識 ////////*/
      width: 50%;
      letter-spacing: 0.05rem;
    }
    #concept .current_block dd.gray .block:nth-child(1) {/*//////// 現状の認識 ////////*/
      padding-right: 1.5rem;
      border-right: 5px solid #fff;
    }
  
  #concept .concept_block dd.gray .block .white {
    padding: 0.75rem 0;
    margin-bottom: 1rem;
    background-color: #fff;
    }
    #concept .current_block dd.gray .block .white {/*//////// 現状の認識 ////////*/
      display: flex;
      align-items: center;
    }
    #concept .proposal_block dd.gray .block .white {/*//////// 発想の転換 ////////*/
      text-align: center;
    }

  #concept .concept_block dd.gray .block .white .circle {
    position: relative;
    width: 3.75rem;
    height: 3.75rem; 
    background-color: #a2ceda;
    border-radius: 50%;
    margin: 0 0.75rem;
    text-align: center;
    }
    #concept .concept_block dd.gray .block .white .circle_inner {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      font-size: 0.78rem;
      font-weight: 500;
      line-height: 1.2;
      white-space: nowrap;
    }

  #concept .concept_block dd.gray .block .white p {
    font-size: 0.94rem;
    font-weight: 500;
    line-height: 1.6;
    }
    #concept .current_block dd.gray .block .white p {/*//////// 現状の認識 ////////*/
      width: 70%;
    }
  
  #concept .proposal_block dd.gray .block .text {/*//////// 発想の転換 ////////*/
    display: flex;
    padding: 0 1rem;
    letter-spacing: 0.05rem;
    }
    #concept .proposal_block dd.gray .block .text ul {/*//////// 発想の転換 ////////*/
      width: 50%;
    }

  #concept .concept_block dd.gray .block ul li {
    font-size: 0.78rem;
    font-weight: 500;
    line-height: 1.5;
    text-indent: -1rem;
    padding-left: 1rem;
  }
  
  #concept .triangle {
    width: 0;
    height: 0;
    border-left: 0.8rem solid transparent;
    border-right: 0.8rem solid transparent;
    border-top: 1.1rem solid black;
    margin: 1rem auto;
  }
  
  

	/* -------------------------------------------------------------------------------------------
	*
	* point
	*
	* ----------------------------------------------------------------------------------------- */

	#point{
		padding: 7rem 0;
    background-color: #f4f4f4;
	}

	#point .text div{
    font-size: 1.125rem;
		margin: 0 0 3.75rem 0;
	}
  
  #point .point_block_wrap {
    display: flex;
    }
  
  #point ul{
    width: 33.333%;
    margin-right: 5%;
    position: relative;
    }
    #point ul:nth-of-type(3){
      margin-right: 0;
    }
    #point ul::after{ /*////////縦点線////////*/
      position: absolute;
      top: 0;
      left: 100%;
      margin: 0 8.0%;
      content: "";
      width: 3px;
      height: 100%;
      background-image: linear-gradient(to bottom, #b0b0b0 3px, transparent 3px);
      background-size: 3px 20px;
    }
    #point ul:nth-of-type(3)::after{
      margin: 0;
      width: 0;
      background: none;
    }
  
	#point ul .point_ttl{
    text-align: center;
    font-size: 1.1rem;
    font-weight: 400;
    padding-top: 0rem;
    margin-bottom: 1.0rem;
    }
    #point ul .point_ttl .num{
      font-size: 0.8rem;
      font-weight: 500;
      color: #fff;
      display: block;
      border-radius: 2rem;
      padding: 0.5rem 0;
      margin-bottom: 1rem;
    }
    #point ul:nth-child(1) .num{
      background-color: #a2ceda;
    }
    #point ul:nth-child(2) .num{
      background-color: #eac366;
    }
    #point ul:nth-child(3) .num{
      background-color: #ace1cc;
    }

	#point ul li{ /*//////// li時間差でfadeUp ////////*/
		background-size: cover;
		box-sizing: border-box;
		position: relative;
		}
		#point ul:nth-child(2) li{
			transition-delay: 0.2s;
		}
		#point ul:nth-child(3) li{
			transition-delay: 0.4s;
		}

  #point ul li dl dt{
    text-align: center;
    font-size: 1rem;
    font-weight: 500;
    padding: 7% 6%;
  }
  
  #point ul li dl dd{
    font-size: 1.26vw;
    font-size: clamp(10px, 1.26vw, 0.9rem);
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    padding: 6% 6%;
  }

  #point ul li dl.other_lab{
    padding: 0 0.5rem 0.5rem;
    background-color: #d4d4d4;
    }
    #point ul li dl.other_lab dd{
      font-weight: 500;
      background-color: #fff;
    }
    #point ul li dl.other_lab dd .underline{
      font-size: clamp(10px, 1.6vw, 1.2rem);
      font-weight: 500;
      line-height: 1.4;
      background: linear-gradient(transparent 67%, #e6e46e 67%);
      border: none;
    }
  
  #point ul li .triangle{
    width: 0;
    height: 0;
    border-left: 0.7rem solid transparent;
    border-right: 0.7rem solid transparent;
    border-top: 0.8rem solid black;
    margin: 0.8rem auto;
  }
  
  #point .our_lab{
    padding: 0 0.5rem 0.5rem;
    }
    #point .our_lab > div > div{
      background-color: #fff;
      height: clamp(260px, 31vw, 20rem);
    }
  
  #point ul:nth-child(1) .our_lab,
  #point ul:nth-child(1) .our_lab dt{
    background-color: #a2ceda;
    }
    #point ul:nth-child(2) .our_lab,
    #point ul:nth-child(2) .our_lab dt{
      background-color: #eac366;
    }
    #point ul:nth-child(3) .our_lab,
    #point ul:nth-child(3) .our_lab dt{
      background-color: #ace1cc;
    }
  
  #point .our_lab dt {
    padding: 8% 0;
    line-height: 1.4;
  }
  
  #point .our_lab dd + dd{
    padding-top: 0;
  }
  #point .our_lab dd.main_point{
    font-size: clamp(10px, 1.2vw, 0.96rem);
    font-weight: 500;
    line-height: 2;
    letter-spacing: 0.06rem;
    vertical-align: middle;
    display: table-cell;
    height: clamp(10px, 7.7vw, 5rem);
    width: 100vw;
    padding-bottom: 4.0%;
  }
  #point ul:nth-child(3) .our_lab dd.main_point{
    line-height: 2;
  }
  #point .our_lab dd.main_point .yellow{
    font-weight: 500;
    font-size: clamp(10px, 1.8vw, 1.5rem);
    line-height: 2;
  }
  #point .our_lab dd.detail{
    text-align: justify;
    letter-spacing: 0.03rem;
  }
  #point .our_lab dd.detail::before{
    content: "●";
    font-size: 0.65rem;
    vertical-align: middle;
    margin-right: 0.18rem;
  }
  
  #point ul:nth-child(1) .our_lab dd.detail::before{ /*////////色丸////////*/
    color: #a2ceda;
    }
    #point ul:nth-child(2) .our_lab dd.detail::before{ /*////////色丸////////*/
      color: #eac366;
    }
    #point ul:nth-child(3) .our_lab dd.detail::before{ /*////////色丸////////*/
      color: #ace1cc;
    }



	/* -------------------------------------------------------------------------------------------
	*
	* story
	*
	* ----------------------------------------------------------------------------------------- */

	#story{
		padding: 7rem 0;
	}
  
  #story .textContainer .text div {
    font-size: 1.125rem;
    margin: 0 0 3.75rem 0;
    line-height: 2.4;
    word-break: break-all;
    color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
    background-image: "linear-gradient(100deg, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 0%)",;
  }
  
  #story .story_cont_wrap > li {
    background-position: top center;
    background-size: 100% auto;
    background-repeat: no-repeat;
    padding: 0 0 8.0% 0;
    margin: 0 0 2.25rem 0;
    position: relative;
    }
    #story .secInner > a:nth-of-type(1) .story_cont_wrap > li {
      background-image: url(../images/story_frame_blue.png);
    }
    #story .secInner > a:nth-of-type(2)  .story_cont_wrap > li {
      background-image: url(../images/story_frame_orange.png);
    }
    #story .secInner > a:nth-of-type(3)  .story_cont_wrap > li{
      background-image: url(../images/story_frame_green.png);
    }
  
  #story .story_cont_wrap div.outer {
    display: flex;
    padding: 4.5% 7% 0 4.5%;
/*    padding: 3.5vw 5.4vw 0 3.5vw;*/
/*    padding: 2.4rem 4rem 0 2.8rem;*/
    position: relative;
  }
  
  #story ul.contents {
      width: 50%;
    }
    #story ul.contents:nth-of-type(2) {
      width: 46%;
      margin-left: 4%;
    }
  
    #story ul.contents li.story_ttl {
      margin-bottom: 11.5%;
      margin-bottom: 1.6vw;
    }
    #story ul.contents li.story_ttl p {
      font-size: 2.2vw;
      font-size: clamp(10px, 2.2vw, 1.8rem);
      font-weight: 500;
      letter-spacing: 0.16rem;
    }
  
  #story ul.contents li.person {
    font-size: clamp(10px, 1.55vw, 1.15rem);
    letter-spacing: 0.18vw;
    margin: 1.8% 0 9%;
    margin-bottom: 1.2vw;
    }
    #story ul.contents li.person div {
      font-weight: 500;
    }
    #story ul.contents li.person .line {
      width: 2px;
      height: clamp(10px, 1.3vw ,1rem);
      display: inline-block;
      margin: 0 0.8rem;
    }
    #story a:nth-of-type(1) > .story_cont_wrap ul.contents li.person .line {
      background: #a2ceda;
    }
    #story a:nth-of-type(2) > .story_cont_wrap ul.contents li.person .line {
      background: #EAC366;
    }
    #story a:nth-of-type(3) > .story_cont_wrap ul.contents li.person .line {
      background: #ACE1CC;
    }
  
  #story ul.contents li.thumb {
      border: 1px solid #ccc;
    }
    #story ul.contents li.thumb img {
      width: 100%;
    }
  
  #story ul.contents li.story_text {
    text-align: justify;
    }
    #story ul.contents li.story_text dt {
      font-size: 1.8vw;
      font-size: clamp(10px, 1.8vw, 1.4rem);
      font-weight: 500;
      line-height: 1.4;
      letter-spacing: 0.3vw;
      margin-bottom: 0.7vw;
      white-space: nowrap;
    }
    #story ul.contents li.story_text dd {
      font-size: clamp(11px, 1.22vw, 1rem);
      line-height: 1.66;
      letter-spacing: 0.04rem;
    }
    #story ul.contents li.story_text dd .yellow {
/*      font-weight: 500;*/
      background: linear-gradient(transparent 74%, #e6e46e 74%);
    }
  
  #story .moreBtn{
    width: 6.4rem;
    color: #000;
    font-size: 1.2rem;
    font-weight: 500;
    position: absolute;
    bottom: 0;
    right: 7%;
    cursor: pointer;
    }
    #story .moreBtn::after{
      content: "";
      background: url(../images/arrow.png) no-repeat;
      background-size: 1.7rem 1.15rem;
      position: absolute;
      animation: return 1.5s linear infinite;
    }
    #story .moreBtn::after{
      width: 1.7rem;
      height: 1.15rem;
    }
    @keyframes return {
      0% , 100%{
        right: 7%;
      }
      50%{
        right: 0%;
      }
    }

  #story .btn {
    margin-top: 7rem;
    }
    #story .btn a {
      letter-spacing: 0.2rem;
      padding-left: 1.6rem;
    }
    #story .btn .icon {
      right: inherit;
      left: 1.6rem;
      transform: rotate(180deg);
    }
    #story .btn span {
      font-size: 1.05rem;
      font-weight: 500;
      letter-spacing: 0.1rem;
    }



}@media screen and (max-width : 767px){


	/* -------------------------------------------------------------------------------------------
	*
	* common
	*
	* ----------------------------------------------------------------------------------------- */

	main{
		position: relative;
	}

	section h3{
		margin: 0 0 3.75rem 0;
    }
    section h3 span.main{
      display: block;
  		font-size: 8vw;
    }
    section h3 span.sub{
      display: block;
      margin: 0.5rem 0 0 0;
      font-size: 3.6vw;
      font-weight: 500;
    }
  
  section .underline {
    border-bottom: 1px solid;
  }
  
  section .yellow{
    background-color: #e6e46e;
  }
  
  

	/* -------------------------------------------------------------------------------------------
	*
	* MV
	*
	* ----------------------------------------------------------------------------------------- */

	#mv{
    padding: 2rem 0 1rem;
		position: relative;
	}
  
  #mv h4{
    text-align: center;
    letter-spacing: 0.12rem;
  }
  #mv h4 span {
    display: block;
    }
    #mv h4 .lead_s{
      font-size: 5vw;
      font-weight: 500;
      margin: 0 0 0.5rem 0;
    }
    #mv h4 .lead_l{
      font-size: 5.96vw;
      font-weight: 700;
      line-height: 1.6;
      margin: 0 0 1.3rem 0;
    }

	#mv .container{
		position: relative;
    width: 88vw;
    margin: 0 auto;
	}

	#mv .container .obj{
		display: inline-block;
		vertical-align: top;
		width: 100%;
		font-size: 0;
		opacity: 0;
		transform : translate(0, 30px);
		transition : opacity 0.5s, transform 0.5s;
    border: 1px solid #ccc;
    box-sizing: border-box;
		}
		#mv.appear .container .obj{
			opacity: 1;
			transform : translate(0, 0);
		}
		#mv.appear .container .obj img{
			width: 100%;
		}

  

	/* -------------------------------------------------------------------------------------------
	*
	* lead
	*
	* ----------------------------------------------------------------------------------------- */

	#lead{
    padding: 0 0 4rem;
	}

	#lead .inner{
    opacity: 0;
    transform: translate(0, 30px);
    transition: opacity 0.5s, transform 0.5s;
  }
  #lead .inner.appear{
    opacity: 1;
    transform: translate(0, 0);
  }
  
	#lead .text div{
    font-size: 4vw;
    font-weight: 400;
    line-height: 1.8;
    letter-spacing: 0;
    word-break: break-all;
/*    color: transparent;*/
    background-clip: text;
    -webkit-background-clip: text;
    background-image: "linear-gradient(100deg, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 0%)",;
    text-align: justify;
	}



	/* -------------------------------------------------------------------------------------------
	*
	* concept
	*
	* ----------------------------------------------------------------------------------------- */
  
  #concept{
    padding: 1rem 0 4rem 0;
	}

	#concept h4{
    margin-bottom: 1.5rem;
	}

	#concept h4 span{
    font-size: 5.96vw;
    font-weight: 500;
    line-height: 1.6;
	}
  
  #concept .textContainer .text div {
    font-size: 4vw;
    font-weight: 400;
    line-height: 2;
    text-align: justify;
    letter-spacing: 0;
    word-break: break-all;
    color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
    background-image: "linear-gradient(100deg, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 0%)",;
  }
  
	#concept .concept_block_wrap {
    width: 100%;
    position: relative;
    margin: 3.5rem 0 0;
    padding: 1.5rem 1rem;
    border: 3px solid #c7c7c7;
    box-sizing: border-box;
  }
  
  #concept .concept_block_wrap:before {
    content: "";
    position: absolute;
    top: -1.6rem;
    left: 50%;
    margin-left: -1.4rem;
    border-bottom: 1.7rem solid #fff;
    border-left: 1.24rem solid transparent;
    border-right: 1.24rem solid transparent;
    z-index: 2;
    }
    #concept .concept_block_wrap:after {
      content: "";
      position: absolute;
      top: -1.92rem;
      left: 50%;
      margin-left: -1.517rem;
      border-left: 1.36rem solid transparent;
      border-right: 1.36rem solid transparent;
      border-bottom: 1.8rem solid #c7c7c7;
      z-index: 1;
    }
  
  #concept .concept_block_wrap .bg {
    font-size: 0.94rem;
    font-weight: 600;
    text-align: center;
    opacity: 0.3;
    margin-bottom: 1.25rem;
  }
  
  #concept .concept_block .block_ttl {
    font-size: 0.94rem;
    font-weight: 500;
    padding: 0.75rem 1rem;
    text-align: center;
    }
    #concept .current_block .block_ttl {/*//////// 現状の認識 ////////*/
      background-color: #a2ceda;
    }
    #concept .proposal_block .block_ttl {/*//////// 発想の転換 ////////*/
      background-color: #ace1cc;
    }

  #concept .proposal_block .small_text {/*//////// 発想の転換 ////////*/
    font-size: 0.77rem;
    font-weight: 500;
    margin-bottom: 0.8rem;
    display: inline-block;
    line-height: 1.8;
  }

  #concept .concept_block dt {
    font-size: 1.22rem;
    font-weight: 500;
    line-height: 1.2;
    text-align: center;
    margin: 1.7rem 0;
    letter-spacing: 0.05rem;
  }
  #concept .concept_block dt .underline {
    font-weight: 500;
    background: linear-gradient(transparent 89%, #e6e46e 89%);
    border: none;
    padding-bottom: 0.14rem;
    line-height: 1.8;
  }

  #concept .concept_block dd.gray {
    padding: 1rem;
    background-color: #f4f4f4;
    }
    #concept .current_block dd.gray .block {/*//////// 現状の認識 ////////*/
      letter-spacing: 0.05rem;
    }
    #concept .current_block dd.gray .block:nth-child(1) {/*//////// 現状の認識 ////////*/
      margin-bottom: 1.5rem;
      padding-bottom: 1.5rem;
      border-bottom: 5px solid #fff;
    }
  
  #concept .concept_block dd.gray .block .white {
    padding: 0.75rem;
    margin-bottom: 1rem;
    background-color: #fff;
    }
    #concept .current_block dd.gray .block .white {/*//////// 現状の認識 ////////*/
      display: flex;
      align-items: center;
    }
    #concept .proposal_block dd.gray .block .white {/*//////// 発想の転換 ////////*/
      text-align: center;
    }

  #concept .concept_block dd.gray .block .white .circle {
    position: relative;
    width: 3.75rem;
    height: 3.75rem; 
    background-color: #a2ceda;
    border-radius: 50%;
    margin: 0 0.75rem 0 0;
    text-align: center;
    }
    #concept .concept_block dd.gray .block .white .circle_inner {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      font-size: 0.78rem;
      font-weight: 500;
      line-height: 1.2;
      white-space: nowrap;
    }

  #concept .concept_block dd.gray .block .white p {
    font-size: 0.85rem;
    font-weight: 500;
    line-height: 1.6;
    }
    #concept .current_block dd.gray .block .white p {/*//////// 現状の認識 ////////*/
      width: 70%;
    }
    #concept .proposal_block dd.gray .block .white p {/*//////// 発想の転換 ////////*/
      text-align: left;
    }
  
  #concept .proposal_block dd.gray .block .text {/*//////// 発想の転換 ////////*/
    letter-spacing: 0.05rem;
    }

  #concept .concept_block dd.gray .block ul li {
    font-size: 0.74rem;
    line-height: 1.5;
    text-indent: -1rem;
    padding-left: 1rem;
  }
  
  #concept .triangle {
    width: 0;
    height: 0;
    border-left: 0.8rem solid transparent;
    border-right: 0.8rem solid transparent;
    border-top: 1.1rem solid black;
    margin: 1rem auto;
  }



	/* -------------------------------------------------------------------------------------------
	*
	* point
	*
	* ----------------------------------------------------------------------------------------- */
  
  #point{
    padding: 4rem 0;
    background-color: #f4f4f4;
	}
  
  #point .text div {
    margin: 0 0 3.75rem 0;
  }
  
  #point ul{
    width: 100%;
    margin-right: 5%;
    position: relative;
    }
    #point ul:nth-of-type(3){
      margin-right: 0;
    }
    #point ul::after{ /*////////縦点線////////*/
      display: block;
      margin: 14% 0;
      content: "";
      width: 100%;
      height: 3px;
      background-image: linear-gradient(to right, #b0b0b0 3px, transparent 3px);
      background-size: 20px 3px;
    }
    #point ul:nth-of-type(3)::after{
      margin: 0;
      width: 0;
      background: none;
    }
  
	#point ul .point_ttl{
    text-align: center;
    font-size: 1.12rem;
    font-weight: 400;
    padding-top: 0rem;
    margin-bottom: 2rem;
    }
    #point ul .point_ttl .num{
      font-size: 4.2vw;
      font-weight: 500;
      color: #fff;
      display: block;
      border-radius: 2rem;
      padding: 0.6rem 0;
      margin-bottom: 1rem;
    }
    #point ul:nth-child(1) .num{
      background-color: #a2ceda;
    }
    #point ul:nth-child(2) .num{
      background-color: #eac366;
    }
    #point ul:nth-child(3) .num{
      background-color: #ace1cc;
    }

	#point ul li{ /*//////// li時間差でfadeUp ////////*/
		background-size: cover;
		box-sizing: border-box;
		position: relative;
		}
		#point ul:nth-child(2) li{
			transition-delay: 0.2s;
		}
		#point ul:nth-child(3) li{
			transition-delay: 0.4s;
		}

  #point ul li dl dt{
    text-align: center;
    font-size: 1.12rem;
    font-weight: 500;
    padding: 1.2rem;
  }
  
  #point ul li dl dd{
    font-size: 4.5vw;
    font-weight: 400;
    line-height: 1.6;
    text-align: center;
    padding: 6.5%;
  }

  #point ul li dl.other_lab{
    padding: 0 0.5rem 0.5rem;
    background-color: #d4d4d4;
    }
    #point ul li dl.other_lab dd{
      font-weight: 500;
      line-height: 1.8;
      background-color: #fff;
    }
    #point ul li dl.other_lab dd .underline {
      font-size: 5.6vw;
      font-weight: 500;
      line-height: 1.4;
      background: linear-gradient(transparent 67%, #e6e46e 67%);
      border: none;
    }
  
  #point ul li .triangle{
    width: 0;
    height: 0;
    border-left: 0.8rem solid transparent;
    border-right: 0.8rem solid transparent;
    border-top: 0.9rem solid black;
    margin: 0.8rem auto;
  }
  
  #point .our_lab{
    padding: 0 0.5rem 0.5rem;
    }
    #point .our_lab > div > div{
      background-color: #fff;
    }
  
  #point ul:nth-child(1) .our_lab,
  #point ul:nth-child(1) .our_lab dt{
    background-color: #a2ceda;
    }
    #point ul:nth-child(2) .our_lab,
    #point ul:nth-child(2) .our_lab dt{
      background-color: #eac366;
    }
    #point ul:nth-child(3) .our_lab,
    #point ul:nth-child(3) .our_lab dt{
      background-color: #ace1cc;
    }
  
  #point .our_lab dt {
    line-height: 1.4;
  }
  
  #point .our_lab dd + dd{
    padding-top: 0;
  }
  #point .our_lab dd.main_point{
    font-size: 4.5vw;
    font-weight: 500;
    line-height: 2.4;
    letter-spacing: 0.06rem;
    padding: 8% 4%;
    padding-bottom: 6.5%;
    }
    #point ul:nth-child(3) .our_lab dd.main_point{
      padding-top: 14%;
    }
  #point .our_lab dd.main_point .yellow{
    font-size: 7vw;
    font-weight: 500;
  }
  #point .our_lab dd.detail{
    font-size: 4vw;
    line-height: 1.8;
    text-align: justify;
    letter-spacing: 0;
    word-break: break-all;
  }
  #point .our_lab dd.detail::before{
    content: "●";
    font-size: 0.65rem;
    vertical-align: middle;
    margin-right: 0.18rem;
  }
  
  #point ul:nth-child(1) .our_lab dd.detail::before{ /*////////色丸////////*/
    color: #a2ceda;
    }
    #point ul:nth-child(2) .our_lab dd.detail::before{ /*////////色丸////////*/
      color: #eac366;
    }
    #point ul:nth-child(3) .our_lab dd.detail::before{ /*////////色丸////////*/
      color: #ace1cc;
    }



	/* -------------------------------------------------------------------------------------------
	*
	* story
	*
	* ----------------------------------------------------------------------------------------- */
  
  #story{
    padding: 4rem 0;
	}

	#story h4{
    margin-bottom: 3rem;
	}

	#story h4 span{
    font-size: 5.96vw;
    font-weight: 500;
    line-height: 1.6;
	}
  
  #story .textContainer .text div {
    font-size: 4vw;
    font-weight: 400;
    line-height: 2;
    text-align: justify;
    letter-spacing: 0;
    word-break: break-all;
    color: transparent;
    background-clip: text;
    -webkit-background-clip: text;
    background-image: "linear-gradient(100deg, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.2) 0%)",; 
    margin: 0 0 1.75rem 0;
  }
  
  #story .story_cont_wrap > li {
    background-position: top center;
    background-size: 100% auto;
    background-repeat: no-repeat;
    padding: 0 0 22vw 0;
    margin: 0 0 2.25rem 0;
    position: relative;
    }
    #story .secInner > a:nth-of-type(1) .story_cont_wrap > li {
      background-image: url(../images/story_frame_blue_sp.png);
    }
    #story .secInner > a:nth-of-type(2) .story_cont_wrap > li {
      background-image: url(../images/story_frame_orange_sp.png);
      padding-bottom: 18vw!important;
    }
    #story .secInner > a:nth-of-type(3) .story_cont_wrap > li {
      background-image: url(../images/story_frame_green_sp.png);
    }
  
  #story .story_cont_wrap div.outer {
    padding: 8% 11% 8% 8%;
    position: relative;
  }
  
  #story ul.contents {
    }
  
    #story ul.contents li.story_ttl {
      margin-bottom: 9%;
    }
    #story ul.contents li.story_ttl p {
      font-size: 5.8vw;
      font-weight: 500;
      letter-spacing: 0.16rem;
      text-align: center;
    }
  
  #story ul.contents li.person {
    font-size: 3.8vw;
    letter-spacing: 0.22vw;
    margin: 10% 0 8%;
    text-align: center;
    }
    #story ul.contents li.person div {
      font-weight: 500;
    }
    #story ul.contents li.person .line {
      width: 2px;
      height: 3.4vw;
      display: inline-block;
      margin: 0 0.8rem;
    }
    #story a:nth-of-type(1) > .story_cont_wrap ul.contents li.person .line {
      background: #a2ceda;
    }
    #story a:nth-of-type(2) > .story_cont_wrap ul.contents li.person .line {
      background: #EAC366;
    }
    #story a:nth-of-type(3) > .story_cont_wrap ul.contents li.person .line {
      background: #ACE1CC;
    }
  
  #story ul.contents li.thumb {
    border: 1px solid #ccc;
    }
    #story ul.contents li.thumb img {
      width: 100%;
    }
  
  #story ul.contents li.story_text {
    text-align: justify;
    }
    #story ul.contents li.story_text dt {
      font-size: 4.9vw;
      font-weight: 500;
      line-height: 1.4;
      letter-spacing: 0.3vw;
      margin-bottom: 5vw;
      white-space: nowrap;
    }
    #story ul.contents li.story_text dd {
      font-size: 3.7vw;
      line-height: 1.66;
      letter-spacing: 0;
    }
    #story ul.contents li.story_text dd .yellow {
      /* font-weight: 500; */
      background: linear-gradient(transparent 74%, #e6e46e 74%);
    }
  
  #story .moreBtn{
    width: 6.4rem;
    color: #000;
    font-size: 1.2rem;
    font-weight: 500;
    position: absolute;
    bottom: 0;
    right: 11%;
    cursor: pointer;
    }
    #story .moreBtn::after{
      content: "";
      background: url(../images/arrow.png) no-repeat;
      background-size: 100% auto;
      position: absolute;
      animation: return 2s linear infinite;
    }
    #story .moreBtn::after{
      width: 1.7rem;
      height: 1.15rem;
    }
    @keyframes return {
      0% , 100%{
        right: 6%;
      }
      50%{
        right: 0%;
      }
    }

  #story .btn {
    margin-top: 3rem;
    }
    #story .btn a {
      font-size: 4.2vw;
      letter-spacing: 0.6vw;
      padding-left: 1.6rem;
    }
    #story .btn .icon {
      right: inherit;
      left: 1rem;
      transform: rotate(180deg);
    }
  
}



/* 個別調整部分 */
@media screen and (min-width: 768px) and (max-width: 1199px){
	#mv .inner{
		width: 83.6%;
	}

}

@media screen and (min-width: 768px) and (max-width: 1159px){
	#member .overlay div.outer{
		height: 26.5vw;
	}
	#member .overlay .text{
		font-size: 1.15vw;
	}
}

@media screen and (min-width: 768px) and (max-width: 959px){
	#activities ul li dl dt{
		font-size: 2vw;
	}

	#member ul li{
		width: 48%;
		}
		#member ul li:nth-of-type(n+3){
			margin: 2rem 0 0 0;
		}

	#member .overlay div.outer{
		height: 42.5vw;
	}
	#member .overlay .text{
		font-size: 1.75vw;
		max-height: 29vw;
	}


}