/* slider */
.slider {
  position: relative;
  margin-top: 1.2rem;
}

.slider_nav {
  position: absolute;
  width: 100vw;
  max-width: 1100px;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translate(-50%);
  z-index: 100;
}
.slider_nav .slick-prev,
.slider_nav .slick-next {
  width: 5.2rem;
  height: 5.2rem;
}
.slider_nav .slick-prev {
  left: -3rem;
}
.slider_nav .slick-next {
  right: -3rem;
}

.slider_nav .slick-prev:before, 
.slider_nav .slick-next:before {
  border-radius: 50%;
  font-family: 'slick';
  font-size: 5.2rem;
  background-color: #f8ca61;
}
.slick-prev:before {
  content: "";
  display: block;
  background-image: url(img/arrow_left.svg);
  background-size: 1.42rem 3rem;
  background-position: 46% center;
  background-repeat: no-repeat;
  width: 5.2rem;
  height: 5.2rem;
}
.slick-next:before {
  content: "";
  display: block;
  background-image: url(img/arrow_right.svg);
  background-size: 1.42rem 3rem;
  background-position: 54% center;
  background-repeat: no-repeat;
  width: 5.2rem;
  height: 5.2rem;
}

.slider .slick-slide {
  width: 90vw;
  max-width: 1100px;
  margin: 0 10px;
  height: auto;
}
.slider .slick-slide img {
  border-radius: 2rem;
}

.slider .slick-list::after {
  content: "";
  width: 510px;
  height: 55px;
  background-image: url(img/slider_screen.png);
  background-repeat: no-repeat;
  display: block;
  position: absolute;
  transform: translate(-50%);
  bottom: -1px;
  left: 50%;
}


.slider .slick-dots li button:before {
  content: '';
  width: 14px;
  height: 14px;
  background-color: #DEDDDD;
  border-radius: 50%;
  opacity: 1;
}

.slider .slick-dots li.slick-active button:before {
  background-color: #FD8968;
}

.slider .slick-dots li button {
  width: 14px;
  height: 14px;
  padding: 0;
}
.slider .slick-dots {
  bottom: -14px;
}
.slider .slick-dots li {
  width: 14px;
  height: 14px;
  margin: 0 7px;
}
@media screen and (min-width: 600px) and (max-width: 1200px){
  .slider_nav {
    width: 90vw;
    max-width: 100%;
  }
}
@media screen and (max-width: 599px){
  .slider_nav .slick-prev,
  .slider_nav .slick-next {
    width: 3.2rem;
    height: 3.2rem;
  }
  .slider_nav .slick-prev:before,
  .slider_nav .slick-next:before {
    background-size: 0.9rem auto;
    width: 3.2rem;
    height: 3.2rem;
  }
  .slider_nav .slick-prev {
    left: 1rem;
  }
  .slider_nav .slick-next {
    right: 1rem;
  }
  .slider .slick-slide {
    width: 100vw;
    margin: 0;
  }
  .slider .slick-slide img {
    border-radius: 0;
  }
  .slider .slick-list::after {
    width: 200px;
    height: 31px;
    background-image: url(img/slider_screen_sp.png);
  }
  .slider .slick-dots li 
  .slider .slick-dots li button,
  .slider .slick-dots li button:before {
    width: 0.94rem;
    height: 0.94rem;
  }
  .slider .slick-dots {
    bottom: 0;
  }
  .slider .slick-dots li {
    margin: 0 0.47rem;
  }
}


/* concept */
.concept {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  margin-top: 5.3rem;
}
.concept p{
  display: block;
  max-width: 48rem;
  font-size: 3.2rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: bold;
  letter-spacing: 0.07em;
  line-height: 1.875;
}

.concept img:first-of-type{
  width: 21.2rem;
  margin-right: 6.1rem;
}
.concept img:nth-of-type(2){
  width: 9.2rem;
  margin-left: 3rem;
}
.concept::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: -15rem;
  background-image: url(img/img_tree1.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 54rem;
  height: 13.4rem;
  z-index: -5;
}
.concept::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  right: -20rem;
  background-image: url(img/img_tree2.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 63.1rem;
  height: 12.4rem;
  z-index: -5;
}
@media screen and  (min-width: 1921px) {
  .concept::before {
    transform: translateX(0rem);
    left: -5rem;
  }
  .concept::after {
    transform: translateX(0rem);
    right: -5rem;
  }
}
@media screen and  (min-width: 1440px) and (max-width: 1650px) {
  .concept::before {
    transform: translateX(-10rem);
  }
  .concept::after {
    transform: translateX(10rem);
  }
}
@media screen and (max-width: 1439px) {
  .concept::before {
    transform: translateX(-15rem);
  }
  .concept::after {
    transform: translateX(22rem);
  }
}
@media screen and (max-width: 599px) {
  .concept {
    flex-direction: column-reverse;
    align-items: flex-end;
    margin-top: 2.5rem;
  }
  .concept p{
    position: absolute;
    top: 1%;
    left: 14.3%;
    font-size: 1.6rem;
  }
  .concept img:first-of-type{
    width: 14rem;
    margin-right: 8.1%;
  }
  .concept img:nth-of-type(2){
    width: 4.95rem;
    margin-right: 10.1%;
  }
  .concept::before {
    transform: translateX(-2rem);
    bottom: 0;
    left: 0px;
    width: 100%;
    height: 6rem;
  }
  .concept::after {
    transform: translateX(30rem);
    bottom: 0;
    right: 0;
    width: 100%;
    height: 6rem;
  }
}



