/*---------------------------------------
    基本設定             
-----------------------------------------*/
html {
    box-sizing: border-box;
}

body {
		background: #ffffff;
    font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 500;
}

h1, h2 {
    font-weight: bold;
    margin: 0;
}

a {
  text-decoration: none !important;
  outline: none;
}

img.full{
  vertical-align: top;
  width: 100%;
}

picture.full img{
  vertical-align: top;
  width: 100%;
}

div.youtube {
  text-align: center;
}
.yt {
  width: 85%;
  aspect-ratio: 16/9;
}
@media (min-width: 960px) {
  .yt {
    width: 50%;
  }
}

@media (min-width: 960px) {
  .notice {
    font-size: 11px;
  }
}

/*---------------------------------------
    スワイプLP基本設定             
-----------------------------------------*/


/* スライダー全体 */
.vertical-slider {
  width: 100%;
  height: 100vh;
/*  height: calc(var(--vh, 1vh) * 100);*/
}

/* スライド */
.vertical-slider__slide {
  height: 100%;
  width: 100%;
}

/*スライド内コンテンツ部分*/
.inner {
  padding-left: calc(var(--px));
  padding-right: calc(var(--px));
  padding-top: calc(var(--py));
}

/* 横スライダー全体 */
.approach-slider {
  width: 100%;
}


/*---------------------------------------
   各スライド
-----------------------------------------*/



/*信頼性*/
#organization01,#organization02,#organization03 {
  background-color: #f0f8d6;
}

/*ストーリー*/
#story-intro,#story01, #story02, #story03 {
  background-color: #E6DEC7;
}
/*困難*/
#difficulty {
  background-color: #2f2f4e;
}
ul#slick-difficulty {
  padding-left: 30px;
  padding-right: 30px;
  margin-top: 0;
}

#slick-difficulty li img {
  width: 100%;
}


/*アプローチ*/
#approach {
  background-color:white;
}

ul#slick-approach  {
  padding-left: 20px;
  padding-right: 20px;
  margin-top: 0;
}

#slick-approach li img {
  width: 100%;
}

/*支援具体例*/
/*
#example {
  background-color: #E6F0C7;
}*/

/*アフター*/
#after {
  background-color:#FFFAD8;
}

/*ボイス*/
#reward01, #reward02, #reward03 {
  background-color:#fffbdf;
}
.lyt {
  width: 70%;
  margin: 0 auto;
}

.sample_caption {
  text-align: center; 
  margin: 20px 0 10px 0; 
  font-size: 14px;
}

@media (min-width: 768px){
  .lyt {
    height: 230px;
    aspect-ratio: 16/9;
    margin: 0 auto;
    width: auto;
  }
  .sample_caption {
    margin: 0px 0 5px 0; 
  }
}

/*口コミ*/
#supporter {
  background-color:#FFFFFF;
}

/*ダラーハンドラー*/
#dollar {
  background-color:#FDFAE6;
}

/*寄付金控除*/
#deduct,#deduct01,#deduct02 {
  background-color:#E6F0C7;
}

/*よくある質問*/
#faq {
  background-color:#fffde6;
}

#faq .inner {
  margin: 0 auto;
  font-size: 16px;
  padding-top: 25px;
  padding-left: calc(var(--px) + 10px );
  padding-right: calc(var(--px) + 10px );

}

#faq h2 {
  font-size: 30px;
  text-align: center;
  margin-bottom: 2px;
}

#faq summary {
  /* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
  display: block;
  /* Safariで表示されるデフォルトの三角形アイコンを非表示にします */
  &::-webkit-details-marker {
    display: none;
  }
  margin-top: 10px;
  border-radius: 3px;
}

.summary_inner {
  cursor: pointer;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
  border: none;
  font-weight: bold;
  background-color: #007A45;
  color: white;
}

.icon {
  display: block;
  position: relative;
  width: 18px;
  margin-left: 6px;
  flex-shrink: 0;
  transform-origin: center 43%;
  transition: transform 0.4s;

  /* アイコンのバーのスタイル */
  &::before,
  &::after {
    content: "";
    position: absolute;
    display: block;
    width: 12px;
    height: 3px;
    background-color: white;
  }
  &::before {
    left: 0;
    transform: rotate(45deg);
  }
  &::after {
    right: 0;
    transform: rotate(-45deg);
  }
}

/*details[open] .icon {*/
/*  transform: rotate(180deg);*/
/*}*/

/* is-openedクラスが付与されたときのスタイル */
details.is-opened .icon {
  transform: rotate(180deg);
}

/* --------アコーディオンの中身のスタイル-------- */
.content {
  overflow: hidden;
  background-color: none;
  /* details直下のタグにpaddingを設定すると挙動がおかしくなるので、ここには指定しない */
}

.content_inner {
  padding: 10px 15px 10px 15px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}



/*---------------------------------------
   フッター 団体住所など          
-----------------------------------------*/
#footer_wrapper {
  margin-top: 20px;
  display: flex;
  justify-content:center;
}
#footer_left {
  width: 130px;
}

#footer_right p{
  text-align: justify;
  font-size: 10px;
  margin-top: 0;
}


/* トップへ戻る */
/*
.go-top {
  background-color: #007A45;
  bottom: 1em;
  right: 1em;
  color: #ffffff;
  font-size: 32px;
  display: none;
  position: fixed;
  text-decoration: none;
  width: 60px;
  height: 60px;
  border-radius: 30px;
  line-height: 60px;
  text-align: center;
  transition: all 0.4s ease-in-out;
}

.go-top:hover {
    background: #84bd00;
    color: #ffffff;
}
*/


/*---------------------------------------
   CTA              
-----------------------------------------*/
.cta {
  font-size: 16px;
  font-weight:bold;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 0.5rem 2.5rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  border-radius: 32px;
  color: #fff;
  background-color: #ff9b00;
  border-bottom: 5px solid #b46e03;
}

.cta:hover {
  color: #fff;
  background: #fab651;
  border-bottom: 5px solid #d49029;
}

/*右端の矢印*/
a.cta:after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 22px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg);
  box-sizing: border-box;
}

@media (min-width: 960px) {
  .cta {
    font-size:1rem;
  }  
}


/**************************
        フッター 固定CTA
***************************/

#footer_fixarea {
  display: block;
  width: 100%;
  position: fixed;
  left: 0;
  background: rgba(0,122,69, 0.9);
  color:#ffffff;
  z-index: 10;
  bottom: -150px;
  transition-duration: 0.5s;
  box-sizing:border-box;
  padding:10px 0;
  text-align:center;
  box-shadow: 0 -3px 5px #525252;
}
  
#footer_fixarea p {
  font-weight:bold;
  margin-bottom:5px;
  margin-top: 0;
  color: white;
  font-size: 12px;
}
#footer_fixarea.show {
  bottom: 0px;
  transition-duration: 0.5s;  
}
  
@media (min-width: 960px) {
  #footer_fixarea{
    padding: 5px 0 15px 0;
  }
  #footer_fixarea p{
    margin: 5px 0 5px 0;
    font-size: 2vh;
  }  
  #footer_fixarea .cta{
    font-size: 2.5vh;
  }
}


  
/*---------------------------------------
   Slick関係        
-----------------------------------------*/
.slick-prev:before, .slick-next:before {color: #007A46!important; font-size:30px!important;}
.slick-prev {left:10px; top:40%; z-index: 1;}
.slick-next {right: 20px; top:40%; z-index: 1;}
.slick-arrow { z-index:2!important;}
.slick-track {display: flex; }
.slick-slide {height: auto !important;}
.slick-dots li button:before{	font-size:10px!important;}
