@charset "UTF-8";

/* ============================================ */
/* 汎用パーツ */
/* ============================================ */

/* フォント */
/* ============================================ */
.mincho {
  font-family: 'Noto Serif JP', serif;
}

/* タイトル */
/* ============================================ */
/* 中央揃えタイトル */
.center_title {
  font-family: 'Noto Serif JP', serif;
  text-align: center;
  letter-spacing: .15em;
  font-size: 2rem;
  padding-bottom:5px;
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 800px) {
  .center_title {
    font-size: 1.4rem;
  }
}

/* マーカータイトル */
.marker_title span {
  padding:0 10px;
  display: inline-block;
  position: relative;
  font-weight: bold;
  font-size: 1.8rem;
}
.marker_title span::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 1.8rem;
  top: 50%;
  left: 0;
  background: #d9e6e8;
  z-index: -1;
}
@media screen and (max-width: 800px) {
  .marker_title span {
    font-size: 1.2rem;
    padding: 0;
  }
  .marker_title span::before {
    height: 11px;
  }
}

/* ボタン */
/* ============================================ */

/* 左上と右下が欠けたボタン */
.corner_button {
  display: inline-block;
  text-align: center;
  width: 250px;
  line-height:1.3;
  background: #74a6aa;
  padding: 0 10px;
  margin-top: 10px;
  margin-bottom: 10px;
  position: relative;
  color: #fff;
}
.corner_button .corner_button_first_decoration::before, .corner_button .corner_button_first_decoration::after,
.corner_button .corner_button_last_decoration::before, .corner_button .corner_button_last_decoration::after {
  content: "";
  position: absolute;
  display: block;
  background: #74a6aa;
}
.corner_button .corner_button_first_decoration::before, .corner_button .corner_button_last_decoration::before {
  width: calc(100% - 10px);
  height: 10px;
}
.corner_button .corner_button_first_decoration::before {
  top: -10px;
  right: 0;
}
.corner_button .corner_button_last_decoration::before {
  bottom: -10px;
  left: 0;
}
.corner_button .corner_button_first_decoration::after, .corner_button .corner_button_last_decoration::after {
  width: 15px;
  height: 7px;
  transform: rotate(-45deg);
}
.corner_button .corner_button_first_decoration::after {
  top: -6px;
  left: 0px;
}
.corner_button .corner_button_last_decoration::after {
  bottom: -6px;
  right: 0px;
}

@media screen and (max-width: 800px) {
  .corner_button {
    width: 150px;
    line-height:1.3;
    padding: 0 5px;
    margin-top: 3px;
    margin-bottom: 3px;
  }
  .corner_button .corner_button_first_decoration::before, .corner_button .corner_button_last_decoration::before  {
    width: calc(100% - 5px);
    height: 3px;
  }
  .corner_button .corner_button_first_decoration::before {
    top: -3px;
    right: 0;
  }
  .corner_button .corner_button_last_decoration::before {
    bottom: -3px;
  }
  .corner_button .corner_button_first_decoration::after, .corner_button .corner_button_last_decoration::after  {
    width: 6px;
    height: 4px;
  }
  .corner_button .corner_button_first_decoration::after  {
    top: -2px;
    left: 1px;
  }
  .corner_button .corner_button_last_decoration::after  {
    bottom: -2px;
    right: 1px;
  }
}

/* 左上と右下が欠けたボタン フチありバージョン */
.corner_button-line {
  padding: 11px 4px;
  display: inline-block;
  overflow: hidden;
  position: relative;
}
.corner_button-line::before, .corner_button-line::after {
  content:"";
  position: absolute;
  display: block;
  border-top: 2px solid #333;
  width: 20px;
  z-index: -1;
  transform: rotate(-45deg);
}
.corner_button-line::before {
  top: 6px;
  left: -2px;
  box-shadow: 1px 1px #fff;
}
.corner_button-line::after {
  bottom: 6px;
  right: -2px;
  box-shadow: 3px -1px #fff;
}
.corner_button-line_inner{
  padding: 1px;
  width: 260px;
  margin: 0;
  background: #333;
  box-shadow: -1px 0 #fff, -3px 0 #333, -4px 0 #333, 1px 0 #fff, 3px 0 #333, 4px 0 #333;
  position: relative;
}
.corner_button-line_text {
  position: relative;
  z-index: 2;
}

.corner_button-line_inner .corner_button_first_decoration, .corner_button-line_inner .corner_button_last_decoration {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
}
.corner_button-line_inner .corner_button_first_decoration::before, .corner_button-line_inner .corner_button_last_decoration::before {
  background: #333;
}
.corner_button-line_inner .corner_button_last_decoration {
  top: auto;
  bottom: 0;
  z-index: 1;
}
.corner_button-line_inner .corner_button_first_decoration::before {
  box-shadow: 1px 0px #fff, 0px -1px #fff, 1px -1px #fff, 2px -2px 0 2px #333;
}
.corner_button-line_inner .corner_button_last_decoration::before {
  box-shadow: -1px 0px #fff, 0px 1px #fff, -1px 1px #fff, -2px 2px 0 2px #333;
}
.corner_button-line_inner .corner_button_first_decoration::after, .corner_button-line_inner .corner_button_last_decoration::after {
  background: #333;
}
@media screen and (max-width: 800px) {
  .corner_button-line {
    padding: 5px 4px;
  }
  .corner_button-line::before, .corner_button-line::after {
    border-top: 2px solid #333;
    width: 12px;
  }
  .corner_button-line::before {
    top: 3px;
    left: -1px;
    box-shadow: 3px 3px 0 2px #d2d2d2;
  }
  .corner_button-line::after {
    bottom: 2px;
    right: -1px;
    box-shadow: -3px -3px 0 2px #d2d2d2;
  }
  .corner_button-line_inner{
    padding: 1px;
    width: 140px;
    box-shadow: -1px 0 #d2d2d2, -3px 0 #333, -4px 0 #333, 1px 0 #d2d2d2, 3px 0 #333, 4px 0 #333;
  }
  .corner_button-line_inner .corner_button_first_decoration::before {
    box-shadow: 1px 0px #d2d2d2, 0px -1px #d2d2d2, 1px -1px #d2d2d2, 2px -2px 0 2px #333;
  }
  .corner_button-line_inner .corner_button_last_decoration::before {
    box-shadow: -1px 0px #d2d2d2, 0px 1px #d2d2d2, -1px 1px #d2d2d2, -2px 2px 0 2px #333;
  }
}

/* 丸ボタン */
.round_button {
  display: inline-block;
  background: #000;
  color: #fff;
  font-size: 1.3rem;
  padding: 6px 21px;
  border-radius: 20px;
}
@media screen and (max-width: 800px) {
  .round_button {
    font-size: .9rem;
    padding: 1.5px 10px;
    border-radius: 20px;
  }
}

