/* --- variables.css --- */
/* == global-styles-inline-css == */
:root {
  --wp--preset--aspect-ratio--square: 1;
  --wp--preset--aspect-ratio--4-3: 4/3;
  --wp--preset--aspect-ratio--3-4: 3/4;
  --wp--preset--aspect-ratio--3-2: 3/2;
  --wp--preset--aspect-ratio--2-3: 2/3;
  --wp--preset--aspect-ratio--16-9: 16/9;
  --wp--preset--aspect-ratio--9-16: 9/16;
  --wp--preset--color--black: #000000;
  --wp--preset--color--cyan-bluish-gray: #abb8c3;
  --wp--preset--color--white: #ffffff;
  --wp--preset--color--pale-pink: #f78da7;
  --wp--preset--color--vivid-red: #cf2e2e;
  --wp--preset--color--luminous-vivid-orange: #ff6900;
  --wp--preset--color--luminous-vivid-amber: #fcb900;
  --wp--preset--color--light-green-cyan: #7bdcb5;
  --wp--preset--color--vivid-green-cyan: #00d084;
  --wp--preset--color--pale-cyan-blue: #8ed1fc;
  --wp--preset--color--vivid-cyan-blue: #0693e3;
  --wp--preset--color--vivid-purple: #9b51e0;
  --wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg, rgb(6, 147, 227) 0%, rgb(155, 81, 224) 100%);
  --wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg, rgb(122, 220, 180) 0%, rgb(0, 208, 130) 100%);
  --wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg, rgb(252, 185, 0) 0%, rgb(255, 105, 0) 100%);
  --wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg, rgb(255, 105, 0) 0%, rgb(207, 46, 46) 100%);
  --wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg, rgb(238, 238, 238) 0%, rgb(169, 184, 195) 100%);
  --wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg, rgb(74, 234, 220) 0%, rgb(151, 120, 209) 20%, rgb(207, 42, 186) 40%, rgb(238, 44, 130) 60%, rgb(251, 105, 98) 80%, rgb(254, 248, 76) 100%);
  --wp--preset--gradient--blush-light-purple: linear-gradient(135deg, rgb(255, 206, 236) 0%, rgb(152, 150, 240) 100%);
  --wp--preset--gradient--blush-bordeaux: linear-gradient(135deg, rgb(254, 205, 165) 0%, rgb(254, 45, 45) 50%, rgb(107, 0, 62) 100%);
  --wp--preset--gradient--luminous-dusk: linear-gradient(135deg, rgb(255, 203, 112) 0%, rgb(199, 81, 192) 50%, rgb(65, 88, 208) 100%);
  --wp--preset--gradient--pale-ocean: linear-gradient(135deg, rgb(255, 245, 203) 0%, rgb(182, 227, 212) 50%, rgb(51, 167, 181) 100%);
  --wp--preset--gradient--electric-grass: linear-gradient(135deg, rgb(202, 248, 128) 0%, rgb(113, 206, 126) 100%);
  --wp--preset--gradient--midnight: linear-gradient(135deg, rgb(2, 3, 129) 0%, rgb(40, 116, 252) 100%);
  --wp--preset--font-size--small: 13px;
  --wp--preset--font-size--medium: 20px;
  --wp--preset--font-size--large: 36px;
  --wp--preset--font-size--x-large: 42px;
  --wp--preset--spacing--20: 0.44rem;
  --wp--preset--spacing--30: 0.67rem;
  --wp--preset--spacing--40: 1rem;
  --wp--preset--spacing--50: 1.5rem;
  --wp--preset--spacing--60: 2.25rem;
  --wp--preset--spacing--70: 3.38rem;
  --wp--preset--spacing--80: 5.06rem;
  --wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);
  --wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);
  --wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);
  --wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);
  --wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);
}

:where(.is-layout-flex) {
  gap: 0.5em;
}

:where(.is-layout-grid) {
  gap: 0.5em;
}

body .is-layout-flex {
  display: flex;
}

.is-layout-flex {
  flex-wrap: wrap;
  align-items: center;
}

.is-layout-flex> :is(*, div) {
  margin: 0;
}

body .is-layout-grid {
  display: grid;
}

.is-layout-grid> :is(*, div) {
  margin: 0;
}

:where(.wp-block-columns.is-layout-flex) {
  gap: 2em;
}

:where(.wp-block-columns.is-layout-grid) {
  gap: 2em;
}

:where(.wp-block-post-template.is-layout-flex) {
  gap: 1.25em;
}

:where(.wp-block-post-template.is-layout-grid) {
  gap: 1.25em;
}

