@charset "utf-8";

/* ===============================================
　mainvisual
=============================================== */
.swiper-wrapper {
  /*スライダーの幅と高さを調整*/
  width: 100%;
  height: 100vh;
}

.swiper-slide {
  /*スライド要素の幅と高さを調整*/
  width: 100%;
  height: 100%;
}

@keyframes zoomUp {
  0% {
    transform: scale(1.1);
  }

  100% {
    transform: scale(1);
  }
}

.swiper-slide-active .swiper-img,
.swiper-slide-duplicate-active .swiper-img,
.swiper-slide-prev .swiper-img {
  animation: zoomUp 15s linear 0s normal both;
}

.swiper-slide .swiper-img {
  width: 100%;
  height: 100vh;
}

/*各スライドの背景色の設定*/

.mv1 {
  background-image: url("../image/mainvisual/01.jpg");
  background-size: cover;
  background-position: 47% 60%;
}

.mv {
  position: relative;
}

.mv_txt {
  position: absolute;
  top: 18%;
  left: 8%;
  z-index: 1;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: left;
  font-family: var(--ff_min);
  color: var(--cl_wh);
  font-size: clamp(20px, 2.9vw, 32px);
}

.mv_txt p {
  font-weight: 400;
  padding: 0 1%;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 450px) {
  .mv_txt p {
    padding: 0;
  }
}


/* スクロールダウン */

.scrolldown {
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: 3;
}

.scrolldown span {
  position: absolute;
  left: -27px;
  bottom: 95px;
  color: #eee;
  font-size: clamp(14px, 1.8vw, 17px);
  font-weight: 400;
  font-family: var(--ff_min);
  letter-spacing: 0.1em;
}

.scrolldown:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -3px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #eee;
  animation:
    circlemove 1.6s ease-in-out infinite,
    cirlemovehide 1.6s ease-out infinite;
}


@keyframes circlemove {
  0% {
    bottom: 65px;
  }

  100% {
    bottom: -5px;
  }
}


@keyframes cirlemovehide {
  0% {
    opacity: 0
  }

  50% {
    opacity: 1;
  }

  80% {
    opacity: 0.9;
  }

  100% {
    opacity: 0;
  }
}

.scrolldown:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1px;
  height: 70px;
  background: #eee;
}

@media (orientation: landscape) and (max-width: 900px) {

  .mv_txt {
    width: 75%;
    writing-mode: initial;
    top: 40%;
    left: 4%;
  }

  .scrolldown {
    display: none;
  }
}

/* ===============================================
プレオープンのお知らせ部分
=============================================== */
.pre_open {
  padding: 90px 0;
  text-align: center;
  padding-bottom: 0;
}

.pre_open h2.ttl {
  width: min(90%, 560px);
  margin: 0 auto;
  background: var(--cl_main);
  color: var(--cl_wh);
  font-family: var(--ff_min);
  text-align: center;
  display: inline-block;
  margin: 0 auto;
  padding: 5px 20px;
  font-size: clamp(30px, 3.5vw, 38px);
  margin-bottom: 20px;
  line-height: 1.7;
}

.pre_open h2.ttl span {
  display: inline-block;
}

.pre_open h2.ttl span:nth-of-type(1) {
  padding-right: 25px;
}

@media screen and (max-width: 500px) {
  .pre_open h2.ttl span:nth-of-type(1) {
    padding-right: 0;
  }
}

.pre_open .disc {
  width: 90%;
  margin: 0 auto;

}

.pre_open .disc span {
  display: inline-block;
}

.pre_open .sub_box {
  width: min(90%, 850px);
  margin: 30px auto;
  background-color: #f8f8f4;
  border: 2px solid #a08c4e;
  padding: 30px 0;
  border-radius: 20px;
}

.pre_open .nentyu {
  background: #c94246;
  color: var(--cl_wh);
  display: inline-block;
  font-size: clamp(14px, 1.8vw, 16px);
  padding: 2px 22px;
  border-radius: 50px;
}

.pre_open .nentyu span {
  font-size: clamp(16px, 1.8vw, 18px);
}

.pre_open .adress {
  margin-top: 10px;
}

.pre_open .adress h2 {
  font-size: clamp(28px, 5vw, 36px);
  position: relative;
  display: inline-block;
  padding-left: 35px;
}

