@charset "utf-8";
/*************************
/* TOPICS
*************************/
#topics {
  margin: 1.92rem 0 2.3rem;
}
#topics a {
  color: #1a1a1a;
  border-bottom: 1px solid #cccccc;
  display: block;
  padding-bottom: 1.2rem;
  position: relative;
}
#topics a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 0;
  height: 1px;
  background: #c98b5b;
  transition: width .45s cubic-bezier(.25, .8, .25, 1);
}
#topics a:hover::after {
  width: 100%;
}
#topics a p {
  margin-bottom: 0;
}
#topics a:hover {
  text-decoration: none;
}
#topics .unit1 {
  display: flex;
  align-items: center;
  margin-bottom: 0.5rem;
}
#topics .unit1 .topics-category {
  background: #333333;
  color: #fff;
  padding: 0.15rem 1rem;
  display: inline-block;
  font-size: 0.76rem;
  border-radius: 50px;
  margin-bottom: 0;
  margin-left: 0.7rem;
}
#topics .unit2 {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.topics-arrow {
  width: 15px;
  transform: rotate(-45deg);
  transform-origin: center;
  transition: transform .3s ease;
}
#topics a:hover .topics-arrow {
  transform: rotate(0deg);
}
.topics-title {
  width: calc(100% - 25px);
  padding-right: 15px;
  border-right: 1px solid #cccc;
  margin-right: 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  #topics {
    margin: 4.35rem 0 5rem;
  }
  #topics .container-1000 {
    width: 66.66%;
  }
}
@media screen and (min-width: 992px) {
  #topics a {
    display: flex;
    align-items: center;
  }
  #topics .unit1 {
    margin-bottom: 0;
    margin-right: 1rem;
  }
  #topics .unit1 .topics-category {
    margin-left: 1rem;
  }
  #topics .unit2 {
    width: 100%;
  }
}
@media screen and (min-width: 1200px) {
  #topics .unit1 .topics-day {
    font-size: 0.875rem;
    line-height: 1;
  }
  #topics .unit1 .topics-category {
    font-size: 0.81rem;
  }
}
/*************************
/* EVENT
*************************/
#top_event {
  background: #fff;
  width: 92.3%;
  margin: 0 auto;
  padding: 2.8rem 0 3.84rem;
  overflow: hidden;
}
#top_event .h2_title {
  padding-left: 8.3%;
}
.top_event_btn {
  margin-top: 2.8rem;
  text-align: center;
}
/*スリックスライダー*/
@media (max-width:767px) {
  .event-slider {
    opacity: 0;
    margin: 0 -10px;
    transition: opacity .3s ease;
    padding-left: 8.3% !important;
  }
  .event-slider.slick-ready {
    opacity: 1;
  }
  .event-slider .slick-list {
    padding-right: 15% !important;
    padding-left: 0 !important;
    overflow: hidden;
  }
  .event-slider .slick-slide {
    padding: 0 10px;
  }
}
@media screen and (min-width: 768px) {
  #top_event .inner {
    margin: 0 auto;
    width: 88.23%;
  }
  #top_event .h2_title {
    padding-left: 0;
  }
  .event-slider {
    display: flex;
    margin: 0 -0.7rem;
  }
  a.event-slider-item {
    width: 33.33%;
    padding: 0 0.7rem;
  }
}
@media screen and (min-width: 992px) {
  #top_event {
    padding: 5rem 0 6rem;
  }
}
@media screen and (min-width: 1400px) {
  #top_event .inner {
    display: flex;
    justify-content: space-between;
  }
  #top_event .inner .h2_title {
    width: 14.6%;
  }
  #top_event .inner .event-slider {
    width: 85.33%;
  }
}
@media screen and (min-width: 1600px) {
  #top_event {
    padding: 7.5rem 0;
  }
  a.event-slider-item {
    padding: 0 1.09rem;
  }
  .event-slider {
    margin: 0 -1.09rem;
  }
  .top_event_btn {
    margin-top: 4rem;
  }
}
/*************************
/* MESSAGE
*************************/
#top_message {
  padding: 4.6rem 0;
  position: relative;
  overflow: hidden;
}
#top_message .pc-none .unit-img {
  position: relative;
  padding-bottom: 4.6rem;
  margin-bottom: 1.2rem;
}
#top_message .pc-none .unit-img .img1 {
  width: 64.7%;
}
#top_message .pc-none .unit-img .img2 {
  width: 49.6%;
  position: absolute;
  bottom: 0;
  right: 0;
}
#top_message .unit-txt h2.f-eng {
  font-size: 1rem;
  color: #808080;
  margin-bottom: 1.7rem;
}
#top_message .unit-txt .txt1 {
  font-size: 1.7rem;
  line-height: 1.8;
  margin-bottom: 1.6rem;
}
#top_message .unit-txt .txt2 {
  font-size: 1.07rem;
  text-align: justify;
}
#top_message .pc-none .img3 {
  width: 72.2%;
  margin: 4.23rem 0 0 auto;
}
.top_message_btn {
  margin-top: 2.8rem;
  text-align: left;
}
@media screen and (min-width: 768px) {
  #top_message {
    padding: 8.75rem 0;
  }
  #top_message .sp-none .inner {
    display: flex;
    justify-content: space-between;
    position: relative;
  }
  #top_message .sp-none .inner .img {
    width: 44.6%;
  }
  #top_message .sp-none .inner .unit-txt {
    width: 45.38%;
    margin-top: 1.5rem;
  }
  #top_message .sp-none .img2 {
    position: absolute;
    top: 7.5%;
    right: 5.55%;
    width: 15%;
  }
  #top_message .sp-none .img3 {
    width: 64.44%;
    margin: 5.31rem 0 0 auto;
  }
}
@media screen and (min-width: 1200px) {
  .top_message_btn {
    display: none;
  }
  #top_message .unit-txt h2.f-eng {
    font-size: 1.06rem;
    margin-bottom: 3.5rem;
  }
  #top_message .unit-txt .txt1 {
    font-size: 1.875rem;
    margin-bottom: 2rem;
  }
  #top_message .unit-txt .txt2 {
    font-size: 1rem;
    line-height: 1.8;
  }
}
@media screen and (min-width: 1600px) {}
/* 流れる文字 */
#top_message::after {
  content: "PRICE QUALITY PEACE OF MIND PRICE QUALITY PEACE OF MIND PRICE QUALITY PEACE OF MIND ";
  position: absolute;
  bottom: 6rem;
  left: 0;
  white-space: nowrap;
  font-size: 5.38rem;
  color: #fff;
  animation: messageSlide 45s linear infinite;
  pointer-events: none;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.02rem;
  z-index: -1;
  line-height: 1;
}
@keyframes messageSlide {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@media screen and (min-width: 768px) {
  #top_message::after {
    font-size: 8.75rem;
    bottom: 9rem;
  }
}
/* 1200px以降 全体リンク */
#top_message {
  position: relative;
}
.top_message_link {
  display: none;
}
@media (min-width:1200px) {
  .top_message_link {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
  }
  /* デフォルトカーソル非表示 */
  #top_message:hover {
    cursor: none;
  }
}
/* 円カーソル */
.cursor-circle {
  position: fixed;
  left: 0;
  top: 0;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: #c98b5b;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  pointer-events: none;
  transform: translate(-50%, -62%) scale(.7);
  z-index: 9999;
  opacity: 0;
  transition:
    opacity .3s ease, transform .45s cubic-bezier(.34, 1.56, .64, 1);
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 0.02rem;
}
/*************************
/* BUSINESS
*************************/
.pin-spacer{
 overflow:visible !important;
}
#top_businesses {
  padding: 3.4rem 0 5.6rem;
}
.section-title-wrap p.mb-0 {
  font-size: 1.07rem;
}
.sp_build_section {
  margin-top: 3.07rem;
}
.sp_build_section .item {
  border-top: 1px solid #cccccc;
  padding: 3.84rem 0;
}
.sp_build_section .item:last-child {
  padding-bottom: 0;
}
.sp_build_section .item .txt_item {
  margin-top: 2.4rem;
}
.top_business_btn {
  text-align: center;
  margin-top: 2.5rem;
}
#top_businesses h3 {
  text-align: center;
  font-weight: 400;
  letter-spacing: 0.2rem;
  margin-bottom: 1.2rem;
  font-size: 1.53rem;
}
#top_businesses .txt_item {
  font-size: 1.07rem;
  text-align: justify;
}
.build_section {
  position: relative;
}
.sp_build_section .vm.vm_gray {
  width: 200px;
  height: 50px;
}
.vm .icon {
  background: url(../images/icon_link_gray.svg);
  background-repeat: no-repeat;
  width: 16px;
  height: 13px;
  display: inline-block;
  position: relative;
  top: -1px;
  margin-left: 0.5rem;
}
#top_businesses h2.h2_title {
  margin-bottom: 1.3rem;
}
@media screen and (min-width: 768px) {
  #top_businesses {
    padding: 7.8rem 0 9.375rem;
  }
  .sp_build_section .item {
    border-top: unset;
    padding: 0;
    display: flex;
    justify-content: space-between;
    position: relative;
    margin-bottom: 3rem;
  }
  .sp_build_section .item:last-child {
    margin-bottom: 0;
  }
  .sp_build_section .item .txt_item {
    margin-top: 0;
    width: 38.5%;
    padding: 2rem 0 0;
    border-top: 1px solid #cccccc;
  }
  .sp_build_section .img_item {
    width: 54.5%;
  }
  .sp_build_section {
    margin-top: 4.5rem;
  }
}
@media screen and (min-width: 992px) {
  #top_businesses .section-title-wrap {
    margin-bottom: 5.9rem;
  }
  .build_inner {
    display: flex;
    justify-content: space-between;
    margin: auto;
    align-items: center;
    position: relative;
  }
  .build_inner::before {
    content: "";
    background: #cccccc;
    height: 1px;
    width: 24.66%;
    right: 0;
    top: 0;
    position: absolute;
  }
  .build_inner::after {
    content: "";
    background: #cccccc;
    height: 1px;
    width: 24.66%;
    right: 0;
    bottom: 0;
    position: absolute;
  }
  #top_businesses .vm.vm_gray {
    height: 50px;
    max-width: 200px;
    width: 80%;
    font-size: 0.9375rem;
  }
  #top_businesses h3 {
    margin-bottom: 2rem;
    font-size: 1.56rem;
  }
  /* 左画像 */
  .build_img {
    width: 68.66%;
    position: relative;
  }
  /* 高さを保持するダミー */
  .build_img::before {
    content: "";
    display: block;
    padding-top: 66%; /* 画像比率に合わせる */
  }
  .img_item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transform: translateY(80px);
  }
  .img_item:first-child {
    opacity: 1;
    transform: none;
  }
  .img_item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  /* 右テキスト */
  .build_txt {
    width: 24.66%;
    position: relative;
  }
  .txt_item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    transform: translateY(60px);
  }
  .txt_item:first-child {
    position: relative;
    opacity: 1;
    transform: none;
  }
}
/* PC */
.build_section {
  display: none;
}
/* SP */
.sp_build_section {
  display: block;
}
@media screen and (min-width:992px) {
  .sp_build_section {
    display: none;
  }
  .build_section {
    display: block;
  }
  .section-title-wrap {
    display: flex;
  }
  .section-title-wrap p.mb-0 {
    margin-top: 1.9rem;
    margin-left: 4.5rem;
  }
}
@media screen and (min-width: 1200px) {
  .section-title-wrap p.mb-0 {
    font-size: 1.25rem;
    margin-top: 1.8rem;
    margin-left: 6.25rem;
  }
}
/*カウンター*/
.build_img {
  position: relative;
}
.img_counter {
  position: absolute;
  bottom: -3rem;
  left: 0;
  display: flex;
  font-size: 0.875rem;
  color: #333333;
  z-index: 10;
  gap: 0.4rem;
}
.img_counter .counter {
  padding: 0.2rem 1rem;
  border-radius: 50px;
  background: #e6e6e6;
  color: #000;
  transition: background 0.4s ease, padding 0.4s ease, color 0.4s ease;
}
.img_counter .counter.active {
  background: #333333;
  color: #fff;
  padding: 0.2rem 2rem;
}
/*************************
/* ABOUT - Message
*************************/
#top_about1 {
  position: relative;
}
#top_about1 .container-1500 {
  position: absolute;
  top: 3.75rem;
  transform: translateX(-50%);
  left: 50%;
  color: #fff;
  font-size: 1.07rem;
}
#top_about1 .container-1500 p {
  text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.3);
}
@media screen and (min-width: 992px) {
  #top_about1 .container-1500 {
    top: 6.25rem;
  }
}
/*************************
/* ABOUT
*************************/
#top_about2 {
  padding: 3.15rem 0 3.75rem;
}
#top_about2 h2.h2_title {
  margin-bottom: 1.3rem;
}
.section-title-column {
  margin-bottom: 2.5rem;
}
.section-title-column p.mb-0 {
  font-size: 1.07rem;
}
#top_about2 .about-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#top_about2 .about-wrap a.about-item {
  display: block;
  width: 48.19%;
  color: #1a1a1a;
  margin-bottom: 1.4rem;
}
#top_about2 .about-wrap a.about-item:nth-child(n+3) {
  margin-bottom: 0;
}
#top_about2 .about-wrap a.about-item:hover {
  text-decoration: none;
}
#top_about2 .about-wrap a.about-item p {
  font-size: 1.15rem;
  letter-spacing: 0.1rem;
  margin: 0.9rem 0 0;
  line-height: 1.45;
}
@media screen and (min-width: 768px) {
  #top_about2 {
    padding: 8.75rem 0;
  }
  a.about-item .img {
    position: relative;
    display: inline-block;
  }
  a.about-item .img::after {
    content: "";
    position: absolute;
    bottom: -1rem;
    right: 1rem;
    width: 50px;
    height: 50px;
    background: #333333;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease;
    z-index: 2;
  }
  a.about-item .img::before {
    content: "";
    position: absolute;
    width: 11px;
    height: 11px;
    background: url(../images/arrow2.svg) no-repeat center center;
    background-size: contain;
    bottom: 0.5rem;
    right: 2.5rem;
    z-index: 3;
    pointer-events: none;
  }
  a.about-item:hover .img::after {
    transform: scale(1.2);
  }
  #top_about2 .about-wrap a.about-item {
    width: 46.7%;
    margin-bottom: 3rem;
  }
  #top_about2 .about-wrap a.about-item p {
    font-size: 1.25rem;
    margin: 1.2rem 0 0;
  }
}
@media screen and (min-width: 992px) {
  #top_about2 .container-1300 {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .section-title-column {
    margin-bottom: 0;
    width: 30.2%;
  }
  #top_about2 .about-wrap {
    width: 70%;
  }
  #top_about2 h2.h2_title {
    margin-bottom: 2.7rem;
  }
}
@media screen and (min-width: 1200px) {
  a.about-item .img::after {
    width: 70px;
    height: 70px;
  }
	  a.about-item:hover .img::after {
    transform: scale(1.3);
  }
  a.about-item .img::before {
    width: 13px;
    height: 13px;
    bottom: 0.8rem;
    right: 2.75rem;
  }
}
/*************************
/* INFORMATION
*************************/
#top_info {
  padding: 3.8rem 0 4.6rem;
}
.section-title-wrap .tab a {
  display: inline-block;
  padding: 0.5rem 0;
  margin-right: 0.7rem;
  text-decoration: none;
  color: #2e2e2e;
}
.section-title-wrap .tab a.active {
  color: #c98b5b;
  position: relative;
  text-decoration: none;
}
.section-title-wrap .tab a.active::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 4px;
  width: 100%;
  height: 1px;
  background-color: #c98b5b;
}
#top_info .section-title-wrap {
  width: 85%;
  margin: 0 auto 2.3rem;
}
.top_info_btn {
  text-align: center;
  margin-top: 3.07rem;
}
@media (max-width:767px) {
  .info-slider {
    opacity: 0;
    margin: 0 -15px;
    transition: opacity .3s ease;
    padding-left: 8.3% !important;
  }
  .info-slider.slick-ready {
    opacity: 1;
  }
  .info-slider .slick-list {
    padding-right: 25% !important;
    padding-left: 0 !important;
    overflow: hidden;
  }
  .info-slider .slick-slide {
    padding: 0 15px;
  }
}
@media (min-width:768px) {
  .info-slider {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -0.7rem;
  }
  .info-slider-item {
    width: 33.33%;
    padding: 0 0.7rem;
    display: block;
  }
  #top_info .section-title-wrap {
    width: 100%;
    margin: 0 auto 2.3rem;
  }
  #top_info .inner {
    width: 85%;
    margin: 0 auto;
    max-width: 1500px;
  }
  #top_info {
    padding: 8.75rem 0 7.5rem;
  }
}
@media screen and (min-width: 992px) {
  #top_info .section-title-wrap {
    width: 100%;
    margin: 0 auto 4.35rem;
    display: flex;
    align-items: flex-end;
  }
  #top_info h2.h2_title {
    margin-bottom: 0;
  }
  #top_info .tab {
    margin-left: 6.25rem;
  }
}
@media screen and (min-width: 1200px) {
  .info-slider {
    margin: 0 -1.4rem;
  }
  .info-slider-item {
    padding: 0 1.4rem;
    margin-bottom: 0;
  }
  a.info-slider-item .info-title {
    font-size: 1.125rem;
    margin: 1.4rem 0 0.8rem;
  }
  a.info-slider-item .info-txt {
    font-size: 0.875rem;
    margin-bottom: 1.5rem;
  }
  a.info-slider-item .info-note {
    font-size: 0.8125rem;
  }
  .section-title-wrap .tab a {
    margin-right: 1.5rem;
    font-size: 1.125rem;
  }
  .top_info_btn {
    margin-top: 4.68rem;
  }
}
/*************************
/* MARUTTOKUNN
*************************/
#top_maruttokun {
  padding: 3.125rem 0 3.75rem;
  position: relative;
}
#top_maruttokun::before {
  content: "";
  background: #cccccc;
  height: 1px;
  width: 85%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
	max-width: 1500px;
}
#top_maruttokun .section-title-wrap {
  width: 85%;
  margin: 0 auto 2.8rem;
}
#top_maruttokun h2.h2_title {
  margin-bottom: 1.75rem;
}
@media (min-width:768px) {
  .maruttokun-slider {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -0.7rem;
  }
  .maruttokun-slider-item {
    width: 25%;
    padding: 0 0.7rem;
    display: block;
  }
  #top_maruttokun .section-title-wrap {
    width: 100%;
    margin: 0 auto 2.3rem;
  }
  #top_maruttokun .inner {
    width: 85%;
    margin: 0 auto;
    max-width: 1500px;
  }
  #top_maruttokun {
    padding: 7.5rem 0;
  }
}
@media screen and (min-width: 992px) {
  #top_maruttokun .section-title-wrap {
    margin: 0 auto 4.68rem;
  }
}
@media screen and (min-width: 1200px) {
  .maruttokun-slider {
    margin: 0 -1.03rem;
  }
  .maruttokun-slider-item {
    padding: 0 1.03rem;
    margin-bottom: 0;
  }
  #top_maruttokun .top_event_btn {
    margin-top: 4.68rem;
  }
}
@media (max-width:767px) {
  .maruttokun-slider {
    opacity: 0;
    margin: 0 -15px;
    transition: opacity .3s ease;
    padding-left: 8.3% !important;
  }
  .maruttokun-slider.slick-ready {
    opacity: 1;
  }
  .maruttokun-slider .slick-list {
    padding-right: 25% !important;
    padding-left: 0 !important;
    overflow: hidden;
  }
  .maruttokun-slider .slick-slide {
    padding: 0 15px;
  }
}
/*************************
/* SNS
*************************/
#top_sns a{
	    background: #fff;
    display: inline-flex;
    width: 100%;
    height: 150px;
    align-items: center;
    justify-content: center;
    color: #1a1a1a;
    position:relative;
    overflow:hidden;
    transition:color .35s ease;
}
/* 背景円 */
#top_sns a::before{
    content:"";
    position:absolute;
    width:1000px;
    height:1000px;
    background:#c98b5b;
    border-radius:50%;
    transform:translate(-50%,-50%) scale(0);
    transform-origin:center;
    top:var(--y);
    left:var(--x);
    transition: transform 1.2s cubic-bezier(.19,1,.22,1);
    z-index:0;
}
/* hover */
#top_sns a:hover{
    color:#fff;
}
#top_sns a:hover::before{
    transform:translate(-50%,-50%) scale(1);
}
#top_sns a:hover .icon{
    filter:invert(0);
}
#top_sns a .inner{
    position:relative;
    z-index:2;
}