.has-black-color {
  color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-color {
  color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-color {
  color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-color {
  color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-color {
  color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-color {
  color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-color {
  color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-color {
  color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-color {
  color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-color {
  color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-color {
  color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-color {
  color: var(--wp--preset--color--vivid-purple) !important;
}

.has-black-background-color {
  background-color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-background-color {
  background-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-background-color {
  background-color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-background-color {
  background-color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-background-color {
  background-color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-background-color {
  background-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-background-color {
  background-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-background-color {
  background-color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-background-color {
  background-color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-background-color {
  background-color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-background-color {
  background-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-background-color {
  background-color: var(--wp--preset--color--vivid-purple) !important;
}

.has-black-border-color {
  border-color: var(--wp--preset--color--black) !important;
}

.has-cyan-bluish-gray-border-color {
  border-color: var(--wp--preset--color--cyan-bluish-gray) !important;
}

.has-white-border-color {
  border-color: var(--wp--preset--color--white) !important;
}

.has-pale-pink-border-color {
  border-color: var(--wp--preset--color--pale-pink) !important;
}

.has-vivid-red-border-color {
  border-color: var(--wp--preset--color--vivid-red) !important;
}

.has-luminous-vivid-orange-border-color {
  border-color: var(--wp--preset--color--luminous-vivid-orange) !important;
}

.has-luminous-vivid-amber-border-color {
  border-color: var(--wp--preset--color--luminous-vivid-amber) !important;
}

.has-light-green-cyan-border-color {
  border-color: var(--wp--preset--color--light-green-cyan) !important;
}

.has-vivid-green-cyan-border-color {
  border-color: var(--wp--preset--color--vivid-green-cyan) !important;
}

.has-pale-cyan-blue-border-color {
  border-color: var(--wp--preset--color--pale-cyan-blue) !important;
}

.has-vivid-cyan-blue-border-color {
  border-color: var(--wp--preset--color--vivid-cyan-blue) !important;
}

.has-vivid-purple-border-color {
  border-color: var(--wp--preset--color--vivid-purple) !important;
}

.has-vivid-cyan-blue-to-vivid-purple-gradient-background {
  background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;
}

.has-light-green-cyan-to-vivid-green-cyan-gradient-background {
  background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;
}

.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background {
  background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;
}

.has-luminous-vivid-orange-to-vivid-red-gradient-background {
  background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;
}

.has-very-light-gray-to-cyan-bluish-gray-gradient-background {
  background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;
}

.has-cool-to-warm-spectrum-gradient-background {
  background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;
}

.has-blush-light-purple-gradient-background {
  background: var(--wp--preset--gradient--blush-light-purple) !important;
}

.has-blush-bordeaux-gradient-background {
  background: var(--wp--preset--gradient--blush-bordeaux) !important;
}

.has-luminous-dusk-gradient-background {
  background: var(--wp--preset--gradient--luminous-dusk) !important;
}

.has-pale-ocean-gradient-background {
  background: var(--wp--preset--gradient--pale-ocean) !important;
}

.has-electric-grass-gradient-background {
  background: var(--wp--preset--gradient--electric-grass) !important;
}

.has-midnight-gradient-background {
  background: var(--wp--preset--gradient--midnight) !important;
}

.has-small-font-size {
  font-size: var(--wp--preset--font-size--small) !important;
}

.has-medium-font-size {
  font-size: var(--wp--preset--font-size--medium) !important;
}

.has-large-font-size {
  font-size: var(--wp--preset--font-size--large) !important;
}

.has-x-large-font-size {
  font-size: var(--wp--preset--font-size--x-large) !important;
}

/*# sourceURL=global-styles-inline-css */


/* --- wp-blocks.css --- */
/* == wp-img-auto-sizes-contain-inline-css == */
img:is([sizes=auto i], [sizes^="auto," i]) {
  contain-intrinsic-size: 3000px 1500px
}

/*# sourceURL=wp-img-auto-sizes-contain-inline-css */

/* == wp-emoji-styles-inline-css == */
img.wp-smiley,
img.emoji {
  display: inline !important;
  border: none !important;
  box-shadow: none !important;
  height: 1em !important;
  width: 1em !important;
  margin: 0 0.07em !important;
  vertical-align: -0.1em !important;
  background: none !important;
  padding: 0 !important;
}

/*# sourceURL=wp-emoji-styles-inline-css */

/* == wp-block-library-inline-css == */
:root {
  --wp-block-synced-color: #7a00df;
  --wp-block-synced-color--rgb: 122, 0, 223;
  --wp-bound-block-color: var(--wp-block-synced-color);
  --wp-editor-canvas-background: #ddd;
  --wp-admin-theme-color: #007cba;
  --wp-admin-theme-color--rgb: 0, 124, 186;
  --wp-admin-theme-color-darker-10: #006ba1;
  --wp-admin-theme-color-darker-10--rgb: 0, 107, 160.5;
  --wp-admin-theme-color-darker-20: #005a87;
  --wp-admin-theme-color-darker-20--rgb: 0, 90, 135;
  --wp-admin-border-width-focus: 2px
}

@media (min-resolution:192dpi) {
  :root {
    --wp-admin-border-width-focus: 1.5px
  }
}

.wp-element-button {
  cursor: pointer
}

:root .has-very-light-gray-background-color {
  background-color: #eee
}

:root .has-very-dark-gray-background-color {
  background-color: #313131
}

:root .has-very-light-gray-color {
  color: #eee
}

:root .has-very-dark-gray-color {
  color: #313131
}

:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background {
  background: linear-gradient(135deg, #00d084, #0693e3)
}

:root .has-purple-crush-gradient-background {
  background: linear-gradient(135deg, #34e2e4, #4721fb 50%, #ab1dfe)
}

:root .has-hazy-dawn-gradient-background {
  background: linear-gradient(135deg, #faaca8, #dad0ec)
}

:root .has-subdued-olive-gradient-background {
  background: linear-gradient(135deg, #fafae1, #67a671)
}

:root .has-atomic-cream-gradient-background {
  background: linear-gradient(135deg, #fdd79a, #004a59)
}

:root .has-nightshade-gradient-background {
  background: linear-gradient(135deg, #330968, #31cdcf)
}

:root .has-midnight-gradient-background {
  background: linear-gradient(135deg, #020381, #2874fc)
}

:root {
  --wp--preset--font-size--normal: 16px;
  --wp--preset--font-size--huge: 42px
}

.has-regular-font-size {
  font-size: 1em
}

.has-larger-font-size {
  font-size: 2.625em
}

.has-normal-font-size {
  font-size: var(--wp--preset--font-size--normal)
}

.has-huge-font-size {
  font-size: var(--wp--preset--font-size--huge)
}

.has-text-align-center {
  text-align: center
}

.has-text-align-left {
  text-align: left
}

.has-text-align-right {
  text-align: right
}

.has-fit-text {
  white-space: nowrap !important
}

#end-resizable-editor-section {
  display: none
}

.aligncenter {
  clear: both
}

.items-justified-left {
  justify-content: flex-start
}

.items-justified-center {
  justify-content: center
}

.items-justified-right {
  justify-content: flex-end
}

.items-justified-space-between {
  justify-content: space-between
}

.screen-reader-text {
  border: 0;
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important
}

.screen-reader-text:focus {
  background-color: #ddd;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000
}

html :where(.has-border-color) {
  border-style: solid
}

html :where([style*=border-top-color]) {
  border-top-style: solid
}

html :where([style*=border-right-color]) {
  border-right-style: solid
}

html :where([style*=border-bottom-color]) {
  border-bottom-style: solid
}

html :where([style*=border-left-color]) {
  border-left-style: solid
}

html :where([style*=border-width]) {
  border-style: solid
}

html :where([style*=border-top-width]) {
  border-top-style: solid
}

html :where([style*=border-right-width]) {
  border-right-style: solid
}

html :where([style*=border-bottom-width]) {
  border-bottom-style: solid
}

html :where([style*=border-left-width]) {
  border-left-style: solid
}

html :where(img[class*=wp-image-]) {
  height: auto;
  max-width: 100%
}

:where(figure) {
  margin: 0 0 1em
}

html :where(.is-position-sticky) {
  --wp-admin--admin-bar--position-offset: var(--wp-admin--admin-bar--height, 0px)
}

@media screen and (max-width:600px) {
  html :where(.is-position-sticky) {
    --wp-admin--admin-bar--position-offset: 0px
  }
}

/*# sourceURL=wp-block-library-inline-css */

/* == classic-theme-styles-inline-css == */
/*! This file is auto-generated */
.wp-block-button__link {
  color: #fff;
  background-color: #32373c;
  border-radius: 9999px;
  box-shadow: none;
  text-decoration: none;
  padding: calc(.667em + 2px) calc(1.333em + 2px);
  font-size: 1.125em
}

.wp-block-file__button {
  background: #32373c;
  color: #fff;
  text-decoration: none
}

/* == widget-margin == */
#ltg_full_wide_title-3.widget {
  margin-top: 0;
  margin-bottom: 0px;
  background-repeat: no-repeat;
}

/* == widget-margin == */
#ltg_full_wide_title-5.widget {
  margin-top: 0;
  margin-bottom: 0px;
  background-repeat: no-repeat;
}


/* --- style.css --- */
:root {
  --text-color: #464646;
  --color-footer-border: rgba(0, 0, 0, 0.15)
}

body,
html {
  font-size: 14px
}

body {
  font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Hiragino Sans, "Noto Sans JP", sans-serif;
  -ms-word-wrap: break-word;
  word-wrap: break-word
}

img {
  max-width: 100%;
  height: auto
}

img {
  max-width: 100%;
  height: auto
}

p {
  line-height: 1.7;
  margin-bottom: 1.2em
}

em {
  font-weight: 700
}

dl,
ol,
ul {
  margin-top: 1.5em;
  margin-bottom: 1.2em
}

li {
  margin-bottom: .8em;
  line-height: 1.65em
}

dd,
dt {
  padding-left: 10px;
  border-left-width: 2px;
  border-left-style: solid;
  margin-bottom: 10px
}

dt {
  border-left-color: #337ab7
}

dd {
  border-left-color: #e5e5e5
}

dd.wp-caption-dd,
dt.wp-caption-dt {
  border-left: none
}

ol ol,
ol ul,
ul ol,
ul ul {
  margin-top: 10px;
  margin-bottom: 10px
}

.form-inline label.screen-reader-text {
  display: none
}

h1 {
  position: relative
}

.h2,
.h3,
.h4,
.h5,
.h6,
.mainSection-title,
h2,
h3,
h4,
h5,
h6 {
  margin: 1.5em 0 1.2em;
  clear: both
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child {
  margin-top: 0
}

.h2,
.mainSection-title,
h2 {
  font-size: 1.75rem
}

blockquote {
  padding: 20px
}

.wp-block-freeform.block-library-rich-text__tinymce blockquote,
blockquote,
blockquote.wp-block-quote:not(.is-large):not(.is-style-large) {
  border: 5px solid #eee;
  background-color: #fcfcfc;
  position: relative;
  font-size: 16px
}

:is(.fa_v4, .fa_v5_css, .fa_v6_css) blockquote {
  padding: 35px 20px 30px
}

:is(.fa_v4, .fa_v5_css, .fa_v6_css) blockquote:after,
:is(.fa_v4, .fa_v5_css, .fa_v6_css) blockquote:before {
  color: #ccc;
  position: absolute
}

:is(.fa_v4, .fa_v5_css, .fa_v6_css) blockquote:before {
  top: 10px
}

:is(.fa_v4, .fa_v5_css, .fa_v6_css) blockquote:after {
  bottom: 10px;
  right: 20px
}

:is(.fa_v4, .fa_v5_css, .fa_v6_css) blockquote:before {
  content: "\f10d"
}

:is(.fa_v4, .fa_v5_css, .fa_v6_css) blockquote:after {
  content: "\f10e"
}

.fa_v4 blockquote:after,
.fa_v4 blockquote:before {
  font-family: FontAwesome
}

.fa_v5_css blockquote:after,
.fa_v5_css blockquote:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 700
}

.fa_v6_css blockquote:after,
.fa_v6_css blockquote:before {
  font-family: "Font Awesome 6 Free";
  font-weight: 700
}

.table,
table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  border-top: 1px solid rgba(0, 0, 0, .05)
}

.table tbody tr td,
.table tbody tr th,
.table td,
.table th,
.table thead tr td,
.table thead tr th,
table tbody tr td,
table tbody tr th,
table td,
table th,
table thead tr td,
table thead tr th {
  border-bottom: 1px solid rgba(0, 0, 0, .05)
}

.table tbody tr td .form-control,
.table tbody tr th .form-control,
.table td .form-control,
.table th .form-control,
.table thead tr td .form-control,
.table thead tr th .form-control,
table tbody tr td .form-control,
table tbody tr th .form-control,
table td .form-control,
table th .form-control,
table thead tr td .form-control,
table thead tr th .form-control {
  max-width: 90%
}

th {
  font-weight: 400
}

td,
th {
  padding: 1em;
  font-size: 14px
}

.btn {
  white-space: normal
}

.btn-xs {
  padding-left: 15px;
  padding-right: 15px;
  font-size: 12px
}

.btn.btn-block {
  padding-left: 10px;
  padding-right: 10px
}

.attachment img {
  max-width: 100%
}

.alignleft,
img.alignleft {
  display: inline;
  float: left;
  margin-right: 20px;
  margin-top: 4px
}

.alignright,
img.alignright {
  display: inline;
  float: right;
  margin-left: 20px;
  margin-top: 4px
}

.aligncenter,
img.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto
}

img.aligncenter,
img.alignleft,
img.alignright {
  margin-bottom: 12px
}

.wp-caption {
  background: #fcfcfc;
  line-height: 18px;
  margin-top: 2.5em;
  margin-bottom: 2.5em;
  padding: 0 0 5px;
  text-align: center;
  border: 1px solid #e5e5e5;
  max-width: 100% !important
}

.wp-caption img {
  margin: 10px 0 9px;
  max-width: 95% !important;
  height: auto !important
}

.wp-caption p.wp-caption-text {
  color: #888;
  font-size: 12px;
  margin: 0
}

.wp-smiley {
  margin: 0
}

.gallery {
  margin: 0 auto 25px
}

.gallery .gallery-item {
  float: left;
  margin-top: 0;
  text-align: center;
  width: 33%
}

.gallery img {
  border: 2px solid #cfcfcf
}

.gallery .gallery-caption {
  color: #888;
  font-size: 12px;
  margin: 0 0 12px
}

.gallery dl {
  margin: 0
}

.gallery dd,
.gallery dt {
  border: none
}

.gallery img {
  border: 10px solid #f1f1f1
}

.gallery br+br {
  display: none
}

.attachment img {
  display: block;
  margin: 0 auto
}

.well p:last-child {
  margin-bottom: 0
}

.wp-block-button .wp-block-button__link {
  border-radius: 4px
}

.siteHeader .siteHeadContainer:after {
  content: "";
  display: block;
  clear: both
}

.siteContent {
  padding: 2rem 0 2rem
}

.page-template-page-lp .siteContent,
.page-template-page-lp-builder .siteContent {
  padding-top: 0
}

.page-template-page-lp-builder .siteContent {
  padding-bottom: 0
}

.siteContent.siteContent-paddingVertical-off,
.siteContent.siteContent-paddingVertical-off.siteContent-base-on {
  padding-top: 0;
  padding-bottom: 0
}

.siteContent>.container>.row {
  display: block
}

.siteContent>.container>.row:after {
  content: "";
  display: block;
  clear: both
}

.mainSection>aside:last-child,
.mainSection>div:last-child,
.sideSection>aside:last-child,
.sideSection>div:last-child {
  margin-bottom: 0
}

.mainSection-marginBottom-on {
  margin-bottom: 3rem
}

.mainSection.mainSection-marginVertical-off {
  margin-top: 0;
  margin-bottom: 0
}

.siteFooter {
  display: block;
  overflow: hidden
}

.home .siteContent.siteContent-base-on {
  padding-top: 3.5rem
}

.siteContent.siteContent-base-on>.container>.row {
  margin: 0
}

.page-template-page-lp .siteContent.siteContent-base-on .mainSection-base-on,
.page-template-page-lp-builder .siteContent.siteContent-base-on .mainSection-base-on {
  padding-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0
}

.mainSection-base-on,
.sideSection-base-on {
  background-color: #fff;
  padding: 1.4rem
}

.mainSection-base-on .vk_outer-width-full,
.mainSection-base-on .widget_ltg_full_wide_title_outer,
.sideSection-base-on .vk_outer-width-full,
.sideSection-base-on .widget_ltg_full_wide_title_outer {
  margin-left: -1.4rem;
  margin-right: -1.4rem;
  padding-left: 1.4rem;
  padding-right: 1.4rem
}

.siteHeader {
  width: 100%;
  position: relative;
  z-index: 1000;
  top: 0;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .1);
  margin-bottom: 0;
  min-height: 46px;
  border: none
}

.siteHeader.navbar {
  border-radius: 0
}

.siteHeader .container {
  padding-top: 5px;
  padding-bottom: 4px
}

.siteHeader_logo {
  display: inline-block;
  height: auto;
  padding: 5px 0;
  margin: 0;
  font-size: 32px;
  line-height: 1.5em;
  white-space: inherit
}

.siteHeader_logo a {
  color: #333
}

.siteHeader_logo a:hover {
  text-decoration: none;
  color: #337ab7
}

.siteHeader_logo img {
  max-height: 40px;
  display: block
}

.siteFooter .widget {
  margin-bottom: 25px
}

.siteFooter a:where(:not(:is(.btn, .wp-block-button__link))) {
  text-decoration: underline
}

.siteFooter a:where(:not(:is(.btn, .wp-block-button__link))):hover {
  text-decoration: none
}

.siteFooter li>a {
  text-decoration: none
}

.siteFooter li>a:hover {
  text-decoration: underline
}

.footerMenu li {
  margin-bottom: 0;
  font-size: 14px
}

.copySection {
  border-top: var(--color-footer-border, #ccc)
}

.copySection p {
  font-size: 12px;
  margin: 0 15px 5px
}

.gMenu_outer {
  width: 100%
}

.gMenu {
  margin: 0 auto;
  padding: 0;
  display: flex;
  list-style: none;
  position: relative
}

.gMenu a {
  color: #333;
  height: 100%;
  text-decoration: none
}

.gMenu a:active,
.gMenu a:focus,
.gMenu a:hover {
  background-color: inhelit;
  transition: background-color .4s;
  color: #333
}

.gMenu li {
  margin: 0;
  list-style: none;
  line-height: 1.4;
  font-size: 12px;
  position: relative
}

.gMenu>li {
  border-left: inhelit;
  text-align: center
}

.gMenu>li:last-child {
  border-right: inhelit
}

.gMenu>li .gMenu_name {
  font-size: 14px;
  display: block;
  white-space: nowrap
}

.gMenu>li .gMenu_description {
  display: block;
  overflow: hidden;
  font-size: 10px;
  line-height: 14px;
  opacity: .6;
  text-align: center
}

.gMenu>li:hover,
.gMenu>li[class*=current] {
  transition: all .5s ease-out;
  background-color: inhelit
}

.gMenu>li:hover:before,
.gMenu>li[class*=current]:before {
  width: 100%
}

.gMenu>li>ul.sub-menu {
  background-color: #191919;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, .2);
  left: 50%;
  margin-left: -120px;
  width: 240px
}

.gMenu ul {
  margin: 0;
  padding: 0;
  text-align: left;
  transition: all .3s ease-in
}

.gMenu ul li a,
.gMenu ul li a:hover {
  color: #fff
}

.gMenu ul li a {
  padding: 14px 1.2em;
  border-bottom: 1px solid rgba(255, 255, 255, .15)
}

.gMenu ul li a:hover {
  background-color: inhelit
}

.gMenu ul li.menu-item-has-children>a {
  padding: 14px 3.5em 14px 1.2em
}

.device-pc .gMenu>li>.acc-btn {
  display: none
}

.gMenu.vk-menu-acc .sub-menu .acc-btn {
  right: 1.2em
}

.gMenu .acc-btn {
  color: #333;
  border-color: #333;
  background-image: var(--g_nav_main_acc_icon_open_url)
}

.gMenu .acc-btn.acc-btn-close {
  background-image: var(--g_nav_main_acc_icon_close_url)
}

.device-mobile .gMenu .acc-btn {
  width: 20px;
  height: 20px;
  right: 6px;
  top: 12px
}

.gMenu .sub-menu .acc-btn {
  background-image: var(--g_nav_sub_acc_icon_open_url);
  border-color: #fff
}

.gMenu .sub-menu .acc-btn.acc-btn-close {
  background-image: var(--g_nav_sub_acc_icon_close_url)
}

.gMenu>li>ul.sub-menu {
  position: absolute
}

.gMenu>li>.sub-menu {
  position: absolute;
  z-index: 1000;
  display: block;
  overflow: hidden;
  opacity: 0;
  max-height: 0;
  transition: all .5s
}

.device-pc .gMenu>li:hover>.sub-menu {
  opacity: 1;
  max-height: 80vh;
  overflow-y: auto
}

.device-mobile .gMenu>li>.sub-menu.acc-child-close {
  opacity: 0;
  max-height: 0
}

.device-mobile .gMenu>li>.sub-menu.acc-child-open {
  opacity: 1;
  max-height: 80vh;
  overflow-y: auto
}

.device-pc .gMenu>li>.acc-btn {
  display: none
}

.device-pc .gMenu>li>a {
  display: block;
  overflow: hidden;
  padding: 14px 1.8em
}

.device-mobile .gMenu>li {
  padding: 14px 2.5em
}

.device-mobile .gMenu>li .gMenu_name {
  font-size: 12px
}

.device-mobile .gMenu>li.menu-item-has-children>a {
  display: inline-block;
  padding-right: 0
}

.device-mobile .gMenu>li>ul.sub-menu {
  margin-top: 14px
}

body,
html {
  overflow-x: hidden
}

.sectionBox {
  padding-top: 2em;
  padding-bottom: 2em;
  display: block
}

.sectionBox:after {
  content: "";
  clear: both;
  display: block
}

.nav li a {
  color: #464646
}

.btn-default {
  background: 0 0;
  color: #337ab7;
  border-color: #337ab7
}

.btn-default:focus,
.btn-default:hover {
  background-color: #337ab7;
  color: #fff;
  border-color: #337ab7
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  word-break: normal
}

input.form-control {
  margin-bottom: 3px
}

input.form-control.input_widthAuto {
  width: auto
}

.page-header {
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: 0;
  text-align: center
}

.page-header_pageTitle,
h1.page-header_pageTitle:first-child {
  margin: 1.2em 0;
  font-size: 1.75rem;
  line-height: 1.1
}

.breadSection {
  border-bottom: 1px solid rgba(0, 0, 0, .05)
}

.breadSection .breadcrumb {
  margin-top: 0;
  margin-bottom: 0;
  background: 0 0;
  padding: 6px 15px
}

.breadSection .breadcrumb li {
  margin-bottom: 0;
  list-style: none
}

.breadSection .breadcrumb span {
  font-size: .75em
}

.mainSection header h1 {
  margin-top: 0;
  line-height: 1.4em
}

.mainSection .postList::after {
  content: "";
  clear: both;
  display: block
}

h1.mainSection-title {
  font-size: 24px
}

h1.mainSection-title i {
  margin-right: 8px
}

h1.entry-title {
  font-size: 32px
}

h1.entry-title>a {
  color: #464646
}

.mainSection .widget {
  margin-bottom: 25px
}

.entry-full {
  margin-bottom: 3rem
}

.archive .entry-full,
.blog .entry-full {
  border-bottom: 1px solid rgba(0, 0, 0, .05)
}

.mainSection-marginVertical-off .entry-full {
  margin-bottom: 0
}

.entry-header {
  margin-bottom: 1.5rem;
  position: relative;
  border-bottom: 1px solid rgba(0, 0, 0, .05)
}

.entry-meta {
  margin-bottom: .8em;
  padding-left: 3px
}

.entry-meta i {
  margin-right: 5px
}

.entry-meta_items {
  font-size: 12px
}

.entry-meta_items.published a {
  color: #464646
}

.entry-meta_items_author {
  margin-left: .8em
}

.entry-meta_items_term {
  float: right;
  margin-right: 0
}

.entry-meta_items_term_button {
  font-size: .8rem;
  line-height: 1;
  padding: 4px 1em 2px
}

.entry-meta_hidden {
  display: none
}

.fa_v4 .entry-meta_items.published::before {
  margin-right: 5px;
  font-family: FontAwesome;
  content: "\f073"
}

.fa_v4 .entry-meta_items_author::before {
  margin-right: 5px;
  font-family: FontAwesome;
  content: "\f040"
}

.fa_v5_css .entry-meta_items.published::before {
  margin-right: 5px;
  font-family: "Font Awesome 5 Free";
  content: "\f073";
  font-weight: 900
}

.fa_v5_css .entry-meta_items_author::before {
  margin-right: 5px;
  font-family: "Font Awesome 5 Free";
  content: "\f303";
  font-weight: 900
}

.fa_v6_css .entry-meta_items.published::before {
  margin-right: 5px;
  font-family: "Font Awesome 6 Free";
  content: "\f073";
  font-weight: 900
}

.fa_v6_css .entry-meta_items_author::before {
  margin-right: 5px;
  font-family: "Font Awesome 6 Free";
  content: "\f303";
  font-weight: 900
}

.entry-body::after {
  content: "";
  clear: both;
  display: block
}

.entry-footer {
  display: block;
  overflow: hidden;
  margin-bottom: 3rem
}

.entry-meta-dataList {
  display: block;
  overflow: hidden;
  padding-top: 3px
}

.entry-meta-dataList dl {
  margin: 0 0 2px
}

.entry-meta-dataList dd,
.entry-meta-dataList dt {
  display: block;
  overflow: hidden;
  margin-bottom: 0
}

.entry-meta-dataList dt {
  float: left;
  background-color: #666;
  color: #fff;
  font-size: 10px;
  line-height: 1.1em;
  padding: 4px 8px;
  font-weight: lighter;
  margin-right: 10px;
  border: none;
  min-width: 10em;
  text-align: center;
  border-radius: 3px
}

.entry-meta-dataList dd {
  font-size: 12px;
  border: none;
  padding-left: 0
}

.entry-meta-dataList dd a {
  display: inline-block;
  padding: 0 2px 1px;
  color: #464646
}

.entry-tag {
  display: block;
  overflow: hidden
}

.entry-tag dl {
  margin-bottom: 0
}

.media {
  border-bottom: 1px solid rgba(0, 0, 0, .05);
  padding: 1rem 0;
  margin-top: 0
}

.media>div {
  width: 100%
}

.media .postList_thumbnail {
  width: 160px;
  margin-bottom: .5em;
  padding-right: 30px;
  display: block;
  overflow: hidden;
  float: left
}

.media .postList_thumbnail a {
  position: relative;
  display: block;
  overflow: hidden;
  border: 1px solid #e5e5e5
}

.media .postList_thumbnail img {
  width: 100%;
  height: auto;
  border: 1px solid #fff
}

.media .postList_thumbnail .postList_cateLabel {
  position: absolute;
  bottom: 0;
  left: 0
}

.media .media-body .media-heading {
  font-size: 20px;
  line-height: 1.4em;
  margin-top: 0;
  margin-bottom: .4em;
  font-weight: 400;
  background: 0 0;
  box-shadow: none;
  padding: 0
}

.media .media-body .media-heading a {
  color: #464646;
  text-decoration: none
}

.media p {
  margin-bottom: 0;
  font-size: 14px;
  line-height: 150%
}

.media .entry-meta_updated {
  display: none
}

.media .entry-meta_items_author {
  display: none
}

.media a.media-body_excerpt {
  color: #464646;
  display: block;
  overflow: hidden
}

.pagination {
  margin-top: 2rem;
  margin-bottom: 0
}

.pagination .nav-links {
  margin: 0 auto
}

ul.page-numbers {
  margin: 0;
  padding: 0
}

ul.page-numbers li {
  margin: 0;
  list-style: none;
  display: block;
  overflow: hidden;
  float: left
}

ul.page-numbers li a,
ul.page-numbers li span.page-numbers {
  padding: 6px 12px;
  display: block;
  border: 1px solid #ddd;
  margin-left: -1px;
  color: #464646
}

ul.page-numbers li a:hover {
  text-decoration: none
}

ul.page-numbers li:first-child a {
  margin-left: 0
}

ul.page-numbers li a:hover {
  background-color: #efefef
}

ul.page-numbers li span.page-numbers.current {
  color: #fff;
  background-color: #337ab7
}

ul.page-numbers li:first-child>a {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px
}

ul.page-numbers li:last-child>a {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px
}

ul.page-numbers li:first-child>.page-numbers {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px
}

ul.page-numbers li:last-child>.page-numbers {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px
}

.page-link {
  background-color: transparent;
  border: none;
  display: flex;
  line-height: 1.65em
}

.page-link:hover {
  background-color: transparent;
  border-color: transparent
}

.page-link dl {
  margin: 0 auto
}

.page-link dl dt {
  display: none
}

.page-link dl dd {
  border-left: 1px solid #ddd
}

.page-link dl .post-page-numbers {
  float: left;
  padding: 6px 12px;
  display: block;
  border: 1px solid #ddd;
  margin-left: -1px;
  color: #464646
}

.page-link dl .post-page-numbers.current {
  color: #fff;
  background-color: #337ab7
}

.page-link dl .post-page-numbers:hover:not(span) {
  background-color: #efefef;
  text-decoration: none
}

.page-link dl .post-page-numbers:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px
}

.page-link dl .post-page-numbers:last-child {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px
}

.postNextPrev {
  position: relative;
  margin-bottom: 3rem
}

.postNextPrev_label {
  margin-bottom: 1em;
  font-size: 12px;
  line-height: 1
}

.postNextPrev_next .postNextPrev_label {
  text-align: right
}

.postNextPrev .card {
  margin-bottom: 0
}

.postNextPrev .card-title {
  font-size: 14px;
  margin-bottom: .6em
}

.postNextPrev_next .postNextPrev .card-title {
  text-align: right;
  border: 1px solid red
}

.pager ul {
  margin-top: 0
}

.pager li {
  margin-bottom: 10px;
  display: inline-block
}

.pager li>a {
  border-radius: 0;
  padding: 7px 15px 5px
}

.pager li {
  display: block;
  overflow: hidden;
  float: none
}

.pager li a {
  display: block;
  overflow: hidden;
  float: none;
  width: 100%;
  text-align: left
}

.pager li.previous a:before {
  content: "«";
  margin-right: .8em
}

.pager li.next a:before {
  content: "»";
  margin-right: .8em
}

.subSection {
  display: block
}

.subSection .localNav {
  display: block
}

.subSection .widget {
  margin-bottom: 25px
}

.subSection .media {
  padding: 1em 0 .8em;
  margin-top: 0
}

.subSection .media .postList_thumbnail {
  width: 80px;
  padding-right: 15px
}

.subSection .media .media-heading {
  font-size: 14px
}

.subSection li>a:hover {
  text-decoration: underline
}

.subSection li.current-cat>a,
.subSection li.current_page_item>a {
  background-color: rgba(0, 0, 0, .05)
}

.subSection:after {
  content: "";
  clear: both;
  display: block
}

.subSection-title {
  font-size: 18px;
  margin-bottom: 15px
}

.subSection-title i {
  margin-right: 8px
}

.widget {
  display: block
}

.widget .subSection-title {
  margin-top: 0;
  font-size: 18px
}

.widget .subSection-title a {
  color: inherit
}

.widget ul {
  margin-top: 0
}

.widget:after {
  content: "";
  clear: both;
  display: block
}

.widget_archive ul,
.widget_categories ul,
.widget_link_list ul,
.widget_nav_menu ul,
.widget_pages ul,
.widget_recent_comments ul,
.widget_recent_entries ul {
  padding-left: 0;
  margin: 0;
  font-size: 14px;
  list-style: none
}

.widget_archive a,
.widget_categories a,
.widget_link_list a,
.widget_nav_menu a,
.widget_pages a,
.widget_postlist a,
.widget_recent_entries a {
  color: #464646
}

.widget_archive .subSection-title,
.widget_categories .subSection-title,
.widget_link_list .subSection-title,
.widget_nav_menu .subSection-title,
.widget_pages .subSection-title,
.widget_postlist .subSection-title,
.widget_recent_entries .subSection-title {
  margin-bottom: 0
}

.widget_archive ul li,
.widget_categories ul li,
.widget_link_list ul li,
.widget_nav_menu ul li,
.widget_pages ul li,
.widget_postlist ul li,
.widget_recent_entries ul li {
  margin-bottom: 0
}

.widget_archive ul li a,
.widget_categories ul li a,
.widget_link_list ul li a,
.widget_nav_menu ul li a,
.widget_pages ul li a,
.widget_postlist ul li a,
.widget_recent_entries ul li a {
  display: block;
  padding: 10px .5em 8px;
  border-bottom: 1px solid rgba(0, 0, 0, .05)
}

.siteFooter .widget_archive ul li a,
.siteFooter .widget_categories ul li a,
.siteFooter .widget_link_list ul li a,
.siteFooter .widget_nav_menu ul li a,
.siteFooter .widget_pages ul li a,
.siteFooter .widget_postlist ul li a,
.siteFooter .widget_recent_entries ul li a {
  border-bottom: 1px solid var(--color-footer-border, #ccc)
}

.widget_archive ul li li a,
.widget_categories ul li li a,
.widget_link_list ul li li a,
.widget_nav_menu ul li li a,
.widget_pages ul li li a,
.widget_postlist ul li li a,
.widget_recent_entries ul li li a {
  padding-left: 1.5em
}

.widget_archive ul li li li a,
.widget_categories ul li li li a,
.widget_link_list ul li li li a,
.widget_nav_menu ul li li li a,
.widget_pages ul li li li a,
.widget_postlist ul li li li a,
.widget_recent_entries ul li li li a {
  padding-left: 2.5em
}

.widget_archive ul li li li li a,
.widget_categories ul li li li li a,
.widget_link_list ul li li li li a,
.widget_nav_menu ul li li li li a,
.widget_pages ul li li li li a,
.widget_postlist ul li li li li a,
.widget_recent_entries ul li li li li a {
  padding-left: 3.5em
}

.widget_archive ul li li li li li a,
.widget_categories ul li li li li li a,
.widget_link_list ul li li li li li a,
.widget_nav_menu ul li li li li li a,
.widget_pages ul li li li li li a,
.widget_postlist ul li li li li li a,
.widget_recent_entries ul li li li li li a {
  padding-left: 4.5em
}

.widget_archive ul li li li li li li a,
.widget_categories ul li li li li li li a,
.widget_link_list ul li li li li li li a,
.widget_nav_menu ul li li li li li li a,
.widget_pages ul li li li li li li a,
.widget_postlist ul li li li li li li a,
.widget_recent_entries ul li li li li li li a {
  padding-left: 5.5em
}

.widget_archive ul li li li li li li li a,
.widget_categories ul li li li li li li li a,
.widget_link_list ul li li li li li li li a,
.widget_nav_menu ul li li li li li li li a,
.widget_pages ul li li li li li li li a,
.widget_postlist ul li li li li li li li a,
.widget_recent_entries ul li li li li li li li a {
  padding-left: 6.5em
}

.widget_archive ul li li li li li li li li a,
.widget_categories ul li li li li li li li li a,
.widget_link_list ul li li li li li li li li a,
.widget_nav_menu ul li li li li li li li li a,
.widget_pages ul li li li li li li li li a,
.widget_postlist ul li li li li li li li li a,
.widget_recent_entries ul li li li li li li li li a {
  padding-left: 7.5em
}

.widget_archive ul li li li li li li li li li a,
.widget_categories ul li li li li li li li li li a,
.widget_link_list ul li li li li li li li li li a,
.widget_nav_menu ul li li li li li li li li li a,
.widget_pages ul li li li li li li li li li a,
.widget_postlist ul li li li li li li li li li a,
.widget_recent_entries ul li li li li li li li li li a {
  padding-left: 8.5em
}

.widget_archive ul li li li li li li li li li li a,
.widget_categories ul li li li li li li li li li li a,
.widget_link_list ul li li li li li li li li li li a,
.widget_nav_menu ul li li li li li li li li li li a,
.widget_pages ul li li li li li li li li li li a,
.widget_postlist ul li li li li li li li li li li a,
.widget_recent_entries ul li li li li li li li li li li a {
  padding-left: 9.5em
}

.widget_archive ul li li li li li li li li li li li a,
.widget_categories ul li li li li li li li li li li li a,
.widget_link_list ul li li li li li li li li li li li a,
.widget_nav_menu ul li li li li li li li li li li li a,
.widget_pages ul li li li li li li li li li li li a,
.widget_postlist ul li li li li li li li li li li li a,
.widget_recent_entries ul li li li li li li li li li li li a {
  padding-left: 10.5em
}

.widget_archive ul ul,
.widget_categories ul ul,
.widget_link_list ul ul,
.widget_nav_menu ul ul,
.widget_pages ul ul,
.widget_postlist ul ul,
.widget_recent_entries ul ul {
  margin: 0;
  padding-left: 0
}

.widget_archive select,
.widget_categories select,
.widget_taxonomies select {
  margin-top: 10px
}

.widget_vkexunit_post_list .mainSection-title {
  margin-bottom: 0
}

.widget_ltg_full_wide_title_outer {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 2em;
  padding-bottom: 2em
}

.widget_ltg_full_wide_title_outer {
  text-align: center;
  background-size: cover;
  background-position: center center;
  margin: 0 calc(50% - 50vw) 3em;
  padding: 3em calc(50vw - 50%)
}

.widget_ltg_full_wide_title_title {
  font-size: 2rem;
  padding: 0;
  margin-bottom: .3em;
  line-height: 1.4em;
  background: 0 0;
  border: none
}

.widget_ltg_full_wide_title_title:last-child {
  margin-bottom: 0
}

.widget_ltg_adv_full_wide_title_caption,
.widget_ltg_full_wide_title_caption {
  margin-bottom: 0;
  line-height: 1.4em
}

.widget .tagcloud a {
  border-radius: 4px;
  padding: 3px 10px 1px;
  line-height: 2.4em
}

.siteContent_after {
  position: relative
}

.sticky {
  overflow: hidden;
  padding: 1em;
  background-color: #f5f5f5
}

.archive-header {
  margin-bottom: 1em
}

.archive-header_title {
  font-size: 2rem
}

.archive-meta {
  margin-bottom: 2em
}

#respond label {
  font-weight: lighter
}

.comments-title {
  line-height: 1.4em;
  font-size: 24px
}

ol.comment-list {
  padding: 0;
  margin-top: 0
}

li.comment {
  border: 4px solid #eee;
  padding: 1em;
  margin: 0 0 1em;
  list-style: none
}

li.comment ol.children {
  padding-left: 1em
}

li.comment ol.children li.comment {
  border: none
}

.comment-author {
  display: block;
  overflow: hidden;
  margin-bottom: 10px;
  padding: 7px;
  background-color: #f5f5f5;
  border: 4px solid #eee
}

.comment-meta {
  display: block;
  overflow: hidden;
  border-bottom: 1px solid rgba(0, 0, 0, .05);
  margin-bottom: 10px
}

li.pingback {
  margin: 0 0 1em;
  list-style: none;
  border-bottom: 1px dotted #999
}

p.no-comments {
  background-color: #f3f3f3;
  border: 1px solid #e5e5e5;
  text-align: center;
  padding: 2em
}

.bypostauthor {
  color: #464646
}

.prBlock a {
  color: #333
}

.prBlock a:hover {
  color: #333;
  text-decoration: none
}

.prBlock_icon_outer {
  display: block;
  margin: 0 auto;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  position: relative
}

.prBlock_icon {
  position: absolute;
  font-size: 36px;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%)
}

.prBlock_title {
  margin-top: .9em;
  margin-bottom: .7em;
  text-align: center;
  font-size: 18px;
  line-height: 1.4em
}

.prBlock_image {
  position: relative;
  display: block;
  width: 120px;
  height: 120px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 50%;
  text-indent: -9999px
}

.prBlock_summary {
  margin-bottom: .5em;
  text-align: center;
  font-size: 14px;
  line-height: 1.6em
}

.carousel {
  border-bottom: 1px solid rgba(0, 0, 0, .05);
  display: block;
  overflow: hidden;
  width: 100%
}

.carousel-indicators {
  margin-bottom: 0;
  margin-top: 0;
  bottom: 0
}

.slide a>img,
.slide a>picture>img,
.slide img,
.slide picture>img {
  width: 100%;
  height: auto
}

.carousel-control {
  width: 10%
}

.carousel-control.right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0, rgba(0, 0, 0, .2) 100%)
}

.carousel-control.left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, .0001) 0, rgba(0, 0, 0, .2) 100%)
}

.slide-cover {
  position: absolute;
  top: 0;
  background-color: #000;
  display: block;
  overflow: hidden;
  width: 100%;
  height: 100%
}

.slide-text-set {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 100%
}

.slide-text-title {
  box-shadow: none;
  border: none;
  line-height: 1.5;
  padding: 0;
  margin: 0;
  background: 0 0;
  font-size: calc(14px + 1vw);
  text-align: inherit;
  outline: unset;
  outline-offset: unset;
  display: block
}

.slide-text-title:after,
.slide-text-title:before {
  display: none
}

.slide-text-caption {
  margin-top: .6em;
  font-size: 11px;
  line-height: 1.5
}

.slide .btn-ghost {
  margin-top: .8em;
  padding: .4em 2em;
  font-size: 1.7vw;
  transition: background-color 1s, border-color .5s
}

.tagcloud a {
  color: #464646;
  margin-bottom: 4px;
  white-space: nowrap;
  text-decoration: none
}

.tagcloud a:before {
  margin-right: 5px
}

.tagcloud a:hover {
  text-decoration: none;
  opacity: .6
}

.entry-meta-dataList .tagcloud a {
  margin-right: 8px
}

.gMenu>li {
  float: left
}

.gMenu>li:before {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 0;
  border-bottom: 1px solid #2e6da4;
  transition: all .5s ease-out
}

.gMenu>li.menu-item-has-children::after {
  transition: all .2s ease-out;
  content: "";
  position: absolute;
  padding: 0;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  border: 10px solid transparent;
  z-index: 1000;
  opacity: 0;
  border-bottom-color: #191919
}

.device-pc .gMenu>li.menu-item-has-children:hover::after,
.gMenu>li.acc-parent-open::after {
  opacity: 1;
  bottom: 0
}

.gMenu>li.acc-parent-close::after {
  opacity: 0
}

.gMenu>li>ul {
  margin-top: -1px
}

.gMenu ul li a:hover {
  background-color: #337ab7
}

.mainSection-title,
h2 {
  padding: .8em 0 .7em;
  border-top: 2px solid #337ab7;
  border-bottom: 1px solid #e9e9e9
}

.subSection-title,
h3 {
  padding-bottom: 8px;
  position: relative;
  border-bottom: 1px solid rgba(0, 0, 0, .1)
}

.siteFooter .subSection-title {
  border-bottom: 1px solid var(--color-footer-border, #ccc)
}

.subSection-title:after,
h3:after {
  content: ".";
  line-height: 0;
  display: block;
  overflow: hidden;
  position: absolute;
  bottom: -1px;
  width: 30%;
  border-bottom: 1px solid #337ab7
}

.wp-block-button__link {
  padding-top: calc(.6em + 2px);
  padding-bottom: calc(.6em + 2px)
}

.vk_button {
  margin-top: 0
}

.vk_button .vk_button_link.btn,
.wp-block-button.is-style-outline .wp-block-button__link {
  border-width: 1px;
  padding-top: .6em;
  padding-bottom: .6em
}

.widget_display_search form div input#bbp_search,
.widget_display_search form div input#s,
.widget_display_search form div input.search-field,
.widget_product_search form input#bbp_search,
.widget_product_search form input#s,
.widget_product_search form input.search-field,
.widget_search form div input#bbp_search,
.widget_search form div input#s,
.widget_search form div input.search-field,
.wp-block-search input#bbp_search,
.wp-block-search input#s,
.wp-block-search input.search-field {
  border-radius: 4px
}

.widget_display_search form div .wp-block-search__button,
.widget_display_search form div button,
.widget_display_search form div input#bbp_search_submit,
.widget_display_search form div input#searchsubmit,
.widget_product_search form .wp-block-search__button,
.widget_product_search form button,
.widget_product_search form input#bbp_search_submit,
.widget_product_search form input#searchsubmit,
.widget_search form div .wp-block-search__button,
.widget_search form div button,
.widget_search form div input#bbp_search_submit,
.widget_search form div input#searchsubmit,
.wp-block-search .wp-block-search__button,
.wp-block-search button,
.wp-block-search input#bbp_search_submit,
.wp-block-search input#searchsubmit {
  border-radius: 4px
}

.page-header {
  background-color: #337ab7;
  color: #fff
}

.breadSection .breadcrumb li {
  line-height: 1.2
}

.breadSection .breadcrumb a {
  color: #666;
  padding-bottom: 2px
}

.breadSection .breadcrumb a:hover {
  border-bottom: 1px solid #666;
  text-decoration: none
}

.breadSection .breadcrumb>li+li:before {
  content: "/";
  margin-left: .5em;
  margin-right: .5em;
  font-size: 12px
}

ul.page-numbers li:first-child>.page-numbers {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px
}

ul.page-numbers li:last-child>.page-numbers {
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px
}

.siteFooter {
  border-top: 3px solid #337ab7;
  background-color: #f9f9f9
}

.widget .tagcloud a {
  border: 1px solid rgba(0, 0, 0, .1);
  background-color: rgba(255, 255, 255, .9)
}

footer.siteFooter .widget .tagcloud a {
  border: 1px solid rgba(0, 0, 0, .1);
  background-color: rgba(255, 255, 255, .8)
}

.widget_recent_entries .wp-block-latest-posts li {
  padding: unset;
  border-bottom: unset
}

.widget_recent_entries .wp-block-latest-posts li>a {
  margin-bottom: 0
}

.media .card-img-overlay {
  margin: 1px
}

.card-noborder .vk_post_imgOuter {
  border-radius: .25rem
}

.card-imageRound .vk_post_imgOuter {
  border-radius: 50%
}

.veu_sitemap .sitemap-post-type-title {
  border-bottom: 1px dotted #999
}

.veu_sitemap ul li {
  list-style: none
}

.veu_sitemap ul>li>a {
  padding-left: 1.2em
}

.veu_sitemap ul>li>a:before {
  display: block;
  position: absolute;
  top: 47%;
  left: 0;
  transform: translateY(-65%);
  font-size: 10px;
  line-height: 1em;
  font-family: "メイリオ", Meiryo, sans-serif;
  content: "≫";
  margin-right: .5em
}

@media (min-width:576px) {

  .mainSection-base-on,
  .sideSection-base-on {
    padding: 1.7rem
  }

  .mainSection-base-on .alignwide,
  .sideSection-base-on .alignwide {
    width: calc(100% + 1.7rem + 1.7rem);
    margin-left: -1.7rem;
    margin-right: -1.7rem
  }

  .mainSection-base-on .alignwide.wp-block-image,
  .sideSection-base-on .alignwide.wp-block-image {
    width: calc(100% + 1.7rem + 1.7rem)
  }

  .mainSection-base-on .vk_outer-width-full,
  .mainSection-base-on .widget_ltg_full_wide_title_outer,
  .sideSection-base-on .vk_outer-width-full,
  .sideSection-base-on .widget_ltg_full_wide_title_outer {
    margin-left: -1.7rem;
    margin-right: -1.7rem;
    padding-left: 1.7rem;
    padding-right: 1.7rem
  }

  .slide-text-caption {
    font-size: 12px;
    line-height: 1.7
  }
}

@media (min-width:768px) {
  p {
    line-height: 1.9
  }

  .siteContent {
    padding: 2.5rem 0 2.5rem
  }

  .siteContent.siteContent-base-on {
    padding: 2rem 0 3.5rem
  }

  .mainSection-base-on,
  .sideSection-base-on {
    padding: 2rem
  }

  .mainSection-base-on .alignwide,
  .sideSection-base-on .alignwide {
    width: calc(100% + 2rem + 2rem);
    margin-left: -2rem;
    margin-right: -2rem
  }

  .mainSection-base-on .alignwide.wp-block-image,
  .sideSection-base-on .alignwide.wp-block-image {
    width: calc(100% + 2rem + 2rem)
  }

  .mainSection-base-on .vk_outer-width-full,
  .mainSection-base-on .widget_ltg_full_wide_title_outer,
  .sideSection-base-on .vk_outer-width-full,
  .sideSection-base-on .widget_ltg_full_wide_title_outer {
    margin-left: -2rem;
    margin-right: -2rem;
    padding-left: 2rem;
    padding-right: 2rem
  }

  .footerMenu ul {
    margin: 12px 0 10px
  }

  .footerMenu li {
    float: left
  }

  .footerMenu li a {
    border-left: 1px solid var(--color-footer-border, #ccc);
    padding: 0 1em
  }

  .footerMenu li:last-child a {
    border-right: 1px solid var(--color-footer-border, #ccc)
  }

  .mainSection .widget {
    margin-bottom: 35px
  }

  .slide-text-title {
    font-size: calc(1.313rem + .7vw)
  }

  .slide-text-caption {
    margin-top: 1.2em
  }

  .slide .btn-ghost {
    margin-top: 1.3em
  }
}

@media (min-width:992px) {

  body,
  html {
    font-size: 16px
  }

  .siteContent {
    padding: 3rem 0 3.5rem
  }

  .mainSection-col-two {
    width: 66.66667%;
    float: left
  }

  .sideSection-col-two {
    width: calc(33.33333% - 3rem);
    float: right
  }

  .sideSection-pos-left {
    float: left
  }

  .mainSection-pos-right {
    float: right
  }

  .mainSection-col-one,
  .sideSection-col-one {
    width: 100%
  }

  .mainSection-base-on {
    padding: 2.4rem
  }

  .sideSection-base-on {
    padding: 2.4rem 1.7rem
  }

  .mainSection-base-on .alignwide,
  .sideSection-base-on.sideSection-col-one .alignwide {
    width: calc(100% + 2.4rem + 2.4rem);
    margin-left: -2.4rem;
    margin-right: -2.4rem
  }

  .mainSection-base-on .alignwide.wp-block-image,
  .sideSection-base-on.sideSection-col-one .alignwide.wp-block-image {
    width: calc(100% + 2.4rem + 2.4rem)
  }

  .sideSection-base-on.sideSection-col-two .alignwide {
    width: calc(100% + 1.7rem + 1.7rem);
    margin-left: -1.7rem;
    margin-right: -1.7rem
  }

  .sideSection-base-on.sideSection-col-two .alignwide.wp-block-image {
    width: calc(100% + 1.7rem + 1.7rem)
  }

  .mainSection.mainSection-base-on .vk_outer-width-full,
  .mainSection.mainSection-base-on .widget_ltg_full_wide_title_outer {
    margin-left: -2.4rem;
    margin-right: -2.4rem;
    padding-left: 2.4rem;
    padding-right: 2.4rem
  }

  .sideSection-base-on .vk_outer-width-full,
  .sideSection-base-on .widget_ltg_full_wide_title_outer {
    margin-left: -1.7rem;
    margin-right: -1.7rem;
    padding-left: 1.7rem;
    padding-right: 1.7rem
  }

  .siteHeader .container {
    padding-top: 16px;
    padding-bottom: 14px
  }

  .siteHeader_logo img {
    max-height: 50px
  }

  .gMenu ul li ul.sub-menu li a {
    padding-left: 2.2em
  }

  .gMenu ul li ul.sub-menu li li a {
    padding-left: 3.2em
  }

  body.device-mobile .vk-mobile-nav-menu-btn {
    display: none
  }

  .gMenu_outer {
    top: -54px;
    transition: top 1s
  }

  .gMenu_outer::after {
    content: "";
    clear: both;
    display: block
  }

  .header_scrolled .siteHeadContainer.container {
    width: 100%
  }

  .header_scrolled .navbar-header {
    margin-bottom: 54px
  }

  .header_scrolled.admin-bar .gMenu_outer {
    top: 32px
  }

  .header_scrolled .gMenu_outer {
    clear: both;
    z-index: 1000;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-height: unset;
    background-color: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .1)
  }

  .header_scrolled .gMenu_outer nav {
    display: block;
    width: 960px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px
  }

  .header_scrolled .gMenu {
    float: none;
    display: flex
  }

  .header_scrolled .gMenu>li {
    width: 50%;
    border-left: 1px solid #f5f5f5
  }

  .header_scrolled .gMenu>li:last-child {
    border-right: 1px solid #f5f5f5
  }

  .device-pc .gMenu>li a {
    padding-left: 1em;
    padding-right: 1em
  }

  .entry-header {
    margin-bottom: 2.2rem
  }

  .widget_ltg_full_wide_title_outer {
    padding-top: 2.5em;
    padding-bottom: 2.5em
  }

  .slide-text-caption {
    font-size: 1.3vw
  }

  .slide .btn-ghost {
    font-size: 1.3vw
  }
}

@media (min-width:992px) and (min-width:1200px) {
  .header_scrolled .gMenu_outer nav {
    width: 1140px
  }
}

@media (min-width:1200px) {
  .siteContent {
    padding: 3.5rem 0 4rem
  }

  .sideSection-base-on {
    padding: 2.4rem 2rem
  }

  .sideSection-base-on.sideSection-col-two .alignwide {
    width: calc(100% + 2rem + 2rem);
    margin-left: -2rem;
    margin-right: -2rem
  }

  .sideSection-base-on.sideSection-col-two .alignwide.wp-block-image {
    width: calc(100% + 2rem + 2rem)
  }

  .mainSection.mainSection-base-on .vk_outer-width-full,
  .mainSection.mainSection-base-on .widget_ltg_full_wide_title_outer {
    margin-left: -2.4rem;
    margin-right: -2.4rem;
    padding-left: 2.4rem;
    padding-right: 2.4rem
  }

  .sideSection-base-on .vk_outer-width-full,
  .sideSection-base-on .widget_ltg_full_wide_title_outer {
    margin-left: -2rem;
    margin-right: -2rem;
    padding-left: 2rem;
    padding-right: 2rem
  }

  .widget_ltg_full_wide_title_outer {
    padding-top: 3em;
    padding-bottom: 3em
  }

  .siteHeader_logo {
    float: left
  }

  .gMenu_outer {
    right: 0;
    float: right;
    width: auto;
    min-height: 4em;
    display: table
  }

  .gMenu {
    right: 0;
    margin: 0;
    float: right
  }

  .gMenu_outer nav {
    display: table-cell;
    vertical-align: middle
  }
}

@media (max-width:1199.98px) {
  .siteHeader_logo {
    width: 100%;
    text-align: center
  }

  .siteHeader_logo img {
    margin-left: auto;
    margin-right: auto
  }

  .gMenu_outer nav {
    text-align: center
  }

  .gMenu {
    display: inline-flex;
    margin: 0 auto
  }

  .gMenu>li {
    float: unset
  }
}

@media (max-width:991.98px) {

  .mainSection,
  .sideSection {
    width: 100%;
    flex-basis: unset
  }

  .mainSection {
    margin-bottom: 2rem
  }

  .navbar-header {
    float: none
  }

  .siteHeader_logo {
    font-size: 1.6rem;
    float: inherit;
    text-align: center;
    display: block;
    margin: 0 auto;
    padding: 0 45px
  }

  .siteHeader_logo img {
    display: block;
    margin: 0 auto
  }

  .gMenu_outer {
    display: none
  }
}

@media (max-width:991px) {
  .headerTop .headerTop .headerTop_tel_wrap {
    color: #464646
  }

  .headerTop ul {
    border-top: 1px solid rgba(0, 0, 0, .15)
  }

  .headerTop ul a {
    color: #464646;
    border-bottom: 1px solid rgba(0, 0, 0, .15)
  }
}

@media (max-width:767px) {
  .footerMenu {
    border-top: var(--color-footer-border, #ccc);
    border-bottom: var(--color-footer-border, #ccc)
  }

  .footerMenu .nav {
    display: unset
  }

  .footerMenu li {
    float: none;
    border-bottom: var(--color-footer-border, #ccc);
    display: block;
    overflow: hidden;
    padding: .5em 0
  }

  .footerMenu li:last-child {
    border-bottom: none
  }

  .media .postList_thumbnail {
    padding-right: 20px
  }

  .media .media-body .media-headding {
    font-size: 1.2em;
    line-height: 1.3em;
    margin-bottom: .5em
  }
}

@media (max-width:767.98px) {
  .entry-meta .entry-meta_items_term {
    float: none;
    display: block;
    margin-top: .5em
  }

  h1.entry-title {
    font-size: 26px
  }

  .carousel-indicators {
    display: none
  }
}

@media (max-width:575.98px) {

  .mainSection-base-on .alignwide,
  .sideSection-base-on .alignwide {
    width: calc(100% + 1.4rem + 1.4rem);
    margin-left: -1.4rem;
    margin-right: -1.4rem
  }

  .mainSection-base-on .alignwide.wp-block-image,
  .sideSection-base-on .alignwide.wp-block-image {
    width: calc(100% + 1.4rem + 1.4rem)
  }
}

@media screen and (max-width:575.98px) {
  .prBlock {
    margin-bottom: 1.5em
  }
}

@media (max-width:500px) {
  .media .postList_thumbnail {
    width: 100px
  }
}

/* --- custom-css-js.css --- */
/*
Theme Name: Lightning
Text Domain: lightning
Theme URI: https://lightning.vektor-inc.co.jp/en/
Description: Lightning is a very simple & easy to customize theme which is based on the Bootstrap. It is also very friendly with custom post types and custom taxonomies. When you add a new one, the breadcrumbs will be adjusted and posts will look beautifully without editing or adding a template files.
Author: Vektor,Inc.
Author URI: https://www.vektor-inc.co.jp
Version: 15.33.1
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 7.4
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Lightning WordPress theme, Copyright (C) 2015-2026 Vektor,Inc.
Lightning WordPress theme is licensed under the GPL.

Lightning WordPress Theme bundles the following third-party resources:

Font Awesome icon font, Copyright 2012 Fonticons, Inc.
its fonts are licensed under the terms of the SIL OFL License 1.1, and its code is licensed under the terms of the MIT license
Source: https://fontawesome.com/

Bootstrap framework, Copyright 2011 Bootstrap Authors and Twitter, Inc.
Bootstrap is licensed under the terms of the MIT license
Source: https://getbootstrap.com/

CSS Simple Tree Shaking
CSS Simple Tree Shaking is licensed under the terms of the GNU General Public License v2 license
Source: https://celtislab.net/
*/

/* --- gallery.css --- */
/* == gallery == */
#gallery-1 {
  margin: auto;
}

#gallery-1 .gallery-item {
  float: left;
  margin-top: 10px;
  text-align: center;
  width: 50%;
}

#gallery-1 img {
  border: 2px solid #cfcfcf;
}

#gallery-1 .gallery-caption {
  margin-left: 0;
}

/* see gallery_shortcode() in wp-includes/media.php */

#gallery-2 {
  margin: auto;
}

#gallery-2 .gallery-item {
  float: left;
  margin-top: 10px;
  text-align: center;
  width: 50%;
}

#gallery-2 img {
  border: 2px solid #cfcfcf;
}

#gallery-2 .gallery-caption {
  margin-left: 0;
}

/* see gallery_shortcode() in wp-includes/media.php */

#gallery-3 {
  margin: auto;
}

#gallery-3 .gallery-item {
  float: left;
  margin-top: 10px;
  text-align: center;
  width: 50%;
}

#gallery-3 img {
  border: 2px solid #cfcfcf;
}

#gallery-3 .gallery-caption {
  margin-left: 0;
}

/* see gallery_shortcode() in wp-includes/media.php */

#gallery-4 {
  margin: auto;
}

#gallery-4 .gallery-item {
  float: left;
  margin-top: 10px;
  text-align: center;
  width: 50%;
}

#gallery-4 img {
  border: 2px solid #cfcfcf;
}

#gallery-4 .gallery-caption {
  margin-left: 0;
}

/* see gallery_shortcode() in wp-includes/media.php */

#gallery-5 {
  margin: auto;
}

#gallery-5 .gallery-item {
  float: left;
  margin-top: 10px;
  text-align: center;
  width: 50%;
}

#gallery-5 img {
  border: 2px solid #cfcfcf;
}

#gallery-5 .gallery-caption {
  margin-left: 0;
}

/* see gallery_shortcode() in wp-includes/media.php */

#gallery-6 {
  margin: auto;
}

