@charset "UTF-8";
/* color */
html {
  scroll-behavior: smooth;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-family: "yu-gothic-pr6n", sans-serif;
  color: #686258;
  box-sizing: border-box;
  line-height: 2;
  font-weight: 500;
  font-size: 16px;
  margin-top: 105px;
}
@media screen and (max-width: 1280px) {
  body {
    font-size: 16px;
    margin-top: 75px;
  }
}
@media screen and (max-width: 884px) {
  body {
    font-size: 14px;
  }
}
@media screen and (max-width: 480px) {
  body {
    margin-top: 60px;
  }
}

img {
  width: 100%;
}

/* mixin */
.button_01 a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 280px;
  padding: 6px 25px;
  color: #807667;
  transition: 0.3s ease-in-out;
  background: #fff;
  border-radius: 50px;
  border: 0.2rem solid #807667;
  box-shadow: 0.2rem 0.2rem 0px 0.1rem #dadada;
  margin: 40px auto;
  font-size: 18px;
}
@media screen and (max-width: 884px) {
  .button_01 a {
    font-size: 16px;
  }
}
@media screen and (max-width: 480px) {
  .button_01 a {
    width: 65%;
    font-size: 14px;
    border: 0.15rem solid #807667;
    box-shadow: 0.1rem 0.1rem 0px 0.1rem #dadada;
  }
}

.button_01 a:hover {
  transform: translate3d(0.2rem, 0.2rem, 0);
  box-shadow: none;
  opacity: 1;
  transition: all 0.2s;
}

.button_01 a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.button_02 a {
  border: 0.2rem solid #fff;
  background-color: #D0C7B8;
  color: #fff;
  padding: 6px 25px;
}

.button_02 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.button_03 a {
  border: 0.2rem solid #686258;
  background-color: #686258;
  color: #fff;
  padding: 6px 25px;
}

.button_03 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.title {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-size: 56px;
  text-align: left;
}
@media screen and (max-width: 480px) {
  .title {
    font-size: 40px;
    letter-spacing: -2px;
  }
}
.title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  padding-left: 15px;
}
@media screen and (max-width: 480px) {
  .title span {
    font-size: 12px;
    letter-spacing: 0;
  }
}

.contents-title {
  background-color: #E7E3DB;
  color: #686258;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  text-align: center;
  line-height: 0.7;
  padding: 50px 0 20px;
  font-size: 56px;
}
@media screen and (max-width: 1280px) {
  .contents-title {
    padding: 3rem 0 2rem;
  }
}
@media screen and (max-width: 884px) {
  .contents-title {
    padding: 2rem 0 2rem;
  }
}
@media screen and (max-width: 480px) {
  .contents-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.contents-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .contents-title span {
    font-size: 16px;
  }
}

.sub-title {
  color: #fff;
  text-align: left;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  line-height: 0.5;
  padding: 3rem 0 2rem;
  font-size: 56px;
}
@media screen and (max-width: 480px) {
  .sub-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.sub-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .sub-title span {
    font-size: 16px;
  }
}

.law-title {
  font-size: 40px;
  padding: 60px 0;
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 884px) {
  .law-title {
    padding: 55px 0;
  }
}
@media screen and (max-width: 480px) {
  .law-title {
    font-size: 24px;
    padding: 35px 0;
  }
}

.item_name, .tax {
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .item_name, .tax {
    font-size: 16px;
  }
}

.price {
  font-size: 22px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 480px) {
  .price {
    font-size: 18px;
  }
}

.date {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #D0C7B8;
}

.info-title {
  position: relative;
  margin-bottom: 30px;
  display: inline-block;
}

.info-title::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: -10%;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.news-pagination .pagination_nav-item {
  width: 50px;
  height: 50px;
  box-shadow: none;
  border-radius: 50px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  font-size: 13px;
  line-height: 1;
  border: 1px solid #D0C7B8;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav-item {
    width: 40px;
    height: 40px;
  }
}

.news-pagination .pagination_nav {
  display: flex;
  column-gap: 20px;
  justify-content: center;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav {
    column-gap: 10px;
  }
}

.news-pagination .pagination_nav-item[rel=next], .news-pagination .pagination__nav-item[rel=prev] {
  background-color: #686258;
  color: #fff;
  border: none;
}

.news-pagination .pagination_nav-item[aria-current] {
  background-color: #e9e9df;
  font-weight: 600;
  border: none;
}

.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 900px;
  margin: 3rem auto;
}
@media screen and (max-width: 480px) {
  .accordion-area {
    width: 100%;
    margin: 1rem auto 2rem;
  }
}

.accordion-area li {
  margin: 30px 0;
}

.accordion-area section {
  border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.a-title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  padding: 3% 3% 3% 50px;
  transition: all 0.5s ease;
}

/*アイコンの＋と×*/
.a-title::before,
.a-title::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background-color: #333;
}

.a-title::before {
  top: 45%;
  right: 15px;
  transform: rotate(0deg);
}

.a-title::after {
  top: 45%;
  right: 15px;
  transform: rotate(90deg);
}

/*closeというクラスがついたら形状変化*/
.a-title.close::before {
  transform: rotate(45deg);
}

.a-title.close::after {
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.a-box {
  display: none; /*はじめは非表示*/
  padding: 3%;
}
.a-box a {
  border-bottom: 1px solid #D0C7B8;
}

.sp {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp {
    display: block;
  }
}

/* color */
html {
  scroll-behavior: smooth;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-family: "yu-gothic-pr6n", sans-serif;
  color: #686258;
  box-sizing: border-box;
  line-height: 2;
  font-weight: 500;
  font-size: 16px;
  margin-top: 105px;
}
@media screen and (max-width: 1280px) {
  body {
    font-size: 16px;
    margin-top: 75px;
  }
}
@media screen and (max-width: 884px) {
  body {
    font-size: 14px;
  }
}
@media screen and (max-width: 480px) {
  body {
    margin-top: 60px;
  }
}

img {
  width: 100%;
}

/* mixin */
.button_01 a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 280px;
  padding: 6px 25px;
  color: #807667;
  transition: 0.3s ease-in-out;
  background: #fff;
  border-radius: 50px;
  border: 0.2rem solid #807667;
  box-shadow: 0.2rem 0.2rem 0px 0.1rem #dadada;
  margin: 40px auto;
  font-size: 18px;
}
@media screen and (max-width: 884px) {
  .button_01 a {
    font-size: 16px;
  }
}
@media screen and (max-width: 480px) {
  .button_01 a {
    width: 65%;
    font-size: 14px;
    border: 0.15rem solid #807667;
    box-shadow: 0.1rem 0.1rem 0px 0.1rem #dadada;
  }
}

.button_01 a:hover {
  transform: translate3d(0.2rem, 0.2rem, 0);
  box-shadow: none;
  opacity: 1;
  transition: all 0.2s;
}

.button_01 a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.button_02 a {
  border: 0.2rem solid #fff;
  background-color: #D0C7B8;
  color: #fff;
  padding: 6px 25px;
}

.button_02 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.button_03 a {
  border: 0.2rem solid #686258;
  background-color: #686258;
  color: #fff;
  padding: 6px 25px;
}

.button_03 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.title {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-size: 56px;
  text-align: left;
}
@media screen and (max-width: 480px) {
  .title {
    font-size: 40px;
    letter-spacing: -2px;
  }
}
.title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  padding-left: 15px;
}
@media screen and (max-width: 480px) {
  .title span {
    font-size: 12px;
    letter-spacing: 0;
  }
}

.contents-title {
  background-color: #E7E3DB;
  color: #686258;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  text-align: center;
  line-height: 0.7;
  padding: 50px 0 20px;
  font-size: 56px;
}
@media screen and (max-width: 1280px) {
  .contents-title {
    padding: 3rem 0 2rem;
  }
}
@media screen and (max-width: 884px) {
  .contents-title {
    padding: 2rem 0 2rem;
  }
}
@media screen and (max-width: 480px) {
  .contents-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.contents-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .contents-title span {
    font-size: 16px;
  }
}

.sub-title {
  color: #fff;
  text-align: left;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  line-height: 0.5;
  padding: 3rem 0 2rem;
  font-size: 56px;
}
@media screen and (max-width: 480px) {
  .sub-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.sub-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .sub-title span {
    font-size: 16px;
  }
}

.law-title {
  font-size: 40px;
  padding: 60px 0;
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 884px) {
  .law-title {
    padding: 55px 0;
  }
}
@media screen and (max-width: 480px) {
  .law-title {
    font-size: 24px;
    padding: 35px 0;
  }
}

.item_name, .tax {
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .item_name, .tax {
    font-size: 16px;
  }
}

.price {
  font-size: 22px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 480px) {
  .price {
    font-size: 18px;
  }
}

.date {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #D0C7B8;
}

.info-title {
  position: relative;
  margin-bottom: 30px;
  display: inline-block;
}

.info-title::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: -10%;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.news-pagination .pagination_nav-item {
  width: 50px;
  height: 50px;
  box-shadow: none;
  border-radius: 50px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  font-size: 13px;
  line-height: 1;
  border: 1px solid #D0C7B8;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav-item {
    width: 40px;
    height: 40px;
  }
}

.news-pagination .pagination_nav {
  display: flex;
  column-gap: 20px;
  justify-content: center;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav {
    column-gap: 10px;
  }
}

.news-pagination .pagination_nav-item[rel=next], .news-pagination .pagination__nav-item[rel=prev] {
  background-color: #686258;
  color: #fff;
  border: none;
}

.news-pagination .pagination_nav-item[aria-current] {
  background-color: #e9e9df;
  font-weight: 600;
  border: none;
}

.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 900px;
  margin: 3rem auto;
}
@media screen and (max-width: 480px) {
  .accordion-area {
    width: 100%;
    margin: 1rem auto 2rem;
  }
}

.accordion-area li {
  margin: 30px 0;
}

.accordion-area section {
  border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.a-title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  padding: 3% 3% 3% 50px;
  transition: all 0.5s ease;
}

/*アイコンの＋と×*/
.a-title::before,
.a-title::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background-color: #333;
}

.a-title::before {
  top: 45%;
  right: 15px;
  transform: rotate(0deg);
}

.a-title::after {
  top: 45%;
  right: 15px;
  transform: rotate(90deg);
}

/*closeというクラスがついたら形状変化*/
.a-title.close::before {
  transform: rotate(45deg);
}

.a-title.close::after {
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.a-box {
  display: none; /*はじめは非表示*/
  padding: 3%;
}
.a-box a {
  border-bottom: 1px solid #D0C7B8;
}

.sp {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp {
    display: block;
  }
}

#header {
  position: fixed;
  z-index: 100;
  margin: auto;
  top: 0;
  width: 100%;
}

.pc_header {
  height: 105px;
  /*==矢印の設定*/
  /*2階層目を持つliの矢印の設定*/
  /*3階層目を持つliの矢印の設定*/
  /*== 2・3階層目の共通設定 */
  /*下の階層を持っているulの指定*/
  /*hoverしたら表示*/
  /*ナビゲーションaタグの形状*/
  /*==3階層目*/
  /*3階層目の位置*/
}
@media screen and (max-width: 1280px) {
  .pc_header {
    display: none;
  }
}
.pc_header .top {
  background-color: #CCD9BF;
}
.pc_header .header_var01 {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 1280px) {
  .pc_header .header_var01 {
    margin: auto 5%;
  }
}
.pc_header h1 {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-weight: 200;
  color: #fff;
  display: flex;
  align-items: center;
  font-size: 35px;
  line-height: normal;
}
.pc_header h1 img {
  display: block;
  padding-right: 5px;
}
.pc_header .icon-top {
  display: flex;
  align-items: center;
  color: #D0C7B8;
  font-size: 10px;
}
.pc_header .icon-top div {
  margin: 0 10px;
}
.pc_header .login-top {
  display: flex;
  justify-content: center;
  background-color: #fff;
  border-radius: 20px;
  padding: 5px;
  align-items: center;
  width: 135px;
}
.pc_header .login-top img {
  width: 17px;
}
.pc_header .header_var02 {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  font-size: 14px;
  justify-content: space-between;
  align-items: center;
  line-height: 1.2;
  padding: 10px 0;
}
@media screen and (max-width: 1280px) {
  .pc_header .header_var02 {
    margin: auto 5%;
  }
}
.pc_header .header_var02 li {
  color: #807667;
}
.pc_header .header_var02 ul {
  max-width: 1500px;
  margin: 0 auto;
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  list-style: none;
  display: flex;
  justify-content: space-around;
}
@media screen and (max-width: 320px) {
  .pc_header .header_var02 ul {
    margin: 0 1%;
  }
}
.pc_header .header_var02 ul ul {
  display: block;
}
.pc_header .header_var02 ul li {
  position: relative;
}
.pc_header .header_var02 ul li a {
  display: block;
  text-decoration: none;
  padding: 17px 30px;
  transition: all 0.3s;
}
@media screen and (max-width: 1280px) {
  .pc_header .header_var02 ul li a {
    padding: 17px 0;
  }
}
.pc_header .header_var02 .sns-top {
  display: flex;
}
.pc_header .header_var02 .sns-top div {
  padding: 0 10px;
}
.pc_header .header_var02 a:hover {
  color: #CCD9BF;
}
.pc_header nav {
  box-shadow: 0 0 10px #ddd;
  background-color: #fff;
}
.pc_header nav ul li.has-child::before {
  content: "";
  position: absolute;
  right: 15px;
  top: 23px;
  width: 6px;
  height: 6px;
  transform: rotate(135deg);
}
.pc_header nav ul ul li.has-child::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 17px;
  width: 6px;
  height: 6px;
  transform: rotate(45deg);
}
.pc_header nav li.has-child ul {
  /*絶対配置で位置を指定*/
  position: absolute;
  left: -25px;
  top: 50px;
  z-index: 4;
  /*形状を指定*/
  width: 250px;
  /*はじめは非表示*/
  visibility: hidden;
  opacity: 0;
  /*アニメーション設定*/
  transition: all 0.3s;
}
.pc_header nav li.has-child:hover > ul,
.pc_header nav li.has-child ul li:hover > ul,
.pc_header nav li.has-child:active > ul,
.pc_header nav li.has-child ul li:active > ul {
  visibility: visible;
  opacity: 1;
}
.pc_header nav li.has-child ul li a {
  color: #fff;
  border-bottom: solid 1px rgba(255, 255, 255, 0.6);
}
.pc_header nav li.has-child ul li:last-child a {
  border-bottom: none;
}
.pc_header nav li.has-child ul ul {
  top: 0;
  left: 182px;
}

