/*https://www.arluis.com/css/common.css*/


/*
@font-face {
  font-family: "BauerBodoniRoman";
  src: url('/font/BauerBodoniRoman?#iefix') format('embedded-opentype'), 
	   url('/font/BauerBodoniRoman.woff?') format('woff'); 
}
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&family=Noto+Serif+JP&display=swap');

.font__mincho {
	font-family: 'YuMincho', "Hiragino Mincho ProN", 'Noto Serif JP', 'ＭＳ Ｐ明朝', serif;
	transform: rotate(.03deg); 
}

.font__noto {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
}
.font__notomedi {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
}
.font__notoserif {
	font-family: 'Noto Serif JP', sans-serif;
}

.font__italic {
	font-style: italic;
}
.fontStyle__center {
	text-align: center;
}
.fontStyle__bold {
	font-weight: bold;
}

*/


/*== PC ==*/


html {
/*  scroll-padding-top: 80px;
  scroll-behavior: smooth;
scroll-snap-type: y mandatory;*/
}

html * img {
user-select: none;
pointer-events: none;
}


article {
  scroll-snap-align: start;
  scroll-snap-align: end;
}




footer{
  scroll-snap-align: end;
}



section.main {
  padding-top: 80px;
  width: 100%;
  min-width: 768px;
  height: calc(100vh - 80px);

  scroll-snap-align: start;
}

div.fixed_footer {
  display: flex;
  position: absolute;
  z-index: 3;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 95%;
  max-width: 530px;
  justify-content: space-between;
}

div.fixed_footer div {
  width: calc( 50% - 6.5px);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  padding: 14px 0;
border-radius: 4px;
    overflow: hidden;
}

div.fixed_footer div.left {
  background-color: #E8C75B;
  color: #000;
}

div.fixed_footer div.left a {
  color: #000;
}

div.fixed_footer div.right {
  background-color: #38291B;
  color: #fff;
}

div.fixed_footer div.right a {
  color: #fff;
}

span.catch {
  display: block;
  text-align: center;
  font-size: 12px;
  line-height: 23px;
  position: relative;
}

span.catch::before {
  content: "";
  width: 11px;
  height: 1px;
  position: absolute;
  background: #38291B;
  top: 50%;
  left: calc(50% - 5.5em);
  transform: translate(-50%, -50%) rotate(45deg);
}

div.right span.catch::before {
  background: #fff;
}

span.catch::after {
  content: "";
  width: 11px;
  height: 1px;
  position: absolute;
  background: #38291B;
  top: 50%;
  right: calc(50% - 6em);
  transform: translate(-50%, -50%) rotate(-45deg);
}

div.right span.catch::after {
  background: #fff;
}

span.ttl {
  display: block;
  text-align: center;
  font-size: 18px;
  line-height: 23px;
}

div.fixed_footer div.discussion_link a {
  display: block;
  width: 208px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 15px;
  line-height: 15px;
  font-weight: bold;
  color: #47382A;
  background-color: #E8C75B;
  border-radius: 50px;
  text-align: center;
  padding: 26.5px 0;
  margin: 0 14px;
}

section.main div.main_img {
  width: 100%;
  height: calc(100svh - 80px);
  position: relative;
}

section.main div.main_img img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  object-fit: cover;
}

section.main div.main_img img.logo {
  width: 188px;
  height: auto;
  aspect-ratio: 122/80;
  z-index: 1;
  top: 17%;
  left: 50%;
}

section.main div.main h1 {
  width: 100%;
  text-align: center;
  font-family: 'YuMincho', "Hiragino Mincho ProN", 'Noto Serif JP', 'ＭＳ Ｐ明朝', serif;
  color: #47382A;
  font-size: 24px;
  line-height: 35px;
  position: absolute;
  top: auto;
  bottom: 80px;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 1;
}

section.main div.main div.logo {
  position: absolute;
  top: 32%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 1;
  width: 270px;
  aspect-ratio: 165/140;
}

section.main div.main div.logo img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
}

img.move {
  transform-origin: bottom center;
  animation: yurayura 2s cubic-bezier(0.06, 0.6, 0.58, 1) infinite;
}

/*======== chapel =========*/

section.chapel_info {
  width: 100%;
  background-color: #F3F3F3;
  padding: 50px 0 10px 0;



}

section.chapel_info h2 {
  font-family: "BauerBodoniRoman";
  font-size: 30px;
  line-height: 32px;
  color: #47382A;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
}

