@charset "UTF-8";

@media screen and (min-width : 768px){

	/* -------------------------------------------------------------------------------------------
	*
	* common
	*
	* ----------------------------------------------------------------------------------------- */

  main .pc{
    display: block!important;
  }
  main .sp{
    display: none!important;
  }
  
	main{
		position: relative;
	}

  section .inner {
		width: 88vw;
    max-width: 920px;
    margin: 0 auto;
  }



	/* -------------------------------------------------------------------------------------------
	*
	* MV
	*
	* ----------------------------------------------------------------------------------------- */

	#mv{
		position: relative;
    margin-bottom: 5rem
	}
  
  #mv .story_ttl{
    background-color: #A2CEDA;
    padding: 1.4rem 0 1.2rem;
    color: #fff;
    text-align: center;
    font-size: 1.6rem;
  }
  
  #mv .person{
    font-size: clamp(10px, 1.6vw, 1.15rem);
    letter-spacing: 0.17rem;
    margin: 3rem 0 1.5rem;
    font-weight: 500;
    text-align: center;
    }
    #mv .person > div{
      font-weight: 500;
    }
    #mv .person .line{
      background: #a2ceda;
      width: 2px;
      height: clamp(10px, 1.3vw ,1rem);
      display: inline-block;
      margin: 0 0.8rem;
    }
  
  #mv h1{
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.28rem;
    text-align: center;
    margin-bottom: 4rem;
  }
  
  #mv .container{
		width: 88vw;
    max-width: 920px;
    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;
    }
    #mv.appear .container .obj{
      opacity: 1;
      transform : translate(0, 0);
    }
    #mv.appear .container .obj img{
      width: 100%;
    }



	/* -------------------------------------------------------------------------------------------
	*
	* contents
	*
	* ----------------------------------------------------------------------------------------- */

	#contents{
		padding: 0 0 7rem 0;
	}

	#contents h2{
    font-size: clamp(10px, 4.4vw, 2rem);
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.3rem;
    margin-bottom: 6rem;
    padding-left: 3rem;
    position: relative;
    }
    #contents h2::before{
      content: '';
      position: absolute;
      top: 0.4rem;
      left: 0;
      background: no-repeat;
      background-image: url(../images/mark_before.svg);
      width: 1.8rem;
      height: 4.5rem;
    }
    #contents h2::after{
      content: '';
      position: absolute;
      bottom: -1.2rem;
      background: no-repeat;
      background-image: url(../images/mark_after.svg);
      width: 1.8rem;
      height: 4.5rem;
      margin-left: 0.75vw;
      }

	#contents h3{
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.6;
    padding-left: 2rem;
    margin-bottom: 1.5rem;
    }
    #contents h3::before{
      content: '';
      width: 19px;
      height: 3px;
      background-color: #a2ceda;
      position: absolute;
      left: 0;
      margin-top: 1rem;
    }
  
  #contents div > p + p {
    margin-bottom: 6rem;
  }

  #contents .textContainer .text div {
    font-size: 1.05rem;
    font-weight: 400;
    line-height: 2.4;
    word-break: break-all;
    line-break: strict;
    letter-spacing: 0.04rem;
    text-align: justify;
  }



	/* -------------------------------------------------------------------------------------------
	*
	* another
	*
	* ----------------------------------------------------------------------------------------- */

	#another{
		padding: 0 0 7rem;
	}

	#another div.inner > p{
    font-size: 1.8rem;
    text-align: center;
    letter-spacing: 0.2rem;
    margin-bottom: 5rem;
	}
  
  #another .story_cont_wrap {
      display: flex;
      justify-content: space-between;
      margin: 0 0 7rem 0;
    }
    #another .story_cont_wrap > a {
      width: 47%;
      background-position: top center;
      background-size: 100% auto;
      background-repeat: no-repeat;
      padding: 0 0 12.4% 0;
      position: relative;
    }
    #another .story_cont_wrap > a:nth-of-type(1) {
      background-image: url(../images/ant_story_frame_orange.png);
    }
    #another .story_cont_wrap > a:nth-of-type(2) {
      background-image: url(../images/ant_story_frame_green.png);
    }
  
  #another .story_cont_wrap div.outer {
    padding: 8% 15% 0 10%;
    position: relative;
  }
  
  #another ul.contents {
    }
  
    #another ul.contents li.story_ttl {
      margin-bottom: 9%;
    }
    #another ul.contents li.story_ttl p {
      font-size: clamp(10px, 1.88vw, 1.4rem);
      font-weight: 500;
      letter-spacing: 0.16rem;
      text-align: center;
    }
  
  #another ul.contents li.person {
    font-size: clamp(12px, 1.2vw, 0.86rem);
    letter-spacing: 0.08vw;
    margin: 1.5rem 0 1.0rem;
    text-align: center;
    }
    #another ul.contents li.person div {
      font-weight: 500;
    }
    #another ul.contents li.person .line {
      width: 2px;
      height: 0.60rem;
      display: inline-block;
      margin: 0 0.8rem;
    }
    #another .story_cont_wrap > a:nth-of-type(1) > ul > li ul.contents li.person .line {
      background: #EAC366;
    }
    #another .story_cont_wrap > a:nth-of-type(2) > ul > li ul.contents li.person .line {
      background: #ACE1CC;
    }
  
  #another ul.contents li.thumb {
    border: 1px solid #ccc;
    }
    #another ul.contents li.thumb img {
      width: 100%;
    }
  
  #another ul.contents li.story_text {
    text-align: justify;
    }
    #another ul.contents li.story_text dt {
      font-size: clamp(13px, 1.38vw, 1.15rem);
      font-weight: 500;
      line-height: 1.6;
      letter-spacing: 0.2rem;
      text-align: center;
      white-space: normal;
    }
    #another ul.contents li.story_text dd {
      font-size: 3.7vw;
      line-height: 1.66;
      letter-spacing: 0;
    }
  
  #another .moreBtn{
    width: 7.4rem;
    color: #000;
    font-size: 1.2rem;
    font-weight: 500;
    position: absolute;
    bottom: -10.5%;
    left: 52%;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
    }
    #another .moreBtn::after{
      content: "";
      background: url(../../concept/images/arrow.png) no-repeat;
      background-size: 100% auto;
      position: absolute;
      animation: return 1.5s linear infinite;
    }
    #another .moreBtn::after{
      width: 1.7rem;
      height: 1.15rem;
    }
    @keyframes return {
      0% , 100%{
        left: 57%;
      }
      50%{
        left: 64%;
      }
    }

  #another .btn a {
    letter-spacing: 0.2rem;
    padding-left: 1.6rem;
    }
    #another .btn + .btn {
      margin-top: 2rem;
    }
    #another .btn span {
      font-size: 1.05rem;
      letter-spacing: 0.1rem;
    }
    #another .btn .icon {
      right: inherit;
      left: 1.6rem;
      transform: rotate(180deg);
    }



}@media screen and (max-width : 767px){


	/* -------------------------------------------------------------------------------------------
	*
	* common
	*
	* ----------------------------------------------------------------------------------------- */  

  main .pc{
    display: none!important;
  }
  main .sp{
    display: block!important;
  }

	main{
		position: relative;
	}



	/* -------------------------------------------------------------------------------------------
	*
	* MV
	*
	* ----------------------------------------------------------------------------------------- */

	#mv{
		position: relative;
    margin-bottom: 4rem;
	}
  
  #mv .story_ttl{
    background-color: #A2CEDA;
    padding: 1.2rem;
    color: #fff;
    text-align: center;
    font-size: 1.2rem;
  }
  
  #mv .person{
    font-size: 4.3vw;
    letter-spacing: 0.22vw;
    margin: 8% 0 5%;
    text-align: center;
    }
    #mv .person > div{
      font-weight: 500;
    }
    #mv .person .line{
      background: #a2ceda;
      width: 2px;
      height: 3.2vw;
      display: inline-block;
      margin: 0 0.8rem;
    }
  
  #mv h1{
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.28rem;
    text-align: center;
    margin-bottom: 2rem;
  }
  
  #mv .container{
		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;
    }
    #mv.appear .container .obj{
      opacity: 1;
      transform : translate(0, 0);
    }
    #mv.appear .container .obj img{
      width: 100%;
    }



	/* -------------------------------------------------------------------------------------------
	*
	* contents
	*
	* ----------------------------------------------------------------------------------------- */

	#contents{
		padding: 0 0 4rem 0;
	}

	#contents h2{
    font-size: 7vw;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.3rem;
    margin-bottom: 3.4rem;
    padding-left: 2.0rem;
    position: relative;
    }
    #contents h2::before{
      content: '';
      position: absolute;
      top: 3vw;
      left: 0;
      background: no-repeat;
      background-image: url(../images/mark_before.svg);
      width: 6vw;
      height: 13vw;
    }
    #contents h2::after{
      content: '';
      position: absolute;
      bottom: -3vw;
      background: no-repeat;
      background-image: url(../images/mark_after.svg);
      width: 6vw;
      height: 13vw;
      margin-left: 0.5vw;
    }

	#contents h3{
    font-size: 5.4vw;
    font-weight: 700;
    line-height: 1.6;
    padding-left: 2rem;
    margin-bottom: 1.5rem;
    }
    #contents h3::before{
      content: '';
      width: 19px;
      height: 3px;
      background-color: #a2ceda;
      position: absolute;
      left: 0;
      margin-top: 1rem;
    }
  
  #contents div > p + p {
    margin-bottom: 6rem;
  }

  #contents .textContainer .text div {
    font-size: 1rem;
    font-weight: 400;
    line-height: 2.2;
    word-break: break-all;
    line-break: strict;
    letter-spacing: 0.044rem;
    text-align: justify;
  }



	/* -------------------------------------------------------------------------------------------
	*
	* another
	*
	* ----------------------------------------------------------------------------------------- */

	#another{
		padding: 0 0 4rem;
	}

	#another div.inner > p{
    font-size: 2rem;
    text-align: center;
    line-height: 1.3;
    letter-spacing: 0.2rem;
    margin-bottom: 3rem;
	}
  
  #another .story_cont_wrap {
    padding: 0 0 4rem;
    }
    #another .story_cont_wrap > a > ul {
      background-position: top center;
      background-size: 100% auto;
      background-repeat: no-repeat;
      padding: 0 0 25% 0;
      margin: 0 0 2rem 0;
      position: relative;
    }
    #another .story_cont_wrap > a:nth-of-type(1) > ul {
      background-image: url(../images/ant_story_frame_orange.png);
    }
    #another .story_cont_wrap > a:nth-of-type(2) > ul {
      background-image: url(../images/ant_story_frame_green.png);
      margin-bottom: 0;
    }
  
  #another .story_cont_wrap div.outer {
    padding: 7% 14% 0 9%;
    position: relative;
  }
  
  #another ul.contents {
    }
  
    #another ul.contents li.story_ttl {
      margin-bottom: 7%;
    }
    #another ul.contents li.story_ttl p {
      font-size: 1.2rem;
      font-weight: 500;
      letter-spacing: 0.16rem;
      text-align: center;
    }
  
  #another ul.contents li.person {
    font-size: 3.5vw;
    letter-spacing: 0.08vw;
    margin: 5vw 0 3.2vw;
    text-align: center;
    }
    #another ul.contents li.person div {
      font-weight: 500;
    }
    #another ul.contents li.person .line {
      width: 2px;
      height: 2.9vw;
      display: inline-block;
      margin: 0 0.8rem;
    }
    #another .story_cont_wrap > a:nth-of-type(1) > ul > li ul.contents li.person .line {
      background: #EAC366;
    }
    #another .story_cont_wrap > a:nth-of-type(2) > ul > li ul.contents li.person .line {
      background: #ACE1CC;
    }
  
  #another ul.contents li.thumb {
      border: 1px solid #ccc;
    }
    #another ul.contents li.thumb img {
      width: 100%;
    }
  
  #another ul.contents li.story_text {
    text-align: justify;
    }
    #another ul.contents li.story_text dt {
      font-size: 4.5vw;
      font-weight: 500;
      line-height: 1.6;
      letter-spacing: 0.3vw;
      text-align: center;
      white-space: nowrap;
    }
    #another ul.contents li.story_text dd {
      font-size: 3.7vw;
      line-height: 1.66;
      letter-spacing: 0;
    }
  
  #another .moreBtn{
    width: 6.4rem;
    color: #000;
    font-size: 1.2rem;
    font-weight: 500;
    position: absolute;
    bottom: -12%;
    left: 50%;
    transform: translateX(-50%);
    -webkit- transform: translateX(-50%);
    }
    #another .moreBtn::after{
      content: "";
      background: url(../../concept/images/arrow.png) no-repeat;
      background-size: 100% auto;
      position: absolute;
      animation: return 2s linear infinite;
    }
    #another .moreBtn::after{
      width: 1.7rem;
      height: 1.15rem;
    }
    @keyframes return {
      0% , 100%{
        left: 68%;
      }
      50%{
        left: 74%;
      }
    }

  #another .btn a {
    font-size: 4.2vw;
    letter-spacing: 0.6vw;
    padding-left: 1.6rem;
    }
    #another .btn + .btn {
      margin-top: 2rem;
    }
    #another .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;
	}


}