@media screen and (max-width: 1280px) {
  .pc_header nav ul li.has-child::before {
    right: -20px;
  }
}

.phone_header {
  display: none;
  padding: 15px 4%;
}
@media screen and (max-width: 1280px) {
  .phone_header {
    display: block;
    background-color: #CCD9BF;
  }
}
@media screen and (max-width: 480px) {
  .phone_header {
    padding: 8px 4%;
  }
}
.phone_header h1 {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-weight: 200;
  color: #fff;
  display: flex;
  align-items: center;
  font-size: 2rem;
  line-height: normal;
}
.phone_header h1 div {
  width: 33px;
  margin-right: 10px;
  display: flex;
}
@media screen and (max-width: 480px) {
  .phone_header h1 div {
    width: 27px;
  }
}
.phone_header h1 div img {
  width: 110%;
}

/*アクティブクラスがついたら位置を0に*/
#phone_menu.panelactive {
  top: 0;
}

/*ナビゲーションの縦スクロール*/
#phone_menu.panelactive {
  /*ナビの数が増えた場合縦スクロール*/
  display: block;
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh; /*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#phone_menu {
  position: fixed;
  z-index: 900;
  top: -120%;
  left: 0;
  width: 100%;
  height: 100vh;
  padding: 0;
  background-color: #CCD9BF;
  font-size: 16px;
}
#phone_menu .phone_menu_list {
  position: absolute;
  z-index: 999;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
  padding: 10%;
  width: 70%;
  border-radius: 10px;
}
@media screen and (max-width: 1280px) {
  #phone_menu .phone_menu_list {
    padding: 2% 10%;
  }
}
@media screen and (max-width: 884px) {
  #phone_menu .phone_menu_list {
    width: 80%;
    padding: 8% 8%;
  }
}
@media screen and (max-width: 480px) {
  #phone_menu .phone_menu_list {
    width: 85%;
    padding: 6% 8%;
    top: 50%;
  }
}
#phone_menu .phone_menu_list .login-top {
  display: flex;
  justify-content: center;
  background-color: #D0C7B8;
  color: #fff;
  border-radius: 10px;
  padding: 5px 10px;
  align-items: center;
  width: 250px;
  margin: 10px auto;
  gap: 5px;
}
#phone_menu .phone_menu_list .login-top a {
  padding: 0;
}
#phone_menu .phone_menu_list .login-top a:hover {
  color: #686258;
}
#phone_menu .phone_menu_list .login-top img {
  display: block;
}
@media screen and (max-width: 480px) {
  #phone_menu .phone_menu_list .login-top {
    width: 180px;
  }
}
#phone_menu li {
  list-style: none;
  text-align: left;
  border-bottom: 0.5px solid rgba(208, 199, 184, 0.431372549);
}
#phone_menu li a {
  text-decoration: none;
  padding: 8px 0;
  display: block;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: bold;
}
@media screen and (max-width: 884px) {
  #phone_menu li a {
    padding: 15px 0;
  }
}
@media screen and (max-width: 480px) {
  #phone_menu li a {
    padding: 5px 0;
  }
}
#phone_menu li a:hover {
  color: #686258;
}
#phone_menu li a:hover {
  color: #D0C7B8;
}
@media screen and (max-width: 480px) {
  #phone_menu {
    font-size: 12px;
    font-weight: lighter;
  }
}
#phone_menu .follow {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  text-align: center;
  margin: 50px 0 10px;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
}
@media screen and (max-width: 884px) {
  #phone_menu .follow {
    margin-bottom: 5px;
    font-size: 16px;
  }
}
@media screen and (max-width: 480px) {
  #phone_menu .follow {
    margin-top: 20px;
  }
}
#phone_menu .follow::before {
  content: "";
  width: 3px;
  height: 18px;
  background-color: #807667;
  margin-right: 20px;
  transform: rotate(-35deg);
}
@media screen and (max-width: 480px) {
  #phone_menu .follow::before {
    width: 2px;
    margin-right: 12px;
    height: 15px;
  }
}
#phone_menu .follow::after {
  content: "";
  width: 3px;
  height: 18px;
  background-color: #807667;
  margin-left: 20px;
  transform: rotate(35deg);
}
@media screen and (max-width: 480px) {
  #phone_menu .follow::after {
    width: 2px;
    margin-left: 12px;
    height: 15px;
  }
}
#phone_menu .sp-sns {
  display: flex;
  justify-content: center;
  gap: 20px;
}
#phone_menu .sp-sns li {
  border-bottom: none;
}
@media screen and (max-width: 884px) {
  #phone_menu .sp-sns li a {
    padding: 0;
  }
}

/*========= ボタンのためのCSS ===============*/
.openbtn {
  position: fixed;
  z-index: 9999; /*ボタンを最前面に*/
  top: 10px;
  right: 10px;
  cursor: pointer;
  width: 50px;
  height: 50px;
  /*×に変化*/
}
@media screen and (max-width: 480px) {
  .openbtn {
    width: 40px;
    height: 40px;
    top: 10px;
    right: 10px;
  }
}
.openbtn span {
  display: inline-block;
  background-color: #707070;
  transition: all 0.4s;
  position: absolute;
  left: 10px;
  height: 3px;
  width: 60%;
}
@media screen and (max-width: 480px) {
  .openbtn span {
    left: 8px;
  }
}
.openbtn span:nth-of-type(1) {
  top: 15px;
}
@media screen and (max-width: 480px) {
  .openbtn span:nth-of-type(1) {
    top: 12px;
  }
}
.openbtn span:nth-of-type(2) {
  top: 23px;
}
@media screen and (max-width: 480px) {
  .openbtn span:nth-of-type(2) {
    top: 20px;
  }
}
.openbtn span:nth-of-type(3) {
  top: 31px;
}
@media screen and (max-width: 480px) {
  .openbtn span:nth-of-type(3) {
    top: 28px;
  }
}

.openbtn.active span:nth-of-type(1) {
  top: 16px;
  left: 13px;
  transform: translateY(6px) rotate(-45deg);
  width: 50%;
}
@media screen and (max-width: 884px) {
  .openbtn.active span:nth-of-type(1) {
    top: 13px;
    left: 10px;
  }
}

.openbtn.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn.active span:nth-of-type(3) {
  top: 28px;
  left: 13px;
  transform: translateY(-6px) rotate(45deg);
  width: 50%;
}
@media screen and (max-width: 480px) {
  .openbtn.active span:nth-of-type(3) {
    top: 25px;
    left: 10px;
  }
}

:before,
:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

.openbtn {
  line-height: 1.5;
  display: inline-block;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
  font-size: 2rem;
  padding: 1.5rem;
  border-radius: 100% 80px/60px 100%;
  background-color: #fff;
}
.openbtn span {
  background-color: #CCD9BF;
}
@media screen and (max-width: 480px) {
  .openbtn {
    padding: 1rem;
  }
}

.openbtn:hover {
  color: #fff;
  border-radius: 60% 80%/100% 80%;
}

.sns_list {
  display: flex;
  flex-direction: column;
}

.sns_ul {
  display: flex;
}

/***追従するトップへ戻るボタン***/
#page-top {
  position: fixed;
  width: 50px;
  height: 50px;
  right: 10px;
  bottom: 10px;
  font-size: 1.2rem;
  line-height: 1.2rem;
  padding: 10px;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 2px 2px 2px #e4e4e4;
}

#page-top::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #D0C7B8;
  border-right: 2px solid #D0C7B8;
  transform: rotate(314deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 15px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

/***トップへ戻るボタンこ こまで***/
/* color */
html {
  scroll-behavior: smooth;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-family: "yu-gothic-pr6n", sans-serif;
  color: #686258;
  box-sizing: border-box;
  line-height: 2;
  font-weight: 500;
  font-size: 16px;
  margin-top: 105px;
}
@media screen and (max-width: 1280px) {
  body {
    font-size: 16px;
    margin-top: 75px;
  }
}
@media screen and (max-width: 884px) {
  body {
    font-size: 14px;
  }
}
@media screen and (max-width: 480px) {
  body {
    margin-top: 60px;
  }
}

img {
  width: 100%;
}

/* mixin */
.button_01 a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 280px;
  padding: 6px 25px;
  color: #807667;
  transition: 0.3s ease-in-out;
  background: #fff;
  border-radius: 50px;
  border: 0.2rem solid #807667;
  box-shadow: 0.2rem 0.2rem 0px 0.1rem #dadada;
  margin: 40px auto;
  font-size: 18px;
}
@media screen and (max-width: 884px) {
  .button_01 a {
    font-size: 16px;
  }
}
@media screen and (max-width: 480px) {
  .button_01 a {
    width: 65%;
    font-size: 14px;
    border: 0.15rem solid #807667;
    box-shadow: 0.1rem 0.1rem 0px 0.1rem #dadada;
  }
}

.button_01 a:hover {
  transform: translate3d(0.2rem, 0.2rem, 0);
  box-shadow: none;
  opacity: 1;
  transition: all 0.2s;
}

.button_01 a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.button_02 a {
  border: 0.2rem solid #fff;
  background-color: #D0C7B8;
  color: #fff;
  padding: 6px 25px;
}

.button_02 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.button_03 a {
  border: 0.2rem solid #686258;
  background-color: #686258;
  color: #fff;
  padding: 6px 25px;
}

.button_03 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.title {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-size: 56px;
  text-align: left;
}
@media screen and (max-width: 480px) {
  .title {
    font-size: 40px;
    letter-spacing: -2px;
  }
}
.title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  padding-left: 15px;
}
@media screen and (max-width: 480px) {
  .title span {
    font-size: 12px;
    letter-spacing: 0;
  }
}

.contents-title {
  background-color: #E7E3DB;
  color: #686258;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  text-align: center;
  line-height: 0.7;
  padding: 50px 0 20px;
  font-size: 56px;
}
@media screen and (max-width: 1280px) {
  .contents-title {
    padding: 3rem 0 2rem;
  }
}
@media screen and (max-width: 884px) {
  .contents-title {
    padding: 2rem 0 2rem;
  }
}
@media screen and (max-width: 480px) {
  .contents-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.contents-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .contents-title span {
    font-size: 16px;
  }
}

.sub-title {
  color: #fff;
  text-align: left;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  line-height: 0.5;
  padding: 3rem 0 2rem;
  font-size: 56px;
}
@media screen and (max-width: 480px) {
  .sub-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.sub-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .sub-title span {
    font-size: 16px;
  }
}

.law-title {
  font-size: 40px;
  padding: 60px 0;
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 884px) {
  .law-title {
    padding: 55px 0;
  }
}
@media screen and (max-width: 480px) {
  .law-title {
    font-size: 24px;
    padding: 35px 0;
  }
}

.item_name, .tax {
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .item_name, .tax {
    font-size: 16px;
  }
}

.price {
  font-size: 22px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 480px) {
  .price {
    font-size: 18px;
  }
}

.date {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #D0C7B8;
}

.info-title {
  position: relative;
  margin-bottom: 30px;
  display: inline-block;
}

.info-title::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: -10%;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.news-pagination .pagination_nav-item {
  width: 50px;
  height: 50px;
  box-shadow: none;
  border-radius: 50px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  font-size: 13px;
  line-height: 1;
  border: 1px solid #D0C7B8;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav-item {
    width: 40px;
    height: 40px;
  }
}

.news-pagination .pagination_nav {
  display: flex;
  column-gap: 20px;
  justify-content: center;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav {
    column-gap: 10px;
  }
}

.news-pagination .pagination_nav-item[rel=next], .news-pagination .pagination__nav-item[rel=prev] {
  background-color: #686258;
  color: #fff;
  border: none;
}

.news-pagination .pagination_nav-item[aria-current] {
  background-color: #e9e9df;
  font-weight: 600;
  border: none;
}

.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 900px;
  margin: 3rem auto;
}
@media screen and (max-width: 480px) {
  .accordion-area {
    width: 100%;
    margin: 1rem auto 2rem;
  }
}

.accordion-area li {
  margin: 30px 0;
}

.accordion-area section {
  border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.a-title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  padding: 3% 3% 3% 50px;
  transition: all 0.5s ease;
}

/*アイコンの＋と×*/
.a-title::before,
.a-title::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background-color: #333;
}

.a-title::before {
  top: 45%;
  right: 15px;
  transform: rotate(0deg);
}

.a-title::after {
  top: 45%;
  right: 15px;
  transform: rotate(90deg);
}

/*closeというクラスがついたら形状変化*/
.a-title.close::before {
  transform: rotate(45deg);
}

