main{
  background-color: rgb(250,250,250);
}

main h2{
  height: 120px;
  background-color: #F7EE4D;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 16px;
  letter-spacing: 4px;
}

.font-red{
  color: rgb(250,5,5);
}

#mainvisual{
  height:calc(60vh - 56px);
}
@media screen and (min-width:992px){
  #mainvisual{
    height: 50vh;
  }
}

#mainvisual>img{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

/* アプリ会員なら〜 */

#appmember{
  display: block;
  margin:16px;
  padding:32px 24px;
  text-align: center;
  border-radius: 8px;
  box-shadow: 0 0 4px rgb(68,68,68);
  background-color: rgb(255,255,255);
}
@media screen and (min-width:992px){
  #appmember{
    width: 90%;
    max-width: 1200px;
    margin:24px auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

#appmember img{
  display: block;
  width:56px;
  height:auto;
  margin:16px auto;
}

#appmember h2{
  background: none;
  display: block;
  letter-spacing: 0;
  height: 40px;
}
@media screen and (min-width:992px){
  #appmember h2{
    text-align: left;
    font-size: 24px;
    height: auto;
  }
  #appmember h2 p{
    font-size: 16px;
  }
}

#appmember h2 span{
  position: relative;
}

#appmember h2 span::before{
  content:'';
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background-color: rgb(250,5,5);
  width: 4px;
  height:4px;
  border-radius: 4px;
}

#appmember .appbutton{
  display: block;
  background-color: #F7EE4D;
  width: 60%;
  line-height: 3;
  margin:16px auto 0 auto;
  border-radius: 100px;
}
@media screen and (min-width:992px){
  #appmember .appbutton{
    width: 300px;
    margin: 0 auto;
  }
}

/* 概要 */

#overview{
  margin:16px;
}
@media screen and (min-width:992px){
  #overview{
    width: 90%;
    max-width: 1200px;
    margin:24px auto;
  }
}

#overview h2 img{
  width: 56px;
  height: 56px;
  margin-right: 16px;
}

@media screen and (min-width:992px){
  #overview dl{
    display: flex;
    flex-wrap: wrap;
  }
}

#overview dt{
  background-color: rgb(206,206,206);
  padding:2px 8px;
}
@media screen and (min-width:992px){
  #overview dt{
    width:30%;
    border-bottom: solid 1px rgb(68,68,68);
    background: none;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

#overview dd{
  margin: 16px 0;
  font-size: 14px;
}
@media screen and (min-width:992px){
  #overview dd{
    width: 70%;
    border-bottom: solid 1px rgb(68,68,68);
    margin: 0;
    padding:24px 16px;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}

#overview dd a{
  display: block;
  width: 80%;
  line-height: 2;
  margin:16px auto 24px auto;
  background-color: rgb(68,68,68);
  color: rgb(250,250,250);
  text-align: center;
  border-radius: 100px;
  font-size: 16px;
}
@media screen and (min-width:992px){
  #overview dd a{
    margin: 0 16px;
    line-height: 3;
    min-width: 300px;
    max-width: 300px;
  }
}

#overview dd .tel a{
  display: flex;
  align-items: center;
  line-height: 1.3;
  margin: 4px 0;
  background:none;
  text-align: left;
  font-size: 24px;
  font-weight: 400;
  color: rgb(5,5,5);
}

#overview dd .tel a::before{
  content:'';
  width: 24px;
  height: 24px;
  margin-right: 4px;
  background-image: url(../img/icon-tel-black.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  display: block;
}

@media screen and (min-width:992px){
  #overview .note {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    padding:24px;
  }
  #overview .note h3{
    width: 100%;
  }
}

#overview .note ul{
  list-style: none;
  margin:0;
  padding:0;
  font-size: 14px;
}
@media screen and (min-width:992px){
  #overview .note ul{
    width: 49%;
  }
}

#overview .note ul li{
  padding-left: 1em;
  text-indent: -1em;
}

/* 応募方法 */

#applymethod{
  margin: 16px;
  background-color: rgb(255,255,255);
}
@media screen and (min-width:992px){
  #applymethod{
    width: 90%;
    max-width: 1200px;
    margin:24px auto;
    padding: 0;
  }
}

