@charset "UTF-8";
/*---------------------------------
common_overwrite
---------------------------------*/
html{
  scroll-behavior: smooth;
}
DIV#contentsTitle h1{
  background-image: none;
  padding: 42px 0 0;
  font-size: 24px;
  width: 960px;
  margin: 0 auto;
  font-weight: bold;
  line-height: 150%;
  color: #2b2b2b;
 }
body .guide_contents{
 font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体" , "メイリオ", sans-serif !important;
 color: #212121 !important;
}
DIV#contents{
  padding: 0;
}
DIV#contents P{
  margin-bottom: 0;
}
DIV#mainBg,DIV#contents {
 width: 100% !important;
}
DIV#contents .guide_contents a{
  color: #212121;
}
DIV#contents .mainColSizeContainer{
  width: 100%;
  margin: 0;
}

/*---------------------------------
common
---------------------------------*/
DIV#contents .guide_contents DIV.contentsTitle h3{
  font-family: 'Outfit', sans-serif;
  background-image: none;
  font-size: 75px;
  color:#212121;
  font-weight: 500;
  border-bottom: 0;
  line-height: 2.8rem;
  margin-top: 72px;
  padding: 20px 0;
 }
DIV#contents .guide_contents DIV.contentsTitle h3 span {
 font-size: 18px;
 font-weight: 500;
}
DIV#contents .guide_contents a {
   opacity: 1;
   transition: all .3s;
   text-decoration: none;
}
DIV#contents .guide_contents a:hover {
  opacity: 0.75;
}
/*---------------------------------
main
---------------------------------*/
.guide_main{
  background: linear-gradient(180deg, #fff 0%, #fff 40%, #D1E3E5 40%, #D1E3E5 100%);
  overflow: hidden;
}
.guide_inner,
.guide_swiper {
 width: 960px;
 margin: 0 auto;
}
.swiper-container {
  padding: 0 0 100px;
  position: relative;
}
.swiper-container .swiper-wrapper {
  padding: 0 0 40px;
}
.swiper-container .swiper-wrapper .swiper-slide {
  width: 594px;
  height: 415px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.swiper-container .swiper-wrapper .swiper-slide div {
  overflow: hidden;
  width: 594px;
  height: 334px;
}
.swiper-container .swiper-wrapper .swiper-slide div img{
  object-fit: cover;
  width: 100%;
  height: auto;
}
.swiper-container .swiper-wrapper .swiper-slide p {
  position: absolute;
  background-color: #fff;
  border-radius: 5px;
  font-size: 18px;
  width: 484px;
  height: 60px;
  padding: 30px;
  left: 0;
  right: 0;
  bottom: -40px;
  margin: 0 auto;
  font-weight: bold;
}
.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction{
  bottom: 40px;
  top: auto;
}
.swiper-pagination-bullet.swiper-pagination-bullet-active{
  background-color: #5CA5AC;
}
.swiper-pagination-bullet{
  background-color: #fff;
  opacity: 1;
}
/*---------------------------------
category
---------------------------------*/
.guide_category_list{
 display: flex;
 gap: 50px;
}
DIV#contents .guide_category_list h4{
 position: relative;
 font-size: 18px;
 border: none;
 background-image:none;
 color: #212121;
 text-align: center;
}
DIV#contents .guide_category_list h4 span{
  margin-right: 12px;
}
DIV#contents .guide_category_list h4 span img{
  vertical-align: middle;
}
DIV#contents .guide_category_list h4::before,
DIV#contents .guide_category_list h4::after{
  content: "";
  position: absolute;
    left: 0;
    right: 0;
    margin: 0 auto;
}
DIV#contents .guide_category_list h4::before{
  width: 98%;
  border: #A4A4A4 1px dashed;
  left: 0;
  right: 0;
  margin: 0 auto;
  top: calc(50% + 1px);
  z-index: -1;
}
DIV#contents .guide_category_list h4::after{
  min-width: 100px;
  width: 120px;
  height: 20px;
  background-color: #fff;
  z-index: -1;
}
.guide_category_list ul{
 display: flex;
 width: 164px;
 flex-wrap: wrap;
 gap: 20px;
 margin: 0;
}
.guide_category_list ul li{
 border: 1px solid #E1E1E1;
 width: 164px;
 height: 123px;
 text-align: center;
 border-radius: 3px;
 display: flex;
 flex-wrap: wrap;
 overflow: hidden;
 position: relative;
 align-items: center;
}
.guide_category_list ul li::before{
  position: absolute;
  content: "";
  background-color: #E5EFF0;
  transform: skewY(-6deg);
  width: 100%;
  height: 56px;
  z-index: -1;
  bottom: -26px;
}
.guide_category_list ul li.guest::before{
  background-color: #F7E8ED;
}
.guide_category_list ul li.guest p span{
  border-radius: 100px;
  background-color: #F7E8ED;
  font-size: 0.8rem;
  padding: 0 4px;
}
.guide_category_list ul li img,
.guide_category_list ul li p,
.guide_category_list ul li a{
 display: block;
 width: 100%;
}
.guide_category_list ul li img{
 width: 49px;
 margin: 0 auto;
 padding:15px;
}
.guide_category_list ul li a{
 font-size: 15px;
 text-decoration: none;
 color: #212121;
 font-weight: 500;
}
.guide_category_list
.category_preparation_marriage ul{
  width:540px;
}
/*---------------------------------
search
---------------------------------*/
.guide_search{
  margin-bottom: 70px;
}
.guide_search .guide_inner .search{
  background-color: #D1E3E5;
  padding: 40px 58px;
  display: flex;
  gap: 30px;
  align-items: center;
}
.guide_search .guide_inner .search #global_freeword{
width: 460px;
  height: 80px;
  border-radius: 5px;
  background: #fff;
  border: none;
  font-size: 16px;
  padding-left: 20px;
  box-shadow: 0px 3px 12px rgba(0, 0, 0, 0.16);
}
.guide_search .guide_inner .search #global_form{
  position: relative;
}
.guide_search .guide_inner .search #global_search {
  position: absolute;
  right: 20px;
  top: calc(50% - 10px);
}
.guide_search .guide_inner .search #global_freeword::placeholder{
 color:#A8B9C7 ;
}
.popular_keyword ul{
  display: flex;
  gap:20px 15px;
  flex-wrap: wrap;
  margin: 15px 0 0 0;
}
.popular_keyword ul li{
  background-color: #fff;
  padding: 5px 8px;
  border-radius: 3px;

}
.popular_keyword p{
  font-size: 16px;
  font-weight: bold;
}
DIV#contents .guide_contents .popular_keyword ul li a{
  color: #5CA5AC;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
}

