@charset "UTF-8";
/* CSS Document */




/*top*/
.top .header_main_img header {
  /*padding-top: 90px;*/
  padding-top: 5vh;
}
.top .header_main_img .main_img {
  /*height: 1000px;*/
  height: 100vh;
}
.top .header_main_img .main_img .slide {
  width: 100%;
  height: 100%;
}
.top .header_main_img .main_img p {
  /*height: 1000px;*/
  height: 100vh;
}
.top .header_main_img .main_img picture {
  /*height: 1000px;*/
  height: 100vh;
}
.top .header_main_img .main_img .slide .slide-animation {
  animation: zoomUp 10s linear 0s normal both;
}
@keyframes zoomUp {
  0% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
.top main .news {
  padding-bottom: 200px;
}
.top main .news h3 {
  text-align: center;
  font-size: 3.0rem;
  font-weight: 600;
  letter-spacing: .5em;
  margin-bottom: 3em;
}
.top main .news .list {
  margin-bottom: 60px;
}
.top main .news .list section {
  display: flex;
  font-size: 1.8rem;
  letter-spacing: .15em;
}
.top main .news .list section:not(:first-of-type) {
  padding-top: 20px;
}
.top main .news .list section:not(:last-of-type) {
  padding-bottom: 20px;
  border-bottom: solid 1px #333333;
}
.top main .news .list section time {
  display: block;
  width: 160px;
}
.top main .news .list section p {
  width: calc(100% - 160px);
}
.top main .news .more {
  display: flex;
  justify-content: flex-end;
}
.top main .news .more a {
  position: relative;
  display: block;
  font-size: 1.8rem;
  padding-right: 3.33em;
}
.top main .news .more a::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 0;
  width: 1.88em;
  height: .55em;
  background: url(../img/common/contact_arrow.svg) no-repeat center center;
  background-size: cover;
  transition: .3s;
  content: '';
}
.top main .about {
  position: relative;
  z-index: 1;
  height: 1050px;
  overflow: hidden;
}
.top main .about .mw1080 {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  height: 100%;
}
.top main .about .mw1080 .box {
  color: #FFF;
  padding-right: 20px;
  padding-bottom: 60px;
}
.top main .about .mw1080 .box h3 {
  font-size: 3.0rem;
  font-weight: 600;
  letter-spacing: .35em;
  margin-bottom: 1.5em;
}
.top main .about .mw1080 .box .comment {
  font-size: 1.8rem;
  line-height: 2.0;
  letter-spacing: .15em;
}
.top main .about .img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: calc(100% - 340px);
  height: 1050px;
}
.top main .about .img::after {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  width: 700px;
  height: 100%;
  background: linear-gradient(90deg,rgba(199, 210, 56, 0) 0%, rgba(199, 210, 56, 1) 45%);
  mix-blend-mode: multiply;
  content: '';
}
.top main .about .img picture {
  width: 100%;
  height: 1050px;
}
.top main .about .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top main .about + .contact_link01 {
  padding-top: 100px;
  padding-bottom: 200px;
}
.top main .grave {
  background: #d2be58;
  padding-top: 200px;
  padding-bottom: 200px;
}
.top main .grave .img {
  margin-bottom: 100px;
}
.top main .grave h3 {
  text-align: center;
  font-size: 3.0rem;
  font-weight: 600;
  letter-spacing: .5em;
  text-indent: .5em;
  margin-bottom: 2.2em;
}
.top main .grave .comment {
  margin-bottom: 60px;
}
.top main .grave .comment p {
  text-align: center;
  font-size: 1.8rem;
  line-height: 2.7;
  letter-spacing: .25em;
}
.top main .grave .btn ul {
  width: 100%;
  display: flex;
}
.top main .grave .btn ul li {
  width: calc(((100% - (50px * 2)) / 2));
}
.top main .grave .btn ul li:not(:last-of-type) {
  margin-right: 50px;
}
.top main .grave .btn ul li a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  border: solid 2px #FFF;
  font-size: 1.8rem;
  padding: 1em 0;
  transition: .6s linear;
}
.top main .grave .btn ul li a::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left:0;
  width: 0;
  display: block;
  background: #FFF;
  transition: .6s;
  content: '';
}
.top main .grave .btn ul li a::after {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 1em;
  width: 1.88em;
  height: .55em;
  background: url(../img/common/contact_arrow_white.svg) no-repeat center center;
  background-size: cover;
  transition: .6s;
  content: '';
}
.top main .grave .btn ul li a:hover {
  color: #d2be58;
}
.top main .grave .btn ul li a:hover::before {
  width: 100%;
  z-index: -1;
}
.top main .grave .btn ul li a:hover::after {
  background: url(../img/common/contact_arrow.svg) no-repeat center center;
  background-size: cover;
  transition: .6s .6s;
  content: '';
}
.top main .grave .btn ul li a span {
  display: block;
  font-size: 1.8rem;
  letter-spacing: .3em;
}
.top main .loop_img {
  padding-top: 300px;
}
.top main .loop_img .slick-track {
  display: flex !important;
}
.top main .loop_img .slick-slide {
  height: auto !important;
}
.top main .loop_img .slick-slide > div {
  height: 100% !important;
}
.top main .loop_img p {
  width: 965px !important;
}
.top main .access {
  padding-top: 200px;
  padding-bottom: 200px;
  display: flex;
}
.top main .access .gmap {
  width: calc(100% - 450px);
  height: 500px;
}
.top main .access .gmap iframe {
  width: 100%;
  height: 100%;
}
.top main .access .box_r {
  width: 450px;
  padding-left: 50px;
  display: flex;
  flex-direction: column;
}
.top main .access .box_r h3 {
  font-size: 3.0rem;
  font-weight: 600;
  letter-spacing: .5em;
  margin-bottom: .6em;
}
.top main .access .box_r h4 {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: .15em;
  margin-bottom: 1.2em;
}
.top main .access .box_r address {
  display: block;
  font-size: 1.8rem;
  letter-spacing: .15em;
  margin-bottom: 1.2em;
}
.top main .access .box_r address p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.top main .access .box_r .contact_link01 {
  margin-top: auto;
}