#gallery-6 .gallery-item {
  float: left;
  margin-top: 10px;
  text-align: center;
  width: 50%;
}

#gallery-6 img {
  border: 2px solid #cfcfcf;
}

#gallery-6 .gallery-caption {
  margin-left: 0;
}

/* see gallery_shortcode() in wp-includes/media.php */

#gallery-7 {
  margin: auto;
}

#gallery-7 .gallery-item {
  float: left;
  margin-top: 10px;
  text-align: center;
  width: 50%;
}

#gallery-7 img {
  border: 2px solid #cfcfcf;
}

#gallery-7 .gallery-caption {
  margin-left: 0;
}

/* see gallery_shortcode() in wp-includes/media.php */

#gallery-8 {
  margin: auto;
}

#gallery-8 .gallery-item {
  float: left;
  margin-top: 10px;
  text-align: center;
  width: 50%;
}

#gallery-8 img {
  border: 2px solid #cfcfcf;
}

#gallery-8 .gallery-caption {
  margin-left: 0;
}

/* see gallery_shortcode() in wp-includes/media.php */

#gallery-9 {
  margin: auto;
}

#gallery-9 .gallery-item {
  float: left;
  margin-top: 10px;
  text-align: center;
  width: 50%;
}

#gallery-9 img {
  border: 2px solid #cfcfcf;
}