/*---------------------------------
featured_News&Column
---------------------------------*/

.guide_featured ul{
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
}
.guide_featured ul li{
  width: 206px;
}
.guide_featured ul li img{
  object-fit: cover;
  width: 100%;
  height: 118px;
  border-radius: 5px;
}
.guide_featured ul li p{
  padding: 20px 0 0;
  font-size: 15px;
  line-height: 1.5;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
}
.btn_link_area{
  display: flex;
  gap: 45px;
  justify-content: center;
  margin-top: 70px;
}
a.btn_link{
  width: 456px;
  position: relative;
  border-radius: 40px;
  background: #fff;
  border: 1px solid #212121;
  font-size: 1.0rem;
  color: #212121;
  text-align: center;
  padding: 18px;
  font-weight: bold;
}
a.btn_link:hover{
  background-color: #F4F4F4;
}
a.btn_link span img {
  vertical-align: middle;
}
a.btn_link::after{
  content:"";
  color: #333;
  line-height: 1;
  width: 8px;
  height: 8px;
  border:2px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);
  position: absolute;
  right: 20px;
  top: calc(50% - 4px);
}
.guide_news{
  margin-top: 140px;
  padding-bottom: 70px;
}

/*---------------------------------
guide_category_content
---------------------------------*/

.guide_category_content{
  background-color: #D1E3E5;
  padding: 70px 0 1px;
}
.category__body {
  display: none;
  background: #fff;
  padding: 40px 50px
}
.category_title{
  text-align: center;
  padding-bottom: 42px;
  font-weight: bold;
  font-size: 22px;
}
.category_title img {
  display: block;
  margin: 0 auto 10px;
}
/*---------------------------------
guide_category_content
└accordion
---------------------------------*/
.accordion-wrap{
  margin-bottom:140px;
}
.accordion-dlist{
  border-radius: 5px;
  background: #fff;
  margin-bottom: 50px;
  box-shadow: 0px 3px 12px rgba(0, 0, 0, 0.1);
}
DIV#contents .guide_contents .accordion-desc ul{margin: 0 auto;}
.accordion-desc ul li {
  margin-bottom: 10px;
}
.accordion-desc ul li a{
    align-items: center;
    display: flex;
    gap: 20px;
    line-height: 1.5;
    font-size: 15px;
}
.accordion-desc ul li a img {
    object-fit: cover;
    min-width: 130px;
    max-width: 130px;
    height: 72px;
    object-position: top;
    border-radius: 3px;
}
.accordion-subtitle {
  font-size: 18px;
  font-weight: bold;
  position: relative;
}
.accordion-subtitle span{
  border-radius: 100px;
  background-color: #F7E8ED;
  font-size: 0.8rem;
  padding: 0 4px;
}
DIV#contents .guide_contents .accordion-wrap .accordion-dlist .accordion-desc .btn_link_area{
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 20px;
}
DIV#contents .guide_contents .accordion-wrap .accordion-dlist .accordion-desc a.btn_link {
  width: 100%;
  display: block;
  background: #5CA5AC;
  border: 1px solid #5CA5AC;
  font-weight: bold;
  color: #fff;
  padding: 10px;
}
DIV#contents .guide_contents .accordion-wrap .accordion-dlist .accordion-desc a.btn_link:hover {
  background-color: #fff;
  color:#5CA5AC ;
}
DIV#contents .guide_contents .accordion-wrap .accordion-dlist .accordion-desc a.btn_link::after {
  border: 2px solid #fff;
  border-left: transparent;
  border-bottom: transparent;
}
DIV#contents .guide_contents .accordion-wrap .accordion-dlist .accordion-desc a.btn_link:hover::after {
  border: 2px solid #5CA5AC;
  border-left: transparent;
  border-bottom: transparent;
  opacity: 1;
}
@media screen and (min-width: 768px) {
.accordion-dlist{
  display: flex;
  align-items: center;
  padding: 50px 40px;
  gap: 36px;
}
.accordion-desc{
 border-left: 1px solid #A4A4A4;
 padding-left: 40px;
 width: 620px;
}
.accordion-term {
  min-width: 196px;
  text-align: center;
}
.accordion-term img {
  display: block;
  margin: 0 auto 15px;
}
}