section.chapel_info p {
  display: block;
  text-align: center;
  font-family: 'YuMincho', "Hiragino Mincho ProN", 'Noto Serif JP', 'ＭＳ Ｐ明朝', serif;
  font-size: 15px;
  line-height: 24px;
  color: #47382A;
  padding: 15px 0 50px 0;
}

div.chapel_info {
  display: flex;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  flex-direction: row;
  align-content: flex-start;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
}

div.chapel_info div.chapel {
  margin: 0;
  padding: 0;
  width: 85vw;
  min-width: 320px;
  max-width: 320px;
}

div.chapel_info div.image {
  position: relative;
  width: 100%;
  aspect-ratio: 32/14;
border-radius: 2px;
    overflow: hidden;
}

div.chapel_info div.image img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  object-fit: cover;
}

div.chapel_info div.text h3 {
  display: table-cell;
  text-align: center;
  font-family: 'YuMincho', "Hiragino Mincho ProN", 'Noto Serif JP', 'ＭＳ Ｐ明朝', serif;
  font-size: 17px;
  line-height: 26px;
  color: #47382A;
  font-weight: normal;
  height: 95px;
  vertical-align: middle;
  width: 320px;
}

div.chapel_info div.text p {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  text-align: center;
  padding: 0;
  box-sizing: border-box;
  font-size: 11px;
  line-height: 26px;
  color: #47382A;
}

div.chapel_info div.text p.lead {
  dsiplay: block;
  text-align: justify;
  font-size: 13px;
  line-height: 23px;
  padding: 30px 0;
  height: 152px;
}

div.chapel_info div.text p.caution {
  text-align: left;
  font-size: 11px;
  line-height: 19px;
}

div.chapel_link {
  dsiplay: block;
  width: 100%;
  padding: 30px 0 50px 0;
}

div.chapel_link a {
  display: block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  text-align: center;
  padding: 15px 0 15px 0;
  box-sizing: border-box;
  font-size: 15px;
  line-height: 17px;
  color: #47382A;
  background-color: #fff;
  border-radius: 40px;
  font-weight: bold;
  position: relative;
}

div.chapel_link span {
  display: block;
  background-color: #fff;
  width: 11px;
  height: 11px;
  position: absolute;
  top: calc( 50% - 5.5px);
  right: 15px;
  border-radius: 11px;
}

div.chapel_link span::before {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
}

div.chapel_link span::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 9px;
  height: 1px;
  background: #000;
}


/*======== 誘導枠 =========*/

section._link {
  padding-top: 0;
  position: relative;
  width: 100%;
  min-height: 705px;
}

section._link div.logo {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 1;
  width: 230px;
  aspect-ratio: 165/140;
}

section._link div.logo img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
}

section._link div.image {
  position: absolute;
  width: 100%;
  min-height: 705px;
  top: 0;
  left: 0;
  z-index: -1;
}

section._link div.image img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  object-fit: cover;
}

section._link div._link {
  width: 100%;
  text-align: center;
  padding-bottom: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

section._link div._link p {
  display: block;
  margin: 0 auto;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  text-align: center;
  padding: 20px 0;
  box-sizing: border-box;
  font-size: 15px;
  line-height: 25px;
  color: #fff;
}

section._link div.__link_lead {
  width: 85%;
  max-width: 512px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 60px;
  padding: 25px 0 20px 0;
  position: relative;
}

section._link div.__link_lead a p {
  display: block;
  padding: 0 0 15px 0;
  color: #47382A;
  font-weight: bold;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 18px;
  line-height: 20px;
}

section._link div.__link_lead span.free {
  display: inline-block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 11px;
  color: #fff;
  padding: 5px 15px;
  background-color: #47382A;
  border-radius: 21px;
}

section._link div.__link_lead span.arrow {
  background-color: #fff;
  width: 22px;
  height: 22px;
  display: block;
  position: absolute;
  top: calc( 50% - 11px);
  right: 15px;
  border-radius: 11px;
}

section._link div.__link_lead span.arrow::before {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 7px;
  width: 7px;
  height: 7px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
}

section._link div.__link_lead span.arrow::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 7px;
  width: 9px;
  height: 1px;
  background: #000;
}


/*======== menu =========*/

section.menu_area_ {
  width: 100%;
  margin: 0 auto;
  padding-top: 45px;
  opacity: 1;
  background-color: #fff;
  position: relative;
  padding-bottom: 45px;
  scroll-snap-align: start;
}

section#honobono.menu_area_ {
  padding-bottom: 60px;
}


