@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPMincho&display=swap');

#stage{
  padding-bottom: 60px;
}


/*-----------------------------
　　fv
------------------------------*/
.fv_wrap{
  background: url("../images/index/fv_bg2.jpg") no-repeat top center /cover;
  margin-bottom: 80px;
}
.fv_wrap .wrapper{
  width: 100%;
  max-width: 1024px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ph_wrap{
  flex-basis: 50%;
  max-width: 512px;
  order: 1;
}
.txt_wrap{
  flex-basis: 50%;
  order: 2;
}
.txt_wrap .txt1{
  text-align: center;
  font-size: 3rem;
  letter-spacing: .02em;
  font-family: 'BIZ UDPMincho', serif;
}
.txt_wrap .txt1:nth-of-type(2){
    color: #9d1f15;
}
.slide-items {
  width: 100%;
  height: 100%;
}

.anim1{
  animation-name: fadein1;
  animation-duration: 3s;
}
@keyframes fadein1{
  from {
    opacity: 0;
    transform: translatey(-20px);
    color: #9d1f15;
  }
  to {
    opacity: 1;
    transform: translatey(0);
    color: #401C0C;
  }
}
.anim2{
  animation-name: fadein2;
  animation-duration: 3s;
}
@keyframes fadein2{
  from {
    opacity: 0;
    color: #401C0C;
  }
  to {
    opacity: 1;
    color: #9d1f15;
  }
}
.anim3{
  animation-name: fadein3;
  animation-duration: 3s;
}
@keyframes fadein3{
  from {
    opacity: 0;
    transform: translatey(20px);
    color: #9d1f15;
  }
  to {
    opacity: 1;
    transform: translatey(0);
    color: #401C0C;
  }
}
@media screen and (max-width: 768px) {
.fv_wrap{
  margin-bottom: 10%;
  background-image: none;
}
.fv_wrap .wrapper{
  display: block;
}
.ph_wrap{
  padding: 0 12%;
}
.txt_wrap{
  margin-bottom: 5%;
}
.txt_wrap .txt1{
  font-size: 6.4vw;
  line-height: 1.26;
}
}






/*-----------------------------
　　isyoten
------------------------------*/
.isyoten_wrap{
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  margin-bottom: 80px;
  box-sizing: border-box;
  box-shadow: 0px 8px 16px -2px rgba(10,10,10,0.1), 0px 0px 0px 1px rgba(10,10,10,0.02);
}
.isyoten_wrap * {
  color: var(--main-mycolor);;
  font-family: 'Noto Serif JP', serif;
}
.isyoten_wrap .guideline_inn{
  flex-basis: 55%;
  padding: 2em 0;
}
.isyoten_wrap figure{
  line-height: 0;
}
.isyoten_wrap .isyoten_ttl{
  text-align: center !important;
  font-size: 6.4rem;
  font-weight: bold;
  letter-spacing: .05em;
}
.isyoten_wrap .fix01{
  color: #ffffff;
  font-size: 2.4rem;
  font-weight: bold;
  background: var(--main-mycolor);;
  padding: 10px 20px;
  border-radius: 5px;
  margin: .5em auto .5em;
  max-width: 192px;
  letter-spacing: .1em;
  line-height: 1;
  text-align: center;
}
.isyoten_wrap .fix02{
  font-size: 2.4rem;
  font-weight: bold;
  margin: auto;
  text-align: center;
}
.isyoten_wrap .date_inn{
  margin: .5em auto 14em;
}
.isyoten_wrap .date_inn.kaisai{
  margin-bottom: 5em;
  /*margin-top: 3em;
  margin-bottom: 5em;*/
}
.isyoten_wrap .date_inn.kaisai .day{
  font-size: 4rem;
}
.isyoten_wrap .date_inn.kaisai .day + .day{
  margin-top: .8em;
}
.isyoten_wrap .date_inn.kaisai .day.sm{
  font-size: 2.6rem;
  text-align: left;
  padding: 0 1em;
}
.isyoten_wrap .date_inn *{
  text-align: center;
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: -.01em;
}
.isyoten_wrap .sub_img{
  text-align: center;
  margin-bottom: .5em;
}
.isyoten_wrap .sub_img img{
  display: inline-block;
  margin: auto;
}
.isyoten_wrap .common_btn{
  max-width: 388px;
}
.isyoten_wrap .common_btn.non_date{
  margin-top: 14em;
}


@media screen and (max-width: 768px) {
  .isyoten_wrap{
    width: 94%;
    margin-bottom: 10%;
    display: block;
  }
  .isyoten_wrap .guideline_inn{
    flex-basis: 100%;
    padding: 1.2em 0 1.5em;
  }
  .isyoten_wrap .isyoten_ttl{
    font-size: 9.2vw;
  }
  .isyoten_wrap .fix01{
    width: 60%;
    font-size: 4.8vw;
    padding: 1.8% 8%;
    max-width: inherit;
  }
  .isyoten_wrap .fix02{
    font-size: 4.6vw;
  }
  .isyoten_wrap .date_inn{
    max-width: 100%;
    margin: 2% auto 3%;
  }
  .isyoten_wrap .date_inn.kaisai{
    margin-top: 3%;
    margin-bottom: 3%;
  }
  .isyoten_wrap .date_inn.kaisai .day{
    font-size: 6vw;
  }
  .isyoten_wrap .date_inn.kaisai .day.sm{
    font-size: 4.8vw;
    padding: 0 1em;
  }
  
  .isyoten_wrap .date_inn *{
    font-size: 5.6vw;
    white-space: nowrap;
  }
  .isyoten_wrap .sub_img img{
    width: 60%;
    height: auto;
  }
  .isyoten_wrap .common_btn.non_date{
    margin-top: 5%;
  }
}
@media screen and (orientation: landscape) and (max-width: 767px){
  .isyoten_wrap{
    margin-bottom: 18%;
    margin-top: 0%;
  }
  .isyoten_wrap .guideline_inn{
    padding-bottom: 2em;
  }
  .isyoten_wrap figure{
    display: none;
  }
  .isyoten_wrap .common_btn{
    max-width: inherit;
  }
}






/*-----------------------------
　　concept
------------------------------*/

#contentsInner .concept {
	width:98%;
	margin:0 auto 60px auto;
}
#contentsInner .concept h2 {
	font-size: 2.2rem;
  font-family: 'Noto Serif JP', serif;
  color: var(--main-mycolor);
	font-weight:bold;
	text-align:left;
	margin-bottom: 10px;
  border-left: 5px solid var(--main-mycolor);
  padding-left: 8px;
}
#contentsInner .concept p {
	text-align:left;
}

