/* === 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
    }
}

/* === style_1.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/
*/

/* === wp-common.css === */

img:is([sizes=auto i], [sizes^="auto," i]) {
    contain-intrinsic-size: 3000px 1500px
}

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;
}

: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
    }
}

/*! 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
}

: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;
}

/* vk-mobile-nav */
:root {
    --vk-mobile-nav-menu-btn-bg-src: url("../assets/vk-menu-btn-black.svg");
    --vk-mobile-nav-menu-btn-close-bg-src: url("../assets/vk-menu-close-black.svg");
    --vk-menu-acc-icon-open-black-bg-src: url("../assets/vk-menu-acc-icon-open-black.svg");
    --vk-menu-acc-icon-open-white-bg-src: url("../assets/vk-menu-acc-icon-open-white.svg");
    --vk-menu-acc-icon-close-black-bg-src: url("../assets/vk-menu-close-black.svg");
    --vk-menu-acc-icon-close-white-bg-src: url("../assets/vk-menu-close-white.svg");
}

:root {
    --color-key: #9e302c;
    --wp--preset--color--vk-color-primary: #9e302c;
    --color-key-dark: #703400;
}

/* ltg common custom */
:root {
    --vk-menu-acc-btn-border-color: #333;
    --vk-color-primary: #9e302c;
    --vk-color-primary-dark: #703400;
    --vk-color-primary-vivid: #ae3530;
    --color-key: #9e302c;
    --wp--preset--color--vk-color-primary: #9e302c;
    --color-key-dark: #703400;
}

.veu_color_txt_key {
    color: #703400;
}

.veu_color_bg_key {
    background-color: #703400;
}

.veu_color_border_key {
    border-color: #703400;
}

.btn-default {
    border-color: #9e302c;
    color: #9e302c;
}

.btn-default:focus,
.btn-default:hover {
    border-color: #9e302c;
    background-color: #9e302c;
}

.wp-block-search__button,
.btn-primary {
    background-color: #9e302c;
    border-color: #703400;
}

.wp-block-search__button:focus,
.wp-block-search__button:hover,
.btn-primary:not(:disabled):not(.disabled):active,
.btn-primary:focus,
.btn-primary:hover {
    background-color: #703400;
    border-color: #9e302c;
}

.btn-outline-primary {
    color: #9e302c;
    border-color: #9e302c;
}

.btn-outline-primary:not(:disabled):not(.disabled):active,
.btn-outline-primary:focus,
.btn-outline-primary:hover {
    color: #fff;
    background-color: #9e302c;
    border-color: #703400;
}

a {
    color: #337ab7;
}

.tagcloud a:before {
    font-family: "Font Awesome 7 Free";
    content: "\f02b";
    font-weight: bold;
}

.media .media-body .media-heading a:hover {
    color: #9e302c;
}

@media (min-width: 768px) {

    .gMenu>li:before,
    .gMenu>li.menu-item-has-children::after {
        border-bottom-color: #703400
    }

    .gMenu li li {
        background-color: #703400
    }

    .gMenu li li a:hover {
        background-color: #9e302c;
    }
}

/* @media (min-width: 768px) */
.page-header {
    background-color: #9e302c;
}

h2,
.mainSection-title {
    border-top-color: #9e302c;
}

h3:after,
.subSection-title:after {
    border-bottom-color: #9e302c;
}

ul.page-numbers li span.page-numbers.current,
.page-link dl .post-page-numbers.current {
    background-color: #9e302c;
}

.pager li>a {
    border-color: #9e302c;
    color: #9e302c;
}

.pager li>a:hover {
    background-color: #9e302c;
    color: #fff;
}

.siteFooter {
    border-top-color: #9e302c;
}

dt {
    border-left-color: #9e302c;
}

:root {
    --g_nav_main_acc_icon_open_url: url(../assets/vk-menu-acc-icon-open-black.svg);
    --g_nav_main_acc_icon_close_url: url(../assets/vk-menu-close-black.svg);
    --g_nav_sub_acc_icon_open_url: url(../assets/vk-menu-acc-icon-open-white.svg);
    --g_nav_sub_acc_icon_close_url: url(../assets/vk-menu-close-white.svg);
}

/* ltg theme common */
.color_key_bg,
.color_key_bg_hover:hover {
    background-color: #9e302c;
}

.color_key_txt,
.color_key_txt_hover:hover {
    color: #9e302c;
}

.color_key_border,
.color_key_border_hover:hover {
    border-color: #9e302c;
}

.color_key_dark_bg,
.color_key_dark_bg_hover:hover {
    background-color: #703400;
}

.color_key_dark_txt,
.color_key_dark_txt_hover:hover {
    color: #703400;
}

.color_key_dark_border,
.color_key_dark_border_hover:hover {
    border-color: #703400;
}

/* vk-mobile-nav */
:root {
    --vk-mobile-nav-menu-btn-bg-src: url('../assets/vk-menu-btn-black.svg');
    --vk-mobile-nav-menu-btn-close-bg-src: url('../assets/vk-menu-close-black.svg');
    --vk-menu-acc-icon-open-black-bg-src: url('../assets/vk-menu-acc-icon-open-black.svg');
    --vk-menu-acc-icon-open-white-bg-src: url('../assets/vk-menu-acc-icon-open-white.svg');
    --vk-menu-acc-icon-close-black-bg-src: url('../assets/vk-menu-close-black.svg');
    --vk-menu-acc-icon-close-white-bg-src: url('../assets/vk-menu-close-white.svg');
}

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

#ltg_full_wide_title-11.widget {
    margin-top: 0;
    margin-bottom: 0px;
    background-repeat: no-repeat;
}

#ltg_full_wide_title-2.widget {
    margin-top: 0;
    margin-bottom: 0px;
    background-repeat: no-repeat;
}

#ltg_full_wide_title-6.widget {
    margin-top: 0;
    margin-bottom: 0px;
    background-repeat: no-repeat;
}

