@charset "UTF-8";

.l-wrapper-none {
  overflow: hidden;
}

  /* visumo-stert */
body {position: static !important;}
.hacobune-logo{display: none!important;}
.ecbn-selection-footer2{display: none!important;}
.ecbn-selection-user{display: none;}
.hacobune-gallery * {
  font-family: 'Noto Sans JP' !important;
  letter-spacing: 0.045em;
}
.hacobune-app-container *, .hacobune-dialog-mask * {
  font-family: 'Noto Sans JP' !important;
}
.hacobune-grid-row {
    justify-content: flex-start;
    flex-wrap: nowrap!important;
    overflow: auto;
    gap: 2%;
}
.hacobune-app-container {
	background: none!important;
}
.hacobune-video-list-item-card{
	background: none!important;
	border: 0!important;
	padding: 0!important;
}
.hacobune-video-list-item-card-caption {
	background: none!important;
}

.hacobune-icon-button {
  padding-bottom: 4px !important;
}
@media (max-width: 749px) {
.hacobune-dialog-content {
  position: relative !important;
}
.hacobune-dialog-close-button-container {
  position: absolute !important;
}
}

#instagram1 .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a, .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction div {
	top: 182px!important;
}
.live {
    font-size: 3.5vw;
    margin-top: 3vw;
}
.live span{
background: #000;
border-radius: 30px;
color: #fff;
padding: 0 1.5%;
margin-right: 2%;
}

		
@media (min-width: 750px) {
    .ecbn-selection-item .ecbn-selection-caption:after {
        background: -webkit-linear-gradient(top, hsla(0, 0%, 96%, 0), #f7f7f7)!important;
    }
    .live {
    font-size: 15px;
    margin-top: 15px;
}

}
@media (max-width: 749px) {
    .hacobune-grid-row {
        gap: calc(4vw - 4px);
    }
    .hacobune-grid-row .hacobune-grid-col {
        flex: 0 0 calc((100vw - 60px) / 2 - 5px)!important;
        max-width: calc((100vw - 60px) / 2 - 5px)!important;
    }
}

@media (max-width: 720px) {
    #instagram1 .vsm-goods .ecbn-selection-wrapper li.ecbn-selection-item>div>a, #instagram1 .vsm-slider .ecbn-selection-wrapper li.ecbn-selection-item>div>a {
    aspect-ratio: 9/16;
    object-fit: cover;
	}
    #instagram1 .vsm-goods .ecbn-selection-wrapper li.ecbn-selection-item, #instagram1 .vsm-slider .ecbn-selection-wrapper li.ecbn-selection-item {
		width: calc(44vw - 4px)!important;
	}
    #instagram1 .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction a.ecbn-selection-slider-next, .ecbn-selection-wrapper .ecbn-selection-slider-controls-direction div.ecbn-selection-slider-next {
	top: calc(38.66667vw - 1px)!important;
	}
	.ecbn-selection-item .ecbn-selection-caption:after {
		background: -webkit-linear-gradient(top, hsla(0, 0%, 96%, 0), #f7f7f7)!important;
	}
.ecbn-selection-widget {max-width: 390px;}
.related-product-item-image[data-v-901b4062]{max-height: 100%;}
.hacobune-app-container[data-v-84392b72] {max-width: 390px;}
}
@media (min-width: 721px) {
    #instagram1 .vsm-goods .ecbn-selection-wrapper li.ecbn-selection-item>div>a, #instagram1 .vsm-slider .ecbn-selection-wrapper li.ecbn-selection-item>div>a {
        height: 398px!important;
        width: 224px;
    }
}
/* visumo-end */

/* ブレークポイントはmin-width: 750px */
.fz-main {
  font-size: 3.6vw;
}
@media screen and (min-width: 750px), print {
  .fz-main {
    font-size: 15px;
  }
}