/* 欠けた背景 */
.corner_layout {
  padding: 0 24px;
  background: #fff;
  position: relative;
}
.corner_layout-lt, .corner_layout-rt {
  margin-top: 24px;
  padding-bottom: 24px;
}
.corner_layout-lb, .corner_layout-rb {
  margin-bottom: 24px;
  padding-top: 24px;
}
.corner_layout::before, .corner_layout::after {
  content: "";
  position: absolute;
  display: block;
}
.corner_layout::before {
  background: #fff;
  width: calc(100% - 24px);
  height: 24px;
}
.corner_layout-lt::before, .corner_layout-lb::before  {
  right: 0;
}
.corner_layout-rt::before, .corner_layout-rb::before  {
  left: 0;
}
.corner_layout-lt::before, .corner_layout-rt::before  {
  top: -24px;
}
.corner_layout-lb::before, .corner_layout-rb::before {
  bottom: -24px;
}
.corner_layout::after {
  width: 20px;
  height: 34px;
  background: #fff;
}
.corner_layout-lt::after {
  left: 9px;
  top: -23px;
  transform: rotate(45deg);
}
.corner_layout-lb::after {
  left: 9px;
  bottom: -23px;
  transform: rotate(-45deg);
}
.corner_layout-rt::after {
  right: 9px;
  top: -23px;
  transform: rotate(-45deg);
}
.corner_layout-rb::after {
  right: 9px;
  bottom: -23px;
  transform: rotate(45deg);
}
@media screen and (max-width: 800px) {
  .corner_layout {
    padding: 0 12px;
  }
  .corner_layout-lt, .corner_layout-rt {
    margin-top: 12px;
    padding-bottom: 12px;
  }
  .corner_layout-lb, .corner_layout-rb {
    margin-bottom: 12px;
    padding-top: 12px;
  }
  .corner_layout::before {
    width: calc(100% - 12px);
    height: 12px;
  }
  .corner_layout-lt::before, .corner_layout-rt::before  {
    top: -12px;
  }
  .corner_layout-lb::before, .corner_layout-rb::before {
    bottom: -12px;
  }
  .corner_layout::after {
    width: 10px;
    height: 17px;
    background: #fff;
  }
  .corner_layout-lt::after {
    left: 4px;
    top: -12px;
  }
  .corner_layout-lb::after {
    left: 4px;
    bottom: -12px;
  }
  .corner_layout-rt::after {
    right: 4px;
    top: -12px;
  }
  .corner_layout-rb::after {
    right: 4px;
    bottom: -12px;
  }
}

/* 欠けた背景　枠線あり */
.border_layout.corner_layout {
  border: 1px solid #000;
}
.border_layout.corner_layout-lt::before {
  box-shadow: 1px -1px #000;
}
.border_layout.corner_layout-lt::after {
  border-left: 1px solid #000;
}
.border_layout.corner_layout-lb::before {
  box-shadow: 1px 1px #000
}
.border_layout.corner_layout-lb::after {
  border-left: 1px solid #000;
}
.border_layout.corner_layout-rt::before {
  box-shadow: -1px -1px #000
}
.border_layout.corner_layout-rt::after {
  border-right: 1px solid #000;
}
.border_layout.corner_layout-rb::before {
  box-shadow: -1px 1px #000;
}
.border_layout.corner_layout-rb::after {
  border-right: 1px solid #000;
}

/* 欠けた背景　枠線あり */
.doubble_corner_layout {
  box-shadow: -1px 1px #000, 1px -1px #000;
}
.doubble_corner_layout .corner_button_first_decoration::before {
  box-shadow: 1px -1px #000;
}
.doubble_corner_layout .corner_button_first_decoration::after {
  border-top: 1px solid #000;
}
.doubble_corner_layout .corner_button_last_decoration::before {
  box-shadow: -1px 1px #000;
}
.doubble_corner_layout .corner_button_last_decoration::after {
  border-bottom: 1px solid #000;
}
@media screen and (max-width: 800px) {
  .doubble_corner_layout .corner_button_first_decoration::before, .doubble_corner_layout .corner_button_last_decoration::before {
    width: calc(100% - 3px);
  }
  .doubble_corner_layout .corner_button_first_decoration::after {
    top: -2px;
    left: 0;
  }
  .doubble_corner_layout .corner_button_last_decoration::after  {
    bottom: -2px;
    right: 0;
  }
}

/* ============================================ */
/* 記事アーカイブリスト */
/* ============================================ */



/* ============================================ */
/* セレクトボックス */
/* ============================================ */
.select_box {
  position: relative;
  background: #fff;
}
.select_box select {
  width: 100%;
  height: 50px;
  padding: 0 46px 0 13px;
  text-indent: 0.01px;
  overflow: hidden;
  white-space: nowrap;
  color: #000;
  border: 1px solid #000;
  border-radius: 0;
  background: none;
  position: relative;
  z-index: 1;
  vertical-align: middle;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  cursor: pointer;
  font-size: 1.4rem;
}
.select_box::before {
  content: "";
  position: absolute;
  height: 50px;
  width: 1px;
  right: 45px;
  background: #000;
  top: 0;
  z-index: 0;
}
.select_box::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 19px;
  width: 7px;
  height: 7px;
  border-bottom: 1px solid #000;
  border-left: 1px solid #000;
  transform: scale(1, 1.3) translateY(-50%) rotate(-45deg);
  z-index: 0;
}
@media screen and (max-width: 800px) {
  .select_box select {
    height: 36px;
    padding: 0 34px 0 7px;
    font-size: 1rem;
  }
  .select_box::before {
    height: 36px;
    right: 35px;
  }
  .select_box::after {
    right: 15px;
    width: 5px;
    height: 5px;
  }
}

/* ============================================ */
/* ページネーション */
/* ============================================ */
.pagination {
  align-items: center;
  font-size: 0;
  font-family: 'Noto Serif JP', serif;
  font-weight: bold;
  display: flex;
  justify-content: center;
  margin: 30px -3px 0;
}
.pager_wrap{
  margin: 0 30px;
}
.pagination .pager_wrap .pager {
  display: inline-block;
  width: 30px;
  padding: 3px 0;
  line-height: 30px;
  text-align: center;
  border: 1px dotted #000;
  font-size: 1.5rem;
}
.pagination .pager_wrap .pager:not(:last-child){
  margin-right: 20px;
}
.prev_post, .next_post {
  width: 30px;
  line-height: 40px;
  display: block;
}
.prev.pager, .next.pager {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
}
.pagination .prev.pager, .pagination .next.pager {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.prev.pager::before, .next.pager::before {
  content:"";
  display: block;
  border: solid 5px transparent;
  border-left: solid 10px #000;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: .3s left ease-out;
}
.prev.pager::before {
  transform: translate(-50%, -50%) rotate(-180deg);
}
.prev.pager:hover::before {
  left: 25%;
}
.next.pager:hover::before {
  left: 75%;
}
.pagination .pager {
  transition: 0.3s ease-out;
  transition-property: background, color;
}
.pagination .next_post {
  justify-content: flex-end;
}
.pagination .pager:hover, .pagination .current {
  color: #fff;
}
.pagination .pager_wrap .pager:hover,.pagination .current{
  background: #000;
}
.pagination .archive_link_btn {
  width: auto;
  padding: 0 20px;
}
@media screen and (max-width: 800px) {
  .pagination {
    margin: 20px 0;
  }
  .pager_wrap{
    margin: 0 15px;
  }
  .pagination .back_link a {
    width: 75px;
    margin: 0 40px;
  }
  .pagination .pager_wrap .pager:not(:last-child){
    margin-right: 15px;
  }
  .prev.pager::before,
  .next.pager::before {
    border-width: 4px;
    border-left-width: 8px;
  }
  .pagination .pager_wrap .pager {
    font-size: 1.4rem;
  }
}

/* ============================================ */
/* フォーム */
/* ============================================ */
form input,
form textarea {
    padding: 2px 8px;
    border: 1px solid #b2b2b2b2;
    border-radius: 0;
    -webkit-appearance: none;
    cursor: pointer;
}
form input.error_field_color,
form textarea.error_field_color {
    background-color: #fff5f7;
    border: 2px solid #ff6363;
}
form .buton_back {
    border: none;
}
input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0px 1000px white inset;
}

