@charset "UTF-8";

/*=====================================
	#contents
======================================*/
#contents {
  background-color: #fff;
}

/*=====================================
	color
======================================*/
.green_1 {
  color: #1a8b2f;
}


.purple {
  color: #955dbe;
}

.blue {
  color: #6699e2;
}

.maroon {
  color: #800000;
}


.brown2 {
  color: #af8530;
}

.orange-new {
  color: #d4a33f;
}


.bg-pink {
  background-color: #ff578c;
}

/*=====================================
	common
======================================*/

.w-98per {
  width: 98%;
}


.w-95per {
  width: 95%;
}

.ms-minus-10 {
  margin-left: -10px;
}

.ms-minus-15 {
  margin-left: -15px;
}

/*=====================================
	// id #title
======================================*/

#title {
  width: 100%;
  position: relative;
  text-align: center;
  background: url(../img/bg_mob_1.png) top center no-repeat;
  background-size: cover;
}

#title .bg_top {
  padding-top: 22vh;
  background: url(../img/bg_mob_2.png) top center no-repeat;
  background-size: 100%;
}

#title .bg_bottom {
  background: url(../img/bg_mob_3.png) bottom center no-repeat;
  background-size: contain;
  padding-bottom: 20vh;
}

.join-container {
  /* width: 88%; */
  width: 95%;
  max-width: 864px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 15px;
  position: relative;
  /* border: #f00 thin solid; */
}

#title .join-container .join {
  width: 38%;
  aspect-ratio: 232 / 210;
  position: absolute;
  top: -18vh;
  right: 0;
  z-index: 1;
}


#h1_pc {
  display: none;
}

#h1_mob {
  display: block;
}


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


  #title .bg_top {
    padding-top: 30vh;
  }

  #title .bg_bottom {
    padding-bottom: 20vh;
  }


  #title .join-container .join {
    width: 38%;
    aspect-ratio: 232 / 210;
    position: absolute;
    top: -22vh;
    right: -4%;
    z-index: 1;
  }


}


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

  #title .bg_top {
    padding-top: 20vh;
  }

  #title .bg_bottom {
    padding-bottom: 20vh;
  }

  #title h1 {
    width: 95%;
    max-width: 864px;
  }



  #h1_pc {
    display: block;
  }

  #h1_mob {
    display: none;
  }


  #title {
    width: 100%;
    position: relative;
    text-align: center;
    background: url(../img/bg_pc_1.png) top center no-repeat;
    background-size: cover;
  }

  #title .bg_top {
    padding-top: 12vh;
    background: url(../img/bg_pc_2.png) top center no-repeat;
    background-size: contain;
  }

  #title .bg_bottom {
    background: url(../img/bg_pc_3.png) bottom center no-repeat;
    background-size: contain;
    padding-bottom: 15vh;
  }


  #title .join-container .join {
    width: 232px;
    height: 210px;
    position: absolute;
    top: auto;
    right: -5%;
    bottom: 0;
    z-index: 1;
  }

}

/*=====================================
	//ID lead
======================================*/


#lead ul li .icon {
  width: 19px;
  height: auto;
  margin-right: 7px;
  margin-bottom: 7px;
}

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

  #lead ul li .icon {
    width: 14px;
    height: auto;
    margin-right: 5px;
    margin-bottom: 5px;
  }
}

/*=====================================
	//NOTE layout common
======================================*/
.contents-box {
  width: 95%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 5%;
  padding-right: 5%;
  background: #fff;
  border-radius: 10px;
  position: relative;
}

.contents-box h3 {
  width: 28%;
  aspect-ratio: 1 / 1;
  color: #fff;
  background: #945dbe url(../img/bg_paper_purple.jpg) repeat;
  border-radius: 50%;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -15px;
  right: 10px;
}

.contents-box h3.left {
  left: 15px;
}

.contents-box h3.right {
  right: 5px;
}

.contents-box h5,
.contents-box h6 {
  color: #7a3107;
}

@media screen and (min-width: 1024px) {
  .contents-box {
    /* max-width: 1080px; */
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    /* font-size: 18px; */
    background: #fff;
    text-align: center;
    border-radius: 10px;
    position: relative;
  }

  .contents-box h3 {
    width: 180px;
    height: 180px;
    position: absolute;
    top: -60px;
    left: 30px;
  }

  .bg_fullwidth .contents-box h3 {
    top: -125px;
  }

  .contents-box h3.left {
    left: 45px;
  }

  .contents-box h3.right {
    right: 45px;
  }
}

