@charset "UTF-8";

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ BASE
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
}

@media screen and (min-width: 830px) {
  body {
    position: relative;
    overflow-x: hidden;
  }
}

img {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/*====================================================================================
BreakPoint
====================================================================================*/
@media screen and (max-width: 830px) {
  .pc {
    display: none !important;
  }
}

@media screen and (min-width: 830px) {
  .sp {
    display: none !important;
  }
}

/*====================================================================================
Font
====================================================================================*/
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
blockquote,
pre,
abbr,
address,
cite,
code,
dt,
dd,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure {
  word-wrap: break-word;
  color: #333;
  font-family: "Roboto", Arial, Droid Sans, Roboto, Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN", Hiragino Kaku Gothic Pro, "ヒラギノ角ゴ Pro", "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ ProN W3", HiraKakuProN-W3, "メイリオ", Meiryo, "游ゴシック体", YuGothic, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.75em;
  list-style-type: none;
}

:root {
  --maninColor: #55BB63;
}

html:root {
  min-height: 100vh;
  background: #2984F5;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.justify-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.justify-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.justify-around {
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.items-start {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.items-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.text-center {
  text-align: center;
}

.flex-col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.gap15 {
  gap: 15px;
}

.gap35 {
  gap: 35px;
}

.text-xs {
  font-size: 12px;
}

.text-10 {
  font-size: 10px;
}

.m-10 {
  margin-top: 10px;
}

.font-bold {
  font-weight: 700;
}

.font-black {
  font-weight: 900;
}

.center {
  margin-right: auto;
  margin-left: auto;
}

.text-red {
  color: #FF0000;
}

.text-mainColor {
  color: #129424;
}

.notice {
  padding: 10px;
  border: 1px solid #f00;
}

.notice,
.notice * {
  color: #f00;
}

@media screen and (max-width: 374px) {
  figure img {
    width: 100%;
    height: auto;
  }
}

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ header
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
#header {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(env(safe-area-inset-top) + 30px) 0 30px;
  background: #2984F5 url("../images/bg_header.png") top center no-repeat;
  background-size: cover;
}

@media screen and (max-width: 374px) {
  #header h1 img {
    width: 280px;
    height: auto;
  }
}

/*▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼
▼ main
▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼△▼*/
#main {
  padding: 30px 15px calc(env(safe-area-inset-bottom) + 30px);
  background: var(--maninColor);
}

#main>*:not(:last-child) {
  margin-bottom: 30px;
}

.card {
  max-width: 500px;
  margin-right: auto;
  margin-left: auto;
  padding: 40px 15px;
  border-radius: 12px;
  background: #fff;
}

.card>*:not(:last-child) {
  margin-bottom: 30px;
}

.card.ver02 {
  padding: 20px 15px;
}

.block>*:not(:last-child) {
  margin-bottom: 10px;
}

.block-underline {
  padding-bottom: 30px;
  border-bottom: 1px solid var(--maninColor);
}

/*====================================================================================
title
====================================================================================*/
.title01 {
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0.15em;
  line-height: 20px;
  text-align: center;
}

.title01 .small {
  display: block;
  margin-top: 7px;
  font-size: 15px;
}

.title02 {
  font-weight: 900;
  letter-spacing: 0.15em;
  text-align: center;
}

.title-underline {
  padding-bottom: 10px;
  border-bottom: 2px solid var(--maninColor);
  font-size: 16px;
  font-weight: 700;
  line-height: 1em;
  text-align: center;
}

.stepText {
  color: #999;
  font-weight: 900;
}

.stepText .color {
  color: var(--maninColor);
}

/*====================================================================================
button
====================================================================================*/
.button01 {
  width: 100%;
}

.button01>* {
  display: block;
  padding: 10px 15px;
  border-radius: 8px;
  background: var(--maninColor);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1em;
  text-align: center;
}

.textLink {
  color: var(--maninColor);
  text-decoration: underline;
}