form input::placeholder {
    color: #B2B2B2;
}
form input[type="text"],
form textarea,
form input[type="email"],
form input[type="tel"] {
    width: 100%;
}
form textarea {
    height: 248px;
    resize: none;
    padding: 6px 10px;
    font-size: 1.4rem;
    line-height: 22px;
}
input[type="checkbox"] {
    position: relative;
    width: 16px;
    height: 16px;
    padding: 2px;
    margin: 0 2px 2px 0;
    border: 1px solid #303030;
    border-radius: 3px;
    -webkit-appearance: none;
    background: #fff;
}
input[type="checkbox"]:checked {
    border: 2px solid #303030;
}
input[type="checkbox"]:checked::before {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    top: 2px;
    right: 2px;
    background-image: url(../img/contact/icon_check.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}
input[type="radio"] {
    position: relative;
    width: 15px;
    height: 15px;
    padding: 2px;
    margin: 0 5px 3px 0;
    border: 1px solid #303030;
    border-radius: 100px;
    -webkit-appearance: none;
}
input[type="radio"]:checked {
    border: 2px solid #303030;
}
input[type="radio"]:checked::before {
    position: absolute;
    content: "";
    width: 7px;
    height: 7px;
    top: 2px;
    right: 2px;
    background-color: #74A6AA;
    border-radius: 100px;
}
form input[name="postal_code"] {
    width: 70px;
    margin: 0 0 0 5px;
}
form input[name="postal_code2"] {
    width: 90px;
}
input[type="submit"] {
    display: block;
    margin: auto;
}
label {
    cursor: pointer;
    font-size: 1.4rem;
}
.request_item label {
    align-items: center;
    display: flex;
}
select{
    cursor: pointer;
}
select[name="visit_day_item01"],
select[name="visit_day_item02"],
select[name="visit_day_item03"],
select[name="visit_day_item04"] {
    padding: 2px 43px 2px 10px;
    border: 1px solid #b2b2b2b2;
}
@media screen and (max-width: 800px) {

  form input,
  form textarea {
      padding: 6px 8px;
      font-size: 1.1rem;
  }
  form label {
      font-size: 1.1rem;
  }
  form textarea {
      height: 90px;
      font-size: 1rem;
      line-height: 18px;
  }
  select[name="visit_day_item01"],
  select[name="visit_day_item02"],
  select[name="visit_day_item03"],
  select[name="visit_day_item04"] {
      padding: 6px 43px 6px 10px;
  }
  input[type="checkbox"] {
      width: 14px;
      height: 14px;
      margin: 0 0 1px 0;
  }
  input[type="checkbox"]:checked::before {
      width: 8px;
      height: 8px;
      top: 1px;
      right: 1px;
  }
  form input[name="postal_code"] {
      margin: 0 0 0 6px;
  }
  input[type="radio"] {
      width: 14px;
      height: 14px;
      margin: 0 0 1px 0;
  }
  input[type="radio"]:checked::before {
      width: 6px;
      height: 6px;
      top: 2px;
      right: 2px;
  }
}

/* ============================================ */
/* ホバーアニメーション */
/* ============================================ */
@media screen and (min-width: 801px) {
  .hover_up, .hover_left, .hover_right, .hover_all_roll, .hover_clockwise, .hover_unclockwise {
    transition: .3s transform ease-out;
    display: inline-block;
  }
  .hover_up:hover {
    transform: translateY(-5px);
  }
  .hover_left:hover {
    transform: translateX(-5px);
  }
  .hover_right:hover {
    transform: translateX(5px);
  }
  .hover_all_roll:hover {
    transform: rotate(360deg)
  }
  .hover_clockwise:hover {
    transform: rotate(4deg);
  }
  .hover_unclockwise:hover {
    transform: rotate(-4deg)
  }
  .hover_zoom {
    display: block;
    overflow: hidden;
  }
  .hover_zoom img {
    transition: .5s transform ease-out;
  }
  .hover_zoom:hover img {
    transform: scale(1.2);
  }
  .hover_clear img {
    transition: .5s opacity ease-out;
  }
  .hover_clear:hover img {
    opacity: .7;
  }
  .hover_underline:hover {
    text-decoration: underline;
  }
  .hover_left_border_dpink, .hover_left_border_dgreen {
    display: inline-block;
    position: relative;
  }
  .hover_left_border_dpink::after, .hover_left_border_dgreen::after {
    content: "";
    position: absolute;
    display: block;
    transition: .1s width ease-out;
    height: 100%;
    top: 0;
    left: 0;
    width: 0;
  }
  .hover_left_border_dpink::after {
    background: #824f4b;
  }
  .hover_left_border_dgreen::after {
    background: #415758;
  }
  .hover_left_border_dpink:hover::after, .hover_left_border_dgreen:hover::after {
    width: 5px;
  }
}

/* スクロールアニメーション */
.js-scroll_animation.fadeIn {
  opacity: 0;
  transition: 1s opacity ease-out;
}
.js-scroll_animation.fadeIn.is-show {
  opacity: 1;
}
.js-scroll_animation.fadeIn_up, .js-scroll_animation.fadeIn_down, .js-scroll_animation.fadeIn_left, .js-scroll_animation.fadeIn_right {
  opacity: 0;
  transition: 1s ease-out;
  transition-property: opacity, transform;
}
.js-scroll_animation.fadeIn_up {
  transform: translateY(50px);
}
.js-scroll_animation.fadeIn_down {
  transform: translateY(-50px);
}
.js-scroll_animation.fadeIn_left {
  transform: translateX(-100px);
}
.js-scroll_animation.fadeIn_right {
  transform: translateX(100px);
}
.js-scroll_animation.fadeIn_up.is-show, .js-scroll_animation.fadeIn_down.is-show, .js-scroll_animation.fadeIn_left.is-show, .js-scroll_animation.fadeIn_right.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
@media screen and (max-width: 800px) {
  .js-scroll_animation.fadeIn_up {
    transform: translateY(30px);
  }
  .js-scroll_animation.fadeIn_down {
    transform: translateY(-30px);
  }
  .js-scroll_animation.fadeIn_left {
    transform: translateX(-50px);
  }
  .js-scroll_animation.fadeIn_right {
    transform: translateX(50px);
  }
}
@media screen and (min-width: 801px) {
  .js-scroll_animation.delay_01 { transition-delay: .1s; }
  .js-scroll_animation.delay_02 { transition-delay: .2s; }
  .js-scroll_animation.delay_03 { transition-delay: .3s; }
  .js-scroll_animation.delay_04 { transition-delay: .4s; }
  .js-scroll_animation.delay_05 { transition-delay: .5s; }
  .js-scroll_animation.delay_06 { transition-delay: .6s; }
  .js-scroll_animation.delay_07 { transition-delay: .7s; }
  .js-scroll_animation.delay_08 { transition-delay: .8s; }
  .js-scroll_animation.delay_09 { transition-delay: .9s; }
  .js-scroll_animation.delay_10 { transition-delay: 1s; }
}
@charset "UTF-8";

.top .corner_button-line {
  position: relative;
  z-index: 2;
  padding: 14px 4px;
}
.top_caption {
  font-family: 'Noto Serif JP', serif;
}
.top  main {
  overflow: hidden;
  margin-top: -58px;
}
.top h2 {
  font-size: 2rem;
  letter-spacing: .7rem;
}

@media screen and (max-width: 800px) {
  .top .corner_button-line {
    padding: 6px 4px;
  }
  .top  main {
    margin-top: 0;
  }
  .top h2 {
    font-size: 1.3rem;
  }
}


/* ============================================ */
/* メインビジュアル */
/* ============================================ */
.mainvisual {
  position: relative;
  margin-bottom: 111px;
}
.main_logo {
  position: absolute;
  bottom: -60px;
  right: 65px;
  z-index: 1;
}

@media screen and (max-width: 1030px) {
  .main_logo {
    width: 217px;
    height: 58px;
    right: 20px;
    bottom: -20px;
  }
}
@media screen and (max-width: 800px) {
  .top main {
    padding-top: 0 !important;
  }
  .main_content_wrap {
  }
  .mainvisual {
	  margin-bottom: 30px;
    padding-top: 75px !important;

	}
}
/* スライダー */
.top_slider.inner {
  max-width: 100%;
  padding: 0;
}
.slider_img {
  width: 100%;
}
.mainvisual .slick-slide img {
  aspect-ratio: 373/211;
  object-fit: cover;
}
.top .slick-dots {
  width: 340px;
  bottom: -60px;
  left: 0;
  padding-left: ;
}
.top .slick-dots li, .top .slick-dots li button, .top .slick-dots li button:before{
  width: 50px;
  height: 3px;
}
.top .slick-dots li {
  margin: 0 5px 0 0;
}
.top .slick-dots li:last-child {
  margin: 0;
}
.top .slick-dots li button:before {
  color: #cccccc;
  background: #cccccc;
}
.top .slick-dots li.slick-active button:before {
  background: #70a4a8;
}
.top .slick-dots li button:before {
  content: '' !important;
}
.top .slick-slide {
  height: auto;
}
  .top .mainvisual .slick-slide {
    aspect-ratio: 373 / 211;
    overflow: hidden;
  }

@media screen and (max-width: 800px) {
  .top .mainvisual .slick-slide {
    aspect-ratio: 373 / 211;
    overflow: hidden;
  }
  .top .slick-dots {
    bottom: -20px;
    width: 150px;
  }
  .top .slick-dots li, .top .slick-dots li button, .top .slick-dots li button:before {
    width: 25px;
    height: 2px;
  }
}

/* カウンター */
.top_slider-num {
  padding-left: 50px;
  color: #b1a06a;
  font-family: 'Lovers Quarrel', cursive, 'Noto Serif JP', serif;
  position: relative;
}
.num_inner {
  position: absolute;
  display: flex;
  align-items: center;
  width: 33px;
  top: -30px;
  left: 95px;
  font-weight: bold;
}
.count_naw {
  font-size: 4.5rem;
  padding: 0 0 30px 0;
}
.count_all {
  font-size: 2.5rem;
  padding: 10px 0 0 0;
}

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

  .num_inner {
    top: -35px;
    left: 15px;
  }
  .count_naw {
    font-size: 2rem;
    padding: 0 0 12px 0;
  }
  .count_all {
    font-size: 1.5rem;
    padding: 0;
  }
}