/*access*/
.access main .info .gmap {
  height: 860px;
  margin-bottom: 100px;
}
.access main .info .gmap iframe {
  width: 100%;
  height: 100%;
}
.access main .info .box {
  margin-bottom: 200px;
}
.access main .info .box section:not(:last-of-type) {
  margin-bottom: 150px;
}
.access main .info .box section h4 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
}
.access main .info .box section h4 span {
  position: relative;
  width: 350px;
  font-size: 3.0rem;
  font-weight: 600;
  letter-spacing: .5em;
  text-indent: .5em;
  padding: .4em 0;
  text-align: center;
}
.access main .info .box section h4 span::before ,
.access main .info .box section h4 span::after {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: #333333;
  content: '';
}
.access main .info .box section h4 span::before {
  top: 0;
}
.access main .info .box section h4 span::after {
  bottom: 0;
}
.access main .info .box section address {
  display: block;
  font-size: 3.0rem;
  margin-bottom: 1.2em;
  text-align: center;
  letter-spacing: .15em;
}
.access main .info .box section address span {
  margin-right: 1em;
  letter-spacing: .15em;
}
.access main .info .box section .tel {
  font-size: 3.0rem;
  text-align: center;
  letter-spacing: .15em;
}
.access main .info .box section .parking {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.access main .info .box section .parking p {
  text-align: center;
}
.access main .info .box section .parking p:nth-of-type(1) {
  font-size: 1.8rem;
  letter-spacing: .15em;
  line-height: 2.8;
  margin-bottom: 1.5em;
}
.access main .info .box section .parking p:nth-of-type(2) {
  font-size: 3.0rem;
  letter-spacing: .15em;
}
.access main .info .box section .etc {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: -40px;
}
.access main .info .box section .etc dl {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin: 0 25px;
  margin-bottom: 40px;
}
.access main .info .box section .etc dl dt {
  border: solid 1px #333333;
  font-size: 2.5rem;
  letter-spacing: .35em;
  text-align: center;
  padding: .2em 0;
  margin-bottom: .4em;
  width: 350px;
}
.access main .info .box section .etc dl dd {
  font-size: 1.8rem;
  letter-spacing: .15em;
  text-align: center;
}





/*about*/
.about main .info {
  margin-bottom: 100px;
}
.about main .info h4 {
  text-align: center;
  font-size: 3.0rem;
  font-weight: 600;
  letter-spacing: .5em;
  margin-bottom: 2em;
}
.about main .info .comment {
  font-size: 1.8rem;
}
.about main .info .comment p {
  letter-spacing: .15em;
  line-height: 2.7;
}
.about main .info .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.about main .loop_img .slick-track {
  display: flex !important;
}
.about main .loop_img .slick-slide {
  height: auto !important;
}
.about main .loop_img .slick-slide > div {
  height: 100% !important;
}
.about main .loop_img p {
  width: 965px !important;
}
.about main .event {
  padding-top: 150px;
  padding-bottom: 150px;
}
.about main .event .box {
  width: 750px;
  margin: 0 auto;
  margin-bottom: 150px;
}
.about main .event .box table {
  width: 100%;
  margin-bottom: 10px;
}
.about main .event .box table tr th ,
.about main .event .box table tr td {
  font-size: 1.8rem;
  letter-spacing: .25em;
  padding: .8em 1em;
  border-bottom: solid 1px #dddbc6;
}
.about main .event .box table tr:nth-of-type(1) th ,
.about main .event .box table tr:nth-of-type(1) td {
  border-top: solid 1px #dddbc6;
}
.about main .event .box table tr th {
  border-right: solid 1px #dddbc6;
  width: 200px;
}
.about main .event .box table tr td {
  width: calc(100% - 200px);
}
.about main .event .box p {
  font-size: 1.8rem;
  letter-spacing: .25em;
}
.about main .about_img {
  height: 710px;
}
.about main .about_img p {
  height: 100%;
}
.about main .about_img p img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about main .about01 {
  background: #d2be58;
}
.about main .about01 .mw1080 ,
.about main .about02 .mw1080 {
  padding-top: 100px;
  padding-bottom: 200px;
}
.about main .about01 section:not(:last-of-type) ,
.about main .about02 section:not(:last-of-type) {
  margin-bottom: 80px;
}
.about main .about01 h4 ,
.about main .about02 h4 {
  text-align: center;
  font-size: 3.0rem;
  font-weight: 600;
  letter-spacing: .5em;
  margin-bottom: 1.3em;
}
.about main .about01 .img ,
.about main .about02 .img {
  margin-bottom: 50px;
}
.about main .about01 h5 ,
.about main .about02 h5 {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: .35em;
  margin-bottom: 1.5em;
}
.about main .about01 .comment ,
.about main .about02 .comment {
  font-size: 1.8rem;
  letter-spacing: .15em;
  line-height: 2.7;
}
.about main .about01 .comment p:not(:last-of-type) ,
.about main .about02 .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}