#applymethod h4{
  text-align: center;
  letter-spacing: 4px;
  margin: 40px auto 24px auto;
  font-size: 18px;
}

#applymethod h4 .icon-flex{
  display: flex;
  justify-content: center;
  align-items: flex-end;
  margin: 16px;
}

#applymethod h4 img:nth-child(1){
  width: 80px;
  height: auto;
  margin-right: 8px;
}

#applymethod h4 img:nth-child(2){
  width: auto;
  height: 56px;
}

#applymethod ul.flow{
  list-style: none;
  padding:0;
  margin: 0 24px;
}
@media screen and (min-width:992px){
  #applymethod ul.flow{
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  #applymethod ul.flow li{
    width: calc((100% - 96px) / 3);
  }
}

#applymethod ul.flow li + span{
  content:'';
  background-image: url(../img/icon-tryangle-down-black.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width:24px;
  height:24px;
  display: block;
  margin:8px auto;
}
@media screen and (min-width:992px){
  #applymethod ul.flow li + span{
    background-image: url(../img/icon-tryangle-right-black.svg);
  }
}

#applymethod ul.flow li h5{
  text-align: center;
  background-color: rgb(68,68,68);
  margin:0;
  padding:4px;
  color: rgb(250,250,250);
  position: relative;
  line-height: 32px;
  font-weight: 300;
  font-size: 18px;
}

#applymethod ul.flow li h5 div{
  background-color: rgb(250,250,250);
  color:rgb(68,68,68);
  width: 24px;
  height:24px;
  line-height: 22px;
  padding-left: 1px;
  border-radius: 100px;
  position: absolute;
  left:8px;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  font-weight: 400;
}

#applymethod ul.flow li p{
  padding: 16px;
  border: solid 2px rgb(68,68,68);
}
@media screen and (min-width:992px){
  #applymethod ul.flow li p{
    height: 200px;
  }
}

#applymethod a.topbtn{
  display: block;
  width:calc(100% - 32px);
  line-height: 3;
  text-align:center;
  margin:40px auto;
  border-radius: 100px;
}
@media screen and (min-width:992px){
  #applymethod a.topbtn{
    width: 80%;
    margin:40px auto;
  }
}

hr{
  margin: 0 16px;
}
@media screen and (min-width:992px){
  hr{
    margin: 0 24px;
  }
}

#applymethod h4 + img{
  width: 80px;
  height: auto;
  margin:0 auto;
}

#applymethod h4 + img + p{
  margin: 40px 0;
  padding:16px;
}
@media screen and (min-width:992px){
  #applymethod h4 + img + p{
    padding: 24px;
  }
}

#applymethod .hagaki{
padding: 16px;
}
@media screen and (min-width:992px){
  #applymethod .hagaki{
    margin: 24px;
    padding: 24px;
    border: solid 2px rgb(68,68,68);
  }
}

@media screen and (min-width:992px){
  #applymethod .hagaki-detail {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
}

#applymethod .hagaki h5{
  font-size: 20px;
  margin:16px 0;
}

#applymethod .hagaki-detail img{
  display: block;
  width: 80%;
  max-width: 300px;
  height:auto;
  margin:0 auto;
}
@media screen and (min-width:992px){
  #applymethod .hagaki-detail img{
    order: 2;
  }
}

#applymethod .hagaki-detail ul{
  list-style: none;
  margin: 0;
  padding: 0;
}
@media screen and (min-width:992px){
  #applymethod .hagaki-detail ul{
    order: 1;
    margin-right: 16px;
  }
}

#applymethod .hagaki-detail ul li{
  padding-left: 1em;
  text-indent: -1em;
}

ul.red-note{
  list-style: none;
  margin: 16px;
  margin-top:-16px;
  padding: 16px;
  background-color: rgb(255,255,255);
}
@media screen and (min-width:992px){
  ul.red-note{
    max-width: 1200px;
    width: 90%;
    margin: 0 auto;
    margin-top:-24px;
    padding: 24px;
  }
}

ul.red-note li{
  padding-left: 1em;
  text-indent: -1em;
}

.red-button{
  background-color: rgb(250,5,5);
  color: rgb(250,250,250);
}

.yellow-button{
  background-color: #F7EE4D;
}