/* ============================================ */
/* ヘッダーコンテンツ */
/* ============================================ */
.top .header_content {
  margin: 0 auto 10px;
}
.top .header_content::after {
  background: #f4f4ef;
}

@media screen and (min-width: 801px) {
  .top .header_content {
    position: relative;
  }
  .wrap {
    padding-top: 0 !important;
  }
  .header_top_wrap {
    width: 100%;
    max-width: 100%;
  }
  .header_top_wrap_inner{
    border-bottom: transparent;
    clip-path: polygon(50px 0, 100% 0, 100% 100%, 0 100%, 0 50px);
  }
  .header_top_wrap_inner::after {
    content: none;
  }
  .change_menu_button {
    display: none;
  }
  .header_top_nav {
    clip-path: polygon(100% 0, 100% 50px, calc(100% - 50px) 100%, 0 100%, 0 0);
    position: relative;
    padding: 20px 0 20px;
    max-width: 100%;
  }
  .top .top_section_wrp.nav {
    padding: 0;
    background: #f4f4ef;
    margin-top: 0;
  }
  .header_top_nav::after {
    content: "";
    position: absolute;
    display: block;
    width: 70px;
    height: 1px;
    background: #b2b2b2;
    z-index: 2;
    bottom: -1px;
    right: -20px;
    transform: rotate(-42deg);
    transform-origin: bottom left;
  }
}

.shop_sns_menu a:first-child {
  display: none;
}

/* ============================================ */
/* キャンペーン */
/* ============================================ */
.campaign {
  padding: 60px 10px 60px;
  background: #f4f4ef;
}
.campaign_img_wrp {
  max-width: 1194px;
  margin: 0 auto 60px;
  display: flex;
  justify-content: space-between;
}
.campaign_box_wrp {
  padding: 8px;
  background: #fff;
  margin: 0 7px;
}
.campaign_box{
  padding-bottom: 59.2%;
  position: relative;
  display: block;
  overflow: hidden;
}
.campaign_img {
  position: absolute;
  width: 100%;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;
}
.campaign_corner_button {
  text-align: center;
}
.button_campaign_imgbox {

  margin: auto;
  display: block;
}
@media screen and (min-width: 801px) {
  .campaign_box:hover .campaign_img {
    transform: translate(-50%, -50%) scale(1.2);
  }
}
@media screen and (max-width: 800px) {
  .campaign {
    padding: 50px 25px;
    background: #f4f4ef;
  }
  .campaign_img_wrp {
    margin: 0 calc(50% - 50vw) 15px;
    width: 100vw;
  }
  .campaign_box_wrp {
    margin-right: 0px;
    padding: 5px;
  }
}
/* 振袖リンク */
.link_furisode {
  margin: 60px auto 0;
  max-width: 1180px;
}
.banner_753 {
  margin: 50px auto;
  max-width: 960px;
}
.banner_753 img {
  position: relative;
}
.banner_753_btn {
  display: inline flex;
    width: 50%;
    gap: 1em;
    position: absolute;
    left: 6%;
    bottom: 16%;
}
.banner_753.--furisode .banner_753_btn{
  bottom: 24%;
}
.banner_753.--furisode .banner_753_btn:last-of-type{
  bottom: 6%;
}
@media screen and (max-width: 800px) {
  .link_furisode {
    margin: 50px auto 10px;
  }
  .banner_753 {
    margin: 15px auto;
  }
  .banner_753_btn {
    width: 90%;
    top: calc(50% + 23%);
    left: calc(50% - 0px);
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);

  }
  .banner_753.--furisode .banner_753_btn{
    top: calc(50% + 19%);
  }
  .banner_753.--furisode .banner_753_btn:last-of-type{
    top: calc(50% + 35%);
  }


}
@media screen and (max-width: 450px) {
  .banner_753_btn {
    top: calc(50% + 18%);
  }
  .banner_753.--furisode .banner_753_btn{
    top: calc(50% + 17%);
  }
  .banner_753.--furisode .banner_753_btn:last-of-type{
    top: calc(50% + 33%);
  }

}

