/*--------------------------
メール登録
--------------------------*/
/*タイトル*/
#register_body main .titleArea {
  background: url(../images/background.svg) center / cover no-repeat;
}

#register_body main .titleArea .title {
  width: 91.3%;
    margin: auto
}

@media screen and (min-width: 769px) {
  #register_body main .titleArea {
    margin: -3.625rem -3.625rem 3.625rem -3.625rem;
    padding: 4.5rem 3.125rem 4.5rem 3.125rem;
  }
}

@media screen and (max-width: 768px) {
  #register_body main .titleArea {
    margin: -1.25rem auto 1.5rem;
    padding: 1.5rem 1.25rem;
  }
}


/*注意書き*/
main .caution {
  padding: 1.25em;
  margin: 0 auto 2.8em;
    border: 4px solid #EB0000;
    background: #FFF3F3;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.9;
}

main .caution strong {
  font-weight: 900;
}

main .caution a,
main .checkArea a {
    color: #28A745;
  text-decoration: underline;
}

/*コンテンツ*/
main .contentsArea {
  margin: 0 auto;
    padding: 0 0 .5rem 0;
}

main .contentsArea p,
main .contentsArea ol,
main .contentsArea dl {
  text-align: left;
}

main .contentsArea .conTitle,
main .contentsArea .itemTitle {
  font-size: 1.5rem;
  font-weight: 700;
}

main .contentsArea .conTitle {
    padding: .5em .8em;
  margin: 0 auto 1.33em;
    background: #28A745;
  color: #fff;
  text-align: center;
  line-height: 1.5;
}


main .contentsArea .itemTitle {
  display: inline-block;
  margin: 0 0 1em;
    padding: .5em 1em;
    border: 2px solid #16A335;
  border-radius: 100vh;
  line-height: 1.23;
}

main .contentsArea .textArea {
  margin: 0 auto 3.5rem;
  padding: 0;
    font-size: .9375rem;
  line-height: 2;
}

main #con01.contentsArea .textArea {
    margin-top: -.5em;
}

@media screen and (max-width: 768px) {

  /*注意書き*/
  main .caution {
    font-size: 1.14rem;
  }

  /*コンテンツ*/
  main .contentsArea {
    text-align: center;
  }

  main .contentsArea .conTitle,
  main .contentsArea .itemTitle {
    font-size: 1.42rem;
    text-align: center;
  }

  main .contentsArea .itemTitle {
    margin: 0 0 1.5em;
  }
}

/*車両*/
.status-info {
  margin: 1.5em auto;
  letter-spacing: -1em;
}

.status-info dt,
.status-info dd {
  letter-spacing: normal;
  display: inline-block;
  vertical-align: top;
}

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

@media screen and (min-width: 769px) {
  .status-info {
    padding: 0 0 0 1.5em;
  }

  .vehicle-img img {
    max-width: 50%;
  }
}

@media screen and (max-width: 768px) {
  .status-info {
    line-height: 1.43;
  }

  .status-info dt {
    width: 3em;
  }

  .status-info dd {
        width: calc(100% - 3em)
  }

  .vehicle-img {
    margin-top: 2.9rem;
  }

  .vehicle-img img {
    width: 100%;
  }

}

/*開催エリア・日程*/
main .contentsArea .textArea.info-accepted {
    background: #EEF8F1;
}

main .contentsArea .textArea.info-accepted iframe,
main .contentsArea .textArea.info-accepted .test-ac/* .test-acは視覚的確認のためのクラス用済み時に削除希望*/ {
  width: 100%;
  height: 10.5rem;
  overflow-y: auto;
  background: #fff;
  text-align: left;
}

.info-accepted h3.infoTitle,
.info-accepted p.infoNote {
  text-align: center;
}

.info-accepted h3.infoTitle {
  font-size: 1.5rem;
  margin: 0 auto;
  font-weight: 700;
  line-height: 1.25;
}

.info-accepted p.infoNote {
    font-size: .875rem;
    margin: .25em auto 1em;
  line-height: 2.14;
}