.info {
  background-color: #f7f7f7;
}
.info-section {
  margin-inline: auto;
  max-width: 1100px;
}
@media screen and (min-width: 750px) and (max-width: 1100px) {
  .info-section {
    max-width: 90%;
  }
}
.info-section .list {
  margin-inline: auto;
  padding-top: 1.8vw;
  padding-bottom: 1.8vw;
  padding-left: 5.3vw;
  padding-right: 5.3vw;
}
@media screen and (min-width: 750px), print {
  .info-section .list {
    padding-top: 20px;
  }
}
@media screen and (min-width: 750px), print {
  .info-section .list {
    padding-bottom: 20px;
  }
}
@media screen and (min-width: 750px), print {
  .info-section .list {
    padding-left: 40px;
  }
}
@media screen and (min-width: 750px), print {
  .info-section .list {
    padding-right: 40px;
  }
}
.info-section .list li {
  padding-top: 3.7vw;
  padding-bottom: 3.7vw;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 7em 1fr;
  grid-template-columns: 7em 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 750px), print {
  .info-section .list li {
    padding-top: 20px;
  }
}
@media screen and (min-width: 750px), print {
  .info-section .list li {
    padding-bottom: 20px;
  }
}
.info-section .list li:not(:last-child) {
  border-bottom: 1px solid #d9d9d9;
}
.info-section .list time {
  padding-right: 0vw;
}
@media (max-width: 749px) {
.info-section .list time {
    font-family: "tt-commons-pro", sans-serif !important;
        font-weight: 400 !important;
}
}
@media screen and (min-width: 750px), print {
  .info-section .list time {
    padding-right: 0px;
  }
}
.info-in {
  padding-left: 4.2vw;
  padding-right: 4.2vw;
}
@media screen and (min-width: 750px), print {
  .info-in {
    padding-left: 0px;
  }
}
@media screen and (min-width: 750px), print {
  .info-in {
    padding-right: 0px;
  }
}
.info-anchor {
  background-color: #f1f1f1;
  margin-bottom: 11vw; /* 83 */
  padding: 1.3em 0;
  display: block;
  font-size: 3.2vw;
}
@media screen and (min-width: 750px), print {
  .info-anchor {
    margin-bottom: 0px;
  }
}
@media screen and (min-width: 750px), print {
  .info-anchor {
    font-size: 15px;
  }
}
@media screen and (min-width: 750px), print {
  .info-anchor {
    display: none;
  }
}
.info-anchor ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.info-anchor ul li a {
  padding: 1.3em 2em;
}
.info-anchor ul li:not(:last-child) {
  border-right: 1px solid #000;
}
.info-top .info-section {
  padding-top: 0vw;
  padding-bottom: 16vw;
}
@media screen and (min-width: 750px), print {
  .info-top .info-section {
    padding-top: 120px;
  }
}
@media screen and (min-width: 750px), print {
  .info-top .info-section {
    padding-bottom: 150px;
  }
}
.info-top .list {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}
.info-bottom .info-section {
  padding-top: 20vw;
	padding-bottom: 21.3vw;
}
@media screen and (min-width: 750px), print {
  .info-bottom .info-section {
    padding-top: 160px;
  }
}
@media screen and (min-width: 750px), print {
  .info-bottom .info-section {
    padding-bottom: 160px;
  }
}
.info-bottom .info-in {
  margin-bottom: 9.2svw; /* 69s */
}
@media screen and (min-width: 750px), print {
  .info-bottom .info-in {
    margin-bottom: 20px;
  }
}
.info-bottom .list {
  border-top: 1px solid #000;
}
.info-btn {
  font-size: 3.46666vw;
  margin-inline: auto;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 4.2vw;
  padding-right: 4.2vw;
}
@media screen and (min-width: 750px), print {
  .info-btn {
    font-size: 16px;
  }
}
@media screen and (min-width: 750px), print {
  .info-btn {
    padding-left: 0px;
  }
}
@media screen and (min-width: 750px), print {
  .info-btn {
    padding-right: 0px;
  }
}
@media screen and (min-width: 750px), print {
  .info-btn {
    width: 400px;
  }
}
.info-btn a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 11.7vw; /* 88 */
}
@media screen and (min-width: 750px), print {
  .info-btn a {
    height: 50px;
  }
}