/* ============================================ */
/* プルミエールについて */
/* ============================================ */
.top_about {
  background: #d9e6e8;
  padding: 120px 0 85px;
  position: relative;
  overflow: hidden;
}
.top_about::before, .top_about::after {
  position: absolute;
  content: "";
}
.top_about::before {
  background: url(../img/top/about_logo.png) no-repeat;
  background-size: contain;
  width: 860px;
  max-width: 80%;
  height: 300px;
  top: 5%;
  left: 48%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  overflow: hidden;
  z-index: 0;
  opacity: .6;
}
.top_about::after {
  background: url(../img/top/top_about_backimg01.png) no-repeat;
  top: -10px;
  left: -80px;
  width: 221px;
  height: 221px;
  z-index: 0;
  opacity: 0.7;
}
.top_about .top_caption {
  text-align: center;
  font-size: 2rem;
  padding-bottom: 30px;
}
.top_about .top_caption_inner {
  position: relative;
  padding-bottom: 25px;
}
.top_about .top_caption_inner::before, .top_caption_inner::after {
  position: absolute;
  content: "";
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 900px;
  height: 1px;
}
.top_about .top_caption_inner::before {
  bottom: 0;
  background: rgba(0,0,0,0.2);
}
.top_about .top_caption_inner::after {
  bottom: -1px;
  background: rgba(255,255,255,0.5);
}
.top_about .top_about_inner {
  padding-top: 150px;
  position: relative;
  z-index: 1;
  max-width: 1400px;
  margin: auto;
}
.top_about_box_img_wrp {
  margin: 0% calc(50% - 50vw);
  width: 50vw;
}
.top_about_box_img_wrp img {
  width: 100%;
}
.top_about_box {
  max-width: 1200px;
  margin: auto;
}
.top_about_box_inner {
  display: flex;
  position: relative;
  justify-content: space-between;
}
.top_about_box2 .top_about_box_inner {
  flex-flow: row-reverse;
}
.top_about_box_txt_wrp {
  order: 10;
  /* position: absolute; */
  bottom: -10px;
  right: -5px;
  max-width: 47%;
  z-index: -1;
  font-size: 1.4rem;
  display: inline grid;
  place-items: center;
}
.top_about_box2 .top_about_box_txt_wrp {
  left: 0;
}
.top_about_box1 .top_about_box_txt {
  padding: 45px 30px 45px 45px;
}
.top_about_box2 .top_about_box_txt {
  padding: 45px 45px 45px 25px;
}
.top_about_inner .top_about_box:first-child {
  padding-bottom: 50px;
}
.top_about .about_us_img_wrap {
  position: relative;
  width: 50%;
}
.top_about .about_us_img {
  width: 100%;
}
.top_about .about_us_text_wrap {
  top: auto;
  bottom: -15%;
  left: 49%;
}
.top_about .corner_layout-lt, .top_about .corner_layout-rt {
  padding: 45px 20px 45px 30px;
}
.top_about .about_us_image_content_02 {
  position: relative;
}
.top_about .about_us_img_wrap_02 {
  position: absolute;
  right: 0;
  width: 50%;
}
.top_about .corner_layout.corner_layout-lb.pc {
  position: absolute;
  right: 50%;
  bottom: -270px;
}
.top_about .corner_layout-lb, .top_about .corner_layout-rb {
  padding: 55px 50px 30px 50px;
  margin-bottom: -2px;
  line-height: 2.4;
}
.top_about_button {
  display: flex;
  justify-content: space-between;
  max-width: 1000px;
  margin: 70px auto 0;
  position: relative;
  z-index: 1;
  font-size: 14px;
  line-height: 29px;
}
.top_about_button_top {
  padding-top: 10px;
}
.top_about_button_bottom {
  max-width: 685px;
}
.top_about_box1,.top_about_box1 {
  position: relative;
}
.top_about_box1::before, .top_about_box1::after, .top_about_box2::before, .top_about_box2::after {
  position: absolute;
  content: "";
}
.top_about_box1::before {
  background: url(../img/top/top_about_backimg02.png) no-repeat;
  width: 278px;
  height: 278px;
  top: -20%;
  right: -5%;
  z-index: -2;
  opacity: 0.7;
}
.top_about_box1::after {
  background: url(../img/top/top_about_backimg03.png) no-repeat;
  width: 162px;
  height: 162px;
  bottom: -1%;
  right: -14%;
  z-index: -2;
  opacity: 0.7;
}
.top_about_box1 .top_about_box_inner:after {
  content: '';
  position: absolute;
  background: url(../img/top/top_about_backimg04.png) no-repeat;
  background-size: contain;
  width: 300px;
  height: 300px;
  bottom: -55%;
  left: -15%;
  z-index: -2;
  opacity: 0.7;
}
.top_about_box2:after {
  background: url(../img/top/top_about_backimg04.png) no-repeat;
  background-size: contain;
  width: 400px;
  height: 400px;
  bottom: -60%;
  left: 27%;
  z-index: -2;
  opacity: 0.7;
}
.button_top_about {
  margin: auto auto;
}
.button_top_about_imgbox {

  margin: auto;
  display: block;
}
.top_about_button_wrap {
  position: relative;
  z-index: 1;
  margin-top: 5%;
  max-width: 1200px;
  margin-inline: auto;
  font-size: 16px;
}
@media screen and (max-width: 1120px) {
  .top_about {
    padding: 80px 15px;
  }
  .top_about_box_img_wrp {
    margin: 0;
    max-width: 60%;
  }
  .top_about_button {
    padding-top: 120px;
    flex-direction: column-reverse;
    row-gap: 1em;
  }
  .button_top_about_imgbox {
    max-width: none;
  }

}
@media screen and (max-width: 850px) {
  .top_about::before {
    width: 400px;
    top: 50px;
    left: 47%;
  }
  .top_about .top_about_inner {
    padding-top: 30px;
  }
  .top_about_box_inner {
    flex-direction: column;
}
  .top_about_box2 .top_about_box_inner {
  flex-flow: column;
}
  .top_about_box_img_wrp {
    max-width: 80%;
    width: 80%;
  }
  .top_about_box_txt_wrp {
    margin-left: auto;
    margin-top: -30px;
    position: unset;
    max-width: 80%;
  }
  .top_about_button {
    padding-top: 30px;
}
.top_about::after {
  opacity: 0.2;
}
.top_about_button_wrap .taC{
  text-align: start;
  }
  .top_about_button_wrap {
    margin-top: 4em;
    font-size: 14px;
  }
}
@media screen and (max-width: 550px) {
  .top_about {
    padding: 80px 25px 50px;
  }
  .top_about_box_img_wrp {
    max-width: 100%;
    width: 100%;
  }
  .top_about_box_txt_wrp {
    max-width: fit-content;
  }
  .top_about_inner .top_about_box:first-child {
    padding-bottom: 35px;
  }
  .top_about_box1 .top_about_box_txt,
  .top_about_box2 .top_about_box_txt {
    padding: 45px 10px 10px;
    margin-bottom: -2px;
    line-height: calc(50 / 28);
    letter-spacing:.1em;
  }
  .top_about_button {
    padding-top: 0px;
    margin: 2.5em 0 0;
}
.top_about_button_top {
  padding-top: 0;
}
.top_about_box1::before,.top_about_box1::after,.top_about_box1 .top_about_box_inner:after,.top_about_box2:after {
  content: none;
}
.top_about_button_wrap .mb50{
margin-bottom: 30px;

}
}