.a-title.close::after {
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.a-box {
  display: none; /*はじめは非表示*/
  padding: 3%;
}
.a-box a {
  border-bottom: 1px solid #D0C7B8;
}

.sp {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp {
    display: block;
  }
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  display: block;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  display: table;
  content: "";
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px;
}

[dir=rtl] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*==================================================
スライダーのためのcss
===================================*/
.slider { /*横幅94%で左右に余白を持たせて中央寄せ*/
  width: 100%;
  margin: 0 auto;
}

.slider img {
  width: 60.6vw; /*スライダー内の画像を60vwにしてレスポンシブ化*/
  height: auto;
  border-radius: 30px;
}
@media screen and (max-width: 1280px) {
  .slider img {
    width: 89vw;
  }
}
@media screen and (max-width: 884px) {
  .slider img {
    width: 87vw;
  }
}
@media screen and (max-width: 480px) {
  .slider img {
    width: 100vw;
    border-radius: 0;
  }
}

.slider .slick-slide {
  transform: scale(0.8); /*左右の画像のサイズを80%に*/
  transition: all 0.5s; /*拡大や透過のアニメーションを0.5秒で行う*/
  opacity: 0.5; /*透過50%*/
}

.slider .slick-slide.slick-center {
  transform: scale(1); /*中央の画像のサイズだけ等倍に*/
  opacity: 1; /*透過なし*/
}

/*矢印の設定*/
/*戻る、次へ矢印の位置*/
.slick-prev,
.slick-next {
  position: absolute; /*絶対配置にする*/
  top: 42%;
  cursor: pointer; /*マウスカーソルを指マークに*/
  outline: none; /*クリックをしたら出てくる枠線を消す*/
  z-index: 10;
  height: 35px;
  width: 35px;
}
@media screen and (max-width: 480px) {
  .slick-prev,
  .slick-next {
    height: 30px;
    width: 30px;
  }
}

.slick-prev {
  content: url(../img/pre.png);
  left: 15%;
}

.slick-next {
  content: url(../img/next.png);
  right: 15%;
}

@media screen and (max-width: 1280px) {
  .slider .slick-prev {
    left: 1%;
  }
}
@media screen and (max-width: 884px) {
  .slider .slick-prev {
    left: 0.3%;
  }
}
@media screen and (max-width: 480px) {
  .slider .slick-prev {
    display: none !important;
  }
}
@media screen and (max-width: 1280px) {
  .slider .slick-next {
    right: 1%;
  }
}
@media screen and (max-width: 884px) {
  .slider .slick-next {
    right: 0.3%;
  }
}
@media screen and (max-width: 480px) {
  .slider .slick-next {
    display: none !important;
  }
}

/*ドットナビゲーションの設定*/
.slick-dots {
  text-align: center;
  margin: 20px 0 0 0;
}
@media screen and (max-width: 1280px) {
  .slick-dots {
    margin: 20px 0;
  }
}

.slick-dots li {
  display: inline-block;
  margin: 0 5px;
}

.slick-dots button {
  color: transparent;
  outline: none;
  width: 8px; /*ドットボタンのサイズ*/
  height: 8px; /*ドットボタンのサイズ*/
  display: block;
  border-radius: 50%;
  background: #e7e7e7; /*ドットボタンの色*/
}

.slick-dots .slick-active button {
  background: #D0C7B8; /*ドットボタンの現在地表示の色*/
}

.rankingslider { /*横幅94%で左右に余白を持たせて中央寄せ*/
  width: 94%;
  margin: 0 auto;
}
@media screen and (max-width: 884px) {
  .rankingslider {
    width: 100%;
  }
}
.rankingslider .item_name, .rankingslider .tax {
  text-align: left;
}
.rankingslider .price {
  text-align: left;
}

.rankingslider img {
  width: 100%; /*スライダー内の画像を横幅100%に*/
  height: auto;
}

/*slickのJSで書かれるタグ内、スライド左右の余白調整*/
.rankingslider .slick-slide {
  margin: 0 10px;
}
@media screen and (max-width: 480px) {
  .rankingslider .slick-slide {
    margin: 0 10px;
  }
}

.newitem_slider {
  width: 82vw;
  margin-left: auto;
}
@media screen and (max-width: 884px) {
  .newitem_slider {
    width: 91vw;
    margin: 0 auto;
  }
}
@media screen and (max-width: 480px) {
  .newitem_slider {
    width: 100vw;
  }
}
.newitem_slider .list {
  width: 100%;
  background-color: #fff;
  padding: 30px;
}
.newitem_slider .bg {
  padding: 10px;
}
@media screen and (max-width: 480px) {
  .newitem_slider .bg {
    padding: 0px 45px;
  }
}
.newitem_slider .txt {
  padding-top: 50px;
  width: 24vw;
  line-height: 2;
  padding: 1vw;
  font-family: "Tinos", serif;
}
@media screen and (max-width: 884px) {
  .newitem_slider .txt {
    width: 70vw;
  }
}
.newitem_slider .slick-prev {
  display: none !important;
}
.newitem_slider .slick-next {
  display: none !important;
}
.newitem_slider .slick-arrow {
  display: none !important;
}
.newitem_slider .list {
  border-radius: 10px;
}
@media screen and (max-width: 480px) {
  .newitem_slider .list {
    width: 70vw;
    margin: 0 auto;
  }
}
.newitem_slider .list .item-pic {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.newitem_slider img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 480px) {
  .newitem_slider img {
    width: 80%;
  }
}
.newitem_slider .list::before {
  content: url(../img/new.png);
}

/* color */
html {
  scroll-behavior: smooth;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-family: "yu-gothic-pr6n", sans-serif;
  color: #686258;
  box-sizing: border-box;
  line-height: 2;
  font-weight: 500;
  font-size: 16px;
  margin-top: 105px;
}
@media screen and (max-width: 1280px) {
  body {
    font-size: 16px;
    margin-top: 75px;
  }
}
@media screen and (max-width: 884px) {
  body {
    font-size: 14px;
  }
}
@media screen and (max-width: 480px) {
  body {
    margin-top: 60px;
  }
}

img {
  width: 100%;
}

/* mixin */
.button_01 a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 280px;
  padding: 6px 25px;
  color: #807667;
  transition: 0.3s ease-in-out;
  background: #fff;
  border-radius: 50px;
  border: 0.2rem solid #807667;
  box-shadow: 0.2rem 0.2rem 0px 0.1rem #dadada;
  margin: 40px auto;
  font-size: 18px;
}
@media screen and (max-width: 884px) {
  .button_01 a {
    font-size: 16px;
  }
}
@media screen and (max-width: 480px) {
  .button_01 a {
    width: 65%;
    font-size: 14px;
    border: 0.15rem solid #807667;
    box-shadow: 0.1rem 0.1rem 0px 0.1rem #dadada;
  }
}

.button_01 a:hover {
  transform: translate3d(0.2rem, 0.2rem, 0);
  box-shadow: none;
  opacity: 1;
  transition: all 0.2s;
}

.button_01 a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.button_02 a {
  border: 0.2rem solid #fff;
  background-color: #D0C7B8;
  color: #fff;
  padding: 6px 25px;
}

.button_02 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.button_03 a {
  border: 0.2rem solid #686258;
  background-color: #686258;
  color: #fff;
  padding: 6px 25px;
}

.button_03 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.title {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-size: 56px;
  text-align: left;
}
@media screen and (max-width: 480px) {
  .title {
    font-size: 40px;
    letter-spacing: -2px;
  }
}
.title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  padding-left: 15px;
}
@media screen and (max-width: 480px) {
  .title span {
    font-size: 12px;
    letter-spacing: 0;
  }
}

.contents-title {
  background-color: #E7E3DB;
  color: #686258;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  text-align: center;
  line-height: 0.7;
  padding: 50px 0 20px;
  font-size: 56px;
}
@media screen and (max-width: 1280px) {
  .contents-title {
    padding: 3rem 0 2rem;
  }
}
@media screen and (max-width: 884px) {
  .contents-title {
    padding: 2rem 0 2rem;
  }
}
@media screen and (max-width: 480px) {
  .contents-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.contents-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .contents-title span {
    font-size: 16px;
  }
}

.sub-title {
  color: #fff;
  text-align: left;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  line-height: 0.5;
  padding: 3rem 0 2rem;
  font-size: 56px;
}
@media screen and (max-width: 480px) {
  .sub-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.sub-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .sub-title span {
    font-size: 16px;
  }
}

.law-title {
  font-size: 40px;
  padding: 60px 0;
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 884px) {
  .law-title {
    padding: 55px 0;
  }
}
@media screen and (max-width: 480px) {
  .law-title {
    font-size: 24px;
    padding: 35px 0;
  }
}

.item_name, .tax {
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .item_name, .tax {
    font-size: 16px;
  }
}

.price {
  font-size: 22px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 480px) {
  .price {
    font-size: 18px;
  }
}

.date {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #D0C7B8;
}

.info-title {
  position: relative;
  margin-bottom: 30px;
  display: inline-block;
}

.info-title::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: -10%;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.news-pagination .pagination_nav-item {
  width: 50px;
  height: 50px;
  box-shadow: none;
  border-radius: 50px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  font-size: 13px;
  line-height: 1;
  border: 1px solid #D0C7B8;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav-item {
    width: 40px;
    height: 40px;
  }
}

.news-pagination .pagination_nav {
  display: flex;
  column-gap: 20px;
  justify-content: center;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav {
    column-gap: 10px;
  }
}

.news-pagination .pagination_nav-item[rel=next], .news-pagination .pagination__nav-item[rel=prev] {
  background-color: #686258;
  color: #fff;
  border: none;
}

.news-pagination .pagination_nav-item[aria-current] {
  background-color: #e9e9df;
  font-weight: 600;
  border: none;
}

.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 900px;
  margin: 3rem auto;
}
@media screen and (max-width: 480px) {
  .accordion-area {
    width: 100%;
    margin: 1rem auto 2rem;
  }
}

.accordion-area li {
  margin: 30px 0;
}

.accordion-area section {
  border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.a-title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  padding: 3% 3% 3% 50px;
  transition: all 0.5s ease;
}

/*アイコンの＋と×*/
.a-title::before,
.a-title::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background-color: #333;
}

.a-title::before {
  top: 45%;
  right: 15px;
  transform: rotate(0deg);
}

.a-title::after {
  top: 45%;
  right: 15px;
  transform: rotate(90deg);
}

/*closeというクラスがついたら形状変化*/
.a-title.close::before {
  transform: rotate(45deg);
}

.a-title.close::after {
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.a-box {
  display: none; /*はじめは非表示*/
  padding: 3%;
}
.a-box a {
  border-bottom: 1px solid #D0C7B8;
}

.sp {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp {
    display: block;
  }
}

#top {
  padding-top: 2rem;
}
@media screen and (max-width: 480px) {
  #top {
    padding-top: 0;
  }
}

@media screen and (max-width: 480px) {
  .top-pc {
    display: none;
  }
}

.top-sp {
  display: none;
}
@media screen and (max-width: 480px) {
  .top-sp {
    display: block;
  }
}

#topics {
  max-width: 1200px;
  margin: 0 auto;
  margin: 50px auto;
}
@media screen and (max-width: 1280px) {
  #topics {
    margin: auto 5%;
  }
}
#topics ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 100px 10px;
}
@media screen and (max-width: 1280px) {
  #topics ul {
    margin-bottom: 65px;
  }
}
@media screen and (max-width: 884px) {
  #topics ul {
    justify-content: space-around;
    gap: 30px 55px;
  }
}
@media screen and (max-width: 480px) {
  #topics ul {
    gap: 20px 0;
    justify-content: space-between;
    margin-bottom: 0;
  }
}
#topics ul li {
  width: 260px;
}
@media screen and (max-width: 1280px) {
  #topics ul li {
    width: 250px;
  }
}
@media screen and (max-width: 884px) {
  #topics ul li {
    width: 280px;
  }
}
@media screen and (max-width: 480px) {
  #topics ul li {
    width: 45%;
  }
}
#topics ul li img {
  box-shadow: 5px 5px 5px #dbdbdb;
}
#topics ul li p {
  font-size: 14px;
  text-align: left;
  padding: 10px 0 5px;
  line-height: 1;
}
@media screen and (max-width: 480px) {
  #topics ul li p {
    padding: 10px 0;
  }
}

#about {
  margin: 150px auto;
  background-image: url(../img/about-bg.png);
  background-size: cover;
  padding: 40px 0;
}
@media screen and (max-width: 884px) {
  #about {
    margin: 130px auto;
  }
}
@media screen and (max-width: 480px) {
  #about {
    background-image: url(../img/about-sp.png);
    background-size: contain;
    margin: 100px auto;
  }
}
#about .about_box {
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  #about .about_box {
    margin: auto 5%;
  }
}
#about h2 {
  color: #fff;
  font-size: 30px;
  text-align: left;
}
@media screen and (max-width: 480px) {
  #about h2 {
    font-size: 20px;
  }
}
#about .l-brown {
  color: #807667;
}
#about .pink {
  color: #DFBEBE;
}
#about .beige {
  color: #D0C7B8;
}
#about .green {
  color: #CCD9BF;
}
#about .blue {
  color: #BFD0D9;
}
#about .ls {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-size: 60px;
  font-weight: 600;
}
@media screen and (max-width: 480px) {
  #about .ls {
    font-size: 40px;
  }
}
#about .about_detail {
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 3px 3px 3px #cecece;
  width: 76.5%;
  margin: 30px auto 50px;
  padding: 10px 0 20px;
}
@media screen and (max-width: 884px) {
  #about .about_detail {
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  #about .about_detail {
    padding: 10px 8% 20px;
  }
}
#about .about_detail h3 {
  max-width: 600px;
  margin: 0 auto;
  font-size: 24px;
  text-align: center;
  margin: 25px auto;
}
@media screen and (max-width: 480px) {
  #about .about_detail h3 {
    font-size: 20px;
  }
}
#about .about_detail p {
  max-width: 600px;
  margin: 0 auto;
  text-align: left;
}
@media screen and (max-width: 480px) {
  #about .about_detail .button_01 a {
    width: 70%;
    margin: 20px auto;
  }
}

#ranking {
  max-width: 1200px;
  margin: 0 auto;
  margin-bottom: 150px;
}
@media screen and (max-width: 1280px) {
  #ranking {
    margin: auto 5%;
  }
}
@media screen and (max-width: 1280px) {
  #ranking {
    margin-bottom: 150px;
  }
}
@media screen and (max-width: 480px) {
  #ranking {
    margin-bottom: 100px;
  }
}
#ranking .r-1::before {
  content: url(../img/1.png);
  position: absolute;
  left: 8%;
}
@media screen and (max-width: 884px) {
  #ranking .r-1::before {
    left: 0;
  }
}
#ranking .r-2::before {
  content: url(../img/2.png);
  position: absolute;
  left: 8%;
}
@media screen and (max-width: 884px) {
  #ranking .r-2::before {
    left: 0;
  }
}
#ranking .r-3::before {
  content: url(../img/3.png);
  position: absolute;
  left: 8%;
}
@media screen and (max-width: 884px) {
  #ranking .r-3::before {
    left: 0;
  }
}
#ranking .r-4::before {
  content: url(../img/4.png);
  position: absolute;
  left: 8%;
}
@media screen and (max-width: 884px) {
  #ranking .r-4::before {
    left: 0;
  }
}
#ranking .r-5::before {
  content: url(../img/5.png);
  position: absolute;
  left: 8%;
}
@media screen and (max-width: 884px) {
  #ranking .r-5::before {
    left: 0;
  }
}
#ranking .r-6::before {
  content: url(../img/6.png);
  position: absolute;
  left: 8%;
}
@media screen and (max-width: 884px) {
  #ranking .r-6::before {
    left: 0;
  }
}
#ranking .r-7::before {
  content: url(../img/7.png);
  position: absolute;
  left: 8%;
}
@media screen and (max-width: 884px) {
  #ranking .r-7::before {
    left: 0;
  }
}
#ranking .r-8::before {
  content: url(../img/8.png);
  position: absolute;
  left: 8%;
}
@media screen and (max-width: 884px) {
  #ranking .r-8::before {
    left: 0;
  }
}
#ranking li {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
@media screen and (max-width: 884px) {
  #ranking li {
    margin: 0 50px;
  }
}
#ranking li img {
  width: 250px;
}
@media screen and (max-width: 480px) {
  #ranking li img {
    display: block;
    margin: 0 auto;
  }
}
#ranking ul {
  margin: 50px auto;
}
@media screen and (max-width: 480px) {
  #ranking ul {
    margin: 45px auto;
  }
}
#ranking .slick-prev {
  left: -4%;
}
@media screen and (max-width: 480px) {
  #ranking .slick-prev {
    left: -6%;
  }
}
#ranking .slick-next {
  right: -4%;
}
@media screen and (max-width: 480px) {
  #ranking .slick-next {
    right: -6%;
  }
}
#ranking .slick-dots {
  display: none !important;
}