#gallery-9 .gallery-caption {
  margin-left: 0;
}

/* see gallery_shortcode() in wp-includes/media.php */

#gallery-10 {
  margin: auto;
}

#gallery-10 .gallery-item {
  float: left;
  margin-top: 10px;
  text-align: center;
  width: 50%;
}

#gallery-10 img {
  border: 2px solid #cfcfcf;
}

#gallery-10 .gallery-caption {
  margin-left: 0;
}

/* see gallery_shortcode() in wp-includes/media.php */

#gallery-11 {
  margin: auto;
}

#gallery-11 .gallery-item {
  float: left;
  margin-top: 10px;
  text-align: center;
  width: 50%;
}

#gallery-11 img {
  border: 2px solid #cfcfcf;
}

#gallery-11 .gallery-caption {
  margin-left: 0;
}

/* see gallery_shortcode() in wp-includes/media.php */

#gallery-12 {
  margin: auto;
}

#gallery-12 .gallery-item {
  float: left;
  margin-top: 10px;
  text-align: center;
  width: 50%;
}

#gallery-12 img {
  border: 2px solid #cfcfcf;
}

#gallery-12 .gallery-caption {
  margin-left: 0;
}

/* see gallery_shortcode() in wp-includes/media.php */


/* --- custom-overrides.css --- */
/* == wp-custom-css == */
.notice-container {
  max-width: 700px;
  margin: 0 auto;
  background: #fff;
  padding: 1.5rem;
  border: 2px solid #ccc;
}