.oil {
  margin-inline: auto;
}
.oil-wrap {
  max-width: 1920px;
  margin-inline: auto;
  overflow: hidden;
}
.oil-box {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 750px), print {
  .oil-box {
    max-width: 1340px;
    margin-inline: auto;
  }
}
.oil-in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (min-width: 750px), print {
  .oil-in {
    margin-inline: -290px;
  }
}
.oil-content {
  position: relative;
}
.oil-img {
  position: relative;
}
.oil-detail {
  position: absolute;
  z-index: 1;
  aspect-ratio: 960/586;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.oil-detail .svg {
  width: 100%;
  max-width: 960px;
}
.oil-detail .svg:hover {
  opacity: 0.7;
}
.oil-copy {
  line-height: 1.2;
  font-size: 2.2vw;
  padding-bottom: 2.1vw;
}
@media screen and (min-width: 1340px) {
  .oil-copy {
    font-size: 35px;
    padding-bottom: 32px;
  }
}
.oil-name {
  font-size: 1vw;
  padding-bottom: 3.2vw;
}
@media screen and (min-width: 1340px) {
  .oil-name {
    font-size: 16px;
    padding-bottom: 48px;
  }
}
.oil-lead {
  font-size: 0.9vw;
  padding-bottom: 3.7vw;
}
@media screen and (min-width: 1340px) {
  .oil-lead {
    font-size: 15px;
    padding-bottom: 56px;
  }
}
.oil-link {
  position: absolute;
  bottom: 25%;
  right: 33%;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #000;
  font-size: 0.9vw;
  line-height: 1;
  padding-bottom: 0.5vw;
}
@media screen and (min-width: 1340px) {
  .oil-link {
    font-size: 15px;
    bottom: 132px;
    right: 288px;
  }
}
.oil-link a span {
  padding-right: 1em;
}
.oil-link a::after {
  content: "";
  display: inline-block;
  width: 0.4em;
  height: 0.4em;
  aspect-ratio: 1/1;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.pickup-section {
  margin-top: 21.3vw; /* 160 */
  margin-bottom: 24.1vw; /* 181 */
}
@media screen and (min-width: 750px), print {
  .pickup-section {
    margin-top: 200px;
  }
}
@media screen and (min-width: 750px), print {
  .pickup-section {
    margin-bottom: 160px;
  }
}
.pickup-in {
  max-width: 1100px;
  margin-inline: auto;
  padding-left: 4.2vw;
  padding-right: 4.2vw;
}
@media screen and (min-width: 750px), print {
  .pickup-in {
    padding-left: 0px;
  }
}
@media screen and (min-width: 750px), print {
  .pickup-in {
    padding-right: 0px;
  }
}
.pickup-img {
  margin-bottom: 5.3vw; /* 40 */
}
@media screen and (min-width: 750px), print {
  .pickup-img {
    margin-bottom: 24px;
  }
}
.pickup-text {
  margin-bottom: 10.6vw; /* 80 */
}
@media screen and (min-width: 750px), print {
  .pickup-text {
    margin-bottom: 52px;
  }
}
.pickup-text01 {
  text-align: left;
  font-size: 3.6vw;
  line-height: 1.5;
  font-weight: 400;
}
@media screen and (min-width: 750px), print {
  .pickup-text01 {
    font-size: 15px;
    line-height: 1.6;
    font-weight: 400;
  }
}
@media screen and (min-width: 750px), print {
  .pickup-text01 {
    text-align: center;
  }
}
.pickup-btn {
  font-size: 3.46666vw;
  margin-inline: auto;
  width: 100%;
}
@media screen and (min-width: 750px), print {
  .pickup-btn {
    font-size: 16px;
  }
}
@media screen and (min-width: 750px), print {
  .pickup-btn {
    width: 400px;
  }
}
.pickup-btn a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 11.7vw; /* 88 */
}
@media screen and (min-width: 750px), print {
  .pickup-btn a {
    height: 50px;
  }
}

.best-section {
  margin-top: 21.3vw; /* 160 */
  /*margin-bottom: 21.3vw;*/ /* 160 */
}
@media screen and (min-width: 750px), print {
  .best-section {
    margin-top: 160px;
  }
}
@media screen and (min-width: 750px), print {
  .best-section {
    /*margin-bottom: 119px;*/
  }
}
.best-section .c-section_title {
  display: none;
}
.best-section .u-margin__top--80 {
  margin-top: 20px;
}
.best-section .u-margin__bottom--80 {
  margin-bottom: 0;
}
.best-section .list-item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[1];
  grid-template-columns: repeat(1, 1fr);
}
.best-section .list-img {
  position: relative;
  margin-bottom: 2.8vw; /* 21 */
  line-height: 1.8;
}
@media screen and (min-width: 750px), print {
  .best-section .list-img {
    margin-bottom: 10px;
  }
}
.best-section .list-float {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-top: 2.1vw;
  padding-left: 2.1vw;
  padding-right: 2.1vw;
}
@media screen and (min-width: 750px), print {
  .best-section .list-float {
    padding-top: 13px;
  }
}
@media screen and (min-width: 750px), print {
  .best-section .list-float {
    padding-left: 13px;
  }
}
@media screen and (min-width: 750px), print {
  .best-section .list-float {
    padding-right: 13px;
  }
}
.best-section .list-num {
  font-family: "tt-commons-pro-thin", sans-serif;
  font-weight: 100;
  font-style: normal;
  line-height: 1;
  font-size: 6.9vw;
}
@media screen and (min-width: 750px), print {
  .best-section .list-num {
    font-size: 2.8vw;
  }
}
@media screen and (min-width: 1100px) {
  .best-section .list-num {
    font-size: 30px;
  }
}
.best-section .list-tag {
  font-family: "tt-commons-pro-thin", sans-serif;
  font-weight: 100;
  font-style: normal;
  line-height: 1;
  display: -ms-grid;
  display: grid;
  place-content: center;
  background-color: #f5f3ed;
  width: 9.7vw;
  height: 9.7vw;
  font-size: 2.6vw;
  aspect-ratio: 1/1;
}
@media screen and (min-width: 750px), print {
  .best-section .list-tag {
    font-size: 1em;
    width: 27%;
    height: 27%;
  }
}
@media screen and (min-width: 1100px) {
  .best-section .list-tag {
    font-size: 16px;
    width: 62px;
    height: 62px;
  }
}
.best-section .list-tag:empty {
  opacity: 0;
}
.best-section .list-name {
  font-size: 3.6vw;
  word-break: break-all;
  min-height: 4em;
  margin-bottom: 4.2vw; /* 32 */
  line-height: 2;
	text-decoration: underline;
}
@media screen and (min-width: 750px), print {
  .best-section .list-name {
    font-size: 15px;
  }
}
@media screen and (min-width: 750px), print {
  .best-section .list-name {
    margin-bottom: 5px;
  }
}
.best-section .list-price {
  font-size: 3.06666vw;
}
@media screen and (min-width: 750px), print {
  .best-section .list-price {
    font-size: 13px;
  }
}
.best-section .list-price::after {
  content: "（税込）";
  font-size: 2.66666vw;
}
@media screen and (min-width: 750px), print {
  .best-section .list-price::after {
    font-size: 10px;
  }
}
.best-section .list-price span::after {
  content: "円";
}
.best-btn {
  font-size: 3.46666vw;
  margin-inline: auto;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-left: 4.2vw;
  padding-right: 4.2vw;
}
@media screen and (min-width: 750px), print {
  .best-btn {
    font-size: 16px;
  }
}
@media screen and (min-width: 750px), print {
  .best-btn {
    padding-left: 0px;
  }
}
@media screen and (min-width: 750px), print {
  .best-btn {
    padding-right: 0px;
  }
}
@media screen and (min-width: 750px), print {
  .best-btn {
    width: 400px;
  }
}
.best-btn a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 11.7vw; /* 88 */
}
@media screen and (min-width: 750px), print {
  .best-btn a {
    height: 50px;
  }
}