@media screen and (max-width: 768px) {
  #contentsInner .concept {
    margin: 0 auto 10% auto;
  }
  #contentsInner .concept h2 {
    font-size: 4.8vw;
    margin-bottom: 3%;
    padding-left: 3%;
  }
  #contentsInner .concept p {
  }
}




/*-----------------------------
　　page_link
------------------------------*/
.page_link_wrap{
  position: relative;
  width: 100%;
  display: flex;
  justify-content: space-between;
  background: #f9f3f1;
  margin-bottom: 55px;
}
.ribbon {  
  display: inline-block;
  position: absolute;
  top: -6px;
  right: 10px;
  margin: 0;
  padding: 10px 0;
  z-index: 2;
  width: 166px;
  line-height: 1.4;
  text-align: center;
  color: #ffffff !important;
  font-size: 1.6rem;
  letter-spacing: .05em !important;
  background: #d38caa;
  border-radius: 2px 0 0 0;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}
.ribbon:before {
  position: absolute;
  content: '';
  top: 0;
  right: -6px;
  border: none;
  border-bottom: solid 6px #b3708c;
  border-right: solid 6px transparent;
}

.page_link_wrap *{
  color: var(--main-mycolor);
  font-family: 'Noto Serif JP', serif;
}
.page_link_wrap + .page_link_wrap{
  margin-top: 47px;
}
.page_link_wrap.reverse{
  flex-direction: row-reverse;
}
.page_link_wrap figure{
  line-height: 0;
}
.page_link_wrap.reverse figure{
  text-align: right;
}