.notice-container h2 {
  font-size: 1.1rem;
  color: #222;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
}

.notice-container ul {
  padding-left: 1.2rem;
}

.notice-container li {
  margin-bottom: 1rem;
  line-height: 1.6;
}

.highlight {
  background-color: #ffffcc;
}

.footer-note {
  margin-top: 2rem;
  font-size: 0.9rem;
  color: #555;
  border-top: 1px solid #ddd;
  padding-top: 1rem;
}

.box11 {
  padding: 1em 1em;
  margin: 2em 0;

  background: white;
  border-top: solid 8px #223a70;
  box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}

/*一押しメニュー背景*/
.back1 {
  background-color: #ffe4e1;
  color: #000;

  font-weight: 500;
  padding: 25px;
  margin-left: -25px;
  margin-right: -25px;
}

table {
  border-collapse: separate;
  border-spacing: 0;
  width: 60%;
  margin: auto;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  background-color: white;
}

th,
td {
  border-right: 1px solid #f0f0f0;
  border-bottom: 1px solid #f0f0f0;
  text-align: center;
  padding: 12px 20px;
  color: #333;
}

th {
  background-color: #000059;
  color: #000;
  font-size: 16px;
}

td {
  font-size: 14px;
}

tr:nth-child(even) td {
  background-color: #f9f9f9;
}

tr:first-child th:first-child {
  border-top-left-radius: 10px;
}

tr:first-child th:last-child {
  border-top-right-radius: 10px;
}

tr:last-child td:first-child {
  border-bottom-left-radius: 10px;
}

tr:last-child td:last-child {
  border-bottom-right-radius: 10px;
}

th:first-child,
td:first-child {
  border-left: none;
}

th:last-child,
td:last-child {
  border-right: none;
}