/*grave*/
.grave main .about {
  margin-bottom: 160px;
}
.grave main .about section:not(:last-of-type) {
  margin-bottom: 150px;
}
.grave main .about section .comment {
  margin-bottom: 80px;
}
.grave main .about section .comment p {
  text-align: center;
  font-size: 1.8rem;
  letter-spacing: .15em;
  line-height: 2.7;
}
.grave main .about section .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.grave main .price {
  margin-bottom: 200px;
  padding-top: 150px;
}
.grave main .price .tbl {
  display: flex;
  align-items: center;
  justify-content: center;
}
.grave main .price .tbl table thead tr th {
  background: #d2be58;
  border-top: solid 1px #b6b6b6;
  border-bottom: solid 1px #b6b6b6;
  font-size: 1.8rem;
  letter-spacing: .25em;
  text-align: center;
  padding: .8em 0;
  width: 260px;
}
.grave main .price .tbl table thead tr th:nth-of-type(1) {
  width: 240px;
}
.grave main .price .tbl table thead tr th:not(:last-of-type) {
  border-right: solid 1px #dddbc6;
}
.grave main .price .tbl table tbody tr th ,
.grave main .price .tbl table tbody tr td {
  border-bottom: solid 1px #dddbc6;
  font-size: 1.8rem;
  letter-spacing: .25em;
  text-align: center;
  padding: .8em 0;
}
.grave main .price .tbl table tbody tr th {
  border-right: solid 1px #dddbc6;
}
.grave main .price .tbl table tbody tr td:not(:last-of-type) {
  border-right: solid 1px #dddbc6;
}
.grave main .faq {
  margin-bottom: 120px;
}
.grave main .faq dl dt {
  background: #dddbc6;
  border-radius: 10px;
  min-height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.1rem;
  letter-spacing: .15em;
  text-align: center;
  padding: .6em .5em;
}
.grave main .faq dl dd {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  letter-spacing: .15em;
  text-align: center;
  padding: 2em .5em;
}