div.menu_area {
  width: 85vw;
  max-width: 800px;
  margin: 0 auto;
  position: relative;
  padding-top: 80px;
  cursor: pointer;
}

div.menu_area div.image {
  width: 100%;
  height: 404px;
  position: relative;
  box-shadow: rgba(0, 0, 0, 0.45) 0px 47px 30px -40px;
border-radius: 2px;
    overflow: hidden;
}

div.menu_area div.image img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  object-fit: cover;
}

div.menu_area div.image h2 {
  font-family: 'YuMincho', "Hiragino Mincho ProN", 'Noto Serif JP', 'ＭＳ Ｐ明朝', serif;
  font-size: 25px;
  line-height: 40px;
  color: #47382A;
  text-align: center;
  position: absolute;
  width: 100%;
  top: 37%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 1;
}

div.menu_area div.image div.link {
  width: 100%;
  position: absolute;
  top: 88%;
  left: 50%;
  text-align: center;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 1;
  display: block;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
  color: #47382A;
  background-color: #fff;
  margin: 0 auto;
  width: 193px;
  text-align: center;
  padding: 20px 0;
  border-radius: 40px;
  letter-spacing: -0.01em;
}

div.menu_area div.image div.link a {}

div.menu_area div.image div.link span {
  background-color: #fff;
  width: 22px;
  height: 22px;
  display: block;
  position: absolute;
  top: calc( 50% - 11px);
  right: 15px;
  border-radius: 11px;
}

div.menu_area div.image div.link span::before {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 7px;
  width: 7px;
  height: 7px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
}

div.menu_area div.image div.link span::after {
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 7px;
  width: 9px;
  height: 1px;
  background: #000;
}

section.menu_area_ div.logo {
  position: absolute;
  top: 12%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 1;
  width: 193px;
  aspect-ratio: 165/140;
}

section.menu_area_ div.logo img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
}

.specialpresent {
  text-align: center;
  margin-bottom: 60px;
}
.specialpresent img {
  width: 600px;
}


/*======== モーダル =========*/

section.modal_area_ {
  display: none;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 14;
  background: rgba(255, 255, 255, 0);
  backdrop-filter: blur(30px) brightness(0.9);
  -webkit-backdrop-filter: blur(30px) brightness(0.9);
  cursor: pointer;
  overflow: auto;
  transition: all .3s ease;

}

.close_button {
  width: 40px;
  height: 40px;
  background-color: #E8C75B;
  position: sticky;
  top: 30px;
  left: calc(50% + 380px);
  z-index: 20;
  border: none;
  border-radius: 20px;
  cursor: pointer;
}

.close_button span::before, .close_button span::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 20px;
  background: #fff;
  display: block;
}

.close_button span::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.close_button span::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

section.modal_area_ div.modal_area_ {
  width: 90vw;
  max-width: 800px;
  position: relative;
  margin: 0 auto;
  padding-top: 10px;
  padding-bottom: 90px;
  background-color: transparent;
border-radius: 4px;
overflow: hidden;
}

section.modal_area_ div.modal_area_ div.image {
  width: 100%;
  height: 450px;
  position: relative;
border-radius: 2px;
    overflow: hidden;
}

section.modal_area_ div.modal_area_ div.image::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 70%;
  display: block;
  background: linear-gradient(to bottom, rgba(255, 255, 255, .8) 0%, rgba(255, 255, 255, 0) 100%);
  z-index: 1;
}

section.modal_area_ div.modal_area_ div.image img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  object-fit: cover;
}

section.modal_area_ div.logo {
  position: absolute;
  top: 160px;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: 2;
  width: 178px;
  aspect-ratio: 165/140;
}

section.modal_area_ div.logo img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 0;
  left: 0;
}

div.contents_area {
  width: 100%;
  background-color: #fff;
  padding-left: calc(50% - 250px);
  padding-right: calc(50% - 250px);
  box-sizing: border-box;
  padding-top: 65px;
  padding-bottom: 35px;
box-shadow: rgba(0, 0, 0, 0.45) 0px 47px 30px -40px;
}


div.contents_area1 {
padding-bottom: 0;
box-shadow: rgba(0, 0, 0, 0) 0px 47px 30px -40px;
}

div.contents_area h3 {
  width: 100%;
  font-family: 'YuMincho', "Hiragino Mincho ProN", 'Noto Serif JP', 'ＭＳ Ｐ明朝', serif;
  text-align: center;
  box-sizing: border-box;
  font-size: 19px;
  line-height: 33px;
  color: #47382A;
  padding-bottom: 25px;
}

