@charset "UTF-8";

/* ----------------------------------------
各ページ共通
------------------------------------------*/
.inner {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
}
.innerL {
  width: 96%;
  max-width: 1280px;
  margin: 0 auto;
}
.section {
  position: relative;
  padding: 6rem 0;
}
.page .section:first-child {
  padding: 0 0 3rem;
}
.page_inner {
  padding-top: 100px;
}
.page_inner .section {
  padding: 0 0 8rem;
}
.page_inner .section:last-child {
  padding: 0 0 5rem;
}
.section_head {
  margin-bottom: 50px;
}
.content_head {
  margin-bottom: 50px;
}
.media_flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.media_flex:not(:last-child) {
  margin-bottom: 50px;
}
.media_flex:nth-child(even) {
  flex-direction: row-reverse;
}
.media_contnets_wrap {
  width: 48%;
}
.img_wrap {
  text-align: center;
  margin-bottom: 50px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .section {
    padding: 4rem 0;
  }
}

/* ----------------------------------------
パンくずリスト
------------------------------------------*/
.breadcrumb_wrap {
  position: absolute;
  bottom: 0;
  margin-bottom: 10px;
}
.aioseo-breadcrumb,
.aioseo-breadcrumb a,
.aioseo-breadcrumb-separator {
  color: #fff;
}

/* ----------------------------------------
タイトル
------------------------------------------*/
.title_type01 {
  font-size: 3rem;
  font-weight: 900;
  text-align: center;
  padding: 1rem 0;
  background: #CB9BF6;
  color: #fff;
  line-height: 1.5;
}
.title_type02 {
  font-size: 3rem;
  font-weight: 900;
  text-align: center;
  text-decoration: underline;
  padding: .2rem;
  background: #E8F2FF;
}

/* ----------------------------------------
テキスト
------------------------------------------*/
.txt_type01 {
  font-size: 3.5rem;
  font-weight: 900;
  line-height: 1.5;
}
.txt_type02 {
  font-size: 4rem;
  line-height: 1.5;
  font-weight: 900;
}
.txt_type03 {
  font-size: 3rem;
  line-height: 1.5;
  font-weight: 900;
  color: #fff;
}
.txt_type04 {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 900;
}
.txt_link {
  font-size: 2.8rem;
  font-weight: 900;
  line-height: 1.5;
  text-decoration: underline;
  display: block;
}
.txt_box01 {
  color: #5956B0;
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 900;
  border: 1px solid #B45AD3;
  background: #FBDCD2;
  padding: 2rem 4rem;
  text-align: center;
  border-radius: 5px;
  display: inline-block;
}

/* ----------------------------------------
ページネーション
------------------------------------------*/
.pagination {
  text-align: center;
}
.tax-cases_cat .pagination {
  margin-top: -100px;
}
.page-numbers {
  font-size: 16px;
  font-size: 1.6rem;
  color: #212121;
  border: 1px solid #556FB8;
  padding: 2rem;
  margin-right: 10px;
  border-radius: 3px;
}
.page-numbers.current {
  font-size: 16px;
  font-size: 1.6rem;
  color: #fff;
  background: #556FB8;
  border: 1px solid #556FB8;
  padding: 2rem;
  margin-right: 10px;
}
.page-numbers.prev {
  padding: 2rem 2rem 2rem 6rem;
  position: relative;
}
.page-numbers.prev::after {
  position: absolute;
  top: 37%;
  left: 15%;
  content: "";
  background: url(../images/common/arrow_black.png);
  width: 12px;
  height: 14px;
  -webkit-transform: rotate(-180deg);
  -ms-transform: rotate(-180deg);
  transform: rotate(-180deg);
}
.page-numbers.next {
  padding: 2rem 6rem 2rem 2rem;
  position: relative;
}
.page-numbers.next::after {
  position: absolute;
  top: 37%;
  right: 15%;
  content: "";
  background: url(../images/common/arrow_black.png);
  width: 12px;
  height: 14px;
}
.pager {
  text-align: center;
}
.pager li {
  display: inline-block;
  vertical-align: middle;
  width: 150px;
  font-size: 12px;
  font-size: 1.2rem;
  margin: 0 0.4em;
}
.pager li a {
  display: block;
  border: 1px solid #556FB8;
  padding: .4em;
  border-radius: 3px;
  color: #556FB8;
}
.pager .all a {
  border: 1px solid #556FB8;
  color: #556FB8;
}

/* ----------------------------------------
上へ戻るボタン
------------------------------------------*/
.gotop {
  position: fixed;
  right: 38px;
  bottom: 100px;
  display: block;
  font-size: 14px;
  font-size: 1.4rem;
  color: #1f1f1f;
  letter-spacing: .1em;
  padding-top: 70px;
  opacity: 0;
  -webkit-transform: translateY(50px);
  -ms-transform: translateY(50px);
  -o-transform: translateY(50px);
  transform: translateY(50px);
  -webkit-transition: opacity .4s, -webkit-transform .4s;
  transition: opacity .4s, -webkit-transform .4s;
  -o-transition: opacity .4s, -o-transform .4s;
  transition: opacity .4s, transform .4s;
  transition: opacity .4s, transform .4s, -webkit-transform .4s, -o-transform .4s;
  z-index: 5;
}
.gotop:before {
  content: "";
  display: block;
  position: absolute;
  height: 60px;
  width: 7px;
  background: url(../images/common/icon_arrow_top.png) 50%/contain no-repeat;
  top: 0;
  left: -webkit-calc(50% - 1px);
  left: calc(50% - 1px);
  -webkit-transition: -webkit-transform .4s;
  transition: -webkit-transform .4s;
  -o-transition: -o-transform .4s;
  transition: transform .4s;
  transition: transform .4s, -webkit-transform .4s, -o-transform .4s;
}
.gotop span {
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.gotop.active {
  opacity: 1;
  visibility: visible;
}

/* ----------------------------------------
リスト
------------------------------------------*/
.list_type01 li {
  position: relative;
  padding-left: 2rem;
  text-align: left;
}
.list_type01 li::before {
  position: absolute;
  content: '・';
  top: 0;
  left: 0;
}
.list_type02 li {
  text-align: left;
}
.list_type02 a {
  border-bottom: 2px solid #CB9BF6;
}
.list_type03_item {
  position: relative;
  padding-left: 10rem;
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 900;
  margin-bottom: 10px;
}
.list_type03_item::after {
  position: absolute;
  content: "";
  width: 20%;
  height: 0.5px;
  background: #979797;
  top: 50%;
  left: 0;
}
.num_list {
  counter-reset: number 0;
}
.num_list_item {
  position: relative;
  padding-left: 2.5rem;
}
.num_list_item::before {
  position: absolute;
  left: 0;
  counter-increment: number 1;
  content: counter(number) "、";
}

/* ----------------------------------------
ボタン
------------------------------------------*/
.btn {
  font-size: 16px;
  font-size: 1.6rem;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: .5s;
  transition: .5s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: .1em;
  color: #556FB8;
}
.btn:hover {
  -webkit-transition: .5s;
  transition: .5s;
  opacity: 1;
}
.contact_btn {
  max-width: 320px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  padding: 5px 25px 5px 30px;
  color: #fff;
  background: #556FB8;
  -webkit-transition: .5s;
  transition: .5s;
  border: 1px solid #556FB8;
}
.contact_btn:hover {
  background: #fff;
  color: #556FB8;
}
.contact_btn:after {
  content: '';
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  left: 10px;
}
.contact_btn:hover:after {
  border-color: #556FB8;
}
.tel_btn {
  border: 2px solid #ED5829;
  padding: 3px 10px 0;
  color: #ED5829;
  background: #fff;
}
.tel_btn:hover {
  background: #ED5829;
  color: #fff;
}
.tel_btn .tel {
  font-size: 12px;
  font-size: 1.2rem;
}
.tel_btn .telnum {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1;
}
.btn_flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.contact_btn.bg_white {
  color: #556FB8;
  background: #fff;
}
.contact_btn.bg_white:hover {
  background: #556FB8 !important;
  color: #fff !important;
}
.contact_btn.bg_white::after {
  border-top: 2px solid #556FB8 !important;
  border-right: 2px solid #556FB8 !important;
}
.contact_btn.bg_white:hover::after {
  border-top: 2px solid #fff !important;
  border-right: 2px solid #fff !important;
}
.contact_btn.bg_purple {
  color: #fff;
  background: #7D649B;
  border: 1px solid #7D649B;
}
.contact_btn.bg_purple:hover {
  background: #fff !important;
  color: #7D649B !important;
}
.contact_btn.bg_purple::after {
  border-top: 2px solid #fff !important;
  border-right: 2px solid #fff !important;
}
.contact_btn.bg_purple:hover::after {
  border-top: 2px solid #7D649B !important;
  border-right: 2px solid #7D649B !important;
}
.contact_btn.bg_orange {
  color: #fff;
  background: #C74300;
  border: 1px solid #C74300;
}
.contact_btn.bg_orange:hover {
  background: #fff !important;
  color: #C74300 !important;
}
.contact_btn.bg_orange::after {
  border-top: 2px solid #fff !important;
  border-right: 2px solid #fff !important;
}
.contact_btn.bg_orange:hover::after {
  border-top: 2px solid #C74300 !important;
  border-right: 2px solid #C74300 !important;
}
.top_contact_sec .contact_btn {
  width: 50%;
  max-width: 450px;
  padding: 1rem;
  display: block;
}
.page_bnr_btn {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  padding: 5px 25px 5px 30px;
  color: #fff;
  background: #556FB8;
  -webkit-transition: .5s;
  transition: .5s;
  border: 1px solid #556FB8;
}
.page_bnr_btn:hover {
  background: #fff;
  color: #556FB8;
}
.page_bnr_btn:after {
  position: absolute;
  content: '\f138';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  top: 50%;
  transform: translateY(-50%);
  right: 10%;
  color: #fff;
}
.page_bnr_btn:hover:after {
  color: #556FB8;
}
.morebtn {
  position: relative;
  padding-right: 6rem;
}
.morebtn:hover {
  opacity: 1;
}
.morebtn::after {
  position: absolute;
  content: '';
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 35px;
  height: 35px;
  transition: .5s;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 25.112 9.117'%3E%3Cpath d='M17.1,0V3.592H0V5.524H17.1V9.116l8.008-4.558Z'/%3E%3C/svg%3E%0A") no-repeat center / contain;
}
.morebtn:hover::after {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%238F82BC' viewBox='0 0 25.112 9.117'%3E%3Cpath d='M17.1,0V3.592H0V5.524H17.1V9.116l8.008-4.558Z'/%3E%3C/svg%3E%0A") no-repeat center / contain;
  transition: .5s;
}

.btn-post {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 30px auto 0;
  border-radius: 9999px;
  max-width: 250px;
  padding: 10px 25px;
  font-family: "Noto Sans Japanese";
  color: #fff;
  line-height: 1.8;
  text-decoration: none;
  transition: .3s ease-in-out;
  font-weight: 500;
  background: linear-gradient(270deg, #3bade3 0%, #576fe6 25%, #9844b7 51%, #ff357f 100%);
  background-position: 1% 50%;
  background-size: 200% auto;
  transition: all .3s ease-out;
}
.btn-post:hover {
  color: #fff;
  background-position: 99% 50%;
  transform: scale(1.05);
  box-shadow: 0 15px 15px rgba(87,111,230,0.4);
}
.btn-post:after {
  content: '';
  width: 5px;
  height: 5px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: .3s ease-in-out;
}


/* ----------------------------------------
テーブル
------------------------------------------*/
.table_type01 {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #CB9BF6;
  border-bottom: 1px solid #CB9BF6;
}
.table_type01 th,
.table_type01 td {
  text-align: left;
  vertical-align: middle;
  padding: 1.5rem;
  border-bottom: 1px solid #CB9BF6;
}

/* ----------------------------------------
ヘッダー
------------------------------------------*/
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100%;
  background: #EDEDE8;
  padding: 1rem 2rem;
}
.header_logo {
  width: 300px;
  height: auto;
  object-fit: contain;
}
.header_contents_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header_nav_list {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header_nav_item {
  position: relative;
}
.header_nav_item:not(:last-child) {
  margin-right: 15px;
}
.header_nav_item:not(:last-child) {
  margin-right: 20px;
}
.header_nav_item:last-child .header_nav_link {
  background: #8F82BC;
  border: 1px solid #8F82BC;
  color: #fff;
  padding: 1rem 2rem;
  text-align: center;
  border-radius: 25px;
  transition: .5s;
}
.header_nav_item:last-child:hover .header_nav_link {
  background: #fff;
  color: #8F82BC;
}
.header_nav_item:last-child .header_nav_link::after {
  display: none;
}
.header_nav_link::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #8F82BC;
  -webkit-transform: scale(0, 1);
  -ms-transform: scale(0, 1);
  transform: scale(0, 1);
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top;
  -webkit-transition: -webkit-transform .5s;
  transition: -webkit-transform .5s;
  -o-transition: transform .5s;
  transition: transform .5s;
  transition: transform .5s, -webkit-transform .5s;
}
.header_nav_link:hover::after {
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  -webkit-transform: scale(1, 1);
  -ms-transform: scale(1, 1);
  transform: scale(1, 1);
}

/* ----------------------------------------
ハンバーガーメニュー
------------------------------------------*/
@media screen and (min-width: 1281px) {
  .btn-gNav {
    display: none;
  }
}
@media screen and (max-width: 1280px) {
  .header {
    padding: 1rem 0;
  }
  .header_logo_wrap {
    margin-right: 20px;
  }
  .header_logo {
    margin-right: 0;
    width: 300px;
    height: auto;
  }
  .header_wrap_top {
    justify-content: center;
    margin-bottom: 0;
  }
  .header_min .header_inner {
    justify-content: center;
  }
  .header_min .head_tel_wrap_hidden {
    display: none;
  }
  .header.header_min {
    animation: none;
  }
  #hamburger .btn-gNav {
    position: fixed;
    top: 35px;
    right: 35px;
    width: 30px;
    height: 24px;
    z-index: 1000;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: all 400ms;
    -o-transition: all 400ms;
    transition: all 400ms;
  }
  #hamburger .btn-gNav span {
    position: absolute;
    width: 100%;
    height: 4px;
    background: #8F82BC;
    border-radius: 10px;
    -webkit-transition: all 400ms;
    -o-transition: all 400ms;
    transition: all 400ms;
  }
  #hamburger .btn-gNav span:nth-child(1) {
    top: 0;
  }
  #hamburger .btn-gNav span:nth-child(2) {
    top: 10px;
  }
  #hamburger .btn-gNav span:nth-child(3) {
    top: 20px;
  }
  #hamburger .btn-gNav.open span:nth-child(1) {
    background: #556FB8;
    top: 6px;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  #hamburger .btn-gNav.open span:nth-child(2),
  #hamburger .btn-gNav.open span:nth-child(3) {
    top: 6px;
    background: #556FB8;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  #gNav {
    position: fixed;
    top: 0;
    right: -100%;
    width: 30%;
    height: 100%;
    background: #f7eeff;
    font-size: 1.6rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    z-index: 2;
    padding: 50px 20px;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    overflow-y: scroll;
    overflow-x: hidden;
    z-index: 999;
  }
  #gNav.open {
    right: 0px;
  }
  #gNav .gNav-menu li {
    padding: 10px;
    border-bottom: 1px solid #8F82BC;
    display: block;
  }
  #gNav .gNav-menu li a {
    color: #1f1f1f;
    display: block;
  }
  .global_nav_item {
    position: relative;
    color: #1f1f1f;
    padding: 1rem 2rem 1rem 4rem;
  }
  .global_nav_item::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 30px;
    height: 1px;
    background: #CB9BF6;
  }
  .global_nav_item:not(:last-child) {
    margin-right: 0;
  }
  .gNav-menu_open_btn.active::after {
    position: absolute;
    content: '\f077';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    top: 50%;
    transform: translateY(-50%);
    right: 5%;
    color: #1f1f1f;
  }
  .gNav-menu_open_btn::after {
    position: absolute;
    content: '\f078';
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    top: 50%;
    transform: translateY(-50%);
    right: 5%;
    color: #1f1f1f;
  }
  .gNav-menu_open .gNav-menu_open_btn::after {
    content: none;
  }
  .gNav-menu_open .global_nav_item {
    padding: 0 0 0 6rem;
  }
  .gNav-menu_open .global_nav_item::before {
    position: absolute;
    content: '・';
    top: 0;
    left: 37px;
    transform: unset;
    width: unset;
    height: unset;
    background: unset;
  }
  .header_nav_item:not(:last-child) {
    margin-right: 0;
  }
  .header_nav_list {
    display: block;
  }
  .header_nav_item:last-child .header_nav_link {
    background: unset;
    padding: unset;
    text-align: unset;
    border-radius: unset;
    border: unset;
  }
}
@media screen and (max-width: 1024px) {
  #gNav {
    width: 40%;
  }
}
@media screen and (max-width: 820px) {
  #gNav {
    width: 45%;
  }
}
@media screen and (max-width: 768px) {
  #gNav {
    width: 70%;
  }
}