/* ============================================ */
/* お知らせ */
/* ============================================ */
.top_news{
  max-width: 100%;
  margin: 0 auto;
  padding: 100px 0 60px;
  position: relative;
}
.top_news::before {
  position: absolute;
  content: "";
  background: url(../img/top/news_logo.png) no-repeat;
  width: 100%;
  height: 344px;
  top: 0px;
  left: 10px;
  overflow: hidden;
  z-index: -1;
}
.top_news_inner {
  max-width: 1200px;
  width: calc(100% - 30px);
  margin: auto;
  display: flex;
  justify-content: space-between;
}
.top_news .top_caption {
  font-size: 2rem;
  letter-spacing: 1rem;
}
.top_caption_sub {
  display: block;
  font-size: .9rem;
  text-align: center;
}
.top_news_wrp {
  max-width: 85%;
  flex: 85%;
  padding-top: 7px;
}
.top_news_flex_wrap{
	display: block;
}
.top_news .sidebar_banner_wrp {
	display: flex;
	justify-content: center;
}
.top_news .sidebar_banner_image{
  width: 100%;
  padding: 0 0 0 20px;
  border: 1px solid #cccc;
}
.top_news .sidebar_banner_link {
  display: block;
  position: relative;
}
.top_news .sidebar_banner_link::before {
  position: absolute;
  content: "";
  border-top: 1px solid #ccc;
  top: -13px;
  left: -13px;
  width: 28px;
  height: 28px;
  transform: rotate( 135deg);
  display: block;
  background: #fff;
}
.top_news .sidebar_banner_link::after {
  position: absolute;
  content: "";
  border-top: 1px solid #ccc;
  bottom: -13px;
  right: -13px;
  width: 28px;
  height: 28px;
  transform: rotate( -45deg);
  display: block;
  background: #fff;
}
.top_news .sidebar_banner_wrp .sidebar_banner_link:not(:last-child) {
  margin-right: 20px;
}
.top_news_inner .top_caption_sub {
  letter-spacing: .3rem;
}
.top .top_news_inner .archive_news_content_li:nth-last-child(1),
.top .top_news_inner .archive_news_content_li:nth-last-child(2),
.top .top_news_inner .archive_news_content_li {
  width: 100%;
  border-bottom: solid 1px #b2b2b2;
}
.top_news_inner .archive_news_content_txt {
  display: flex;
  width: 100%;
  gap: 1em;
}
.top_news_inner .archive_news_content_dt {
  margin-right: 0;
  letter-spacing: .14em;
}
.top_news_inner .archive_news_content_dt a {
  padding: 2px 13px 0px;
  height: min-content;
}
.top_news_inner .archive_news_content_dd {
  display: flex;
  gap: 1.5em;
}
.top_news_inner .archive_news_content_date {
  margin-right: 20px;
  font-weight: normal;
  font-family: 'Noto Serif JP', serif;
}
.archive_news_content_date::before {
  content: none !important;
}

.top_news_inner .archive_news_content_dd p {
  min-width: 8.5em;
  text-align: center;
}
.archive_news_content_dt_wrp,
.top_news_inner .detailbrn {
  display: none !important;
}