/* === gallery.css === */

#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 */

/* === 追加CSS（編集対象） === */

.line-button {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #06C755;
    color: white;
    font-size: 23px;
    font-weight: bold;
    padding: 15px 30px;
    border-radius: 50px;
    text-decoration: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
    transition: all 0.3s ease;
    width: 100%;
    max-width: 600px;
    height: 60px;
    margin: 0 auto;
    text-align: center;
}

.line-button:hover {
    background-color: #04a646;
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.3);
}

.line-button img {
    width: 35px;
    height: 24px;
    margin-right: 8px;
}

.line-button span {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
}

.line-button img,
.line-button span {
    height: auto;
    display: flex;
    align-items: center;
}

@media (max-width: 768px) {
    .line-button {
        width: 100%;
        max-width: none;
    }
}

.news-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px;
}

.news-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: center;
    color: #9e302c;
}

.news-blocks {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.news-block {
    flex: 1 1 calc(33.333% - 20px);
    background: #fff;
    margin: 10px;
    border-radius: 8px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    transition: transform 0.3s;
}

.news-block:hover {
    transform: translateY(-5px);
}

.news-image {
    width: 100%;
    height: 150px;
    object-fit: cover;
}

.news-content {
    padding: 15px;
}

/*
.news-content h3 {
    font-size: 18px;
    margin: 0 0 10px;
    color: #0078d7;
}
*/
.news-content h3 {
    font-size: 18px;
    margin: -10px 0 10px;
    font-weight: bold;
    color: #9e302c;
}

.news-content p {
    font-size: 14px;
    color: #555;
    margin: 0 0 15px;
}

.news-content a {
    text-decoration: none;
    color: #0078d7;
    font-weight: bold;
}

.news-content a:hover {
    text-decoration: underline;
}

@media screen and (max-width: 768px) {
    .news-block {
        flex: 1 1 100%;
    }
}

@media screen and (max-width: 480px) {
    .news-block {
        flex: 1 1 calc(100% - 20px);
    }
}

.alert-danger {
    margin-top: -10px;
    padding-bottom: 1px
}

.box10 {
    padding: 2em 1em;
    margin: 3em 0;
    color: #5d627b;
    background: #FFFAF0;
    border-top: solid 12px #9e302c;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
    padding-bottom: 1px
}

.box9 {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #5d627b;
    background: white;
    border-top: solid 8px #9e302c;
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.22);
}

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

.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 -1em 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: -1.8em;
    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: #9e302c;
    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%;
}


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


.co {
    display: flex;
}


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

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

body {
    background-image: url('../assets/img_20191211_2003101473748037.jpg');
}



#footerFloatingMenu {
    display: block;
    width: 100%;
    background-color: #440000;
    color: #fff;
    position: fixed;
    left: 0px;
    bottom: 0px;
    z-index: 9999;
    text-align: center;
    font-size: 1.3em;
}


#footerFloatingMenu .fa {
    font-size: em;
    color: #fff;
    padding: 10px;
}

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

@keyframes fadeIn {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

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

    100% {
        opacity: 1
    }
}

.thumbnail2 {
    width: 100%;
    height: 100%;
    margin: 1px;
    padding: 2px;
}

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

.box2 {
    width: 100%;
    height: 100%;
    margin: 1px;
    padding: 2px;
    border: 1px solid #ddd;
    background-color: #FFF;
}

.back {
    border: 2px solid #440000;
    background-color: #fff;
    padding: 0.5em 1em;

}


.back2 {
    border: 4px solid #333;
    padding: 0.5em 1em;

}

.co {
    display: flex;
}

.background {
    background-color: #EEE;
    padding: 0.5em 1em;

}


h4 {
    font-size: 18px;
    background: #440000;
    color: #FFF;
}

h2 {
    background: Transparent;
    border-top-color: Transparent;
    border-bottom-color: #440000;
    border-bottom-width: 3px;
    position: relative;
    color: #000;
}

.balloon5 {
    width: 100%;
    margin: 1.5em 0;
    overflow: hidden;
}

.balloon5 .faceicon {
    float: left;
    margin-right: -90px;
    width: 80px;
}

.balloon5 .faceicon img {
    width: 100%;
    height: auto;
    border: solid 3px #440000;
    border-radius: 50%;
}

.balloon5 .chatting {
    width: 100%;
}

.says {
    display: inline-block;
    position: relative;
    margin: 5px 0 0 105px;
    padding: 17px 13px;
    border-radius: 12px;
    background: #eee;
    color: #000;
}

h3 {
    border-bottom-color: #444;

}

.says:after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 18px;
    left: -24px;
    border: 12px solid transparent;
    border-right: 12px solid #eee;
}

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

label {
    display: block;
    font-weight: normal;
}

button,
html input[type=button],
input[type=reset],
input[type=submit] {
    width: 100%;
    margin: 0 auto;
    display: block;
}

input[type=date],
input[type=datetime-local],
input[type=month],
input[type=time] {
    display: block;
    width: 100%;
    height: 34px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: rgb(85, 85, 85);
    background-color: rgb(255, 255, 255);
    background-image: none;
    border: 1px solid rgb(204, 204, 204);
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
}

.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: 100%;
}

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

    .table.table-bordered.table-striped.table-contactform7 th,
    .table.sp_brake th {
        display: block !important;
    }

    .table.table-bordered.table-striped.table-contactform7 td,
    .table.sp_brake td {
        display: block !important;
    }
}

.back2 {
    border: 2px solid #555;
    background-color: #FFF;
    color: #000;
    padding: 0.5em 1em;
    margin-bottom: 10px;
}



.box1 {
    padding: 0.5em 1em;
    margin: 1em 0;
    border: solid 1px Transparent;
    /*線*/
    border-radius: 50%;
}