.info-accepted .acceptedList {
	/*.flexlist*/
	display: -webkit-box;
	display: flex;
	/*.f-flow */
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-flow: row wrap;
	flex-flow: row wrap;
	/*.f-ac-stretch*/
	align-content: stretch;
	
	gap:.5rem 1.375rem;
	padding: 0;
	margin:0;
	line-height: 1.5;
	font-size:1rem;
}
.info-accepted .acceptedList:not(:last-of-type) {
	margin-bottom:1rem;
}


.info-accepted .acceptedList .categoryName span {
	display: inline-block;
	min-width: 5em;
	padding:0 .5em;
	border-radius: 100vh;
	text-align: center;
	color:#fff;
    letter-spacing: normal;
}
.info-accepted .acceptedList .categoryName span.category_school {
	background: #00A0E9;
}
.info-accepted .acceptedList .categoryName span.category_event {
	background: #16A335;
}


@media screen and (min-width: 769px) {
  main .contentsArea .textArea.info-accepted {
    padding: 2.215rem 5.25rem 3.125rem;
  }

  main .contentsArea .textArea.info-accepted iframe,
  main .contentsArea .textArea.info-accepted .test-ac/* .test-acは視覚的確認のためのクラス用済み時に削除希望*/ {
    padding: 2rem 2.375rem;
  }

}

@media screen and (max-width: 768px) {
  main .contentsArea .textArea.info-accepted {
    padding: 1.42rem;
  }

  main .contentsArea .textArea.info-accepted iframe,
  main .contentsArea .textArea.info-accepted .test-ac/* .test-acは視覚的確認のためのクラス用済み時に削除希望*/ {
    padding: 1.92rem 1.64rem;
	height:19.5rem;
  }

  .info-accepted h3.infoTitle,
  .info-accepted p.infoNote {
    line-height: 1.66;
  }

  .info-accepted h3.infoTitle {
    font-size: 1.28rem;
  }

  .info-accepted p.infoNote {
        font-size: .857rem;
    text-align: left;
  }
	.info-accepted .acceptedList {
		flex-direction: column;
	}
	.info-accepted .acceptedList .categoryName span {
	min-width: 5.5em;
	padding:0 .75em;
    letter-spacing: normal;
}
	.info-accepted .acceptedList:not(:last-of-type) {
	margin-bottom:1.43rem;
}
}




/*フォーム*/
main .formArea .checkArea {
  padding: 1.5em 1.86em;
  margin: 0 auto 1.2em;
    background: #F5F5F5;
    font-size: .9375rem;
}

main .formArea .checkArea label {
    font-weight: 700
}

#register_body .formDL {
  width: 585px;
  margin: 2.5rem auto 0;
}

#register_body .formDL dt {
  margin-bottom: 1em;
}

#register_body .formDL dd {
  margin-bottom: 2.75rem;
}

#register_body .formDL .flexlist {
    gap: 1.6em
}

.registerNote {
  margin-bottom: 1.4em;
    background: #EEF8F1;
}


@media screen and (min-width: 769px) {
  main .formArea .checkArea {
    text-align: center;
  }

  .registerNote {
    display: inline-block;
  }

}

@media screen and (max-width: 768px) {
  main .formArea .checkArea {
    text-align: left;
  }

  main .formArea .checkArea.check01 label {
    margin-bottom: 1em;
  }

  #register_body .formDL {
    width: 100%;
  }

  #programYear {
        min-width: 8.1em
  }

  .registerNote {
    line-height: 1.428;
  }


}


/*--------------------------
メール送信完了
--------------------------*/
#explanation .textArea p:not(:last-of-type) {
  margin-bottom: 1.5em;
}


/*--------------------------
申し込み
--------------------------*/

#application .formDL {
  width: 100%;
}

#application .formDL dd:not(:last-of-type) {
    border-bottom: solid 1px #E2E2E2;
}

#application .formDL dd {
  margin-bottom: 0;
}

#application .formDL .flexlist {
    gap: 1.6em
}

#application.confirm .formDL dd {
  overflow-wrap: break-word;
}