@media (max-width: 768px) {
  body {
    margin: 10px;
  }

  table {
    width: 100%;
    box-shadow: none;
  }

  th,
  td {
    padding: 10px 5px;
    font-size: 12px;
  }

  th {
    font-size: 14px;
  }

  /* 表の角の丸みをスマホでは控えめに */
  tr:first-child th:first-child {
    border-top-left-radius: 5px;
  }

  tr:first-child th:last-child {
    border-top-right-radius: 5px;
  }

  tr:last-child td:first-child {
    border-bottom-left-radius: 5px;
  }

  tr:last-child td:last-child {
    border-bottom-right-radius: 5px;
  }
}

/******************************/
.timeline {
  background-color: #f4f4f4;
  padding: 20px;
  margin-top: 20px;
}

.event {
  margin-bottom: 15px;
}

.date {
  font-weight: bold;
}

.description {
  margin-left: 20px;
}

.top-page-nav {
  display: flex;
  list-style: none;
  flex-wrap: wrap;
  margin: 40px auto 0;
  padding: 0;
  justify-content: space-between;
}

.top-page-nav li {
  width: 25%;
}

.top-page-nav li a {
  display: block;
  color: #000;
  padding: 5px 10px 5px 15px;
  text-align: center;
  position: relative;
}

.top-page-nav li a:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -6px;
  width: 7px;
  height: 7px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  transform: translateX(-50%) rotate(135deg);
}

body {
  animation: fadeIn 3s ease 0s 1 normal;
  -webkit-animation: fadeIn 4s ease 0s 1 normal;
}

@keyframes fadeIn {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

@media screen and (max-width: 750px) {

  .top-page-nav li {
    width: 50%;
  }

}



.block {
  width: 100%;
  /* スマートフォンでは1列 */
  margin-bottom: 20px;
}

.block img {
  width: 120px;
  /* スマートフォンで適切なサイズ */
  height: 120px;
  border-radius: 50%;
  display: block;
  margin: 0 auto;
}

.block h3 {
  text-align: center;
}



/* パソコンとタブレットのスタイル */
@media (min-width: 481px) {
  .block {
    width: 30%;
    /* パソコンでは3列 */
  }

  .block img {
    width: 150px;
    /* パソコンで元のサイズに戻す */
    height: 150px;
  }
}

.boxbox {
  width: 100%;
  height: 100%;
  margin: 1px;
  padding: 2px;
  border: 2px solid #ffb6c1;
  padding: 3px;
  background-color: #fff;
}

.co {
  display: flex;
}

.boxbox2 {
  width: 100%;
  height: 100%;
  margin: 1px;
  padding: 2px;
  border: 2px solid #2B6644;
  padding: 3px;
  background-color: #fff;
}


.ttl_line4 {
  font-weight: bold;
  padding: 0.3em;
  margin-bottom: 0.3em;
  position: relative;
}

h4.ttl_line5 {
  font-weight: bold;
  border-bottom: 5px solid #2B6644;
  padding: 0.3em;
  margin-bottom: 0.3em;
  position: relative;
}




/************************************************
 よくある質問ここから*/

.cp_qa *,
.cp_qa *:after,
.cp_qa *:before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.cp_qa .cp_actab {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: 0 0 0.5em 0;
  color: #1b2538;
}

.cp_qa .cp_actab input {
  position: absolute;
  opacity: 0;
}

/* 質問 */
.cp_qa .cp_actab label {
  font-weight: bold;
  line-height: 1.6em;
  position: relative;
  display: block;
  margin: 0 0 0 0;
  padding: 1em 2em 1em 2.5em;
  cursor: pointer;
  text-indent: 1em;
  border-radius: 0.5em;
  background: rgba(27, 37, 56, 0.1);
}

.cp_qa .cp_actab label::before {
  font-family: serif;
  font-size: 1.5em;
  margin-left: -2em;
  padding-right: 0.5em;
  content: 'Q';
}

.cp_qa .cp_actab label:hover {
  transition: all 0.3s;
  color: #777;
}

/* --質問の＋アイコン */
.cp_qa .cp_actab label::after {
  font-size: 1.7em;
  font-weight: bold;
  line-height: 2em;
  position: absolute;
  top: 0;
  right: 0;
  display: inline-block;
  width: 2em;
  height: 2em;
  -webkit-transition: transform 0.4s;
  transition: transform 0.4s;
}

/* 答え */
.cp_qa .cp_actab .cp_actab-content {
  position: relative;
  overflow: hidden;
  max-height: 0;
  margin-top: 0;
  padding: 0 0 0 2.5em;
  -webkit-transition: max-height 0.2s;
  transition: max-height 0.2s;
  border-radius: 0 0 0.5em 0.5em;
}

.cp_qa .cp_actab .cp_actab-content::before {
  font-family: serif;
  font-size: 1.5em;
  position: absolute;
  margin: 0.4em 0 0 -1em;
  padding: 0;
  content: 'A';
}

.cp_qa .cp_actab .cp_actab-content p {
  margin: 1em 1em 1em 0;
}

/* 質問を開いた時の仕様 */
/* --答えの高さ */
.cp_qa .cp_actab input:checked~.cp_actab-content {
  max-height: 40em;
  border: 10px solid rgba(27, 37, 56, 0.1);
}

/* 質問をクリックした時のアイコンの動き */
.cp_qa .cp_actab input:checked~label {
  color: #db7093;
  border-radius: 0.5em 0.5em 0 0;
}

/* 質問をクリックした時の+の動き */
.cp_qa .cp_actab input[type=checkbox]:checked+label::after {
  -webkit-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
  -webkit-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}


/***
 よくある質問ここまで***************************************/

.back {
  padding: 0.5em 1em;
  margin: 2em 0;
  color: #fa8072;
  background: #f5f5f5;
  /*背景色*/
  border-top: solid 6px #a9a9a9;
  box-shadow: 0 3px 4px rgba(0, 0, 0, 0.32);
  /*影*/
}

.back p {
  margin: 0;
  padding: 0;
}

h2 {
  padding: 0.8em 0 0.7em;
  border-top: 10px solid #2f00bf;
}

/*  ここから追加CSS*/



h2.upcycle {
  padding: 0.8em 0 0.7em;
  border-top: 3px solid #C0DBEE;
  border-bottom: 3px solid #C0DBEE;

}

h3.upcycle1 {
  border-bottom: transparent;

}

h3.upcycle1:after,
.subSection-title:after {
  border-bottom-color: transparent;
}

h4.upcycle2 {
  background: #ffeaea;
  padding-bottom: 8px;
  padding-top: 8px;
}

.box15 {
  padding: 2em 2em;
  margin: 2em 0;
  color: #000;
  background: #fff;
  box-shadow: 0px 0px 0px 10px #fffa;
  border: dashed 2px #FFBBC6;
  border-radius: 8px;
}

.box15 p {
  margin: 0;
  padding: 0;
}

/* 緑 */

.box151 {
  padding: 2em 2em;
  margin: 2em 0;
  color: #000;
  background: #fff;
  box-shadow: 0px 0px 0px 10px #fffa;
  border: dashed 2px #2B6644;
  border-radius: 8px;
}

.box151 p {
  margin: 0;
  padding: 0;
}

.box5 {
  padding: 0.5em 1em;
  margin: 2em 0;
  border: double 5px #F6C3C2;
}

.box5 p {
  margin: 0;
  padding: 0;
}


.box6 {
  padding: 0.5em 1em;
  margin: 2em 0;
  border: double 5px #ff0000;
}

.box6 p {
  margin: 0;
  padding: 0;
}

.boxbox1 {
  width: 100%;
  height: 100%;
  margin: 1px;
  padding: 2px;
  border: 0.5px solid #FFBBC6;
  padding: 3px;
  background-color: #fff;
}

.ttl_line5 {
  font-weight: bold;
  border-bottom: 5px solid #FFBBC6;
  padding: 0.3em;
  margin-bottom: 0.3em;
  position: relative;
}

.flow_design01 {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow_design01 ul {
  padding: 0;
}

.flow_design01 li {
  list-style-type: none;
}

.flow_design01 dd {
  margin-left: 0;
}

.flow01>li {
  position: relative;
  list-style: none;
}

.flow01>li:not(:last-child) {
  margin-bottom: 40px;
}

.flow01>li dl {
  box-sizing: border-box;
  width: 100%;
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 2px solid #999;
  border-radius: 10px;
  position: relative;
}

.flow01>li:not(:last-child) dl::before,
.flow01>li:not(:last-child) dl::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.flow01>li:not(:last-child) dl::before {
  border-width: 22px;
  border-top-color: #999;
}

.flow01>li:not(:last-child) dl::after {
  border-width: 20px;
  border-top-color: #fff;
}

.flow01>li dl dt {
  font-size: 1.2em;
  font-weight: 600;
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  margin-right: 2vw;
  text-align: center;
  border-left: transparent;
}

.flow01>li dl dt .icon01 {
  font-size: 0.6em;
  color: #fff;
  background: #FFBBC6;
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
  position: relative;
  z-index: 100;
}

@media(max-width: 650px) {
  .flow01>li:not(:last-child) {
    margin-bottom: 30px;
  }

  .flow01>li dl {
    display: block;
    padding: 10px 15px;
  }

  .flow01>li dl dt {
    margin-right: 0;
  }

  .flow01>li dl dt .icon01 {
    font-size: .7em;
  }
}

.page-id-496 .page-header {
  display: none;
}

.qa-1 {
  max-width: 1000px;
  margin-bottom: 7px;
  border: 1px solid #d6dde3;
  border-radius: 25px;
}

.qa-1 summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  padding: 1em 2em 1em 3em;
  color: #333333;
  font-weight: 600;
  cursor: pointer;
}

.qa-1 summary::before,
.qa-1 p::before {
  position: absolute;
  left: 1em;
  font-weight: 600;
  font-size: 1.3em;
}

.qa-1 summary::before {
  color: #2B6644;
  content: "Q";
}

.qa-1 summary::after {
  transform: translateY(-25%) rotate(45deg);
  width: 7px;
  height: 7px;
  margin-left: 10px;
  border-bottom: 3px solid #333333b3;
  border-right: 3px solid #333333b3;
  content: '';
  transition: transform .5s;
}

.qa-1[open] summary::after {
  transform: rotate(225deg);
}

.qa-1 p {
  position: relative;
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: .3em 3em 1.5em;
  color: #333;
  transition: transform .5s, opacity .5s;
}

.qa-1[open] p {
  transform: none;
  opacity: 1;
}

.qa-1 p::before {
  color: #F5BAC5;
  line-height: 1.2;
  content: "A";
}



.box-019 {
  position: relative;
  margin-top: 1em;
  padding: 1.8em 2em 1em 2em;
  border: 2px solid #F5BAC5;
}

.box-019>div {
  position: absolute;
  top: -1.15em;
  left: -.5em;
  padding: .4em 1.4em;
  border-radius: 25px;
  background-color: #F5BAC5;
  color: #fff;
  font-size: .9em;
}

.box-019>div::before {
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 16px;
  height: 8px;
  background-color: #F5BAC5;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
}

.box-019 p {
  margin: 0;
}

.flow_design01 {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow_design01 ul {
  padding: 0;
}

.flow_design01 li {
  list-style-type: none;
}

.flow_design01 dd {
  margin-left: 0;
}

.flow01>li {
  position: relative;
  list-style: none;
}

.flow01>li:not(:last-child) {
  margin-bottom: 40px;
}

.flow01>li dl {
  box-sizing: border-box;
  width: 100%;
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 2px solid #F88400;
  border-radius: 10px;
  position: relative;
}

.flow01>li:not(:last-child) dl::before,
.flow01>li:not(:last-child) dl::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.flow01>li:not(:last-child) dl::before {
  border-width: 22px;
  border-top-color: #F88400;
}

.flow01>li:not(:last-child) dl::after {
  border-width: 20px;
  border-top-color: #fff;
}

.flow01>li dl dt {
  font-size: 1.2em;
  font-weight: 600;
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  margin-right: 2vw;
  text-align: center;
}

.flow01>li dl dt .icon01 {
  font-size: 0.6em;
  color: #fff;
  background: #F88400;
  padding: 5px 10px;
  margin-bottom: 10px;
  display: block;
  border-radius: 20px;
  position: relative;
  z-index: 100;
}

@media(max-width: 650px) {
  .flow01>li:not(:last-child) {
    margin-bottom: 30px;
  }

  .flow01>li dl {
    display: block;
    padding: 10px 15px;
  }

  .flow01>li dl dt {
    margin-right: 0;
  }

  .flow01>li dl dt .icon01 {
    font-size: .7em;
  }
}

.btn-flat-border {
  display: inline-block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #67c5ff;
  border: solid 2px #67c5ff;
  border-radius: 3px;
  transition: .4s;
}

.btn-flat-border:hover {
  background: #67c5ff;
  color: white;
}

/* CTA（お申込み）セクション中央寄せ */
.contact_frame {
  text-align: center;
}

.contact_frame .contact_txt {
  text-align: center;
}

.contact_frame .contact_bt {
  display: inline-block;
  margin: 0 auto;
}

/* ギャラリー強制中央寄せ・フレックスボックス化（崩れ防止） */
.gallery {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  margin: 0 auto 25px !important;
  width: 100% !important;
}

.gallery::after,
.gallery::before {
  display: none !important;
}

.gallery br {
  display: none !important;
}

.gallery .gallery-item {
  float: none !important;
  box-sizing: border-box !important;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 !important;
  padding: 10px !important;
}

.gallery.gallery-columns-1 .gallery-item {
  width: 100% !important;
  max-width: 100% !important;
}

.gallery.gallery-columns-2 .gallery-item {
  width: 50% !important;
  max-width: 50% !important;
}

.gallery.gallery-columns-3 .gallery-item {
  width: 33.33% !important;
  max-width: 33.33% !important;
}

.gallery.gallery-columns-4 .gallery-item {
  width: 25% !important;
  max-width: 25% !important;
}

.gallery .gallery-item img {
  width: auto !important;
  max-width: 100% !important;
}

/* === RESTORED WPCODE CSS SNIPPET === */
/* Utilities */
.pc-only { display: block; }
.sp-only { display: none; }
@media (max-width: 768px) {
  .pc-only { display: none; }
  .sp-only { display: block; }
}

/* 幅固定と余白削除 */
.page-id-1810 .section.siteContent .container {
	max-width: none !important;
	padding: 0 !important;
}

.page-id-1810 .section.siteContent {
	padding: 0;
}

.page-id-1810 {
	margin: 0;
}

/* スマホでの意図せぬ横揺れ・右側の余白を【完全に】防ぐための記述 */
html,
body {
  margin: 0;
  padding: 0;
  overflow-x: hidden !important;
  max-width: 100vw;
  width: 100vw;
}

/* ==========================================
   1. Theme Reset & Dual Container Setup (必須)
   ========================================== */
.lp-wine-wrapper {
  all: revert;
  box-sizing: border-box;
  font-family: "Helvetica Neue", Arial, "Hiragino Mincho ProN", "Yu Mincho", serif;
  color: #333;
  background-color: #FCFAF8;
  /* Gentle: オフホワイトの背景 */

  /* フルブリード強制拡張 */
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  max-width: 100vw;
  overflow-x: hidden;
  line-height: 2;
  /* 行間を広めに */
  position: relative;
}

/* Atmosphere Localized Bleed Effect */
.lp-wine-section {
  position: relative;
  /* contained bleed - overflow hidden removed so it bleeds across sections naturally */
}

/* Ensure container content sits above the bleed */
.lp-wine-section .lp-container {
  position: relative;
  z-index: 1;
}

/* Base style for bleeding blobs */
.lp-wine-section::before,
.lp-wine-section::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(50px);
  pointer-events: none;
  z-index: 0;
  /* Force HW acceleration */
  transform: translate3d(0, 0, 0);
  opacity: 0.6;
}

/* Odd sections (e.g., Concept, Voice) */
.lp-wine-section:nth-of-type(odd)::before {
  top: 10%;
  left: -5vw;
  width: 50vw;
  height: 50vw;
  max-width: 400px;
  max-height: 400px;
  background: radial-gradient(circle, rgba(160, 60, 70, 0.4) 0%, rgba(255, 255, 255, 0) 70%);
}

.lp-wine-section:nth-of-type(odd)::after {
  bottom: 0%;
  right: -5vw;
  width: 60vw;
  height: 60vw;
  max-width: 500px;
  max-height: 350px;
  background: radial-gradient(circle, rgba(207, 169, 114, 0.4) 0%, rgba(255, 255, 255, 0) 70%);
}

/* Even sections (e.g., Flow, FAQ) */
.lp-wine-section:nth-of-type(even)::before {
  top: -5%;
  right: -5vw;
  width: 55vw;
  height: 55vw;
  max-width: 450px;
  max-height: 450px;
  background: radial-gradient(circle, rgba(160, 60, 70, 0.35) 0%, rgba(255, 255, 255, 0) 70%);
}

.lp-wine-section:nth-of-type(even)::after {
  bottom: 10%;
  left: -5vw;
  width: 40vw;
  height: 40vw;
  max-width: 300px;
  max-height: 300px;
  background: radial-gradient(circle, rgba(220, 190, 150, 0.3) 0%, rgba(255, 255, 255, 0) 70%);
}

.lp-wine-wrapper {
  overflow-x: hidden;
  /* 横揺れ・スクロールの引っかかりを防止する最重要プロパティ */
  position: relative;
  width: 100%;
}

.lp-wine-wrapper * {
  box-sizing: border-box;
  position: relative;
  /* 背景ブロブの上にコンテンツが来るように */
  z-index: 1;
}

/* 要素のリセット */
.lp-wine-wrapper h1,
.lp-wine-wrapper h2,
.lp-wine-wrapper h3,
.lp-wine-wrapper h4,
.lp-wine-wrapper ul,
.lp-wine-wrapper ol,
.lp-wine-wrapper li,
.lp-wine-wrapper p {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  list-style: none;
  font-weight: normal;
}

.lp-wine-wrapper p:empty {
  display: none;
}

.lp-wine-wrapper h3::after {
	display: none;
}

.lp-wine-wrapper a {
  text-decoration: none;
  color: inherit;
}

.lp-wine-wrapper img {
  width: 100%;
  height: auto;
  display: block;
}

.lp-wine-img-fluid {
  border-radius: 4px;
  object-fit: cover;
}

/* Atmosphere: やわらかな角 */


/* インナーコンテナ（コンテンツ幅制限） */
.lp-wine-wrapper .lp-container {
  max-width: 1300px;
  /* 大余白を作るため少し狭める */
  margin: 0 auto;
  width: 100%;
	padding: 0 16px;
}

/* ==========================================
   2. Base Variables & Typography
   ========================================== */
:root {
  --wine-primary: #722F37;
  /* 深みのあるワインレッド */
  --wine-dark: #3a1c1d;
  --wine-accent: #cfa972;
  /* シャンパンゴールド */
  --text-main: #3a3a3a;
  --text-light: #777777;
  --white: #ffffff;

  /* Spacing System (Gentle) */
  --spacing-sm: 24px;
  --spacing-md: 48px;
  --spacing-lg: 80px;
  --spacing-xl: 120px;
  --spacing-xxl: 160px;
}

.lp-wine-wrapper .lp-wine-text {
  font-size: 15px;
  color: var(--text-main);
  margin-bottom: var(--spacing-sm);
  letter-spacing: 0.08em;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  /* 本文は読みやすいゴシック */
}

/* Typography Utility for Japanese line-breaking */
.text-nowrap {
  display: inline-block;
  white-space: nowrap;
}

/* Clean & Minimal: フォントサイズのジャンプ率を高く */
.lp-wine-wrapper .lp-wine-concept-title {
  font-size: 24px;
  font-weight: 500;
  color: var(--wine-primary);
  margin-bottom: var(--spacing-md);
  line-height: 1.6;
  letter-spacing: 0.1em;
}

.lp-wine-wrapper .lp-wine-section-title-en {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 32px;
  font-weight: 300;
  text-align: center;
  color: var(--wine-dark);
  letter-spacing: 0.2em;
  margin-bottom: 8px;
}

.lp-wine-wrapper .lp-wine-section-subtitle {
  font-size: 14px;
  text-align: center;
  color: var(--text-light);
  letter-spacing: 0.15em;
  margin-bottom: var(--spacing-lg);
}

@media (min-width: 769px) {
  .lp-wine-wrapper .lp-wine-text {
    font-size: 16px;
  }

  .lp-wine-wrapper .lp-wine-concept-title {
    font-size: 36px;
  }

  .lp-wine-wrapper .lp-wine-section-title-en {
    font-size: 48px;
  }
}

.lp-wine-wrapper .lp-wine-section {
  padding: var(--spacing-xl) 0;
  position: relative;
}

@media (min-width: 769px) {
  .lp-wine-wrapper .lp-wine-section {
    padding: var(--spacing-xxl) 0;
  }
}

/* ==========================================
   3. Buttons (Vivid & Uniqueエッセンス: 押したくなる実体感)
   ========================================== */
.lp-wine-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 16px 36px;
  border-radius: 4px;
  /* Clean & Minimal */
  font-size: 15px;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  letter-spacing: 0.1em;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  text-align: center;
}