.box1 img {
    border-radius: 50%;
    /* 角丸半径を50%にする(=円形にする) */
    width: 300px;
    /* ※縦横を同値に */
    height: 300px;
    /* ※縦横を同値に */
}


/* トップページ全幅見出しの高さ（余白で設定） */
@media (min-width: 300px) {

    .widget_ltg_adv_full_wide_title_outer,
    .widget_ltg_full_wide_title_outer {
        padding: 7em 10px;
    }
}

.carousel {
    border-bottom: none;
}

.home .siteContent {
    padding-top: 0 !important;
}

.yokonarabi {
    display: flex;
}

.yokonarabi>div {
    width: 50%;
    padding-left: 10px
}

.feature-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding: 2rem 1rem;
    max-width: 1100px;
    margin: auto;
}

.feature-item {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
    transition: transform 0.3s ease;
}

.feature-item:hover {
    transform: translateY(-4px);
}

.feature-item img {
    width: 100%;
    height: 240px;
    object-fit: cover;
    margin: 0;
    padding: 0;
}

.feature-content {
    padding: 1rem 1rem 1.5rem;
}

.feature-content h3 {
    margin: 0rem 0 0.4rem;
    font-size: 1.1rem;
    color: #6c3a1f;
}

.feature-content p {
    font-size: 0.95rem;
    line-height: 1.6;
    margin: 0;
    color: #444;
}

@media (min-width: 600px) {
    .feature-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (min-width: 960px) {
    .feature-grid {
        grid-template-columns: 1fr 1fr 1fr;
    }
}

/* === ギャラリー修正用 === */
.gallery {
    margin: auto;
}

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

.gallery-item img {
    border: 2px solid #cfcfcf;
    max-width: 100%;
    height: auto;
}

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

.gallery::after {
    content: "";
    display: table;
    clear: both;
}

/* =============================================================
   プレミアムプラン専用スタイル ここから (lp-premium-wrapper)
   premium/index.html の .entry-body 内で使用
   このブロック内のスタイルは他ページに影響しません
   ============================================================= */
/* プレミアムページだけ親containerの幅制約を解除 */
#post-3543 .entry-body {
    overflow: visible;
}

.lp-premium-wrapper {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}

.sp-only {
    display: none;
}

@media (max-width: 767px) {
    .pc-only {
        display: none;
    }

    .sp-only {
        display: block;
    }
}

.lp-premium-wrapper {
    font-family: "Shippori Mincho", "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
    background-color: #1a1a1a;
    background-image: radial-gradient(circle at 50% 30%, #2a2a2a 0%, #111 100%);
    background-attachment: fixed;
    color: #f0f0f0;
    line-height: 1.8;
    font-size: 16px;
    overflow-x: hidden;
    padding: 0;
    box-sizing: border-box;
}

.lp-premium-wrapper p,
.lp-premium-wrapper li,
.lp-premium-wrapper dd,
.lp-premium-wrapper dt,
.lp-premium-wrapper th,
.lp-premium-wrapper td,
.lp-premium-wrapper div {
    font-size: inherit;
}

.lp-premium-wrapper small,
.lp-premium-wrapper .lp-note,
.lp-premium-wrapper .lp-menu-note,
.lp-premium-wrapper .lp-tax {
    font-size: 16px;
}

.lp-premium-wrapper .u-nowrap {
    display: inline-block;
}

.lp-premium-wrapper * {
    box-sizing: border-box;
}

.lp-premium-wrapper img {
    max-width: 100%;
    height: auto;
    display: block;
    background-color: #2a2a2a;
}

.lp-premium-wrapper a {
    text-decoration: none;
    transition: opacity 0.3s;
}

.lp-premium-wrapper a:hover {
    opacity: 0.8;
}

.lp-premium-wrapper .lp-container {
    max-width: 1300px;
    width: 90%;
    margin: 0 auto;
    position: relative;
    z-index: 2;
}

.lp-premium-wrapper .lp-section {
    padding: 70px 0;
    position: relative;
}

.lp-premium-wrapper .lp-section::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 10%;
    width: 80%;
    height: 1px;
    background: linear-gradient(to right, transparent, #444, transparent);
}

.lp-premium-wrapper .lp-section:last-child::after {
    display: none;
}

.lp-premium-wrapper .lp-section-title {
    font-size: 26px;
    text-align: center;
    margin-bottom: 50px;
    color: #c5a059;
    font-weight: 500;
    letter-spacing: 0.15em;
    display: block;
    position: relative;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
    border: none;
    border-top: none;
    border-bottom: none;
    background: none;
    padding: 0;
}

.lp-premium-wrapper .lp-section-title::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background-color: #c5a059;
    margin: 20px auto 0;
    border: none;
    position: static;
}

.lp-premium-wrapper h2,
.lp-premium-wrapper h3,
.lp-premium-wrapper h4 {
    background: none;
    border: none;
    color: inherit;
    padding: 0;
}

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

/* Hero */
.lp-premium-wrapper .lp-hero {
    position: relative;
    height: 70vh;
    min-height: 550px;
    background-image: url("../assets/hero_bg.jpg");
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.lp-premium-wrapper .lp-hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.7));
    z-index: 1;
}

.lp-premium-wrapper .lp-hero-inner {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 0 12px;
    color: #fff;
    text-shadow: 0 2px 15px rgba(0, 0, 0, 0.9);
}

.lp-premium-wrapper .lp-hero-copy {
    margin-bottom: 30px;
    border: none;
}

.lp-premium-wrapper .lp-hero-sub-text {
    display: block;
    font-size: 18px;
    letter-spacing: 0.2em;
    margin-bottom: 15px;
    color: #e6e6e6;
}

.lp-premium-wrapper .lp-hero-main-text {
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #c5a059;
    line-height: 1.4;
    display: inline;
}

.lp-premium-wrapper .lp-hero-desc {
    letter-spacing: 0.1em;
    line-height: 2.2;
}