/*---------------------------------
guide_SNS
---------------------------------*/
.sns_box{
  border-radius: 5px;
  background: #fff;
  border: 1px solid #212121;
  display: flex;
  align-items: center;
  margin-top: 70px;
}
.sns_box .sns_title{
  background-color: #212121;
  color: #fff;
  font-family: 'Outfit', sans-serif;
  font-size: 30px;
  width: 25%;
  padding: 154px 0;
  text-align: center;
}
.sns_box ul li{
  border-bottom: 1px dashed #e1e1e1;
}
.sns_box ul li a{
  display: flex;
  font-family: 'Outfit', sans-serif;
  align-items: center;
  gap: 20px;
  padding: 20px 50px;

  font-weight: bold;
  font-size: 18px;
}
.sns_box ul li a span {
  font-size: 16px;
  font-weight: normal;
}
.sns_box ul{
  width: 75%;
  margin: 0 auto !important;
}
.sns_box ul li:last-of-type{
  border-bottom: none;
}

.floating.is-hidden {
  display: none;
}
.floating .guide_inner{
  position: relative;
  text-align: right;
}
.floating .guide_inner .scroll_top {
  position: fixed;
  bottom: 20px;
  z-index: 1000;
}
.bg_obj_position_top {
  object-position: top !important;
}
.bg_obj_position_bottom {
  object-position: bottom !important;
}