.campaign-section {
  background-color: #f1f1f1;
  padding-top: 10.6vw;
  padding-bottom: 10.6vw;
	margin-top: 21.3vw;
}
.campaign-section .item p {
	text-align: right;
}
.campaign-section .btn-link-arr {
	margin-top: 3%;
	text-align: right;
}
.campaign-section .text {
	font-size: 3.6vw;
}
@media screen and (min-width: 750px), print {
  .campaign-section {
    padding-top: 75px;
	  margin-top: 200px;
  }
.campaign-section .text {
	font-size: 15px;
}
}
@media screen and (min-width: 750px), print {
  .campaign-section {
    padding-bottom: 42px;
  }
}
.campaign-in {
  max-width: 1100px;
  margin-inline: auto;
  padding-left: 4.2vw;
  padding-right: 4.2vw;
}
@media screen and (min-width: 750px), print {
  .campaign-in {
    padding-left: 0px;
  }
}
@media screen and (min-width: 750px), print {
  .campaign-in {
    padding-right: 0px;
  }
}
.campaign-content {
  overflow-y: auto;
  padding-bottom: 5.3vw;
}
@media screen and (min-width: 750px), print {
  .campaign-content {
    padding-bottom: 40px;
  }
}
.campaign-content-in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.6%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: auto;
}
.campaign-content .item {
  width: 100%;
  max-width: 340px;
  font-size: 3.6vw;
}
@media screen and (min-width: 750px), print {
  .campaign-content .item {
    font-size: 15px;
  }
}
.campaign-content .item .img {
  margin-bottom: 4.2vw; /* 32 */
}
@media screen and (min-width: 750px), print {
  .campaign-content .item .img {
    margin-bottom: 16px;
  }
}
.campaign-content .item .img a {
  display: -ms-grid;
  display: grid;
  place-content: center;
  width: 100%;
  background-color: #d9d9d9;
  aspect-ratio: 340/450;
}
@media screen and (max-width: 749px) {
  .campaign-content.item1 .campaign-content-in {
    width: auto;
  }
}
@media screen and (max-width: 749px) {
  .campaign-content.item2 .campaign-content-in {
    width: auto;
  }
}
@media screen and (max-width: 749px) {
  .campaign-content.item3 .campaign-content-in {
   /*3つまで width: 120vw;*/
    width: 145vw;
  }
}