div.contents_area .contents_area_img {
  padding: 0 0 0 0;
  text-align: center;
  border-radius: 4px;
  overflow: hidden;
  position: relative;
}

div.contents_area .contents_area_img div#count {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
font-size: 21px;
line-height: 58px;
color: #E8C75B;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
z-index: 1;
}

div.contents_area .contents_area_img div#count2 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: bold;
font-size: 13px;
line-height: 30px;
color: #E8C75B;
  position: absolute;
  top: 100px;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
z-index: 1;
background-color: #fff;
border-radius: 50%;
width: 132px;
height: 132px;
box-sizing: border-box;
padding-top: 20px;
}


div.contents_area .contents_area_img div#count2 p.count{
font-size: 50px;
line-height: 50px;
display: inline;
}


div.contents_area .contents_area_img div.cap01,
div.contents_area .contents_area_img div.cap02 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
font-size: 11px;
color: #000;
position: absolute;
z-index:2;
  top: 50px;
  left: 33%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}

div.contents_area .contents_area_img div.cap02 {
  top: 160px;
}





div.contents_area .contents_area_img div#count p.count{
font-size: 58px;
line-height: 58px;
display: inline;
}

div.contents_area .contents_area_img svg {
width: 240px;
height: auto;
}







div.contents_area .contents_area_img img {
  max-width: 100%;
  height: auto;
}

div.contents_area .contents_area_text {
  display: block;
  text-align: justify;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  padding: 20px 0;
  box-sizing: border-box;
  font-size: 14px;
  line-height: 26px;
  color: #47382A;
}

div.contents_area .contents_area_text p {
  display: block;
  text-align: justify;
  font-size: 14px;
  line-height: 26px;
}

div.contents_area .contents_area_text p.caution {
  text-align: left;
  font-size: 11px;
  line-height: 26px;
}

div.contents_area .contents_area_text p.shutten {
  display: block;
  padding-top: 30px;
  text-align: center;
  font-size: 11px;
  line-height: 23px;
}












figure {
  background-color: #fff;
  display: block;
  height: 0;
  margin: 0 auto;
  position: relative;
  font-size:16px;
  font-size:1vw;
  width: 100%;
  padding-bottom: 200px;
}