.page_link_wrap .txt_wrap{
  padding: 100px 54px 55px;
}
.page_link_wrap .txt_wrap .page_ttl{
  font-size: 2.4rem;
  text-align: center;
  letter-spacing: .1em;
  margin-bottom: 70px;
}
.page_link_wrap .txt_wrap .page_ttl span{
  display: inline-block;
  position: relative;
}
.page_link_wrap .txt_wrap .page_ttl span::before,
.page_link_wrap .txt_wrap .page_ttl span::after{
  position: absolute;
  content: "";
  background: var(--main-mycolor);
  width: 32px;
  height: 1px;
  top: 50%;
  transform: translateY(-50%);
}
.page_link_wrap .txt_wrap .page_ttl span::before{
  left: -45px;
}
.page_link_wrap .txt_wrap .page_ttl span::after{
  right: -45px;
}
.page_link_wrap .txt_wrap .page_txt p{
  font-size: 1.8rem;
  text-align: center;
}
.page_link_wrap .txt_wrap .page_txt p + p{
  margin-top: 20px;
}
.page_link_wrap .common_btn{
  max-width: 388px;
  margin-top: 120px;
}
.page_link_wrap.page_furisode .common_btn{
  margin-top: 80px;
}

@media screen and (max-width: 768px) {
  .page_link_wrap{
    display: block;
    margin-bottom: 10%;
  }
  .ribbon {  
    top: -4px;
    right: 6px;
    padding: 5px 0;
    width: 120px;
    line-height: 1.2;
    font-size: 3.5vw;
  }
  .ribbon:before {
    right: -4px;
    border-bottom: solid 4px #b3708c;
    border-right: solid 4px transparent;
  }
  .page_link_wrap + .page_link_wrap{
    margin-top: 5%;
  }
  .page_link_wrap .txt_wrap{
    padding: 6.4% 8%;
  }
  .page_link_wrap .txt_wrap .page_ttl{
    font-size: 6vw;
    margin-bottom: 6.8%;
    line-height: 1.26;
  }
  .page_link_wrap .txt_wrap .page_ttl + figure{
    text-align: center;
    padding: 0 15% 5%;
  }
  .page_link_wrap .txt_wrap .page_ttl span::before,
  .page_link_wrap .txt_wrap .page_ttl span::after{
    width: 8vw;
    height: 1px;
  }
  .page_link_wrap .txt_wrap .page_ttl span::before{
    left: -10.6vw;
  }
  .page_link_wrap .txt_wrap .page_ttl span::after{
    right: -10.6vw;
  }
  .page_link_wrap .txt_wrap .page_txt p{
    font-size: 4vw;
  }
  .page_link_wrap .txt_wrap .page_txt p + p{
    margin-top: 5%;
  }
  .page_link_wrap .common_btn{
    margin-top: 10vw !important;
  }
}
/*-----------------------------
　　sub_link
------------------------------*/
.sub_link_wrap{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 55px;
}
.sub_link_wrap *{
  color: var(--main-mycolor);
  font-family: 'Noto Serif JP', serif;
}
.sub_link_wrap .sub_link_inn{
  border: 1px solid #F9F3F1;
  box-shadow: 0px 4px 8px -2px rgba(10,10,10,0.1), 0px 0px 0px 1px rgba(10,10,10,0.02);
  width: calc((100% - 19px * 2) / 3);
  padding: 28px 28px 26px;
}
.sub_link_wrap .sub_link_inn .sub_ttl_wrap{
  display: table;
  margin: auto;
  margin-bottom: 16px;
}
.sub_link_wrap .sub_link_inn .sub_ttl_wrap .sub_page_ttl{
  position: relative;
  text-align: center;
  color: var(--main-mycolor);
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: .1em;
}
.sub_link_wrap .sub_link_inn .sub_ttl_wrap p{
  text-align: center;
  font-size: 1.4rem;
}
.sub_link_wrap .sub_link_inn .sub_ttl_wrap .sub_page_ttl span.sm{
  font-size: 1.6rem;
}
.sub_link_wrap .sub_link_inn .sub_ttl_wrap .sub_page_ttl span.line{
  position: relative;
  display: inline-block;
}
.sub_link_wrap .sub_link_inn .sub_ttl_wrap .sub_page_ttl span.line::before,
.sub_link_wrap .sub_link_inn .sub_ttl_wrap .sub_page_ttl span.line::after{
  position: absolute;
  content: "";
  background: var(--main-mycolor);
  width: 32px;
  height: 1px;
  top: 50%;
  transform: translateY(-50%);
}
.sub_link_wrap .sub_link_inn .sub_ttl_wrap .sub_page_ttl span.line::before{
  left: -45px;
}
.sub_link_wrap .sub_link_inn .sub_ttl_wrap .sub_page_ttl span.line::after{
  right: -45px;
}
.sub_link_wrap .sub_link_inn .sub_ttl_wrap + figure{
  text-align: center;
}
.sub_link_wrap .sub_link_inn .sub_ttl_wrap + figure + p{
  font-size: 1.4rem;
}
.sub_link_wrap .sub_link_inn .sub_ttl_wrap .txt{
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .sub_link_wrap{
    display: block;
    margin-bottom: 10%;
  }
  .sub_link_wrap .sub_link_inn{
    width: 100%;
    padding: 5% 3%;
  }
  .sub_link_wrap .sub_link_inn + .sub_link_inn{
    margin-top: 5%;
  }
  .sub_link_wrap .sub_link_inn .sub_ttl_wrap{
    margin-bottom: 3%;
  }
  .sub_link_wrap .sub_link_inn .sub_ttl_wrap .sub_page_ttl{
    font-size: 5.6vw;
    margin-bottom: 5%;
  }
  .sub_link_wrap .sub_link_inn .sub_ttl_wrap p{
    font-size: 3.8vw;
  }
  .sub_link_wrap .sub_link_inn .sub_ttl_wrap .sub_page_ttl span.sm{
    font-size: 3.8vw;
  }
  .sub_link_wrap .sub_link_inn .sub_ttl_wrap .sub_page_ttl span.line::before,
  .sub_link_wrap .sub_link_inn .sub_ttl_wrap .sub_page_ttl span.line::after{
    width: 8vw;
  }
  .sub_link_wrap .sub_link_inn .sub_ttl_wrap .sub_page_ttl span.line::before{
    left: -10.6vw;
  }
  .sub_link_wrap .sub_link_inn .sub_ttl_wrap .sub_page_ttl span.line::after{
    right: -10.6vw;
  }
  .sub_link_wrap .sub_link_inn .sub_ttl_wrap + figure + p{
    font-size: 3.6vw;
  }
  .sub_link_wrap .sub_link_inn .sub_ttl_wrap .txt{
    font-size: 3.8vw;
    margin-top: 5%;
  }
}