.pre_open .adress h2::before {
  content: "";
  display: inline-block;
  background-image: url(../image/icon/tel_blue.svg);
  background-size: contain;
  width: 25px;
  height: auto;
  aspect-ratio: 1/1;
  position: absolute;
  top: 57%;
  transform: translateY(-50%);
  left: 0;
}

@media screen and (max-width: 590px) {
  .pre_open .adress h2::before {
    content: "";
    display: inline-block;
    background-image: url(../image/icon/tel_blue.svg);
    background-size: contain;
    width: 20px;
    height: auto;
    aspect-ratio: 1/1;
    position: absolute;
    top: 57%;
    transform: translateY(-50%);
    left: 6px;
  }

}

.pre_open .adress p {
  margin: 10px 0;
}

/* テキストアニメーション */




/* ===============================================
代表あいさつ
=============================================== */

#message {
  margin: 180px 0;
  margin-bottom: clamp(120px, 22%, 300px);
  position: relative;
}

.message_txt_wrap {
  width: min(90%, 1200px);
  margin: 0 auto;
}

.ms_des {
  text-align: left;
  padding-bottom: 60px;
}

.ms_des p {
  margin-bottom: 30px;
  font-size: clamp(15px, 2vw, 16px);
}

.ms_des span {
  font-family: var(--ff_min);
  font-size: clamp(18px, 2.8vw, 21px);
  color: #a08d4f;
  padding: 0 3px;
  font-weight: 400;
}

.top_name {
  width: 60%;
  text-align: right;
}

.top_name span {
  font-family: var(--ff_min);
  font-size: clamp(21px, 2.8vw, 25px);
  color: var(--cl_brown);
}

@media screen and (max-width: 960px) {
  .top_name {
    width: 100%;
  }
}

.beige_bg {
  content: "";
  display: inline-block;
  width: 75%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  background-color: #f8f8f4;
  z-index: -1;
  transform: translateY(-50%);
  border-radius: 15px 15px 0 0;
}

.beige_bg div {
  width: calc(40% + 10px);
  height: auto;
  position: absolute;
  right: -25%;
  bottom: -20%;
}

.beige_bg div img {
  border-radius: 15px;
}

.beige_bg div::after {
  content: "";
  display: inline-block;
  width: 100px;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 6px solid #ddce9e;
  position: absolute;
  bottom: -8%;
  left: -10%;
}

@media screen and (max-width: 960px) {
  .beige_bg {
    width: 100%;
    border-radius: 0 0 0 0;
  }

  .beige_bg div {
    top: -20%;
    right: 5%;
  }

  .beige_bg div::after {
    display: none;
  }
}

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

  .beige_bg div {
    top: -15%;
    right: 5%;
  }

  .ms_ttl h2::after {
    display: block;
    padding-left: 0;
  }

}

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

  .beige_bg div {
    top: calc(-15% + 70px);
  }
}

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

  .beige_bg div {
    width: calc(40% + 20px);
    top: calc(-15% + 27px);
  }
}

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

  .beige_bg div {
    width: calc(40% + 20px);
    top: calc(-12% + 27px);
  }
}

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

  .beige_bg div {
    width: calc(40% + 20px);
    top: calc(-9% + 27px);
  }
}


/* ===============================================
インフォメーション
=============================================== */

#info {
  width: 90%;
  max-width: 1380px;
  background-color: var(--cl_wh);
  box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.11);
  border-radius: 15px;
  margin: 0 auto;
  padding: 4% 7%;
}

.info_wrap {
  width: min(100%, 1200px);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  height: auto;
  font-size: 17px;

}

.info_wrap ul li {
  padding: 30px 7% 30px 0;
  border-bottom: 1px solid #1c1c1c26;
  position: relative;
}

.info_wrap ul li::after {
  content: "";
  display: inline-block;
  background-image: url(../image/top/view_all.svg);
  width: 34px;
  height: 4px;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 50%;
  right: 0;
  transition: all .3s;
}

.info_wrap ul li a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.info_wrap ul li:hover a {
  padding: 5px;
  background: #00a6cb15;
  border-radius: 5px;
}

.info_wrap ul li:hover::after {
  transform: translateX(15px);
}

.info_wrap .right {
  width: 55%;
}

.info_wrap .right .day {
  margin-left: 10px;
}

.info_wrap .right p {
  display: inline-block;
  font-size: clamp(15px, 2vw, 16px);
}