/*注意書き*/
.cautionary {
    font-size: .8125rem;
  position: relative;
  padding: 0 0 0 1.69em;
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 16 16"><path fill="%23545454" d="M8 1.33331C4.32 1.33331 1.33334 4.31998 1.33334 7.99998C1.33334 11.68 4.32 14.6666 8 14.6666C11.68 14.6666 14.6667 11.68 14.6667 7.99998C14.6667 4.31998 11.68 1.33331 8 1.33331ZM8.66667 11.3333H7.33334V7.33331H8.66667V11.3333ZM8.66667 5.99998H7.33334V4.66665H8.66667V5.99998Z" /></svg>') top .4375rem left / 1rem auto no-repeat;
  line-height: 2.3;
}

/*placeholder*/
input[type="text"].shape01::placeholder {
    color: #A0A0A0
}

/*チェック入れる前の学校名入力*/
input[type="text"]#schoolName01.shape01.manual {
  border-color: #f2f2f2;
  background: #f2f2f2;
}

/*ラジオボタン*/
input[type="radio"] {
    margin-right: .55em;
}

/*学校名検索*/
.shape01#searchSchoolInput {
  padding: 1em 3em 1em 1em;
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 27 27"><path fill="%23545454" d="M19.25 17H18.065L17.645 16.595C19.1658 14.831 20.0017 12.579 20 10.25C20 8.32164 19.4282 6.43657 18.3568 4.83319C17.2855 3.22982 15.7627 1.98013 13.9812 1.24218C12.1996 0.504225 10.2392 0.311142 8.34787 0.687348C6.45656 1.06355 4.71927 1.99215 3.35571 3.35571C1.99215 4.71927 1.06355 6.45656 0.687348 8.34787C0.311142 10.2392 0.504225 12.1996 1.24218 13.9812C1.98013 15.7627 3.22982 17.2855 4.83319 18.3568C6.43657 19.4282 8.32164 20 10.25 20C12.665 20 14.885 19.115 16.595 17.645L17 18.065V19.25L24.5 26.735L26.735 24.5L19.25 17ZM10.25 17C6.515 17 3.5 13.985 3.5 10.25C3.5 6.515 6.515 3.5 10.25 3.5C13.985 3.5 17 6.515 17 10.25C17 13.985 13.985 17 10.25 17Z" /></svg>') center right .66em / 1.75em auto no-repeat;
}

/*郵便番号*/
input[type="text"]#inputZip.shape01 {
  width: 9em;
}

/*希望日*/
#application .formDL #desiredDate.flexlist .item:nth-of-type(2n-1) label {
  font-weight: 700;
}

#application .formDL #desiredDate .item .dateArea {
  min-width: 8em;
}

#application .formDL #desiredDate .item .selectbtnArea {
  min-width: 8em;
}

.btn.select {
  display: inline-block;
    padding: .8em 3.46em 1em 1.86em;
  margin: 0;
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%23545454" d="M19 19H5V8H19M16 1V3H8V1H6V3H5C3.89 3 3 3.89 3 5V19C3 19.5304 3.21071 20.0391 3.58579 20.4142C3.96086 20.7893 4.46957 21 5 21H19C19.5304 21 20.0391 20.7893 20.4142 20.4142C20.7893 20.0391 21 19.5304 21 19V5C21 4.46957 20.7893 3.96086 20.4142 3.58579C20.0391 3.21071 19.5304 3 19 3H18V1M17 12H12V17H17V12Z" /></svg>') center right 1.2em / 1.6em auto no-repeat #F2F2F2;
    border: 1px solid #F2F2F2;
  font-weight: 500;
  color: #000;
}

/*備考欄*/
#application .formDL textarea#remarks {
    min-height: 9em
}


/*--------------------------
申し込み完了
--------------------------*/
#application.complete .textArea {
    background: #EEF8F1;
}

.reason-box > span:not(:last-child)::after {
  content: '、';
}