#new {
  background-color: #E7E3DB;
  padding-bottom: 50px;
}
#new h2 {
  color: #fff;
  max-width: 1200px;
  margin: 0 auto;
  padding: 85px 0;
}
@media screen and (max-width: 1280px) {
  #new h2 {
    margin: auto 5%;
  }
}
@media screen and (max-width: 480px) {
  #new h2 {
    padding: 50px 0;
  }
}
#new p {
  text-align: left;
}
#new span {
  color: #686258;
}
#new .button_02 a {
  border: none;
  margin-top: 80px;
}
@media screen and (max-width: 480px) {
  #new .button_02 a {
    padding: 8px 25px;
    margin-top: 50px;
  }
}
#new .button_01, #new .button_02 {
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  #new .button_01, #new .button_02 {
    margin: auto 5%;
  }
}

#instagtram {
  max-width: 1200px;
  margin: 0 auto;
  padding: 200px 0;
}
@media screen and (max-width: 1280px) {
  #instagtram {
    margin: auto 5%;
  }
}
@media screen and (max-width: 884px) {
  #instagtram {
    padding: 150px 0;
  }
}
@media screen and (max-width: 480px) {
  #instagtram {
    padding: 100px 0;
  }
}

#feature {
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  #feature {
    margin: auto 5%;
  }
}
#feature .feature_box {
  padding: 50px 0;
  background-color: #E7E3DB;
  border-radius: 10px;
}
@media screen and (max-width: 480px) {
  #feature .feature_box {
    padding-bottom: 30px;
  }
}
#feature .title {
  color: #fff;
  text-align: center;
  line-height: 0.5;
}
#feature .title span {
  color: #686258;
}
#feature .slider {
  background-color: #fff;
  border-radius: 10px;
  width: 50%;
  margin: 50px auto;
  padding: 40px 0;
}
@media screen and (max-width: 884px) {
  #feature .slider {
    width: 70%;
  }
}
@media screen and (max-width: 480px) {
  #feature .slider {
    width: 85%;
    margin: 33px auto;
  }
}
#feature .slider img {
  width: 300px;
  border-radius: 0;
}
@media screen and (max-width: 480px) {
  #feature .slider img {
    width: 223px;
  }
}
#feature .slider .slick-slide {
  margin: 0 80px;
}
#feature .slick-dots {
  display: none !important;
}
#feature p {
  text-align: left;
}
#feature .button_02 a {
  border: none;
}
#feature .slick-prev,
#feature .slick-next {
  width: 55px;
  height: 55px;
}
@media screen and (max-width: 480px) {
  #feature .slick-prev,
  #feature .slick-next {
    width: 40px;
    height: 40px;
  }
}
#feature .slick-prev {
  content: url(../img/pre01.png);
  left: -4%;
}
@media screen and (max-width: 884px) {
  #feature .slick-prev {
    left: -6%;
  }
}
@media screen and (max-width: 480px) {
  #feature .slick-prev {
    display: block !important;
  }
}
#feature .slick-next {
  content: url(../img/next01.png);
  right: -4%;
}
@media screen and (max-width: 884px) {
  #feature .slick-next {
    right: -6%;
  }
}
@media screen and (max-width: 480px) {
  #feature .slick-next {
    display: block !important;
  }
}

#information {
  max-width: 1200px;
  margin: 0 auto;
  padding: 150px 0;
}
@media screen and (max-width: 1280px) {
  #information {
    margin: auto 5%;
  }
}
@media screen and (max-width: 480px) {
  #information {
    padding-bottom: 50px;
  }
}
#information ul {
  margin-top: 30px;
  padding-bottom: 30px;
}
@media screen and (max-width: 480px) {
  #information ul {
    padding-bottom: 0;
  }
}
#information li {
  border-bottom: 1px solid #D0C7B8;
  margin-bottom: 35px;
}

#banner {
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 190px;
}
@media screen and (max-width: 1280px) {
  #banner {
    margin: auto 5%;
  }
}
@media screen and (max-width: 480px) {
  #banner {
    padding-bottom: 80px;
  }
}
#banner:hover {
  transform: translate3d(0.2rem, 0.2rem, 0);
  box-shadow: none;
  opacity: 1;
  transition: all 0.2s;
}

/* color */
html {
  scroll-behavior: smooth;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-family: "yu-gothic-pr6n", sans-serif;
  color: #686258;
  box-sizing: border-box;
  line-height: 2;
  font-weight: 500;
  font-size: 16px;
  margin-top: 105px;
}
@media screen and (max-width: 1280px) {
  body {
    font-size: 16px;
    margin-top: 75px;
  }
}
@media screen and (max-width: 884px) {
  body {
    font-size: 14px;
  }
}
@media screen and (max-width: 480px) {
  body {
    margin-top: 60px;
  }
}

img {
  width: 100%;
}

/* mixin */
.button_01 a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 280px;
  padding: 6px 25px;
  color: #807667;
  transition: 0.3s ease-in-out;
  background: #fff;
  border-radius: 50px;
  border: 0.2rem solid #807667;
  box-shadow: 0.2rem 0.2rem 0px 0.1rem #dadada;
  margin: 40px auto;
  font-size: 18px;
}
@media screen and (max-width: 884px) {
  .button_01 a {
    font-size: 16px;
  }
}
@media screen and (max-width: 480px) {
  .button_01 a {
    width: 65%;
    font-size: 14px;
    border: 0.15rem solid #807667;
    box-shadow: 0.1rem 0.1rem 0px 0.1rem #dadada;
  }
}

.button_01 a:hover {
  transform: translate3d(0.2rem, 0.2rem, 0);
  box-shadow: none;
  opacity: 1;
  transition: all 0.2s;
}

.button_01 a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.button_02 a {
  border: 0.2rem solid #fff;
  background-color: #D0C7B8;
  color: #fff;
  padding: 6px 25px;
}

.button_02 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.button_03 a {
  border: 0.2rem solid #686258;
  background-color: #686258;
  color: #fff;
  padding: 6px 25px;
}

.button_03 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.title {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-size: 56px;
  text-align: left;
}
@media screen and (max-width: 480px) {
  .title {
    font-size: 40px;
    letter-spacing: -2px;
  }
}
.title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  padding-left: 15px;
}
@media screen and (max-width: 480px) {
  .title span {
    font-size: 12px;
    letter-spacing: 0;
  }
}

.contents-title {
  background-color: #E7E3DB;
  color: #686258;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  text-align: center;
  line-height: 0.7;
  padding: 50px 0 20px;
  font-size: 56px;
}
@media screen and (max-width: 1280px) {
  .contents-title {
    padding: 3rem 0 2rem;
  }
}
@media screen and (max-width: 884px) {
  .contents-title {
    padding: 2rem 0 2rem;
  }
}
@media screen and (max-width: 480px) {
  .contents-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.contents-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .contents-title span {
    font-size: 16px;
  }
}

.sub-title {
  color: #fff;
  text-align: left;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  line-height: 0.5;
  padding: 3rem 0 2rem;
  font-size: 56px;
}
@media screen and (max-width: 480px) {
  .sub-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.sub-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .sub-title span {
    font-size: 16px;
  }
}

.law-title {
  font-size: 40px;
  padding: 60px 0;
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 884px) {
  .law-title {
    padding: 55px 0;
  }
}
@media screen and (max-width: 480px) {
  .law-title {
    font-size: 24px;
    padding: 35px 0;
  }
}

.item_name, .tax {
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .item_name, .tax {
    font-size: 16px;
  }
}

.price {
  font-size: 22px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 480px) {
  .price {
    font-size: 18px;
  }
}

.date {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #D0C7B8;
}

.info-title {
  position: relative;
  margin-bottom: 30px;
  display: inline-block;
}

.info-title::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: -10%;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.news-pagination .pagination_nav-item {
  width: 50px;
  height: 50px;
  box-shadow: none;
  border-radius: 50px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  font-size: 13px;
  line-height: 1;
  border: 1px solid #D0C7B8;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav-item {
    width: 40px;
    height: 40px;
  }
}

.news-pagination .pagination_nav {
  display: flex;
  column-gap: 20px;
  justify-content: center;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav {
    column-gap: 10px;
  }
}

.news-pagination .pagination_nav-item[rel=next], .news-pagination .pagination__nav-item[rel=prev] {
  background-color: #686258;
  color: #fff;
  border: none;
}

.news-pagination .pagination_nav-item[aria-current] {
  background-color: #e9e9df;
  font-weight: 600;
  border: none;
}

.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 900px;
  margin: 3rem auto;
}
@media screen and (max-width: 480px) {
  .accordion-area {
    width: 100%;
    margin: 1rem auto 2rem;
  }
}

.accordion-area li {
  margin: 30px 0;
}

.accordion-area section {
  border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.a-title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  padding: 3% 3% 3% 50px;
  transition: all 0.5s ease;
}

/*アイコンの＋と×*/
.a-title::before,
.a-title::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background-color: #333;
}

.a-title::before {
  top: 45%;
  right: 15px;
  transform: rotate(0deg);
}

.a-title::after {
  top: 45%;
  right: 15px;
  transform: rotate(90deg);
}

/*closeというクラスがついたら形状変化*/
.a-title.close::before {
  transform: rotate(45deg);
}

.a-title.close::after {
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.a-box {
  display: none; /*はじめは非表示*/
  padding: 3%;
}
.a-box a {
  border-bottom: 1px solid #D0C7B8;
}

.sp {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp {
    display: block;
  }
}

footer {
  background-color: #D0C7B8;
  color: #fff;
}
footer #footer {
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  footer #footer {
    margin: auto 5%;
  }
}
footer .f-title {
  padding: 30px 0;
}
footer h2 {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-size: 64px;
  line-height: 1.5;
}
@media screen and (max-width: 480px) {
  footer h2 {
    text-align: center;
    font-size: 50px;
  }
}
footer .sns {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 480px) {
  footer .sns {
    justify-content: center;
    gap: 5px;
  }
}
@media screen and (max-width: 480px) {
  footer .sns img {
    width: 90%;
  }
}
footer ul {
  padding: 0;
  list-style: none;
}
footer a:hover {
  color: #686258;
}
footer .grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 1.5rem 0;
  padding-left: 2%;
}
@media screen and (max-width: 480px) {
  footer .grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 0;
    padding-left: 4%;
    margin: 0.5rem 0 1rem;
  }
}
footer .footer__navi-heading {
  font-weight: 600;
}
footer .footer__logo {
  display: inline-block;
  margin-bottom: 2rem;
}
footer .footer__navi li {
  margin-bottom: 0.75rem;
  position: relative;
}
footer .footer__navi li::before {
  content: "";
  position: absolute;
  top: 50%; /* 縦軸をセンタリングする */
  left: -5%;
  transform: translateY(-50%); /* 縦軸をセンタリングする */
  border: 5px solid transparent;
  border-left: 8px solid #fff; /* 好みで色を変えてください */
}
@media screen and (max-width: 480px) {
  footer .footer__navi li::before {
    left: -4%;
  }
}
@media (min-width: 1024px) {
  footer .md-justify-between {
    justify-content: space-between;
  }
}
@media (min-width: 768px) {
  footer .md-justify-between {
    justify-content: space-between;
  }
}
footer .p-l {
  display: flex;
  font-size: 14px;
  justify-content: center;
  gap: 0 30px;
  margin-bottom: 1rem;
}
footer .copy {
  text-align: center;
  padding-bottom: 0.5rem;
}

/* color */
html {
  scroll-behavior: smooth;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-family: "yu-gothic-pr6n", sans-serif;
  color: #686258;
  box-sizing: border-box;
  line-height: 2;
  font-weight: 500;
  font-size: 16px;
  margin-top: 105px;
}
@media screen and (max-width: 1280px) {
  body {
    font-size: 16px;
    margin-top: 75px;
  }
}
@media screen and (max-width: 884px) {
  body {
    font-size: 14px;
  }
}
@media screen and (max-width: 480px) {
  body {
    margin-top: 60px;
  }
}

img {
  width: 100%;
}

/* mixin */
.button_01 a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 280px;
  padding: 6px 25px;
  color: #807667;
  transition: 0.3s ease-in-out;
  background: #fff;
  border-radius: 50px;
  border: 0.2rem solid #807667;
  box-shadow: 0.2rem 0.2rem 0px 0.1rem #dadada;
  margin: 40px auto;
  font-size: 18px;
}
@media screen and (max-width: 884px) {
  .button_01 a {
    font-size: 16px;
  }
}
@media screen and (max-width: 480px) {
  .button_01 a {
    width: 65%;
    font-size: 14px;
    border: 0.15rem solid #807667;
    box-shadow: 0.1rem 0.1rem 0px 0.1rem #dadada;
  }
}

.button_01 a:hover {
  transform: translate3d(0.2rem, 0.2rem, 0);
  box-shadow: none;
  opacity: 1;
  transition: all 0.2s;
}

.button_01 a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.button_02 a {
  border: 0.2rem solid #fff;
  background-color: #D0C7B8;
  color: #fff;
  padding: 6px 25px;
}

.button_02 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.button_03 a {
  border: 0.2rem solid #686258;
  background-color: #686258;
  color: #fff;
  padding: 6px 25px;
}