/*news*/
.sub.news {
  padding-top: 0;
}
.sub.news .header_main_img {
  position: relative;
}
.sub.news .header_main_img header {
}
.sub.news .header_main_img .main_img {
  height: 400px;
}
.news main .list section {
  display: flex;
}
.news main .list section:not(:last-of-type) {
  margin-bottom: 100px;
}
.news main .list section .box_l {
  width: calc(100% - (350px + 50px));
  margin-right: 50px;
}
.news main .list section .box_l time {
  display: block;
  font-size: 3.0rem;
  letter-spacing: .15em;
}
.news main .list section .box_l h4 {
  font-size: 3.0rem;
  letter-spacing: .15em;
  margin-bottom: .8em;
}
.news main .list section .box_l .comment p {
  font-size: 1.8rem;
  letter-spacing: .25em;
}
.news main .list section .box_l .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
.news main .list section .img {
  width: 350px;
  margin-left: auto;
}





/*1740*/
@media screen and (max-width: 1740px) {




  /*top*/
  .top main {
    padding-right: 300px;
  }
  .top main .about .img {
    width: 100%;
  }






  /*access*/
  .access main {
    padding-right: 300px;
  }






  /*about*/
  .about main {
    padding-right: 300px;
  }






  /*grave*/
  .grave main {
    padding-right: 300px;
  }





  /*news*/
  .news main {
    padding-right: 300px;
  }
}






/*1540*/
@media screen and (max-width: 1540px) {
  
}






/*1440*/
@media screen and (max-width: 1540px) {




  /*top*/
  .top main .grave .btn ul {
    flex-wrap: wrap;
    margin-bottom: -20px;
  }
  .top main .grave .btn ul li {
    width: calc((100% - 50px) / 2);
    margin-bottom: 20px;
  }
  .top main .grave .btn ul li:not(:last-of-type) {
    margin-right: 0;
  }
  .top main .grave .btn ul li:nth-of-type(odd) {
    margin-right: 50px;
  }
  
}





/*1240*/
@media screen and (max-width: 1240px) {




  /*top*/
  .top main .loop_img p {
    width: 500px !important;
  }




  /*about*/
  .about main .loop_img p {
    width: 500px !important;
  }
  
}





/*1140*/
@media screen and (max-width: 1140px) {




  /*top*/
  .top main {
    padding-right: 240px;
  }
  .top main .about .mw1080 .box {
    padding-right: 40px;
  }
  .top main .about .img {
    width: calc(100% - 50px);
  }






  /*access*/
  .access main {
    padding-right: 240px;
  }






  /*about*/
  .about main {
    padding-right: 240px;
  }






  /*grave*/
  .grave main {
    padding-right: 240px;
  }





  /*news*/
  .news main {
    padding-right: 240px;
  }
  
}





/*1040*/
@media screen and (max-width: 1040px) {





  /*news*/
  .news main .list section {
    display: flex;
    flex-direction: column;
  }
  .news main .list section .box_l {
    width: 100%;
    margin-right: 0;
    display: contents;
  }
  .news main .list section .box_l time {
    order: -1;
  }
  .news main .list section .box_l h4 {
    order: -1;
  }
  .news main .list section .box_l .comment {
    order: 99;
  }
  .news main .list section .img {
    order: 1;
    width: 100%;
    margin-left: 0;
    margin-bottom: 15px;
  }
  
}





/*940*/
@media screen and (max-width: 940px) {





  /*top*/
  .top main {
    padding-right: 200px;
  }
  .top main .loop_img p {
    width: 400px !important;
  }






  /*access*/
  .access main {
    padding-right: 200px;
  }





  /*about*/
  .about main {
    padding-right: 200px;
  }
  .about main .loop_img p {
    width: 400px !important;
  }






  /*grave*/
  .grave main {
    padding-right: 200px;
  }





  /*news*/
  .news main {
    padding-right: 200px;
  }
  
}