@media screen and (min-width: 769px) {
  #application .formDL dt {
    width: 26%;
    padding: 2em 1.46em 1.46em 0;
  }

  #application .formDL dd {
    width: 74%;
    padding: 1.46em 0;
  }

  #application .formDL dt:not(:last-of-type) {
        border-bottom: solid 1px #E2E2E2;
  }

  #application .formDL #schooladd.flexlist {
        gap: 1.53em 0
  }

  #application .formDL #schooladd.flexlist .item:nth-of-type(2n-1),
  #application .formDL #desiredDate.flexlist .item:nth-of-type(2n-1) {
        padding-top: .66em;
  }


  #application .formDL #schooladd.flexlist .item:nth-of-type(2n-1) {
    width: 23%;
  }

  #application .formDL #schooladd.flexlist .item:nth-of-type(2n) {
        width: 77%
  }

  #application .formDL #desiredDate.flexlist {
        gap: 1.66em 0
  }

  #application .formDL #desiredDate.flexlist .item:nth-of-type(2n-1) {
    width: 6em;
  }

  #application .formDL #desiredDate.flexlist .item:nth-of-type(2n) {
        width: calc(100% - 6em)
  }

  #application .formDL #desiredDate.flexlist .item:nth-of-type(2n) > .flexlist {
        gap: .5em 1.5em
  }

  #application .formDL #desiredDate .radioArea .radioitem {
    display: inline-block;
  }

  #application .formDL #desiredDate .radioArea .radioitem:not(:last-of-type) {
    margin-right: 1em;
  }


  /*確認画面*/
  #application.confirm .formDL dt,
  #application.confirm .formDL dd {
    padding: 1.46em 0;
  }

  #application.confirm .formDL #schooladd.flexlist .item:nth-of-type(2n-1),
  #application.confirm .formDL #desiredDate.flexlist .item:nth-of-type(2n-1) {
    padding-top: 0;
  }

  /*申し込み完了*/
  #application.complete .textArea {
    padding: 2.75rem;
  }

  #application.complete .textArea h3 {
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 768px) {

  #application .formDL dt,
  #application .formDL dd {
    width: 100%;
  }

  #application .formDL dt {
    padding: 2em 0 1em 0;
  }

  #application .formDL dd {
    padding: 0 0 2em 0;
  }

  #application.confirm .formDL dt {
        padding: 2em 0 .5em 0;
  }

  .cautionary {
        font-size: .8rem;
    padding: 0 0 0 2em;
        background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 16 16"><path fill="%23545454" d="M8 1.33331C4.32 1.33331 1.33334 4.31998 1.33334 7.99998C1.33334 11.68 4.32 14.6666 8 14.6666C11.68 14.6666 14.6667 11.68 14.6667 7.99998C14.6667 4.31998 11.68 1.33331 8 1.33331ZM8.66667 11.3333H7.33334V7.33331H8.66667V11.3333ZM8.66667 5.99998H7.33334V4.66665H8.66667V5.99998Z" /></svg>') top .13rem left / 1rem auto no-repeat;
    line-height: 1.5;
  }

  #application .formDL #schooladd.flexlist,
  #application .formDL #desiredDate.flexlist {
        gap: .5em 0
  }

  #application .formDL #schooladd.flexlist .item {
        width: 100%
  }

    #application .formDL #schooladd.flexlist .item:not(:last-of-type):nth-of-type(2n) {
    padding-bottom: 2em;
  }

  #application .formDL #desiredDate.flexlist {
    gap: 2em 0;
  }

  #application .formDL #desiredDate.flexlist .item:nth-of-type(2n-1) {
        width: 7em
  }

  #application .formDL #desiredDate.flexlist .item:nth-of-type(2n) {
    width: calc(100% - 7em);
  }

  #application.confirm .formDL #desiredDate.flexlist {
        gap: .5em 0;
  }

  #application .formDL #desiredDate.flexlist .item:nth-of-type(2n) > .flexlist {
        gap: 1em 1.5em
  }

    #application .formDL #desiredDate.flexlist .item:nth-of-type(2n)>.flexlist>* {
        width: 100%
  }

  #application .formDL #desiredDate .radioArea .radioitem:not(:last-of-type) {
        margin-bottom: .4em;
  }


  /*確認画面*/
  #application.confirm .formDL #schooladd.flexlist {
    gap: 2em 0;
  }

  #application.confirm .formDL #schooladd.flexlist .item:nth-of-type(2n-1) {
        width: 7em
  }

  #application.confirm .formDL #schooladd.flexlist .item:nth-of-type(2n) {
    width: calc(100% - 7em);
    padding-bottom: 0;
  }


  /*申し込み完了*/
  #application.complete .textArea {
    padding: 1.85rem 1.42rem;
  }

  #application.complete .textArea h3 {
    font-size: 1.14rem;
  }


}