.button_03 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.title {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-size: 56px;
  text-align: left;
}
@media screen and (max-width: 480px) {
  .title {
    font-size: 40px;
    letter-spacing: -2px;
  }
}
.title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  padding-left: 15px;
}
@media screen and (max-width: 480px) {
  .title span {
    font-size: 12px;
    letter-spacing: 0;
  }
}

.contents-title {
  background-color: #E7E3DB;
  color: #686258;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  text-align: center;
  line-height: 0.7;
  padding: 50px 0 20px;
  font-size: 56px;
}
@media screen and (max-width: 1280px) {
  .contents-title {
    padding: 3rem 0 2rem;
  }
}
@media screen and (max-width: 884px) {
  .contents-title {
    padding: 2rem 0 2rem;
  }
}
@media screen and (max-width: 480px) {
  .contents-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.contents-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .contents-title span {
    font-size: 16px;
  }
}

.sub-title {
  color: #fff;
  text-align: left;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  line-height: 0.5;
  padding: 3rem 0 2rem;
  font-size: 56px;
}
@media screen and (max-width: 480px) {
  .sub-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.sub-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .sub-title span {
    font-size: 16px;
  }
}

.law-title {
  font-size: 40px;
  padding: 60px 0;
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 884px) {
  .law-title {
    padding: 55px 0;
  }
}
@media screen and (max-width: 480px) {
  .law-title {
    font-size: 24px;
    padding: 35px 0;
  }
}

.item_name, .tax {
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .item_name, .tax {
    font-size: 16px;
  }
}

.price {
  font-size: 22px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 480px) {
  .price {
    font-size: 18px;
  }
}

.date {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #D0C7B8;
}

.info-title {
  position: relative;
  margin-bottom: 30px;
  display: inline-block;
}

.info-title::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: -10%;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.news-pagination .pagination_nav-item {
  width: 50px;
  height: 50px;
  box-shadow: none;
  border-radius: 50px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  font-size: 13px;
  line-height: 1;
  border: 1px solid #D0C7B8;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav-item {
    width: 40px;
    height: 40px;
  }
}

.news-pagination .pagination_nav {
  display: flex;
  column-gap: 20px;
  justify-content: center;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav {
    column-gap: 10px;
  }
}

.news-pagination .pagination_nav-item[rel=next], .news-pagination .pagination__nav-item[rel=prev] {
  background-color: #686258;
  color: #fff;
  border: none;
}

.news-pagination .pagination_nav-item[aria-current] {
  background-color: #e9e9df;
  font-weight: 600;
  border: none;
}

.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 900px;
  margin: 3rem auto;
}
@media screen and (max-width: 480px) {
  .accordion-area {
    width: 100%;
    margin: 1rem auto 2rem;
  }
}

.accordion-area li {
  margin: 30px 0;
}

.accordion-area section {
  border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.a-title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  padding: 3% 3% 3% 50px;
  transition: all 0.5s ease;
}

/*アイコンの＋と×*/
.a-title::before,
.a-title::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background-color: #333;
}

.a-title::before {
  top: 45%;
  right: 15px;
  transform: rotate(0deg);
}

.a-title::after {
  top: 45%;
  right: 15px;
  transform: rotate(90deg);
}

/*closeというクラスがついたら形状変化*/
.a-title.close::before {
  transform: rotate(45deg);
}

.a-title.close::after {
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.a-box {
  display: none; /*はじめは非表示*/
  padding: 3%;
}
.a-box a {
  border-bottom: 1px solid #D0C7B8;
}

.sp {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp {
    display: block;
  }
}

#about_page {
  position: relative;
  z-index: -100;
  background-color: #E7E3DB;
  padding: 5% 0;
}
#about_page .about_box {
  max-width: 1200px;
  margin: 0 auto;
  background-color: #fff;
  width: 100%;
  border-radius: 10px;
  padding: 3% 0;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 1280px) {
  #about_page .about_box {
    margin: auto 5%;
  }
}
@media screen and (max-width: 1280px) {
  #about_page .about_box {
    width: 80%;
    margin: 0 auto;
    padding: 5%;
  }
}
@media screen and (max-width: 480px) {
  #about_page .about_box {
    width: 85%;
    margin: 5% auto;
  }
}
#about_page .about_detail {
  max-width: 1000px;
  margin: 0 auto;
}
#about_page .about_detail h2 {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  color: #D0C7B8;
  font-size: 60px;
}
@media screen and (max-width: 1280px) {
  #about_page .about_detail h2 {
    padding-left: 2rem;
  }
}
@media screen and (max-width: 480px) {
  #about_page .about_detail h2 {
    font-size: 30px;
    padding-left: 1rem;
  }
}
#about_page .about_detail h2 span {
  font-size: 32px;
}
@media screen and (max-width: 480px) {
  #about_page .about_detail h2 span {
    font-size: 18px;
  }
}
#about_page .about_detail .about_img {
  margin: 1rem auto;
  width: 100%;
}
@media screen and (max-width: 1280px) {
  #about_page .about_detail .about_img {
    width: 80%;
  }
}
@media screen and (max-width: 480px) {
  #about_page .about_detail .about_img {
    width: 90%;
  }
}
#about_page .about_detail h3 {
  font-size: 27px;
  text-align: center;
  margin: 2rem 0;
}
@media screen and (max-width: 480px) {
  #about_page .about_detail h3 {
    font-size: 18px;
  }
}
#about_page .about_detail h3 .bg {
  background: linear-gradient(transparent 50%, rgba(222, 219, 214, 0.4666666667) 50%);
  padding: 0 10px 10px;
}
#about_page .about_detail p {
  margin: 3rem 0;
}
#about_page .about_detail .about_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(4, 0fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  text-align: center;
  color: #fff;
  font-size: 45px;
  line-height: 1.1;
  padding-bottom: 2rem;
}
@media screen and (max-width: 1280px) {
  #about_page .about_detail .about_grid {
    font-size: 35px;
  }
}
@media screen and (max-width: 884px) {
  #about_page .about_detail .about_grid {
    font-size: 25px;
  }
}
@media screen and (max-width: 480px) {
  #about_page .about_detail .about_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
#about_page .about_detail .about_grid li {
  width: 250px;
  height: 200px;
}
@media screen and (max-width: 1280px) {
  #about_page .about_detail .about_grid li {
    width: 200px;
    height: 150px;
  }
}
@media screen and (max-width: 884px) {
  #about_page .about_detail .about_grid li {
    width: 120px;
    height: 110px;
  }
}
@media screen and (max-width: 480px) {
  #about_page .about_detail .about_grid li {
    width: 130px;
    height: 110px;
  }
}
#about_page .about_detail .meal {
  grid-area: 1/1/2/2;
  background-color: #DFBEBE;
  border-radius: 50%/65% 65% 35% 35%;
  transform: rotate(15deg);
}
@media screen and (max-width: 480px) {
  #about_page .about_detail .meal {
    margin-left: 2%;
  }
}
#about_page .about_detail .meal p {
  transform: rotate(345deg);
  padding-top: 20px;
}
@media screen and (max-width: 1280px) {
  #about_page .about_detail .meal p {
    padding-top: 10px;
  }
}
@media screen and (max-width: 884px) {
  #about_page .about_detail .meal p {
    padding-top: 0px;
  }
}
#about_page .about_detail .health {
  grid-area: 1/3/2/4;
  background-color: #E8E2BA;
  border-radius: 100% 153px/183px 100%;
}
@media screen and (max-width: 480px) {
  #about_page .about_detail .health {
    grid-area: 1/2/2/4;
    margin-left: 5%;
  }
}
#about_page .about_detail .health p {
  padding-top: 20px;
}
@media screen and (max-width: 1280px) {
  #about_page .about_detail .health p {
    padding-top: 10px;
  }
}
@media screen and (max-width: 884px) {
  #about_page .about_detail .health p {
    padding-top: 0px;
  }
}
#about_page .about_detail .lifestyle {
  grid-area: 2/2/3/3;
  background-color: #CCD9BF;
  border-radius: 100% 133px/153px 100%;
}
@media screen and (max-width: 480px) {
  #about_page .about_detail .lifestyle {
    grid-area: 2/1/3/3;
    margin-top: 1rem;
  }
}
@media screen and (max-width: 1280px) {
  #about_page .about_detail .lifestyle p {
    margin-top: 2rem;
  }
}
@media screen and (max-width: 884px) {
  #about_page .about_detail .lifestyle p {
    margin-top: 1.5rem;
  }
}
#about_page .about_detail .hobby {
  grid-area: 2/4/3/5;
  background-color: #BFD0D9;
  border-radius: 100% 120px/128px 100%;
}
@media screen and (max-width: 480px) {
  #about_page .about_detail .hobby {
    grid-area: 2/2/3/5;
    margin-top: 1rem;
    margin-left: 5%;
  }
}
#about_page .about_detail .hobby p {
  padding-top: 15px;
}
@media screen and (max-width: 884px) {
  #about_page .about_detail .hobby p {
    padding-top: 0;
  }
}
#about_page .round01, #about_page .round02, #about_page .round03 {
  width: 450px;
  height: 450px;
  border-radius: 30% 70% 60% 40%/30% 40% 60% 70%;
  background-color: #F3F1ED;
  background-size: cover;
  overflow: hidden;
  position: absolute;
  animation: round_anime 5s linear infinite;
  z-index: -10;
}
@media screen and (max-width: 480px) {
  #about_page .round01, #about_page .round02, #about_page .round03 {
    width: 300px;
    height: 300px;
  }
}
#about_page .round01 {
  top: -1%;
  right: 0%;
}
#about_page .round02 {
  bottom: 35%;
  left: 0%;
}
#about_page .round03 {
  bottom: -3%;
  right: 0%;
}
@keyframes round_anime {
  0% {
    border-radius: 30% 70% 60% 40%/30% 40% 60% 70%;
  }
  25% {
    border-radius: 50% 50% 50% 50%/50% 50% 50% 50%;
  }
  50% {
    border-radius: 70% 30% 30% 70%/50% 70% 30% 50%;
  }
  75% {
    border-radius: 50% 50% 50% 50%/50% 50% 50% 50%;
  }
  100% {
    border-radius: 30% 70% 60% 40%/30% 40% 60% 70%;
  }
}

/* color */
html {
  scroll-behavior: smooth;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-family: "yu-gothic-pr6n", sans-serif;
  color: #686258;
  box-sizing: border-box;
  line-height: 2;
  font-weight: 500;
  font-size: 16px;
  margin-top: 105px;
}
@media screen and (max-width: 1280px) {
  body {
    font-size: 16px;
    margin-top: 75px;
  }
}
@media screen and (max-width: 884px) {
  body {
    font-size: 14px;
  }
}
@media screen and (max-width: 480px) {
  body {
    margin-top: 60px;
  }
}

img {
  width: 100%;
}

/* mixin */
.button_01 a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 280px;
  padding: 6px 25px;
  color: #807667;
  transition: 0.3s ease-in-out;
  background: #fff;
  border-radius: 50px;
  border: 0.2rem solid #807667;
  box-shadow: 0.2rem 0.2rem 0px 0.1rem #dadada;
  margin: 40px auto;
  font-size: 18px;
}
@media screen and (max-width: 884px) {
  .button_01 a {
    font-size: 16px;
  }
}
@media screen and (max-width: 480px) {
  .button_01 a {
    width: 65%;
    font-size: 14px;
    border: 0.15rem solid #807667;
    box-shadow: 0.1rem 0.1rem 0px 0.1rem #dadada;
  }
}

.button_01 a:hover {
  transform: translate3d(0.2rem, 0.2rem, 0);
  box-shadow: none;
  opacity: 1;
  transition: all 0.2s;
}

.button_01 a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.button_02 a {
  border: 0.2rem solid #fff;
  background-color: #D0C7B8;
  color: #fff;
  padding: 6px 25px;
}

.button_02 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.button_03 a {
  border: 0.2rem solid #686258;
  background-color: #686258;
  color: #fff;
  padding: 6px 25px;
}

.button_03 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.title {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-size: 56px;
  text-align: left;
}
@media screen and (max-width: 480px) {
  .title {
    font-size: 40px;
    letter-spacing: -2px;
  }
}
.title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  padding-left: 15px;
}
@media screen and (max-width: 480px) {
  .title span {
    font-size: 12px;
    letter-spacing: 0;
  }
}

.contents-title {
  background-color: #E7E3DB;
  color: #686258;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  text-align: center;
  line-height: 0.7;
  padding: 50px 0 20px;
  font-size: 56px;
}
@media screen and (max-width: 1280px) {
  .contents-title {
    padding: 3rem 0 2rem;
  }
}
@media screen and (max-width: 884px) {
  .contents-title {
    padding: 2rem 0 2rem;
  }
}
@media screen and (max-width: 480px) {
  .contents-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.contents-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .contents-title span {
    font-size: 16px;
  }
}

.sub-title {
  color: #fff;
  text-align: left;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  line-height: 0.5;
  padding: 3rem 0 2rem;
  font-size: 56px;
}
@media screen and (max-width: 480px) {
  .sub-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.sub-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .sub-title span {
    font-size: 16px;
  }
}

.law-title {
  font-size: 40px;
  padding: 60px 0;
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 884px) {
  .law-title {
    padding: 55px 0;
  }
}
@media screen and (max-width: 480px) {
  .law-title {
    font-size: 24px;
    padding: 35px 0;
  }
}

.item_name, .tax {
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .item_name, .tax {
    font-size: 16px;
  }
}

.price {
  font-size: 22px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 480px) {
  .price {
    font-size: 18px;
  }
}

.date {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #D0C7B8;
}

.info-title {
  position: relative;
  margin-bottom: 30px;
  display: inline-block;
}

.info-title::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: -10%;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.news-pagination .pagination_nav-item {
  width: 50px;
  height: 50px;
  box-shadow: none;
  border-radius: 50px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  font-size: 13px;
  line-height: 1;
  border: 1px solid #D0C7B8;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav-item {
    width: 40px;
    height: 40px;
  }
}

.news-pagination .pagination_nav {
  display: flex;
  column-gap: 20px;
  justify-content: center;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav {
    column-gap: 10px;
  }
}

.news-pagination .pagination_nav-item[rel=next], .news-pagination .pagination__nav-item[rel=prev] {
  background-color: #686258;
  color: #fff;
  border: none;
}

.news-pagination .pagination_nav-item[aria-current] {
  background-color: #e9e9df;
  font-weight: 600;
  border: none;
}