#info .detail_wrap {
  margin-bottom: 5px;
}

.category {
  background-color: var(--cl_main);
  font-size: 15px;
  color: var(--cl_wh);
  padding: 5px 10px;
  border-radius: 5px;
  margin: 0 20px;
}



@media screen and (max-width: 840px) {
  #info .post {
    flex-direction: column;
    align-items: flex-start;
  }

  #info .post h4 {
    margin-left: 10px;
    font-size: clamp(16px, 1.3vw, 17px);
    line-height: 1.6;
  }

  .category {
    margin: 0 10px;
  }
}


/* 矢印無効 */
.post.nolink::after {
  content: none;
}

.info_wrap ul .nolink {
  padding: 30px 0;
}

@media screen and (max-width: 835px) {
  .info_wrap ul .nolink {
    padding: 20px 0;
  }

}


@media screen and (max-width: 1460px) {
  #info {
    padding: 8% 7%;
  }

  .info_wrap {
    flex-direction: column;
  }

  .info_wrap .right {
    width: 100%;
  }

  .view_all a {
    margin-top: 0;
    justify-content: flex-end;
  }

  .info_wrap .left {
    display: contents;
  }

  .view_all {
    order: 3;
    margin-top: 30px;
  }

}

@media screen and (max-width: 835px) {
  .info_wrap .right p {
    display: block;
    margin-top: 15px;
  }

  #info {
    padding: 13% 9%;
  }

  .info_wrap ul li {
    padding: 20px 15% 20px 0;
  }
}


/* ===============================================
Oneのお約束
=============================================== */
#promise {
  width: 90%;
  margin: 0 auto;
  margin-top: min(22%, 130px);
  height: auto;
  padding: 7.5%;
  background-color: #ddce9e67;
  border-radius: 20px;
}

@media screen and (max-width: 1080px) {
  #promise {
    width: 100%;
    padding: 15% 0;
    border-radius: 0;
  }
}

.promise_wrap {
  width: min(90%, 1200px);
  margin: 0 auto;
  text-align: center;
}

/* list item */

.list_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 80px 0px;
  counter-reset: number 0;
}

.list_item li {
  width: 32%;
  position: relative;
}

.list_item li::before {
  font-size: clamp(60px, 6vw, 80px);
  counter-increment: number 1;
  content: counter(number) " ";
  display: inline-block;
  font-family: var(--ff_min);
  font-style: italic;
  color: var(--cl_main);
  position: absolute;
  top: -20%;
  left: 10%;
  z-index: 5;
}

.list_item .img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 15px 15px 0 0;
}

.list_item .txt {
  text-align: center;
  padding: 8%;
  border-radius: 0 0 15px 15px;
  background-color: var(--cl_wh);
}

.list_item .txt p {
  font-size: clamp(15px, 1.3vw, 20px);
  line-height: 1.7;
}

@media screen and (max-width: 760px) {
  .list_item {
    flex-direction: column;
  }

  .list_item li {
    width: 100%;
    margin-bottom: 30px;
  }

  .list_item li::before {
    top: -55px;
    left: 5%;
  }

  .list_item li:last-child {
    margin-bottom: 0;
  }
}


#promise h3 {
  font-size: clamp(20px, 1.7vw, 23px);
  font-weight: 700;
}

.pro_text span {
  display: inline-block;
}

.staff {
  display: flex;
  gap: 30px;
  justify-content: center;
  margin-top: 50px;
}

.staff div {
  width: 40%;
  height: auto;
  padding: 3%;
  background-image: url(../image/top/pro_ashiato.png);
  background-size: cover;
  background-position: right;
  border-radius: 10px;
}

@media screen and (max-width: 1100px) {
  .staff {
    flex-direction: column;
  }

  .staff div {
    width: 75%;
    margin: 0 auto;
    padding: 25px;
  }
}

/* Oneの由来 */
.yurai {
  margin-top: 85px;
  padding: 6% 3.8%;
  background-color: var(--cl_wh);
  border-radius: 15px;
  background-image: url(../image/top/pro_ashirai.png);
  background-position: 50% 65%;
  background-size: cover;
  border: 3.5px dotted var(--cl_main);
  text-align: center;
}

.yurai_wrap {
  width: min(90%, 1200px);
  margin: 0 auto;
  margin-top: 50px;
}