.lp-wine-btn-primary {
  background: var(--wine-primary);
  color: var(--white);
  border: 1px solid var(--wine-primary);
  box-shadow: 0 10px 20px rgba(114, 47, 55, 0.15);
  /* Vivid: 物理的な影 */
  margin-top: var(--spacing-md);
}

.lp-wine-btn-primary:hover {
  background: var(--white);
  color: var(--wine-primary);
  transform: translateY(-4px);
  /* Vivid: 浮き上がる感覚 */
  box-shadow: 0 15px 25px rgba(114, 47, 55, 0.25);
}

.lp-wine-btn-massive {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 480px;
  background: var(--wine-primary);
  color: #ffffff;
  /* 強制的に白 */
  padding: 24px 32px;
  border-radius: 8px;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 18px;
  letter-spacing: 0.05em;
  transition: all 0.4s ease;
  box-shadow: 0 8px 30px rgba(114, 47, 55, 0.4);
  /* 背景に負けない影 */
  text-decoration: none !important;
}

.lp-wine-btn-massive span,
.lp-wine-btn-massive .btn-text,
.lp-wine-btn-massive .btn-arrow {
  color: #ffffff !important;
  /* 子要素が継承しないように強制 */
}

.lp-wine-btn-massive .btn-arrow {
  transition: transform 0.4s ease;
}

.lp-wine-btn-massive:hover {
  background: var(--wine-dark);
  transform: translateY(-2px);
  box-shadow: 0 12px 40px rgba(114, 47, 55, 0.6);
}

.lp-wine-btn-massive:hover .btn-arrow {
  transform: translateX(8px);
}

/* ==========================================
   4. Hero Section (POWERFUL Typography + Atmosphere)
   ========================================== */
.lp-wine-hero {
  position: relative;
  min-height: max(100vh, 650px);
  /* コンテンツ量が多いスマホでも背景が途切れないよう最小高さを保証 */
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  padding: 80px 0;
  overflow: hidden;
}

.lp-wine-hero-bg {
  position: absolute;
  top: -5%;
  left: -5%;
  width: 110%;
  /* アニメーションの余白を確保しつつ背景を確実に全域へ */
  height: 110%;
  background: url('../assets/shunta0044_wine_making_process_red_wine_-ar_169_-v_6.1_5999d954-d696-4f38-bfb5-25c16efb7387_1-e1732941628896.png') center/cover no-repeat;
  z-index: 1;
  /* Atmosphere: ゆっくり自然に動くKen Burnsエフェクト */
  animation: wineHeroKenBurns 25s ease-in-out infinite alternate;
}

@keyframes wineHeroKenBurns {
  0% {
    transform: scale(1.0);
  }

  100% {
    transform: scale(1.08);
    /* はみ出した110%の中でスケール */
  }
}

.lp-wine-hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  /* モバイルでも文字がはっきり読めるようオーバーレイを暗めに調整 */
  background: linear-gradient(180deg, rgba(58, 28, 29, 0.4) 0%, rgba(58, 28, 29, 0.7) 100%);
  z-index: 2;
}

.lp-wine-hero .lp-container {
  position: relative;
  z-index: 3;
}

.lp-wine-hero-content {
  text-align: center;
}

.lp-wine-hero-catch {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", sans-serif;
  font-size: 14px;
  letter-spacing: 0.2em;
  margin-bottom: var(--spacing-sm);
  color: rgba(255, 255, 255, 0.9);
}

/* POWERFUL: 超巨大な英字タイポグラフィと日本語のコントラスト */
.lp-wine-hero-title {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 11vw;
  /* 画面幅に応じて巨大化 */
  font-weight: 200;
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin-bottom: var(--spacing-lg);
  color: var(--white);
  text-shadow: 0 4px 16px rgba(0, 0, 0, 0.5);
}

.lp-wine-hero-title span {
  display: block;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 20px;
  font-weight: normal;
  letter-spacing: 0.1em;
  margin-top: var(--spacing-md);
  line-height: 1.6;
}

@media (min-width: 769px) {
  .lp-wine-hero-title {
    font-size: 80px;
  }

  .lp-wine-hero-title span {
    font-size: 28px;
  }
}

/* Hero Info (Minimal) */
.lp-wine-hero-info {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-top: 40px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
}

.lp-wine-hero-info-divider {
	width: 2px;
	height: 80px;
  background: rgba(255, 255, 255, 0.3);
}

.lp-wine-hero-info-item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.lp-wine-hero-info-note {
  font-size: 14px;
  /* スマホで確実に「読ませる」ための大きなサイズに変更 */
  font-weight: 500;
  opacity: 0.95;
  margin-top: 8px;
  line-height: 1.5;
  text-align: center;
  color: #ffffff;
}

.lp-wine-hero-info-value {
  font-size: 24px;
  font-family: "Helvetica Neue", Arial, sans-serif;
}

.lp-wine-hero-info-value .tax {
  font-size: 12px;
}

.lp-wine-hero-info-note {
  font-family: 'Hiragino Kaku Gothic ProN', sans-serif;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.8);
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1.5;
}

@media (min-width: 769px) {
  .lp-wine-hero-info {
    flex-direction: row;
    justify-content: center;
    gap: 40px;
  }

  .lp-wine-hero-info-item {
    align-items: flex-start;
  }

  .lp-wine-hero-info-note {
    font-size: 14px;
    text-align: left;
  }
}

/* Scroll Indicator */
.lp-wine-scroll-indicator {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.lp-wine-scroll-indicator span {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 10px;
  letter-spacing: 0.2em;
  color: #fff;
}

.lp-wine-scroll-line {
  width: 1px;
  height: 60px;
  background: rgba(255, 255, 255, 0.3);
  position: relative;
  overflow: hidden;
}

.lp-wine-scroll-line::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  animation: scrollLine 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;
}

@keyframes scrollLine {
  0% {
    transform: translateY(-100%);
  }

  50% {
    transform: translateY(0);
  }

  100% {
    transform: translateY(100%);
  }
}


/* ==========================================
   5. Concept Section (Gentle Space + Fade in)
   ========================================== */
.lp-wine-concept-flex {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-lg);
}

.lp-wine-concept-flex.lp-wine-concept-reverse {
  position: relative;
}

/* 2枚目のコンセプトエリアにさらに背景の滲みを足す */
.lp-wine-concept-flex.lp-wine-concept-reverse::before {
  content: '';
  position: absolute;
  top: -30%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80vw;
  height: 80vw;
  max-width: 600px;
  max-height: 600px;
  background: radial-gradient(circle, rgba(160, 60, 70, 0.35) 0%, rgba(207, 169, 114, 0.2) 40%, rgba(255, 255, 255, 0) 70%);
  z-index: -1;
  pointer-events: none;
}

/* ご要望による「さらに足す」強い背景の滲み（右側から大きく被せる） */
.lp-wine-concept-flex.lp-wine-concept-reverse::after {
  content: '';
  position: absolute;
  top: 10%;
  right: -30vw;
  width: 100vw;
  height: 100vw;
  max-width: 800px;
  max-height: 800px;
  background: radial-gradient(circle, rgba(114, 47, 55, 0.45) 0%, rgba(207, 169, 114, 0.2) 50%, rgba(255, 255, 255, 0) 70%);
  z-index: -1;
  pointer-events: none;
}