.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 900px;
  margin: 3rem auto;
}
@media screen and (max-width: 480px) {
  .accordion-area {
    width: 100%;
    margin: 1rem auto 2rem;
  }
}

.accordion-area li {
  margin: 30px 0;
}

.accordion-area section {
  border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.a-title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  padding: 3% 3% 3% 50px;
  transition: all 0.5s ease;
}

/*アイコンの＋と×*/
.a-title::before,
.a-title::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background-color: #333;
}

.a-title::before {
  top: 45%;
  right: 15px;
  transform: rotate(0deg);
}

.a-title::after {
  top: 45%;
  right: 15px;
  transform: rotate(90deg);
}

/*closeというクラスがついたら形状変化*/
.a-title.close::before {
  transform: rotate(45deg);
}

.a-title.close::after {
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.a-box {
  display: none; /*はじめは非表示*/
  padding: 3%;
}
.a-box a {
  border-bottom: 1px solid #D0C7B8;
}

.sp {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp {
    display: block;
  }
}

#contact {
  max-width: 1200px;
  margin: 0 auto;
  padding: 4.5rem 0 8rem;
}
@media screen and (max-width: 1280px) {
  #contact {
    margin: auto 5%;
  }
}
@media screen and (max-width: 480px) {
  #contact {
    padding: 1rem 0 3rem;
  }
}

#contact_form {
  width: 70%;
  margin: 0 auto;
}
@media screen and (max-width: 480px) {
  #contact_form {
    width: 100%;
  }
}
#contact_form label {
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  #contact_form label {
    font-size: 16px;
  }
}
#contact_form .form-top {
  margin-bottom: 3rem;
}
#contact_form .form-top p {
  margin: 15px 0;
}
#contact_form .form-top .contact-top {
  font-size: 20px;
  margin-bottom: 3rem;
}
@media screen and (max-width: 480px) {
  #contact_form .form-top .contact-top {
    margin-bottom: 1.5rem;
  }
}
#contact_form .form-top a {
  border-bottom: 1px solid #707070;
}
#contact_form .form-top .required {
  margin-top: 2rem;
}
#contact_form .box_form {
  margin-top: 2.5rem;
}
@media screen and (max-width: 480px) {
  #contact_form .box_form {
    margin-top: 1.8rem;
  }
}
#contact_form .input-txet {
  padding: 1.1rem 1.2rem;
  font-size: 1rem;
  width: 100%;
  outline: 0;
  border: #ccc 1px solid;
  line-height: 1.5;
  border-radius: 10px;
}
@media screen and (max-width: 480px) {
  #contact_form .input-txet {
    padding: 0.8rem;
  }
}
#contact_form .select {
  appearance: none;
  height: var(--form-input-field-height);
  border: 1px solid #ccc;
  border-radius: 10px;
  cursor: pointer;
  background: none;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 1rem 1.2rem;
}
#contact_form .policy-agree {
  margin-top: 3rem;
  text-align: center;
}
#contact_form .policy-agree a {
  border-bottom: 1px solid #707070;
}
#contact_form .policy {
  margin-top: 1rem;
}
#contact_form .policy label {
  font-size: 1rem;
}

/* color */
html {
  scroll-behavior: smooth;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-family: "yu-gothic-pr6n", sans-serif;
  color: #686258;
  box-sizing: border-box;
  line-height: 2;
  font-weight: 500;
  font-size: 16px;
  margin-top: 105px;
}
@media screen and (max-width: 1280px) {
  body {
    font-size: 16px;
    margin-top: 75px;
  }
}
@media screen and (max-width: 884px) {
  body {
    font-size: 14px;
  }
}
@media screen and (max-width: 480px) {
  body {
    margin-top: 60px;
  }
}

img {
  width: 100%;
}

/* mixin */
.button_01 a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 280px;
  padding: 6px 25px;
  color: #807667;
  transition: 0.3s ease-in-out;
  background: #fff;
  border-radius: 50px;
  border: 0.2rem solid #807667;
  box-shadow: 0.2rem 0.2rem 0px 0.1rem #dadada;
  margin: 40px auto;
  font-size: 18px;
}
@media screen and (max-width: 884px) {
  .button_01 a {
    font-size: 16px;
  }
}
@media screen and (max-width: 480px) {
  .button_01 a {
    width: 65%;
    font-size: 14px;
    border: 0.15rem solid #807667;
    box-shadow: 0.1rem 0.1rem 0px 0.1rem #dadada;
  }
}

.button_01 a:hover {
  transform: translate3d(0.2rem, 0.2rem, 0);
  box-shadow: none;
  opacity: 1;
  transition: all 0.2s;
}

.button_01 a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.button_02 a {
  border: 0.2rem solid #fff;
  background-color: #D0C7B8;
  color: #fff;
  padding: 6px 25px;
}

.button_02 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.button_03 a {
  border: 0.2rem solid #686258;
  background-color: #686258;
  color: #fff;
  padding: 6px 25px;
}

.button_03 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.title {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-size: 56px;
  text-align: left;
}
@media screen and (max-width: 480px) {
  .title {
    font-size: 40px;
    letter-spacing: -2px;
  }
}
.title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  padding-left: 15px;
}
@media screen and (max-width: 480px) {
  .title span {
    font-size: 12px;
    letter-spacing: 0;
  }
}

.contents-title {
  background-color: #E7E3DB;
  color: #686258;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  text-align: center;
  line-height: 0.7;
  padding: 50px 0 20px;
  font-size: 56px;
}
@media screen and (max-width: 1280px) {
  .contents-title {
    padding: 3rem 0 2rem;
  }
}
@media screen and (max-width: 884px) {
  .contents-title {
    padding: 2rem 0 2rem;
  }
}
@media screen and (max-width: 480px) {
  .contents-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.contents-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .contents-title span {
    font-size: 16px;
  }
}

.sub-title {
  color: #fff;
  text-align: left;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  line-height: 0.5;
  padding: 3rem 0 2rem;
  font-size: 56px;
}
@media screen and (max-width: 480px) {
  .sub-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.sub-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .sub-title span {
    font-size: 16px;
  }
}

.law-title {
  font-size: 40px;
  padding: 60px 0;
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 884px) {
  .law-title {
    padding: 55px 0;
  }
}
@media screen and (max-width: 480px) {
  .law-title {
    font-size: 24px;
    padding: 35px 0;
  }
}

.item_name, .tax {
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .item_name, .tax {
    font-size: 16px;
  }
}

.price {
  font-size: 22px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 480px) {
  .price {
    font-size: 18px;
  }
}

.date {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #D0C7B8;
}

.info-title {
  position: relative;
  margin-bottom: 30px;
  display: inline-block;
}

.info-title::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: -10%;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.news-pagination .pagination_nav-item {
  width: 50px;
  height: 50px;
  box-shadow: none;
  border-radius: 50px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  font-size: 13px;
  line-height: 1;
  border: 1px solid #D0C7B8;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav-item {
    width: 40px;
    height: 40px;
  }
}

.news-pagination .pagination_nav {
  display: flex;
  column-gap: 20px;
  justify-content: center;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav {
    column-gap: 10px;
  }
}

.news-pagination .pagination_nav-item[rel=next], .news-pagination .pagination__nav-item[rel=prev] {
  background-color: #686258;
  color: #fff;
  border: none;
}

.news-pagination .pagination_nav-item[aria-current] {
  background-color: #e9e9df;
  font-weight: 600;
  border: none;
}

.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 900px;
  margin: 3rem auto;
}
@media screen and (max-width: 480px) {
  .accordion-area {
    width: 100%;
    margin: 1rem auto 2rem;
  }
}

.accordion-area li {
  margin: 30px 0;
}

.accordion-area section {
  border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.a-title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  padding: 3% 3% 3% 50px;
  transition: all 0.5s ease;
}

/*アイコンの＋と×*/
.a-title::before,
.a-title::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background-color: #333;
}

.a-title::before {
  top: 45%;
  right: 15px;
  transform: rotate(0deg);
}

.a-title::after {
  top: 45%;
  right: 15px;
  transform: rotate(90deg);
}

/*closeというクラスがついたら形状変化*/
.a-title.close::before {
  transform: rotate(45deg);
}

.a-title.close::after {
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.a-box {
  display: none; /*はじめは非表示*/
  padding: 3%;
}
.a-box a {
  border-bottom: 1px solid #D0C7B8;
}

.sp {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp {
    display: block;
  }
}

#news {
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 13rem;
}
@media screen and (max-width: 1280px) {
  #news {
    margin: auto 5%;
  }
}
@media screen and (max-width: 480px) {
  #news {
    padding-bottom: 5rem;
  }
}
#news ul {
  margin: 8.5rem 0 6rem;
}
@media screen and (max-width: 480px) {
  #news ul {
    margin: 5rem 0 2.5rem;
  }
}
#news li {
  border-bottom: 1px solid #D0C7B8;
  margin-bottom: 35px;
}
#news li a {
  display: flex;
  align-items: center;
  padding-bottom: 25px;
}
#news li a .news_text {
  margin-left: 5.6rem;
}
@media screen and (max-width: 480px) {
  #news li a .news_text {
    margin-left: 1rem;
  }
}
#news li a .news_img {
  width: 150px;
  height: 150px;
  margin-left: 2.5rem;
}
@media screen and (max-width: 480px) {
  #news li a .news_img {
    width: 120px;
    height: 120px;
    margin-left: 0;
  }
}
@media screen and (max-width: 480px) {
  #news li a .info-title::after {
    display: none;
  }
}

.feature_top {
  background-image: url(../img/feature.png);
  height: 550px;
  background-size: cover;
  display: flex;
  align-items: flex-end;
}
@media screen and (max-width: 1280px) {
  .feature_top {
    height: 350px;
  }
}
@media screen and (max-width: 480px) {
  .feature_top {
    height: 200px;
    background-position-x: 30%;
  }
}
.feature_top .sub-title {
  max-width: 1200px;
  margin: 0 auto;
  margin-left: 360px;
}
@media screen and (max-width: 1280px) {
  .feature_top .sub-title {
    margin: auto 5%;
  }
}
@media screen and (max-width: 480px) {
  .feature_top .sub-title {
    margin-bottom: 0;
  }
}

#feature_contents {
  padding: 6.5rem 0 10rem;
}
@media screen and (max-width: 480px) {
  #feature_contents {
    padding: 3rem 0 4.5rem;
  }
}
#feature_contents .pagination_nav {
  margin-top: 7rem;
}
@media screen and (max-width: 480px) {
  #feature_contents .pagination_nav {
    margin-top: 2rem;
  }
}

#feature_detail {
  display: flex;
  justify-content: space-between;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 1280px) {
  #feature_detail {
    margin: auto 5%;
  }
}
@media screen and (max-width: 884px) {
  #feature_detail {
    flex-direction: column;
  }
}
#feature_detail article {
  margin-bottom: 2rem;
  padding-top: 5rem;
  max-width: 760px;
  margin-right: auto;
}
@media screen and (max-width: 884px) {
  #feature_detail article {
    padding-top: 2rem;
  }
}
#feature_detail .info-title {
  font-weight: bold;
  font-size: 20px;
  margin-bottom: 0;
}
#feature_detail .info-title::after {
  display: none;
}
#feature_detail .feature_contents {
  padding: 2rem 0 5rem;
  border-bottom: 1px solid #D0C7B8;
}
#feature_detail .article_pagination {
  margin-bottom: 5rem;
  max-width: 760px;
  margin: 1rem auto 12rem;
}
@media screen and (max-width: 884px) {
  #feature_detail .article_pagination {
    margin-bottom: 1rem;
  }
}
#feature_detail .article__prev-next {
  display: flex;
  justify-content: space-between;
}
#feature_detail svg {
  vertical-align: middle;
}
#feature_detail .archive {
  margin: 0 0 2rem auto;
  padding-top: 5rem;
  max-width: 300px;
}
@media screen and (max-width: 884px) {
  #feature_detail .archive {
    max-width: 600px;
    margin: 0rem auto 5rem 0;
  }
}
@media screen and (max-width: 480px) {
  #feature_detail .archive {
    padding-top: 3rem;
    margin-bottom: 3rem;
  }
}
#feature_detail .archive h3 {
  padding-bottom: 5px;
  border-bottom: 1px solid #D0C7B8;
  margin-bottom: 25px;
  color: #D0C7B8;
  font-size: 20px;
}
#feature_detail .archive_box {
  display: flex;
  align-items: center;
  margin: 20px 0 50px;
  max-width: 300px;
  gap: 10px;
}
@media screen and (max-width: 884px) {
  #feature_detail .archive_box {
    max-width: 760px;
  }
}
@media screen and (max-width: 480px) {
  #feature_detail .archive_box {
    margin: 20px 0;
  }
}
#feature_detail .archive_box .info-title {
  font-weight: 100;
  font-size: 14px;
}
#feature_detail .archive_box time {
  font-size: 14px;
}
#feature_detail .archive_box .archive_img img {
  width: 150px;
  height: 150px;
}
@media screen and (max-width: 884px) {
  #feature_detail .archive_box .archive_img img {
    width: 200px;
    height: 200px;
  }
}
@media screen and (max-width: 480px) {
  #feature_detail .archive_box .archive_img img {
    width: 110px;
    height: 110px;
  }
}
#feature_detail .archive_box .archive_date {
  width: 150px;
}
@media screen and (max-width: 884px) {
  #feature_detail .archive_box .archive_date {
    width: 200px;
  }
}

/* color */
html {
  scroll-behavior: smooth;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-family: "yu-gothic-pr6n", sans-serif;
  color: #686258;
  box-sizing: border-box;
  line-height: 2;
  font-weight: 500;
  font-size: 16px;
  margin-top: 105px;
}
@media screen and (max-width: 1280px) {
  body {
    font-size: 16px;
    margin-top: 75px;
  }
}
@media screen and (max-width: 884px) {
  body {
    font-size: 14px;
  }
}
@media screen and (max-width: 480px) {
  body {
    margin-top: 60px;
  }
}

img {
  width: 100%;
}