/* contents */
.content_wrap {
  margin: 14.28rem auto 0;
}
.content_wrap section {
  margin-top: 0;
}
.side_menu {
  margin: 0 1rem 0;
}
.side_menu_list {
  margin-top: 0;
}

.contents {
  max-width: 867px;
}
.menu.col2{
  justify-content: center;
}

.square {
  width: 48.3%;
  border-radius: 1rem;
}
#support.square { 
  background-color: #ECF7DF; 
}
#topics.square { 
  background-color: #FFEFC4; 
  margin-left: 1%;
}
.square_content { 
  padding: 0 1.8rem;
}
.square h2{
  position: relative;
  border-radius: 1rem 1rem 0 0;
  font-size: 3rem;
  line-height: 1.4;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: bold;
  letter-spacing: 0.07em;
  text-align: center;
}

#support.square h2 {
  padding: 2.2rem 0 1.6rem;  
  background-color: #CBED95;
}
#support.square h2::before{
  content: "";
  display: block;
  position: absolute;
  bottom: 1.26rem;
  left: 4.2rem;
  background-image: url(img/img_003.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 4.2rem;
  height: 5.2rem;
}
#support.square h2::after{
  content: "";
  display: block;
  position: absolute;
  bottom: 1.4rem;
  right: 3rem;
  background-image: url(img/img_004.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 6.3rem;
  height: 4.96rem;
}


#topics.square h2 {
  font-size: 3.4rem;
  padding: 1.8rem 0 1.4rem;  
  background-color: #FEC786;
}
#topics.square h2::before{
  content: "";
  display: block;
  position: absolute;
  bottom: 1.07rem;
  left: 2.7rem;
  background-image: url(img/img_005.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 8.25rem;
  height: 5.46rem;
}
#topics.square h2::after{
  content: "";
  display: block;
  position: absolute;
  bottom: 1.08rem;
  right: 4.49rem;
  background-image: url(img/img_006.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 5.1rem;
  height: 5.8rem;
}

.square h3 {
  margin-top: 2.1rem;
  margin-bottom: 1.8rem;
  font-size: 2.1rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: bold;
  letter-spacing: 0.07em;
  line-height: 1.42;
  text-align: center;
}

#support .col2 {
  justify-content: space-between;
  margin-bottom: 2.7rem;
}
#support .col2 img {
  width: 46%;
  border-radius: 1rem;
}
#support .col2 p {
  width: 47.9%;
  font-size: 1.5rem;
  letter-spacing: -0.02em;
  line-height: 1.66;
}

.container {
  height: 100%;
  margin: 1.6rem 0 1.7rem;
  padding: 1.5rem 1rem 2.2rem 2rem;
  box-sizing: border-box;
  max-height: 23.4rem;
  overflow-y: scroll;
  scrollbar-color: #cfcfcf rgba(0, 0, 0, 0);
  scrollbar-width: thin;
  background-color: #FFF;
  border-radius: 1rem;
}
#topics .article {
  padding: 1.73rem 0 1.97rem;
  border-top: 0.2rem solid #FFA336;
  font-size: 1.5rem;
}
#topics .article:first-child {
  padding-top: 0;
  border: none;
}
#topics .article:last-child {
  padding-bottom: 0;
}
#topics .article dt {
  margin-bottom: 0.7rem;
  font-size: 1.8rem;
}
#topics .article dt span {
  display: inline-block;
  padding: 0.3rem 1.1rem 0.4rem 1.3rem;
  font-size: 1.5rem;
  font-weight: bold;
  color: #FFF;
  background-color: #F893A1;
  border-radius: 1.5rem;
}
#topics .article dd {
  letter-spacing: 0.07em;
  line-height: 1.5;
}