.yurai_wrap p {
  font-size: clamp(14px, 1.8vw, 16px);
}

.yurai_wrap ul {
  margin: 30px 0;
  text-align: left;
  display: inline-block;
}

.yurai_wrap li {
  font-family: var(--ff_min);
  font-size: clamp(18px, 2vw, 20px);
  font-weight: 500;
  padding: 5px 0;
  position: relative;
}

.yurai_wrap li span {
  position: relative;
}

.yurai_wrap li span::before {
  content: "";
  width: 10px;
  height: 10px;
  display: inline-block;
  background-color: #00a6cb50;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: -20px;
  transform: translateY(-50%);
}

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

  .yurai {
    background-position: 80% 65%;
  }

}

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

  .yurai_wrap p {
    text-align: justify;
  }

}

/* ===============================================
３つのプラン
=============================================== */

#plan {
  width: min(90%, 1200px);
  margin: 0 auto;
  text-align: center;
}

.plan_list {
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin: 60px 0 30px;
}

.plan_list li {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 33%;
  padding: 5% 2% 4% 2%;
  border-radius: 15px;
  border: 5px solid var(--cl_main);
}

.plan_list li:nth-of-type(2) {
  border: 5px solid #008b8b;
}

.plan_list li:nth-of-type(3) {
  border: 5px solid #ffbc42;
}

.plan_list li h2 {
  text-align: center;
  white-space: nowrap;
  position: absolute;
  top: -25px;
  left: 50%;
  transform: translateX(-50%);
  font-size: clamp(18px, 3vw, 20px);
  color: var(--cl_wh);
  background-color: var(--cl_main);
  display: inline-block;
  padding: 5px 20px;
  border-radius: 50px;
}

.plan_list li:nth-child(2) h2 {
  background-color: #008b8b;
}

.plan_list li:nth-child(3) h2 {
  background-color: #ffbc42;
}

.plan_list li p {
  font-size: 16px;
  text-align: justify;
  line-height: 1.7;
}


@media screen and (max-width: 820px) {
  .plan_list {
    flex-direction: column;
    gap: 50px;
  }

  .plan_list li {
    width: 100%;
    padding: 8% 5% 6% 5%;
  }
}

@media screen and (max-width: 615px) {
  #plan .plan_ttl span {
    display: block;
  }
}

.bd-beige{
  border:5px solid #ddce9e67;
  padding:2% 2% 2% 2%;
  border-radius:15px;
  margin-bottom: 20px;
}

.w100 .inner{
  width: 62.5%;
  margin: 0 auto;
}

.w100 h2{
  background: #a08c4e;
  display: inline-block;
  color: #fff;
  padding: 2% 5%;
  border-radius: 5px;
  margin-bottom: 20px;
}

.w100 ul{
  text-align: left;
  margin: 0 auto 10px;
}

@media screen and (max-width: 820px) {
  .w100 .inner{
    width: 100%;
    padding:2% 2% 2% 2%;
  }
}



/* ご火葬料金 */

.price_list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px 20px;
  margin-top: 50px;
}

.price_list li {
  position: relative;
}

.price_list li .kg {
  display: inline-block;
  width: 45%;
  background-color: #a08c4e;
  color: var(--cl_wh);
  padding: 1.5% 0;
  border-radius: 100px;
  position: absolute;
  top: 6%;
  left: 50%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  font-size: clamp(15px, 1.8vw, 18px);
}

.animal_img {
  position: relative;
}

.price_list li .price {
  font-size: clamp(17px, 2vw, 30px);
  font-weight: 700;
  position: absolute;
  bottom: 5%;
  left: 50%;
  transform: translateX(-50%);
}

.price span {
  font-size: clamp(14px, 1.8vw, 20px);
  padding-left: 3px;
}

.plan_mssg {
  display: inline-block;
  text-align: center;
  padding: 2% 5%;
  background-color: #e5e5e5;
  border: 2.2px solid #a08c4e;
  border-radius: 15px;
  margin-top: 65px;
}