/* mixin */
.button_01 a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 280px;
  padding: 6px 25px;
  color: #807667;
  transition: 0.3s ease-in-out;
  background: #fff;
  border-radius: 50px;
  border: 0.2rem solid #807667;
  box-shadow: 0.2rem 0.2rem 0px 0.1rem #dadada;
  margin: 40px auto;
  font-size: 18px;
}
@media screen and (max-width: 884px) {
  .button_01 a {
    font-size: 16px;
  }
}
@media screen and (max-width: 480px) {
  .button_01 a {
    width: 65%;
    font-size: 14px;
    border: 0.15rem solid #807667;
    box-shadow: 0.1rem 0.1rem 0px 0.1rem #dadada;
  }
}

.button_01 a:hover {
  transform: translate3d(0.2rem, 0.2rem, 0);
  box-shadow: none;
  opacity: 1;
  transition: all 0.2s;
}

.button_01 a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.button_02 a {
  border: 0.2rem solid #fff;
  background-color: #D0C7B8;
  color: #fff;
  padding: 6px 25px;
}

.button_02 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.button_03 a {
  border: 0.2rem solid #686258;
  background-color: #686258;
  color: #fff;
  padding: 6px 25px;
}

.button_03 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.title {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-size: 56px;
  text-align: left;
}
@media screen and (max-width: 480px) {
  .title {
    font-size: 40px;
    letter-spacing: -2px;
  }
}
.title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  padding-left: 15px;
}
@media screen and (max-width: 480px) {
  .title span {
    font-size: 12px;
    letter-spacing: 0;
  }
}

.contents-title {
  background-color: #E7E3DB;
  color: #686258;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  text-align: center;
  line-height: 0.7;
  padding: 50px 0 20px;
  font-size: 56px;
}
@media screen and (max-width: 1280px) {
  .contents-title {
    padding: 3rem 0 2rem;
  }
}
@media screen and (max-width: 884px) {
  .contents-title {
    padding: 2rem 0 2rem;
  }
}
@media screen and (max-width: 480px) {
  .contents-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.contents-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .contents-title span {
    font-size: 16px;
  }
}

.sub-title {
  color: #fff;
  text-align: left;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  line-height: 0.5;
  padding: 3rem 0 2rem;
  font-size: 56px;
}
@media screen and (max-width: 480px) {
  .sub-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.sub-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .sub-title span {
    font-size: 16px;
  }
}

.law-title {
  font-size: 40px;
  padding: 60px 0;
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 884px) {
  .law-title {
    padding: 55px 0;
  }
}
@media screen and (max-width: 480px) {
  .law-title {
    font-size: 24px;
    padding: 35px 0;
  }
}

.item_name, .tax {
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .item_name, .tax {
    font-size: 16px;
  }
}

.price {
  font-size: 22px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 480px) {
  .price {
    font-size: 18px;
  }
}

.date {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #D0C7B8;
}

.info-title {
  position: relative;
  margin-bottom: 30px;
  display: inline-block;
}

.info-title::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: -10%;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.news-pagination .pagination_nav-item {
  width: 50px;
  height: 50px;
  box-shadow: none;
  border-radius: 50px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  font-size: 13px;
  line-height: 1;
  border: 1px solid #D0C7B8;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav-item {
    width: 40px;
    height: 40px;
  }
}

.news-pagination .pagination_nav {
  display: flex;
  column-gap: 20px;
  justify-content: center;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav {
    column-gap: 10px;
  }
}

.news-pagination .pagination_nav-item[rel=next], .news-pagination .pagination__nav-item[rel=prev] {
  background-color: #686258;
  color: #fff;
  border: none;
}

.news-pagination .pagination_nav-item[aria-current] {
  background-color: #e9e9df;
  font-weight: 600;
  border: none;
}

.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 900px;
  margin: 3rem auto;
}
@media screen and (max-width: 480px) {
  .accordion-area {
    width: 100%;
    margin: 1rem auto 2rem;
  }
}

.accordion-area li {
  margin: 30px 0;
}

.accordion-area section {
  border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.a-title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  padding: 3% 3% 3% 50px;
  transition: all 0.5s ease;
}

/*アイコンの＋と×*/
.a-title::before,
.a-title::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background-color: #333;
}

.a-title::before {
  top: 45%;
  right: 15px;
  transform: rotate(0deg);
}

.a-title::after {
  top: 45%;
  right: 15px;
  transform: rotate(90deg);
}

/*closeというクラスがついたら形状変化*/
.a-title.close::before {
  transform: rotate(45deg);
}

.a-title.close::after {
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.a-box {
  display: none; /*はじめは非表示*/
  padding: 3%;
}
.a-box a {
  border-bottom: 1px solid #D0C7B8;
}

.sp {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp {
    display: block;
  }
}

#category {
  max-width: 1200px;
  margin: 0 auto;
  padding: 7rem 0;
}
@media screen and (max-width: 1280px) {
  #category {
    margin: auto 5%;
  }
}
@media screen and (max-width: 884px) {
  #category {
    padding: 4rem 0 2rem;
  }
}
@media screen and (max-width: 480px) {
  #category {
    padding: 3rem 0;
  }
}
#category .category_box {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-bottom: 7rem;
  gap: 20px;
}
@media screen and (max-width: 884px) {
  #category .category_box {
    justify-content: space-between;
  }
}
#category h3 {
  border-bottom: 1px solid #D0C7B8;
  margin-bottom: 3rem;
  font-size: 21px;
  padding-bottom: 10px;
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  #category h3 {
    font-size: 18px;
  }
}
#category .c_items {
  width: 17rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 884px) {
  #category .c_items {
    width: 20rem;
  }
}
#category .c_items h4 {
  color: #fff;
  margin: 0 auto;
}
#category .green {
  background-color: #CCD9BF;
}
#category .pink {
  background-color: #DFBEBE;
}
#category .blue {
  background-color: #BFD0D9;
}
#category .yellow {
  background-color: #E8E2BA;
}
#category .beige {
  background-color: #E7E3DB;
}
#category .l-brown {
  background-color: #D0C7B8;
}

/* color */
html {
  scroll-behavior: smooth;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-family: "yu-gothic-pr6n", sans-serif;
  color: #686258;
  box-sizing: border-box;
  line-height: 2;
  font-weight: 500;
  font-size: 16px;
  margin-top: 105px;
}
@media screen and (max-width: 1280px) {
  body {
    font-size: 16px;
    margin-top: 75px;
  }
}
@media screen and (max-width: 884px) {
  body {
    font-size: 14px;
  }
}
@media screen and (max-width: 480px) {
  body {
    margin-top: 60px;
  }
}

img {
  width: 100%;
}

/* mixin */
.button_01 a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 280px;
  padding: 6px 25px;
  color: #807667;
  transition: 0.3s ease-in-out;
  background: #fff;
  border-radius: 50px;
  border: 0.2rem solid #807667;
  box-shadow: 0.2rem 0.2rem 0px 0.1rem #dadada;
  margin: 40px auto;
  font-size: 18px;
}
@media screen and (max-width: 884px) {
  .button_01 a {
    font-size: 16px;
  }
}
@media screen and (max-width: 480px) {
  .button_01 a {
    width: 65%;
    font-size: 14px;
    border: 0.15rem solid #807667;
    box-shadow: 0.1rem 0.1rem 0px 0.1rem #dadada;
  }
}

.button_01 a:hover {
  transform: translate3d(0.2rem, 0.2rem, 0);
  box-shadow: none;
  opacity: 1;
  transition: all 0.2s;
}

.button_01 a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.button_02 a {
  border: 0.2rem solid #fff;
  background-color: #D0C7B8;
  color: #fff;
  padding: 6px 25px;
}

.button_02 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.button_03 a {
  border: 0.2rem solid #686258;
  background-color: #686258;
  color: #fff;
  padding: 6px 25px;
}

.button_03 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.title {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-size: 56px;
  text-align: left;
}
@media screen and (max-width: 480px) {
  .title {
    font-size: 40px;
    letter-spacing: -2px;
  }
}
.title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  padding-left: 15px;
}
@media screen and (max-width: 480px) {
  .title span {
    font-size: 12px;
    letter-spacing: 0;
  }
}

.contents-title {
  background-color: #E7E3DB;
  color: #686258;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  text-align: center;
  line-height: 0.7;
  padding: 50px 0 20px;
  font-size: 56px;
}
@media screen and (max-width: 1280px) {
  .contents-title {
    padding: 3rem 0 2rem;
  }
}
@media screen and (max-width: 884px) {
  .contents-title {
    padding: 2rem 0 2rem;
  }
}
@media screen and (max-width: 480px) {
  .contents-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.contents-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .contents-title span {
    font-size: 16px;
  }
}

.sub-title {
  color: #fff;
  text-align: left;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  line-height: 0.5;
  padding: 3rem 0 2rem;
  font-size: 56px;
}
@media screen and (max-width: 480px) {
  .sub-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.sub-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .sub-title span {
    font-size: 16px;
  }
}

.law-title {
  font-size: 40px;
  padding: 60px 0;
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 884px) {
  .law-title {
    padding: 55px 0;
  }
}
@media screen and (max-width: 480px) {
  .law-title {
    font-size: 24px;
    padding: 35px 0;
  }
}

.item_name, .tax {
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .item_name, .tax {
    font-size: 16px;
  }
}

.price {
  font-size: 22px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 480px) {
  .price {
    font-size: 18px;
  }
}

.date {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #D0C7B8;
}

.info-title {
  position: relative;
  margin-bottom: 30px;
  display: inline-block;
}

.info-title::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: -10%;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.news-pagination .pagination_nav-item {
  width: 50px;
  height: 50px;
  box-shadow: none;
  border-radius: 50px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  font-size: 13px;
  line-height: 1;
  border: 1px solid #D0C7B8;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav-item {
    width: 40px;
    height: 40px;
  }
}

.news-pagination .pagination_nav {
  display: flex;
  column-gap: 20px;
  justify-content: center;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav {
    column-gap: 10px;
  }
}

.news-pagination .pagination_nav-item[rel=next], .news-pagination .pagination__nav-item[rel=prev] {
  background-color: #686258;
  color: #fff;
  border: none;
}

.news-pagination .pagination_nav-item[aria-current] {
  background-color: #e9e9df;
  font-weight: 600;
  border: none;
}

.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 900px;
  margin: 3rem auto;
}
@media screen and (max-width: 480px) {
  .accordion-area {
    width: 100%;
    margin: 1rem auto 2rem;
  }
}

.accordion-area li {
  margin: 30px 0;
}

.accordion-area section {
  border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.a-title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  padding: 3% 3% 3% 50px;
  transition: all 0.5s ease;
}

/*アイコンの＋と×*/
.a-title::before,
.a-title::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background-color: #333;
}

.a-title::before {
  top: 45%;
  right: 15px;
  transform: rotate(0deg);
}

.a-title::after {
  top: 45%;
  right: 15px;
  transform: rotate(90deg);
}

/*closeというクラスがついたら形状変化*/
.a-title.close::before {
  transform: rotate(45deg);
}

.a-title.close::after {
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.a-box {
  display: none; /*はじめは非表示*/
  padding: 3%;
}
.a-box a {
  border-bottom: 1px solid #D0C7B8;
}

.sp {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp {
    display: block;
  }
}

#product {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  padding: 6rem 0 13rem;
}
@media screen and (max-width: 1280px) {
  #product {
    margin: auto 5%;
  }
}
@media screen and (max-width: 884px) {
  #product {
    flex-direction: column;
    padding: 2rem 0 5rem;
  }
}
#product .category_row {
  width: 300px;
}
@media screen and (max-width: 1280px) {
  #product .category_row {
    width: 220px;
  }
}
@media screen and (max-width: 884px) {
  #product .category_row {
    width: 700px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 480px) {
  #product .category_row {
    width: 300px;
  }
}
#product .category_list {
  width: 250px;
  font-size: 18px;
  margin-bottom: 5rem;
}
@media screen and (max-width: 1280px) {
  #product .category_list {
    width: 220px;
  }
}
@media screen and (max-width: 884px) {
  #product .category_list {
    width: 700px;
  }
}
@media screen and (max-width: 480px) {
  #product .category_list {
    width: 300px;
    margin-bottom: 3rem;
  }
}
#product .category_list h3 {
  font-size: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid #D0C7B8;
}
#product .category_list p {
  margin: 1rem 0;
  padding: 0 0 5px 45px;
  border-bottom: 1px solid #D0C7B8;
  position: relative;
}
@media screen and (max-width: 1280px) {
  #product .category_list p {
    padding-left: 20px;
  }
}
#product .category_list p::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 1px solid #807667;
  border-right: 1px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 40%;
  right: 20px;
  border-radius: 1px;
}
@media screen and (max-width: 1280px) {
  #product .category_list p::after {
    right: 12px;
  }
}
#product .product_all {
  max-width: 900px;
}
#product .product_all ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 50px 15px;
  margin-bottom: 6rem;
}
@media screen and (max-width: 480px) {
  #product .product_all ul {
    margin-bottom: 4rem;
    gap: 40px 15px;
  }
}
#product .product_all ul li {
  width: 12rem;
}
@media screen and (max-width: 480px) {
  #product .product_all ul li {
    width: 10rem;
  }
}

#product_detail {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  padding: 2rem 0 8rem;
}
@media screen and (max-width: 1280px) {
  #product_detail {
    margin: auto 5%;
  }
}
@media screen and (max-width: 480px) {
  #product_detail {
    flex-direction: column;
  }
}

.product_img {
  width: 55%;
}
@media screen and (max-width: 884px) {
  .product_img {
    width: 50%;
  }
}
@media screen and (max-width: 480px) {
  .product_img {
    width: 100%;
  }
}

.sub_img {
  display: flex;
  flex-wrap: wrap;
  margin-top: 10px;
  justify-content: space-between;
}

.sub_img li {
  width: 18.5%;
}

.sub_img li:nth-child(5n) {
  margin-right: 0;
}

.sub_img li img {
  border: 2px solid transparent;
  transition: border 0.5s;
  cursor: pointer;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
  object-fit: cover;
  padding: 10px 0;
}

.product_text {
  width: 40%;
}
@media screen and (max-width: 884px) {
  .product_text {
    width: 48%;
  }
}
@media screen and (max-width: 480px) {
  .product_text {
    width: 100%;
  }
}
.product_text .item_name {
  font-size: 30px;
  font-weight: bold;
}
.product_text .price {
  font-size: 32px;
}
.product_text .item_text {
  margin: 1rem 0;
}
.product_text .button_01 a {
  margin-left: 0;
}
@media screen and (max-width: 480px) {
  .product_text .button_01 a {
    margin: 1.5rem auto 0;
  }
}