.instagram-section {
  padding-top: 23.5vw;
}
@media screen and (min-width: 750px), print {
  .instagram-section {
    padding-top: 160px;
  }
}
.instagram-in {
  max-width: 1100px;
  margin-inline: auto;
  padding-left: 0vw;
  padding-right: 0vw;
}
@media screen and (min-width: 750px), print {
  .instagram-in {
    padding-left: 0px;
  }
}
@media screen and (min-width: 750px), print {
  .instagram-in {
    padding-right: 0px;
  }
}
.instagram-content {
  background-color: #d3d3d3;
  height: 61vh;
}
@media screen and (min-width: 750px), print {
  .instagram-content {
    height: 590px;
  }
}

.journal-section {
  padding-top: 23.5vw;
	/*margin-bottom: 21.3vw;*/
}
@media screen and (min-width: 750px), print {
  .journal-section {
    padding-top: 160px;
	  /*margin-bottom: 119px;*/
  }
}
.journal-in {
  max-width: 1100px;
  margin-inline: auto;
  padding-left: 4.2vw;
  padding-right: 4.2vw;
}
@media screen and (min-width: 750px), print {
  .journal-in {
    padding-left: 0px;
  }
}
@media screen and (min-width: 750px), print {
  .journal-in {
    padding-right: 0px;
  }
}
.journal-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 10.6vw; /* 80 */
  gap: 13.3vw;
}
@media screen and (min-width: 750px), print {
  .journal-content {
    margin-bottom: 58px;
  }
}
@media screen and (min-width: 750px), print {
  .journal-content {
    gap: 80px 40px;
  }
}
.journal-item {
  width: 100%;
}
@media screen and (min-width: 750px), print {
  .journal-item {
    width: calc((100% - 40px) / 2);
  }
}
.journal-item .img {
  width: 100%;
  margin-bottom: 5.3vw; /* 40 */
}
@media screen and (min-width: 750px), print {
  .journal-item .img {
    margin-bottom: 24px;
  }
}
.journal-item .img a {
  display: block;
}
.journal-item .img a img {
  width: 100%;
}
.journal-item .text {
  font-size: 3.6vw;
}
@media screen and (min-width: 750px), print {
  .journal-item .text {
    font-size: 15px;
  }
}
.journal-btn {
  font-size: 3.46666vw;
  margin-inline: auto;
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 750px), print {
  .journal-btn {
    font-size: 16px;
  }
}
@media screen and (min-width: 750px), print {
  .journal-btn {
    width: 400px;
  }
}
.journal-btn a {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 11.7vw; /* 88 */
}
@media screen and (min-width: 750px), print {
  .journal-btn a {
    height: 50px;
  }
}
.journal-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}



