html {
  scroll-behavior: smooth;
  scroll-padding-top: 8vw;
}

.l-contents__frame {
  width: 68.05vw;
  padding-top: 10vw;
}

.header__hamburger {
  background: url('../image/common/hamburger-icon-b.png');
  background-size: cover;
  background-repeat: no-repeat;
}

.header__title {
  background: url('../image/common/logo-b.png');
  background-size: cover;
  background-repeat: no-repeat;
}

.header__link {
  color: #222;
  text-decoration: none;
}

.header__member {
  background: url('../image/common/member-icon-b.png');
  background-size: cover;
  background-repeat: no-repeat;
}

.header__cart {
  background: url('../image/common/cart-icon-b.png');
  background-size: cover;
  background-repeat: no-repeat;
}

section#column {
  height: auto;
  padding-bottom: 4.44vw;
}

section#column h2 {
  font-family: 'A1 Gothic M', sans-serif;
  font-size: 1.94vw;
  font-weight: 700;
  letter-spacing: 0.08em;
  width: 52.08vw;
  margin: 0 auto;
  text-align: left;
}

section#column h2::after {
  display: none;
}

section#column .date {
  font-size: 0.83vw;
  font-weight: 500;
  width: 52.08vw;
  margin: 0.97vw auto 0;
}

section#column .fv-image {
  width: 52.08vw;
  height: 34.72vw;
  margin: 0.97vw auto 0;
}

section#column img {
  width: 100%;
  height: auto;
}

section#column .column_row > .image > img {
  margin: 0 auto;
  object-fit: cover;
  width: auto;
  max-height: 34.72vw;
}

section#column .column_row > .image > iframe {
  margin: 0 auto;
  width: 100%;
  aspect-ratio: 560/315!important;
  height:auto!important;
}

section#column .column_row > .image.fv > img {
  width: 100%;
  border-radius: max(24px, 1.67vw) !important;
}

section#column .link_text {
  margin-top: 2vw;
  color: #0b3bb7;
  text-decoration: underline;
  text-underline-offset: 1vw;
  text-align: right;
}

.column_row {
  width: 52.08vw;
  margin: 2.64vw auto 0;
  color: #5f5f5f;
  font-size: 1.11vw;
  line-height: 1.6;
}

.column_row .index-wrap {
  border: 1px solid #dadada;
  background: white;
  padding-left: 2.78vw;
  padding-top: 0.86vw;
  margin-top: 2vw;
}

.column_row .index-text {
  margin-top: 0.88vw;
  margin-bottom: 1.32vw;
}

.column_row .index-text a {
  color: #5f5f5f;
  text-decoration: underline;
}

.column_row .index-text a:hover {
  color: #deada0;
}

.index-text ol {
  list-style: none;
  counter-reset: section;
  padding: 20px;
  padding-top: 0;
  margin-top: 5px;
}

.child_ol li {
  padding-left: 20px;
}

.column_row .text {
  margin-top: 1.39vw;
}

.column_row h3 {
  font-size: 1.39vw;
  font-weight: 700;
  margin-top: 4.17vw;
  padding-bottom: 0.97vw;
  border-bottom: 2px solid rgba(175, 175, 175, 1);
}

.column_row h4 {
  font-size: 1.25vw;
  font-weight: 500;
  margin-top: 2.36vw;
  border-left: 3px solid #ffdfd7;
  padding-left: 0.97vw;
}

.column_row .image {
  width: 100%;
  margin: 2.77vw 0;
}

.column_row .image.bg-white {
  background-color: #fff;
  padding: 2.77vw;
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media (max-width: 1439px) {
  .column_row .image:has(> .bottom) {
    padding-bottom: 90px;
  }
}

section#cta {
  letter-spacing: 0.08em;
  line-height: 1.6;
  border: 1px solid transparent;
  width: 100%;
  margin: 0 auto;
}

section#cta .title01 {
  color: #555555;
  font-size: 1.67vw;
  font-weight: bold;
  text-align: center;
  margin-top: 4vw;
}

section#cta .line_btn {
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  font-size: 1.11vw;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 1.39vw auto 0;
  color: white;
  background: #21c21e;
  width: 23.26vw;
  height: 4.275vw;
}

section#cta .image01 {
  width: 27.78vw;
  height: 16.67vw;
  margin: 2.78vw auto 0;
  width: 66.67vw;
  height: 20.83vw;
}

section#cta .title02 {
  color: #555555;
  font-size: 1.67vw;
  font-weight: bold;
  text-align: center;
  margin-top: 6.94vw;
}