.quantity_button {
  text-align: center;
}
@media screen and (max-width: 480px) {
  .quantity_button {
    margin-top: 2.5rem;
  }
}

.quantity {
  border: 1px solid #686258;
  width: 150px;
  display: flex;
}
@media screen and (max-width: 480px) {
  .quantity {
    margin: 0 auto;
  }
}

.quantity__input {
  text-align: center;
}

/* color */
html {
  scroll-behavior: smooth;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  font-family: "yu-gothic-pr6n", sans-serif;
  color: #686258;
  box-sizing: border-box;
  line-height: 2;
  font-weight: 500;
  font-size: 16px;
  margin-top: 105px;
}
@media screen and (max-width: 1280px) {
  body {
    font-size: 16px;
    margin-top: 75px;
  }
}
@media screen and (max-width: 884px) {
  body {
    font-size: 14px;
  }
}
@media screen and (max-width: 480px) {
  body {
    margin-top: 60px;
  }
}

img {
  width: 100%;
}

/* mixin */
.button_01 a {
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 280px;
  padding: 6px 25px;
  color: #807667;
  transition: 0.3s ease-in-out;
  background: #fff;
  border-radius: 50px;
  border: 0.2rem solid #807667;
  box-shadow: 0.2rem 0.2rem 0px 0.1rem #dadada;
  margin: 40px auto;
  font-size: 18px;
}
@media screen and (max-width: 884px) {
  .button_01 a {
    font-size: 16px;
  }
}
@media screen and (max-width: 480px) {
  .button_01 a {
    width: 65%;
    font-size: 14px;
    border: 0.15rem solid #807667;
    box-shadow: 0.1rem 0.1rem 0px 0.1rem #dadada;
  }
}

.button_01 a:hover {
  transform: translate3d(0.2rem, 0.2rem, 0);
  box-shadow: none;
  opacity: 1;
  transition: all 0.2s;
}

.button_01 a:after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: 20px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.button_02 a {
  border: 0.2rem solid #fff;
  background-color: #D0C7B8;
  color: #fff;
  padding: 6px 25px;
}

.button_02 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.button_03 a {
  border: 0.2rem solid #686258;
  background-color: #686258;
  color: #fff;
  padding: 6px 25px;
}

.button_03 a:after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.title {
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  font-size: 56px;
  text-align: left;
}
@media screen and (max-width: 480px) {
  .title {
    font-size: 40px;
    letter-spacing: -2px;
  }
}
.title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  padding-left: 15px;
}
@media screen and (max-width: 480px) {
  .title span {
    font-size: 12px;
    letter-spacing: 0;
  }
}

.contents-title {
  background-color: #E7E3DB;
  color: #686258;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  text-align: center;
  line-height: 0.7;
  padding: 50px 0 20px;
  font-size: 56px;
}
@media screen and (max-width: 1280px) {
  .contents-title {
    padding: 3rem 0 2rem;
  }
}
@media screen and (max-width: 884px) {
  .contents-title {
    padding: 2rem 0 2rem;
  }
}
@media screen and (max-width: 480px) {
  .contents-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.contents-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .contents-title span {
    font-size: 16px;
  }
}

.sub-title {
  color: #fff;
  text-align: left;
  font-family: "acumin-pro", sans-serif;
  font-style: normal;
  line-height: 0.5;
  padding: 3rem 0 2rem;
  font-size: 56px;
}
@media screen and (max-width: 480px) {
  .sub-title {
    font-size: 30px;
    line-height: 0.7;
    padding: 1.5rem 0;
  }
}
.sub-title span {
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
}
@media screen and (max-width: 480px) {
  .sub-title span {
    font-size: 16px;
  }
}

.law-title {
  font-size: 40px;
  padding: 60px 0;
  font-family: "yu-gothic-pr6n", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 884px) {
  .law-title {
    padding: 55px 0;
  }
}
@media screen and (max-width: 480px) {
  .law-title {
    font-size: 24px;
    padding: 35px 0;
  }
}

.item_name, .tax {
  font-size: 18px;
}
@media screen and (max-width: 480px) {
  .item_name, .tax {
    font-size: 16px;
  }
}

.price {
  font-size: 22px;
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
}
@media screen and (max-width: 480px) {
  .price {
    font-size: 18px;
  }
}

.date {
  font-family: "Lato", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #D0C7B8;
}

.info-title {
  position: relative;
  margin-bottom: 30px;
  display: inline-block;
}

.info-title::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: -10%;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}

.news-pagination .pagination_nav-item {
  width: 50px;
  height: 50px;
  box-shadow: none;
  border-radius: 50px !important;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  font-size: 13px;
  line-height: 1;
  border: 1px solid #D0C7B8;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav-item {
    width: 40px;
    height: 40px;
  }
}

.news-pagination .pagination_nav {
  display: flex;
  column-gap: 20px;
  justify-content: center;
}
@media screen and (max-width: 480px) {
  .news-pagination .pagination_nav {
    column-gap: 10px;
  }
}

.news-pagination .pagination_nav-item[rel=next], .news-pagination .pagination__nav-item[rel=prev] {
  background-color: #686258;
  color: #fff;
  border: none;
}

.news-pagination .pagination_nav-item[aria-current] {
  background-color: #e9e9df;
  font-weight: 600;
  border: none;
}

.accordion-area {
  list-style: none;
  width: 96%;
  max-width: 900px;
  margin: 3rem auto;
}
@media screen and (max-width: 480px) {
  .accordion-area {
    width: 100%;
    margin: 1rem auto 2rem;
  }
}

.accordion-area li {
  margin: 30px 0;
}

.accordion-area section {
  border: 1px solid #ccc;
}

/*アコーディオンタイトル*/
.a-title {
  position: relative; /*+マークの位置基準とするためrelative指定*/
  cursor: pointer;
  font-size: 1rem;
  font-weight: normal;
  padding: 3% 3% 3% 50px;
  transition: all 0.5s ease;
}

/*アイコンの＋と×*/
.a-title::before,
.a-title::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 2px;
  background-color: #333;
}

.a-title::before {
  top: 45%;
  right: 15px;
  transform: rotate(0deg);
}

.a-title::after {
  top: 45%;
  right: 15px;
  transform: rotate(90deg);
}

/*closeというクラスがついたら形状変化*/
.a-title.close::before {
  transform: rotate(45deg);
}

.a-title.close::after {
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.a-box {
  display: none; /*はじめは非表示*/
  padding: 3%;
}
.a-box a {
  border-bottom: 1px solid #D0C7B8;
}

.sp {
  display: none;
}
@media screen and (max-width: 480px) {
  .sp {
    display: block;
  }
}

#login {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1.5rem 0 10rem;
}
@media screen and (max-width: 1280px) {
  #login {
    margin: auto 5%;
  }
}
@media screen and (max-width: 884px) {
  #login {
    padding: 0 0 3rem;
  }
}
#login #login_form {
  width: 67%;
  margin: 0 auto 55px;
}
@media screen and (max-width: 480px) {
  #login #login_form {
    width: 85%;
  }
}
#login .box_form {
  margin-top: 55px;
}
@media screen and (max-width: 480px) {
  #login .box_form {
    margin-top: 25px;
  }
}
#login .c-input {
  padding: 1rem 1.2rem;
  border: 1px solid #686258;
  width: 100%;
  border-radius: 10px;
  height: 60px;
}
@media screen and (max-width: 480px) {
  #login .c-input {
    height: 45px;
  }
}
#login .password_recover {
  margin-top: 10px;
}
#login .password_recover a {
  border-bottom: 1px solid #686258;
}
#login label {
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 480px) {
  #login label {
    font-size: 16px;
  }
}
#login .new_member {
  margin-top: 5rem;
}
@media screen and (max-width: 480px) {
  #login .new_member {
    margin-top: 5rem;
  }
}
@media screen and (max-width: 480px) {
  #login .new_member .input_title {
    text-align: center;
  }
}
@media screen and (max-width: 480px) {
  #login .button_01 a {
    margin-top: 15px;
    width: 100%;
  }
}

#cart {
  padding: 4rem 0;
}
#cart p {
  text-align: center;
}

#guide {
  max-width: 1200px;
  margin: 0 auto;
  padding: 6rem 0;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1280px) {
  #guide {
    margin: auto 5%;
  }
}
@media screen and (max-width: 884px) {
  #guide {
    padding: 3rem 0;
  }
}
@media screen and (max-width: 480px) {
  #guide {
    padding: 2rem 0 3rem;
  }
}
#guide .g_list {
  margin-top: 20px;
}
@media screen and (max-width: 884px) {
  #guide .g_list {
    display: none;
  }
}
#guide .g_list .g_item {
  max-width: 300px;
  padding: 15px 0;
}
#guide .g_list .g_item a {
  position: relative;
  padding: 10px 0;
}
#guide .g_list .g_item a:hover {
  border-bottom: 1px solid #D0C7B8;
}
#guide .g_list .g_item a::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #807667;
  border-right: 2px solid #807667;
  transform: rotate(45deg) translateY(-50%);
  position: absolute;
  top: 50%;
  right: -15px;
  border-radius: 1px;
  transition: 0.3s ease-in-out;
}
#guide .g_detail {
  width: 75%;
}
@media screen and (max-width: 884px) {
  #guide .g_detail {
    width: 100%;
  }
}
#guide .g_detail h3 {
  background-color: #E7E3DB;
  padding: 7px 20px;
  font-size: 20px;
  margin: 30px 0;
}
@media screen and (max-width: 480px) {
  #guide .g_detail h3 {
    font-size: 18px;
    margin: 20px 0;
  }
}
#guide .g_detail p {
  padding: 5px;
}
#guide .g_detail .pay_detail {
  list-style: disc;
  list-style-position: inside;
}
@media screen and (max-width: 884px) {
  #guide .g_detail .pay_detail li {
    padding-left: 10px;
  }
}
#guide .g_detail h4 {
  padding: 0 0 10px 10px;
  border-bottom: 1px solid #D0C7B8;
}
#guide .g_detail .detail {
  margin: 80px 0;
  padding-left: 10px;
}
@media screen and (max-width: 884px) {
  #guide .g_detail .detail {
    margin: 50px 0;
  }
}
@media screen and (max-width: 480px) {
  #guide .g_detail .detail {
    margin: 35px 0;
  }
}
#guide .g_detail .detail ul {
  list-style: disc;
  list-style-position: inside;
}
#guide .g_detail #qa .button_01 {
  margin-top: 0;
}
#guide .g_detail #qa .button_01 a {
  margin-left: 0;
}

#f-contact .button_01 {
  margin: 0 !important;
}
#f-contact .button_01 a {
  margin-left: 0;
}
@media screen and (max-width: 480px) {
  #f-contact .button_01 a {
    margin: 1rem auto;
  }
}

#legal-notice h5,
#privacy h5 {
  font-weight: 600;
  font-size: 20px;
  border-bottom: solid 1px #ccc;
  width: 100%;
  padding: 3vw 0;
}
@media screen and (max-width: 480px) {
  #legal-notice h5,
  #privacy h5 {
    font-size: 18px;
    padding: 10vw 0 2vw;
  }
}

#privacy {
  max-width: 1200px;
  margin: 0 auto;
  width: 80vw;
  margin: auto;
  padding: 5vw 0;
}
@media screen and (max-width: 1280px) {
  #privacy {
    margin: auto 5%;
  }
}
@media screen and (max-width: 1280px) {
  #privacy {
    width: 90vw;
  }
}
@media screen and (max-width: 480px) {
  #privacy {
    padding: 10vw 0 15vw;
  }
}
#privacy p {
  margin: 2vw 0;
}
@media screen and (max-width: 480px) {
  #privacy p {
    margin: 2vw 0;
    font-size: 14px;
  }
}
#privacy li {
  margin: 3vw 0;
  list-style: none;
}
@media screen and (max-width: 480px) {
  #privacy li {
    font-size: 14px;
  }
}
#privacy .privacy_item {
  margin-left: 3vw;
}
#privacy .privacy_item ol {
  counter-reset: count 0;
}
#privacy .privacy_item ol li:before {
  content: counter(count) ". ";
  counter-increment: count 1;
}
#privacy .privacy_item_detail {
  margin-left: 5vw;
}
#privacy .privacy_item_detail ul li {
  list-style: none;
  position: relative;
}
#privacy .privacy_item_detail ul::before {
  content: "";
  position: absolute;
  left: -1vw;
  width: 10px;
  height: 10px;
}
@media screen and (max-width: 480px) {
  #privacy .privacy_item_detail ul::before {
    left: -5vw;
  }
}
#privacy .privacy_item_detail2 {
  margin-left: 6vw;
}

/* 特商法 */
#law {
  font-size: 16px;
  max-width: 1200px;
  margin: 0 auto;
  border-spacing: 20px 10px;
}
@media screen and (max-width: 1280px) {
  #law {
    margin: auto 5%;
  }
}
@media screen and (max-width: 1280px) {
  #law {
    font-size: 14px;
  }
}
@media screen and (max-width: 480px) {
  #law {
    width: 100vw;
    font-size: 14px;
    text-align: left;
    margin: 8vw auto 15vw;
    border-spacing: 20px 10px;
  }
}
@media screen and (max-width: 1280px) {
  #law table {
    margin: 0 auto;
  }
}
#law th {
  width: 18vw;
  padding: 2vw;
  text-align: left;
}
@media screen and (max-width: 884px) {
  #law th {
    width: 20vw;
    padding: 2vw 1vw;
    text-align: left;
  }
}
@media screen and (max-width: 480px) {
  #law th {
    display: block;
    width: 80vw;
    padding: 2vw 1vw;
    text-align: left;
  }
}
#law td {
  width: 60vw;
  padding: 2vw;
  text-align: left;
}
@media screen and (max-width: 884px) {
  #law td {
    padding: 2vw 0 2vw 2vw;
    width: 63vw;
  }
}
@media screen and (max-width: 480px) {
  #law td {
    display: block;
    width: 80vw;
    padding: 2vw;
    text-align: left;
    font-size: 14px;
  }
}

#legal-notice {
  margin: 5vw auto;
}
@media screen and (max-width: 884px) {
  #legal-notice {
    margin-bottom: 10vw;
  }
}/*# sourceMappingURL=style.css.map */