.lp-wine-concept-image-area img {
  border-radius: 8px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.05);
  /* 柔らかい影 */
}

@media (min-width: 769px) {
  .lp-wine-concept-flex {
    flex-direction: row;
    align-items: center;
    gap: var(--spacing-xxl);
  }

  .lp-wine-concept-flex.lp-wine-concept-reverse {
    flex-direction: row-reverse;
  }

  .lp-wine-concept-text-area {
    flex: 1;
    padding-right: 40px;
  }

  .lp-wine-concept-flex.lp-wine-concept-reverse .lp-wine-concept-text-area {
    padding-right: 0;
    padding-left: 40px;
  }

  .lp-wine-concept-image-area {
    flex: 1;
  }

  /* Atmosphere: 画像を少しずらすアシンメトリー配置 */
  .lp-wine-concept-image-area {
    transform: translateY(40px);
  }

  .lp-wine-concept-flex.lp-wine-concept-reverse .lp-wine-concept-image-area {
    transform: translateY(-40px);
  }
}


/* ==========================================
   6. Flow Section (Atmosphere Asymmetry Layout)
   ========================================== */
.lp-wine-flow-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xl);
  /* ステップ間に大余白 */
  margin-top: var(--spacing-xl);
}

/* 3枚目（体験の流れ）にもさらに大きな滲み（Bleed）を被せて世界観を濃くする */
.lp-wine-flow::before {
  content: '';
  position: absolute;
  top: -10%;
  left: -20vw;
  width: 100vw;
  height: 100vw;
  max-width: 800px;
  max-height: 800px;
  background: radial-gradient(circle, rgba(160, 60, 70, 0.4) 0%, rgba(207, 169, 114, 0.2) 50%, rgba(255, 255, 255, 0) 70%);
  z-index: -1;
  pointer-events: none;
}

.lp-wine-flow::after {
  content: '';
  position: absolute;
  bottom: 20%;
  right: -20vw;
  width: 120vw;
  height: 120vw;
  max-width: 900px;
  max-height: 900px;
  background: radial-gradient(circle, rgba(114, 47, 55, 0.3) 0%, rgba(255, 255, 255, 0) 70%);
  z-index: -1;
  pointer-events: none;
}

.lp-wine-flow-row {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
}

.lp-wine-flow-visual {
  position: relative;
  border-radius: 8px;
  overflow: hidden;
  /* 画像をはみ出させない（Clean） */
}

.lp-wine-flow-visual img {
  aspect-ratio: 4/3;
}

.lp-wine-flow-step-num {
  position: absolute;
  top: 16px;
  left: 16px;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0.1em;
  color: #fff;
  /* Vivid: ちょっとしたノイズとしてのタグデザイン */
  background: rgba(114, 47, 55, 0.8);
  backdrop-filter: blur(4px);
  padding: 4px 12px;
  border-radius: 20px;
}

.lp-wine-flow-content {
  padding-top: 16px;
}

.lp-wine-flow-title {
  font-size: 20px;
  font-weight: 500;
  color: var(--wine-primary);
  margin-bottom: 4px;
}

.lp-wine-flow-en {
  display: block;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 12px;
  color: var(--wine-accent);
  letter-spacing: 0.15em;
  margin-bottom: 16px;
}

@media (min-width: 769px) {
  .lp-wine-flow-row {
    flex-direction: row;
    align-items: center;
    gap: var(--spacing-lg);
  }

  .lp-wine-flow-row-reverse {
    flex-direction: row-reverse;
    /* アシンメトリーなZ型配置 */
  }

  .lp-wine-flow-visual {
    flex: 6;
  }

  .lp-wine-flow-content {
    flex: 4;
    padding: 0 40px;
  }

  .lp-wine-flow-title {
    font-size: 28px;
  }

  .lp-wine-flow-en {
    font-size: 14px;
    margin-bottom: 24px;
  }
}


/* ==========================================
   7. Details & FAQ Section
   ========================================== */
.lp-wine-details-box {
  background: #fff;
  border: 1px solid rgba(114, 47, 55, 0.1);
  padding: 40px 24px;
  border-radius: 8px;
  text-align: center;
}

.lp-wine-details-title {
  font-size: 18px;
  color: var(--wine-primary);
  margin-bottom: 24px;
}

@media (min-width: 769px) {
  .lp-wine-details-box {
    padding: 80px;
    max-width: 800px;
    margin: 0 auto;
  }

  .lp-wine-details-title {
    font-size: 24px;
  }
}


/* ==========================================
   7. Voice / Review Section
   ========================================== */
.lp-wine-voice-grid {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  gap: var(--spacing-md);
  margin-top: var(--spacing-lg);
  /* 画面端までのスワイプ領域を確保するテクニック */
  margin-inline: -24px;
  padding-inline: 24px;
  padding-bottom: 32px;
  /* スクロールバー＆影・フロート用の余白 */
  /* スクロールバー非表示（Webkit） */
  scrollbar-width: none;
}

.lp-wine-voice-grid::-webkit-scrollbar {
  display: none;
}

@media (min-width: 769px) {
  .lp-wine-voice-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    overflow-x: visible;
    margin-inline: 0;
    padding-inline: 0;
  }
}

.lp-wine-voice-card {
  scroll-snap-align: center;
  width: 85vw;
  /* スマホで確実な横幅を確保 */
  max-width: 380px;
  flex: 0 0 auto;
  /* 潰れを防ぐ絶対指定 */
  /* ガラスのように透けるリッチな「Atmosphere」デザイン */
  background: rgba(255, 255, 255, 0.45);
  padding: 32px;
  /* スマホでもPCでも潰れない適切な余白に修正 */
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(114, 47, 55, 0.08);
  display: flex;
  flex-direction: column;
  gap: 16px;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-top: 1px solid rgba(255, 255, 255, 1);
  border-left: 1px solid rgba(255, 255, 255, 1);
  transition: transform 0.3s ease;
}

@media (min-width: 769px) {
  .lp-wine-voice-card {
    min-width: auto;
    width: auto;
    max-width: none;
    flex: none;
    padding: 40px;
    /* PCはある程度大きくても潰れない */
  }

  .lp-wine-voice-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 40px rgba(114, 47, 55, 0.12);
  }
}

.lp-wine-voice-meta {
  display: flex;
  align-items: center;
  gap: 12px;
}

.lp-wine-voice-meta .stars {
  color: #cfa972;
  /* Champagne Gold */
  font-size: 16px;
  letter-spacing: 2px;
}

.lp-wine-voice-meta .age {
  font-size: 13px;
  color: var(--wine-dark);
  font-weight: bold;
}

.lp-wine-voice-text {
  margin-bottom: 0 !important;
  font-style: italic;
}


/* ==========================================
   8. FAQ & Access (Added Content)
   ========================================== */
.lp-wine-faq-list {
  max-width: 800px;
  margin: 0 auto;
}

.lp-wine-faq-item {
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  padding: var(--spacing-sm) 0;
}

.lp-wine-faq-item:last-child {
  border-bottom: none;
}

.lp-wine-faq-q {
  font-size: 18px;
  font-weight: bold;
  color: var(--wine-primary);
  margin-bottom: 12px;
  letter-spacing: 0.05em;
	margin-left: 20px !important;
	text-indent: -18px;
}

.lp-wine-wrapper .lp-wine-faq-a {
    margin: 10px 0 0 20px !important;
    text-indent: -18px;
}

.lp-wine-access-box {
  background: rgba(255, 255, 255, 0.7);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.03);
  padding: var(--spacing-md);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
  /* Atmosphere: 背景のぼかし効果 */
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.lp-wine-access-name {
  font-size: 20px;
  color: var(--wine-dark);
  margin-bottom: 16px;
}

.lp-wine-access-map {
  width: 100%;
}

@media (min-width: 769px) {
  .lp-wine-access-box {
    flex-direction: row;
    gap: var(--spacing-md);
    padding: var(--spacing-lg);
  }

  .lp-wine-access-info,
  .lp-wine-access-map {
    flex: 1;
  }
}



/* ==========================================
   8. Gallery Section (Infinite Scroll Marquee)
   ========================================== */
.lp-wine-gallery {
  overflow: hidden;
  padding-bottom: var(--spacing-xxl);
}

.lp-wine-gallery-marquee {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-top: var(--spacing-md);
  overflow: hidden;
  white-space: nowrap;
  position: relative;
}

.lp-wine-gallery-track {
  display: inline-flex;
  gap: 16px;
  padding: 0 16px;
  /* JSアニメーション制御 / will-change でGPU合成レイヤーに乗せる */
  will-change: transform;
}

.lp-wine-gallery-track img {
  height: 250px;
  width: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
  /* Atmosphere: モノクロからの彩度復帰 */
  filter: grayscale(40%);
  transition: all 0.5s ease;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}

.lp-wine-gallery-track img:hover {
  filter: grayscale(0%);
  transform: scale(1.05);
  z-index: 10;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15);
}

@media (min-width: 769px) {
  .lp-wine-gallery-track {
    gap: 32px;
    padding: 0 32px;
  }

  .lp-wine-gallery-track img {
    height: 350px;
  }
}


/* ==========================================
   9. Final CTA
   ========================================== */
.lp-wine-cta {
  background: var(--wine-bg-light);
  padding: 120px 0;
}

.lp-wine-cta-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.lp-wine-cta-title {
  font-size: 28px;
  font-weight: 500;
  color: var(--wine-primary);
  margin-bottom: 32px;
  line-height: 1.5;
}

.lp-wine-cta-price {
  margin-bottom: 40px;
}

.lp-wine-cta-price-label {
  display: block;
  font-size: 14px;
  color: var(--text-light);
  margin-bottom: 8px;
}

.lp-wine-cta-price-value {
  font-size: 40px;
  font-weight: 500;
  color: var(--wine-dark);
  font-family: "Helvetica Neue", sans-serif;
}

.lp-wine-cta-price-tax {
  font-size: 14px;
  color: var(--text-light);
}

@media (min-width: 769px) {
  .lp-wine-cta-title {
    font-size: 40px;
  }

  .lp-wine-cta-price-value {
    font-size: 56px;
  }
}


/* ==========================================
   10. Color Section
   ========================================== */
/* .lp-wine-color uses existing .lp-wine-concept-flex layout - no extra styles needed */


/* ==========================================
   11. Durability Section
   ========================================== */
.lp-wine-durability-inner {
  max-width: 800px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-top: 1px solid rgba(255, 255, 255, 1);
  border-left: 1px solid rgba(255, 255, 255, 1);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: 16px;
  padding: 40px 16px;
  box-shadow: 0 12px 40px rgba(114, 47, 55, 0.08);
  text-align: center;
}

@media (min-width: 769px) {
  .lp-wine-durability-inner {
    padding: 64px 60px;
  }
}

.lp-wine-durability-lead {
  margin-bottom: var(--spacing-md) !important;
  line-height: 2;
}

.lp-wine-durability-points {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: var(--spacing-md) auto;
  text-align: left;
  max-width: 340px;
}

.lp-wine-durability-point {
  display: flex;
  align-items: center;
  gap: 16px;
}

.lp-wine-durability-check {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--wine-primary);
  color: #fff;
  border-radius: 50%;
  font-size: 14px;
}

.lp-wine-durability-label {
  font-size: 16px;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: var(--text-main);
  letter-spacing: 0.05em;
}

@media (min-width: 769px) {
  .lp-wine-durability-label {
    font-size: 18px;
  }
}

.lp-wine-durability-tagline {
  margin-top: var(--spacing-md) !important;
  margin-bottom: 0 !important;
  font-size: 15px;
  color: var(--text-light);
  letter-spacing: 0.1em;
}


/* ==========================================
   12. Recommend Section
   ========================================== */
.lp-wine-recommend-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-md);
  justify-content: center;
  margin-top: var(--spacing-lg);
}

.lp-wine-recommend-card {
  width: 100%;
  background: rgba(255, 255, 255, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.8);
  border-top: 1px solid rgba(255, 255, 255, 1);
  border-left: 1px solid rgba(255, 255, 255, 1);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-radius: 16px;
  box-shadow: 0 12px 32px rgba(114, 47, 55, 0.08);
  padding: 32px 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: transform 0.3s ease;
}

@media (min-width: 600px) {
  .lp-wine-recommend-card {
    width: calc(50% - 24px);
  }
}

@media (min-width: 769px) {
  .lp-wine-recommend-card {
    width: calc(33.333% - 32px);
    max-width: 340px;
  }

  .lp-wine-recommend-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 16px 40px rgba(114, 47, 55, 0.12);
  }
}

.lp-wine-recommend-icon {
  width: 48px;
  height: 48px;
  color: var(--wine-primary);
  flex-shrink: 0;
}
.lp-wine-recommend-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.lp-wine-recommend-title {
  font-size: 17px;
  font-weight: 600;
  color: var(--wine-primary);
  letter-spacing: 0.05em;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

@media (min-width: 769px) {
  .lp-wine-recommend-title {
    font-size: 19px;
  }
}

.lp-wine-recommend-card .lp-wine-text {
  margin-bottom: 0 !important;
  font-size: 14px;
  color: var(--text-light);
  line-height: 1.8;
}

@media (min-width: 769px) {
  .lp-wine-recommend-card .lp-wine-text {
    font-size: 15px;
  }
}


/* ==========================================
   13. Animations (Atmosphere base)
   ========================================== */
.lp-wine-fade-up {
  opacity: 0;
  transform: translateY(40px);
  filter: blur(5px);
  /* Atmosphere: ぼかしからの出現 */
  transition: opacity 1.2s cubic-bezier(0.25, 1, 0.5, 1),
    transform 1.2s cubic-bezier(0.25, 1, 0.5, 1),
    filter 1.2s ease-out;
}

.lp-wine-fade-in {
  opacity: 0;
  transition: opacity 1.5s ease;
}

.lp-wine-fade-up.visible,
.lp-wine-fade-in.visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}