@media screen and (max-width: 800px) {
  .top_news {
    padding: 30px 15px 40px;
  }
  .top_news_inner {
    display: block;
    width: 100%;
  }
  .top_news_wrp {
    max-width: 100%;
    padding-top: 15px;
  }
  .top_caption {
    text-align: center;
  }
  .top_news .top_caption {
    line-height: 1.5;
    margin-bottom: 10px;
    letter-spacing: .3rem;
  }
  .top_news .sidebar_banner_wrp {
    margin-top: 12px;
    justify-content: center;
  }
  .top_news::before {
    background: url(../img/top/news_logo_sp.png) no-repeat;
    width: 215px;
    height: 121px;
    background-size: contain;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .top_news_inner .archive_news_content_txt {
    font-size: 14px;
    display: block;
    position: relative;
    margin-left: 0;
    padding-top: 0;
  }
  .top_news_inner .archive_news_content_dt {
    margin-right: 0;
  }
  .top_news_inner .archive_news_content_dd p {
    text-align: left;
    position: absolute;
    top:5px;
    left: 16em;
  }

  .top_news .sidebar_banner_image {
    padding: 0;
  }
  .top_news_wrp .archive_news_content_li:last-child {
    margin-bottom: 17px;
  }
	.top_news_flex_wrap{
		display:block;
	}
  .top_news .archive_news_content_date,
  .top_news .archive_news_content_dt a,
  .top_news .archive_news_content_dd
   {
    font-size: 14px;
    font-weight: normal;
    padding: 0;
  }
  .top_news .archive_news_content_dd
   {
    font-size: 13px;
    margin-left: 0;
    margin-top: 5px;
  }
  .top_news .archive_news_content_dt a {
    padding: 4px 8px 2px;
  }
  .top_news_inner .archive_news_content_date {
    margin-right: 5px;
    padding: 4px 0;
  }
}

@media screen and (max-width: 400px) {
  .top_news .sidebar_banner_link::after {
    bottom: -7px;
    right: -7px;
    width: 16px;
    height: 16px;
  }
  .top_news .sidebar_banner_link::before {
    top: -7px;
    left: -7px;
    width: 15px;
    height: 15px;
  }
  .top_news .archive_news_content_li,
  .top_news .archive_news_content_li:nth-last-child(2),
  .top_news .archive_news_content_li:nth-last-child(1) {
    padding-bottom: 10px;
    margin-bottom: 10px;
  }
}

/* ============================================ */
/* レンタル撮影プラン */
/* ============================================ */
.rental {
  padding: 145px 0 0px !important;
  /* padding: 145px 0 195px; */
  background: linear-gradient(to bottom, rgb(175 158 106 / 30%), #fff 30%);
  position: relative;
  overflow: hidden;
}
.rental::before {
  position: absolute;
  content: "";
  background: url(../img/top/service_logo.png) no-repeat;
  width: 680px;
  height: 312px;
  top: 30px;
  left: 20%;
  z-index: 1;
  background-size: contain;
}
.rental .top_caption, .rental_txt, .furisode_main_box {
  position: relative;
  z-index: 2;
}
.rental .top_caption {
  text-align: center;
  letter-spacing: .7rem;
}
.rental_txt_wrp {
  text-align: center;
  font-size: 1.4rem;
  padding: 32px 0 50px;
  line-height: 2;
}
.rental_txt {
  display: block;
}
.furisode_main_box {
  max-width: 960px;
  margin: 0 auto;
  position: relative;
  display: flex;
  flex-flow: column-reverse;
}
.rental_contents {
  position: absolute;
  width: 100%;
  height: 187px;
  bottom: -232px;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  background: url(../img/top/boarder_frisode.png) no-repeat #fff;
  background-size: 100% 104%;
  z-index: -1;
}
.furisode_txt_wrp {
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: absolute;
  padding: 0 37px 0 48px;
  height: 217px;
  bottom: -272px;
}
.furisode_txt_left {
  padding-right: 35px;
  flex: 1;
}
.furisode_txt {
  font-size: 14px;
  padding: 13px 0 25px;
}
.furisode_img_wrp {
  position: relative;
  z-index: -2;
}
.top_caption.furisode_caption {
  text-align: left;
  color: #b1a06a;
  font-size: 30px;
  letter-spacing: normal;
  font-family: 'Noto Sans JP', sans-serif;
}
.furisode_txt_right .sp{
	display:none;
}
.furisode_txt_left .top_caption.furisode_caption {
  border-bottom: 1px dashed #b2b2b2;
  padding: 16px 0 2px;
  font-weight: bold;
}
.furisode_caption_span {
  font-size: 1.6rem;
  font-weight: normal;
  letter-spacing: 1;
  padding-left: 15px;
}
.top .corner_button-line.rental_link {
  margin-bottom: 10px;
}

.furisode_botann_img_wrp {
  width: 72%;
  margin: 5px auto 0;
  position: relative;
  display: block;
  text-align: center;
}
.furisode_txt_right {
  width: 25.6%;
}
.furisode_txt_right .furisode_botann_img_wrp {
  width: 100%;
}
.botann_ttl {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}
.botann_ttl.botann_rental {
  color: #fff;
}
.botann_rental_wrp {
  margin-bottom: 10px;
}
@media screen and (max-width: 891px) {
  .furisode_txt {
    padding: 5px 0 25px;
  }
}
@media screen and (max-width: 800px) {
  .furisode_img_wrp {
    padding: 0 10px;
  }
  .furisode_txt {
    padding: 7px 0 0;
  }

  .furisode_txt_left .top_caption.furisode_caption {
    font-size: 1.5rem;
    padding: 0 0 6px;
  }
  .furisode_txt_right .furisode_botann_img_wrp {
    max-width: 190px;
    margin: 0 auto;
  }
.furisode_txt_right .sp{
	display:block;
}
  .furisode_txt_wrp {
    max-width: 94%;
    display: block;
    height: auto;
    padding: 18px 18px 17px;
  }
  .furisode_txt_right {
    width: 100%;
    gap: 0 5px;
    display: flex;
    margin: 0 auto;
    padding-top: 9px;
    justify-content: center;
  }
  .furisode_txt_right .botann_rental_wrp {
    max-width: 130px;
    margin: 0 20px 0 0;
  }
  .furisode_txt_left {
    padding: 0;
  }

  .rental {
    padding: 50px 0 227px;
  }
  .rental_txt_wrp {
    font-size: 1rem;
    padding: 17px 15px 19px;
  }
  .rental::before {
    width: 398px;
    height: 149px;
    left: 50%;
    right: 50%;
    background-size: contain;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
  .rental .top_caption {
    letter-spacing: .3rem;
    font-size: 2rem;
    line-height: 1.5;
  }
  .rental_contents {
    bottom: -327px;
  }
  .top_caption.furisode_caption {
    font-size: 1.5rem;
    padding: 2px 0 5px 0;
  }
  .furisode_caption_span {
    font-size: 1.1rem;
    letter-spacing: 0px;
  }
}
@media screen and (max-width: 550px) {
  .rental_contents {
    bottom: -365px;
  }
  .rental {
    padding: 50px 0 245px;
}
}
@media screen and (max-width: 450px) {
  .furisode_txt {
    font-size: 13px;
    line-height: calc(35 / 26);
  }

  .furisode_txt_right {
    flex-wrap: wrap;
  }
  .furisode_txt_right .furisode_botann_img_wrp {
    max-width: 48%;
}
.rental_contents {
  bottom: -387px;
}
.rental {
  padding: 50px 0 260px;
}
}
@media screen and (max-width: 420px) {
  .rental_contents {
    bottom: -400px;
    /* bottom: -373px; */
  }
  .rental {
    padding: 50px 0 280px;
    /* padding: 50px 0 250px; */
  }

}
@media screen and (max-width: 337px) {
  .furisode_txt_wrp {
    padding: 13px 18px 12px;
  }
}

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

  .top_caption.furisode_caption {
    padding: 0 0 5px 0;
  }

}

/* ============================================ */
/* リンク集 */
/* ============================================ */
.top_link_sec {
  position: relative;
  z-index: 1;
  margin-bottom: 45px;
}
.top_link_wrp {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
}
.top_link_wrp::before, .top_link_wrp::after {
  content: "";
  order: 1;
  width: 32%;
}
.top_link_box {
  /* width: 32%; */
  width: 24%;
  position: relative;
  margin-bottom: 100px;
}
.top_link_img {
  width: 100%;
}
.top_link_txt.rental_contents {
  position: absolute;
  width: 90%;
  background: url(../img/top/boarder_link.png) no-repeat;
  z-index: 0;
  bottom: -182px;
  background-size: 100% 104%;
}
.top_link_box .top_caption.furisode_caption {
  font-weight: bold;
  font-size: 2rem;
  display: flex;
  align-items: center;
}
.top_link_box .furisode_caption_span {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  line-height: 1;
}
.top_link_caption {
  padding: 23px 10px 5px;
  justify-content: center;
}
.top_link_txt_inner {
  padding: 0 0 20px;
}

@media screen and (min-width: 801px) {
  .top_link_box:nth-child(3n+2) {
    transition-delay: .1s;
  }
  .top_link_box:nth-child(3n) {
    transition-delay: .2s;
  }
}
@media screen and (max-width: 800px) {
  .top_link_sec {
    margin-bottom: 20px;
    padding: 0 10px;
  }
  .top_link_wrp {
    justify-content: center;
  }
  .top_link_box {
    width: 46%;
  }
  .top_link_box:nth-child(2n) {
    transition-delay: .1s;
  }
  .top_link_wrp::before, .top_link_wrp::after {
    width: 47%;
  }
  .top_link_wrp .top_link_box:nth-child(odd) {
    margin-right: 18px;
  }
  .top_link_box .top_caption.furisode_caption {
    font-size: 1.5rem;
    padding: 20px 0 10px 40px;
  }
  .top_link_txt.rental_contents {
    height: auto;
  }
}

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

  .furisode_caption_span {
    padding-left: 10px;
  }

}

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

  .top_link_sec .furisode_botann_img_wrp {
    width: 100%;
    max-width: 130px;
    margin: 0 auto;
  }
  .top_link_sec .furisode_botann_img_wrp.botann_rental_wrp {
    margin-bottom: 10px;
  }
  .top_link_box {
    margin-bottom: 120px;
  }
  .top_link_txt.rental_contents {
    width: 94%;
  }
  .top_link_txt_inner {
    padding: 0 0 15px;
  }
}

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

  .top_link_box {
    margin-bottom: 110px;
  }
  .top_link_txt.rental_contents {
    bottom: -160px;
    top: auto !important;
  }
  .top_link_box .top_caption.furisode_caption {
    padding: 10px 0 10px 20px;
    font-size: 1.3rem;
  }
  .top_link_box .furisode_caption_span {
    font-size: 1rem;
  }

}
@media screen and (max-width: 500px) {
  .furisode_txt_wrp.rental_contents {
    background:#fff url(../img/top/boarder_frisode_sp2.png) no-repeat top center;
    background-size: 104% 100%;
    padding: 18px 30px 16px;
    max-width: 100%;
  }

}

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

  .top_link_box {
    margin-bottom: 125px;
  }
  .top_link_txt.rental_contents {
    bottom: -175px;
  }
  .top_link_box .top_caption.furisode_caption {
    padding: 12px 0;
    display: block;
    text-align: center;
  }
  .top_link_sec .furisode_botann_img_wrp.botann_rental_wrp {
    margin-bottom: 7px;
  }
  .top_link_box .furisode_caption_span {
    display: block;
    padding: 0;
  }
  .top_link_box .graduation_hakama .top_caption.furisode_caption {
    padding: 7px 0 17px;
  }
  .top_link_box .graduation_hakama .furisode_caption_span {
    height: 10px
  }
  .top_link_sec .furisode_botann_img_wrp {
    max-width: 82%;
  }
  .top_link_txt_inner {
    padding: 0 0 10px;
  }
}
@media screen and (max-width: 800px) {
  .customers-voice {
    background: #fff;
    padding: 50px 25px 45px;
  }
}