/* Recommended */
.lp-premium-wrapper .lp-recommended {
    background-color: #252525;
    border-top: 1px solid #333;
    padding-top: 60px;
    padding-bottom: 60px;
}

.lp-premium-wrapper .lp-recommended-box {
    border: 2px solid #c5a059;
    padding: 40px 30px;
    background: rgba(197, 160, 89, 0.05);
    position: relative;
    text-align: center;
}

.lp-premium-wrapper .lp-recommended-title {
    display: inline-block;
    background: #252525;
    padding: 0 20px;
    position: absolute;
    top: -18px;
    left: 50%;
    transform: translateX(-50%);
    color: #c5a059;
    font-size: 22px;
    font-weight: bold;
    white-space: nowrap;
    border: none;
}

.lp-premium-wrapper .lp-recommended-list {
    list-style: none;
    padding: 0;
    margin: 10px 0 0;
    display: inline-block;
    text-align: left;
}

.lp-premium-wrapper .lp-recommended-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 15px;
    font-size: 18px;
    color: #f0f0f0;
}

.lp-premium-wrapper .lp-check-icon {
    color: #c5a059;
    margin-right: 15px;
    font-size: 20px;
    font-weight: bold;
}

/* Cards */
.lp-premium-wrapper .lp-card {
    background: #252525;
    border: 1px solid #3a3a3a;
    margin-bottom: 40px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
    transition: transform 0.3s;
}

.lp-premium-wrapper .lp-card-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.lp-premium-wrapper .lp-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lp-premium-wrapper .lp-card-body {
    padding: 12px;
}

.lp-premium-wrapper .lp-card-title {
    font-size: 24px;
    color: #c5a059;
    margin-bottom: 15px;
    border-bottom: 1px solid #444;
    padding-bottom: 15px;
    border-top: none;
}

.lp-premium-wrapper .lp-price {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 15px;
    text-align: right;
    color: #fff;
}

.lp-premium-wrapper .lp-tax {
    font-weight: normal;
    font-size: 16px;
}

