@charset "UTF-8";

/*----------------------------------------------------
  Common
----------------------------------------------------*/
.lower {
  padding: 130px 0 50px;
}

.lower__inner {
  padding: 0 20px;
}

.lower__inner.--break {
  padding: 0;
}

@media only screen and (min-width: 671px) {

  .lower {
    padding: 200px 0 84px;
  }

  .lower__inner {
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
    padding: 0 30px;
  }

}

@media only screen and (min-width: 1000px) {


}


/*----------------------------------------------------
  Pages
----------------------------------------------------*/

/* ボランティアスタッフ募集
---------------------------------------------------- */
.volunteers {
  background-image: url(../images/pages/volunteers/volunteers_bg_01_sp.png);
  background-repeat: repeat-y;
  background-position: center;
  background-size: 100% auto;
}

.volunteersBlock {
  position: relative;
  background-color: #fff;
  margin: 3px;
  padding: 80px 40px 30px;
  outline: 1px solid #000;
  outline-offset: -4px;
  box-shadow: 0 0 0 3px #000;
}

.volunteers__title {
  position: relative;
  z-index: 1;
  margin-top: -122px;
}

.volunteers__notes {
  margin-top: 20px;
  font-size: 16px;
  font-weight: 700;
  color: #aa1f24;
  line-height: 1.2;
  text-align: center;
}

.volunteersRequire {
  margin-top: 20px;
}

.volunteersRequire__box {
  margin-top: 30px;
  border: 2px solid #aa1f24;
}

.volunteersRequire__box:first-child {
  margin-top: 0;
}

.volunteersRequire__title {
  background-color: #aa1f24;
  padding: 13px 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  color: #fff;
}

.volunteersRequire__table {
  display: block;
  width: fit-content;
  padding: 5px 22px 6px;
  margin: 0 auto;

}

.volunteersRequire__table tr {
  border-bottom: 1px solid #aa1f24;
}

.volunteersRequire__table tr:last-child {
  border-bottom: none;
}

.volunteersRequire__table th,
.volunteersRequire__table td {
  display: block;
  font-size: 13px;
}

.volunteersRequire__table td .--small{
  font-size: 11px;
}

.volunteersRequire__table th {
  padding-top: 20px;
  font-weight: 700;
  line-height: 1;
  text-align: left;
  color: #aa1f24;
}

.volunteersRequire__table td {
  width: 100%;
  margin-top: 8px;
  padding-bottom: 14px;
  line-height: 1.6;
}

.volunteersRequire__table .--padding{
  display: inline-block;
  margin-top: 8px;
}

.volunteersOther {
  margin-top: 30px;
}

.volunteersOther__day{
  margin-top: 20px;
  margin-left: 10px;
  color: #aa1f24;
  font-weight: 700;
  font-size: 18px;
  line-height: 0.5;
}

.volunteersOther__box {
  margin-top: 16px;
}

.volunteersOther__box:first-child {
  margin-top: 0;
}

.volunteersOther__title {
  display: inline-block;
  background-color: #aa1f24;
  padding: 8px 17px 6px;
  outline: 1px solid #fff;
  outline-offset: -3px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
}

.volunteersOther__text,
.volunteersOther__item,
.volunteersOther__numItem,
.volunteersOther__limit {
  font-size: 14px;
  line-height: 1.6;
}

.volunteersOther__text {
  margin-top: 10px;
}

.volunteersOther__list {
  margin-top: 10px;
}

.volunteersOther__item,
.volunteersOther__numItem {
  position: relative;
}

.volunteersOther__item {
  padding-left: 8px;
  letter-spacing: 0px;
}

.volunteersOther__item::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  width: 3px;
  height: 3px;
  background-color: #000;
  border-radius: 10em;
}

.volunteersOther__numList {
  margin-top: 6px;
}

.volunteersOther__limit {
  margin-top: 6px;
}

.volunteersButton{
  width: 100%;
  max-width: 550px;
  height: 65px;
  margin: 0 auto;
  margin-top: 20px;
}

.volunteersButton  a{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width:100%;
  height: 100%;
  background-image: linear-gradient(45deg, rgba(141, 31, 35, 1), rgba(184, 63, 33, 1) 50%, rgba(141, 31, 35, 1));
  border-radius: 100px;
  font-size: 14px;
  font-weight: 700;
  color: #FFF;
  text-align: center;
  line-height: 20px;
}