#top_sns a .inner{
	    position: relative;
    top: -2.5%;
}
#top_sns a:hover{
	text-decoration: none;
}
#top_sns a .icon {
    background: url(../images/icon_instagram.svg);
    background-repeat: no-repeat;
    width: 15px;
    height: 15px;
    display: inline-block;
    filter: invert(1);
    background-position: center;
    margin-right: 0.4rem;
    position: relative;
    top: -1px;
    object-fit: contain;
	transition: filter .4s ease;
}
#top_sns a.top_YouTube_item{
	margin-top: 0.76rem;
}
#top_sns a.top_YouTube_item .icon{
	background: url("../images/icon_youtube.svg");
    background-repeat: no-repeat;
    width: 20px;
    height: 15px;
	    top: 0px;
}
#top_sns a .ttl{
	display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.53rem;
    margin-bottom: 0.5rem;
}
@media screen and (min-width: 768px) {
	#top_sns .container-1500{
		    display: flex;
    justify-content: space-between;
	}
	#top_sns a {
    width: 49%;
		    height: 180px;
}
	#top_sns a.top_YouTube_item {
    margin-top: 0;
}
}
@media screen and (min-width: 1200px) {
	    #top_sns a {
        height: 270px;
    }
	#top_sns a .ttl {
    font-size: 1.875rem;
    margin-bottom: 0.8rem;
}
	#top_sns a .icon {
    width: 25px;
    height: 25px;
    margin-right: 0.7rem;
    top: 1px;
}
	#top_sns a.top_YouTube_item .icon {
    width: 34px;
    height: 24px;
}
}