/* Special Card */
.lp-premium-wrapper .lp-card-special {
    border: 1px solid #c5a059;
    position: relative;
    background: linear-gradient(135deg, #1a1a1a 0%, #251f15 100%);
    box-shadow: 0 0 30px rgba(197, 160, 89, 0.15);
}

.lp-premium-wrapper .lp-badge {
    position: absolute;
    top: 0;
    right: 0;
    background: linear-gradient(#800000, #5a0000);
    color: #fff;
    padding: 8px 25px;
    font-size: 16px;
    font-weight: bold;
    z-index: 10;
}

.lp-premium-wrapper .lp-special-lead {
    color: #ddd;
    line-height: 1.8;
}

.lp-premium-wrapper .lp-special-content {
    margin-top: 20px;
}

.lp-premium-wrapper .lp-special-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px dashed rgba(197, 160, 89, 0.3);
    padding: 12px 0;
}

.lp-premium-wrapper .lp-main-row {
    flex-direction: column;
    align-items: flex-start;
}

.lp-premium-wrapper .lp-main-content {
    width: 100%;
}

.lp-premium-wrapper .lp-main-top {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.lp-premium-wrapper .lp-ingredient {
    color: #fff;
    font-size: 19px;
}

.lp-premium-wrapper .lp-plus {
    color: #c5a059;
    font-size: 18px;
}

.lp-premium-wrapper .lp-experience {
    color: #c5a059;
    font-size: 18px;
}

.lp-premium-wrapper .lp-noodle-choices {
    font-size: 14px;
    color: #ccc;
    background: rgba(197, 160, 89, 0.1);
    border: 1px solid rgba(197, 160, 89, 0.3);
    padding: 4px 12px;
    border-radius: 20px;
    display: inline-block;
    margin-top: 8px;
}

.lp-premium-wrapper .lp-note-special {
    font-size: 14px;
    color: #999;
    margin-top: 15px;
}

/* Plan Items */
.lp-premium-wrapper .lp-card-lead {
    color: #ddd;
    line-height: 1.8;
}

.lp-premium-wrapper .lp-plan-wrapper {
    margin-top: 20px;
}

.lp-premium-wrapper .lp-plan-guide {
    text-align: center;
    color: #c5a059;
    font-weight: bold;
    margin-bottom: 20px;
}

.lp-premium-wrapper .lp-plan-item {
    border: 1px solid #444;
    padding: 20px;
    margin-bottom: 15px;
    background: rgba(255, 255, 255, 0.03);
}

.lp-premium-wrapper .lp-plan-head {
    margin-bottom: 10px;
}

.lp-premium-wrapper .lp-plan-badge {
    display: inline-block;
    background: #c5a059;
    color: #1a1a1a;
    padding: 4px 16px;
    font-size: 14px;
    font-weight: bold;
    border-radius: 3px;
    margin-bottom: 10px;
}

.lp-premium-wrapper .lp-plan-name {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
}

.lp-premium-wrapper .lp-plan-desc {
    color: #ccc;
    line-height: 1.8;
}

/* Gouka Grid */
.lp-premium-wrapper .lp-goukaplan {
    background: #1a1a1a;
}

.lp-premium-wrapper .lp-gouka-lead {
    text-align: center;
    color: #ccc;
    margin-bottom: 30px;
}

.lp-premium-wrapper .lp-gouka-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.lp-premium-wrapper .lp-gouka-card {
    border-radius: 12px;
    border: 1px solid rgba(180, 150, 80, 0.35);
    overflow: hidden;
}

.lp-premium-wrapper .lp-gouka-card-inner {
    padding: 20px;
}

.lp-premium-wrapper .lp-gouka-badge-wrap {
    margin-bottom: 10px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.lp-premium-wrapper .lp-gouka-price-badge {
    color: #d4af37;
    border: 1px solid rgba(212, 175, 55, 0.5);
    padding: 4px 12px;
    font-size: 14px;
    border-radius: 4px;
}

.lp-premium-wrapper .lp-gouka-label-badge {
    background: #d4af37;
    color: #1a1a1a;
    padding: 4px 12px;
    font-size: 14px;
    border-radius: 4px;
    font-weight: bold;
}

.lp-premium-wrapper .lp-gouka-title {
    font-size: 20px;
    color: #c5a059;
    margin-bottom: 10px;
    border: none;
}

.lp-premium-wrapper .lp-gouka-desc {
    color: #ccc;
    font-size: 15px;
    line-height: 1.7;
}

.lp-premium-wrapper .lp-gouka-featured {
    border-color: #d4af37;
    background: rgba(212, 175, 55, 0.05);
}

.lp-premium-wrapper .lp-gouka-note {
    text-align: center;
    color: #999;
    font-size: 14px;
    margin-top: 20px;
}

/* Options */
.lp-premium-wrapper .lp-option-block {
    margin-bottom: 40px;
    border: 1px solid #444;
    padding: 12px;
    background: #222;
}

.lp-premium-wrapper .lp-option-head {
    font-size: 22px;
    color: #c5a059;
    margin-bottom: 20px;
    border: none;
}

.lp-premium-wrapper .lp-option-grid {
    margin-bottom: 20px;
}

.lp-premium-wrapper .lp-option-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid #444;
    padding: 12px;
}

.lp-premium-wrapper .lp-option-card-header {
    display: flex;
    gap: 12px;
}

.lp-premium-wrapper .lp-option-title-group {
    flex: 1;
}

.lp-premium-wrapper .lp-option-name {
    color: #f0f0f0;
    font-size: 19px;
    font-weight: bold;
    border: none;
    background: none;
}

.lp-premium-wrapper .lp-option-price {
    color: #c5a059;
}

.lp-premium-wrapper .lp-option-text {
    color: #ccc;
    margin-top: 10px;
}

.lp-premium-wrapper .lp-option-desc {
    color: #ccc;
    line-height: 1.8;
    margin-bottom: 20px;
}

/* CTA */
.lp-premium-wrapper .lp-cta {
    text-align: center;
}

.lp-premium-wrapper .lp-cta-box {
    padding: 40px 20px;
}

.lp-premium-wrapper .lp-cta-title {
    font-size: 28px;
    color: #c5a059;
    font-weight: bold;
    border: none;
    margin-bottom: 20px;
}

.lp-premium-wrapper .lp-cta-text {
    color: #ddd;
    margin-bottom: 30px;
}

.lp-premium-wrapper .lp-cta-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.lp-premium-wrapper .lp-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 40px;
    border-radius: 8px;
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s;
    width: 100%;
    max-width: 480px;
}

.lp-premium-wrapper .lp-btn-web {
    background: linear-gradient(to right, #c5a059, #f0e68c, #c5a059);
    background-size: 200%;
    color: #000;
    font-weight: bold;
}

.lp-premium-wrapper .lp-btn-web:hover {
    background-position: right;
}

.lp-premium-wrapper .lp-btn-sub {
    font-size: 14px;
}

.lp-premium-wrapper .lp-btn-main {
    font-size: 20px;
    font-weight: bold;
}

/* Story/Concept */
.lp-premium-wrapper .lp-concept {
    background: linear-gradient(#111, #1a1a1a);
}

.lp-premium-wrapper .lp-story-block {
    display: flex;
    flex-direction: column;
    gap: 50px;
}

.lp-premium-wrapper .lp-story-row {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
}

.lp-premium-wrapper .lp-story-visual {
    width: 100%;
    border-radius: 4px;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    border: 1px solid #444;
}

.lp-premium-wrapper .lp-story-visual img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.lp-premium-wrapper .lp-story-content {
    width: 100%;
    text-align: justify;
}

.lp-premium-wrapper .lp-story-head {
    font-size: 20px;
    color: #c5a059;
    margin-bottom: 15px;
    border-bottom: 1px solid #c5a059;
    padding-bottom: 5px;
    display: inline-block;
}

.lp-premium-wrapper .lp-story-text {
    color: #ddd;
    line-height: 1.9;
}

/* Gallery - PC: 3列グリッド, SP: 横スクロール */
.lp-premium-wrapper .lp-gallery .lp-scroll-snap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    padding: 0 0 40px;
}

.lp-premium-wrapper .lp-gallery .lp-scroll-item {
    overflow: hidden;
    border-radius: 6px;
}

.lp-premium-wrapper .lp-gallery .lp-scroll-item img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    border-radius: 6px;
}

/* Reviews - PC: 4列グリッド, SP: 横スクロール */
.lp-premium-wrapper .lp-reviews .lp-reviews-scroll {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 0;
}

.lp-premium-wrapper .lp-reviews .lp-scroll-item {
    overflow: hidden;
}

.lp-premium-wrapper .lp-review-screenshot {
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
}

/* Options - PC: 2カラム */
.lp-premium-wrapper .lp-option-grid-2col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

/* FAQ */
.lp-premium-wrapper .lp-faq {
    background-color: rgba(0, 0, 0, 0.3);
    padding-bottom: 80px;
}

.lp-premium-wrapper .lp-faq-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

.lp-premium-wrapper .lp-faq-item {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid #333;
    padding: 20px;
    border-radius: 8px;
}

.lp-premium-wrapper .lp-faq-q {
    color: #c5a059;
    font-size: 19px;
    margin-bottom: 10px;
    border: none;
}

.lp-premium-wrapper .lp-faq-q::after {
    display: none;
}

.lp-premium-wrapper .lp-faq-a {
    line-height: 1.8;
    padding-left: 20px;
    color: #ddd;
}

/* Modal */
.lp-premium-wrapper .lp-modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.lp-premium-wrapper .lp-modal-close {
    position: absolute;
    top: 20px;
    right: 30px;
    color: #fff;
    font-size: 40px;
    cursor: pointer;
}

.lp-premium-wrapper .lp-modal-content {
    max-width: 90%;
    max-height: 90vh;
}

/* PC/Tablet Media Queries */
@media (min-width: 768px) {
    .lp-premium-wrapper {
        font-size: 18px;
    }

    .lp-premium-wrapper .lp-section-title {
        font-size: 36px;
    }

    .lp-premium-wrapper .lp-hero {
        height: 750px;
    }

    .lp-premium-wrapper .lp-hero-main-text {
        font-size: 52px;
    }

    .lp-premium-wrapper .lp-story-row {
        flex-direction: row;
        gap: 50px;
    }

    .lp-premium-wrapper .lp-story-reverse {
        flex-direction: row-reverse;
    }

    .lp-premium-wrapper .lp-story-visual {
        width: 50%;
    }

    .lp-premium-wrapper .lp-story-content {
        width: 50%;
    }

    .lp-premium-wrapper .lp-grid-2col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 50px;
    }

    .lp-premium-wrapper .lp-card-special {
        display: flex;
        align-items: stretch;
    }

    .lp-premium-wrapper .lp-card-special .lp-card-image {
        width: 50%;
        aspect-ratio: auto;
    }

    .lp-premium-wrapper .lp-card-special .lp-card-body {
        flex: 1;
        padding: 60px;
    }

    .lp-premium-wrapper .lp-faq-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 767px) {
    .lp-premium-wrapper .lp-gouka-grid {
        grid-template-columns: 1fr;
    }

    .lp-premium-wrapper .lp-hero {
        height: 60vh;
        min-height: 400px;
    }

    .lp-premium-wrapper .lp-hero-main-text {
        font-size: 28px;
    }

    .lp-premium-wrapper .lp-hero-sub-text {
        font-size: 15px;
    }

    .lp-premium-wrapper .lp-section {
        padding: 50px 0;
    }

    .lp-premium-wrapper .lp-card-body {
        padding: 15px;
    }

    /* SP: ギャラリー横スクロール */
    .lp-premium-wrapper .lp-gallery .lp-scroll-snap {
        display: flex;
        overflow-x: auto;
        grid-template-columns: unset;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0 5% 40px;
    }

    .lp-premium-wrapper .lp-gallery .lp-scroll-item {
        flex: 0 0 auto;
    }

    .lp-premium-wrapper .lp-gallery .lp-scroll-item img {
        width: auto;
        height: 220px;
    }

    /* SP: レビュー横スクロール */
    .lp-premium-wrapper .lp-reviews .lp-reviews-scroll {
        display: flex;
        overflow-x: auto;
        grid-template-columns: unset;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        padding: 0 5% 40px;
    }

    .lp-premium-wrapper .lp-reviews .lp-scroll-item {
        flex: 0 0 auto;
    }

    .lp-premium-wrapper .lp-review-screenshot {
        width: auto;
        height: 300px;
    }

    /* SP: オプション1カラム */
    .lp-premium-wrapper .lp-option-grid-2col {
        grid-template-columns: 1fr;
    }
}