/*================================
	// common
=================================*/
.link:hover {
  color: #333;
}

.link .arrow {
  width: 8px;
  height: auto;
  vertical-align: middle;
  margin-right: 8px;
}

/*=================================
	#outline //NOTE date_detal
===================================*/
#outline {
  padding-top: 30px;
  padding-bottom: 30px;
  /* background: #2c5604; */
  background: #004503;
}

#detail {
  font-size: 16px;
}

#detail ul {
  margin-left: 0.5em;
}

.date_detail {
  margin-bottom: 60px;
  /* padding: 30px 5% 0; */
  padding: 0 2.5% 0;
}

.date_detail_item h4 {
  font-size: 15px;
  color: #af8530;
  letter-spacing: 0.2em;
}

.date_detail_item h4 span {
  padding: 5px 15px 2px;
  background-color: #f3eddf;
}

.btn-entry a {
  width: 95%;
  max-width: 700px;
  font-size: 20px;
  text-align: center;
  color: #fff;
  margin: auto;
  padding: 0.9em 1em 1em;
  background: #945dbe;
  border-radius: 3em;
  display: block;
  /* box-shadow: 0 8px 0 0 #eee; */
}

.vol-52 #about_mrc .link a {
  text-align: center;
  color: #fff;
  padding: 0.5em 1em;
  background: #ee5b5b;
  border-radius: 2em;
  display: inline-block;
  display: block;
  box-shadow: 0 5px 0 0 #ffe3e3;
}

@media screen and (min-width: 1000px) {
  .date_detail {
    padding: 60px 60px 0;
  }
}

@media screen and (min-width: 1280px) {
  .date_detail_item h4 {
    font-size: 18px;
  }

  .date_detail {
    text-align: center;
    position: relative;
  }

  .date_detail .endtxt {
    font-size: 1.4rem;
    margin-bottom: 0;
  }

  /* .date_detail_item {
    font-size: 20px;
  } */

  .date_detail_item .detail_txt .link {
    text-decoration: underline;
  }

  .checklist {
    color: #666;
    font-size: 12px;
  }

  .checklist a {
    text-decoration: underline;
  }

  .vol-52 #about_mrc .link a {
    max-width: 360px;
  }

  .btn-entry a {
    font-size: 24px;
  }
}

@media screen and (min-width: 900px) {
  #outline {
    padding-top: 45px;
    padding-bottom: 45px;
  }
}

/*====================================================
        individuals 
=====================================================*/
/* #inq  */
#inq.date_detail_item h4 {
  margin-bottom: 5px;
  letter-spacing: 0;
}

#inq.date_detail_item dl {
  font-size: 1.6rem;
  margin-bottom: 20px;
}

#inq.date_detail_item dt {
  color: #b09255;
}

#inq.date_detail_item dt span {
  padding: 5px 20px;
  background-color: #f5eccc;
}

#inq.date_detail_item dd:last-child {
  padding-top: 5px;
}

@media screen and (min-width: 768px) {
  #inq.date_detail_item dt span {
    padding: 5px 40px;
  }
}

/*==================================
       reco fair
==========================*/
.text-orange {
  color: #ff932f;
}

.text-brown {
  color: #724012;
}

#reco-fair {
  position: relative;
  border: #ff932f thin solid;
}

#reco-fair .notice {
  font-size: 14px;
  position: absolute;
  top: -35px;
  right: -15px;
  width: 80px;
  height: 80px;
  background-color: #ff932f;
  color: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}

#reco-fair h5 {
  color: #ff932f;
}

#reco-fair .feaver {
  position: relative;
}

#reco-fair .feaver::before {
  /*バックスラッシュ*/
  content: "＼";
  color: #724012;
  position: absolute;
  top: 0;
  left: -15px;
}

#reco-fair .feaver::after {
  content: "／";
  /*スラッシュ全角*/
  color: #724012;
  position: absolute;
  top: 0;
  right: -15px;
}

@media screen and (min-width: 1024px) {
  #reco-fair .notice {
    font-size: 16px;
    top: -15px;
    right: 30px;
    width: 100px;
    height: 100px;
  }

  #reco-fair .feaver::before {
    position: relative;
  }

  #reco-fair .feaver::after {
    position: relative;
  }
}

/*==================================

==========================*/
@media screen and (max-width: 768px) {
  .qr.pc {
    display: block;
    margin: auto;
  }
}

/*==================================
 #past
==========================*/
#past ul li {
  font-size: 14px;
  line-height: 1.6;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}