/*-----------------------------
　　contct_btn_wrap
------------------------------*/
.contct_btn_wrap{
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.contct_btn_wrap .contact_btn{
  width: calc((100% - 42px) / 2);
}
.contct_btn_wrap .contact_btn a{
  position: relative;
  display: block;
  background: #F9F3F1;
  border: 6px solid #eee3e0;
  height: 180px;
  line-height: 170px;
  font-size: 2.4rem;
  font-family: 'Noto Serif JP', serif;
  color: var(--main-mycolor);
  text-align: center;
  margin: auto;
}
.contct_btn_wrap .contact_btn a::before{
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 0 9px 10px;
  border-color: transparent transparent transparent var(--main-mycolor);;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.contct_btn_wrap .contact_btn a span {
  display:inline-block;
  transition: .5s;
}
.contct_btn_wrap .contact_btn a:hover span {
  transform: rotateX(360deg);
}

@media screen and (max-width: 768px) {
  .contct_btn_wrap{
    display: block;
  }
  .contct_btn_wrap .contact_btn{
    width: 100%;
  }
  .contct_btn_wrap .contact_btn + .contact_btn{
    margin-top: 5%;
  }
  .contct_btn_wrap .contact_btn a{
    width: 92%;
    font-size: 4.2vw;
    padding: 8% 0;
    height: auto;
    line-height: 1;
  }
  .contct_btn_wrap .contact_btn a::before{
    border-width: 1.6vw 0 1.6vw 1.867vw;
  }
}


