.contents-section {
  padding-top: 23.5vw;
	/*margin-bottom: 21.3vw;*/
}
@media screen and (min-width: 750px), print {
  .contents-section {
    padding-top: 160px;
	  /*margin-bottom: 119px;*/
  }
}
.contents-in {
  max-width: 1100px;
  margin-inline: auto;
  padding-left: 4.2vw;
  padding-right: 4.2vw;
}
@media screen and (min-width: 750px), print {
  .contents-in {
    padding-left: 0px;
  }
}
@media screen and (min-width: 750px), print {
  .contents-in {
    padding-right: 0px;
  }
}
.contents-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 13.3vw 10vw;
}
@media screen and (min-width: 750px), print {
  .contents-content {
    gap: 80px 40px;
  }
}
.contents-item {
    width: calc((100% - 10vw) / 2);
}
@media screen and (min-width: 750px), print {
  .contents-item {
    width: calc((100% - 80px) / 3);
  }
}
.contents-item .img {
  width: 100%;
  margin-bottom: 5.3vw; /* 40 */
}
@media screen and (min-width: 750px), print {
  .contents-item .img {
    margin-bottom: 24px;
  }
}
.contents-item .img a {
  display: block;
}
.contents-item .img a img {
  width: 100%;
}
.contents-item .text {
  font-size: 3.6vw;
}
@media screen and (min-width: 750px), print {
  .contents-item .text {
    font-size: 15px;
  }
}

@media screen and (max-width: 750px) {
	.contents-item:nth-child(3){
		display: none;
	}
}

.contents-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.contents-text span {
	font-size: 18px;
	line-height: 1.8rem;
}
@media screen and (max-width: 750px) {
.contents-text span {
	font-size: 4.4vw;
	line-height: 2.8rem;
}
}


.btn-link-arr {
  border-bottom: 1px solid #000000;
}
.btn-link-arr .text {
  text-decoration: none;
}

.regular-section {
  /*padding-top: 21.3vw;*/
	padding-bottom: 21.3vw;
}
@media screen and (min-width: 750px), print {
  .regular-section {
    /*padding-top: 160px;*/
  }
}
.regular-in {
  max-width: 1100px;
  margin-inline: auto;
  padding-left: 4.2vw;
  padding-right: 4.2vw;
}
@media screen and (min-width: 750px), print {
  .regular-in {
    padding-left: 0px;
  }
}
@media screen and (min-width: 750px), print {
  .regular-in {
    padding-right: 0px;
  }
}
.toppage {
  background-color: #f7f7f7;
  letter-spacing: 0.045em;
}
.toppage .ttl {
  text-align: center;
  margin-bottom: 7.4vw; /* 56 */
}
@media screen and (min-width: 750px), print {
  .toppage .ttl {
    margin-bottom: 40px;
  }
}
.toppage .ttl .en {
  font-size: 7.33333vw;
  margin-bottom: 0vw; /* 0 */
  font-weight: 600 !important;
}
@media screen and (min-width: 750px), print {
  .toppage .ttl .en {
    font-size: 32px;
  }
}
@media screen and (min-width: 750px), print {
  .toppage .ttl .en {
    margin-bottom: 11px;
  }
}
@media screen and (max-width: 749px) {
  .toppage .ttl .en {
    font-weight: 300 !important;
    font-family: "tt-commons-pro-light", sans-serif !important;
        /* font-weight: 400 !important; */
  }
}
.toppage .ttl .ja {
  font-size: 3.6vw;
}
@media screen and (min-width: 750px), print {
  .toppage .ttl .ja {
    font-size: 19px;
  }
}
.toppage .bnr-single {
  padding-left: 0vw;
  padding-right: 0vw;
  margin-inline: auto;
}
@media screen and (min-width: 750px), print {
  .toppage .bnr-single {
    padding-left: 0px;
  }
}
@media screen and (min-width: 750px), print {
  .toppage .bnr-single {
    padding-right: 0px;
  }
}

.star-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.3vw;
  margin-bottom: 0.8vw; /* 6 */
  font-size: 3.2vw;
}
@media screen and (min-width: 750px), print {
  .star-wrap {
    gap: 10px;
  }
}
@media screen and (min-width: 750px), print {
  .star-wrap {
    margin-bottom: 2px;
  }
}
@media screen and (min-width: 750px), print {
  .star-wrap {
    font-size: 15px;
  }
}
.star-rating {
  position: relative;
  display: inline-block;
  font-size: 3.2vw;
}
@media screen and (min-width: 750px), print {
  .star-rating {
    font-size: 13px;
  }
}
.star-rating-front {
  position: absolute;
  color: #b98b31;
  top: 0;
  z-index: 1;
  overflow: hidden;
}
.star-rating-back {
  position: relative;
  color: #d3d3d3;
}

.testviewer {
  margin-inline: auto;
}

.swiper-container {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}