/*767*/
@media screen and (max-width: 767px) {
  /*top*/
  .top .header_main_img header {
    padding-top: 5vh;
  }
  .top main .news {
    padding-top: 10vw;
    padding-bottom: 20vw;
  }
  .top main .news h3 {
    font-size: 1.7rem;
    margin-bottom: 1.5em;
  }
  .top main .news .list {
    margin-bottom: 10vw;
  }
  .top main .news .list section {
    display: flex;
    flex-direction: column;
    font-size: 1.25rem;
  }
  .top main .news .list section:not(:first-of-type) {
    padding-top: 3vw;
  }
  .top main .news .list section:not(:last-of-type) {
    padding-bottom: 3vw;
  }
  .top main .news .list section time {
    width: 100%;
  }
  .top main .news .list section p {
    width: 100%;
  }
  .top main .news .more a {
    font-size: 1.25rem;
  }
  .top main .about {
    height: calc(140vw * 1.0);
  }
  .top main .about .mw1080 {
  }
  .top main .about .mw1080 .box {
    padding-right: 0;
    padding-bottom: 5vw;
  }
  .top main .about .mw1080 .box h3 {
    font-size: 1.5rem;
    letter-spacing: .35em;
    margin-bottom: 1.5em;
  }
  .top main .about .mw1080 .box .comment {
    font-size: 1.25rem;
    line-height: 2.0;
    letter-spacing: .05em;
  }
  .top main .about .img {
    width: 100%;
    height: calc(140vw * 1.0);
  }
  .top main .about .img::before {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: calc(66vw * 1.0);
    background: linear-gradient(0deg,rgba(199, 210, 56, 1) 70%, rgba(199, 210, 56, 0) 100%);
    mix-blend-mode: multiply;
    content: '';
  }
  .top main .about .img::after {
    position: absolute;
    top: calc(100% - (66vw * 1.0));
    right: inherit;
    bottom: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: calc(66vw * 1.0);
    background: linear-gradient(0deg,rgba(199, 210, 56, 1) 70%, rgba(199, 210, 56, 0) 100%);
    mix-blend-mode: multiply;
    content: '';
  }
  .top main .about + .contact_link01 {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  .top main .grave {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  .top main .grave .img {
    margin-bottom: 5vw;
  }
  .top main .grave h3 {
    font-size: 1.7rem;
    letter-spacing: .5em;
    text-indent: .5em;
    margin-bottom: 1em;
  }
  .top main .grave .comment {
    margin-bottom: 5vw;
  }
  .top main .grave .comment p {
    font-size: 1.25rem;
    letter-spacing: .15em;
  }
  .top main .grave .btn ul {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    margin-bottom: -8vw;
  }
  .top main .grave .btn ul li {
    width: 52vw;
    margin-right: 0 !important;
    margin-bottom: 5vw;
  }
  .top main .grave .btn ul li:not(:last-of-type) {
    margin-right: 0;
  }
  .top main .grave .btn ul li a {
    border: solid 2px #FFF;
    font-size: 1.25rem;
    padding: 1.6em 0;
  }
  .top main .grave .btn ul li a span {
    font-size: 1.25rem;
    letter-spacing: .15em;
  }
  .top main .grave .btn ul li a::after {
    right: .5em;
    width: 1.36em;
    height: .4em;
  }
  .top main .loop_img {
    padding-top: 10vw;
  }
  .top main .loop_img p {
    width: 80vw !important;
  }
  .top main .access {
    padding-top: 15vw;
    padding-bottom: 20vw;
    display: flex;
    flex-direction: column;
  }
  .top main .access .gmap {
    width: 100%;
    height: 60vh;
    margin-bottom: 5vw;
  }
  .top main .access .box_r {
    display: contents;
    width: 100%;
    padding-left: 0;
  }
  .top main .access .box_r h3 {
    text-align: center;
    font-size: 1.7rem;
    letter-spacing: .2em;
    margin-bottom: 1.2em;
  }
  .top main .access .box_r h4 {
    text-align: center;
    font-size: 1.25rem;
    margin-bottom: 1.2em;
  }
  .top main .access .box_r address {
    font-size: 1.25rem;
    margin-bottom: 2em;
  }
  .top main .access .box_r address p {
    text-align: center;
  }
  .top main .access .box_r address p:not(:last-of-type) {
    margin-bottom: 1.2em;
  }
  .top main .access .box_r .contact_link01 {
    margin: 0 auto;
  }






  /*access*/
  .access main .info > .ttl_img {
    padding-top: 10vw;
  }
  .access main .info .gmap {
    height: 60vh;
    margin-bottom: 10vw;
  }
  .access main .info .box {
    margin-bottom: 20vw;
  }
  .access main .info .box section:not(:last-of-type) {
    margin-bottom: 15vw;
  }
  .access main .info .box section h4 {
    margin-bottom: 5vw;
  }
  .access main .info .box section h4 span {
    width: 45vw;
    font-size: 1.5rem;
    letter-spacing: .5em;
    text-indent: .5em;
    padding: .8em 0;
  }
  .access main .info .box section address {
    font-size: 1.5rem;
    margin-bottom: 1.2em;
    letter-spacing: .15em;
  }
  .access main .info .box section address span {
    display: block;
    text-align: center;
    margin-right: 0;
    letter-spacing: .15em;
  }
  .access main .info .box section .tel {
    font-size: 1.5rem;
    letter-spacing: .15em;
  }
  .access main .info .box section .parking p:nth-of-type(1) {
    font-size: 1.25rem;
    letter-spacing: .05em;
    line-height: 2.0;
    margin-bottom: 1.5em;
  }
  .access main .info .box section .parking p:nth-of-type(2) {
    font-size: 1.35rem;
    letter-spacing: .15em;
  }
  .access main .info .box section .etc {
    margin-bottom: -6vw;
  }
  .access main .info .box section .etc dl {
    width: calc(100% - (5vw * 2));
    margin: 0 5vw;
    margin-bottom: 5vw;
  }
  .access main .info .box section .etc dl dt {
    margin: 0 10vw;
    font-size: 1.25rem;
    letter-spacing: .35em;
    padding: .2em 0;
    margin-bottom: .4em;
    width: 45vw;
  }
  .access main .info .box section .etc dl dd {
    font-size: 1.25rem;
    letter-spacing: .15em;
  }





  /*about*/
  .about main .info {
    padding-top: 10vw;
    margin-bottom: 10vw;
  }
  .about main .info h4 {
    font-size: 1.5rem;
    letter-spacing: .5em;
    margin-bottom: 2em;
  }
  .about main .info .comment {
    font-size: 1.25rem;
  }
  .about main .info .comment p {
    letter-spacing: .1em;
    line-height: 2.0;
  }
  .about main .loop_img p {
    width: 80vw !important;
  }
  .about main .event {
    padding-top: 20vw;
    padding-bottom: 15vw;
  }
  .about main .event .box {
    width: 100%;
    margin: 0 auto;
    margin-bottom: 15vw;
  }
  .about main .event .box table {
    width: 100%;
    margin-bottom: 5vw;
  }
  .about main .event .box table tr th ,
  .about main .event .box table tr td {
    font-size: 1.25rem;
    letter-spacing: .15em;
    padding: .8em 1em;
    border-bottom: solid 1px #dddbc6;
  }
  .about main .event .box table tr:nth-of-type(1) th ,
  .about main .event .box table tr:nth-of-type(1) td {
    border-top: solid 1px #dddbc6;
  }
  .about main .event .box table tr th {
    border-right: solid 1px #dddbc6;
    width: auto;
    white-space: nowrap;
  }
  .about main .event .box table tr td {
    width: auto;
  }
  .about main .event .box p {
    font-size: 1.25rem;
    letter-spacing: .15em;
  }
  .about main .about_img {
    height: auto;
  }
  .about main .about_img p {
    height: 100%;
  }
  .about main .about_img p img {
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .about main .about01 .mw1080 ,
  .about main .about02 .mw1080 {
    padding-top: 10vw;
    padding-bottom: 15vw;
  }
  .about main .about01 section:not(:last-of-type) ,
  .about main .about02 section:not(:last-of-type) {
    margin-bottom: 12vw;
  }
  .about main .about01 h4 ,
  .about main .about02 h4 {
    font-size: 1.5rem;
    letter-spacing: .25em;
    margin-bottom: 1.3em;
  }
  .about main .about01 .img ,
  .about main .about02 .img {
    margin-bottom: 5vw;
  }
  .about main .about01 h5 ,
  .about main .about02 h5 {
    font-size: 1.35rem;
    letter-spacing: .15em;
    margin-bottom: 1.5em;
  }
  .about main .about01 .comment ,
  .about main .about02 .comment {
    font-size: 1.25rem;
    letter-spacing: .1em;
    line-height: 2.0;
  }





  /*grave*/
  .grave main .mw1080 > .ttl_img {
    padding-top: 10vw;
  }
  .grave main .about {
    margin-bottom: 15vw;
  }
  .grave main .about section:not(:last-of-type) {
    margin-bottom: 15vw;
  }
  .grave main .about section .comment {
    margin-bottom: 10vw;
  }
  .grave main .about section .comment p {
    font-size: 1.25rem;
    letter-spacing: .05em;
    line-height: 2.0;
  }
  .grave main .price {
    margin-bottom: 20vw;
    padding-top: 15vw;
  }
  .grave main .price .tbl table {
    width: 100%;
  }
  .grave main .price .tbl table thead tr th {
    font-size: 1.25rem;
    letter-spacing: .05em;
    text-align: center;
    padding: .8em .3em;
    width: auto;
  }
  .grave main .price .tbl table thead tr th:nth-of-type(1) {
    width: 40%;
  }
  .grave main .price .tbl table thead tr th:nth-of-type(2) ,
  .grave main .price .tbl table thead tr th:nth-of-type(3) {
    width: calc((100% - 40%) / 2);
  }
  .grave main .price .tbl table tbody tr th ,
  .grave main .price .tbl table tbody tr td {
    font-size: 1.25rem;
    letter-spacing: .15em;
    padding: .8em .3em;
  }
  .grave main .faq {
    margin-bottom: 15vw;
  }
  .grave main .faq dl dt {
    border-radius: 10px;
    min-height: 15vw;
    font-size: 1.35rem;
    letter-spacing: .025em;
    padding: .6em .5em;
  }
  .grave main .faq dl dd {
    font-size: 1.25rem;
    letter-spacing: .025em;
    padding: 2em .5em;
  }





  /*news*/
  .sub.news {
    padding-top: 0;
  }
  .sub.news .header_main_img .main_img {
    width: 100%;
    height: 60vw;
  }
  .news main .mw1080 > .ttl_img {
    padding-top: 10vw;
  }
  .news main .list section {
    display: flex;
    flex-direction: column;
  }
  .news main .list section:not(:last-of-type) {
    margin-bottom: 15vw;
  }
  .news main .list section .box_l {
    display: contents;
    width: 100%;
    margin-right: 0;
  }
  .news main .list section .box_l time {
    font-size: 1.5rem;
  }
  .news main .list section .box_l h4 {
    font-size: 1.5rem;
    letter-spacing: .15em;
    margin-bottom: .8em;
    font-weight: 700;
  }
  .news main .list section .box_l .comment p {
    font-size: 1.2rem;
    letter-spacing: .15em;
  }
  .news main .list section .box_l .comment p:not(:last-of-type) {
    margin-bottom: 1.2em;
  }
  .news main .list section .img {
    order: -10;
    width: 100%;
    margin-left: 0;
    margin-bottom: 5vw;
  }
  
  
}




/*400*/
@media screen and (max-width: 400px) {
  /*top*/
  .top main .about {
    height: calc(140vw * 1.4);
  }
  .top main .about .mw1080 .box .comment {
    letter-spacing: .01em;
  }
  .top main .about .img {
    height: calc(140vw * 1.4);
  }
  .top main .about .img::before {
    height: calc(66vw * 1.4);
  }
  .top main .about .img::after {
    top: calc(100% - (66vw * 1.4));
    height: calc(66vw * 1.4);
  }
  .top main .grave .btn ul li {
    width: 60vw;
  }





  /*access*/
  .access main .info .box section h4 span {
    width: 55vw;
  }
  .access main .info .box section .etc dl dt {
    width: 55vw;
  }





  /*grave*/
  .grave main .price .tbl table thead tr th:nth-of-type(1) {
    width: 45%;
  }
  .grave main .price .tbl table thead tr th:nth-of-type(2) ,
  .grave main .price .tbl table thead tr th:nth-of-type(3) {
    width: calc((100% - 45%) / 2);
  }
}