/*
section#cta a .insta_btn {
border: 1px solid red;
width: 23.26vw;
height: 4.375vw;
margin: 1.39vw auto 0;
background-image: url('../image/instagram_btn.png');
background-size: cover;
}

section#cta a:hover .insta_btn {
border: 1px solid red;
background-image: url('../image/instagram_btn_hover.png');
}

section#cta .slider_wrap {
position: relative;
}

section#cta .insta_slider_row {
 width: 62.22vw;
 height: 17vw;
 margin: 2.78vw auto 0;
 overflow-x: hidden;
}

section#cta .insta_slider_row .slider-list {
	 height: 16.67vw; 
}

section#cta .insta_slider_row .slick-track {
	 display: flex !important;
}

section#cta .insta_slider_row .slick-arrow {
 position: absolute;
 top: 7vw;
 border: none;
 background: transparent;
 color: #EF7C5F;
 font-size: 1.67vw;
 cursor: pointer;
}

section#cta .insta_slider_row .slick-arrow.slick-prev {
 left: 13vw;
}

section#cta .insta_slider_row .slick-arrow.slick-next {
 right: 13vw;
}

section#cta .insta_slider_row .item {
 width: 16.67vw;
 height: 16.67vw;
 margin-right: 0.83vw;
 margin-left: 0.83vw;
}

section#cta .insta_slider_row .item img {
	width: 100%;
	 height: 100%;
}
*/

section#cta .title03 {
  color: #454545;
  font-size: 1.67vw;
  font-weight: 700;
  text-align: center;
  margin-top: 6.94vw;
}

section#cta .column_row {
  width: 78%;
  height: 18.05vw;
  margin: 2.78vw auto 4vw;
  display: flex;
  justify-content: space-between;
}

section#cta .column_row a {
  color: #7f7f7f;
}

section#cta .column {
  position: relative;
  overflow: hidden;
  border-radius: max(24px, 1.67vw);
  width: 16.67vw;
  height: 16.67vw;
  opacity: 1;
  cursor: pointer;
}

section#cta .column:hover {
  opacity: 0.7;
}

section#cta .column .image {
  position: relative;
  width: 16.67vw;
  height: 16.67vw;
  margin-top: 0;
  padding: 0;
}

section#cta .column .image::before {
  content: '';
  position: absolute;
  display: block;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: rgb(217, 217, 217);
  background: linear-gradient(180deg, rgba(217, 217, 217, 0) 0%, rgba(42, 42, 42, 1) 100%);
}

section#cta .column .image img {
  width: 100%;
  height: auto;
  transition: 1s all;
  object-fit: cover;
  aspect-ratio: 1 / 1;
  border-radius: 0;
  transition: 1s all;
}

section#cta .column:hover .image img {
  transform: scale(1.2, 1.2);
  transition: 1s all;
}

section#cta .column .title {
  position: absolute;
  bottom: min(13px, 0.902vw);
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  font-size: 0.9vw;
  width: calc(100% - min(26px, 1.805vw));
  font-weight: 500;
  color: #fff;
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

section#cta .column p {
  display: none;
}

section#cta .column .date {
  font-size: 0.83vw;
  color: #afafaf;
  margin-top: 0.6vw;
  margin-left: 1.39vw;
}

.banner {
  background-color: #e7e3e3;
  margin: 0 calc(50% - 50dvw);
  padding: 8.33vw 0;
  width: 100dvw;
}

.banner-items {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  margin: 0 auto;
  width: min(986px, 100%);
}

.banner-item {
  width: max(481px, calc(50% - 12px));
}

.banner-item-link {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
}

.banner-item img {
  display: block;
  height: auto;
  width: min(160px, 33%);
  aspect-ratio: 1 / 1;
  border-radius: 0;
}

.banner-textwrap {
  overflow: hidden;
  padding: min(17px, 1.18vw) min(24px, 1.66vw) min(17px, 1.18vw) min(12px, 0.33vw);
  height: auto;
  width: min(321px, 67%);
  height: auto;
}