/* ----------------------------------------
フッター
------------------------------------------*/
.footer_info_wrap {
  width: 90%;
  max-width: 1240px;
  margin-left: auto;
}
.footer_info_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
.footer_logo_wrap {
  width: 20%;
}
.footer_address_wrap {
  width: 20%;
}
.footer_map_wrap {
  width: 50%;
}
.footer_nav_wrap {
  background: #616153;
  padding: 50px 0 20px;
}
.footer_nav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 50px;
}
.footer_nav_list_wrap {
  width: 25%;
}
.footer_nav_ttl {
  position: relative;
  padding-left: 2rem;
  color: #fff;
  font-weight: 900;
  margin-bottom: 5px;
}
.footer_nav_ttl::before {
  position: absolute;
  content: '\f0c8';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  top: 0;
  left: 0;
  transform: rotate(45deg);
  color: #fff;
  font-size: 10px;
}
.footer_nav_link {
  font-size: 1.6rem;
  position: relative;
  padding-left: 1.5rem;
  color: #fff;
}
.copyright {
  display: block;
  text-align: center;
  padding: 10px;
  font-size: 1.4rem;
  color: #fff;
}

/* ----------------------------------------
トップ
------------------------------------------*/
/* top_view_sec */
.top_view_sec {
  position: relative;
  height: 100vh;
  width: 100%;
}
.top_view_sec::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url(../images/top/firstview.webp) no-repeat 0 80px / cover;
  height: 100%;
  width: 100%;
}
.top_view_sec::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, .3);
  height: 100%;
  width: 100%;
}
.top_view_sec .ele-wrap {
  position: absolute;
  top: 280px;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  z-index: 1;
}
.top_view_sec .ele-wrap::before {
  content: "";
  position: absolute;
  top: 100px;
  left: 0;
  background: #fff;
  height: 1px;
  width: 480px;
}
.top_view_sec .img-wrap {
  margin: 0 auto;
  max-width: 450px;
  padding-bottom: 2rem;
}
.top_view_sec .txt-wrap p {
  color: #fff;
  font-size: 3rem;
}
@media screen and (max-width: 1024px) {
  .top_view_sec {
    height: 50vh;
  }
  .top_view_sec .ele-wrap {
    top: 50%;
    transform: translate(-50%,-50%);
  }
}
@media screen and (max-width: 767px) {
  .top_view_sec::before {
    background: url(../images/top/firstview.webp) no-repeat center / cover;
  }
  .top_view_sec .txt-wrap p {
    font-size: 1.6rem;
  }
  .top_view_sec .ele-wrap {
    width: 100%;
  }
  .top_view_sec .img-wrap {
    max-width: 250px;
  }
  .top_view_sec .ele-wrap::before {
    width: 300px;
    left: 50%;
    transform: translateX(-50%);
    top: 60px;
  }
}


/* top_about_sec */
.top_about_sec {
  position: relative;
  background: #EDEDED;
}
.top_about_sec::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  background: url(../images/top/top_about_sec_bg.png) no-repeat center / cover;
  width: 100%;
  height: 50%;
  z-index: 1;
}
.top_about_sec {
  position: relative;
}
.top_about_contents {
  width: 90%;
  max-width: 1240px;
  margin-left: auto;
  z-index: 2;
  position: relative;
}
.top_about_contents .media_content_wrap {
  width: 35%;
}
.top_about_contents .media_img_wrap {
  width: 60%;
}
/* top_film_bg_sec */
.top_film_bg_sec {
  position: relative;
  padding: 14rem 0 6rem;
  background: #EDEDED;
}
.top_film_bg_sec::before,
.top_film_bg_sec::after {
  opacity: .15;
  position: absolute;
  content: "";
  bottom: 0;
  background: url(../images/common/film.png) no-repeat center / contain;
  width: 180px;
  height: 100%;
  z-index: 1;
}
.top_film_bg_sec::before {
  left: 0;
}
.top_film_bg_sec::after {
  right: 0;
}
.top_film_bg_contents {
  z-index: 2;
  position: relative;
}
.top_film_bg_contents:nth-child(1) {
  margin-bottom: 200px;
}
.top_film_bg_contents:nth-child(1) {
  width: 90%;
  max-width: 1240px;
  margin-right: auto;
}
.top_film_bg_contents:nth-child(2) {
  width: 90%;
  max-width: 1240px;
  margin-left: auto;
}
.top_film_bg_contents .media_content_wrap {
  width: 35%;
}
.top_film_bg_contents .media_img_wrap {
  width: 60%;
  position: relative;
}
.top_film_bg_contents:nth-child(1) .media_img_ttl,
.top_film_bg_contents:nth-child(2) .media_img_ttl {
  position: absolute;
  top: -100px;
}
.top_film_bg_contents:nth-child(1) .media_img_ttl {
  right: 30px;
}
.top_film_bg_contents:nth-child(2) .media_img_ttl {
  left: 30px;
}
.top_film_bg_contents .media_content_wrap p:first-child {
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 2;
}
.top_film_bg_contents .media_content_wrap p:first-child span {
  text-combine-upright: all;
}
/* top_news_sec */
.top_news_sec {
  position: relative;
  background: #EDEDED;
}
.top_news_sec::before,
.top_news_sec::after {
  position: absolute;
  content: "";
  background: url(../images/common/top_news_bg.png) no-repeat center / contain;
  width: 400px;
  height: 400px;
  z-index: 1;
}
.top_news_sec::before {
  top: 0;
  left: 0;
}
.top_news_sec::after {
  bottom: 0;
  right: 0;
  transform: rotate(180deg);
}
.top_news_contents {
  z-index: 2;
  position: relative;
}
.top_news_contents .column4_item {
  border-radius: unset;
  box-shadow: unset;
  padding: unset;
}
.top_news_contents .time_label {
  font-size: 1.4rem;
}
.top_news_contents .column4_content_ttl {
  color: #8F82BC;
  margin: 5px 0;
}
.top_news_contents .column4_img {
  width: 300px;
  height: 200px;
  object-fit: contain;
}

/* ----------------------------------------
最新情報
------------------------------------------*/
.archive_tab_wrap {
  margin-bottom: 50px;
}
.archive_tab_list {
  display: flex;
  flex-wrap: wrap;
}
.archive_tab_item {
  display: inline-block;
  padding: 1rem 0;
  background: #fff;
  text-align: center;
  cursor: pointer;
  transition: ease .2s opacity;
  width: 20%;
  border-top: 1px solid #CB9BF6;
  border-bottom: 1px solid #CB9BF6;
  border-right: 1px solid #CB9BF6;
}
.archive_tab_item:first-child {
  border-left: 1px solid #CB9BF6;
}
.archive_tab_item.active {
  background: #CB9BF6;
}
.archive_tab_link {
  display: block;
  color: #CB9BF6;
}
.archive_tab_item.active .archive_tab_link {
  color: #fff;
}
.news_list_wrap {
  background: #EFE8CF;
}

/* ----------------------------------------
最新情報 詳細
------------------------------------------*/
.single_post_time {
  text-align: right;
  color: #9F9F9F;
  display: block;
}