/*====================================================================================
columnList
====================================================================================*/
.columnList {
  -ms-flex-pack: distribute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-around;
}

.selectDonation {
  background-color: #ffc;
  padding: 8px;
  border-radius: 4px;
  box-shadow: 0 0 8px rgb(0 0 0 / 25%);
}

.columnList-item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  gap: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-direction: column;
  text-align: center;
}

label.columnList-item {
  background-color: #FFF;
  padding: 10px 5px;
  border: 2px solid #ccc;
  border-radius: 6px;
}

label.columnList-item .button01>* {
  color: #55bb63;
  background-color: #FFF;
  box-shadow: 0 0 2px;
}

@media screen and (max-width: 374px) {
  label.columnList-item .font-bold {
    font-size: 13px;
  }
}

@media screen and (max-width: 374px) {
  .button01>* {
    padding: 10px;
    font-size: 12px;
  }
}

input:checked+label.columnList-item {
  -webkit-transition: 0.15s ease-in;
  border: 2px solid var(--maninColor);
  transition: 0.15s ease-in;
}

input:checked+label.columnList-item .button01 {
  opacity: 1;
}

/*====================================================================================
pointArea
====================================================================================*/
.pointArea {
  padding: 20px 0;
  border: 5px solid #55C3E9;
  border-radius: 4px;
}

.pointArea>*:not(:last-child) {
  margin-bottom: 20px;
}

.pointArea .pointArea-title {
  color: #00689D;
  font-weight: 900;
  letter-spacing: 0.15em;
  line-height: 1.25em;
  text-align: center;
}

.pointArea .pointArea-title.big {
  font-size: 20px;
}

.pointArea .pointArea-title .small {
  display: block;
  margin-top: 5px;
  font-size: 12px;
  line-height: 1em;
}

.pointArea .pointArea-text {
  color: #129424;
  font-size: 24px;
  font-weight: 900;
  line-height: 1em;
  text-align: center;
}

.pointArea .pointArea-text .small {
  display: block;
  margin-top: 5px;
  color: #333;
  font-size: 15px;
  letter-spacing: 0.15em;
  line-height: 1em;
}

.pointArea .pointArea-text.big {
  font-size: 30px;
}

/*====================================================================================
image
====================================================================================*/
.thumb {
  display: block;
  width: 100%;
  max-width: 400px;
  margin-right: auto;
  margin-left: auto;
}

/*====================================================================================
寄付リスト02
====================================================================================*/
.donateList02__item {
  -webkit-box-align: center;
  -ms-flex-align: center;
  gap: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid #eee;
  border-radius: 6px;
  background-color: #fbfbfb;
}

.donateList02__item:not(:last-child) {
  margin-bottom: 10px;
}

.donateList02__item>* {
  font-size: 16px;
}

.donateList02__name {
  position: relative;
  width: 7em;
  color: var(--maninColor);
  font-weight: 900;
}

.donateList02__name:after {
  -webkit-transform: translateY(-50%);
  display: block;
  position: absolute;
  top: 50%;
  right: 0px;
  width: 1px;
  height: 35%;
  transform: translateY(-50%);
  background-color: rgba(112, 112, 112, 0.2);
  content: "";
}

.donateList02__money {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  font-weight: 900;
}

.donateList02__button>* {
  -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.15);
  display: block;
  position: relative;
  padding: 7px 10px;
  border-radius: 4px;
  background-color: var(--maninColor);
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.15);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1em;
  text-align: center;
}

@media screen and (max-width: 374px) {
  .donateList02__button>* {
    font-size: 13px;
  }
}

.donateList02__button.disable>* {
  -webkit-box-shadow: none;
  position: relative;
  background-color: #ccc;
  box-shadow: none;
  color: #666;
  font-weight: 500;
}

@media screen and (max-width: 374px) {
  .donateList02__item>* {
    font-size: 13px;
  }
}