@media screen and (max-width: 720px) {
  .price_list {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (max-width: 590px) {
  .price_list {
    gap: 10px 10px;
  }

  .price_list li .kg {
    padding: 0;
    line-height: 1.7;
  }

  .price_list li .price {
    bottom: 2%;
  }
}


/* ===============================================
バナー部分
=============================================== */

.banner {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  padding: min(22%, 150px) 0;
}

.banner div {
  position: relative;
  aspect-ratio: 1/1;
  cursor: pointer;
  overflow: hidden;
}

.banner div a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100;
}

.banner div::before {
  border: 1px solid #fff;
  content: '';
  display: block;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  margin: 5%;
  z-index: 10;
}

.banner div::after {
  content: "";
  width: 1px;
  height: 1px;
  background: #00a6cb20;
  border-radius: 50%;
  transform: scale(0);
  position: absolute;
  top: 50%;
  left: 50%;
  transition: all .7s;
}

.banner div:hover::after {
  transform: scale(1000);
}

.banner h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  font-family: var(--ff_min);
  font-size: clamp(25px, 2.5vw, 40px);
  color: var(--cl_wh);
  letter-spacing: 0.1em;
}

.banner_img {
  overflow: hidden;
}

.banner_img img {
  width: 100%;
  height: 100%;
  transition: all 1s ease;
}

.banner div:hover .banner_img img {
  transform: scale(1.2, 1.2);
}

@media screen and (max-width: 960px) {
  .banner {
    grid-template-columns: 1fr;
  }

  .banner div {
    aspect-ratio: 2/1;
  }

  .banner_01 .banner_img img {
    object-position: 50% 55%;
  }

  .banner_img img {
    object-fit: cover;
    object-position: center;
    object-position: 50% 90%;
  }
}

/* ===============================================
犬の十戒
=============================================== */

#ten {

  position: relative;
}

.ten_wrap {
  width: min(90%, 1200px);
  margin: 0 auto;
}

#ten ul {
  padding-right: 33%;
  margin: min(22%, 130px) auto;
}

#ten ul li {
  max-width: 780px;
  font-size: 16px;
  padding: 5% 4%;
  position: relative;
  line-height: 1.7;
  font-size: clamp(14px, 1.8vw, 16px);
}

#ten ul li span::before {
  counter-increment: ten 1;
  content: counter(ten) " ";
  display: inline-block;
  font-family: var(--ff_min);
  font-style: italic;
  font-size: 80px;
  color: #ddce9e65;
  position: absolute;
  top: 33%;
  left: 1%;
  transform: translateY(-50%);
  line-height: 1;
  z-index: -1;
}

#ten ul li:nth-of-type(10) span::before {
  left: -3%;
}

/* img部分 */

.ten_bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 20vw;
  height: 100%;
  background-color: #b0dee8;
  background-image: linear-gradient(308deg, #b0dee8 0%, #f8f8f4 70%);
  border-radius: 15px 0 0 15px;
  z-index: -1;

}

.ten_bg img {
  position: absolute;
  top: 50%;
  left: -45%;
  transform: translateY(-45%);
  border-radius: 15px;
}

.swiper_second {
  display: none;
}

@media screen and (max-width: 1130px) {
  #ten ul {
    padding-right: 0;
    margin-bottom: 80px;
  }

  #ten ul li {
    max-width: 100%;
  }

  .ten_bg {
    display: none;
  }

  .swiper_second {
    display: block;
  }

}

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

  #ten ul {
    margin: 65px auto;
  }

  #ten ul li {
    padding: 35px 0;
    text-align: justify;
  }

  #ten ul li span::before {
    top: 40px;
    left: 0;
  }
}

/* 連続スライダー */

/* スライドの動き等速 */

.swiper_second {
  overflow: hidden;
}

.swiper_second .swiper-wrapper {
  transition-timing-function: linear;
  height: auto;
}

.swiper_second .swiper-slide {
  border-radius: 10px;
  overflow: hidden;
  margin: 0 5px;
}

.swiper_second .swiper-slide img {
  height: auto;
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
}

/* ===============================================
ブログ
=============================================== */

#blog {
  width: min(90%, 1200px);
  margin: min(22%, 150px) auto;
  display: flex;
  gap: clamp(20px, 7.5%, 75px);
}

#blog ul {
  display: flex;
  justify-content: flex-start;
  gap: clamp(14px, 2.5%, 45px);
}

#blog ul li {
  width: 30%;
  position: relative;
}

#blog ul li a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  animation-delay: .3s;
}


.blog_img {
  border-radius: 15px;
  overflow: hidden;
  object-fit: cover;
  position: relative;
}