div.contents_area .contents_area_img figure svg.graph {
  display: block;
width: 200px;
height: auto;
  position: absolute;
  top: 0;
  left: 50%;
  overflow: visible;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

circle {
  fill:rgba(0,0,0,0);
  stroke-width:31.8309886184;
  stroke-dasharray: 0,0,0,100;
  stroke-dashoffset: 25;
  animation: pie1 3s ease both;
}
.pie1 {
stroke:hsl(43.5, 74.1%, 63.1%);
}
.pie2 {
  stroke:hsl(0, 0%, 87.5%);
  animation: pie2 4s ease both;
}
.pie3 {
  stroke:hsl(0, 0%, 94.1%);
  animation: pie3 5s ease both;
}




@keyframes pie1 {
  50%,100% {stroke-dasharray: 42,58,0,0;}
}

@keyframes pie2 {
  50%,100% {stroke-dasharray: 0,42,35,55;}
}

@keyframes pie3 {
  50%,100% {stroke-dasharray: 0,77,23,10;}
}

svg [id^="gp"] {
opacity: 0;
}





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


/*== SP ==*/




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

html {
  scroll-padding-top: 47px;
}


footer{
  scroll-snap-align: start;
}


  section.main {
    padding-top: 50px;
    min-width: 100%;
    height: calc(100svh - 50px);
  }
  div.fixed_footer {
    position: fixed;
bottom: 10px;
  }
  div.fixed_footer div {
    width: calc( 50% - 5px);
    padding: 10px 0;
  }
  span.catch {
    display: block;
    text-align: center;
    font-size: 9px;
    line-height: 23px;
    position: relative;
  }
  span.ttl {
    display: block;
    text-align: center;
    font-size: 14px;
    line-height: 23px;
  }
  section.main div.main_img {
    width: 100%;
    height: calc(100svh - 50px);
    display: flex;
  }
  section.main div.main_img img.logo {
    width: 122px;
    height: auto;
    aspect-ratio: 122/80;
    z-index: 1;
    top: 17%;
    left: 50%;
  }
  section.main div.main h1 {
    font-size: 16px;
    line-height: 28px;
    top: 77%;
    bottom: auto;
    left: 50%;
  }
  section.main div.main div.logo {
    position: absolute;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 1;
    width: 226px;
    aspect-ratio: 165/140;
  }
  /*======== chapel =========*/
  section.chapel_info {
    width: 85%;
    background-color: #F3F3F3;
    padding: 37px 7.5% 0 7.5%;
  }
  section.chapel_info h2 {}
  section.chapel_info p {
    font-size: 13px;
  }
  div.chapel_info {
    display: flex;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    flex-direction: column;
    align-content: center;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
  }
  div.chapel_info div.text h3 {}
  div.chapel_info div.text p {}
  /*======== 誘導枠 =========*/
  section._link {
    padding-top: 0;
    position: relative;
    width: 100%;
    min-height: 550px;
  }
  section._link div.image {
    position: absolute;
    width: 100%;
    min-height: 550px;
    top: 0;
    left: 0;
    z-index: -1;
  }
  section._link div._link {
    width: 100%;
    text-align: center;
    padding-bottom: 20px;
    position: absolute;
    top: 55%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }
  section._link div._link p {
    display: block;
    margin: 0 auto;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    text-align: center;
    padding: 20px 0;
    box-sizing: border-box;
    font-size: 15px;
    line-height: 25px;
    color: #fff;
  }
  section._link div.logo {
    position: absolute;
    top: 20%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: 1;
    width: 150px;
    aspect-ratio: 165/140;
  }
  section._link div.logo img {
    width: 100%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
  }
  /*======== menu =========*/
  section.menu_area_ {
    padding-top: 0;
  }
  div.menu_area {
    width: 85vw;
    max-width: 742px;
    margin: 0 auto;
    position: relative;
    padding-top: 100px;
  }
  div.menu_area div.image {
    width: 100%;
    height: 404px;
    position: relative;
border-radius: 2px;
    overflow: hidden;
  }
  div.menu_area div.image img {}
  div.menu_area div.image h2 {
    top: 26%;
    left: 50%;
    font-size: 20px;
    line-height: 30px;
  }
  section.menu_area_ div.logo {
    position: absolute;
    top: 90px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 141px;
    aspect-ratio: 165/140;
  }
  section.modal_area_ div.modal_area_ {
    padding-top: 0;
  }
  section.modal_area_ div.logo {
    position: absolute;
    top: 117px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 178px;
    aspect-ratio: 165/140;
  }
  .close_button {
    width: 40px;
    height: 40px;
    background-color: #E8C75B;
    top: 20px;
    left: calc(85vw + 10px);
    z-index: 15;
    border: none;
    border-radius: 20px;
  }
  div.contents_area {
    width: 100%;
    background-color: #fff;
    padding-left: 7.5%;
    padding-right: 7.5%;
    box-sizing: border-box;
    padding-top: 25px;
    padding-bottom: 35px;
  }


div.contents_area1 {
  padding-bottom: 0;
}


  div.contents_area h3 {
    width: 100%;
    font-family: 'YuMincho', "Hiragino Mincho ProN", 'Noto Serif JP', 'ＭＳ Ｐ明朝', serif;
    text-align: center;
    box-sizing: border-box;
    font-size: 19px;
    line-height: 27px;
    white-space: nowrap;
  }

.specialpresent img {
  width: 84%;
}
/*円グラフとそのアニメーション*/
/*
figure {
  background-color: #fff;
  display: block;
  height: 0;
  margin: 0 auto;
  position: relative;
  font-size:16px;
  font-size:1vw;
  width: 40em;
  padding-bottom: 40em;
}

figure svg {
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: visible;
}
*/

}


/*======== keyframes =========*/

div.menu_area div.logo {
  opacity: 0;
  transition: all .5s ease-out;
}

div.menu_area.active div.logo {
  opacity: 1;
}

div.menu_area div.image {
  opacity: 0;
  transform: translateY(30px);

}

div.menu_area.active div.image {
  animation: fadeup 1.5s;
  opacity: 1;
  transform: translateY(0);
box-shadow: rgba(0, 0, 0, 0.45) 0px 47px 30px -40px;
}

@keyframes fadeup {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  80% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes bunbun {
  0%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(2vw);
  }
  50% {
    transform: translateX(0);
  }
  75% {
    transform: translateX(-2vw);
  }
}

@keyframes yurayura {
  0%, 100% {
    transform: rotate(5deg);
  }
  50% {
    transform: rotate(-5deg);
  }
}