/* ----------------------------------------
お問い合わせ
------------------------------------------*/
.complete_message {
  text-align: center;
  padding: 100px 0;
}
input[name="zip1"],
input[name="zip2"] {
  width: 150px;
}
.table_contact_address tr th,
.table_contact_address tr td {
  padding: 10px;
}
.table_contact_address tr th {
  background: none;
  color: #1F1F1F;
  font-weight: normal;
  border-bottom: none;
  border-right: none;
}
.table_contact_address tr td {
  border-bottom: none;
  border-right: none;
}
.table_contact_address tr td::after {
  display: none;
}
.c_red_label {
  background: #ca353b;
  padding: 4px 5px 4px 7px;
  font-size: 12px;
  color: #fff;
  margin-right: 10px;
  border-radius: 3px;
  letter-spacing: 2px;
}
.c_black_label {
  background: #181818;
  padding: 4px 5px 4px 7px;
  font-size: 12px;
  color: #fff;
  margin-right: 10px;
  border-radius: 3px;
  letter-spacing: 2px;
}
.c_white_label {
  background: #fff;
  padding: 4px 5px 4px 7px;
  font-size: 12px;
  margin-right: 10px;
  border-radius: 3px;
  letter-spacing: 2px;
  color: #556FB8;
  border: 1px solid #556FB8;
}
.contact_form .table_type01 th {
  width: 25%;
  color: #1f1f1f;
  background: #f7eeff;
}
.contact_form .table_type01 .table_contact_address th {
  background: #fff;
  width: 25%;
}
.input_submit_wrap {
  display: flex;
  justify-content: center;
}
.input_submit_btn:nth-child(1) {
  margin-right: 1rem;
}
.contact_form_catch_txt {
  text-align: center;
  margin-bottom: 50px;
}
.contact_form_comment {
  text-align: center;
  margin-bottom: 20px;
}
.btn_flex_contact {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.btn_flex_contact .contact_btn {
  width: 45%;
  margin: 0;
}
.btn_flex_contact .contact_btn:nth-child(1) {
  margin-right: 10px;
}

/* ----------------------------------------
振袖furisode
------------------------------------------*/
.page_furisode_catch_bnr {
  border: 2px solid #1f1f1f;
  padding: 1rem;
  outline: 1px solid #1f1f1f;
  outline-offset: -7px;
  margin-bottom: 30px;
}
.page_furisode_catch_bnr_inner {
  text-align: center;
  background: url(../images/common/sakura_bnr.jpg) no-repeat center / cover;
  padding: 2rem;
}
.page_furisode_catch_bnr_ttl {
  font-weight: 900;
  font-size: 3rem;
  color: #FF4040;
}
.page_furisode_catch_bnr_day {
  font-size: 3rem;
  font-weight: 900;
  line-height: 1.5;
}
.page_furisode_catch_bnr_day .saturday {
  color: #429CE9;
  font-size: 3rem;
  font-weight: 900;
}
.page_furisode_catch_bnr_day .sunday {
  color: #FF4040;
  font-size: 3rem;
  font-weight: 900;
}
.gold_btn {
  font-weight: 900;
  font-size: 3rem;
  text-decoration: underline;
  background: url(../images/common/gold_bnr.jpg) no-repeat center / contain;
  display: inline-block;
  padding: 0rem 10rem 1.5rem;
}
.seijinsiki_sec_ttl {
  font-size: 3rem;
  font-weight: 900;
  color: #fff;
  background: url(../images/common/sakura_bnr02.jpg) no-repeat center / cover;
  display: inline-block;
  padding: 0rem 10rem;
  text-shadow: #c8c8c8 1px 1px 0px,
    #b4b4b4 0px 2px 0px,
    #a0a0a0 0px 3px 0px,
    rgb(140 140 140 / 50%) 0px 4px 0px,
    #787878 0px 0px 0px,
    rgb(0 0 0 / 50%) 0px 5px 10px;
}
.seijinsiki_sec_ttl_sub {
  font-size: 2.4rem;
}
.seijinsiki_item {
  display: flex;
  justify-content: space-between;
  padding: 4rem 2rem;
  background: url(../images/common/bg_light_pink.jpg) no-repeat center / cover;
}
.seijinsiki_item:not(:last-child) {
  margin-bottom: 50px;
}
.seijinsiki_item_txt_wrap {
  width: 50%;
}
.seijinsiki_txt {
  font-weight: 900;
}
.seijinsiki_item_img_wrap {
  width: 45%;
}
.seijinsiki_item_ttl {
  font-size: 2.8rem;
  font-weight: 900;
  line-height: 1.5;
  margin-bottom: 20px;
}
.marker_txt span {
  background: #F1F404;
  display: inline-block;
  font-size: 2rem;
  font-weight: 900;
  padding: 0 .5rem;
}
.marker_txt:not(:last-child) {
  margin-bottom: 5px;
}
.furisode_gallery_wrap .top_bnr_txt01 {
  font-size: 2.4rem;
  font-weight: 900;
}
.furisode_gallery_wrap .top_bnr_txt_wrap02 {
  background: #fff;
  border-top: 1px solid #1f1f1f;
  border-left: 1px solid #1f1f1f;
  border-bottom: 1px solid #1f1f1f;
}
.page_circle_bnr_flex {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.page_circle_bnr_item {
  width: 25%;
  text-align: center;
}
.page_circle_bnr_item:nth-child(1),
.page_circle_bnr_item:nth-child(2),
.page_circle_bnr_item:nth-child(3) {
  width: 27%;
  margin-bottom: 50px;
}
.page_circle_bnr_img_wrap {
  margin-bottom: 20px;
}
.page_circle_bnr_img {
  width: 200px;
  height: 200px;
  object-fit: contain;
  border-radius: 50%;
}
.page_circle_bnr_ttl {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 900;
  text-align: center;
}
.js-mainSlider_gallery {
  width: 100%;
  margin: 0 auto;
}
.js-mainSlider_gallery .img_wrap img {
  height: 40vh;
  object-fit: contain;
}
.js-mainSlider_gallery .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.js-mainSlider_gallery .slick_prev {
  left: -5%;
  background: url(../images/page/arrow_left.png) no-repeat center / contain;
  display: inline-block;
  width: 50px;
  height: 50px;
}
.js-mainSlider_gallery .slick_next {
  right: -5%;
  background: url(../images/page/arrow_right.png) no-repeat center / contain;
  display: inline-block;
  width: 50px;
  height: 50px;
}
.js-mainSlider_gallery .img_wrap img {
  transform: scale(.8);
  transition: opacity .5s, transform .5s;
}
.js-mainSlider_gallery .slick-center img {
  transform: scale(1);
}
.js-mainSlider_gallery .slick-center {
  position: relative;
}
.js-mainSlider_gallery .slick-center::before {
  position: absolute;
  content: "";
  background: #6FBCBF;
  width: 95%;
  height: 100%;
  top: 11px;
  right: -5px;
}
.js-mainSlider_gallery2 {
  width: 100%;
  margin: 0 auto;
}
.js-mainSlider_gallery2 .img_wrap img {
  height: 500px;
  object-fit: contain;
}
.js-mainSlider_gallery2 .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.js-mainSlider_gallery2 .slick_prev {
  left: -5%;
  background: url(../images/page/arrow_left.png) no-repeat center / contain;
  display: inline-block;
  width: 50px;
  height: 50px;
}
.js-mainSlider_gallery2 .slick_next {
  right: -5%;
  background: url(../images/page/arrow_right.png) no-repeat center / contain;
  display: inline-block;
  width: 50px;
  height: 50px;
}
.js-mainSlider_gallery2 .img_wrap img {
  transform: scale(.8);
  transition: opacity .5s, transform .5s;
}
.js-mainSlider_gallery2 .slick-center img {
  transform: scale(1);
}
.js-mainSlider_gallery2 .slick-center {
  position: relative;
}
.js-mainSlider_gallery2 .slick-center::before {
  position: absolute;
  content: "";
  background: url(../images/page/gallery_bg.jpg) no-repeat center / cover;
  width: 95%;
  height: 100%;
  top: 0;
  right: -5px;
}
@media screen and (max-width: 1180px) {
  .js-mainSlider_gallery .slick-center::before {
    width: 95%;
    height: 85%;
    top: 40px;
    right: -10px;
  }
  .js-mainSlider_gallery2 .slick-center::before {
    width: 95%;
    height: 97%;
    top: 20px;
    right: -10px;
  }
}
@media screen and (max-width: 1024px) {
  .js-mainSlider_gallery .slick-center::before {
    height: 90%;
  }
  .js-mainSlider_gallery2 .img_wrap img {
    height: 40vh;
  }
  .js-mainSlider_gallery2 .slick-center::before {
    height: 95%;
    top: 40px;
  }
}
@media screen and (max-width: 820px) {
  .js-mainSlider_gallery .slick-center::before {
    top: 25px;
  }
  .js-mainSlider_gallery2 .img_wrap img {
    height: 37vh;
  }
}
@media screen and (max-width: 767px) {
  .js-mainSlider_gallery2 .img_wrap img {
    height: 48vh;
  }
  .js-mainSlider_gallery .slick-current::before {
    width: 80%;
    height: 82%;
    top: 40px;
    right: 15px;
  }
}

/* ----------------------------------------
近江屋とはabout
------------------------------------------*/
.page_about_catch_txt_wrap:not(:last-child) {
  margin-bottom: 30px;
}
.page_about_catch_ttl {
  font-size: 3rem;
  font-weight: 900;
  margin-bottom: 20px;
}
.page_about_catch_ttl_link {
  font-size: 3rem;
  font-weight: 900;
  color: #0D59E1;
  text-decoration: underline;
}
.page_about_catch_ttl_sub {
  font-size: 3rem;
  font-weight: 900;
  color: #0D59E1;
}
.page_about_catch_txt_link {
  text-decoration: underline;
}
.page_about_catch_txt:not(:last-child) {
  margin-bottom: 30px;
}
.page_about_gallery_ttl {
  font-size: 3rem;
  font-weight: 900;
  text-align: center;
  color: #023A96;
  background: url(../images/common/page_about_gallery_ttl.png) no-repeat center / cover;
  display: inline-block;
  padding: 0rem 12rem;
  box-shadow: 3px 3px 10px #bbbbbb;
  margin-bottom: 20px;
}
.page_about_gallery_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.page_about_gallery_item {
  width: 24%;
  margin-bottom: 50px;
}

/* ----------------------------------------
きものなんでも相談処maintenance-main
------------------------------------------*/
.common_catchview_flex {
  display: flex;
  flex-wrap: wrap;
}
.common_catchview_item:nth-child(1),
.common_catchview_item:nth-child(3) {
  width: 25%;
}
.common_catchview_item_img {
  height: 100%;
  min-height: 850px;
  object-fit: cover;
}
.common_catchview_item:nth-child(2) {
  width: 50%;
  background: #FCF8ED;
}
.common_catchview_item_contents_inner {
  padding: 2rem 8rem;
}
.common_catchview_item_contents_ttl {
  font-size: 3.4rem;
  font-weight: 900;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 10px;
}
.common_catchview_item_contents_ttl_sub {
  font-size: 2.4rem;
  font-weight: 900;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 10px;
}
.common_catchview_item_contents_txt .c_orange {
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.5;
  margin-bottom: 10px;
}
.common_catchview_item_contents_txt {
  font-weight: 900;
}
.common_catchview_item_contents_bnr {
  font-weight: 900;
  text-align: center;
  background: #FAD0C1;
  padding: 2rem;
}
.common_catchview_item_contents_bnr_ttl {
  font-size: 3rem;
  font-weight: 900;
  line-height: 1.5;
}
.common_catchview_item_contents_bnr_link {
  font-size: 2rem;
  font-weight: 900;
  text-decoration: underline;
}
.common_catchview_item_contents_tab {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 95%;
  margin: 0 auto;
}
.common_catchview_item_contents_tab_link {
  width: 48%;
  display: inline-block;
  margin-bottom: 20px;
  text-decoration: underline;
  background: #E8E6E6;
  padding: 1rem 2rem;
  text-align: center;
}
.page_maintenance_main_attention_flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 30px;
}
.page_maintenance_main_attention_img_wrap {
  width: 45%;
}
.page_maintenance_main_media_sec .media_contnets_wrap {
  background: #E8E6E6;
  padding: 2rem;
}
.page_maintenance_main_media_sec .media_contnets_head {
  margin-bottom: 20px;
}
.page_maintenance_main_media_sec .media_contnets_ttl {
  text-decoration: underline;
  font-weight: 900;
}
.page_maintenance_price_tbl_wrap {
  width: 100%;
  margin: 0 auto;
}
.maintenance_price_tbl {
  width: 100%;
  border: 1px solid #fff;
  border-collapse: collapse;
  position: relative;
}
.maintenance_price_tbl tr {
  background: #fff;
}
.maintenance_price_tbl th,
.maintenance_price_tbl td {
  width: 25%;
  text-align: center;
  vertical-align: middle;
  padding: 1rem;
}
.maintenance_price_tbl th {
  background: #1b5258;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  position: sticky;
  top: 0;
}
.maintenance_price_tbl th:not(:last-child) {
  border-right: 1px solid #fff;
}
.maintenance_price_tbl td {
  border-right: 1px solid #ffffff;
  border-bottom: 1px solid #ffffff;
  background: #dff8ff;
}
.page_maintenance_method_bnr_sec .page_circle_bnr_item:nth-child(1),
.page_circle_bnr_item:nth-child(2),
.page_circle_bnr_item:nth-child(3) {
  width: 25%;
  margin-bottom: 0;
}
.page_maintenance_method_bnr_sec .page_circle_bnr_img {
  height: 195px;
}

/* ----------------------------------------
呉服のお手入れ方法maintenance-art
------------------------------------------*/
.common_catchview_item_contents_img_wrap {
  width: 45%;
  margin: 20px auto;
}
.page_maintenance_art_media_sec .media_flex {
  padding: 4rem;
  background: #FCF8ED;
}
.media_contnets_ttl {
  font-size: 3rem;
  font-weight: 900;
  line-height: 1.5;
  color: #023A96;
  margin-bottom: 20px;
}
.media_contnets_ttl a {
  font-size: 3rem;
  font-weight: 900;
  line-height: 1.5;
  color: #023A96;
  text-decoration: underline;
}
.media_contnets_ttl_sub {
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.5;
  color: #023A96;
}
.media_contnets .list_type01 {
  margin-bottom: 20px;
}
.media_contnets .list_type01_item {
  color: #0057E1;
}
.media_contnets .num_list_item {
  color: #0057E1;
}
.media_contnets_txt {
  color: #0057E1;
}
.page_maintenance_art_media_sec .media_contnets_wrap {
  width: 60%;
}
.page_maintenance_art_media_sec .media_img_wrap {
  width: 35%;
}

/* ----------------------------------------
呉服のお手入れ方法について（技術編）maintenance-method
------------------------------------------*/
.page_maintenance-method .common_catchview_item_contents_img_wrap {
  width: 65%;
}
.page_maintenance-method .common_catchview_item_img {
  min-height: 780px;
}
.maintenance_method_gallery_flex {
  display: flex;
  flex-wrap: wrap;
}
.maintenance_method_gallery_item {
  width: 45%;
  margin-bottom: 50px;
}
.maintenance_method_gallery_item video,
.maintenance_method_gallery_item img {
  border: 1px solid #1f1f1f;
}
.maintenance_method_gallery_item:not(:nth-child(2n)) {
  margin-right: 20px;
}

/* ----------------------------------------
ご来店予約booking
------------------------------------------*/
.page_booking .common_catchview_item_img {
  min-height: 725px;
}

/* ----------------------------------------
レンタル和装rental-waso
------------------------------------------*/
.rental_waso_bnr_wrap {
  margin-bottom: 30px;
}
.rental_waso_bnr {
  display: flex;
  background: #D6A6CB;
}
.rental_waso_bnr_txt_wrap {
  width: 60%;
  padding: 4rem 2rem;
}
.rental_waso_bnr_ttl {
  font-size: 3.5rem;
  font-weight: 900;
  color: #fff;
}
.rental_waso_bnr_img_wrap {
  width: 40%;
}
.rental_waso_circle_bnr_wrap {
  display: flex;
  justify-content: space-between;
}
.rental_waso_circle_bnr {
  display: flex;
  justify-content: space-between;
  width: 48%;
  align-items: center;
}
.rental_waso_circle_bnr_img_wrap {
  width: 40%;
}
.rental_waso_circle_bnr_img {
  width: 200px;
  height: 200px;
  object-fit: contain;
  border-radius: 50%;
  transition: .5s;
}
.rental_waso_circle_bnr_img:nth-child(1):hover {
  display: none;
}
.rental_waso_circle_bnr_img:nth-child(1):hover+.rental_waso_circle_bnr_img:nth-child(2) {
  display: block;
  transition: .5s;
}
.rental_waso_circle_bnr_img:nth-child(2) {
  display: none;
}
.rental_waso_circle_bnr_txt_wrap {
  width: 50%;
}
.rental_waso_circle_bnr_ttl {
  font-size: 3rem;
  font-weight: 900;
}
.rental_waso_circle_bnr_link {
  font-size: 2rem;
  text-decoration: underline;
  display: block;
}
.rental_waso_tomesode_wrap {
  background: #DCBFF8;
  margin-bottom: 50px;
}
.rental_waso_tomesode_inner {
  width: 80%;
  margin: 0 auto 30px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.rental_waso_tomesode_img_wrap {
  width: 30%;
}
.rental_waso_tomesode_img_wrap img {
  border-radius: 25px;
  height: 350px;
  object-fit: cover;
}
.rental_waso_txt {
  font-size: 2.4rem;
  font-weight: 900;
  color: #fff;
  margin-bottom: 20px;
  line-height: 1.5;
}
.rental_waso_txt a {
  text-decoration: underline;
  color: #fff;
  font-weight: 900;
}
.rental_waso_btn {
  display: block;
  width: 20%;
  background: #99DEAE;
  border-radius: 25px;
  color: #fff;
  text-align: center;
  padding: 1rem 6rem 1rem 1rem;
  font-size: 2rem;
}
.line_up_btn_wrap {
  text-align: center;
  margin-bottom: 30px;
}
.line_up_btn {
  color: #fff;
  font-size: 3rem;
  font-weight: 900;
  text-align: center;
  padding: 2rem;
  background: url(../images/common/line_up_btn_bg.png) no-repeat center / cover;
  display: inline-block;
  padding: 0rem 2rem;
}
.rental_waso_gallery_wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.rental_waso_gallery_item {
  margin-bottom: 30px;
  width: 24%;
}
.rental_waso_gallery_img_wrap {
  margin-bottom: 10px;
}
.rental_waso_gallery_img {
  width: 280px;
  height: 280px;
  object-fit: cover;
}
.rental_waso_gallery_contents_wrap {
  text-align: center;
}
.rental_waso_gallery_contents_ttl {
  font-size: 2rem;
  font-weight: 900;
}
.rental_waso_houmongi_wrap {
  background: #FBD2C5;
  padding: 4rem 1rem 2rem 1rem;
  margin-bottom: 50px;
}
.rental_waso_houmongi_inner {
  width: 80%;
  margin: 0 auto 30px;
  display: flex;
  justify-content: space-between;
}
.rental_waso_houmongi_img_wrap {
  width: 30%;
}
.rental_waso_houmongi_img {
  border-radius: 25px;
  height: 350px;
  object-fit: cover;
}

/* ----------------------------------------
留袖・訪問着についてabout-rental-waso
------------------------------------------*/
.rental_waso_bnr_txt_wrap .c_purple {
  font-size: 2.4rem;
  font-weight: 900;
  color: #803BE8 !important;
}
.rental_waso_tomesode_wrap {
  background: linear-gradient(90deg, rgba(210, 171, 247, 1) 0%, rgba(210, 171, 247, 1) 95%, rgba(255, 255, 255, 1) 100%);
  padding: 4rem;
}
.rental_waso_houmongi_wrap {
  background: linear-gradient(90deg, rgba(243, 168, 143, 1) 0%, rgba(244, 171, 148, 1) 95%, rgba(255, 255, 255, 1) 100%);
  padding: 4rem;
}
.rental_waso_contents_flex {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}
.rental_waso_contents_flex:not(:last-child) {
  margin-bottom: 50px;
}
.rental_waso_contents_txt_wrap {
  width: 55%;
  color: #fff;
  font-weight: 900;
}
.rental_waso_contents_img_wrap {
  width: 30%;
}
.page_about-rental-waso .rental_waso_bnr_txt_wrap {
  padding: 4rem;
}
.page_about-rental-waso .rental_waso_bnr_ttl {
  font-size: 5rem;
}
.rental_waso_bnr_img {
  object-fit: cover;
  height: 100%;
}
.rental_waso_tomesode_head_ttl {
  font-size: 5.5rem;
  font-weight: 900;
  color: #fff;
  line-height: 1;
}
.rental_waso_tomesode_head_ttl_sub {
  font-size: 2.4rem;
  color: #fff;
  line-height: 1.5;
}

/* ----------------------------------------
​着付け・伝統文化教室kitsuke
------------------------------------------*/
.page_kitsuke_catch_img_wrap {
  width: 70%;
  margin: 0 auto 30px;
}
.page_kitsuke_catch_txt {
  text-align: center;
  font-size: 3rem;
  font-weight: 900;
  line-height: 1.5;
}

/* ----------------------------------------
林川信夫の創作着物hayashigawa001
------------------------------------------*/
.page_hayashigawa_catch_youtube_wrap {
  width: 70%;
  margin: 0 auto 30px;
}
.page_hayashigawa_catch_txt {
  text-align: center;
  font-size: 3rem;
  font-weight: 900;
  line-height: 1.5;
}

/* ----------------------------------------
blogブログ
------------------------------------------*/
.archive_news_list_item_flex {
  display: flex;
  justify-content: space-between;
}
.archive_news_list_item {
  border: 1px solid #e4e4e4;
}
.archive_news_list_item:not(:last-child) {
  margin-bottom: 10px;
}
.archive_news_list_item_img_wrap {
  aspect-ratio: 4/3;
  width: 30%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 2rem;
}
.archive_news_list_item_img_wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.archive_news_list_item_img {
  width: 300px;
  height: 200px;
  object-fit: contain;
}
.archive_news_list_item_contents_wrap {
  width: 65%;
  padding: 2rem;
}
.archive_news_list_item_contents_ttl_wrap {
  margin-bottom: 10px;
}
.archive_news_list_item_contents_ttl {
  font-size: 2rem;
  font-weight: 900;
}
.archive_news_list_item_time {
  text-decoration: underline;
}

/* ----------------------------------------
卒業式袴graduation_hakama
------------------------------------------*/
.archive_catalog_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.catalog_list_item {
  width: 30%;
  margin-bottom: 50px;
}
.catalog_list_item_img_wrap {
  margin-bottom: 20px;
}
.catalog_list_item_img {
  width: 300px;
  object-fit: contain;
}
.catalog_list_item_contents_tbl {
  width: 100%;
}
.catalog_list_item_contents_tbl th,
.catalog_list_item_contents_tbl td {
  font-size: 1.8rem;
  font-weight: 900;
  padding: 1rem;
}
.catalog_list_item_contents_tbl th {
  background: #f7eeff;
}

/* ----------------------------------------
成人式情報age-ceremony-info
------------------------------------------*/
.info_erea_wrap {
  width: 60%;
  margin: 0 auto;
  background: #C8E0FE;
}
.info_erea_wrap:not(:last-child) {
  margin-bottom: 50px;
}
.info_erea_inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 4rem 0;
  text-align: center;
}
.info_erea_ttl {
  font-size: 3.5rem;
  font-weight: 900;
}
.info_erea_txt {
  margin-bottom: 50px;
  text-align: left;
  font-weight: 900;
}

/* ----------------------------------------
ママ振プランのご説明mamafupi-plan
------------------------------------------*/
.page_mamafupi_plan_media {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.page_mamafupi_plan_media_contents_wrap {
  width: 60%;
  padding: 2rem;
  background: #E8F2FF;
}
.page_mamafupi_plan_media_item_wrap {
  width: 35%;
}
.page_mamafupi_plan_media_contents {
  margin-bottom: 30px;
}
.page_mamafupi_plan_media_contents_ttl {
  font-size: 3rem;
  font-weight: 900;
}
.page_mamafupi_plan_media_contents_txt {
  font-weight: 900;
}
.page_mamafupi_plan_media_item_wrap .line_up_btn_wrap {
  margin-bottom: 30px;
}

/* ----------------------------------------
プラン一覧furoside-plans
------------------------------------------*/
.page_furoside_plans_media {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  padding: 4rem 2.5rem;
}
.page_furoside_plans_media:not(:last-child) {
  margin-bottom: 50px;
}
.page_furoside_plans_media:nth-child(1) {
  background: linear-gradient(45deg, rgba(249, 201, 186, 1) 65%, rgba(255, 255, 255, 1) 75%, rgba(255, 135, 98, 1) 90%);
}
.page_furoside_plans_media:nth-child(2) {
  background: linear-gradient(45deg, rgba(178, 212, 187, 1) 65%, rgba(255, 255, 255, 1) 75%, rgba(152, 222, 174, 1) 90%);
}
.page_furoside_plans_media:nth-child(3) {
  background: linear-gradient(45deg, rgba(210, 172, 247, 1) 65%, rgba(255, 255, 255, 1) 75%, rgba(186, 131, 240, 1) 90%);
}
.page_furoside_plans_media_contents_wrap {
  width: 60%;
}
.page_furoside_plans_media_img_wrap {
  width: 35%;
}
.page_furoside_plans_media_img {
  border-radius: 50%;
}
.page_furoside_plans_media_contents_ttl {
  font-size: 3.5rem;
  font-weight: 900;
  color: #023A96;
  margin-bottom: 10px;
}
.page_furoside_plans_media_contents_ttl a {
  font-size: 2.4rem;
  color: #023A96;
  text-decoration: underline;
}
.page_furoside_plans_media_contents_ttl_sub {
  font-size: 2.4rem;
  font-weight: 900;
  color: #FF5652;
  line-height: 1.5;
  margin-bottom: 20px;
}
.page_furoside_plans_media_contents .list_type01_item {
  font-weight: 900;
  color: #023A96;
}
.page_furoside_plans_media_contents_txt:not(:last-child) {
  margin-bottom: 30px;
}
.page_furoside_plans_media_contents_txt {
  color: #023A96;
  font-weight: 900;
}
.plan_sec .tab_content {
  display: block;
  padding: 0;
}

/* ----------------------------------------
振袖ギャラリーcatalogue-gallery
------------------------------------------*/
.catalogue_tokusen_gallery_flex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.catalogue_tokusen_gallery_item {
  width: 30%;
}
.catalogue_tokusen_gallery_txt_wrap {
  position: relative;
  padding: 4rem 6rem;
}
.catalogue_tokusen_gallery_txt_day {
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translateX(-50%);
  border: 1px solid #1f1f1f;
  background: #fff;
  padding: 1.5rem 2rem;
  text-align: center;
  display: inline-block;
}
.catalogue_tokusen_gallery_ttl {
  font-size: 2.4rem;
  font-weight: 900;
}
.catalogue_tokusen_gallery_txt {
  text-align: center;
}
.catalogue_month_gallery_flex {
  display: flex;
  flex-wrap: wrap;
}
.catalogue_month_gallery_item {
  width: 49.5%;
  margin-bottom: 50px;
}
.catalogue_month_gallery_item:not(:nth-child(2n)) {
  margin-right: 10px;
}

/* ----------------------------------------
ヘアアレンジhair-arrange
------------------------------------------*/
.page_hair_arrange_gallery_wrap {
  width: 80%;
  margin: 0 auto;
  padding: 50px 0;
  position: relative;
}
.ul-hair-arrange {
  display: flex;
  flex-wrap: wrap;
  gap: 10rem 2rem;
}
.ul-hair-arrange > li {
  width: calc(100% / 2 - 1rem);
}
.ul-hair-arrange .ttl {
  margin-bottom: 1rem;
}
.ul-hair-arrange > li .child {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.ul-hair-arrange > li .child > li {
  width: calc(100% / 3 - .7rem);
}
@media screen and (max-width: 767px) {
  .ul-hair-arrange {
    gap: 2rem;
  }
  .ul-hair-arrange > li {
    width: 100%;
  }
}

/* ----------------------------------------
帯obi
------------------------------------------*/
.page_obi_gallery_wrap {
  width: 80%;
  margin: 0 auto;
  padding: 50px 0;
  position: relative;
}
.obi_gallery_flex {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}
.obi_gallery_item {
  width: calc(100% / 4 - 3rem);
}
.obi_gallery_img {
  aspect-ratio: 1/1;
  width: 100%;
  height: 250px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .obi_gallery_flex {
    gap: 2rem;
  }
  .obi_gallery_item {
    width: calc(100% / 2 - 1rem);
  }
  .obi_gallery_img {
    height: 150px;
  }
}

/* ----------------------------------------
ネイル＆小物nails
------------------------------------------*/
.page_nail_gallery_wrap {
  width: 80%;
  margin: 0 auto;
  padding: 50px 0;
  position: relative;
}
.nail_gallery_flex {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}
.nail_gallery_item {
  width: calc(100% / 4 - 3rem);
}
.nail_gallery_img {
  aspect-ratio: 1/1;
  width: 100%;
  height: 250px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .nail_gallery_flex {
    gap: 2rem;
  }
  .nail_gallery_item {
    width: calc(100% / 2 - 1rem);
  }
  .nail_gallery_img {
    height: 150px;
  }
}

/* ----------------------------------------
お客様の動画furisode-movie
------------------------------------------*/
.thumbnail_slider_main_movie_wrap {
  text-align: center;
}
.thumbnail_slider_main_movie {
  width: 65%;
  height: 80vh;
}
.slick-slide .thumbnail_slider_thumbnail_img {
  width: 99%;
  height: 10vw;
  object-fit: cover;
}

@media screen and (max-width: 1180px) {
/* ----------------------------------------
各ページ共通
------------------------------------------*/
  .common_catchview_item_contents_inner {
    padding: 4rem 2rem 2rem;
  }
  .common_catchview_item_contents_ttl {
    font-size: 3rem;
  }
  .common_catchview_item_contents_bnr+.common_catchview_item_contents_inner {
    padding: 2rem;
  }
  .common_catchview_item_contents_ttl_sub {
    font-size: 2rem;
  }
  .common_catchview_item_contents_bnr {
    padding: 1rem;
  }
  .common_catchview_item_contents_bnr_ttl {
    font-size: 2.4rem;
  }
  .common_catchview_item_contents_tab_link {
    margin-bottom: 10px;
    padding: .5rem 2rem;
    font-weight: 900;
  }
  .common_catchview_item_img {
    min-height: 730px;
  }
  .section_head {
    margin-bottom: 30px;
  }
  .media_flex {
    flex-direction: column;
    max-width: 1240px;
    margin: 0 auto;
  }
  .media_img_wrap,
  .media_contnets_wrap {
    width: 100%;
  }
  .media_contnets_ttl {
    font-size: 2.4rem;
  }
  .media_contnets_ttl_sub {
    margin-bottom: 10px;
  }
  .media_contnets_ttl a {
    font-size: 2rem;
  }
  .media_img {
    width: 100%;
    height: 300px;
    object-fit: cover;
  }
  .common_catchview_item_contents_img_wrap {
    width: 40%;
    margin: 20px auto 0;
  }
  .common_catchview_item_contents_wrap .common_catchview_item_contents_inner:nth-child(2) {
    padding: 2rem;
  }
  .page_inner {
    padding-top: 50px;
  }
  .top_movie {
    width: 65%;
    height: 65vh;
  }

/* ----------------------------------------
テキスト
------------------------------------------*/
  .txt_type01 {
    font-size: 3rem;
  }
  .txt_type02 {
    font-size: 3rem;
  }

/* ----------------------------------------
トップ
------------------------------------------*/
  .top_film_bg_sec::before,
  .top_film_bg_sec::after {
    width: 160px;
  }
  .top_film_bg_contents .media_img {
    height: 100%;
  }

/* ----------------------------------------
振袖furisode
------------------------------------------*/
  .seijinsiki_item {
    flex-direction: column-reverse;
    width: 80%;
    margin: 0 auto;
    padding: 4rem;
  }
  .seijinsiki_item_img_wrap,
  .seijinsiki_item_txt_wrap {
    width: 100%;
  }
  .seijinsiki_item_img_wrap {
    margin-bottom: 20px;
  }
  .seijinsiki_img {
    width: 100%;
    height: 350px;
    object-fit: cover;
  }

/* ----------------------------------------
呉服のお手入れ方法maintenance-art
------------------------------------------*/
  .page_maintenance_art_media_sec .media_flex {
    flex-direction: row;
  }

/* ----------------------------------------
呉服のお手入れ方法について（技術編）maintenance-method
------------------------------------------*/
  .page_maintenance-method .common_catchview_item_img {
    min-height: 720px;
  }

/* ----------------------------------------
ご来店予約booking
------------------------------------------*/
  .page_booking .common_catchview_item_img {
    min-height: 660px;
  }

/* ----------------------------------------
留袖・訪問着についてabout-rental-waso
------------------------------------------*/
  .page_about-rental-waso .rental_waso_bnr_ttl {
    font-size: 3.5rem;
  }
  .rental_waso_tomesode_head_ttl {
    font-size: 4rem;
  }

/* ----------------------------------------
blogブログ
------------------------------------------*/
  .archive_news_list_item {
    padding: 0;
  }
}

@media screen and (max-width: 1024px) {
/* ----------------------------------------
各ページ共通
------------------------------------------*/
  .page_circle_bnr_ttl {
    font-size: 1.8rem;
  }

/* ----------------------------------------
ページネーション
------------------------------------------*/
  .page-numbers.prev,
  .page-numbers.next {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .page-numbers.prev,
  .page-numbers.next {
    display: inline-block;
    padding: 1.5rem;
  }

/* ----------------------------------------
トップ
------------------------------------------*/
  /* top_view_sec */
  .top_view_catch_main {
    font-size: 2.4rem;
  }
  .top_view_catch_sub {
    font-size: 1.8rem;
  }
  /* top_bnr_sec */
  .top_catch_ttl02 {
    font-size: 4rem;
  }
  .top_catch_bnr_txt02 {
    font-size: 2.4rem;
  }
  .top_bnr_txt_wrap02 {
    width: 55%;
    padding: 2rem;
  }
  .top_bnr_img_wrap02 {
    width: 45%;
  }
  .top_movie {
    width: 80%;
    height: 40vh;
  }
  .top_view video {
    height: 50vh;
  }
  .top_film_bg_contents:nth-child(1) {
    margin-bottom: 100px;
  }
  .top_film_bg_contents .media_img_wrap {
    width: 55%;
  }

/* ----------------------------------------
振袖furisode
------------------------------------------*/
  .js-mainSlider_gallery .img_wrap img {
    height: 20vh;
  }
  .furisode_gallery_wrap .top_bnr_txt_wrap01 {
    width: 45%;
    padding: 2rem;
  }
  .furisode_gallery_wrap .top_bnr_ttl01 {
    font-size: 2.8rem;
  }

/* ----------------------------------------
近江屋とはabout
------------------------------------------*/
  .page_about_catch_ttl {
    margin-bottom: 0;
  }
  .page_about_catch_ttl_sub,
  .page_about_catch_ttl_link {
    font-size: 2.4rem;
  }

/* ----------------------------------------
きものなんでも相談処（メンテナンス）maintenance-main
------------------------------------------*/
  .common_catchview_item:nth-child(1),
  .common_catchview_item:nth-child(3) {
    width: 20%;
  }
  .common_catchview_item:nth-child(2) {
    width: 60%;
  }
  .page_maintenance_price_tbl_wrap {
    width: 100%;
  }

/* ----------------------------------------
レンタル和装rental-waso
------------------------------------------*/
  .rental_waso_circle_bnr_img {
    width: 150px;
    height: 150px;
  }

/* ----------------------------------------
成人式情報age-ceremony-info
------------------------------------------*/
  .info_erea_wrap {
    width: 80%;
  }
  .info_erea_inner {
    width: 90%;
    padding: 2rem 0;
  }
  .info_erea_txt {
    margin-bottom: 20px;
  }

/* ----------------------------------------
振袖ギャラリーcatalogue-gallery
------------------------------------------*/
  .catalogue_month_gallery_item {
    width: 49%;
  }

/* ----------------------------------------
お客様の動画furisode-movie
------------------------------------------*/
  .thumbnail_slider_main_movie {
    width: 100%;
    height: 60vh;
  }
}

@media screen and (max-width: 820px) {
/* ----------------------------------------
各ページ共通
------------------------------------------*/
  .page_circle_bnr_img {
    width: 150px;
    height: 145px;
  }
  .common_catchview_item:nth-child(1),
  .common_catchview_item:nth-child(3) {
    width: 15%;
  }
  .common_catchview_item:nth-child(2) {
    width: 70%;
  }
  .common_catchview_item_img {
    min-height: 780px;
  }
  .page_maintenance_method_bnr_sec .page_circle_bnr_img {
    height: 145px;
  }

/* ----------------------------------------
フッター
------------------------------------------*/
  .footer_info_wrap {
    width: 100%;
  }
  .footer_nav_list_wrap {
    width: 50%;
  }
  .footer_nav_list_wrap:nth-child(1),
  .footer_nav_list_wrap:nth-child(2) {
    margin-bottom: 30px;
  }
  .footer_logo_wrap {
    width: 35%;
    padding: 2rem;
  }
  .footer_address_wrap {
    width: 50%;
    padding: 2rem;
  }
  .footer_map_wrap {
    width: 100%;
  }

/* ----------------------------------------
トップ
------------------------------------------*/
  .top_about_contents {
    width: 90%;
    margin: auto;
  }
  .top_about_contents .media_content_wrap,
  .top_about_contents .media_img_wrap {
    width: 100%;
  }
  .top_about_contents .media {
    flex-direction: column-reverse;
  }
  .top_film_bg_contents:nth-child(1),
  .top_film_bg_contents:nth-child(2) {
    width: 100%;
  }
  .top_film_bg_contents:nth-child(2) .media {
    flex-direction: column-reverse;
  }
  .top_film_bg_contents .media_img_wrap {
    width: 100%;
    margin-bottom: 50px;
  }
  .top_film_bg_contents:nth-child(2) .media_content_wrap p:first-child {
    margin-right: auto;
  }
  .top_film_bg_contents .media_content_wrap {
    width: 95%;
  }
  .top_film_bg_contents .media_content_wrap p:first-child {
    line-height: 2.5;
  }
  .top_film_bg_contents .women1 {
    bottom: 5%;
    right: 50px;
  }
  .top_film_bg_contents .women2 {
    left: unset;
    right: 50px;
  }
  .top_news_contents .column_wrap {
    justify-content: space-between;
  }

/* ----------------------------------------
振袖furisode
------------------------------------------*/
  .seijinsiki_item {
    width: 100%;
  }
  .furisode_gallery_wrap .top_bnr_ttl01 {
    font-size: 2rem;
  }
  .furisode_gallery_wrap .top_bnr_txt01 {
    font-size: 1.8rem;
  }
  .page_furisode_catch_bnr_day {
    font-size: 2rem;
  }
  .js-mainSlider_gallery .slick_prev,
  .js-mainSlider_gallery .slick_next,
  .js-mainSlider_gallery2 .slick_prev,
  .js-mainSlider_gallery2 .slick_next {
    width: 30px;
    height: 30px;
  }

/* ----------------------------------------
近江屋とはabout
------------------------------------------*/
  .page_about_catch_ttl {
    font-size: 2.4rem;
  }
  .page_about_catch_ttl_sub,
  .page_about_catch_ttl_link {
    font-size: 2rem;
  }

/* ----------------------------------------
呉服のお手入れ方法maintenance-art
------------------------------------------*/
  .common_catchview_item_img {
    min-height: 700px;
  }
  .page_maintenance_art_media_sec .media_flex {
    width: 100%;
  }

/* ----------------------------------------
呉服のお手入れ方法について（技術編）maintenance-method
------------------------------------------*/
  .maintenance_method_gallery_item {
    width: 100%;
    margin-bottom: 30px;
  }
  .maintenance_method_gallery_item:not(:nth-child(2n)) {
    margin-right: 0;
  }

/* ----------------------------------------
レンタル和装rental-waso
------------------------------------------*/
  .rental_waso_tomesode_wrap {
    padding: 4rem 2rem;
  }
  .rental_waso_houmongi_wrap {
    padding: 4rem 2rem;
  }
  .rental_waso_contents_flex {
    flex-direction: column;
  }
  .rental_waso_contents_flex:not(:last-child) {
    flex-direction: column-reverse;
  }
  .rental_waso_contents_wrap .txt_type03 {
    margin-bottom: 20px;
  }
  .rental_waso_contents_img_wrap {
    width: 50%;
    margin-bottom: 20px;
  }
  .rental_waso_contents_txt_wrap {
    max-width: 1240px;
  }

/* ----------------------------------------
留袖・訪問着についてabout-rental-waso
------------------------------------------*/
  .rental_waso_circle_bnr_wrap {
    flex-direction: column;
  }
  .rental_waso_circle_bnr {
    width: 100%;
  }
  .rental_waso_circle_bnr:not(:last-child) {
    margin-bottom: 20px;
  }
  .rental_waso_circle_bnr_img_wrap {
    text-align: center;
  }
  .rental_waso_circle_bnr_img {
    width: 200px;
    height: 200px;
  }
  .rental_waso_btn {
    width: 30%;
  }
  .rental_waso_gallery_item {
    width: 49%;
  }
  .rental_waso_gallery_img {
    width: 350px;
    height: 350px;
  }
  .rental_waso_houmongi_inner {
    width: 90%;
  }

/* ----------------------------------------
ママ振プランのご説明mamafupi-plan
------------------------------------------*/
  .line_up_btn {
    font-size: 2.4rem;
  }

/* ----------------------------------------
プラン一覧furoside-plans
------------------------------------------*/
  .page_furoside_plans_media_contents_ttl {
    font-size: 3rem;
  }
  .page_furoside_plans_media_contents_ttl a {
    font-size: 2rem;
  }
  .page_furoside_plans_media_contents_ttl_sub {
    font-size: 2rem;
  }

/* ----------------------------------------
​​当日までの流れflow
------------------------------------------*/
/* ----------------------------------------
振袖ギャラリーcatalogue-gallery
------------------------------------------*/
  .catalogue_tokusen_gallery_txt_wrap {
    padding: 4rem 1rem;
  }
  .catalogue_tokusen_gallery_txt_day {
    top: -25px;
    padding: .5rem 2rem;
    width: 80%;
  }
  .catalogue_tokusen_gallery_ttl {
    text-align: center;
  }

/* ----------------------------------------
ヘアアレンジhair-arrange
------------------------------------------*/
  .hair_arrange_gallery_flex {
    justify-content: center;
  }
  .hair_arrange_gallery_item:not(:nth-child(4n)) {
    margin-right: 0;
  }
  .hair_arrange_gallery_item:not(:nth-child(3n)) {
    margin-right: 10px;
  }
  .hair_arrange_gallery_item {
    width: 30%;
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 768px) {
/* ----------------------------------------
各ページ共通
------------------------------------------*/
  .common_catchview_item:nth-child(1),
  .common_catchview_item:nth-child(3) {
    width: 10%;
  }
  .common_catchview_item:nth-child(2) {
    width: 80%;
  }
  .common_catchview_item_img {
    min-height: 750px;
  }
  .media_flex {
    width: 90%;
  }
  .page_circle_bnr_img {
    object-fit: cover;
  }

/* ----------------------------------------
テキスト
------------------------------------------*/
  .txt_box01 {
    font-size: 2rem;
    padding: 1rem 4rem;
  }

/* ----------------------------------------
お問い合わせ
------------------------------------------*/
  input[name="zip1"],
  input[name="zip2"] {
    width: 120px;
  }
  .table_contact_address tr th,
  .table_contact_address tr td {
    padding: 5px;
  }
  .contact_form .table_type01 th {
    width: 30%;
  }

/* ----------------------------------------
留袖・訪問着についてabout-rental-waso
------------------------------------------*/
  .page_about-rental-waso .rental_waso_bnr_ttl {
    font-size: 3rem;
  }
  .rental_waso_bnr_txt_wrap .c_purple {
    font-size: 2rem;
    line-height: 1.5;
  }

/* ----------------------------------------
卒業式袴graduation_hakama
------------------------------------------*/
  .catalog_list_item_contents_tbl th,
  .catalog_list_item_contents_tbl td {
    font-size: 1.6rem;
  }

/* ----------------------------------------
成人式情報age-ceremony-info
------------------------------------------*/
  .info_erea_wrap {
    width: 90%;
  }

/* ----------------------------------------
ママ振プランのご説明mamafupi-plan
------------------------------------------*/
  .line_up_btn {
    font-size: 2rem;
  }
  .page_mamafupi_plan_media_contents_ttl {
    font-size: 2.4rem;
  }

/* ----------------------------------------
プラン一覧furoside-plans
------------------------------------------*/
  .page_furoside_plans_media_contents_ttl a {
    font-size: 1.8rem;
  }

/* ----------------------------------------
ヘアアレンジhair-arrange
------------------------------------------*/
  .hair_arrange_gallery_ttl {
    font-size: 1.6rem;
  }

/* ----------------------------------------
帯obi
------------------------------------------*/
  .obi_gallery_item {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
/* ----------------------------------------
各ページ共通
------------------------------------------*/
  .article {
    overflow-x: hidden;
  }
  .top_circle_bnr_item {
    width: 49%;
    margin-bottom: 10px;
  }
  .top_circle_bnr_img_wrap {
    margin-bottom: 10px;
  }
  .common_catchview_item:nth-child(1),
  .common_catchview_item:nth-child(3) {
    display: none;
  }
  .common_catchview_item:nth-child(2) {
    width: 100%;
  }
  .common_catchview_item_contents_bnr+.common_catchview_item_contents_inner {
    padding: 1rem 0 0;
  }
  .media_flex {
    width: 100%;
  }
  .page_circle_bnr_item {
    width: 50% !important;
    margin-bottom: 10px !important;
  }
  .page_circle_bnr_ttl {
    font-size: 1.6rem;
  }
  .common_catchview_item_contents_ttl {
    font-size: 2.4rem;
  }
  .page_inner .section {
    padding: 0 0 4rem;
  }
  .page_inner .section:last-child {
    padding: 0;
  }
  .common_catchview_item_contents_ttl_sub {
    font-size: 1.6rem;
  }
  .common_catchview_item_contents_tab_link {
    font-size: 1.2rem;
    padding: .5rem .1rem;
  }

/* ----------------------------------------
タイトル
------------------------------------------*/
  .title_type01 {
    font-size: 1.8rem;
  }

/* ----------------------------------------
テキスト
------------------------------------------*/
  .txt_type01 {
    font-size: 2rem;
  }
  .txt_type02 {
    font-size: 2.4rem;
  }
  .txt_type04 {
    font-size: 1.8rem;
  }
  .txt_link {
    font-size: 2rem;
  }
  .txt_box01 {
    padding: 1rem 2rem;
  }

/* ----------------------------------------
ページネーション
------------------------------------------*/
  .page-numbers.prev,
  .page-numbers.next {
    padding: .5rem 1rem;
  }
  .page-numbers,
  .page-numbers.current {
    padding: 1rem;
  }
  .pager li {
    width: 100px;
    margin: 0 .2em;
  }
  .pager li a {
    font-size: 1.2rem;
  }

/* ----------------------------------------
上へ戻るボタン
------------------------------------------*/
  .gotop {
    right: 10px;
    bottom: 250px;
    font-size: 10px;
    padding-top: 50px;
    padding-right: 20px;
  }
  .gotop::before {
    height: 40px;
    width: 6px;
    background-image: url(../images/common/icon_arrow_top_sp.png);
    left: 6px;
  }

/* ----------------------------------------
リスト
------------------------------------------*/
  /* ul */
  .list_type01 li::before {
    top: 0;
  }
  .list_type03_item {
    padding-left: 8rem;
    font-size: 16px;
    font-size: 1.6rem;
    margin-bottom: 5px;
  }

/* ----------------------------------------
テーブル
------------------------------------------*/
  .table_type01 th,
  .table_type01 td {
    width: 100%;
    display: block;
  }
  .table_type01 th {
    width: 32%;
  }

/* ----------------------------------------
ヘッダー
------------------------------------------*/
  .header_wrap {
    -webkit-box-pack: initial;
    -ms-flex-pack: initial;
    justify-content: initial;
  }
  #gNav {
    padding: 50px 0 100px;
  }
  #hamburger .btn-gNav {
    top: 25px;
    right: 25px;
  }
  .header_address_wrap {
    display: none;
  }
  .header_wrap_bottom_txt_wrap {
    display: none;
  }
  .header_logo {
    width: 250px;
  }
  .header_wrap_top {
    justify-content: space-between;
  }
  .header_min .header_inner {
    justify-content: space-between;
  }

/* ----------------------------------------
フッター
------------------------------------------*/
  .footer_logo_area,
  .footer_map_area,
  .footer_nav_area {
    width: 100%;
  }
  .footer_nav_area {
    margin-top: 30px;
    padding-top: 20px;
  }
  .footer_nav_list_wrap {
    width: 100%;
    margin-bottom: 20px;
  }

/* ----------------------------------------
トップ
------------------------------------------*/
  /* top_view_sec */
  .top_view_img_wrap .top_view_img {
    height: 50vh;
    object-fit: cover;
  }
  .top_view_catch {
    text-align: left;
  }
  .top_view_catch {
    width: 95%;
    padding: 4rem 1rem;
  }
  .top_view_catch_main {
    font-size: 20px;
    font-size: 2rem;
    line-height: 1.5;
  }
  .top_view_catch_sub {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.5;
  }
  .top_catch_ttl {
    font-size: 2.8rem;
    text-align: left;
  }
  .top_catch_txt_wrap {
    font-size: 1.6rem;
    text-align: left;
  }
  .top_catch_ttl02 {
    font-size: 2.8rem;
  }
  /* top_bnr_sec */
  .top_catch_bnr_wrap {
    background: url(../images/top/hurisode_campaign_bnr.png) no-repeat center / cover;
  }
  .top_catch_ttl_wrap {
    margin-bottom: 10px;
  }
  .top_movie_ttl {
    font-size: 2.8rem;
  }
  .top_bnr01 {
    flex-direction: column-reverse;
  }
  .top_bnr_img_wrap01,
  .top_bnr_txt_wrap01 {
    width: 100%;
  }
  .top_bnr02 {
    flex-direction: column-reverse;
  }
  .top_bnr_txt_wrap02,
  .top_bnr_img_wrap02 {
    width: 100%;
  }
  .top_bnr_txt_wrap02 {
    padding: 2rem 2rem 6rem 2rem;
  }
  .top_catch_bnr_wrap {
    padding: 2rem .5rem;
  }
  .top_catch_bnr_txt02 {
    font-size: 1.8rem;
  }
  .title_type02 {
    font-size: 2rem;
  }
  .news_item_time {
    display: block;
    margin-right: 0;
  }
  .top_view_sec {
    margin-top: 73px;
  }
  .top_movie {
    width: 100%;
    height: 30vh;
  }
  .top_view video {
    height: 100%;
  }
  .top_film_bg_contents:nth-child(1) .media_img_ttl {
    right: 0;
  }
  .top_film_bg_contents .media_content_wrap p:first-child {
    line-height: 1.7;
  }
  .top_film_bg_contents:nth-child(1) {
    text-orientation: unset;
  }
  .top_film_bg_contents .media_img_wrap {
    margin-bottom: 20px;
  }
  .top_film_bg_sec::after {
    display: none;
  }
  .top_film_bg_sec::before,
  .top_film_bg_sec::after {
    opacity: .05;
    width: 210px;
  }
  .top_film_bg_contents .media_content_wrap {
    width: 90%;
    margin: 0 auto;
  }
  .top_film_bg_contents .media_content_wrap .taR {
    text-align: left !important;
  }
  .top_film_bg_contents .women1,
  .top_film_bg_contents .women2 {
    bottom: -125px;
  }
  .footer_logo_wrap {
    width: 75%;
  }
  .footer_address_wrap {
    width: 100%;
  }

/* ----------------------------------------
お問い合わせ
------------------------------------------*/
  .contact_form .table_type01 th {
    width: 100%;
  }
  .contact_form .table_type01 .table_contact_address th {
    width: 100%;
  }
  .btn_flex_contact .contact_btn {
    width: 100%;
    margin: 0;
  }
  .btn_flex_contact .contact_btn:nth-child(1) {
    margin-right: 0;
    margin-bottom: 10px;
  }
  .contact_form_comment,
  .contact_form_catch_txt {
    text-align: left;
  }

/* ----------------------------------------
振袖furisode
------------------------------------------*/
  .page_furisode_catch_bnr_ttl {
    font-size: 2.2rem;
    line-height: 1.5;
  }
  .gold_btn {
    font-size: 1.6rem;
    background: url(../images/common/gold_bnr.jpg) no-repeat center / contain;
    padding: .5rem 8rem 1.5rem;
  }
  .seijinsiki_sec_ttl {
    font-size: 1.8rem;
    padding: 0rem 2rem;
  }
  .seijinsiki_sec_ttl_sub {
    font-size: 1.8rem;
  }
  .seijinsiki_item {
    padding: 1.5rem;
  }
  .seijinsiki_item_ttl {
    font-size: 1.7rem;
    margin-bottom: 10px;
  }
  .marker_txt span {
    font-size: 1.8rem;
  }
  .furisode_gallery_wrap .top_bnr_txt_wrap01 {
    width: 100%;
  }
  .js-mainSlider_gallery .img_wrap img {
    opacity: 1;
  }
  .js-mainSlider_gallery .slick-arrow {
    display: block !important;
  }
  .furisode_gallery_wrap .top_bnr_txt_wrap02 {
    border-right: 1px solid #1f1f1f;
  }
  .seijinsiki_img {
    height: 200px;
  }

/* ----------------------------------------
近江屋とはabout
------------------------------------------*/
  .page_about_catch_ttl {
    font-size: 2rem;
  }
  .page_about_catch_ttl_sub,
  .page_about_catch_ttl_link {
    font-size: 1.8rem;
  }
  .page_about_gallery_ttl {
    font-size: 2rem;
    padding: 0rem 12rem;
  }
  .page_about_gallery_item {
    width: 48%;
    margin-bottom: 20px;
  }

/* ----------------------------------------
きものなんでも相談処（メンテナンス）maintenance-main
------------------------------------------*/
  .maintenance_price_tbl th,
  .maintenance_price_tbl td {
    padding: .5rem;
  }
  .media_contnets_ttl {
    font-size: 2rem;
  }

/* ----------------------------------------
呉服のお手入れ方法maintenance-art
------------------------------------------*/
  .common_catchview_item_contents_wrap .common_catchview_item_contents_inner:nth-child(2) {
    padding: 0rem;
  }
  .page_maintenance_art_media_sec .media_flex {
    flex-direction: column-reverse;
  }
  .page_maintenance_art_media_sec .media_contnets_wrap {
    width: 100%;
  }
  .page_maintenance_art_media_sec .media_flex {
    padding: 2rem;
  }
  .page_maintenance_art_media_sec .media_img_wrap {
    width: 100%;
    margin-bottom: 20px;
  }
  .media_contnets_ttl_sub {
    font-size: 1.8rem;
  }

/* ----------------------------------------
レンタル和装rental-waso
------------------------------------------*/
  .rental_waso_circle_bnr_img {
    width: 150px;
    height: 150px;
    object-fit: cover;
  }
  .rental_waso_circle_bnr_ttl {
    font-size: 2.4rem;
  }
  .rental_waso_circle_bnr_link {
    font-size: 1.8rem;
  }
  .rental_waso_txt {
    font-size: 1.8rem;
  }
  .rental_waso_tomesode_inner {
    width: 100%;
  }
  .rental_waso_tomesode_img_wrap img,
  .rental_waso_houmongi_img {
    height: 200px;
  }
  .rental_waso_btn {
    width: 60%;
    padding: 0.5rem 6rem 0.5rem 0.5rem;
    font-size: 1.8rem;
  }
  .rental_waso_tomesode_wrap {
    margin-bottom: 30px;
    padding: 2rem;
  }

/* ----------------------------------------
留袖・訪問着についてabout-rental-waso
------------------------------------------*/
  .rental_waso_bnr {
    flex-direction: column-reverse;
  }
  .rental_waso_bnr_txt_wrap,
  .rental_waso_bnr_img_wrap {
    width: 100%;
  }
  .page_about-rental-waso .rental_waso_bnr_txt_wrap {
    padding: 2rem;
  }
  .page_about-rental-waso .rental_waso_bnr_ttl {
    font-size: 2.4rem;
  }
  .rental_waso_bnr_txt_wrap .c_purple {
    font-size: 1.8rem;
  }
  .rental_waso_tomesode_wrap {
    background: rgb(210, 171, 247);
  }
  .rental_waso_houmongi_wrap {
    background: rgb(244, 171, 148);
  }
  .rental_waso_tomesode_head_ttl {
    font-size: 3.5rem;
  }
  .rental_waso_tomesode_head_ttl_sub {
    font-size: 1.8rem;
  }
  .txt_type03 {
    font-size: 2rem;
  }
  .rental_waso_contents_txt_wrap {
    width: 100%;
  }
  .rental_waso_contents_img_wrap {
    width: 75%;
  }
  .rental_waso_gallery_img {
    object-fit: contain;
    height: 250px;
  }
  .rental_waso_bnr_txt_wrap {
    padding: 2rem;
  }
  .rental_waso_bnr_ttl {
    font-size: 2.4rem;
  }

/* ----------------------------------------
​着付け・伝統文化教室kitsuke
------------------------------------------*/
  .page_kitsuke_catch_txt {
    font-size: 2rem;
  }

/* ----------------------------------------
林川信夫の創作着物hayashigawa001
------------------------------------------*/
  .page_hayashigawa_catch_youtube_wrap {
    width: 100%;
  }
  .page_hayashigawa_catch_txt {
    font-size: 2rem;
  }

/* ----------------------------------------
卒業式袴graduation_hakama
------------------------------------------*/
  .catalog_list_item_contents_tbl th,
  .catalog_list_item_contents_tbl td {
    display: block;
    width: 100%;
    padding: .5rem;
  }

/* ----------------------------------------
blogブログ
------------------------------------------*/
  .archive_tab_item {
    width: 100%;
    border-top: none;
    border-left: 1px solid #CB9BF6;
  }
  .archive_tab_item:first-child {
    border-top: 1px solid #CB9BF6;
  }
  .archive_tab_item:not(last-child) {
    border-bottom: 1px solid #CB9BF6;
  }
  .archive_news_list_item_flex {
    flex-direction: column;
  }
  .archive_news_list_item_img_wrap {
    width: 100%;
  }
  .archive_news_list_item_contents_wrap {
    width: 100%;
    padding: 2rem;
    background: #f4f4f4;
  }
  .top_catch_bnr_wrap {
    padding: 2rem 1rem;
  }
  .archive_news_list_item_img {
    width: 350px;
    height: 200px;
  }
  .archive_news_list_item_contents_ttl {
    font-size: 1.8rem;
  }

/* ----------------------------------------
ママ振プランのご説明mamafupi-plan
------------------------------------------*/
  .page_mamafupi_plan_media {
    flex-direction: column;
  }
  .page_mamafupi_plan_media_img_wrap {
    display: none;
  }
  .page_mamafupi_plan_media_contents_wrap {
    width: 100%;
    margin-bottom: 20px;
  }
  .page_mamafupi_plan_media_item_wrap {
    width: 100%;
  }
  .page_mamafupi_plan_media_contents_ttl {
    font-size: 2rem;
  }
  .line_up_btn {
    font-size: 1.8rem;
  }

/* ----------------------------------------
プラン一覧furoside-plans
------------------------------------------*/
  .page_furoside_plans_media_contents_wrap {
    width: 100%;
  }
  .page_furoside_plans_media_img_wrap {
    display: none;
  }
  .page_furoside_plans_media_contents_ttl {
    font-size: 2.4rem;
  }
  .page_furoside_plans_media {
    padding: 4rem 1.5rem;
  }
  .page_furoside_plans_media_contents_ttl a {
    display: block;
  }

/* ----------------------------------------
振袖ギャラリーcatalogue-gallery
------------------------------------------*/
  .catalog_list_item {
    width: 49%;
    margin-bottom: 30px;
  }
  .catalog_list_item_contents_tbl th,
  .catalog_list_item_contents_tbl td {
    font-size: 1.4rem;
  }
  .catalogue_tokusen_gallery_flex {
    flex-direction: column;
    align-items: center;
  }
  .catalogue_tokusen_gallery_item {
    width: 80%;
  }
  .catalogue_month_gallery_flex {
    flex-direction: column;
    align-items: center;
  }
  .catalogue_month_gallery_item:not(:nth-child(2n)) {
    margin-right: 0;
  }
  .catalogue_month_gallery_item {
    width: 80%;
  }

/* ----------------------------------------
ヘアアレンジhair-arrange
------------------------------------------*/
  .top_catch_bnr_txt01 {
    font-size: 2.2rem;
    margin-bottom: 10px;
  }
  .hair_arrange_gallery_item:not(:nth-child(3n)) {
    margin-right: 0;
  }
  .hair_arrange_gallery_item:not(:nth-child(2n)) {
    margin-right: 10px;
  }
  .hair_arrange_gallery_item {
    width: 48%;
    margin-bottom: 30px;
  }

/* ----------------------------------------
お客様の動画furisode-movie
------------------------------------------*/
  .thumbnail_slider_main_movie {
    width: 100%;
    height: 35vh;
  }
  .slick-slide .thumbnail_slider_thumbnail_img {
    width: 95%;
    height: 20vw;
  }
}

/* ----------------------------------------
振袖ページ　 改修
------------------------------------------*/
/* 共通 */
.bg_gray_box {
  background: #F0E8E3;
  padding: 4rem;
  position: relative;
  outline: 1px solid #fff;
  outline-offset: -40px;
}
.bg_blue_box {
  background: #DCE9E9;
  padding: 4rem;
  position: relative;
  outline: 1px solid #fff;
  outline-offset: -40px;
}
.illust {
  width: 100%;
  display: block;
  position: absolute;
}
.furisode-fair {
  background: url(../images/page/furisode-fair.png) no-repeat center / contain;
  max-width: 527px;
  height: 128px;
  top: 0;
  right: 0;
}
.ttem {
  background: url(../images/page/ttem.png) no-repeat center / contain;
  max-width: 169px;
  height: 128px;
  top: 0;
  right: 0;
}
.present {
  background: url(../images/page/present.png) no-repeat center / contain;
  max-width: 281px;
  height: 128px;
  top: 0;
  right: 0;
}
.thelatestcatalog {
  background: url(../images/page/thelatestcatalog.png) no-repeat center / contain;
  max-width: 667px;
  height: 128px;
  top: 0;
  right: 0;
}
.obi-gallery {
  background: url(../images/page/obi-gallery.png) no-repeat center / contain;
  max-width: 350px;
  height: 150px;
  top: 0;
  right: 0;
}
.nail-gallery {
  background: url(../images/page/nail-gallery.png) no-repeat center / contain;
  max-width: 350px;
  height: 150px;
  top: 0;
  right: 0;
}
.hair-arrangement-gallery {
  background: url(../images/page/hair-arrangement-gallery.png) no-repeat center / contain;
  max-width: 550px;
  height: 170px;
  top: 0;
  right: 0;
}
.faq {
  background: url(../images/page/faq.png) no-repeat center / contain;
  max-width: 163px;
  height: 128px;
  top: 0;
  right: 0;
}
.service {
  background: url(../images/page/service.png) no-repeat center / contain;
  max-width: 277px;
  height: 128px;
  top: 0;
  right: 0;
}
.flow {
  background: url(../images/page/flow.png) no-repeat center / contain;
  max-width: 187px;
  height: 128px;
  top: 0;
  right: 0;
}
.furisodeplan {
  background: url(../images/page/furisodeplan.png) no-repeat center / contain;
  max-width: 538px;
  height: 128px;
  top: 0;
  right: 0;
}
.quotation-gray {
  background: url(../images/page/quotation-gray.png) no-repeat center / contain;
  max-width: 125px;
  height: 125px;
  top: 0;
  left: 0;
}
.quotation-blue {
  background: url(../images/page/quotation-blue.png) no-repeat center / contain;
  max-width: 125px;
  height: 125px;
  top: 0;
  left: 0;
}
.flower1-1 {
  background: url(../images/page/flower1-1.png) no-repeat center / contain;
  max-width: 351px;
  height: 585px;
  bottom: 0;
  left: 0;
}
.flower1-2 {
  background: url(../images/page/flower1-2.png) no-repeat center / contain;
  max-width: 351px;
  height: 585px;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}
.flower2-1 {
  background: url(../images/page/flower2-1.png) no-repeat center / contain;
  max-width: 351px;
  height: 585px;
  bottom: 0;
  left: 0;
}
.flower2-2 {
  background: url(../images/page/flower2-2.png) no-repeat center / contain;
  max-width: 351px;
  height: 585px;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
}
.illust1 {
  background: url(../images/page/illust1.png) no-repeat center / contain;
  max-width: 235px;
  height: 230px;
}
.txt_w_c {
  font-size: 2rem;
  color: #5DB8BB;
}
.txt_w_c span {
  font-size: 3rem;
  color: #C24243;
  display: inline-block;
  padding: 0 5px;
  background: linear-gradient(transparent 60%, #F1DCCE 60%);
}
.txt1 {
  border: 2px solid #6FBCBF;
  border-radius: 50px;
  padding: .3rem 2rem;
  text-align: center;
  font-size: 2rem;
  color: #6FBCBF;
  font-weight: 900;
  position: relative;
  display: inline-block;
  background: #E8F8F8;
}
.txt1 span {
  font-size: 2.4rem;
}
.txt1::before {
  position: absolute;
  content: "";
  background: url(../images/page/txt1_deco.png) no-repeat center / contain;
  width: 35px;
  height: 26px;
  top: -20px;
  right: -25px;
}
.txt2 {
  font-size: 2.4rem;
  color: #6FBCBF;
}
.txt3 {
  font-size: 2.8rem;
  color: #E79F95;
}
.txt4 {
  font-size: 2.4rem;
  display: inline-block;
}
.txt4_L {
  font-size: 3rem;
}
.txt4_in {
  font-size: 3rem;
  font-weight: 900;
  color: #C24243;
  padding: 1rem 2rem;
  display: inline-block;
  margin: 0 20px;
  position: relative;
}
.txt4_in .solid::before,
.txt4_in .solid::after {
  position: absolute;
  content: "";
  background: #C24243;
}
.txt4_in .solid:nth-child(1):before,
.txt4_in .solid:nth-child(1):after {
  width: 100%;
  height: 2px;
}
.txt4_in .solid:nth-child(2):before,
.txt4_in .solid:nth-child(2):after {
  width: 2px;
  height: 50px;
}
.txt4_in .solid:nth-child(1):before {
  top: 0;
  left: 50%;
  transform: translate(-50%);
}
.txt4_in .solid:nth-child(1):after {
  bottom: 0;
  left: 50%;
  transform: translate(-50%);
}
.txt4_in .solid:nth-child(2):before {
  top: 8px;
  left: -8px;
}
.txt4_in .solid:nth-child(2):after {
  top: 8px;
  right: -8px;
}
.ttl1 {
  font-size: 3rem;
  font-weight: 900;
  color: #C24243;
  position: relative;
  border-bottom: 1px solid #fff;
  /* padding-left: 3.5rem; */
}
.ttl1+p {
  margin-top: 1rem;
}
.ttl1::before {
  position: absolute;
  content: "";
  background: #fff;
  width: 15px;
  height: 15px;
  bottom: 0;
  left: 0;
}
.ttl2 {
  font-size: 2.4rem;
  text-shadow: 2px 2px 2px #fff,
    -2px 2px 2px #fff,
    2px -2px 2px #fff,
    -2px -2px 2px #fff,
    2px 0px 2px #fff,
    0px 2px 2px #fff,
    -2px 0px 2px #fff,
    0px -2px 2px #fff,
    2px 2px 2px #fff,
    -2px 2px 2px #fff,
    2px -2px 2px #fff,
    -2px -2px 2px #fff,
    2px 2px 2px #fff,
    0px 2px 2px #fff,
    -2px 0px 2px #fff,
    0px -2px 2px #fff;
}
.ttl3 {
  font-size: 24px;
  position: relative;
  padding: 10px 0;
  text-align: center;
  border-top: solid 2px #9BBAA6;
  border-bottom: solid 2px #9BBAA6;
  display: block;
  margin: 25px;
  font-weight: bold;
  letter-spacing: 3px;
  line-height: 1.4;
  background: #fff;
}
.ttl3::before,
.ttl3::after {
  content: '';
  position: absolute;
  top: -10px;
  width: 2px;
  height: calc(100% + 20px);
  background-color: #9BBAA6;
}
.ttl3::before {
  left: 10px;
}
.ttl3::after {
  right: 10px;
}
.ttl4 {
  font-size: 20px;
  border-bottom: 1px solid #333;
  margin-bottom: 10px;
}
.ttl4::first-letter {
  font-size: 30px;
  color: #8F82BC;
}
.bnr_btn {
  display: block;
  margin: auto;
  width: 45%;
}
@media screen and (max-width: 1024px) {
  .quotation-gray,
  .quotation-blue {
    width: 100px;
    height: 100px;
  }
}
@media screen and (max-width: 767px) {
  .ttl1 {
    font-size: 2rem;
    padding-left: 2.5rem;
  }
  .txt1 {
    font-size: 1.8rem;
  }
  .txt1 span {
    font-size: 2.2rem;
  }
  .txt2 {
    font-size: 1.8rem;
  }
  .txt3 {
    font-size: 2rem;
  }
  .txt4 {
    font-size: 1.8rem;
  }
  .txt4_in {
    font-size: 2rem;
  }
  .txt4_in .solid:nth-child(2):before,
  .txt4_in .solid:nth-child(2):after {
    height: 35px;
  }
  .txt4_L {
    font-size: 2.4rem;
  }
  .txt_w_c {
    font-size: 1.8rem;
  }
  .txt_w_c span {
    font-size: 2rem;
  }
  .flower1-1,
  .flower2-1 {
    width: 200px;
    height: 270px;
  }
  .flower1-2,
  .flower2-2 {
    width: 200px;
    height: 270px;
  }
  .quotation-gray,
  .quotation-blue {
    width: 50px;
    height: 50px;
  }
  .bg_gray_box,
  .bg_blue_box {
    outline-offset: -20px;
    padding: 0;
  }
  .furisode-fair {
    width: 200px;
    height: 85px;
  }
  .bnr_btn {
    width: 85%;
  }
  .thelatestcatalog {
    width: 280px;
    height: 110px;
  }
  .illust1 {
    width: 120px;
    height: 120px;
  }
  .obi-gallery {
    max-width: 200px;
    height: 90px;
  }
  .hair-arrangement-gallery {
    max-width: 250px;
    height: 80px;
  }
  .nail-gallery {
    max-width: 180px;
    height: 80px;
  }
}

/* スライド */
.furisodeSlider_wrap {
  position: relative;
}
.furisodeSlider_wrap::before,
.furisodeSlider_wrap::after {
  position: absolute;
  content: "";
  width: 500px;
  height: 159px;
  z-index: 2;
}
.furisodeSlider_wrap::before {
  background: url(../images/page/slidedeco1.png) no-repeat center / contain;
  top: 0;
  right: 0;
}
.furisodeSlider_wrap::after {
  background: url(../images/page/slidedeco2.png) no-repeat center / contain;
  bottom: 0;
  left: 0;
}
.furisodeSlider_contents {
  display: flex;
}
.js-furisodeSlider_wrap {
  width: 70%;
  position: relative;
}
.seijinsiki_logo_wrap {
  position: absolute;
  right: 5%;
  bottom: 5%;
  max-width: 300px;
}
.furisode_slide_txt_wrap {
  width: 30%;
  background: url(../images/page/slidebg.jpg) no-repeat center / cover;
}
.furisode_slide_logo_wrap {
  position: absolute;
  top: 10%;
  left: 5%;
  max-width: 250px;
}
.furisode_slide_txt {
  position: absolute;
  top: 35%;
  left: 5%;
  z-index: 2;
  max-width: 750px;
}
@media screen and (max-width: 1024px) {
  .furisode_slide_txt {
    top: 45%;
  }
  .furisode_slide_txt p {
    font-size: 3rem;
  }
  .furisodeSlider_wrap::after {
    display: none;
  }
}
@media screen and (max-width: 820px) {
  .furisodeSlider_contents {
    flex-wrap: wrap;
  }
  .js-furisodeSlider_wrap {
    width: 100%;
  }
  .furisode_slide_logo_wrap {
    z-index: 1;
  }
  .seijinsiki_logo_wrap {
    max-width: 200px;
  }
}
@media screen and (max-width: 767px) {
  .js-furisodeSlider img {
    height: 70vh;
    object-fit: cover;
  }
  .furisode_slide_txt {
    max-width: 350px;
  }
  .furisode_slide_txt p {
    font-size: 1.8rem;
  }
  .furisodeSlider_wrap::before,
  .furisodeSlider_wrap::after {
    width: 350px;
    height: 111px;
  }
  .furisodeSlider_wrap::after {
    display: block;
  }
  .seijinsiki_logo_wrap {
    max-width: 120px;
  }
  .furisode_slide_logo_wrap {
    top: unset;
    bottom: 15%;
    left: unset;
    right: 5%;
    max-width: 150px;
  }
}
/* イベント情報 */
.weekfair_contents {
  width: 80%;
  margin: 0 auto;
  padding-top: 50px;
  position: relative;
}
@media screen and (max-width: 1180px) {
  .weekfair_contents {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .weekfair_contents {
    width: 100%;
  }
}
/* 展示ギャラリー */
.gallery_contents {
  width: 80%;
  margin: 0 auto;
  padding-top: 50px;
  position: relative;
}
@media screen and (max-width: 1180px) {
  .gallery_contents {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .gallery_contents {
    width: 100%;
  }
  .js-mainSlider_gallery .img_wrap img {
    height: auto;
  }
}
/* 豪華3大プレゼント */
.present_contents {
  width: 80%;
  margin: 0 auto;
  padding-top: 50px;
  position: relative;
}
.present_contents .section_head h2 {
  margin-bottom: 50px;
}
.olimg1 li {
  position: relative;
  background: #fff;
  padding: 1rem;
  color: #5DB8BB;
  font-size: 2.4rem;
}
.olimg1 li::before,
.olimg1 li::after {
  position: absolute;
  content: "";
}
.olimg1 li::before {
  width: 70px;
  height: 70px;
  top: -5px;
  left: -45px;
}
.olimg1 li:nth-child(1) {
  width: 50%;
  margin: 0 auto 50px;
}
.olimg1 li:nth-child(2),
.olimg1 li:nth-child(3) {
  width: 44%;
  display: inline-block;
}
.olimg1 li:nth-child(2) {
  margin-right: 100px;
}
.olimg1 li:nth-child(1):before {
  background: url(../images/page/blue1.png) no-repeat center / contain;
}
.olimg1 li:nth-child(2):before {
  background: url(../images/page/blue2.png) no-repeat center / contain;
}
.olimg1 li:nth-child(3):before {
  background: url(../images/page/blue3.png) no-repeat center / contain;
}
.olimg1 li:nth-child(1):after {
  width: 100px;
  height: 94px;
  top: -20px;
  right: -50px;
  background: url(../images/page/icon1.png) no-repeat center / contain;
}
.olimg1 li:nth-child(2):after {
  width: 90px;
  height: 73px;
  top: 20px;
  right: -50px;
  background: url(../images/page/icon2.png) no-repeat center / contain;
}
.olimg1 li:nth-child(3):after {
  width: 80px;
  height: 100px;
  top: -30px;
  right: -60px;
  background: url(../images/page/icon3.png) no-repeat center / contain;
}
.present_contents .content_head {
  margin-bottom: 100px;
}
.present_contents .media {
  position: relative;
  background: #fff;
  padding: 6rem 2rem;
}
.present_contents .media:not(:last-child) {
  margin-bottom: 100px;
}
.present_contents .media_content_wrap {
  width: 40%;
}
.present_contents .media_content_lebel {
  position: absolute;
  top: -25px;
  left: -10px;
  background: #E79F95;
  display: inline-block;
  padding: 1rem 4rem 1rem 2rem;
  color: #fff;
  font-size: 3rem;
}
.present_contents .media_content_lebel::after {
  position: absolute;
  content: "";
  top: -5px;
  right: -50px;
  width: 80px;
  height: 80px;
}
.present_contents .media_content_lebel.none::after {
  display: none;
}
.present_contents .media:nth-child(2) .media_content_lebel::after {
  background: url(../images/page/red1.png) no-repeat center / contain;
}
.present_contents .media:nth-child(3) .media_content_lebel::after {
  background: url(../images/page/red2.png) no-repeat center / contain;
}
.present_contents .media:nth-child(4) .media_content_lebel::after {
  background: url(../images/page/red3.png) no-repeat center / contain;
}
.present_contents .media:before,
.present_contents .media:after {
  position: absolute;
  content: "";
  z-index: 2;
}
.present_contents .media:nth-child(2):before {
  width: 180px;
  height: 224px;
  background: url(../images/page/tokuten1.png) no-repeat center / contain;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
.present_contents .media:nth-child(3):before {
  width: 220px;
  height: 140px;
  background: url(../images/page/tokuten2.png) no-repeat center / contain;
  top: 50%;
  left: 47%;
  transform: translate(-50%, -50%);
}
.present_contents .media:nth-child(4):before {
  width: 250px;
  height: 180px;
  background: url(../images/page/tokuten3.png) no-repeat center / contain;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.present_contents .media:nth-child(2):after {
  width: 120px;
  height: 130px;
  background: url(../images/page/icon1-2.png) no-repeat center / contain;
  bottom: -50px;
  right: -50px;
}
.present_contents .media:nth-child(3):after {
  width: 120px;
  height: 100px;
  background: url(../images/page/icon2.png) no-repeat center / contain;
  bottom: -40px;
  right: -40px;
}
.present_contents .media:nth-child(4):after {
  width: 100px;
  height: 120px;
  background: url(../images/page/icon3-2.png) no-repeat center / contain;
  bottom: -30px;
  right: -30px;
}
.present_contents .media .media_content_wrap:nth-child(2) {
  background: url(../images/page/tokuten-border.png) no-repeat center / contain;
  padding: 30px;
}
.present_contents .txt1 {
  margin-bottom: 20px;
}
.present_contents.none {
  padding-bottom: 50px;
}
.present_contents.none .media_content_lebel {
  top: -40px;
  padding: 0.5rem 1rem 0rem 1rem;
}
.present_contents.none .media {
  padding: 2rem;
}
.present_contents.none .media .media_content_wrap {
  width: 67.5%;
  outline: 1px solid #F0E8E3;
  outline-offset: 10px;
  padding: 2rem;
}
.present_contents.none .media .media_img_wrap {
  width: 30%;
}
.present_contents.none .media .flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.present_contents .hush {
  width: 45%;
}
.present_contents .hush dt {
  position: relative;
  padding-left: 2rem;
  font-size: 1.8rem;
  color: #E79F95;
  margin-bottom: 10px;
}
.present_contents .hush dd {
  /* font-size: 1.8rem; */
  margin-bottom: 10px;
  padding-left: 2rem;
}
.present_contents .hush dt::before {
  position: absolute;
  content: "";
  background: url(../images/page/hash.png) no-repeat center / contain;
  width: 16px;
  height: 30px;
  top: 0;
  left: 0;
}
.present_contents.none .media:nth-child(2):before,
.present_contents.none .media:nth-child(2):after {
  display: none;
}
@media screen and (max-width: 1180px) {
  .present_contents {
    width: 90%;
  }
  .present_contents .media .media_content_wrap:nth-child(2) {
    background: url(../images/page/tokuten-border.png) no-repeat center / cover;
  }
}
@media screen and (max-width: 1024px) {
  .present_contents .media:nth-child(2):before {
    width: 150px;
    height: 185px;
  }
  .present_contents .media:nth-child(3):before {
    width: 200px;
    height: 130px;
    top: unset;
    bottom: 0;
  }
  .present_contents .media:nth-child(4):before {
    width: 200px;
    height: 140px;
    top: unset;
    bottom: 0;
  }
}
@media screen and (max-width: 820px) {
  .olimg1 li {
    font-size: 2rem;
  }
  .olimg1 li:nth-child(1),
  .olimg1 li:nth-child(2),
  .olimg1 li:nth-child(3) {
    width: 90%;
    margin: 0 auto 30px;
  }
  .olimg1 li:nth-child(2) {
    margin-right: 0;
  }
  .present_contents .media_content_wrap {
    width: 100%;
  }
  .present_contents .media:nth-child(2):before,
  .present_contents .media:nth-child(3):before,
  .present_contents .media:nth-child(4):before {
    bottom: unset;
    left: unset;
    transform: unset;
    top: 0;
    right: 0;
  }
  .present_contents .media {
    padding: 6rem 2rem 2rem;
  }
  .present_contents.none .media {
    flex-direction: column-reverse;
  }
  .present_contents.none .media .media_img_wrap {
    width: 100%;
  }
  .present_contents.none .media .media_content_wrap {
    width: 100%;
  }
  .present_contents .hush {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .present_contents {
    width: 100%;
  }
  .olimg1 li::before {
    width: 35px;
    height: 35px;
    top: -5px;
    left: -25px;
  }
  .olimg1 li:nth-child(1),
  .olimg1 li:nth-child(2),
  .olimg1 li:nth-child(3) {
    margin: 0 auto 80px;
  }
  .olimg1 li:nth-child(1):after {
    width: 90px;
    height: 84px;
    top: 30px;
    right: -40px;
  }
  .olimg1 li:nth-child(2):after {
    top: 50px;
    right: -40px;
  }
  .olimg1 li:nth-child(3):after {
    width: 70px;
    height: 80px;
    top: 30px;
    right: -40px;
  }
  .present_contents .media_content_lebel {
    font-size: 1.8rem;
  }
  .present_contents .media_content_lebel::after {
    right: -30px;
    width: 60px;
    height: 60px;
  }
  .present_contents .media {
    padding: 4rem 2rem 18rem;
  }
  .present_contents .media:nth-child(2):before,
  .present_contents .media:nth-child(3):before,
  .present_contents .media:nth-child(4):before {
    bottom: 0;
    top: unset;
  }
  .present_contents .media .media_content_wrap:nth-child(2) {
    padding: 30px 0;
  }
  .present_contents.none .media .media_content_wrap {
    padding: 2rem 0;
  }
  .present_contents .hush dt {
    font-size: 1.4rem;
  }
  .present_contents .hush dt::before {
    width: 10px;
    height: 20px;
  }
  .present_contents .hush dd {
    font-size: 1.2rem;
  }
}
/* カタログギャラリー */
.catalog_contents {
  width: 80%;
  margin: 0 auto;
  padding-top: 50px;
  position: relative;
}
@media screen and (max-width: 1180px) {
  .catalog_contents {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .catalog_contents {
    width: 100%;
  }
  .catalog_contents .bnr_btn {
    width: 100%;
  }
}
/* よくあるご質問 */
.faq_contents {
  width: 80%;
  margin: 0 auto;
  padding-top: 50px;
  padding-bottom: 50px;
  position: relative;
}
@media screen and (max-width: 1180px) {
  .faq_contents {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .faq_contents {
    width: 100%;
  }
}
/* ご予約から成約までの流れ */
.flow_contents {
  width: 80%;
  margin: 0 auto;
  padding-top: 50px;
  position: relative;
}
@media screen and (max-width: 1180px) {
  .flow_contents {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .flow_contents {
    width: 100%;
  }
}

/* ページリンクバナー */
.page_icon_bnr_wrap {
  padding-top: 50px;
}
.page_icon_bnr_contents {
  width: 80%;
  margin: 0 auto;
  position: relative;
}
.page_icon_bnr_contents .illust1:nth-child(1) {
  top: 30%;
  left: 0;
}
.page_icon_bnr_contents .illust1:nth-child(2) {
  bottom: 10%;
  left: 50%;
}
.page_icon_bnr_contents .illust1:nth-child(3) {
  top: 30%;
  right: 0;
}
.page_icon_bnr_sec::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  background: url(../images/page/bg1.jpg) no-repeat center / cover;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.page_icon_bnr_contents .section_head {
  position: relative;
  padding-bottom: 10px;
}
.page_icon_bnr_contents .section_head::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  background: url(../images/page/border1.png) no-repeat center / cover;
  width: 100%;
  height: 10px;
}
.page_icon_bnr_contents .section_head {
  position: relative;
}
.page_icon_bnr_contents .section_head h2 {
  margin-bottom: 20px;
}
.page_icon_bnr_contents .section_head img {
  max-width: 250px;
}
.page_icon_bnr_contents .column_wrap {
  justify-content: center;
}
.page_icon_bnr_contents .page_icon_item {
  width: calc(100% / 4);
  padding: 20px;
}
@media screen and (max-width: 1180px) {
  .page_icon_bnr_contents {
    width: 90%;
  }
}
@media screen and (max-width: 820px) {
  .page_icon_bnr_contents .page_icon_item {
    width: calc(100% / 3);
  }
}
@media screen and (max-width: 767px) {
  .page_icon_bnr_contents {
    width: 100%;
  }
  .page_icon_bnr_contents .page_icon_item {
    width: calc(100% / 2);
    padding: 10px;
  }
}
/* プラン一覧 */
.plan_contents {
  width: 80%;
  margin: 0 auto;
  padding-top: 50px;
  padding-bottom: 50px;
  position: relative;
}
@media screen and (max-width: 1180px) {
  .plan_contents {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .plan_contents {
    width: 100%;
  }
}
/* 安心プランサービス */
.plan_service_contents {
  width: 80%;
  margin: 0 auto;
  padding-top: 50px;
  padding-bottom: 50px;
  position: relative;
}
.plan_service_contents .column3_item {
  border-radius: 0;
  box-shadow: unset;
  border: 5px dotted #6FBCBF;
  position: relative;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.plan_service_contents .column3_content_ttl {
  font-size: 2rem;
  font-weight: 900;
  text-align: center;
}
.plan_service_contents .column3_content_head span {
  position: absolute;
  top: -30px;
  left: -20px;
  background: #fff;
  color: #6FBCBF;
  font-size: 3rem;
  width: 50px;
  height: 50px;
  line-height: 50px;
  border-radius: 50%;
  text-align: center;
  border: 2px solid #6FBCBF;
}
.plan_service_contents .media_img_wrap {
  width: 25%;
}
.plan_service_contents .media_content_wrap {
  width: 70%;
}
.plan_service_contents dl {
  display: flex;
  flex-wrap: wrap;
}
.plan_service_contents dt {
  width: 20%;
  margin-bottom: 20px;
  position: relative;
  font-size: 2rem;
}
.plan_service_contents dt span {
  color: #6FBCBF;
  font-size: 3.5rem;
  font-weight: 900;
  display: inline-block;
  margin-right: 5px;
}
.plan_service_contents dd {
  width: 30%;
  margin-bottom: 20px;
}
.plan_service_contents dd img {
  width: 120px;
  object-fit: contain;
}
.media.zensyouhin {
  padding-bottom: 200px;
  position: relative;
}
.media.zensyouhin::before {
  position: absolute;
  content: '\f103';
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  color: #fff;
  font-size: 10rem;
}
.media.zensyouhin .media_img_wrap {
  width: 50%;
}
.media.zensyouhin .media_content_wrap {
  width: 45%;
}
.media.set .media_img_wrap {
  width: 60%;
}
.media.set .media_content_wrap {
  width: 35%;
  background: #fff;
  padding: 2rem;
  height: 100%;
}
@media screen and (max-width: 1180px) {
  .plan_service_contents {
    width: 90%;
  }
  .plan_service_contents .media_img {
    height: auto;
    object-fit: contain;
  }
}
@media screen and (max-width: 1024px) {
  .media.set .media_img_wrap {
    width: 100%;
  }
  .media.set .media_content_wrap {
    width: 100%;
  }
  .media.zensyouhin .media_img_wrap {
    width: 100%;
  }
  .media.zensyouhin .media_content_wrap {
    width: 100%;
  }
  .thumbnail_slider_main img {
    object-fit: contain;
    height: 30vh;
  }
}
@media screen and (max-width: 820px) {
  .plan_service_contents dd img {
    width: 80px;
  }
  .plan_service_contents dt span {
    font-size: 1.8rem;
  }
  .plan_service_contents dt {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .plan_service_contents {
    width: 100%;
  }
  .plan_service_contents .media_img_wrap {
    width: 100%;
  }
  .plan_service_contents .media_img {
    height: 300px;
  }
  .plan_service_contents .media_content_wrap {
    width: 100%;
  }
  .plan_service_contents dd img {
    width: 65px;
  }
  .plan_service_contents dt span {
    font-size: 1.6rem;
  }
  .plan_service_contents dt {
    width: 27%;
    font-size: 1.6rem;
  }
  .plan_service_contents dd {
    width: 23%;
  }
  .plan_service_contents .column3_content_ttl {
    font-size: 1.8rem;
  }
  .plan_service_contents .column3_content_head span {
    top: -20px;
    left: -20px;
    font-size: 2rem;
    width: 45px;
    height: 45px;
    line-height: 45px;
  }
}

/* ----------------------------------------
固定ページヘッダーサムネイル
------------------------------------------*/
.page_thumbnail {
  overflow: hidden;
  position: relative;
}
.page_thumbnail_wrap {
  position: relative;
  width: 100%;
  height: 350px;
}
.page_thumbnail_wrap::before {
  position: absolute;
  content: "";
  background: rgba(255, 255, 255, .5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.page_thumbnail_contents {
  position: absolute;
  top: 45%;
  z-index: 2;
  width: 100%;
  text-align: center;
}
.page_thumbnail_ttl_ja {
  margin-top: 20px;
}
.page_thumbnail_ttl_en {
  font-size: 5rem;
  font-weight: 600;
  letter-spacing: 10px;
  line-height: 1;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .page_thumbnail_wrap {
    height: 300px;
  }
  .page_thumbnail_ttl_en {
    font-size: 3rem;
  }
  .media.set .thumbnail_slider_main img {
    object-fit: contain;
    height: 30vh;
  }
  .media.set .thumbnail_slider_sub img {
    width: 50px;
    height: 50px;
    object-fit: cover;
  }
}

/* ----------------------------------------
パンくずリスト breadcrumb
------------------------------------------*/
.breadcrumb_wrap {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #FAFAFA;
  margin: 0 auto;
  padding: .5rem 2rem;
  width: 100%;
  z-index: 2;
}
.breadcrumb_wrap span {
  font-size: 1.2rem;
}
.breadcrumb_wrap .current-item {
  color: #8F82BC;
}
@media screen and (max-width: 768px) {
  .breadcrumb_wrap .inner {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .breadcrumb_wrap {
    padding: .5rem 1rem;
  }
}

/* ----------------------------------------
よくあるご質問
------------------------------------------*/
.faq_content_wrap:not(:last-child) {
  padding-bottom: 50px;
  margin-bottom: 50px;
  position: relative;
}
.faq_content_wrap:not(:last-child)::after {
  position: absolute;
  content: "";
  width: 100%;
  border-bottom: 1px solid #C24243;
  bottom: 0;
  left: 0;
}
.faq_item {
  position: relative;
  margin: 20px 0 0;
  cursor: pointer;
}
.faq_item::after {
  position: absolute;
  top: 20px;
  right: 5%;
  display: block;
  width: 10px;
  height: 10px;
  content: '';
  transform: rotate(135deg);
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
.faq_content .open::after {
  transform: rotate(-45deg);
}
.faq_q {
  background: #fff;
  display: flex;
  align-items: center;
  user-select: none;
}
.faq_q_deco {
  padding: 1rem;
  display: inline-block;
  font-weight: 900;
  text-align: center;
}
.faq_a {
  position: relative;
  padding: 2rem;
  background: #fff;
  border-top: 1px solid #1f1f1f;
}
.btn_flex_faq {
  display: flex;
  flex-wrap: wrap;
}
.btn_flex_faq .contact_btn {
  width: 35%;
  margin: 0;
}
.btn_flex_faq .contact_btn:nth-child(1) {
  margin-right: 10px;
}
.page_faq {
  position: relative;
}
.page_faq .ichigow {
  top: 0;
  right: 0;
}
.page_faq .leaf {
  top: 0;
  left: 0;
}
.faq_tab {
  padding: 10rem 0;
}
.faq_tab .tab_item {
  width: 24.5%;
  background: #C24243;
}
@media screen and (max-width: 1024px) {
  .faq_contents .tab_item {
    width: calc(100% / 3 - 10px);
    margin-bottom: 10px;
  }
  .faq_contents .tab_item:not(:last-child) {
    margin-right: 0;
  }
  .faq_contents .tab_item:not(:nth-child(3n)) {
    margin-right: 10px;
  }
}
@media screen and (max-width: 820px) {
  .faq_q {
    padding: 0;
  }
  .faq_contents .tab_link {
    padding: .5rem;
  }
}
@media screen and (max-width: 767px) {
  .faq {
    margin: 10px 0 0;
  }
  .faq_q {
    padding: .5rem 2.5rem .5rem 1rem;
  }
  .faq_q_deco {
    display: none;
  }
  .faq_a {
    margin: 0;
    padding: 16px;
  }
  .faq:after {
    top: 20px;
    right: 15px;
    width: 5px;
    height: 5px;
  }
  .faq_a::before {
    display: none;
  }
  .faq_contents .tab_item {
    width: calc(100% / 2 - 10px);
  }
  .faq_contents .tab_item:not(:nth-child(3n)) {
    margin-right: 0;
  }
  .faq_contents .tab_item:not(:nth-child(2n)) {
    margin-right: 10px;
  }
}

/* ----------------------------------------
流れレイアウトテンプレートY
------------------------------------------*/
.big-content {
  background: #ffffff;
  position: relative;
  filter: drop-shadow(0 8px 3px #d6d6d6);
  border-radius: 0 0px 25px 25px;
  padding: 20px;
  margin-bottom: 40px;
}
.big-content::after {
  content: "";
  position: absolute;
  border-top: 20px solid #fff;
  border-right: 20px solid transparent;
  border-bottom: 20px solid transparent;
  border-left: 20px solid transparent;
  top: 100%;
  left: 50%;
  z-index: -1;
}
.big-content .step01::before,
.big-content .step02::before,
.big-content .step03::before,
.big-content .step04::before,
.big-content .step05::before,
.big-content .step06::before {
  position: absolute;
  width: 275px;
  height: auto;
  bottom: -40px;
  right: -50px;
  font-size: 130px;
  font-weight: bold;
  font-style: italic;
  color: #f2f2f2;
  z-index: -1;
  font-family: "Open Sans", sans-serif;
}
.big-content .step01::before {
  content: "01";
}
.big-content .step02::before {
  content: "02";
}
.big-content .step03::before {
  content: "03";
}
.big-content .step04::before {
  content: "04";
}
.big-content .step05::before {
  content: "05";
}
.big-content .step06::before {
  content: "06";
}
.big-content:last-child:after {
  display: none;
}
.titletype_step {
  font-size: 28px;
  display: flex;
  align-items: center;
  border-bottom: solid 3px #f2f2f2;
  position: relative;
  padding-bottom: 0;
}
.titletype_step span {
  color: #181818;
  padding: 0 10px;
  margin-right: 1px;
  letter-spacing: 2px;
  font-style: italic;
  font-size: 20px;
  font-weight: bold;
  font-family: "Open Sans", sans-serif;
}
.titletype_step span::first-letter {
  color: #C24243;
  font-size: 26px;
}
.titletype_step::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -3px;
  width: 10%;
  height: 3px;
  background-color: #C24243;
}
.s-manufacture__flexBox {
  display: flex;
  justify-content: space-between;
  max-width: 100%;
  margin: 0 auto;
}
.s-manufacture__flexBox img {
  width: 100%;
  height: auto;
  clip-path: polygon(0% 0%, 88% 0, 100% 50%, 88% 100%, 0% 100%);
}
.s-manufacture__flexItem:first-child {
  width: 40%;
  padding: 20px;
}
.s-manufacture__flexItem:last-child {
  width: 60%;
  padding: 20px;
}
@media screen and (max-width: 820px) {
  .titletype_step {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .titletype_step::before {
    width: 32px;
    height: 32px;
  }
}
@media screen and (max-width: 767px) {
  .s-manufacture__flexBox {
    display: block;
    max-width: 100%;
  }
  .s-manufacture__flexItem:first-child {
    width: 100%;
    padding: 20px 0;
  }
  .big-content .step01::before,
  .big-content .step02::before,
  .big-content .step03::before,
  .big-content .step04::before,
  .big-content .step05::before {
    width: auto;
    bottom: 0;
    right: 5%;
    font-size: 80px;
  }
  .s-manufacture__flexItem:last-child {
    width: 100%;
    padding: 0;
  }
  .big-content {
    padding: 20px 20px 100px 20px;
  }
  .titletype_step span {
    font-size: 16px;
    padding: 0 10px 0 0;
  }
}

/* ----------------------------------------
サムネイルスタイダ－
------------------------------------------*/
.thumbnail_slider_main {
  margin-bottom: 30px;
}
.thumbnail_slider_main img {
  object-fit: cover;
  height: 50vh;
}
.thumbnail_slider_sub_item {
  padding: 0 5px;
}
.thumbnail_slider_sub img {
  width: 100px;
  height: 100px;
  object-fit: cover;
}
.thumbnail_slider_sub .slick-active {
  position: relative;
}
.thumbnail_slider_sub .slick-current::after {
  display: none;
}
.thumbnail_slider_sub .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.thumbnail_slider_sub .slick_prev,
.thumbnail_slider_sub .slick_next {
  width: 20px;
  height: 20px;
  display: inline-block;
}
.thumbnail_slider_sub .slick_prev {
  background: url(../images/common/slickprev.png) no-repeat center / contain;
  left: -20px;
}
.thumbnail_slider_sub .slick_next {
  background: url(../images/common/slicknext.png) no-repeat center / contain;
  right: -20px;
}
@media screen and (max-width: 767px) {
  .products_detail_contents .media_img_wrap {
    margin-bottom: 20px;
  }
  .footer_nav_wrap {
    padding: 50px 0 90px;
  }
}
.ul1 li {
  position: relative;
  padding-left: 2rem;
}
.ul1 li::before {
  position: absolute;
  content: '・';
  top: 0;
  left: 0;
}
@media screen and (max-width: 1180px) {
  .page_inner {
    padding-top: 100px;
  }
}

/* ----------------------------------------
メンテナンスページ
------------------------------------------*/
/* メンテページリンク */
.bnr_link_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.bnr_link_item {
  width: calc(100% / 5 - 20px);
  height: 200px;
  margin: 0 20px 30px 0;
  border-radius: 50%;
  text-align: center;
  line-height: 200px;
  letter-spacing: 3px;
}
.bnr_link_item:nth-child(odd) {
  background: url(../images/lp/bnr_link_itemodd.png) no-repeat center / contain;
}
.bnr_link_item:nth-child(even) {
  background: url(../images/lp/bnr_link_itemeven.png) no-repeat center / contain;
}
.bnr_link_item:nth-child(5n) {
  margin: 0 0 20px 0;
}
.bnr_link {
  font-size: 3rem;
  font-weight: bold;
  display: block;
  text-shadow: 2px 2px 1px #fff;
}
@media screen and (max-width: 1024px) {
  .bnr_link {
    font-size: 2.4rem;
  }
  .bnr_link_item {
    height: 170px;
    line-height: 170px;
  }
}
@media screen and (max-width: 820px) {
  .bnr_link {
    font-size: 2rem;
  }
  .bnr_link_item {
    height: 140px;
    line-height: 140px;
  }
}
@media screen and (max-width: 768px) {
  .bnr_link {
    font-size: 1.8rem;
  }
  .bnr_link_item {
    height: 120px;
    line-height: 120px;
  }
}
@media screen and (max-width: 767px) {
  .bnr_link_item {
    width: calc(100% / 2 - 10px);
    height: 175px;
    line-height: 175px;
  }
  .bnr_link_item:nth-child(5n) {
    margin: 0 20px 20px 0;
  }
  .bnr_link_item:nth-child(2n) {
    margin: 0 0 20px 0;
  }
  .bnr_link {
    font-size: 2rem;
  }
}
/* 丸洗い */
.bg_white_box {
  background: #fff;
  padding: 2rem 1rem;
}
.box1 {
  padding: 2rem;
}
.box1_head {
  background: #fff;
  padding: 2rem 1rem;
}
.box1_content {
  background: #fff;
}
.box1_content.padding {
  padding: 2rem;
}
.contents_inner {
  padding: 2rem;
  box-sizing: border-box;
}
.content video {
  width: 100%;
}
/* 染み抜き */
.befoaf .column2_content_ttl {
  font-size: 2rem;
  font-weight: 900;
  text-align: center;
  padding: 1rem 0;
}
.befoaf .column2_item:nth-child(1) .column2_content_ttl {
  background: #d9e8ff;
}
.befoaf .column2_item:nth-child(2) .column2_content_ttl {
  background: #fad2ff;
}
/* ガード加工 */
.column_wrap.case .column2_content_ttl {
  font-size: 2rem;
  font-weight: 900;
  text-align: center;
  padding: 1rem 0;
  background: #8F82BC;
  color: #fff;
}
table.style1 {
  width: 90%;
  margin: 15px auto 0 auto;
  border-left: 1px solid #333333;
  border-top: 1px solid #333333;
}
table.style1 th,
table.style1 td {
  background: #fff;
  padding: 1rem;
  border-right: 1px solid #333333;
  border-bottom: 1px solid #333333;
}
table.style1 td span.leg1 {
  font-weight: bold;
  color: #C70D11;
  font-size: 1.4rem;
}
table.style1 td span.leg2 {
  font-weight: bold;
  color: #F96D01;
  font-size: 1.4rem;
}
table.style1 td span.leg3 {
  font-weight: bold;
  font-size: 1.4rem;
}
.cellC {
  text-align: center !important;
  vertical-align: middle !important;
}
@media screen and (max-width: 820px) {
  .js-scrollable table {
    width: 1000px;
  }
}
/* 記事詳細ページ */
.single_content img {
  width: 100%;
  max-width: 500px;
}
@media screen and (max-width: 767px) {
  .single_content img {
    max-width: 300px;
  }
}
.thumbnail_slider_main2 .slick-slide img {
  height: 430px;
  object-fit: contain;
}
.thumbnail_slider_sub2 .slick-slide img {
  height: 100px;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .thumbnail_slider_main2 .slick-slide img {
    height: 300px;
  }
  .thumbnail_slider_sub2 .slick-slide img {
    height: 50px;
  }
}
.txt5 span {
  line-height: 1;
  font-weight: bold;
  font-style: italic;
  font-size: 50px;
  color: rgba(0, 0, 0, 0);
  text-shadow: 3px 3px 0 #f36a1b;
  -webkit-text-stroke: 1px #cc9011;
  text-stroke: 1px #888;
  font-family: 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
.txt6 {
  font-weight: bold;
  font-size: 60px;
  color: rgba(0, 0, 0, 0);
  text-shadow: 3px 3px 0 #ff1919;
  -webkit-text-stroke: 1px #ff5f5f;
  text-stroke: 1px #0f0f0f;
  font-family: 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}
@media screen and (max-width: 820px) {
  .txt5 span {
    font-size: 50px;
  }
  .txt6 {
    font-size: 45px;
  }
}
@media screen and (max-width: 767px) {
  .txt5 span {
    font-size: 20px;
  }
  .txt5 {
    text-align: center;
  }
  .txt6 {
    font-size: 20px;
  }
}

/* ----------------------------------------
要素間調整
element space
------------------------------------------*/
.section {
  position: relative;
  padding: 6rem 0 4rem;
}
.section:first-of-type {
  padding: 0 0 4rem;
}
/* .section:last-of-type {
  padding: 6rem 0 0;
} */
/* .page .section:nth-child(1) {
    padding: 0;
} */
.section_head {
  margin-bottom: 50px;
}
.content:not(:last-of-type) {
  margin-bottom: 20px;
}
.contents:not(:last-of-type) {
  margin-bottom: 30px;
}
.contents p:not(:last-of-type) {
  margin-bottom: 10px;
}
.content_head {
  margin-bottom: 20px;
}
.content div:not(:last-of-type),
.content p:not(:last-of-type) {
  margin-bottom: 20px;
}
.img_wrap {
  margin-bottom: 50px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .home .main {
    padding: 18rem 0 0;
  }
  .page .main {
    padding: 6rem 0 0;
  }
}
.dl1 {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #181818;
  flex-wrap: wrap;
}
.dl1:last-child {
  border-bottom: 1px solid #181818;
}
.dl1 dt {
  width: 15%;
  padding: 2rem 0;
}
.dl1 dd {
  width: 80%;
  padding: 2rem 0;
}
/* レンタル和装改修 */
.rentalSlider_sec {
  position: relative;
}
.rentalSlider_logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  max-width: 450px;
}
.rental_waso_ttl {
  max-width: 400px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .js-rentalSlider img {
    height: 70vh;
    object-fit: cover;
  }
  .rental_waso_ttl {
    max-width: 220px;
  }
  .dl1 dt {
    width: 100%;
    padding: 1rem 1rem 0 1rem;
  }
  .dl1 dd {
    width: 100%;
    padding: 1rem;
  }
}

.section.top-bnr-slider-sec {
  padding: 4rem 0 6rem;
}
.js-top-bnr-slider .slick-slide {
  margin: 0 2rem;
}
.js-top-bnr-slider .slick-slide img {
  height: 100%;
}
.js-top-bnr-slider .slick-dots {
  bottom: -40px;
}
.js-top-bnr-slider .slick-dots li button:before {
  border-radius: 50%;
  font-size: 0;
  width: 15px;
  height: 15px;
}
.js-top-bnr-slider .slick-dots li.slick-active button:before {
  background: #8F82BC;
}
@media screen and (max-width: 767px) {
  .js-top-bnr-slider .slick-dots li button:before {
    width: 10px;
    height: 10px;
  }
}
.top-h2-ttl1 {
  font-size: 4rem;
}
.top-h2-ttl2 {
  background: #fff;
  font-size: 4rem;
  text-orientation: upright;
  line-height: 1;
  padding: 1rem;
  position: absolute;
  writing-mode: vertical-rl;
  z-index: 1;
}
.top_film_bg_contents:nth-of-type(1) .media_img_wrap .top-h2-ttl2 {
  top: -50px;
  right: 50px;
  height: 260px;
}
.top_film_bg_contents:nth-of-type(2) .media_img_wrap .top-h2-ttl2 {
  top: -50px;
  left: 50px;
  height: 260px;
}
@media screen and (max-width: 767px) {
  .top-h2-ttl1 {
    font-size: 2.5rem;
  }
  .top-h2-ttl2 {
    font-size: 2rem;
  }
  .top_film_bg_contents:nth-of-type(1) .media_img_wrap .top-h2-ttl2 {
    height: 140px;
    top: -20px;
    right: initial;
    left: 30px;
  }
  .top_film_bg_contents:nth-of-type(2) .media_img_wrap .top-h2-ttl2 {
    top: -20px;
    left: initial;
    height: 120px;
    right: 30px;
  }
}

@media screen and (min-width: 1500px) {
  .top_about_contents,
  .top_film_bg_contents,
  .footer_info_wrap {
    margin: 0 auto;
  }
  .top_film_bg_sec::before, .top_film_bg_sec::after {
    display: none;
  }
}
.event_box{
  margin-bottom: 30px;
}
.event_box p{
  margin-bottom: 20px;
  font-size: 18px;
}
.event_box img{
  margin-top: 10px;
  margin-bottom: 10px;
  width: 600px;
  max-width: 95%;
}
.event_ttl{
  border-left: 10px solid #CB9BF6;
  border-bottom: 1px solid #CB9BF6;
  padding: 1rem 0 1rem 2rem;
  position: relative;
  margin-bottom: 20px;
  font-size: 20px;
}

/* ----------------------------------------
イベントページ 2025.09.02
------------------------------------------*/
.ttlimg{
  width: 500px;
  margin: 0 auto;
  padding-bottom: 30px;
}
.evflex{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}
.evfbox{
  width: calc(100% / 2);
  padding: 20px;
}

@media only screen and (max-width: 767px) {
  .ttlimg{
    width: 300px;
  }
  .evfbox {
    width: 100%;
    padding: 0;
  }
}