/* ============================================ */
/* 店舗情報 */
/* ============================================ */
.shop_sec {
  background: #f4f4ef;
  padding: 120px 0 60px;
  position: relative;
  overflow: hidden;
}
.shop_sec::before {
  position: absolute;
  content: "";
  background: url(../img/top/shop_logo.png) no-repeat;
  width: 418px;
  height: 343px;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  overflow: hidden;
  z-index: 0;
}
.shop_sec .top_caption {
  text-align: center;
  font-size: 2rem;
  letter-spacing: 1rem;
  padding-bottom: 65px;
  position: relative;
  z-index: 1;
}
.top .shop_wrp {
  max-width: 960px;
  margin: 0 auto;
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
  position: relative;
  z-index: 2;
}
.top .section_shop {
  width: 32%;
  /* align-self: baseline; */
}
.top .shop_inner {
  background: #fff;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.top .shop_img {
  height: 65%;
}
.top .shop_img img {
  width: 100%;
}
.top .shop_title a {
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
}
.top .shop_address, .top .shop_tel_bold {
  font-size: 1.4rem;
}
.top .shop_address {
  flex-grow: 1;
}

.top .shop_costume_title {
  display: none;
}
.top .shop_costume_taglist {
  display: none;
}
.top .shop_info {
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
}
.top .shop_tel {
  margin-top: auto;
}
@media screen and (min-width: 959px) {
  .top .section_shop:nth-child(3n+2) {
    transition-delay: .1s;
  }
  .top .section_shop:nth-child(3n) {
    transition-delay: .2s;
  }
}
@media screen and (max-width: 958px) {
  .shop_sec {
    padding: 50px 0;
  }
  .shop_sec::before {
    width: 209px;
    height: 170px;
    top: 0;
    left: 50%;
    background-size: contain;
  }
  .top .shop_wrp {
    padding: 0 15px;
  }
  .shop_sec .top_caption {
    padding-bottom: 65px;
    line-height: 1.5;
    letter-spacing: .5rem;
  }
  .top .section_shop {
    width: 48%;
  }
  .top .section_shop:nth-child(2n) {
    transition-delay: .1s;
  }
  .top .shop_inner {
    width: 100%;
  }
  .shop_wrp .section_shop:nth-child(n+7){
    margin: 0 0 20px;
  }
}
@media screen and (max-width: 800px) {
  .top .shop_img {
    height: auto;
  }
  .top .shop_title a {
    font-size: 1.2rem;
    letter-spacing: .1rem;
  }
  .top .shop_address, .top .shop_tel_bold {
    font-size: 1rem;
  }
  .top .shop_text_wrap {
    margin-bottom: 0;
  }
  .top .shop_tel {
    padding: 2px 0;
  }
}

/* ============================================ */
/* マップ */
/* ============================================ */

#top_map {
  width: 100%;
  height: 400px;
}

/* ============================================ */
/* トップページ フッター */
/* ============================================ */
@media screen and (max-width: 800px) {
  .top footer {
    margin-top: 0;
  }
}

#pagetop {
  position: fixed;
  right: 20px;
  top: auto;
  bottom: 0%;
  width: 60px;
  height: 60px;
  clip-path: polygon(20% 0, 100% 0, 100% 80%, 80% 100%, 0 100%, 0 20%);
  background: #262626;
}
#pagetop::after {
  width: 10px;
  height: 10px;
  top: 55%;
}
@media screen and (max-width: 800px) {
  #pagetop {
    bottom: 10%;
  }
  footer {
    padding-bottom: 55px;
  }
}
@media screen and (max-width: 500px) {
  footer {
    padding-bottom: 25px;
  }
}

/* btn-new */
.btn-new {
  background: url(../img/top/btn_bg.png) no-repeat center center;
  background-size: contain;
  min-width: 40%;
  height: 70px;
  display: grid;
  place-items: center;
  color: #fff;
  letter-spacing: .1em;
  font-family: 'Noto Sans JP', sans-serif;
}
.btn-new.--btn_w {
  background: url(../img/top/btn_bg_w.png) no-repeat center center;
  background-size: contain;
  color: #333;
}
@media screen and (max-width: 800px) {
  .btn-new {
    font-size: 14px;
  }
}
@media screen and (min-width: 1121px) {
  .top_about_button_top .btn-new {
    width: 300px;
  }
}
.furisode_botann_img_wrp.btn-new {
  width: 72%;
  height: 39px;
  font-size: 14px;
}
.furisode_txt_wrp .furisode_botann_img_wrp.btn-new {
  width: 90%;
  height: 60px;
  font-size: 14px;
  margin: 0px auto 0;
}
.furisode_txt_right .btn-new {
  min-width: fit-content;
}

@media screen and (max-width: 590px) {
  .top_link_sec .furisode_botann_img_wrp.btn-new {
    width: 100%;
    margin-bottom: 0;
  }
  .campaign_corner_button .btn-new,
  .top_about_button_top .btn-new,
  .campaign_corner_button .btn-new,
  .shop_btn .btn-new,
  .btn-new.__sp_long {
    background: url(../img/top/btn_bg_1.png) no-repeat center center;
    background-size: contain;
    font-size: 16px;
    width: 100%;
  }
  .shop_btn  {
    padding: 0 25px;
  }
}
@media screen and (max-width: 420px) {
  .furisode_txt_wrp .furisode_botann_img_wrp.btn-new {
    height: 3.5em;
  }
}
@media screen and (max-width: 350px) {
  .furisode_txt_wrp .furisode_botann_img_wrp.btn-new:nth-child(2) {
    font-size: 13px;
  }
}


/* ヘッダー */
@media screen and (max-width: 800px) {
  .header_top_wrap_inner {
    height: 75px;
  }
  .header_logo_wrap {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 0;
    margin-left: 20px;
    display: grid;
    align-content: center;
  }
  .header_logo_wrap img {
    max-height: 60px;
    object-fit: contain;
  }
  .header_nav_top_list_item .round_button {
    display: none;
  }
  .header_nav_top {
    padding: 0;
  }
  .header_nav_wrap {
    gap: 8%;
  }
  .shop_sns_img {
    width: 44px;
    height: 45px;
  }
}
@media screen and (max-width: 390px) {
  .header_nav_top {
    display: block;
  }
}

/* ハンバーガーメニュー　ボタン周り */
.hamburger_btn {
  position: relative;
  width: 48px;
  height: 50px;
  right: 0;
  top: 0;
  display: flex;
  align-items: end;
  justify-content: center;
  font-family: 'Noto Serif JP', serif;
  font-size: 14px;
}
.hamburger_btn span, .hamburger_btn span::before, .hamburger_btn span::after {
  width: 30px;
  height: 2px;
  background: #000;
  position: absolute;
}
.hamburger_btn span {
  top: 27px;
  left: 10px;
}
.hamburger_btn span::before, .hamburger_btn span::after {
  content: "";
  left: 0;
}
.hamburger_btn span::before {
  top: -10px;
}
.hamburger_btn span::after {
  bottom: -10px;
}
.hamburger_close{
  position: fixed;
  color: #fff;
  top: 15px;
}
.hamburger_close span{
  background: transparent;
}
.hamburger_close span::before, .hamburger_close span::after {
  top: 0;
}
.hamburger_close span::before {
  transform: rotate(-45deg);
}
.hamburger_close span::after {
  transform: rotate(45deg);
}
@media screen and (max-width: 800px) {
  .hamburger_btn {
    right: 20px;
    top: 5px;
  }
  .hamburger_nav.is-open .hamburger_close span::before,
  .hamburger_nav.is-open .hamburger_close span::after {
    background-color: #fff;
  }
  .hamburger_btn span {
    top: 10px;
    left: 3px;
  }
  .hamburger_btn span,
  .hamburger_btn span::before,
  .hamburger_btn span::after {
    width: 40px;
  }
  .hamburger_nav_top_list_item {
    display: none;
  }
  .hamburger_nav_top_list {
    padding: 19px 70px 9px 0;
  }
  .hamburger_close{
    top: 15px;
  }

}