.blog_img img {
  width: 100%;
  height: auto;
  object-fit: cover;
  aspect-ratio: 3/2;
  transition: all .3s ease-in-out;
}

.blog_img a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.blog_txt {
  position: relative;
}

.blog_txt a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.b_wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;

}

.b_category {
  font-size: 15px;
  line-height: 1;
  background: var(--cl_main);
  color: var(--cl_wh);
  padding: 5px 10px;
  border-radius: 5px;
  font-size: clamp(13px, 1.3vw, 15px);
}

.b_day {
  line-height: 1;
}

.b_des {
  margin-top: 1.2%;
  font-size: clamp(16px, 1.3vw, 17px);
}

#blog .right .blog_img:hover img {
  transform: scale(1.2);
  transition: all .3s ease-in-out;
}

#blog .right .blog_img.nolink:hover img {
  transform: none;
  transition: none;
}




@media screen and (max-width: 1200px) {
  #blog {
    flex-direction: column;
  }

  #blog ul li {
    width: 33%;
  }

  #blog .left {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    display: contents;
  }

  #blog ul {
    margin-top: 30px;
  }

}

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

  #blog ul {
    flex-direction: column;
  }

  #blog ul li {
    width: 100%;
    margin-bottom: 25px;
  }
}

@media screen and (max-width: 450px) {
  #blog .view_all {
    margin-top: 0;
  }
}

/* ===============================================
アクセス
=============================================== */
#access {
  position: relative;
}

.access_wrap {
  width: min(90%, 1200px);
  margin: 0 auto;
  background: var(--cl_wh);
  border-radius: 15px;
  box-shadow: 0px 2px 8px 0px rgba(0, 0, 0, 0.11);
  padding: 75px 5%;
  margin-bottom: 5%;
}

.ac_logo {
  text-align: center;
  margin-bottom: 40px;
}

.access_info table {
  width: 100%;
  margin-bottom: 20px;
}

.access_info th {
  width: 30%;
  text-align: left;
  padding: 2% 2% 2% 4%;
}

.access_info tr {
  border-bottom: 1px solid #bdbdbd50;
}

.access_info tr:last-child {
  border-bottom: none;
}

.access_img {
  position: relative;
}

.access_img_wrap {
  border-radius: 10px;
  overflow: hidden;
}

/* 
.access_img img {
  border-radius: 10px;
} */

.access_img iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.google_more {
  display: inline-block;
  color: var(--cl_wh);
  background: var(--cl_bl);
  padding: 2% 4%;
  position: absolute;
  bottom: -5%;
  right: 5%;
  font-size: 15px;
}

.google_more::after {
  content: "";
  display: inline-block;
  background-image: url(../image/top/view_all.svg);
  width: min(25%, 65px);
  height: 10px;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 40%;
  right: -18%;
  transition: all .3s;
}

.google_more:hover {
  color: var(--cl_wh);
  background: #3d3d3d;
}

.google_more:hover::after {
  transform: translateX(10px);
}

.access_bg {
  width: 100%;
  background: #ddce9e;
  height: 50vh;
  position: absolute;
  bottom: -10%;
  left: 0;
  z-index: -1;
}

.mail_img {
  width: 100%;
  max-width: 280px;
}

@media screen and (max-width: 750px) {
  .access_info th, .access_info td {
    width: 100%;
    display: block;
  }

  .access_info tr {
    display: block;
    padding: 3%;
  }

  .access_info th {
    padding: 0;
    margin-bottom: 3px;
  }

  .access_info td {
    padding: 0;
  }
}

@media screen and (max-width: 640px) {
  .mail_img {
    max-width: 260px;
  }
}

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

  .access_info td span {
    display: block;
  }

  .mail_img {
    width: 250px;
  }
}



/* ===============================================
詳細ページを公開したら削除するところ↓
=============================================== */
/* 
.l-gNavBtn-wrap {
  display: none;
}

header {
  padding-right: 40px;
}

@media screen and (max-width:520px) {
  header {
    padding-right: 30px;
  }
}

.l-hd-nav-wrap {
  gap: 50px;
}

#info .view_all {
  display: none;
}

.banner {
  display: none;
}

#plan {
  padding-bottom: 150px;
}

#blog .view_all {
  display: none;
} */

.fc-red { color: #e64632; }
.mb-10{
  margin-bottom: 10px;
}