/* =============================================
   ホバーエフェクト
   ============================================= */
.lp-premium-wrapper .lp-story-visual img {
    transition: transform 0.5s;
}

.lp-premium-wrapper .lp-story-visual:hover img {
    transform: scale(1.05);
}

.lp-premium-wrapper .lp-card:hover {
    transform: translateY(-2px);
}

.lp-premium-wrapper .lp-card-image img {
    transition: transform 0.4s;
}

.lp-premium-wrapper .lp-card:hover .lp-card-image img {
    transform: scale(1.03);
}

.lp-premium-wrapper .lp-option-card {
    transition: background 0.3s;
}

.lp-premium-wrapper .lp-option-card:hover {
    background: rgba(255, 255, 255, 0.08);
}

.lp-premium-wrapper .lp-btn-web:hover {
    background-position: right center;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(197, 160, 89, 0.6);
    opacity: 1;
}

.lp-premium-wrapper .lp-btn-tel:hover {
    background: #c5a059;
    color: #000;
}

.lp-gouka-card {
    transition: transform 0.3s, box-shadow 0.3s;
}

.lp-gouka-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

.lp-premium-wrapper .lp-review-screenshot {
    cursor: pointer;
    transition: opacity 0.3s, transform 0.3s;
}

.lp-premium-wrapper .lp-review-screenshot:hover {
    opacity: 0.8;
    transform: scale(1.02);
}

.lp-premium-wrapper .lp-faq-item {
    transition: background 0.3s, border-color 0.3s;
}

.lp-premium-wrapper .lp-faq-item:hover {
    background: rgba(255, 255, 255, 0.08);
    border-color: #c5a059;
}

.lp-premium-wrapper .lp-plan-item {
    transition: border-color 0.3s, background 0.3s;
}

.lp-premium-wrapper .lp-plan-item:hover {
    border-color: #c5a059;
    background: rgba(197, 160, 89, 0.05);
}

.lp-modal-close:hover,
.lp-modal-close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

/* =============================================================
   プレミアムプラン専用スタイル ここまで
   ============================================================= */

/* === MOBILE FIXES === */
@media (max-width: 767px) {
  .lp-premium-wrapper .lp-hero-main-text { 
      font-size: 28px !important; 
      display: block !important; 
      text-align: center !important;
      line-height: 1.4 !important; 
  }
  .lp-premium-wrapper .lp-hero-copy {
      text-align: center !important;
  }
  .lp-premium-wrapper .lp-cta-actions { 
      display: flex !important; 
      flex-direction: column !important; 
      gap: 15px !important; 
      align-items: center !important; 
      justify-content: center !important; 
      width: 100% !important; 
  }
  .lp-premium-wrapper .lp-btn { 
      width: 100% !important; 
      max-width: 320px !important; 
      box-sizing: border-box !important;
      display: block !important;
      text-align: center !important;
  }
}