.best-swiper-container {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  margin-bottom: 6.6vw; /* 50 */
}
@media screen and (min-width: 750px), print {
  .best-swiper-container {
    margin-bottom: 53px;
  }
}
.best-swiper-container .swiper-wrapper {
  padding-left: 4.2vw;
  padding-right: 4.2vw;
}
@media screen and (min-width: 750px), print {
  .best-swiper-container .swiper-wrapper {
    padding-left: 0px;
  }
}
@media screen and (min-width: 750px), print {
  .best-swiper-container .swiper-wrapper {
    padding-right: 0px;
  }
}
@media screen and (min-width: 750px), print {
  .best-swiper-container .swiper-button-next,
  .best-swiper-container .swiper-button-prev {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    top: 40% !important;
  }
}
.best-swiper-container .swiper-button-next {
  right: calc((100% - 98vw) / 2) !important; /* 1340px内に収めるための位置調整 */
}
@media screen and (min-width: 1100px) {
  .best-swiper-container .swiper-button-next {
    right: calc((100% - 1100px) / 2) !important; /* 1340px内に収めるための位置調整 */
  }
}
.best-swiper-container .swiper-button-prev {
  left: calc((100% - 98vw) / 2) !important; /* 1340px内に収めるための位置調整 */
}
@media screen and (min-width: 1100px) {
  .best-swiper-container .swiper-button-prev {
    left: calc((100% - 1100px) / 2) !important; /* 1340px内に収めるための位置調整 */
  }
}

.campaign-swiper-container {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.swiper-slide {
  width: 100%;
}

.swiper-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.swiper-button-next,
.swiper-button-prev {
  width: 50px; /* ナビゲーションボタン自体の幅を設定 */
  position: absolute;
  top: 50% !important;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #000 !important;
  display: none !important;
}
@media screen and (min-width: 750px), print {
  .swiper-button-next,
  .swiper-button-prev {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

.swiper-button-next:after,
.swiper-button-prev:after {
  font-size: 1.8rem !important;
}

.swiper-button-next {
  right: 200vw !important; /* 1340px内に収めるための位置調整 */
}
@media screen and (min-width: 750px), print {
  .swiper-button-next {
    right: calc((100% - 100vw) / 2) !important; /* 1340px内に収めるための位置調整 */
  }
}
@media screen and (min-width: 1100px) {
  .swiper-button-next {
    right: calc((100% - 1100px) / 2) !important; /* 1340px内に収めるための位置調整 */
  }
}

.swiper-button-prev {
  left: 200vw;
}
@media screen and (min-width: 750px), print {
  .swiper-button-prev {
    left: calc((100% - 100vw) / 2) !important; /* 1340px内に収めるための位置調整 */
  }
}
@media screen and (min-width: 1100px) {
  .swiper-button-prev {
    left: calc((100% - 1100px) / 2) !important; /* 1340px内に収めるための位置調整 */
  }
}

.swiper-pagination-bullet {
  background: #000 !important;
}

.swiper-pagination-bullet-active {
  background: #fff !important;
}
.review-section {
  padding-top: 23.5vw;
}
.review-section .review-content {
margin-bottom: 10.6vw;
}
.review-section .review-content-in {
display: -webkit-box;
  display: -ms-flexbox;
display: flex;
flex-wrap: wrap;
gap: 3.6vw;
-webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: auto;
}
.review-section .item{
width: calc((100% - 3.6vw) / 2);
/*box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.21);*/
background: #fff;
}
.review-section .text {
padding: 3vw;
}
.review-section .com {
font-size: 3.0vw;
}
.review-section .rev_data ,.day {
font-size: 2.8vw;
}
.review-section .com, .day {
margin-bottom: 2vw;
}
.review-section .rev_data span:first-child {
margin-right: 2vw;
}
@media screen and (min-width: 750px), print {
.review-section {
  padding-top: 160px;
}
.review-section .review-content {
margin-bottom: 58px;
}
.review-section .review-content-in {
gap: 40px;
}
.review-section .item{
width: calc((100% - 40px*3) / 4)
}
.review-section .text {
padding: 15px;
}
.review-section .com {
font-size: 13px;
}
.review-section .rev_data ,.day {
font-size: 12px;
}
.review-section .com, .day {
margin-bottom: 10px;
}
.review-section .rev_data span:first-child {
margin-right: 10px;
}
}