/* --------------------------------------------------
  共通部分
-------------------------------------------------- */
@import url(http://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

:root{
  --font-family-sans-serif: 游ゴシック, Yu Gothic, 游ゴシック体, YuGothic, ヒラギノ角ゴ Pro, Hiragino Kaku Gothic Pro, sans-serif;
  /*--font-family-sans-serif: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;*/
  /*--font-family-serif: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;*/
  /*--font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;*/
  /*--font-family-sans-serif: Noto Sans Japanese, sans-serif;*/
  --main-color: #870011;
  --sub-color: #caa877;
  --third-color:#e2d5cf;
  --btn-color: #f7ab00;
  --font-color: #222222;
  --bg-color: #f1eeeb;
  --max-width: 960px;
}

html{
  scroll-behavior: smooth;
}

body {
  background-color: var(--bg-color);

  /* 基本文字色 */
  color: var(--font-color);
  font-size: 18px;
  font-family: var(--font-family-sans-serif);
  font-weight: normal;
  width: 100%;
}

header{
  background-color: var(--main-color);
  padding: 1rem;
}

p{
  line-height: 1.8;
}

img{
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

h2{
  padding: 0.7rem 1.5rem;
  background: var(--main-color);
  color: #fff;
  border-radius: 5px;
  font-size: 1.5rem;
}

.text-center{
  text-align: center;
}

.text-right{
  text-align: right;
}

.text-left{
  text-align: left;
}

.d-inline-block{
  display: inline-block;
}

.d-none{
  display: none!important;
}

.bold{
  font-weight: 700;
}

.clear{
  clear: both;
}

.header-box{
  max-width: var(--max-width);
  margin: 0 auto;
}

.item-box{
  max-width: var(--max-width);
  padding: 23px 20px;
  background-color: #fff;
  margin: 1rem auto 2rem;
  border-radius: 10px;
}

.item-box:last-child{
  margin: 1rem auto;
}

.item-box p{
  margin: 0;
  text-align: justify;
  word-break: break-all;
}

@media screen and (min-width: 600px) {
  .item-box{
    padding: 50px;
  }
}

.header-box .header-text{
  display: inline-block;
  background-color: var(--sub-color);
  color: var(--main-color);
  font-size: clamp(1rem, 0.818rem + 0.91vw, 1.5rem);
  padding: 0.5rem;
  font-weight: bold;
}

.base-btn,
.second-btn{
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 300px;
  border-radius: 5px;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  padding: 0.5rem 2rem 0.5rem 1rem;
  position: relative;
  background-color: var(--btn-color);
  border: solid 2px var(--btn-color);
}

/* オーバライド */
.second-btn{
  background-color: var(--main-color);
  border-color: var(--main-color);
}

.base-btn::after,
.second-btn::after{
  font: var(--fa-font-solid);
  content: "\f138";
  font-size: 1rem;
  position: absolute;
  right: 0.5rem;
}


.base-btn.pdf::after,
.second-btn.pdf::after{
  content: "\f1c1";
}

.base-btn:hover{
  background-color: #fff;
  color: var(--btn-color);
}

.second-btn:hover{
  background-color: #fff;
  color: var(--main-color);
}

/* --------------------------------------------------
  index.html
-------------------------------------------------- */
.main-wrap{
  padding: 1rem 20px;
}

.kumihan-info-box{
  padding: 1rem;
  background-color: #f9f9f9;
  font-size: 1rem;
  margin-top: 1rem;
  border-radius: 10px;
}

.profile-wrap{
  display: flex;
  justify-content: space-around;
  gap: 2rem;
  flex-direction: column;
}

.ginji-img{
  max-width: 320px;
  margin: 0 auto
}

.profile-box{
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .profile-wrap{
    flex-direction: row;
  }  
  .profile-box{
    width: 100%;
  }
}

.profile-box h3 span{
  background: var(--main-color);
  display: inline-block;
  padding: 0.5rem;
  color: #fff;
  border-radius: 4px;
  font-size: 1.3rem;
}

.profile-box .ginji-name{
  font-size: 2rem;
  font-weight: bold;
}

.profile-box .ginji-name span{
  font-size: 3rem;
}

.profile-box ul{
  margin: 0;
  padding: 0;
  list-style: none;
}

.profile-box ul li{
  padding-left: 1rem;
  position: relative;
}

.profile-box ul li::before{
  content: "・";
  position: absolute;
  left: 0;
}

/* 募集要項 */
.required-dl{
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}

.required-dl dt{
  font-weight: bold;
}

.required-dl dd{
  position: relative;
  margin: 0 0 1rem;
  border-bottom: dashed 1px var(--third-color);
  padding: 1rem 0;
}

.required-dl dd::before{
  content: "";
  width: 5px;
  background-color: var(--third-color);
  position: absolute;
  left: 0.6rem;
  height: 26px;
  transform: rotate(90deg);
  top: -5px;
}

.required-dl dt:nth-last-child(2),
.required-dl dd:last-child{
  border: none!important;
  margin: 0!important;
}

.required-box{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 1rem 0;
  border-radius: 10px;
  gap: 1.5rem;
}

@media screen and (min-width: 768px) {
  .required-dl{
    padding: 0 1.5rem;
    flex-direction: row;
  }

  .required-dl dt{
    width: 110px;
    height: auto;
    margin: 0 0 1rem;
    border-bottom: dashed 1px var(--third-color);
  }  

  .required-dl dd{
    width: calc(100% - 110px);
    margin: 0 0 1rem;
    padding: 0 0 1rem 2rem;
  }

  .required-dl dd::before{
    transform: unset;
    top: unset;
  }

  .required-box{
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    border: solid 1px var(--font-color);
    padding: 20px;
    margin: 1rem 0;
    border-radius: 10px;
    gap: 1.5rem;
  }

  .required-box div:nth-child(1){
    width: 100%;
    max-width: 300px;
  }

  .required-box div:nth-child(2){
    min-width: 200px;
    width: calc(100% - 300px - 1.5rem);
  }

}

.prize-box{
  width: 100%;
  max-width: 450px;
  background-color: #fabe00;
  padding: 1rem;
  border-radius: 10px;
}

.prize-box:not(:last-child){
  margin-bottom: 1rem;
}

.prize-box .title{
  text-align: center;
  font-size: clamp(1.5rem, 1.318rem + 0.91vw, 2rem);
  font-weight: bold;
  line-height: 1.2;
  margin-bottom: 0.5rem;
}

.prize-box .info{
  text-align: center;
  font-size: clamp(0.86rem, 0.751rem + 0.47vw, 1.1rem);
  font-weight: bold;
  margin-top: 0.5rem;
}

.prize-box .info small{
  font-size: clamp(0.8rem, 0.732rem + 0.29vw, 0.95rem);
}

@media screen and (min-width: 600px) {
  .prize-box{
    padding: 1.5rem 2.5rem 1rem;;
  }
}

/* --------------------------------------------------
  kumihan
-------------------------------------------------- */
.kumihan-header{
  max-width: 380px;
}

.kumihan-btn-wrap{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.kumihan-btn-wrap div{
  min-width: 250px;
}

.product-box{
  border: solid 3px #EFEFEF;
  border-radius: 30px;
  margin: 1rem auto 0;
  padding: 1rem;
  max-width: var(--max-width);
}

.product-box div{
  max-width: 450px;
  margin: 0 auto;
}

/* --------------------------------------------------
  margin padding
-------------------------------------------------- */
.m-0{margin:0!important}
.m-1{margin:.25rem!important}
.m-2{margin:.5rem!important}
.m-3{margin:1rem!important}
.m-4{margin:1.5rem!important}
.m-5{margin:3rem!important}
.m-auto{margin:auto!important}
.mt-0{margin-top:0!important}
.mt-1{margin-top:.25rem!important}
.mt-2{margin-top:.5rem!important}
.mt-3{margin-top:1rem!important}
.mt-4{margin-top:1.5rem!important}
.mt-5{margin-top:3rem!important}
.mt-auto{margin-top:auto!important}
.mr-0{margin-right:0!important}
.mr-1{margin-right:.25rem!important}
.mr-2{margin-right:.5rem!important}
.mr-3{margin-right:1rem!important}
.mr-4{margin-right:1.5rem!important}
.mr-5{margin-right:3rem!important}
.mr-auto{margin-right:auto!important}
.mb-0{margin-bottom:0!important}
.mb-1{margin-bottom:.25rem!important}
.mb-2{margin-bottom:.5rem!important}
.mb-3{margin-bottom:1rem!important}
.mb-4{margin-bottom:1.5rem!important}
.mb-5{margin-bottom:3rem!important}
.mb-auto{margin-bottom:auto!important}
.ml-0{margin-left:0!important}
.ml-1{margin-left:.25rem!important}
.ml-2{margin-left:.5rem!important}
.ml-3{margin-left:1rem!important}
.ml-4{margin-left:1.5rem!important}
.ml-5{margin-left:3rem!important}
.ml-auto{margin-left:auto!important}
.my-0{margin-top:0!important; margin-bottom:0!important}
.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}
.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}
.my-3{margin-top:1rem!important;margin-bottom:1rem!important}
.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}
.my-5{margin-top:3rem!important;margin-bottom:3rem!important}
.my-auto{margin-top:auto!important;margin-bottom:auto!important}
.mx-0{margin-left:0!important;margin-right:0!important}
.mx-1{margin-left:.25rem!important;margin-right:.25rem!important}
.mx-2{margin-left:.5rem!important;margin-right:.5rem!important}
.mx-3{margin-left:1rem!important;margin-right:1rem!important}
.mx-4{margin-left:1.5rem!important;margin-right:1.5rem!important}
.mx-5{margin-left:3rem!important;margin-right:3rem!important}
.mx-auto{margin-left:auto!important;margin-right:auto!important}