.menu_link_button {
  text-align: center;
}
.menu_link_button a{
  display: inline-block;
  position: relative;
  border-radius: 3rem;
  font-size: 1.6rem;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: bold;
  letter-spacing: 0.07em;
  line-height: 1.4;
  text-align: center;
}

#support.square .menu_link_button {
  margin-bottom: 2.3rem;
}
#support.square .menu_link_button a{ 
  padding: 1.3rem 4.6rem 1.4rem;
  background-color: #CBED95;
}
#support.square .menu_link_button a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 1.8rem;
  transform: translateY(-50%);
  background-image: url(img/support_caret.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 1.8rem;
  height: 1.8rem;
}
#support.square .menu_link_button a:hover{ 
  color: #91CF04;
  background-color: #FFF;
}
#support.square .menu_link_button a:hover::after {
  background-image: url(img/support_caret_hover.png);
}


#topics.square .menu_link_button {
  margin-bottom: 2.5rem;
}
#topics.square .menu_link_button a{
  padding: 1.4rem 7.6rem 1.3rem;
  background-color: #FEC786;
}
#topics.square .menu_link_button a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 1.8rem;
  transform: translateY(-50%);
  background-image: url(img/topics_caret.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 1.8rem;
  height: 1.8rem;
}
#topics.square .menu_link_button a:hover{
  color: #EDB572;
  background-color: #FFF;
}
#topics.square .menu_link_button a:hover::after {
  background-image: url(img/topics_caret_hover.png);
}

.circle {
  margin: 6.2rem 3% 0;
  width: 42.3%;
}
.circle a {
  display: block;
}

@media screen and (min-width: 1200px){
  #topics.square { 
    margin-left: 2.9rem;
  }
}
@media screen and (max-width: 599px){
  .content_wrap {
    margin: 3.35rem auto 0;
    padding-top: 0;
  }
  .content_wrap section {
    margin-top: 0;
    padding-top: 0;
}
  .menu.col2{
    flex-direction: column;
  }
  
  .square {
    width: 100%;
  }
  #topics.square { 
    margin-left: 0;
    margin-top: 2.37rem;
  }
  .square_content { 
    padding: 0 1.4rem;
  }
 

  #support.square h2 {
    padding: 1.1rem 0 1rem;
    font-size: 2rem;
  }
  #support.square h2::before{
    bottom: 0;
    left: 3.13rem;
    width: 3.38rem;
    height: 4.25rem;
  }
  #support.square h2::after{
    bottom: 0.38rem;
    right: 2.34rem;
    width: 5.1rem;
    height: 4rem;
  }
  .square h3 {
    margin-top: 1.52rem;
    margin-bottom: 1.36rem;
    font-size: 1.6rem;
  }
  #support .col2 {
    align-items: flex-start;
    margin-bottom: 1.58rem;
  }
  #support .col2 img {
    width: 48%;
  }
  #support .col2 p {
    width: 48%;
    font-size: 1.4rem;
  }
  #support.square .menu_link_button a{ 
    padding: 1.3rem 3.7rem 1.65rem 2.13rem;
  }
  #support.square .menu_link_button a::after {
    right: 1.3rem;
    width: 1.45rem;
    height: 1.45rem;
  }


  #topics.square h2{
    padding: 1.18rem 0.98rem;
    font-size: 2rem;
  }
  #topics.square h2::before{
    bottom: 0;
    left: 1.9rem;
    width: 6.66rem;
    height: 4.4rem;
  }
  #topics.square h2::after{
    bottom: 0;
    right: 3.5rem;
    width: 4.1rem;
    height: 4.7rem;
  }
  .container {
    padding: 1.42rem 1.55rem 1.88rem 1.62rem;
    max-height: 20rem;
  }
  #topics .article {
    padding: 1.3rem 0 1.6rem;
    font-size: 1.4rem;
  }
  #topics .article dt {
    margin-bottom: 0.7rem;
    font-size: 1.4rem;
  }
  #topics .article dt span {
    padding: 0.3rem 1.22rem 0.4rem 1.16rem;
    font-size: 1.1rem;;
    border-radius: 1.5rem;
    line-height: 1;
  }

  #topics.square .menu_link_button a{
    padding: 1.36rem 6.14rem 1.6rem 5rem;
  }
  #topics.square .menu_link_button a::after {
    right: 1.45rem;
    width: 1.45rem;
    height: 1.45rem;
  }

  .circle {
    margin: 6.2rem auto 0;
    width: 86.5%;
  }

}
@media (hover: none) {
  /* タッチデバイスの場合に適用するスタイル */
  .circle a img{
    pointer-events: none;
  }
}