/* ========================================================================= */
/* 団体ランチ専用スタイル ここから (.ms 系)                                 */
/* ========================================================================= */
.ms {
  --red:    #c0392b;
  --cream:  #faf6ef;
  --warm:   #f0e8d8;
  --dark:   #2c1810;
  --gold:   #b8860b;
  --mid:    #5a3e2b;
  --light:  #fff8f0;
}
.ms-fcta {background: #1a0906 !important;
  padding: clamp(40px,6vw,72px) clamp(24px,5vw,60px) !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 12px !important;
  position: relative !important;
  z-index: 1 !important;}
.ms-fcta-ja {font-family: 'Noto Serif JP', serif !important;
  font-size: clamp(1.2rem,2.6vw,1.7rem) !important;
  font-weight: 900 !important;
  color: #fff !important;
  display: block !important;}
.ms-fcta-sub {font-size: .95rem !important;
  color: rgba(255,255,255,.85) !important;
  letter-spacing: .1em !important;
  display: block !important;}
.ms-rv { opacity: 0; transform: translateY(20px); transition: all 0.8s ease-out; }
.ms-rv.in { opacity: 1; transform: translateY(0); }

.ms { width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; box-sizing: border-box; padding-bottom: 2rem;}
.ms p, .ms h1, .ms h2, .ms h3, .ms ul, .ms li { margin-top: 0 !important; }
.ms-fa { margin-top: 0 !important; margin-bottom: 0 !important; }

.ms-w {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 clamp(16px,4vw,40px);
}

.ms-sec   { padding: clamp(48px,7vw,80px) 0; }
.ms-sec-s { padding: clamp(36px,6vw,68px) 0; }

.ms-lbl {
  display: block;
  font-size: .58rem;
  letter-spacing: .44em;
  text-transform: uppercase;
  color: var(--red);
  margin: 0 0 12px 0 !important;
  font-family: 'Noto Sans JP', sans-serif;
}
.ms-h2 {
  font-family: 'Noto Serif JP', serif !important;
  font-size: clamp(1.6rem,4vw,2.6rem) !important;
  font-weight: 900 !important;
  color: var(--dark) !important;
  line-height: 1.25 !important;
  margin: 0 0 16px 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}
.ms-lead {
  font-size: clamp(.88rem,1.5vw,1rem);
  color: var(--mid);
  line-height: 1.9;
  margin-bottom: 8px;
}