.p-0{padding:0!important}
.p-1{padding:.25rem!important}
.p-2{padding:.5rem!important}
.p-3{padding:1rem!important}
.p-4{padding:1.5rem!important}
.p-5{padding:3rem!important}
.p-auto{padding:auto!important}
.pt-0{padding-top:0!important}
.pt-1{padding-top:.25rem!important}
.pt-2{padding-top:.5rem!important}
.pt-3{padding-top:1rem!important}
.pt-4{padding-top:1.5rem!important}
.pt-5{padding-top:3rem!important}
.pt-auto{padding-top:auto!important}
.pr-0{padding-right:0!important}
.pr-1{padding-right:.25rem!important}
.pr-2{padding-right:.5rem!important}
.pr-3{padding-right:1rem!important}
.pr-4{padding-right:1.5rem!important}
.pr-5{padding-right:3rem!important}
.pr-auto{padding-right:auto!important}
.pb-0{padding-bottom:0!important}
.pb-1{padding-bottom:.25rem!important}
.pb-2{padding-bottom:.5rem!important}
.pb-3{padding-bottom:1rem!important}
.pb-4{padding-bottom:1.5rem!important}
.pb-5{padding-bottom:3rem!important}
.pb-auto{padding-bottom:auto!important}
.pl-0{padding-left:0!important}
.pl-1{padding-left:.25rem!important}
.pl-2{padding-left:.5rem!important}
.pl-3{padding-left:1rem!important}
.pl-4{padding-left:1.5rem!important}
.pl-5{padding-left:3rem!important}
.pl-auto{padding-left:auto!important}
.py-0{padding-top:0!important;padding-bottom:0!important}
.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}
.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}
.py-3{padding-top:1rem!important;padding-bottom:1rem!important}
.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}
.py-5{padding-top:3rem!important;padding-bottom:3rem!important}
.py-auto{padding-top:auto!important;padding-bottom:auto!important}
.px-0{padding-left:0!important;padding-right:0!important}
.px-1{padding-left:.25rem!important;padding-right:.25rem!important}
.px-2{padding-left:.5rem!important;padding-right:.5rem!important}
.px-3{padding-left:1rem!important;padding-right:1rem!important}
.px-4{padding-left:1.5rem!important;padding-right:1.5rem!important}
.px-5{padding-left:3rem!important;padding-right:3rem!important}
.px-auto{padding-left:auto!important;padding-right:auto!important}