.volunteersButton  a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-48%);
  width: 20px;
  height: 18px;
  background-image: url(../images/common/arow-wh.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

@media only screen and (min-width: 671px) {

  .volunteers {
    background-image: url(../images/pages/volunteers/volunteers_bg_01_pc.png);
  }

  .volunteersBlock {
    padding: 80px 68px 74px;
  outline: 2px solid #000;
  outline-offset: -6px;
  box-shadow: 0 0 0 6px #000;
  }

  .volunteers__title {
    margin-top: -148px;
  }

  .volunteers__notes {
  margin-top: 30px;
  font-size: 18px;
}

  .volunteersRequire {
    margin-top: 30px;
  }

  .volunteersRequire__box {
    max-width: 594px;
    margin: 0 auto;
    margin-top: 30px;
    border-width: 2px;
  }

  .volunteersRequire__title {
    padding: 17px 0 16px;
    font-size: 17px;
  }

  .volunteersRequire__table {
    width: 550px;
    padding: 12px 22px 6px;
  }

  .volunteersRequire__table th,
  .volunteersRequire__table td {
    display: table-cell;
    font-size: 14px;
  }

  .volunteersRequire__table td .--small{
    font-size: 11px;
  }

  .volunteersRequire__table th {
    width: 105px;
    min-width: 105px;
    padding: 16px 8px 14px;
    line-height: 1.6;
  }

  .volunteersRequire__table td {
    margin-top: 0;
    padding: 16px 8px 14px 0;
    padding-right: 8px;
  }

  .volunteersOther {
    margin-top: 30px;
  }

  .volunteersOther__box {
    margin-top: 16px;
  }

  .volunteersOther__text,
  .volunteersOther__item,
  .volunteersOther__numItem,
  .volunteersOther__limit {
    margin-left: 10px;
  }
}

@media only screen and (min-width: 1000px) {

  .volunteersRequire {
    padding: 0 110px;
  }

  .volunteersOther {
    padding: 0 110px;
  }

  .volunteersButton{
    width: 550px;
    height: 85px;
    margin-top: 30px;
  }

  .volunteersButton  a{
    font-size: 20px;
  }

  .volunteersButton  a::before {
    right: 70px;
    width: 21px;
    height: 19px;
  }
}

/* form
---------------------------------------------------- */
.volunteersForm{
  padding: 120px 0 70px;
  background-image: url(../images/pages/volunteers/volunteers_bg_01_sp.png);
  background-repeat: repeat-y;
  background-position: center;
  background-size: 100% auto;
}

.formBlock{
  position: relative;
  background-color: #fff;
  margin: 3px;
  padding: 40px 20px;
  outline: 1px solid #000;
  outline-offset: -4px;
  box-shadow: 0 0 0 3px #000;
}

.formHeading__text{
  font-size: 22px;
  letter-spacing: 0;
  font-weight: 700;
  text-align: center;
}

.formHeading__line{
  width: 80px;
  height: 3px;
  margin: 0 auto;
  margin-top: 5px;
  background-color: #aa1f24;
}

.formHeading__note{
  margin-top: 13px;
  margin-left: 15px;
  text-align: center;
  font-size: 14px;
  line-height: 22px;
}

.form{
  width: 300px;
  margin: 0 auto;
  margin-top: 30px;
}

.form__item{
  display: block;
  margin-top: 25px;
}

.form__title{
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
}

.form__title.--small{
  letter-spacing: -0.01em;
}


.form__title .--small{
  font-size: 12px;
}

.required::before{
  content: "必須";
  background-color: #aa1f24;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  width: 40px;
  height: 20px;
  margin-right: 3px;
  padding-top: 1px;
  vertical-align: middle;
  text-align: center;
  border-radius: 2px;
  display: inline-block;
}

.required--any::before{
  content: "任意";
  background-color: #898989;
  color: #fff;
}

.form__box{
  width: 100%;
  margin-top: 5px;
}

.form__box input{
  width: 100%;
  height: 40px;
  padding: 0 15px;
  border-radius: 5px;
  border: 1px solid #d5d6d6;
}

.form__item textarea{
  resize: none;
  height: 65px;
  width: 100%;
  padding: 8px 15px;
  border-radius: 5px;
  border: 1px solid #d5d6d6;
}

.textarea textarea{
  height: 200px;
}



.form__box input::placeholder
.form__box textarea::placeholder{
  color: #d5d6d6;
}

.form__radioBox{
  margin-top: 3px;
}

.form__radioBox input{
  margin-right: 0;
  margin-bottom: 5px;
  accent-color: #b4131d;
  inline-size: 1.1rem;
  block-size: 1.1rem;
}

.form__title--note{
  margin-top: 2px;
  font-size: 11px;
  font-weight: 700;
  color: #aa1f24;
}

.btnArea{
  display: flex;
  justify-content: center;
  margin-top: 20px;
}

.formBtn{
  width: 200px;
  height: 40px;
}

.formBtn p{
  height: 100%;
}

.submitBtn{
  width: 100%;
  height: 100%;
  background-color: #b4131d;
  color: #FFF;
  font-size: 14px;
  font-weight: 700;
  border: none;
  border-radius: 3px;
}

.--inline{
  margin-left: 43px;
}


@media only screen and (min-width: 671px) {

  .volunteersForm{
    padding-top: 100px 0 70px;
    background-image: url(../images/pages/volunteers/volunteers_bg_01_pc.png);
  }

  .form{
    width: 500px;
    margin: 0 auto;
    margin-top: 48px;
  }

  .formBlock{
    padding: 80px 68px 74px;
  outline: 2px solid #000;
  outline-offset: -6px;
  box-shadow: 0 0 0 6px #000;
  }

  .formHeading__text{
    font-size: 26px;
  }

  .formHeading__note{
    margin-top: 13px;
    margin-left: 15px;
  }

  .form__title{
    width: 270px;
    min-width: 270px;
  }
}


@media only screen and (min-width: 1000px) {

.form{
  width: 600px;
  margin: 0 auto;
  margin-top: 48px;
}

.form__item{
  display: flex;
  align-items: center;
  margin-top: 30px;
}

.form__box{
  margin-top: 0;
}

.formHeading__text{
  font-size: 29px;
}

.required::before{
  margin-right: 10px;
}

.form__radioBox{
  margin-top: 0;
  display: flex;
  flex-wrap: wrap;
}

.form__item--alineStart{
  align-items: start;
}

.btnArea{
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.--inline{
  margin-left: 50px;
}
}


/* confirm
---------------------------------------------------- */

.confirm{
  width: 300px;
  margin: 0 auto;
  padding: 0px 20px 25px;
  margin-top: 20px;
  border-top: solid 1px #d5d6d6;
  border-bottom: solid 1px #d5d6d6;
}

.confirm .form__box{
  margin-top: 0;
}

.formBtn:nth-child(2){
  margin-left: 10px;
}

.submitBtn--back{
  border: solid 1px #b4131d;
  color: #b4131d;
  background-color: #FFF;
}

@media only screen and (min-width: 671px) {
  .confirm .form__item{
    display: flex;
    align-items: center;
  }

  .formBtn:nth-child(2){
    margin-left: 25px;
  }

  .confirm{
    width: 500px;
    padding: 0 30px 25px;
  }

  .confirm .form__title{
    width: 230px;
    min-width: 230px;
  }
}


@media only screen and (min-width: 1000px) {

  .confirm{
    width: 600px;
    margin-top: 40px;
    padding: 20px 42px 40px;
  }

  .confirm .form__title{
    width: 230px;
    min-width: 230px;
  }
}

/* thanks
---------------------------------------------------- */
.volunteersForm--thanks{
  padding-top: 120px;
  padding-bottom: 120px;
}

.thanks{
  margin-top: 50px;
}

.thanks__message{
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}

.thanks__text{
  margin-top: 10px;
  font-size: 14px;
  text-align: center;
}

.topBtn{
  width: 200px;
  height: 40px;
  margin: 0 auto;
  margin-top: 65px;
}

.topBtn a{
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  width: 100%;
  height: 100%;
  padding-top: 8px;
  background-color: #b4131d;
  color: #FFF;
  font-size: 14px;
  font-weight: 700;
  border: none;
  border-radius: 3px;
}

@media only screen and (min-width: 671px) {

  .thanks__message{
    font-size: 22px;
    margin-left: 25px;
  }
}


@media only screen and (min-width: 1000px) {
}