.banner-title {
  display: inline-block;
  background: linear-gradient(transparent 46%, #dbc8c8 46%);
  width: auto;
  font-size: max(16px, 1.11vw);
  font-weight: 400;
}

.banner-text {
  margin-top: min(16px, 1.11vw);
  width: 100%;
  height: auto;
  min-height: 63px;
  font-size: max(13px, 0.9vw);
}

.banner-item:nth-child(4) .banner-text {
  min-height: 84px;
}

.l-main {
  overflow: hidden;
}

/* ここから元あった内容 */

/*
section#cta .image01 {
 width: 300px;
 height: 250px;
 margin: 0 auto 0;
 margin-top: 2.39vw;

 width: 960px;
 height: 300px;

}

section#cta .link_text {
	margin: 2vw 1.33vw 5vw 1.33vw;
	color:  #0B3BB7;
	text-decoration: underline;
	text-underline-offset: 1vw;
	text-align: right;
}

section#cta .column_row {
	display: flex;
}
*/

/*-----list style-----*/
.image-list-dl-number {
  display: flex;
  width: 86%;
  margin: 3.33vw 0;
  line-height: 20px;
  font-weight: 500;
  /* font-size: max(18px, 125%); */
}
.image-list-dl-number li {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  margin-bottom: 1em;
  line-height: 1.6;
}
.image-list-title {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  word-break: keep-all;
}
.image-list-text {
  display: inline-block;
}
.image-list-title::after {
  content: ':';
  padding: 0 1em;
}
.image-list-dots li::before {
  content: '・';
}
.list-checkbox li {
  position: relative;
  display: flex;
  align-items: center;
  line-height: 1;
}

.list-checkbox li::before {
  content: '';
  display: inline-block;
  width: 1.388888vw;
  height: 1.388888vw;
  margin-right: 1em;
  background-image: url(../image/column/checkbox.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.list-allow li {
  position: relative;
}

.list-allow li:not(:last-child) {
  padding-bottom: 45px;
}

.list-allow li:not(:last-child)::after {
  content: '';
  position: absolute;
  left: calc(50% - 8px);
  bottom: calc(50% - 16px);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
  border-top: 12px solid #fda4a4;
  border-bottom: 0;
}

/*-------parts-style-------*/
ol {
  list-style: none;
  padding-inline-start: 0;
}
img {
  border-radius: 0 !important;
}

.image.fv {
  padding: 0 !important;
  min-height: 0;
}

/*-------title-------*/
.image-title {
  margin-bottom: 8px;
  font-size: 2.5vw !important;
  color: #b97d7d;
  text-align: center;
  font-weight: bold !important;
  margin-top: 0 !important;
  border-left: 0 !important;
  padding-left: 0 !important;
  line-height: 1.5;
}

.image-title.font-24 {
  text-align: left;
}

/*-------position-------*/
.image {
  position: relative;
}
.bottom {
  position: absolute;
  bottom: 0;
}
.right {
  position: absolute;
  right: 0;
}
.left {
  position: absolute;
  left: 0;
}
.top {
  position: absolute;
  left: 0;
}

/*-------display-------*/
.block {
  display: block;
}
.flex {
  display: flex;
}
.row {
  flex-direction: row;
}
.column {
  flex-direction: column;
}
.wrap {
  flex-wrap: wrap;
}
.flex-between {
  justify-content: space-between;
}
.flex-around {
  justify-content: space-around;
}
.align-items-center {
  align-items: center;
}
.gap12 {
  gap: 12px;
}
.gap24 {
  gap: 24px;
}

/*-------font-------*/
.column_row h5 {
  margin-block-end: 0;
  font-size: 1em;
}
.font-blue {
  color: #325d9d;
}
.font-white {
  color: #fff;
}
.font-bold {
  font-weight: bold;
}
.font-12 {
  font-size: 0.83vw;
}
.font-14 {
  font-size: 0.97vw;
}
.font-16 {
  font-size: 1.11vw !important;
}
.font-18 {
  font-size: 1.11vw !important;
}
.font-20 {
  font-size: 1.39vw !important;
}
.font-24 {
  font-size: 1.66vw !important;
}
.font-36 {
  font-size: 2.5vw !important;
}
.text-center {
  text-align: center;
}
.line-h-2 {
  line-height: 2;
}
.line-h-1-6 {
  line-height: 1.6;
}

/*-------table-------*/
.table-style {
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
}
.table-w-1-2 colgroup col:nth-child(1) {
  width: 33.33%; /* 1:2の比率の1の部分 */
}
.table-w-1-2 colgroup col:nth-child(2) {
  width: 66.67%; /* 1:2の比率の2の部分 */
}
table.table-style,
.table-style th,
.table-style td {
  border: 1px solid #888888; /* 境界線の色を#888888に設定 */
}
.table-style th,
.table-style td {
  padding: 1.39vw 0.69vw;
}

/*-------width-------*/
.w-full {
  width: 100%;
}
.w-haef {
  width: 50%;
}
.image-lists-wrap-item.w-haef {
  width: calc(50% - 12px);
}
.max-w-194 {
  width: min(194px, 13.47vw) !important;
  height: auto !important;
}

/*-------border-------*/
.border-pink {
  border: 1px solid #b97d7d;
}
.border-radius-16 {
  border-radius: min(16px, 4.26vw);
}

.text b,
.text strong {
  border-bottom: 1px solid #b97d7d;
}

/*-------background-color-------*/
.bg-lightgray {
  background-color: #f6f6f6;
}
.bg-pink {
  background-color: #b97d7d;
}
.bg-pink-table {
  background-color: #c28d8d;
}
.bg-gray-table {
  background-color: #727272;
}

/*-------margin/padding-------*/
.m0 {
  margin: 0 !important;
}
.m-auto {
  margin-inline: auto !important;
}
.mt4 {
  margin-top: 4px !important;
}
.mt18 {
  margin-top: 18px !important;
}
.mt20 {
  margin-top: 1.39vw;
}
.mt24 {
  margin-top: 24px !important;
}
.mt30 {
  margin-top: 30px;
}
.mt48 {
  margin-top: 48px;
}
.mb16 {
  margin-bottom: 16px;
}
.mt60 {
  margin-top: min(60px, 4.16vw);
}
.py8 {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
.px16 {
  padding-right: 16px !important;
  padding-left: 16px !important;
}
.px24 {
  padding-right: 24px !important;
  padding-left: 24px !important;
}
.p8 {
  padding: 8px !important;
}
.p12 {
  padding: 12px !important;
}
.pt24 {
  padding-top: 24px !important;
}
.pb24 {
  padding-bottom: 24px !important;
}
.pl40 {
  padding-left: 40px !important;
}
.pr40 {
  padding-right: 40px !important;
}
.pt48 {
  padding-top: 48px;
}