.ms-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 36px !important;
  font-size: .84rem !important;
  font-weight: 500 !important;
  letter-spacing: .1em !important;
  border-radius: 2px !important;
  transition: background .2s, transform .15s;
  cursor: pointer;
  text-decoration: none !important;
  border: none !important;
  margin: 0 !important;
}
.ms-btn:hover { transform: translateY(-1px); }
.ms-btn-r { background: var(--red) !important; color: #fff !important; text-decoration: none !important;}
.ms-btn-r:hover { background: #a93226 !important; color: #fff !important; }

.ms-faq { background: var(--cream); }
.ms-fi { border-bottom: 1px solid rgba(44,24,16,.1); }
.ms-fq {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 0;
  cursor: pointer;
  user-select: none;
}
.ms-fqn {
  font-family: 'Noto Serif JP', serif;
  font-size: .72rem;
  font-weight: 900;
  color: var(--red);
  flex-shrink: 0;
  min-width: 24px;
}
.ms-fqt {
  flex: 1;
  font-size: .9rem;
  font-weight: 500;
  color: var(--dark);
  line-height: 1.5;
}
.ms-fqi {
  font-style: normal;
  font-size: 1.2rem;
  color: var(--red);
  flex-shrink: 0;
  transition: transform .2s;
}
.ms-fi.open .ms-fqi { transform: rotate(45deg); }
.ms-fa {
  display: none;
  padding: 0 0 18px 38px;
  font-size: .84rem;
  color: var(--mid);
  line-height: 1.9;
}
.ms-fi.open .ms-fa { display: block; }

.ms-acard { overflow: hidden; border: 2px solid var(--warm); }
.ms-acard iframe { width: 100%; height: 220px; display: block; border: none; }
.ms-acard-body { padding: 20px 22px; }
.ms-aname { font-family: 'Noto Serif JP', serif; font-size: 1rem; font-weight: 900; color: var(--dark); margin-bottom: 14px; }
.ms-arow {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 6px 0;
  font-size: .78rem;
  border-bottom: 1px solid var(--warm);
}
.ms-arow:last-child { border: none; }
/* ダーク背景セクション内のテキスト色修正 */
.ms-sec-s[style*="var(--dark)"] .ms-h2,
.ms-sec[style*="var(--dark)"] .ms-h2 {
  color: #fff !important;
}
.ms-sec-s[style*="var(--dark)"] .ms-lead,
.ms-sec[style*="var(--dark)"] .ms-lead {
  color: rgba(240,232,216,.6) !important;
}

/* Added from mashimashitakanasensei izakaya */
.ms-w {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 clamp(16px,4vw,40px);
}

.ms-sec   { padding: clamp(48px,7vw,80px) 0; }
.ms-sec-s { padding: clamp(36px,6vw,68px) 0; }

/* Labels & Headings */
.ms-lbl {
  display: block;
  font-size: .58rem;
  letter-spacing: .44em;
  text-transform: uppercase;
  color: var(--red);
  margin-bottom: 12px;
  font-family: 'Noto Sans JP', sans-serif;
}
.ms-h2 {
  font-family: 'Noto Serif JP', serif;
  font-size: clamp(1.6rem,4vw,2.6rem);
  font-weight: 900;
  color: var(--dark);
  line-height: 1.25;
  margin-bottom: 16px;
  padding: 0;
  background: none;
  border: none;
  box-shadow: none;
}
.ms-lead {
  font-size: clamp(.88rem,1.5vw,1rem);
  color: var(--mid);
  line-height: 1.9;
  margin-bottom: 8px;
}

/* Feature Grid */
.ms-feat-g {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px,1fr));
  gap: 24px;
}
.ms-fc { background: #fff; overflow: hidden; box-shadow: 0 2px 16px rgba(0,0,0,.07); }
.ms-fc img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.ms-fc-body { padding: 20px 22px; }
.ms-fc-num {
  font-family: 'Noto Serif JP', serif;
  font-size: 2rem;
  font-weight: 900;
  color: rgba(192,57,43,.12);
  line-height: 1;
  display: block;
  margin-bottom: 6px;
}
.ms-fc-name { font-size: .92rem; font-weight: 700; color: var(--dark); margin-bottom: 8px; }
.ms-fc-desc { font-size: .78rem; color: var(--mid); line-height: 1.85; }

/* Buttons */
.ms-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 36px;
  font-size: .84rem;
  font-weight: 500;
  letter-spacing: .1em;
  border-radius: 2px;
  transition: background .2s, transform .15s;
  cursor: pointer;
}
.ms-btn:hover { transform: translateY(-1px); }
.ms-btn-r { background: var(--red); color: #fff; }
.ms-btn-r:hover { background: #a93226; }
.ms-btn-w { background: #fff; color: var(--red); }
.ms-btn-w:hover { background: var(--cream); }

/* CTA Block */
.ms-pcta {
  margin-top: 32px;
  padding: 28px 32px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  text-align: center;
}
.ms-fcta {
  background: var(--dark);
  padding: clamp(40px,6vw,72px) clamp(24px,5vw,60px);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
}
.ms-fcta-ja {
  font-family: 'Noto Serif JP', serif;
  font-size: clamp(1.1rem,2.5vw,1.6rem);
  font-weight: 900;
  color: #fff;
}
.ms-fcta-sub {
  font-size: .84rem;
  color: rgba(255,255,255,.55);
}

/* FAQ */
.ms-faq { background: var(--cream); }
.ms-fi { border-bottom: 1px solid rgba(44,24,16,.1); }
.ms-fq {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 0;
  cursor: pointer;
  user-select: none;
}
.ms-fqn {
  font-family: 'Noto Serif JP', serif;
  font-size: .72rem;
  font-weight: 900;
  color: var(--red);
  flex-shrink: 0;
  min-width: 24px;
}
.ms-fqt {
  flex: 1;
  font-size: .9rem;
  font-weight: 500;
  color: var(--dark);
  line-height: 1.5;
}
.ms-fqi {
  font-style: normal;
  font-size: 1.2rem;
  color: var(--red);
  flex-shrink: 0;
  transition: transform .2s;
}
.ms-fi.open .ms-fqi { transform: rotate(45deg); }
.ms-fa {
  display: none;
  padding: 0 0 18px 38px;
  font-size: .84rem;
  color: var(--mid);
  line-height: 1.9;
}
.ms-fi.open .ms-fa { display: block; }

/* Access */
.ms-access-g { display: grid; grid-template-columns: repeat(auto-fit,minmax(300px,1fr)); gap: 24px; }
.ms-acard { overflow: hidden; border: 2px solid var(--warm); }
.ms-acard iframe { width: 100%; height: 220px; display: block; border: none; }
.ms-acard-body { padding: 20px 22px; }
.ms-aname { font-family: 'Noto Serif JP', serif; font-size: 1rem; font-weight: 900; color: var(--dark); margin-bottom: 14px; }
.ms-arow {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 6px 0;
  font-size: .78rem;
  border-bottom: 1px solid var(--warm);
}
.ms-arow:last-child { border: none; }

/* Scroll Reveal */
.ms-rv {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .55s ease, transform .55s ease;
}
.ms-rv.in { opacity: 1; transform: none; }
@media(max-width:760px) {
  .ms-rv { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ============================================
   Footer
   ============================================ */
.site-footer {
  background: #120604;
  color: rgba(255,255,255,.45);
  padding: clamp(32px,5vw,56px) clamp(16px,4vw,40px);
}
.footer-inner {
  max-width: 1080px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  justify-content: space-between;
  align-items: flex-start;
}
.footer-brand .brand-name {
  font-family: 'Noto Serif JP', serif;
  font-size: 1rem;
  font-weight: 900;
  color: #fff;
  margin-bottom: 8px;
}
.footer-brand p { font-size: .72rem; line-height: 1.9; }
.footer-nav { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.footer-nav a { font-size: .74rem; color: rgba(255,255,255,.5); }
.footer-nav a:hover { color: #fff; }
.footer-copy {
  border-top: 1px solid rgba(255,255,255,.08);
  margin-top: 28px;
  padding-top: 20px;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  font-size: .68rem;
  color: rgba(255,255,255,.25);
}

/* ============================================
   Utility
   ============================================ */
.text-center { text-align: center; }
.mt-8  { margin-top: 8px; }
.mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; }
.mt-32 { margin-top: 32px; }

/* ============================================
   Price Table
   ============================================ */
.price-table { border: 2px solid var(--warm); overflow: hidden; margin-bottom: 28px; }
.price-thead {
  background: var(--dark);
  padding: 10px 18px;
}
.price-thead p { font-size: .78rem; font-weight: bold; color: #f4c875; margin: 0; letter-spacing: .06em; }
.price-thead small { font-size: .66rem; color: rgba(244,200,117,.55); display: block; margin-top: 3px; }
.price-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 18px;
  background: var(--light);
  border-bottom: 1px solid var(--warm);
}
.price-row:last-child { border-bottom: none; }
.price-row.addon { background: #fff; align-items: center; }
.price-row .name { font-size: .78rem; color: var(--mid); flex: 1; line-height: 1.7; }
.price-row .name small { font-size: .7rem; color: #888; margin-left: 6px; }
.price-row .price {
  font-family: 'Noto Serif JP', serif;
  font-size: .96rem;
  font-weight: 900;
  color: var(--red);
  white-space: nowrap;
}

