
@charset "UTF-8";

body, html {
    background-color: #fff;
    height: 100%;
    width: 100%;
    padding: 0;
    margin: 0;
    font-family:
        Lato,
        "Montserrat",
        "Noto Sans JP",
        "Yu Gothic Medium",
        "YuGothic",
        "Hiragino Sans",
        "Hiragino Kaku Gothic ProN",
        "Meiryo",
        "MS PGothic",
        sans-serif;
}

#header a {
    color: #000;
    text-decoration: none;
    overflow: hidden;
    display: inline-block;
    padding-bottom: 0;
}

#header a:hover {
    text-decoration: underline;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

main a {
    color: #000;
}



main {
    width: 98%;
    margin: 10% auto 0;
    overflow: visible;
}


.header-h1 {
    font-size: 11px;
    margin-bottom: 5px;
}

.pick {
    position: absolute;
    top: -40px;
    width: 130px !important;
    left: -50px;
    z-index: 10;
}




.main-right {
    float: right;
    width: 56%;
    padding: 0 0% 1%;
    border: 1px solid #ddd;
    height: 390px;
    overflow: scroll;
}

.main-right-pp {
    font-size: 15px;
    background: #ddd;
    padding: 15px 0;
    text-align: center;
    font-weight: bold;
}

.main-right img {
    width: 100%;
    height: auto;
}

.main-right-li {
    margin: 1% auto;
    overflow: hidden;
    border-bottom: 1px solid #ddd;
    padding-bottom: 1%;
    padding-top: 1%;
}

.main-right-li:last-child {
    border-bottom: none;
}

.main-right-li-left {
    float: left;
    width: 20%;
}

.main-right-li-left img {
    width: 100%;
    height: auto;
}

.main-right-li-right {
    width: 77%;
    float: right;
}

.main-right ul a:hover {
    overflow: hidden;
    background: #ddd;
}

.main-right ul a {
    padding: 1%;
    overflow: hidden;
    display: block;
}

.main-right-li-right h3 {
    font-size: 18px;
    line-height: 1.5em;
}

.main-right-li-right h3 STRONG{
	font-weight: bold;
}

.tabs {
    margin-top: 50px;
    padding-bottom: 0;
    background-color: #fff;
    width: 99%;
    margin: 5% auto 0 auto;
}

.tab_item {
    width: calc(100%/3);
    height: 50px;
    border-bottom: 3px solid #bdbdbd;
    background-color: #d9d9d9;
    line-height: 50px;
    font-size: 16px;
    text-align: center;
    color: #565656;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
}

.tab_item:hover {
    opacity: 0.75;
}

input[name="tab_item"] {
    display: none;
}

.tab_item1 {
    width: calc(100%/2);
    height: 50px;
    border-bottom: 3px solid #bdbdbd;
    background-color: #d9d9d9;
    line-height: 50px;
    font-size: 16px;
    text-align: center;
    color: #565656;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
}

.tab_item1:hover {
    opacity: 0.75;
}

input[name="tab_item1"] {
    display: none;
}


.tab_content {
    display: none;
    padding: 3% 0 0;
    clear: both;
    overflow: hidden;
}

#all:checked ~ #all_content, #programming:checked ~ #programming_content, #design:checked ~ #design_content {
    display: block;
}

.tabs input:checked + .tab_item {
    background-color: #7d7d7d;
    color: #fff;
}

.tabs input:checked + .tab_item1 {
    background-color: #7d7d7d;
    color: #fff;
}

.index-left {
    float: left;
    width: 65%;
    padding: 2%;
}

.index-left a {

}

.index-right {
    float: right;
    width: 31%;
}

.index-right h3 {
    font-size: 16px;
    font-weight: bold;
    border-bottom: 1px solid #5c5c5c;
    padding-bottom: 10px;
    margin-bottom: 20px;
    border-left: 5px solid #5c5c5c;
    padding-left: 10px;
}

.index-right p {
    font-size: 16px;
}

.index-right ul {
    overflow: hidden;
    margin-top: 5px;
}

.index-right ul a {
    padding: 4%;
    overflow: hidden;
    display: block;
    text-align: center;
    text-decoration: none;
    color: #000;
}

.index-right ul a:hover {
    overflow: hidden;
    background: #ddd;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.index-right li {
    margin: 0;
    margin-bottom: 20px;
    width: 50%;
    float: left;
    font-size: 13px;
}

.index-left-left {
    float: left;
    width: 40%;
    height: auto
}

.index-left-left img {
    width: 100%;
    height: auto;
}

.index-left-right {
    float: right;
    width: 58%;
    font-size: 23px;
    line-height: 1.5em;
    color: #000;
}

..index-left-right a:visited {
    color: #999999;
}

.index-left li {
    margin-bottom: 20px;
    overflow: hidden;
}

.pro {
    margin: 0;
    border: 1px solid #ddd;
    margin-bottom: 40px;
    padding: 6%;
}

.pro img {
    width: 50%;
    height: auto;
    margin: 0 auto;
    display: block;
    border-radius: 100px;
}

.pro-name {
    font-size: 18px !important;
    margin-bottom: 15px;
}

.pro-name span {
    font-size: 14px !important;
}

.pro-p {
    font-size: 13px !important;
    line-height: 1.2em;
}

.pagination {
    margin: 40px 0;
}

.pagination .nav-links {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    text-align: center;
}

.pagination .nav-links .current {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 4px;
    border: 1px solid #111;
    border-radius: 10px;
    background: #111;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}

.pagination .nav-links .dots {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    color: #999;
    font-size: 15px;
    font-weight: 700;
}

.pagination .nav-links a.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 4px;
    border: 1px solid #ddd;
    border-radius: 10px;
    background: #fff;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    color: #333;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease, transform .2s ease;
}

.pagination .nav-links a.page-numbers:hover {
    border-color: #111;
    background: #111;
    color: #fff;
    transform: translateY(-1px);
}

.pagination .nav-links a.prev.page-numbers,
.pagination .nav-links a.next.page-numbers {
    width: auto;
    min-width: 44px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid #111;
    background: #fff;
    color: #111;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .02em;
}

.pagination .nav-links a.prev.page-numbers:hover,
.pagination .nav-links a.next.page-numbers:hover {
    background: #111;
    color: #fff;
    transform: none;
}

.blog-list {
    overflow: hidden;
}

.blog-list ul {
    overflow: hidden;
}

.blog-list li {
    margin-bottom: 15px;
    overflow: hidden;
    width: 100%;
}

.blog-list-left {
    float: left;
    width: 25%;
}

.blog-list-left img {
    width: 100%;
    height: auto;
}

.blog-list-right {
    float: right;
    width: 71%;
    font-size: 13px;
    line-height: 1.3em;
    text-align: left;
}

.point {
    margin: 0;
}

.point li {
    float: left;
    width: 24%;
    padding: 0.5%;
    text-align: center;
}

.point img {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
}

.point a {
    padding: 10%;
    overflow: hidden;
    display: block;
    text-align: center;
    text-decoration: none;
}

.point a:hover {
    overflow: hidden;
    background: #ddd;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}

.button {
    position: fixed;
    right: 0;
    bottom: 0;
    font-size: 20px;
    color: #fff;
    background: #383838;
    padding: 13px;
    cursor: pointer;
    transition: .3s;
    opacity: 0;
    visibility: hidden;
    border-radius: 100px;
    margin-right: 2%;
    margin-bottom: 1%;
}

.button1 {
    position: fixed;
    right: 100px;
    bottom: 10px;
    font-size: 20px;
    cursor: pointer;
    transition: .3s;
}


.active {
    opacity: 1;
    visibility: visible;
}

.eye img {
    width: 80%;
    height: auto;
    margin: 10px auto 40px;
    display: block;
}

.copyright {
    font-size: 10px;
    text-align: center;
    padding-bottom: 0;
}

.breadcrumbs {
    font-size: 12px;
    margin: 0;
    padding: 20px 0 0;
}

/* 通常のsingle記事だけ、パンくず上の見た目を50pxにする。品種・カテゴリは除外。 */
.single > .breadcrumbs {
    padding: 50px 0 0;
}

/* テンプレートごとのbr／先頭section余白を吸収し、上下間隔を統一する。 */
.breadcrumbs + br[clear="all"] {
    display: none;
}

.breadcrumbs + section,
.breadcrumbs + br[clear="all"] + section,
.breadcrumbs + .category-main,
.breadcrumbs + br[clear="all"] + .category-main,
.breadcrumbs + figure,
.breadcrumbs + br[clear="all"] + figure {
    margin-top: 0;
}

.single > .breadcrumbs + br[clear="all"] + figure.eye > img {
    margin-top: 20px !important;
}

/* 自分用OG TIMES: パンくず直下のテンプレート用brを半分の高さにする。 */
.og-foryou-page .single-box > br[clear="all"] {
    display: block;
    height: 8px;
    line-height: 8px;
    overflow: hidden;
}

.breadcrumbs .ogtbc__list {
    display: flex;
    max-width: 100%;
    flex-wrap: wrap;
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
}

.breadcrumbs .ogtbc__item {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    overflow-wrap: anywhere;
}

.breadcrumbs .ogtbc__item:not(:first-child)::before {
    margin: 0 .55em;
    color: #646970;
    content: "›";
}

.breadcrumbs .ogtbc__link {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.breadcrumbs .ogtbc__link:focus-visible {
    border-radius: 2px;
    outline: 3px solid #2271b1;
    outline-offset: 2px;
}

.single h1 {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.3em;
    margin-bottom: 10px;
}

.date {
    font-size: 14px;
}


.small{
	font-size: 12px;
	color: #4A4949;
}

.single-box p {
    font-size: 18px;
    margin-bottom: 25px;
    line-height: 1.8em;
}


.date-single {
    font-size: 11px !important;
    margin-bottom: 0 !important;
    line-height: 1.4em !important;
    margin-top: 40px !important;
}

.single-box strong {
    background: linear-gradient(transparent 60%, #f5bf25 60%);
    font-weight: bold;
    font-size: 18px;
}




.single-box h2 {
  position: relative;
  padding: 1.2em 2.8em;
  text-align: center;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin: 72px 0 56px;
  color: #111;
}


.single-box h2::before,
.single-box h2::after {
  position: absolute;
  content: "";
  width: 46px;
  height: 46px;
  border-radius: 12px;
}

.single-box h2::after {
  top: 0;
  left: 0;
  border-top: 2px solid #000;
  border-left: 2px solid #000;
}

.single-box h2::before {
  right: 0;
  bottom: 0;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
}


.single-box h3 {
  display: table;
  margin: 40px auto 24px;
  font-size: 22px;
  font-weight: 700;
  padding-bottom: 8px;
  border-bottom: 2px dashed #222;
  letter-spacing: 0.04em;
  color: #111;
  text-align: center;
}


.single-box h4 {
  position: relative;
  padding-left: 14px;
  font-size: 18px;
  font-weight: 600;
  margin: 32px 0 16px;
  line-height: 1.6;
  color: #111;
}


.single-box h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25em;
  bottom: 0.25em;
  width: 3px;
  border-radius: 999px;
  background: #000;
  opacity: 0.8;
}


.single-box h3 + h4 {
  margin-top: 18px;
}


.single-box h5 {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  margin: 28px 0 14px;
  color: #111;
}

.single-box h6 {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
  margin: 24px 0 12px;
  color: #555;
}


.single-box em {
  font-style: italic;
}


.single-box a {
  color: #184d38;
  text-decoration: none;
  background-image: linear-gradient(#c9a96a, #c9a96a);
  background-repeat: no-repeat;
  background-position: 0 calc(100% + 2px);
  background-size: 100% 1px;
  transition: color 0.22s ease, background-size 0.28s cubic-bezier(0.22, 1, 0.36, 1), background-position 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}

.single-box p a:hover,
.single-box li a:hover,
.single-box blockquote a:hover,
.single-box figcaption a:hover,
.single-box td a:hover {
  color: #0d7850;
  background-position: 0 100%;
  background-size: 100% 2px;
}

.single-box a:focus-visible {
  outline: 2px solid #c9a96a;
  outline-offset: 3px;
  border-radius: 2px;
}

html.js .single-box img.ogt-scroll-reveal {
  opacity: 0;
  transform: translateY(18px) scale(0.988);
  transition: opacity 0.58s cubic-bezier(0.22, 1, 0.36, 1), transform 0.68s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

html.js .single-box img.ogt-scroll-reveal.is-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  html.js .single-box img.ogt-scroll-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


.single-box ul,
.single-box ol {
  margin: 0 0 25px;
  padding-left: 1.6em;
}

.single-box ul {
  list-style: none;
  padding-left: 0;
}

.single-box ol {
  list-style: decimal;
}

.single-box li {
  font-size: 18px;
  line-height: 1.8em;
  margin-bottom: 10px;
}

.single-box li:last-child {
  margin-bottom: 0;
}

.single-box ul ul,
.single-box ul ol,
.single-box ol ul,
.single-box ol ol {
  margin: 10px 0 0;
}


.single-box blockquote {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  margin: 30px 0;
  padding: 20px 25px 20px 60px;
  background: #f7f7f7;
  font-style: italic;
  font-size: 18px;
  line-height: 1.8em;
  color: #333;
}

.single-box blockquote::before {
  display: inline-block;
  position: absolute;
  top: 16px;
  left: 20px;
  content: "\f10d";
  font-family: FontAwesome;
  color: #ccc;
  font-size: 24px;
  line-height: 1;
  font-weight: 900;
}

.single-box blockquote p {
  margin-bottom: 10px;
}

.single-box blockquote p:last-child {
  margin-bottom: 0;
}

.single-box blockquote cite {
  display: block;
  text-align: right;
  color: #888;
  font-size: 14px;
  margin-top: 10px;
}


.single-box table {
  width: 100%;
  margin-bottom: 25px;
  border-collapse: collapse;
  font-size: 16px;
  line-height: 1.6em;
}

.single-box th,
.single-box td {
  padding: 10px 14px;
  border: 1px solid #ddd;
  text-align: left;
}

.single-box th {
  background: #f5f5f5;
  font-weight: 700;
}




.single hr {
    border: 1px solid #ddd;
}


.single_btn {
    display: inline-block;
    width: auto;
    line-height: 60px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background-color: #1B85FB;
    padding: 0 50px;
}

.single_btn a {
    display: block;
    width: 100%;
    line-height: 60px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background-color: #1B85FB;
    position: relative;
}

.single_btn a::before {
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    bottom: 0;
    content: "";
    height: 7px;
    width: 7px;
    margin: auto;
    position: absolute;
    right: -27px;
    top: 0;
    transform: rotate(45deg);
    transition: right .3s;
}

.single_btn a:hover::before {
    right: -35px;
}








.post-re-right {
    float: right;
    width: 65%;
    font-size: 18px;
}

.post-re-right p {
    font-size: 16px;
}








@media (max-width: 600px) {
    }

.single-h3 {
    padding: 0.25em 0.5em;
    color: #000000;
    background: transparent;
    border-left: solid 5px #4f4f4f;
    font-size: 16px !important;
    margin-bottom: 20px;
    font-weight: bold;
    margin-top: 10px;
    padding: 2% 0;
    padding-left: 20px;
}

.sma {
    display: none;
}

.pc {
    display: block;
}

.single-price-box {
    width: 800px;
    overflow: hidden;
    margin: 40px auto;
    border: solid 1px #ffe5cb;
    padding: 40px;
    background: #fff8f1;
    padding-top: 0;
    padding-bottom: 20px;
}

.single-price-box a {
    text-decoration: none;
}

.single-price-box a:hover {
    text-decoration: underline;
}

.single-price-box-left {
    width: 35%;
    float: left;
}

.single-price-box-left img {
    width: 100% !important;
    height: auto !important;
    border-radius: 3px;
    margin: 0 !important;
}

.single-price-box-right {
    width: 60%;
    float: right;
}

.single-price-box-right-p {
    font-size: 13px !important;
    border-bottom: 1px solid #000;
    display: inline-block;
    margin-bottom: 4% !important;
}

.single-price-box-right-p1 {
    font-size: 13px !important;
    margin-bottom: 5% !important;
}

.single-price-box-right-p2 {
    font-size: 11px !important;
}

.single-price-box-right-p3 {
    font-size: 13px;
}

.single-price-box-right-p1-1 {
    font-size: 16px;
    margin-right: 10px;
}

.single-price-box-right-p1-2 {
    font-size: 28px;
    font-weight: bold;
    margin-left: 10px;
}

.single-price-box-right-h {
    font-size: 24px !important;
    margin-bottom: 1% !important;
    font-weight: bold;
}

.single-price-box-right-p11 {
    font-size: 12px !important;
    margin-bottom: 2% !important;
}

.single-price-box-right-box {
    margin: 0;
    overflow: hidden;
}

.single-price-box-right-left {
    float: left;
    width: 50%;
}

.single-price-box-right-right {
    float: right;
    width: 50%;
}

.single-price-box-h3 {
    font-size: 19px !important;
    text-align: center;
    margin: 20px 0;
    background: #de954c;
    padding: 10px;
    font-weight: bold;
    color: #fff;
}

.single-price-box-left-p1 {
    font-size: 11px !important;
    margin-bottom: 0 !important;
}

.single-price-box-right-p3 a {
    background: #2db260;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 280px;
    padding: 10px 25px;
    color: #f3f3f3;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}

.single-price-box-right-p3 a:after {
    content: "";
    position: absolute;
    top: 50%;
    bottom: 0;
    right: 2rem;
    font-size: 90%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: right 0.3s;
    width: 6px;
    height: 6px;
    border-top: solid 2px currentColor;
    border-right: solid 2px currentColor;
    transform: translateY(-50%) rotate(45deg);
}

.single-price-box-right-p3 a:hover {
    background: #73b88e;
    color: #FFF;
    text-decoration: none;
}

.single-price-box-right-p3 a:hover:after {
    right: 1.4rem;
}

.video {
    position: relative;
    padding-bottom: 50px;
    margin-bottom: 40px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
}

.video iframe {
    width: 70%;
    height: 510px;
    margin: 0 auto 60px;
    display: block;
}

.map {
    position: relative;
    width: 100%;
    padding-top: 40.25%;
    height: 0;
    margin: 40px 0 50px;
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.single-map {
    width: 80%;
    overflow: hidden;
    margin: 10px auto 60px auto;
}

.single-map-left {
    float: left;
    width: 50%;
}

.single-map-left iframe {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 400px;
}

.single-map-right {
    float: right;
    width: 46%;
    margin-top: 5px;
}

.single-map-right-ul-1 {
    margin: 0;
    overflow: hidden;
}

.single-map-right-ul-2 {
    margin: 0;
}

.single-map-right-ul-3 {
    font-size: 16px;
}

.single-map-right-ul-4 {
    margin: 0;
}

.single-map-right-p-1 {
    margin: 20px 0 10px !important;
    font-size: 16px !important;
}

.single-map-right-p-2 {
    margin: 20px 0 20px !important;
    border-bottom: 1px solid #000;
    display: inline-block;
    font-weight: bold;
}

.single-map-right-ul-1 li {
    float: none;
    margin-bottom: 10px;
    line-height: 1.4em;
    font-size: 14px;
}


.single-map-right-name-1{
	color: #6f6f6f;
	margin-bottom: 20px !important;
	font-size: 13px !important;
}

.single-map-right-ul-1 a {
    text-decoration: none;
    background: none;
    padding: 5px 10px;
    display: inline-block;
    border-radius: 3px;
    border: 1px solid #828282;
    font-size: 0.6em;
}

.single-map-right-ul-2 span {
    padding: 6px 10px;
    margin-right: 5px;
    border-radius: 20px;
    color: #fff;
    font-size: 13px;
    position: relative;
    top: -2px;
    font-weight: bold;
    margin-left: 5px;
}

.single-map-right-ul-3 span {
    margin: 0;
    display: block;
    font-size: 11px;
    margin-top: 10px;
}

.button012{
	margin: 20px 0;
}

.button012 a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    max-width: 240px;
    padding: 20px 25px 20px 50px;
    color: #313131;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    background: #eee;
    border-radius: 50px;
    z-index: 0;
    overflow: hidden;
    text-decoration: none;
}
.button012 a:before {
    font-family: "Font Awesome 5 Brands";
    content: "\f16d";
    font-weight: 400;
    line-height: 1;
    position: absolute;
    left: 5px;
    background: #fff;
    padding: 12px 11px;
    border-radius: 60px;
    z-index: 2;
    margin-left: 20px;
}
.button012 a:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 0;
    display: block;
    background: #ccc;
    transition: 0.3s;
    left: 0;
}
.button012 a:hover:after {
    width: 100%;
    z-index: -1;
}










.button013 {
  margin: 20px 0;
}

.button013 a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  max-width: 260px;
  padding: 20px 25px 20px 55px;
  color: #ffffff;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  background: #16a34a;
  border-radius: 50px;
  z-index: 0;
  overflow: hidden;
  text-decoration: none;
  font-size: 15px;
}


.button013 a:before {
  font-family: "Font Awesome 5 Free";
  content: "\f594";
  font-weight: 900;
  line-height: 1;
  position: absolute;
  left: 8px;
  background: #ffffff;
  color: #16a34a;
  padding: 12px 13px;
  border-radius: 60px;
  z-index: 2;
  margin-left: 20px;
  font-size: 14px;
}


.button013 a:after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 0;
  display: block;
  background: #22c55e;
  transition: 0.3s;
  left: 0;
}

.button013 a:hover:after {
  width: 100%;
  z-index: -1;
}



.button014 {
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 40px 0 25px 0;
}

.button014 a {
  width: 90%;
  max-width: 600px;
  padding: 25px 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;

  background: #16a34a;
  color: #fff !important;
  font-size: 17px;
  font-weight: 700;
  border-radius: 999px;
  text-decoration: none;
  transition: 0.25s ease;
  box-shadow: 0 6px 16px rgba(0,0,0,0.15);
}


.button014 a .icon {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 18px;
}


@media (min-width: 900px) {
  .button014 a:hover {
    background: #149043;
    transform: translateY(1px);
    box-shadow: 0 3px 12px rgba(0,0,0,0.12);
  }

.button014 a .icon {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 0.85em;
}

}




:root{
  --cta-red: #d32f2f;
  --cta-red-dk: #b71c1c;
  --cta-shadow: rgba(211,47,47,0.35);
  --cta-text: #ffffff;
  --sub-text: rgba(255,255,255,0.9);
}












@media (max-width: 640px){
  .button014 a{
    max-width: 100%;
    padding-left: 0px;
  }
}


.green {
    background: #26681a;
}


.red {
    font-size: 12px;
    color: #F4080C;
}

.orange {
    background: #C3680E;
}

.blue {
    background: #0214B3;
}

.brown {
    background: #593A01;
}


.single-map-right-ul-4 span {
    margin-left: 10px;
}

.single-map-right-ul-4 a {
    text-decoration: none;
}

.single-map-right-ul-4 a:hover {
    text-decoration: underline;
}

.single-map-right-ul-4 li {
    list-style: disc;
    margin-bottom: 20px;
}

.single img {
    width: 70%;
    height: auto;
    display: block;
    margin: 30px auto;
}







.button-container {
    text-align: center;
    margin: 50px 0;
}

.button-top-text {
    color: #1a3c7f;
    margin-bottom: 10px !important;
    font-weight: bold;
    display: block;
}

.custom-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #04c755;
    color: #fff;
    padding: 2% 10%;
    font-size: 18px;
    font-weight: bold;
    border-radius: 3px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    max-width: 100%;
    width: 35%;
    margin: 0 auto;
    display: block;
    margin-top: 10px;
    text-align: center;
    margin-bottom: 40px;
}

.custom-button img {
    margin-right: 10px;
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    display: inline-block;
    margin: 0 !important;
    position: relative;
    top: 8px;
    right: 15px;
}

.custom-button:hover {
    background-color: #76b319;
}



.hotel-image img {
    width: 150px;
    height: 150px;
    object-fit: cover;
    border-radius: 10px;
}


.hotel-name-title {
    font-size: 20px !important;
    font-weight: bold !important;
    color: #007bff;
    margin: 20px 0 10px !important;
    border: none !important;
}

.hotel-location {
    font-size: 14px !important;
    margin: 0 0 10px;
}

.hotel-description {
    font-size: 16px !important;
    color: #555;
    margin: 0 0 10px;
    line-height: 1.4em !important;
}



.hotel-details {
    text-align: right;
    margin-left: 20px;
    flex-basis: 100%;
    margin-top: 0px;
}



.hotel-price {
    font-size: 20px !important;
    font-weight: bold;
    color: #007bff;
}

.hotel-price span {
    font-size: 14px;
    color: #666;
}

.button-clear {
    clear: both;
}

.button-container {
    justify-content: space-between;
    width: 100%;
    margin-top: 15px;
    margin-bottom: 20px;
}

.hotel-check-button {
    flex: 1;
    padding: 20px 20px;
    font-size: 14px;
    background-color: #007bff;
    color: #fff;
    border: none;
    border-radius: 5px;
    text-decoration: none;
    text-align: center;
    margin-right: 10px;
    font-weight: bold;
}

.hotel-check-button:last-child {
    margin-right: 0;
}

.hotel-check-button:hover {
    background-color: #0056b3;
}

.agoda-button {
    background-color: #32a852;
}

.bookingcom-button {
    background-color: #003580;
}

.toc-container {
    position: relative;
    width: 60%;
    margin: 0 auto;
}


.toggle-button {
    position: relative;
    padding: 10px 20px;
    width: 400px;
    background-color: #166c9d;
    color: #fff;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 16px;
    text-align: center;
    margin: 20px auto;
    display: block;
    top: -100px;
    left: 5%;
}

.toggle-button:hover {
    background-color: #0e4a72;
}

.toc-001 {
    margin-bottom: 30px;
    padding: 2em 1em 3em 2em;
    border: 1px solid #999;
    background-color: #ffffff;
    color: #333333;
    margin-top: 40px;
    width: 100%;
    max-height: 350px;
    overflow: hidden;
    position: relative;
    transition: max-height 0.3s ease;
}


.toc-001.gradient-visible::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 180px;
    background: linear-gradient(to bottom, transparent, white);
    display: block;
}

.toc-001:not(.gradient-visible)::after {
    display: none;
}


.toc-001 div {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 5px 0;
}

.toc-001 ol {
    counter-reset: section;
    list-style-type: none;
    padding: 20px 50px 0;
}

.toc-001 ol > li {
    counter-increment: section;
    margin-bottom: 15px;
    position: relative;
}

.toc-001 ol > li::before {
    content: counter(section) ". ";
    position: absolute;
    left: -25px;
}

.toc-001 ol ol {
    counter-reset: subsection;
    list-style-type: none;
    padding-left: 20px;
}

.toc-001 ol ol > li {
    counter-increment: subsection;
    margin-bottom: 13px;
    position: relative;
    font-size: 13px;
}

.toc-001 ol ol > li::before {
    content: counter(section) "-" counter(subsection) ". ";
    position: absolute;
    left: -35px;
}

.toc-001 a {
    color: #166c9d;
    text-decoration: none;
    margin-left: 10px;
}

.toc-expanded {
    max-height: none;
}

.toc-001.toc-expanded::after {
    display: none;
}

.image-container {
    width: 100%;
    overflow-x: scroll;
    scrollbar-width: thin;
    scrollbar-color: #888 #f1f1f1;
}

.image-container::-webkit-scrollbar {
    height: 8px;
}

.image-container::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.image-container::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 10px;
    border: 2px solid #f1f1f1;

}

.image-container::-webkit-scrollbar-thumb:hover {
    background-color: #555;
}

.image-wrapper {
    display: flex;
    width: 220%;
}

.image-wrapper img {
    width: 96%;
    object-fit: cover;
    margin: 2% !important;
}

.wp-caption {
    text-align: center;
    width: 100% !important;
}

.wp-caption-text {
    font-size: 14px !important;
    color: #666;
    margin-top: 0;
    margin-bottom: 30px !important;
}

.wp-caption img {
    display: block;
    margin: 30px auto 10px;
}

.table-container {
    width: 95%;
    overflow-x: auto;
    padding: 10px;
    margin: 20px 0 30px;
    position: relative;
}

.table-container table {
    width: 1200px;

    border-collapse: collapse;
    font-family: Arial, sans-serif;
}

.table-container th, td {
    border: 1px solid #ddd;
    padding: 20px 50px;
    text-align: center;
    white-space: nowrap;
}

.table-container thead th {
    background-color: #f4f4f4;
    position: sticky;
    top: 0;
    z-index: 10;
}

.table-container tbody th {
    background-color: #f9f9f9;
    text-align: left;
    position: sticky;
    left: 0;
    z-index: 5;
}

.table-container tbody td {
    background-color: transparent;
}

.table-container tbody tr:nth-child(even) th, .table-container tbody tr:nth-child(odd) th {
    position: sticky;
    left: 0;
    z-index: 5;
}

.scroll-hint {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.7);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    display: flex;
    align-items: center;
    animation: scrollHint 2s infinite;
    white-space: nowrap;
    pointer-events: none;
}

@keyframes scrollHint {
    0%, 100% {
        right: 10px;
    }

    50% {
        right: 20px;
    }
}

.scroll-hint span {
    margin-right: 5px;
    font-size: 20px;
}

.custom-scroll-hint {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    animation: shake 1s infinite alternate;
}

@keyframes shake {
    0% {
        transform: translate(0, -50%);
    }

    100% {
        transform: translate(10px, -50%);
    }
}

.custom-image-container {
    overflow-x: auto;
    white-space: nowrap;
    position: relative;
    width: 100%;
    margin-bottom: 20px;
}

.custom-image-container1 {
    overflow-x: auto;
    white-space: nowrap;
    position: relative;
    width: 100%;
    margin-bottom: 20px;
}

.custom-image-wrapper {
    display: flex;
    flex-wrap: nowrap;
    width: 2000px;
}

.custom-image-item {
    width: 40%;
    display: inline-block;
    position: relative;
    margin-right: 10px;
    box-sizing: border-box;
}

.custom-image-item img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 10px;
    margin: 0;
}

.custom-scroll-hint {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    animation: shake 1s infinite alternate;
    z-index: 10;
}

.custom-scroll-hint1 {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff !important;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    animation: shake 1s infinite alternate;

    z-index: 10;
}

.custom-tour-card {
    width: 250px;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    flex: 0 0 auto;
    position: relative;
    margin-bottom: 20px;
}

.custom-tour-card img {
  width: 100%;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  margin: 0;
}

.custom-tour-card-content {
    padding: 15px;
}

.custom-tour-card-content h3 {
    font-size: 15px;
    margin-bottom: 5px;
    font-weight: bold;
}

.custom-tour-card-content p {
    font-size: 12px;
    margin-bottom: 5px;
    color: #959595;
}

.custom-tour-card-content .custom-tour-rating {
    font-size: 14px;
    color: #ffa500;
    margin-bottom: 10px;
}

.custom-tour-buttons {
    display: flex;
    justify-content: center;
    margin-top: 10px;
}

.custom-blog-button {
    padding: 10px 30px;
    background-color: #007bff;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-size: 12px;
}

.custom-blog-button:hover {
    background-color: #0056b3;
}

.custom-blog-button1 {
    padding: 10px 30px;
    background-color: #007bff;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-size: 11px;
    position: relative;
    top: -10px;
    left: 37px;
}

.custom-blog-button2 {
    padding: 10px 30px;
    background-color: #007bff;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-size: 11px;
    position: relative;
    top: -10px;
    left: 37px;
}

.custom-tour-buttons {
    height: auto;
}

@keyframes shake {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(10px);
    }
}

.button-image-container {
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
    position: relative;
    margin-bottom: 30px;
}

.button-image-wrapper {
    display: flex;
    width: calc(100% * 5 / 3.5);
}

.button-image-item {
    width: calc(100% / 3.5);

    display: inline-block;
    position: relative;
    margin-right: 10px;
    border: 1px solid #ddd;
    padding: 15px;
    border-radius: 3px;
    background: #f7f7f7;
}

.button-image-item img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 10px;
    margin: 0;
}

.button-image-button {
    display: block;
    margin-top: 10px;
    padding: 10px 20px;
    background-color: #007bff;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    text-align: center;
}

.scroll-hint {
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: #fff;
    padding: 5px 10px;
    border-radius: 3px;
    font-size: 14px;
    z-index: 10;
}

.button-image-container:scroll {
    .scroll-hint {
        opacity: 0;
        transition: opacity 0.5s ease;
    }
}

.button-scroll-hint {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 14px;
    z-index: 10;
    white-space: nowrap;
}

.button-image-container:hover .button-scroll-hint {
    opacity: 0;
    transition: opacity 0.3s;
}

.button-image-container:active .button-scroll-hint, .button-image-container:focus .button-scroll-hint {
    display: none;
}


.media-tabs {
    margin-top: 50px;
    padding-bottom: 0;
    background-color: #fff;
    width: 100%;
    margin: 0 auto;
}



input[name="media_tab_item"] {
    display: none;
}

.media-tab_content {
    display: none;
    padding: 3% 0 0;
    clear: both;
    overflow: hidden;
}



.media-tabs input[type="radio"] {
    display: none;
}


.media-tabs-2 {
    margin-top: 50px;
    padding-bottom: 0;
    background-color: #fff;
    width: 100%;
    margin: 0 auto;
}



input[name="media_tab_item_55"] {
    display: none;
}

.media-tab_content2 {
    display: none;
    padding: 3% 0 0;
    clear: both;
    overflow: hidden;
}



.media-tabs-2 input[type="radio"] {
    display: none;
}


.app {
    width: 40%;
    margin: 50px auto;
    border: 1px solid #ddd;
    padding: 40px;
    border-radius: 3px;
}




.app-right-1 {
    font-size: 22px !important;
    font-weight: bold;
    margin-bottom: 0px !important;
    line-height: 1em !important;
    height: 50px;
}

.app-right-2 {
    font-size: 13px !important;
    margin-bottom: 10px !important;
}

.app-right-3 {
    font-size: 12px !important;
    margin-bottom: 10px !important;
}

.app-right {
    width: 75%;
    float: right;
}

.app-bottom {
    clear: both;
    margin-top: 20px !important;
    overflow: hidden;
}


.app-bottom {
    margin: 0;
}

.app-bottom li {
    float: left;
    width: 48%;
    margin: 0 1%;
}









.recommended-content {
    display: flex;
    align-items: center;
    margin-top: 0px;
}

.recommended-image {
    width: 80px;
    height: 80px;
    background-color: #d3eaea;
    margin-right: 10px;
}



.recommended-image img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 5px;
    margin: 0;
}

.blog-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #808080;
    color: #fff;
    padding: 2% 10%;
    font-size: 14px;
    font-weight: bold;
    border-radius: 3px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    max-width: 100%;
    width: 35%;
    margin: 0 auto;
    display: block;
    margin-top: 10px;
    text-align: center;
    margin-bottom: 40px;
}

.blog-button:hover {
    background-color: #A2A2A2;
}

.custom-button1 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #808080;
    color: #fff;
    padding: 3% 10%;
    font-size: 12px;
    font-weight: bold;
    border-radius: 3px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    max-width: 100%;
    width: 35%;
    margin: 0 auto;
    display: block;
    margin-top: 10px;
    text-align: center;
    margin-bottom: 0;
}

.custom-button1:hover {
    background-color: #A2A2A2;
}


.scroll_list {
    margin: 0 auto;
    padding: 0;
    width: 90%;
    overflow-x: auto;
    white-space: nowrap;
    overflow-scrolling: touch;
    -webkit-overflow-scrolling: touch;
    position: relative;
}

.scroll_list li {
    display: inline-block;
    list-style: none;
    height: 290px;
}



.scroll_list li img {
    width: 100%;
    height: 260px;
    margin: 0 auto;
}


























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


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



    }









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

    #cf7-area label {
        display: block;
        margin-bottom: 10px;
    }



    .cf7-submit {
        width: 90%;
    }
}

.wpcf7{
  width: 90%;
  float: none;
  margin: 0 auto;
}


input[type="submit"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    font-size: 14px;
    font-weight: bold;
    width: 200px;
    padding: 10px;
    border-radius: 10px;
    background-color: #04c755;
    border: none;
    color: #fff;
    cursor: pointer;
}

span.wpcf7-spinner {
    display: none;
}

.swiper-horizontal>.swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
    bottom: var(--swiper-scrollbar-bottom, auto) !important;
}

.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: var(--swiper-pagination-bottom, auto) !important;
}

.swiper-horizontal {
    margin-bottom: 40px !important;
    margin-top: 40px;
}

div.fixed-wrap {
    position: relative;
    clip-path: inset(0 0 0 0);
    width: 100%;
    height: 450px;
    margin-top: 0;
}

div.fixed {
    position: fixed;
    top: 100px;
    left: 0;
    width: 100vw;
    height: calc(100vh + 150px);
    background-image: url(https://ganjabonsai.com/wp/wp-content/uploads/2025/10/back.jpg);
    background-position: center top;
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #000;
    z-index: -1;
}


div.fixed-wrap h1  {
    position: relative;
    top: 170px;
    left: 20%;
}

.single  {
  margin-top: 195px;
  width: 96%;
  margin-right: auto;
  margin-left: auto;
}



.header-contact a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #383838;
    color: #fff !important;
    padding: 10px;
    font-size: 13px;
    font-weight: bold;
    border-radius: 3px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    max-width: 100%;
    width: 200px;
    margin: 0 auto;
    display: block !important;
    margin-top: 0;
    text-align: center;
    margin-bottom: 0;
    padding-bottom: 10px !important;
    position: relative;
    margin-right: 15px;
}

.header-contact a:hover {
    background-color: #1f1f1f;

    text-decoration: none !important;
}

.header-right-right {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    width: 46% !important;
}

.header-right-left {
    width: 52% !important;
}

.header-right-right li {
    float: none;
    margin: 0;
}

.header-card-lp a,
.header-contact a {
    width: auto;
    min-width: 0;
    margin: 0;
    white-space: nowrap;
}
.header-contact { margin-right: 16px !important; }

#must .cv-link-card--ogcard { order: -1; }

/* 品種紹介: 記事カードと同じ、写真を主役にした縦型レイアウト。 */
.strain-feature-slider { gap: 28px; padding: 8px 4px 22px; }
.strain-feature-card { flex: 0 0 360px; width: 360px; padding-top: 0; }
.strain-feature-card__label { position: static; display: inline-flex; width: auto; min-height: 0; margin: 0 0 10px 12px !important; padding: 8px 14px !important; border: 1px solid #e8bd6a; border-radius: 999px; background: #fffaf0; color: #a36c14; font-size: 13px !important; }
.strain-feature-card__inner { display: flex; flex-direction: column; gap: 0; padding: 0; overflow: hidden; border: 1px solid #e6e6e6; border-radius: 18px; box-shadow: 0 10px 28px rgba(24, 31, 27, .08); }
.strain-feature-card__image { width: 100%; height: 230px; border-radius: 0; }
.strain-feature-card__image img { width: 100%; height: 100%; object-fit: cover; }
.strain-feature-card__content { padding: 22px 22px 8px; }
.strain-feature-card__tags { gap: 7px; margin-bottom: 16px; }
.strain-feature-card__tags span { min-height: 0; padding: 7px 10px; border-color: #d8ddd8; border-radius: 999px; font-size: 11px; }
.strain-feature-card__eyebrow { font-size: 12px !important; letter-spacing: .12em; }
.strain-feature-card__name { font-size: 25px; font-weight: 700; }
.strain-feature-card__text { font-size: 14px !important; line-height: 1.75 !important; }
.strain-feature-card__button-row { padding: 14px 22px 22px; }
.strain-feature-card__button { display: flex !important; align-items: center; justify-content: center; min-height: 46px; border-radius: 999px !important; background: #247546 !important; color: #fff !important; font-size: 14px !important; font-weight: 700; text-decoration: none !important; }
@media (max-width: 768px) { .strain-feature-card { flex-basis: 82vw; width: 82vw; max-width: 360px; } .strain-feature-card__inner { padding: 0; } .strain-feature-card__image { height: 210px; } }

/* 既存の詳細セレクタより優先する、品種紹介カードの最終レイアウト。 */
.single-box .strain-feature-slider .strain-feature-card { flex: 0 0 360px !important; width: 360px !important; padding-top: 0 !important; }
.single-box .strain-feature-slider .strain-feature-card__label { position: static !important; display: inline-flex !important; width: auto !important; margin: 0 0 10px 12px !important; }
.single-box .strain-feature-slider .strain-feature-card__inner { display: flex !important; flex-direction: column !important; gap: 0 !important; padding: 0 !important; overflow: hidden !important; border: 1px solid #e6e6e6 !important; border-radius: 18px !important; }
.single-box .strain-feature-slider .strain-feature-card__image { grid-column: auto !important; width: 100% !important; height: 230px !important; }
.single-box .strain-feature-slider .strain-feature-card__image img { width: 100% !important; height: 100% !important; object-fit: cover !important; }
.single-box .strain-feature-slider .strain-feature-card__content { grid-column: auto !important; padding: 22px 22px 8px !important; }
.single-box .strain-feature-slider .strain-feature-card__button-row { grid-column: auto !important; padding: 14px 22px 22px !important; }
.single-box .strain-feature-slider .strain-feature-card__button { position: static !important; display: flex !important; width: 100% !important; min-height: 46px !important; border-radius: 999px !important; background: #247546 !important; color: #fff !important; }
.single-box .strain-feature-slider .strain-feature-card__label { align-self: flex-start; margin: 14px 14px 0 !important; font-size: 12px !important; }
.single-box .strain-feature-slider .strain-feature-card__label { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: #1c4d39; font-size: 15px !important; font-weight: 700; }
.single-box .strain-feature-slider .strain-feature-card__tags span { font-size: 11px !important; min-height: 0; padding: 6px 10px; }

/* 品種カードは横に流し、常に次の1枚の存在が見える状態にする。 */
.single-box .strain-feature-slider { position: relative; display: flex !important; flex-wrap: nowrap !important; overflow-x: auto !important; scroll-snap-type: x mandatory; gap: 20px; padding: 8px 0 24px; }
.single-box .strain-feature-slider .strain-feature-card { flex: 0 0 calc(66.666% - 14px) !important; width: calc(66.666% - 14px) !important; max-width: 520px; scroll-snap-align: start; }
@media (max-width: 768px) { .single-box .strain-feature-slider { padding-left: 16px; padding-right: 16px; } .single-box .strain-feature-slider .strain-feature-card { flex-basis: 78vw !important; width: 78vw !important; } }

.strain-feature-scroll-hint { position: sticky; right: 14px; align-self: center; z-index: 5; transition: opacity .22s ease, transform .22s ease; pointer-events: none; }
.strain-feature-scroll-hint.is-hidden { opacity: 0; transform: translateX(10px); }

.single-box .strain-feature-slider::after { display: none; }
.strain-feature-scroll-hint { position: absolute; right: 16px; bottom: 34px; z-index: 5; }

.header-card-lp a {
    display: block;
    padding: 10px 14px;
    border: 1px solid #1d6a4e;
    border-radius: 3px;
    background: #f7fbf8;
    color: #195a43 !important;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.header-card-lp a:hover,
.header-card-lp a:focus-visible {
    border-color: #195a43;
    background: #195a43;
    color: #fff !important;
    text-decoration: none !important;
}

/* ヘッダー右側の2ボタンを同一寸法のペアとして揃える。 */
.header-right-right { gap: 8px; }
.header-right-right li { flex: 1 1 0; min-width: 0; }
.header-card-lp a,
.header-contact a {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 44px;
    box-sizing: border-box;
    margin: 0 !important;
    padding: 0 14px !important;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1.2;
}





.pro-ul1 {
    margin: 0;
}

.pro-ul1 li {
    margin: 0;
    width: 30px;
    margin-right: 0;
    float: left;
}

.pro-ul1 img {
    width: 60%;
    height: auto;
    border-radius: 0;
    margin: 10px;
}




.pro-ul2 {
  margin-top: 10px !important;
}

.pro-ul2 li {
    margin: 0;
    width: 10%;
    margin-right: 0;
    float: left;
}

.pro-ul2 img {
    width: 60%;
    height: auto;
    border-radius: 0;
    margin: 10px;
}


.support {
    margin: 0;
}

.support h3 {
    width: 91%;
    border-left: 5px solid #4f4f4f;
    border-radius: 2px;
    font-weight: bold;
    padding: 1% 3%;
    margin: 0 0 2em;
}

.support p {
    font-size: 16px;
    line-height: 1.8em;
}

.support p strong {
    background: linear-gradient(transparent 60%, #f5bf25 60%);
    font-weight: bold;
    font-size: 18px;
}

.selectbox-3 {
    display: inline-flex;
    align-items: center;
    position: relative;
}

.selectbox-3 select {
    appearance: none;
    min-width: 230px;
    height: 2.8em;
    padding: .4em calc(.8em + 30px) .4em .8em;
    border: 1px solid #d0d0d0;
    border-radius: 3px;
    background-color: #fff;
    color: #333333;
    font-size: 1em;
    cursor: pointer;
}

.list-9 {
    list-style-type: disc;
    list-style-position: inside;
    padding: 1em;
    border: 2px solid #e7e7e7;
    margin: 10px 0 30px 0;
}

.list-9 li {
    padding: 1em;
    line-height: 1.5em;
}

.list-9 li:not(:last-child) {
    border-bottom: 1px dashed #a4a4a4;
}

.list-9 li::marker {
    color: #818181;
    font-size: 1.1em;
}

.name-box {
    background-color: #f9f9f9;
    border-radius: 10px;
    padding: 20px;
    max-width: 600px;
    margin: 0 auto;
    font-family: Arial, sans-serif;
    border: 1px solid #d3d3d3;
    margin-bottom: 50px;
}

.profile-header h2 {
    text-align: center;
    font-size: 24px;
    color: #333;
}

.profile-content {
    display: flex;
    align-items: center;
    margin-top: 0;
}

.profile-image img {
    border-radius: 50%;
    width: 100px;
    height: 100px;
    margin-right: 20px;
}

.profile-info-name {
    margin: 0;
    font-size: 18px !important;
    font-weight: bold;
}

.profile-info-name span {
    font-size: 14px !important;
}

.profile-info p {
    margin: 5px 0;
    color: #555;
    font-size: 12px;
    line-height: 1.4;
}

.single-line {
    margin: 0;
    overflow: hidden;
    border: dotted 4px #04c755;
    padding: 20px;
    background: #f1f5f3;
}

.single-line img {
    width: 80%;
    height: auto;
    position: relative;
    top: 30px;
    left: 10px;
}

.single-line p {
    font-size: 13px !important;
    line-height: 1.2em;
    margin-bottom: 10px !important;
}

.single-line-left {
    float: left;
    width: 15%;
}

.single-line-right {
    float: right;
    width: 80%;
}

.single-line-right a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #04c755;
    color: #fff !important;
    padding: 10px;
    font-size: 13px;
    font-weight: bold;
    border-radius: 3px;
    text-decoration: none;
    transition: background-color 0.3s ease;
    max-width: 100%;
    width: 95%;
    margin: 0 auto;
    display: block !important;
    margin-top: 0;
    text-align: center;
    margin-bottom: 0;
    padding-bottom: 10px !important;
    position: relative;
}

.single-line-right a:hover {
    background-color: #76b319;
    text-decoration: none !important;
}







.review-wrapper {
    display: flex;
    overflow-x: auto;
    margin-right: 10px;
    padding: 20px 0;
    margin-top: 30px;
    padding-top: 30px !important;
    position: relative;
width: 95%;
  margin: 0 auto;
}

.review-container {
    min-width: 190px;
    flex-shrink: 0;
    border: 2px solid #dfdfdf;
    border-radius: 10px;
    padding: 40px 20px 20px;
    text-align: center;
    background-color: #fff;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04);
    position: relative;
    width: 305px;
    margin-right: 20px;
}

.review-icon {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background-color: #fff;
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    z-index: 10;
}

.review-icon img {
    width: 70px;
    height: 70px;
    border-radius: 0%;
    object-fit: cover;
}

.review-content p {
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.5;
    color: #333;
    margin-bottom: 0;
}

.continue-button {
    display: block;
    width: 100%;
    margin-top: 20px;
    padding: 10px;
    background-color: #387ed8;
    border: none;
    border-radius: 5px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.continue-button:hover {
    background-color: #689CDF;
}

.continue-button a {
    color:#fff;
	text-decoration: none;
    color: #fff;
}










.top-review-h2 {
  position: relative;
  padding: 1em 2em;
  text-align: center;
  font-size: 28px;
  font-weight: bold;
  width: 85%;
  margin: 30px auto 30px;
}


.top-review-h2:before, .top-review-h2:after {
    position: absolute;
    content: '';
}

.top-review-h2:after {
    top: 0;
    left: 0;
    width: 50px;
    height: 50px;
    border-top: 2px solid #000;
    border-left: 2px solid #000;
}

.top-review-h2:before {
    right: 0;
    bottom: 0;
    width: 50px;
    height: 50px;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
}








.category {
    margin: 40px auto 0;
    width: 95%;
    overflow: hidden;
}

.category-name {
    position: relative;
    top: 180px;
    z-index: 2;
    color: #fff;
    font-size: 34px;
    text-align: center;
    font-weight: bold;
}

.top-bar {
    overflow: hidden;
    margin: 20px auto 30px;
    display: block;
}

.top-bar li {
    float: left;
    width: 31%;
    margin: 1%;
}

.top-bar li:first-child {
    margin-left: 1.7%;
}

.top-bar img {
    width: 100%;
    height: auto;
}

.footer {
    background-color: #ececec;
    color: #fff;
    padding: 40px 0 0;
    font-family: 'Arial', sans-serif;
}

.footer .container {
    display: flex;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
}

.footer-logo {
    flex: 1;
    text-align: center;
    margin-bottom: 20px;
}

.footer-logo img {
    width: 100%;
    height: auto;
}

.footer-logo h2 {
    color: #fff;
    font-size: 24px;
    margin: 10px 0;
}

.footer-logo p {
    font-size: 9px;
    color: #4f4f4f;
    text-align: center;
    display: contents;
}

.footer-links {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer-links nav ul {
    list-style: none;
    padding: 0;
    display: block;
    justify-content: center;
    margin-bottom: 20px;
}

.footer-links nav ul li {
    margin: 15px 0;
    display: block;
    overflow: hidden;
    width: 100%;
    font-size: 13px;
}

.footer-links nav ul li a {
    color: #000;
    text-decoration: none;
}

.footer-links nav ul li a:hover {
    text-decoration: underline;
}

.contact-button {
    background-color: #ffcc00;
    color: #1c1e26;
    padding: 10px 20px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
}

.footer-contact {
    flex: 1;
    margin-bottom: 20px;
    margin-right: 20px;
}

.footer-contact h3 {
    color: #333333;
    font-size: 18px;
    margin-bottom: 15px;
    font-weight: bold;
}

.footer-contact p, .footer-contact a {
    color: #5e5e5e;
    text-decoration: none;
}

.footer-contact p, .footer-contact a:hover {
    text-decoration: underline;
}

.footer-contact li {
    font-size: 13px;
    margin-bottom: 10px;
}

.footer-topics {
    flex: 1;
}

.footer-topics h3 {
    color: #333333;
    font-size: 18px;
    margin-bottom: 15px;
    font-weight: bold;
}

.footer-topics ul {
    list-style: none;
    padding: 0;
}

.footer-topics ul li {
    font-size: 13px;
    margin-bottom: 10px;
}

.footer-topics ul li a {
    color: #5e5e5e;
    text-decoration: none;
}

.footer-topics ul li a:hover {
    text-decoration: underline;
}

.footer-bottom {
    text-align: center;
    padding: 20px 0;
    background-color: #181a21;
    border-top: 1px solid #333;
    margin-top: 30px;
}

.footer-bottom p {
    margin: 0;
    font-size: 14px;
    color: #a0a0a0;
}

.footer-terms {
    display: none;
}

.footer-terms a {
    color: #a0a0a0;
    text-decoration: none;
    margin: 0 10px;
}

.most-popular-container {
    width: 100%;
    padding: 20px;
    box-sizing: border-box;
    position: relative;
}

.section-title {
    font-size: 36px;
    font-weight: bold;
    margin-bottom: 20px;
    text-align: left;
}

.most-popular-grid {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 20px;
}

.popular-post {
    background: #fff;
    border: none;
    border-radius: 8px;
    overflow: hidden;
    width: calc(25% - 15px);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.popular-post:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.post-thumbnail img {
    width: 100%;
    height: 185px;
    display: block;
	margin: 0;
}

.post-title {
    font-size: 16px;
    font-weight: none;
    margin: 10px;
    color: #333;
    text-align: left;
    line-height: 1.4em;
}

.post-title a {
    text-decoration: none;
    color: inherit;
}

.more-articles {
    position: absolute;
    top: 30px;
    right: 30px;
}

.more-articles-btn {
    font-size: 14px;
    padding: 10px 20px;
    border: 2px solid #868686;
    border-radius: 5px;
    text-decoration: none;
    color: #626262;
    transition: background 0.3s ease;
}

.more-articles-btn:hover {
    background: #000;
    color: #fff;
}

.must-list {
    overflow: hidden;
    width: 100%;
    margin: 0 auto;
    border-top: 1px solid #ddd;
    padding-top: 30px;
    margin-top: 50px;
}


.card-container {
    display: flex;
    gap: 20px;
}

.card {
    position: relative;
    width: 430px;
    border-radius: 15px;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid #ddd;
}

.card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}

.card img {
    width: 100%;
    height: auto;
    display: block;
}

.card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 240px 20px 60px;
    color: #fff;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #3c3c3c);
    text-shadow: 0 2px 4px rgb(56 56 56 / 50%);
}

.card-content h2 {
    font-size: 32px;
    font-weight: bold;
}

.card-content p {
    font-size: 14px;
    margin-top: 5px;
}

.page-template {
    width: 97%;
    margin: 130px auto 0;
    overflow: hidden;
}

.single-tag {
    border: 1px solid #ddd;
    padding: 15px 20px;
    font-size: 12px;
    margin-top: 5px;
    overflow: hidden;
    display: inline-block;
    background: #f4f4f4;
}

.tags a {
    text-decoration: none;
    background: #ddd;
    padding: 5px 10px;
    margin-right: 5px;
    border-radius: 3px;
    margin-;: unset;
    font-size: 12px;
    margin-left: 10px;
}



@keyframes ChangeImage {
    0% {
        opacity: 0;
    }

    10% {
        opacity: 1;
    }

    20% {
        opacity: 1;
    }

    30% {
        opacity: 0;
    }

    100% {
        opacity: 0;
    }
}

.myChangeImage img:nth-of-type(1) {
    animation-delay: 0s;
}

.myChangeImage img:nth-of-type(2) {
    animation-delay: 2s;
}

.myChangeImage img:nth-of-type(3) {
    animation-delay: 4s;
}

.myChangeImage img:nth-of-type(4) {
    animation-delay: 6s;
}

.myChangeImage img:nth-of-type(5) {
    animation-delay: 8s;
}

.fixed-cat {
    position: relative;
}

.notpage {
	width: 98%;
    margin: 170px auto 20px;
}

.notpage img {
    width: 100%;
    height: auto;
}

.notpage h1 {
    font-size: 21px;
    margin: 20px 0;
    font-weight: bold;
}

.notpage h2 {
    margin: 0;
}

.notpage p {
    margin: 0;
}

.unique-profile-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 10px;
    border: 1px solid #e0e0e0;
    max-width: 800px;
    margin: 20px auto;
    position: relative;
}

.unique-profile-box {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
}

.unique-profile-pic img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin-right: 20px;
}

.unique-profile-details {
    position: relative;
    flex-grow: 1;
}

.unique-profile-details h2 {
    font-size: 24px;
    margin-bottom: 5px;
    margin-top: 10px;
    font-weight: bold;
}

.unique-profile-details h3 {
    font-size: 15px;
    color: #666;
    margin-bottom: 10px;
    margin-top: 10px;
}

.unique-profile-details p {
    font-size: 13px;
    color: #333;
    line-height: 1.6;
    margin-bottom: 20px;
}

.unique-social-list {
    display: flex;
    padding: 0;
    list-style: none;
}

.unique-social-item {
    margin-right: 10px;
    margin-top: 0;
    margin-bottom: 0;
}

.unique-social-item img {
    width: 30px;
    height: 30px;
    border-radius: 5px;
    margin: 0;
}

.unique-read-more {
    position: absolute;
    top: 5px;
    right: 0;
    padding: 15px 20px;
    border: 1px solid #939393;
    text-decoration: none;
    border-radius: 4px;
    font-size: 12px;
}

.unique-read-more:hover {
    background-color: #A2A2A2;
    transition: all .3s;
}

.custom-main-wrapper {
    padding: 0;
    max-width: 100%;
    margin: 0 auto;
}

.custom-category-section {
    margin-bottom: 20px;
    position: relative;
}

.custom-category-header {
  padding: 0px;
}

.custom-category-header h2 {
  font-size: 16px;
  font-weight: 700;
  color: #3b2a1a;
  margin: 0px;
  line-height: 1.35;
  position: relative;
  padding-bottom: 10px;
}


.custom-category-header h2::after {
  content: "";
  display: block;
  width: 80px;
  height: 3px;
  background-color: #c9a96a;
  border-radius: 999px;
  margin-top: 10px;
}

.custom-category-header .custom-see-all {
    color: #007bff;
    text-decoration: none;
}

.custom-scroll-area {
    display: flex;
    gap: 20px;
    overflow-x: scroll;
    padding-bottom: 10px;
}

.custom-large-card {
    width: 49%;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    flex: 0 0 auto;
}

.custom-large-card img {
    width: 100%;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
	margin: 0;
}

.custom-large-card-content {
    padding: 15px;
}

.custom-large-card-content h3 {
    font-size: 18px;
    margin-bottom: 5px;
}

.custom-large-card-content p {
    font-size: 14px;
    margin-bottom: 5px;
}

.custom-large-card-content .custom-rating {
    font-size: 14px;
    color: #ffa500;
    margin-bottom: 5px;
}

.custom-large-card-content strong {
    color: #333;
    font-weight: bold;
    font-size: 16px;
}

.custom-small-card {
    width: 340px;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    flex: 0 0 auto;
    position: relative;
}

.custom-small-card img {
    width: 100%;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
	margin: 0;
}

.custom-small-card-content {
    padding: 15px;
}

.custom-small-card-content h3 {
    font-size: 16px;
    margin-bottom: 5px;
}

.custom-small-card-content p {
    font-size: 12px;
    margin-bottom: 5px;
    color: #5b5b5b;
}

.custom-small-card-content .custom-rating {
    font-size: 14px;
    color: #ffa500;
    margin-bottom: 5px;
}

.custom-small-card-content strong {
    color: #333;
    font-weight: bold;
    font-size: 11px;
}

.custom-small-card a {
    color: #000;
    text-decoration: none;
}

.custom-large-card a {
    color: #000;
    text-decoration: none;
}

.custom-rank-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    background-color: gold;
    color: white;
    font-size: 16px;
    padding: 5px 10px;
    border-radius: 5px;
}

@media (max-width: 768px) {
    .custom-large-card {
        width: 90%;
    }

    .custom-small-card {
        width: 80%;
    }

    .custom-scroll-area {
        gap: 10px;
    }
}

.custom-large-card:hover, .custom-small-card:hover {
    background-color: #fff4e0;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.custom-large-card, .custom-small-card {
    transition: background-color 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    background-color: white;
}

.custom-small-card-p {
    font-size: 12px;
    text-align: right;
}

.content-wrapper, .custom-content-wrapper {
  display: flex;
  flex-direction: row;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  align-items: center;
  line-height: 1.6em;
  font-size: 18px;
}

.image-section, .custom-image-section {
    flex: 1;
    margin-right: 20px;
}

.image-section img, .custom-image-section img {
    width: 100%;
    height: auto;
    border-radius: 10px;
}

.text-section, .custom-text-section {
    flex: 1;
    margin-left: 1%;
    margin-right: 2%;
}

.text-section h2, .custom-text-section h2 {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 15px;
    line-height: 1.5em;
}

.text-section p, .custom-text-section p {
    font-size: 16px;
    line-height: 1.4em;
    margin-bottom: 15px;
}

.text-section a, .custom-text-section a {
    color: #007bff;
    text-decoration: none;
}

.text-section a:hover, .custom-text-section a:hover {
    text-decoration: underline;
}

.custom-content-wrapper {
    flex-direction: row-reverse;
}

.tag-number {
    margin: 0;
    font-size: 12px;
    margin-bottom: 20px;
    border-bottom: 2.5px solid #454545;
    display: inline-block;
}

.pr1 {
    width: 96%;
    margin: 0 auto;
}

.pr2 {
    width: 96%;
    margin: 0 auto;
}



.kotei-container {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #f9f9f9;
    padding: 20px;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1000;
    opacity: 1;
    transition: opacity 0.5s ease;
}

.kotei-content {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
    max-width: 1070px;
    margin: 0 auto;
}

.kotei-content p {
    font-size: 12px;
    color: #333;
    margin-right: 0;
    font-weight: 600;
}

.kotei-buttons {
    display: flex;
    gap: 10px;
    font-size: 12px;
}

.kotei-button-outline {
    padding: 15px 20px;
    border: 1px solid #333;
    background-color: transparent;
    color: #333;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.kotei-button-outline:hover {
    background-color: #f1f1f1;
}

.kotei-button-solid {
    padding: 15px 20px;
    background-color: #383838;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    transition: background-color 0.3s ease;
}

.kotei-button-solid:hover {
    background-color: #1f1f1f;
}

.kotei-content p br {
    display: none;
}

.kotei-container.hidden {
    opacity: 0;
    transition: opacity 0.5s ease;
}

.kotei-container.visible {
    opacity: 1;
    transition: opacity 0.5s ease;
}

.custom-card-container {
    display: flex;
    overflow-x: scroll;
    padding: 20px;
    margin-bottom: 30px;
}

.custom-card {
    width: 540px;
    background-color: white;
    margin-right: 20px;
    flex-shrink: 0;
    border: 1px solid #ddd;
    position: relative;
}

.custom-card-image-wrapper {
    float: left;
    width: 48%;
}

.custom-card-image-wrapper img {
    width: 100%;
    height: auto;
    border-radius: 0;
}

.custom-card-tag {
	position: absolute;
    bottom: 65px;
    left: 10px;
    background-color: #1c2a52;
    color: white;
    padding: 5px 10px;
    border-radius: 7px;
    font-size: 12px;
    border: 1px solid #101729;
    position: absolute;
}

.custom-card-content {
    float: right;
    width: 48%;
    margin-right: 5px;
}

.custom-card-content h3 {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 5px;
    line-height: 1.3em;
    margin-top: 10px;
}

.custom-card-content .custom-card-date {
    font-size: 11px;
    color: #777;
    margin: 5px 0px;
}

.custom-card-content .custom-card-button {
    background-color: #523d35;
    color: white;
    padding: 8px 16px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 14px;
    display: block;
    width: 90%;
    margin: 20px auto 0 auto;
}

.custom-card-content .custom-card-button:hover {
    background-color: #3e2d27;
}

.custom-card-text {
    padding: 20px;
    background-color: #f0f0f0;
    font-size: 14px;
    color: #555;
    clear: both;
    line-height: 1.3em;
}

.index-tag {
    font-size: 18px;
    font-weight: normal;
}

.post-count {
    display: block;
    font-size: 13px;
    margin-top: 10px;
    text-decoration: underline;
}

.page-template1 {
    margin-top: 30px;
}

.page-template2 {
  width: 98%;
  margin: 140px auto 0 auto;
}

.page-template3 {
  width: 98%;
  margin: 30px auto 0 auto;
}

.category-main{
	width: 98%;
	margin: 0 auto;
}

.noblog {
    font-size: 14px;
}

.hotel-rev-p {
    font-size: 11px !important;
    margin-top: 10px;
    line-height: 1.3;
    background: #fff6d9;
    padding: 2%;
    border: 1px solid #e8e2a0;
    border-radius: 3px;
}

#cf7-area{
	width: 45%;
	float: left;
}

#cf7-area p{
	font-size: 16px;
	line-height: 1.5em;
	margin-bottom: 30px;
}

blockquote {
    position: relative;
    padding: 20px 45px 10px 60px;
    box-sizing: border-box;
    font-style: italic;
    background: #efefef;
    color: #555;
    width: 70%;
    margin: 50px auto;
}

blockquote:before{
    display: inline-block;
    position: absolute;
    top: 18px;
    left: 15px;
    content: "\f10d";
    font-family: FontAwesome;
    color: #cfcfcf;
    font-size: 30px;
    line-height: 1;
    font-weight: 900;
}

blockquote p {
    padding: 0;
    margin: 10px 0;
    line-height: 1.7;
}

blockquote cite {
    display: block;
    text-align: right;
    color: #888888;
    font-size: 0.9em;
}

#toc_container {
	background: #fff;
	border: 1px solid #ccc;
	box-sizing: border-box;
	display: block !important;
	line-height: 1.4;
	margin: 6em auto 0;
	padding: 2em 2em 1em;
	position: relative;
	width: 50% !important;
}

.toc_title {
	background-color: #fff;
	padding: 0 1em;
	position: absolute;
	text-align: center;
	top: -.8em;
}







:root {
  --bg: #ffffff;
  --text: #111827;
  --muted: #6b7280;
  --line: #e5e7eb;
  --head-bg: #f3f4f6;
  --row-alt: #fafafa;
  --scroll-thumb: #cfcfcf;
}
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0b0f14;
    --text: #e5e7eb;
    --muted: #a5acb8;
    --line: #1f2937;
    --head-bg: #1f2937;
    --row-alt: rgba(255,255,255,0.05);
    --scroll-thumb: #555;
  }
}

.terp-block {
  background: var(--bg);
  color: var(--text);
  padding: 20px;
}
.terp-block h2 {
  font-size: clamp(1.25rem, 1.1rem + 1vw, 1.7rem);
  line-height: 1.3;
  margin: 0 0 .5rem;
}

.terp-scroll {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid var(--line);
  border-radius: 12px;
  -webkit-overflow-scrolling: touch;
}


.terp-scroll::-webkit-scrollbar { height: 8px; }
.terp-scroll::-webkit-scrollbar-thumb {
  background: var(--scroll-thumb);
  border-radius: 4px;
}

.terp-table {
  width: 100%;
  min-width: 950px;
  border-collapse: collapse;
  font-size: .95rem;
  text-align: center;
  table-layout: auto;
}

.terp-table th,
.terp-table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  vertical-align: middle;
  word-break: keep-all;
}

.terp-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--head-bg);
  color: var(--text);
  font-weight: 700;
  white-space: nowrap;
}



.terp-table tbody tr:nth-child(even) {
  background: var(--row-alt);
}

.terp-table th span {
  display: block;
  color: var(--muted);
  font-weight: 400;
  font-size: .85em;
}

.terp-note {
  margin-top: 10px;
  font-size: .85rem;
  color: var(--muted);
}


@media (max-width: 1024px) {
  .terp-table { min-width: 860px; }
}
@media (max-width: 768px) {
  .terp-table { min-width: 720px; font-size: .92rem; }
  .terp-table th, .terp-table td { padding: 10px 12px; }
}

.terp-figure{
	overflow: scroll;
}




.ref-box {
  display: block !important;
  border: 2px solid #e5e5e5;
  border-radius: 22px;
  padding: 32px 1.4rem 24px;
  background: #fafafa;
  color: #111;
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  max-width: 680px;
  position: relative;
  margin: 48px auto;
  box-shadow: 0 8px 28px rgba(0,0,0,0.04);
  overflow: visible;
  transition: box-shadow .25s ease, transform .25s ease;
}

.ref-box:hover {
  box-shadow: 0 12px 32px rgba(0,0,0,0.08);
  transform: translateY(-2px);
}


.ref-label {
  position: absolute;
  top: 0;
  left: 1.4rem;
  transform: translateY(-50%);
  background: #111;
  color: #fff;
  padding: 0.35em 1em;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  white-space: nowrap;
  box-shadow: 0 2px 6px rgba(0,0,0,0.12);
}


.ref-link {
  display: flex !important;
  flex-direction: row;
  align-items: center;
  gap: 1.2rem;
  text-decoration: none;
  color: inherit;
}


.ref-thumb {
  width: 82px !important;
  height: 82px !important;
  border-radius: 12px;
  object-fit: cover !important;
  margin: 0 !important;
  flex-shrink: 0;
  box-shadow: 0 4px 14px rgba(0,0,0,0.08);
}


.ref-title {
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.45;
  color: #000;
  transition: color .2s ease;
}

.ref-title:hover {
  color: #0071e3;
  text-decoration: underline;
}



@media (max-width: 768px) {

  .ref-box {
    border-radius: 18px;
    padding: 28px 1.2rem 20px;
    margin: 40px auto;
  }

  .ref-label {
    left: 1.2rem;
    font-size: 0.72rem;
  }

  .ref-link {
    display: flex !important;
    flex-direction: row;
    gap: 1rem;
  }

  .ref-thumb {
    width: 70px !important;
    height: 70px !important;
    border-radius: 10px;
    object-fit: cover !important;
  }

  .ref-title {
    font-size: 0.95rem;
    line-height: 1.4;
  }
}


.list-8 {
  position: relative;
  width: min(75%, 760px);
  margin: 40px auto;
  padding: 1.75rem 1.75rem 1.75rem 2.75rem;
  background: #ffffff;
  border-radius: 18px;
  border: 1px solid #e5e5e5;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.06);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
}


.list-8::before {
  content: "";
  position: absolute;
  inset: 14px auto 14px 0;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, #00c6ff, #0072ff);
}


.list-8 > div {
  position: absolute;
  top: -0.9em;
  left: 1.75rem;
  padding: 0.25em 0.9em;
  background-color: #ffffff;
  border-radius: 999px;
  border: 1px solid #e5e5e5;
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
  color: #6e6e73;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}


.list-8 ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.list-8 li {
  position: relative;
  padding: 0.3em 0 0.3em 1.2em;
  color: #1d1d1f;
  line-height: 1.6;
}


.list-8 li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.9em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #0072ff;
  box-shadow: 0 0 0 4px rgba(0,114,255,0.12);
}


.list-8 li:hover {
  color: #000;
}

.list-8 li:hover::before {
  transform: scale(1.1);
}

/* チェックリストは上下の見た目の余白を均等に保つ。 */
.list-8 { padding-top: 1.75rem; padding-bottom: 1.75rem; }
.list-8 ul { margin-bottom: 0 !important; }
.list-8 li:last-child { margin-bottom: 0 !important; padding-bottom: 0.3em; }

.list-8-strong{
    background:none !important;
}


.ref-box p{
	margin: 0;
}


.contact-form-container {
    max-width: 80%;
    margin: 40px auto;
    padding: 40px;
    background-color: #f9f9f9;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}


.contact-form-container label {
    display: block;
    font-weight: bold;
    margin-bottom: 10px;
    color: #333;
    font-size: 14px;
}


.contact-form-container label:has([required])::after {
    content: " *";
    color: red;
}


.contact-form-container input,
.contact-form-container textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
}


.contact-form-container input:focus,
.contact-form-container textarea:focus {
    border-color: #007bff;
    outline: none;
    box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
}


.contact-form-container textarea {
    height: 120px;
    resize: vertical;
}


.contact-form-container input[type="submit"] {
    background-color: #007bff;
    color: white;
    font-size: 18px;
    padding: 10px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
    width: 60%;
    margin: 0 auto;
    display: block;
}


.contact-form-container input[type="submit"]:hover {
    background-color: #0056b3;
}


.wpcf7-not-valid-tip {
    color: red;
    font-size: 14px;
    margin-top: -10px;
    margin-bottom: 10px;
}


.wpcf7-mail-sent-ok {
    background-color: #d4edda;
    color: #155724;
    border-left: 5px solid #28a745;
    padding: 10px;
    margin-bottom: 10px;
}


.wpcf7-validation-errors {
    background-color: #f8d7da;
    color: #721c24;
    border-left: 5px solid #dc3545;
    padding: 10px;
    margin-bottom: 10px;
}


@media screen and (max-width: 480px) {
    .contact-form-container {
        padding: 15px;
		max-width: 98%;
    }
    .contact-form-container input,
    .contact-form-container textarea {
        font-size: 14px;
    }
    .contact-form-container input[type="submit"] {
        font-size: 16px;
        padding: 8px;
    }
}


form-container textarea {
    width: 100%;
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    font-size: 16px;
}

.item-group p{
	width: 50%;
	float: left;
}



#item-wrapper { margin: 0 0 24px; }


#item-wrapper .item-group{
  display:grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  grid-template-areas:
    "l1 l2"
    "f1 f2";
  gap: 8px 24px;
  align-items: center;
}

#item-wrapper .item-group > label:nth-of-type(1){ grid-area: l1; }
#item-wrapper .item-group > label:nth-of-type(2){ grid-area: l2; }
#item-wrapper .item-group > select[name="item[]"]{ grid-area:f1; width:100%!important; }


#item-wrapper .item-group .remove-item-btn{
  grid-area: f1 / 1 / f1 / -1;
  justify-self: start;
  margin-top: 6px;
}


@media (max-width:640px){
  #item-wrapper .item-group{
    grid-template-columns:1fr;
    grid-template-areas:
      "l1" "f1"
      "l2" "f2";
    gap:8px;
  }
  #item-wrapper .item-group .remove-item-btn{ grid-area:auto; }
}


.wpcf7 form p:empty{ display:none; }


#item-wrapper .item-group{
  display:grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto auto;
  grid-template-areas:
    "l1 l2"
    "f1 f2"
    "rm rm";
  gap: 8px 24px;
  align-items:center;
}


#item-wrapper .item-group > label{margin:0;font-weight:700;line-height:1.2;}
#item-wrapper .item-group > label:nth-of-type(1){ grid-area:l1; }
#item-wrapper .item-group > label:nth-of-type(2){ grid-area:l2; }


#item-wrapper .item-group > select[name="item[]"]{grid-area:f1;width:100%!important;height: 55px;}
#item-wrapper .item-group > input[name="qty[]"]  { grid-area:f2; width:100%!important; }


#item-wrapper .item-group > p{ margin:0; }
#item-wrapper .item-group > p:nth-of-type(1){ grid-area:f1; }
#item-wrapper .item-group > p:nth-of-type(1) select{ width:100%!important; }
#item-wrapper .item-group > p:nth-of-type(2){ grid-area:f2; }
#item-wrapper .item-group > p:nth-of-type(2) input{ width:100%!important; }


#item-wrapper .item-group .remove-item-btn {
    grid-area: rm;
    justify-self: start;
    display: inline-block;
    margin-top: -10px;
    margin-bottom: 20px;
}


@media (max-width:640px){
  #item-wrapper .item-group{
    grid-template-columns:1fr;
    grid-template-rows:auto auto auto auto;
    grid-template-areas:
      "l1" "f1" "l2" "f2" "rm";
    gap:8px;
  }
}


.grecaptcha-badge{
	display: none !important;
}

.selectbox-3 {
  display: inline-flex;
  align-items: center;
  position: relative;
  width: 100%;
  max-width: 420px;
	height: 45px;
}


.selectbox-3::after {
  position: absolute;
  right: 15px;
  width: 10px;
  height: 7px;
  background-color: #535353;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
  pointer-events: none;
}


.selectbox-3 select,
.selectbox-3 .wpcf7-form-control.wpcf7-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  min-width: 230px;
  width: 100%;
  height: 2.8em;
  padding: .4em calc(.8em + 30px) .4em .8em;
  border: 1px solid #d0d0d0;
  border-radius: 3px;
  background-color: #fff;
  color: #333;
  font-size: 1em;
  line-height: 1.2;
  cursor: pointer;
}


.selectbox-3 .select-reset {
  background-image: none !important;
  box-shadow: none !important;
}

.line_btn {
  padding: 10px 0;
  width: 80%;
  line-height: 60px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background-color: #06C755;
  margin: 0 auto;
  display: block;
}
.line_btn a {
  display: inline-block;
  width: 100%;
  line-height: 60px;
  text-align: center;
  text-decoration: none;
  color: #fff;
  background-color: #06C755;
  position: relative;
}
.line_btn a::before {
  border-right: 2px solid #fff;
  border-top: 2px solid #fff;
  bottom: 0;
  content: "";
  height: 7px;
  width: 7px;
  margin: auto;
  position: absolute;
  right: 30px;
  top: 0;
  transform: rotate(45deg);
  transition: right .3s;
}
.line_btn a:hover::before {
  right: 25px;
}






.custom-card-button a{
	color: #fff;
	text-decoration: none;
}


.single-new-ul {
  position: relative;
  width: min(78%, 800px);
  margin: 48px auto;
  padding: 2rem 2rem 2rem 3rem;
  background: #ffffff;
  border-radius: 20px;
  border: 1px solid #d0d0d0;
  box-shadow: 0 22px 45px rgba(0,0,0,0.08);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
}


.single-new-ul::before {
  content: "";
  position: absolute;
  inset: 16px auto 16px 0;
  width: 6px;
  border-radius: 999px;
  background: linear-gradient(180deg, #111, #555);
}


.single-new-ul > div {
  position: absolute;
  top: -1.1em;
  left: 2rem;
  padding: 0.35em 1.1em;
  background-color: #111;
  color: #fff;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  box-shadow: 0 10px 30px rgba(0,0,0,0.18);
}


.single-new-ul ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.single-new-ul li {
  position: relative;
  padding: 0.45em 0 0.45em 1.4em;
  color: #1d1d1f;
  line-height: 1.7;
  font-weight: 500;
}


.single-new-ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.9em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #111;
  box-shadow: 0 0 0 5px rgba(0,0,0,0.12);
}


.single-new-ul li:hover {
  color: #000;
}

.single-new-ul li:hover::before {
  transform: scale(1.12);
}

@media (max-width: 600px) {
  .single-new-ul li {
    font-size: 0.8em;
    padding: 0.4em 0 0.4em 1.3em;
    line-height: 1.65;
  }
  .single-new-ul li::before {
    width: 6px;
    height: 6px;
    top: 0.85em;
  }

    .single-new-ul {
        width: 80% !important;
        padding: 3% 7% !important;
        margin: 3% auto !important;
        font-size: 0.95rem !important;
    }

}


.product-card{
  font-family: "Inter", "Noto Sans JP", sans-serif;
  color: var(--text);
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow);
  padding: 20px;
  display: grid;
  gap: 16px;
  max-width: 400px;
  margin: 24px auto;
}

.product-media{
  margin: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--surface);
}
.product-media img{
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  margin: 0 auto;
}

.product-body{
  display: grid;
  gap: 14px;
}

.product-title{
  margin: 0 !important;
  font-weight: 600;
  font-size: 19px !important;
  line-height: 1.3em !important;
  letter-spacing: .01em;
}

.product-price{
  margin: 0 !important;
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.price{
  font-size: clamp(20px, 2.6vw, 24px);
  font-weight: 600;
}
.price-note{
  font-size: 13px;
  color: var(--muted);
}


.product-btn {
  display: inline-block;
  width: 180px;
  text-align: center;
  padding: 12px 0;
  background: #d76464;
  border-radius: 5px;
  text-decoration: none;
  font-weight: 500;
  transition: background 0.2s ease;
  color: #fff;
  font-weight: bold;
}

.product-btn:hover {
  background: var(--btn-hover);
}



.dispensary-section {
  border: 1px solid #e6dec1;
  border-radius: 12px;
  padding: 32px 24px;
  margin: 40px auto;
  max-width: 960px;
  background-color: #fffcf3;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}

.dispensary-section1 {
  border: 1px solid #e6dec1;
  border-radius: 12px;
  padding: 32px 24px;
  margin: 0px auto 40px;
  max-width: 960px;
  background-color: #fffcf3;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}


.dispensary-title {
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 28px;
  border-bottom: 2px solid #e6dec1;
  padding-bottom: 10px;
  color: #111827;
  letter-spacing: 0.03em;
}


.dispensary-section {
  background: #fefaf0;
  border: 1px solid #f3e6c2;
  border-radius: 24px;
  padding: 40px 28px;
  text-align: center;
}

.dispensary-title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 32px;
}


.area-buttons {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1000px;
  margin: 0 auto;
}


.area-buttons a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0;
  border-radius: 20px;
  background-color: #d7b779;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 18px;
  transition: 0.2s ease;
}

.area-buttons a:hover {
  opacity: 0.85;
  transform: translateY(1px);
}


.area-buttons .disabled {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0;
  border-radius: 20px;
  background-color: #e5e5e5;
  color: #777;
  font-size: 18px;
  font-weight: 600;
  opacity: 0.9;
  cursor: default;
}


@media (max-width: 640px) {
  .area-buttons {
    grid-template-columns: repeat(2, 1fr);
  }
}

.single-map-right-name-1 {
    color: #6f6f6f;
    margin-bottom: 2% !important;
    font-size: 0.6em !important;
}

.single-map-right-name {
    margin: 0;
    font-size: 21px !important;
    margin-bottom: 0 !important;
    font-weight: bold;
}







.relocation-choices-label {
    font-size: 16px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #191919;
    margin-bottom: 16px;
    font-weight: bold;
}




















.relocation-choice-title {
  font-size: 16px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 4px;
}



@media (min-width: 768px) {



  .relocation-choice-title {
    font-size: 17px;
  }

  }


@media (min-width: 1024px) {


  .relocation-choice-title {
    font-size: 16px;
  }

  }

.moving-wrapper{
	margin: 0;
}

.moving-wrapper p{
	margin: 20px 0;
	font-size: 18px;
	line-height: 1.5em;
}


.moving-wrapper strong {
    background: linear-gradient(transparent 60%, #f5bf25 60%);
    font-weight: bold;
    font-size: 18px;
}

.moving-wrapper h2 {
    position: relative;
    padding: 1em 2em;
    text-align: center;
    font-size: 28px;
    margin: 60px 0;
    font-weight: bold;
}

.moving-wrapper h2:before, .moving-wrapper h2:after {
    position: absolute;
    content: '';
}

.moving-wrapper h2:after {
    top: 0;
    left: 0;
    width: 50px;
    height: 50px;
    border-top: 2px solid #000;
    border-left: 2px solid #000;
}

.moving-wrapper h2:before {
    right: 0;
    bottom: 0;
    width: 50px;
    height: 50px;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
}

.moving-wrapper h3 {
    border-bottom: 3px dashed #000;
    display: inline-block;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 30px;
    padding-bottom: 10px;
    margin-top: 40px;
}



:root{
  --bg: #FAFAFA;
  --surface: #FFFFFF;
  --ink: #0A0A0A;
  --muted: #6B7280;
  --line: #E5E7EB;
  --accent: #007AFF;
  --cta: #34C759;

  --radius-lg: 16px;
  --radius-sm: 10px;
  --shadow-1: 0 1px 2px rgba(0,0,0,.06);
  --shadow-2: 0 6px 24px rgba(0,0,0,.08);
}


.section--soft {
  background: var(--bg);
  padding: clamp(24px, 5vw, 56px) 0;
  border: 1px solid #ddd;
  border-radius: 3px;
}


.split {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: clamp(24px, 4vw, 40px);
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 24px);
}
@media (max-width: 900px){
  .split { grid-template-columns: 1fr; }
}






.lead {
  font-size: clamp(16px, 2vw, 18px);
  line-height: 1.75;
  color: var(--muted);
}





.advisor-avatar {
  width: 64px; height: 64px;
  border-radius: 50%;
  object-fit: cover;
  border: 1px solid var(--line);
}





.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 12px;
  padding: 12px 16px;
  font-weight: 700;
  font-size: 15px;
  color: #fff;
  background: var(--cta);
  box-shadow: none;
  text-decoration: none;
  transition: transform .06s ease, background .2s ease, box-shadow .2s ease;
}
.btn:hover { background: #2FB653; }
.btn:active { transform: translateY(1px); }
.btn--block {width: 90%;}


@media (min-width: 901px){
  }




.visa-section {
  max-width: 1100px;
  margin: 60px auto;
  padding: 32px 24px 40px;
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
  border: 1px solid rgba(148, 163, 184, 0.25);
}




.visa-title {
  font-size: 22px;
  font-weight: 700;
  color: #111827;
  margin-bottom: 12px;
}









.visa-points {
  list-style: none;
  padding: 0;
  margin: 0;
}

.visa-points li {
  position: relative;
  padding-left: 16px;
  font-size: 12px;
  line-height: 1.6;
  color: #6b7280;
  margin-top: 4px;
}

.visa-points li::before {
  content: "繝ｻ";
  position: absolute;
  left: 4px;
  top: 0;
}





.visa-profile-label {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  font-size: 10px;
  font-weight: 600;
  border-radius: 999px;
  background: #e5f4ff;
  color: #0369a1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 8px;
}









.advisor-label {
  display: inline-block;
  padding: 4px 12px;
  font-size: 11px !important;
  font-weight: 600;
  background: #e8efff;
  color: #334155;
  border-radius: 999px;
  letter-spacing: 0.1em;
  margin-bottom: 18px;
}


.advisor-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.advisor-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  overflow: hidden;
  background: #eee;
  flex-shrink: 0;
}

.advisor-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}






.advisor-button-wrap {
  margin-top: 20px;
  text-align: center;
}

.advisor-button {
  display: inline-block;
  width: 100%;
  max-width: 360px;
  padding: 14px 0;
  background: #22c55e;
  color: #fff;
  font-weight: 700;
  border-radius: 999px;
  text-decoration: none;
  font-size: 16px;
  transition: background 0.2s;
}

.advisor-button:hover {
  background: #16a34a;
}


@media (min-width: 900px) {




  .advisor-button {
    max-width: 300px;
  }
}

.header-no{
	margin-top: 170px;
}


.hotel-table-wrapper {
  width: 100%;
  overflow-x: auto;
	margin-bottom: 40px;
}

.hotel-compare-table {
  width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 14px;
}

.hotel-compare-table th,
.hotel-compare-table td {
  padding: 16px 12px;
  border-bottom: 1px solid #eee;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}

.hotel-compare-table th {
  background: #f7f7f7;
  font-weight: 700;
}


.hotel-compare-table td .hotel-table-buttons {
  display: flex;
  gap: 8px;
  align-items: center;
}


.hotel-btn-reserve {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 18px;
  border-radius: 4px;
  font-size: 14px;
  text-decoration: none;
  color: #fff;
  background-color: #00a651;
  border: none;
  white-space: nowrap;
  transition: opacity 0.2s ease;
}

.hotel-btn-reserve:hover {
  opacity: 0.85;
}

.hotel-btn-detail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 18px;
  border-radius: 4px;
  font-size: 14px;
  text-decoration: none;
  color: #fff;
  background-color: #135d9d;
  border: 1px solid #3c549b;
  white-space: nowrap;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.hotel-btn-detail:hover {
  background-color: #d4d4d4;
  border-color: #bbb;
}


@media (max-width: 768px) {
  .hotel-compare-table th,
  .hotel-compare-table td {
    padding: 12px 8px;
    font-size: 13px;
  }
}



.cv-link-section {
  width: 97%;
  margin: 30px auto 50px;
  padding: 0 20px;
}

.cv-link-inner {
  width: 100%;
}

.cv-link-header h2 {
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 6px;
}

.cv-link-header p {
  font-size: 14px;
  color: #555;
  margin-bottom: 24px;
  line-height: 1.8;
}



.cv-link-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}



.cv-link-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #eee;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
  transition: box-shadow .25s ease, transform .25s ease;
}

.cv-link-card:hover {
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.12);
  transform: translateY(-3px);
}



.cv-link-thumb img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
  margin: 0 0 10px;
}



.cv-link-body {
  padding: 12px 14px 16px;
}


.cv-link-tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 999px;
  margin-bottom: 6px;
}


.cv-hotel { background: #e8f1ff; color: #1e4c9a; }
.cv-line  { background: #d8ffe3; color: #0b8a36; }
.cv-shop  { background: #f2e1ff; color: #6530a4; }



.cv-link-title {
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  color: #111;
  text-decoration: none;
  margin-bottom: 6px;
}

.cv-link-title:hover {
  color: #c08a2f;
}



.cv-link-text {
  margin: 5px 0 10px 0;
  font-size: 14px;
  line-height: 1.6;
  color: #555;
}



.cv-link-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid #c8a96b;
  background: #f6eee0;
  font-size: 13px;
  font-weight: 600;
  color: #2c2110;
  text-decoration: none;
  transition: all .2s ease;
  margin-top: 8px;
}

.cv-link-card:hover .cv-link-btn {
  background: #c8a96b;
  color: #fff;
  border-color: #c8a96b;
  transform: translateY(-1px);
}



@media (max-width: 1024px) {
  .cv-link-section {
    margin: 64px auto 48px;
  }
  .cv-link-header h2 {
    font-size: 24px;
  }
  .cv-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}



@media (max-width: 640px) {
  .cv-link-section {
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
  }

  .cv-link-header h2 {
    font-size: 20px;
    padding: 0 16px;
  }

  .cv-link-header p {
    font-size: 13px;
    line-height: 1.7;
    padding: 0 16px;
  }


  .cv-link-grid {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 12px;
    padding: 8px 16px 16px;

    scrollbar-width: none;
    -ms-overflow-style: none;
  }

  .cv-link-grid::-webkit-scrollbar {
    display: none;
  }


  .cv-link-card {
    flex: 0 0 72vw;
    max-width: 280px;
    scroll-snap-align: start;
  }

  .cv-link-body {
    padding: 0px 12px 14px;
  }

  .cv-link-title {
        font-size: 1em;
        line-height: 1.2;
    }

  .cv-link-text  {
        font-size: 0.8em;
        line-height: 1.2;
        color: #6c6c6c;
    }

  .cv-link-btn {
    width: 90%;
    justify-content: center;
    font-size: 13px;
    padding: 15px 14px;
  }

.cv-link-tag {
    display: inline-block;
    font-size: .85em;
    font-weight: 600;
    padding: 2% 5%;
    border-radius: 999px;
    margin-bottom: 6px;
}


  .cv-link-scroll-hint {
    display: block;
    text-align: center;
    font-size: 12px;
    color: #aaa;
    margin-top: 8px;
    padding-bottom: 4px;
    letter-spacing: 0.05em;
  }

  .area-buttons br {
    display: none;
  }
}


.cv-link-scroll-hint {
  display: none;
}



.disp-section-title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 10px;
  padding-left: 4px;
  color: #2c2110;
}

.top-bar.dispensary-highlight {
    display: flex;
    overflow-x: auto;
    gap: 12px;
    padding: 0 0 10px;
    scroll-snap-type: x mandatory;
    margin-bottom: 3%;
}

.top-bar.dispensary-highlight::-webkit-scrollbar {
  display: none;
}


.top-bar.dispensary-highlight li {
  flex: 0 0 75%;
  max-width: 280px;
  list-style: none;
  scroll-snap-align: start;
}

.top-bar.dispensary-highlight li a {
  display: block;
  text-decoration: none;
  color: #111;
  background: #fff;
  border: 1px solid #e6dbc6;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 3px 10px rgba(0,0,0,0.06);
  transition: .2s ease;
}

.top-bar.dispensary-highlight li a:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 15px rgba(0,0,0,0.1);
}


.top-bar.dispensary-highlight img {
  width: 100%;
  height: 140px;
  object-fit: cover;
	margin: 0;
}


.disp-card-content {
  padding: 12px 14px 16px;
}

.disp-name {
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 4px;
}

.disp-area {
  font-size: 13px;
  color: #666;
  margin-bottom: 10px;
}


.disp-cta {
  display: inline-block;
  padding: 6px 14px;
  background: #f6eee0;
  border-radius: 999px;
  border: 1px solid #c8a96b;
  font-size: 12px;
  font-weight: 600;
  color: #2c2110;
  transition: .2s ease;
}

.top-bar.dispensary-highlight li a:hover .disp-cta {
  background: #c8a96b;
  color: #fff;
  border-color: #c8a96b;
}

.disp-note {
  font-size: 12px;
  color: #8a806f;
  margin: 0 0 10px;
  line-height: 1.4;
}


.disp-section-header {
  margin: 32px 0 16px;
  padding: 0 4px;
}


.disp-section-label {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #b39a6a;
  margin: 0 0 4px;
}


.disp-heading {
  margin: 0;
  padding: 0 0 10px;
  font-size: 20px;
  font-weight: 700;
  color: #2c2110;
  line-height: 1.5;
  border: none;
  position: relative;
}


.disp-heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 80px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, #c8a96b, #e4d7b7);
}


@media (max-width: 768px) {
  .disp-heading {
    font-size: 1em;
  }

    .dispensary-random-p {
        font-size: .8em !important;
        margin-bottom: 2% !important;
        margin-top: 7%;
    }

}


.date .published,
.date .modified {
  margin-right: 4px;
}
.date .tags {
  margin-left: 8px;
}


#gt_float_wrapper{
	position: relative;
	top: 0px !important;
}


.gt_float_switcher .gt-selected .gt-current-lang {
    padding: 10px 15px;
    color: #333;
    font-weight: bold;
    font-size: 12px;
}


.gt_float_switcher img {
    vertical-align: middle;
    display: inline-block;
    width: 23px;
    height: auto;
    margin: 0 5px 0 0;
    border-radius: 3px;
}




.name-box-tt {
  background: #fafafa;
  border-radius: 22px;
  padding: 24px;
  margin: 40px auto;
  border: 1px solid #eaeaea;
  width: 60%;
}


.profile-header-tt {}


.profile-content-tt {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  height: 150px;
}


.profile-image-tt img {
  width: 145px;
  height: 145px;
  border-radius: 50%;
  object-fit: cover;
  margin: 0;
}


.profile-info-tt {
  flex: 1;
  line-height: 1.7;
  color: #333;
}


.profile-info-name-tt {
  font-size: 20px !important;
  margin: 0 0 6px !important;
  font-weight: bold !important;
}


.pro-ul1-tt {
  list-style: none;
  padding: 0;
  display: flex;
  gap: 12px;
  margin-top: 0 !important;
}

.unique-social-item-tt img {
  width: 34px;
  height: 34px;
  padding: 4px;
  border-radius: 8px;
  background: #fff;
  object-fit: contain;
  transition: .2s;
  margin: 0 !important;
}

.unique-social-item-tt img:hover {
  background: #eee;
}

.profile-info-tt p {
  font-size: 12px;
  line-height: 1.4em;
  font-weight: normal;
  margin-bottom: 10px;
}

.profile-info-tt{
	font-size: 16px !important;
	line-height: 1.4em;
	font-weight: bold;
}



@media (min-width: 769px) {

  .scene-accordion .strain-side-title { display: block; }
  .scene-accordion .strain-tags-list {
    max-height: none;
    opacity: 1;
    overflow: visible;
  }
}


@media (max-width: 768px) {


  .scene-accordion .strain-side-title { display: none; }


  .scene-summary{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid #e6d9bf;
    background: #fff;
    color: #7b5e1e;
    font-weight: 800;
    font-size: 15px;
    list-style: none;
    cursor: pointer;
    user-select: none;
  }


  .scene-summary::-webkit-details-marker { display: none; }


  .scene-summary::after{
    content: "▼";
    font-size: 12px;
    opacity: 0.8;
    transition: transform .25s ease;
  }

  .scene-accordion .strain-tags-list{
    margin-top: 12px;
    overflow: hidden;

    max-height: 0;
    opacity: 0;
    transition: max-height .35s ease, opacity .25s ease;
  }}




.strain-layout {
  display: flex;
  gap: 40px;
  max-width: 1180px;
  margin: 60px auto;
  padding: 0 20px;
  align-items: flex-start;
}


.strain-sidebar {
  order: 1;
  flex: 0 0 25%;
  max-width: 30%;
  background: #fff;
  padding: 22px 20px 26px;
  border-radius: 16px;
  border: 1px solid #eee;
  box-shadow: 0 8px 24px rgba(0,0,0,0.05);
  position: relative;
  top: 50px;
  margin-top: 60px;
}


.strain-side-title {
  font-size: 16px;
  font-weight: 700;
  color: #a27a2a;
  margin: 0 0 14px;
  letter-spacing: 0.05em;
}


.strain-tags-list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 0 6px;
}


.tag-card {
  display: block;
  padding: 14px 18px;
  border-radius: 14px;
  background: #fdf8ee;
  color: #333;
  text-decoration: none;
  border: 1px solid #e6d9bf;
  transition: all 0.22s ease;
}
.tag-card:hover {
  background: #f4e7c8;
  transform: translateX(4px);
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
}
.tag-card-title {
  font-size: 15px;
  font-weight: 700;
  color: #7b5e1e;
  margin-bottom: 4px;
}
.tag-card-desc {
  font-size: 13px;
  color: #847b6f;
  line-height: 1.4;
}


.strain-main {
  order: 2;
  flex: 0 0 70%;
  max-width: 70%;
  margin-top:110px;
}
.strain-archive-list {
  margin-top: 30px;
}



.strain-hero {
  max-width: 980px;
  margin: 0px auto 32px;
  padding: 0 20px;
}

/* 品種紹介カテゴリ・品種記事のパンくず: 店主指示で上をわずかに広げ、
   下をわずかに詰める。.breadcrumbs 自体は他ページと共有のため、
   この2テンプレート専用のセレクタでだけ調整する。
   ★og-times-breadcrumbs プラグインの spacing.js が読み込み時・resize時に
   .breadcrumbs へ marginTop/marginBottom をインラインで動的設定して
   固定ヘッダーとの間隔を揃えている（!important無しの style 直書き）。
   !important を付けないとこの調整で即座に上書きされてしまうため、
   ここでは意図的に !important を使う。 */
.strain-main1 > .breadcrumbs {
  margin-top: 32px !important;
  margin-bottom: -14px !important;
}

/* 品種記事（strain-hero）は元々の下余白が20pxとカテゴリ一覧より狭いため、
   同じ削減量を当てると本文と重なってしまう。こちらは控えめに詰める。 */
.strain-hero > .breadcrumbs {
  margin-top: 32px !important;
  margin-bottom: 14px !important;
}

.strain-hero-inner {
  display: flex;
  gap: 28px;
  background: #fff;
  border-radius: 16px;
  border: 1px solid #eee;
  box-shadow: 0 4px 14px rgba(0,0,0,0.06);
  padding: 20px 22px;
  margin-top: 30px;
}

.strain-hero-thumb {
  flex: 0 0 38%;
  margin: 0;
}

.strain-hero-thumb img {
  width: 100%;
  height: 100%;
  max-height: 280px;
  object-fit: cover;
  border-radius: 12px;
}

.strain-hero-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.strain-hero-label {
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #a27a2a;
  margin-bottom: 4px;
}

.strain-hero-name {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 4px;
}

.strain-hero-meta {
  font-size: 13px;
  color: #777;
  margin: 0 0 12px;
}

.strain-hero-desc {
  font-size: 14px;
  line-height: 1.3;
  margin: 0 0 14px;
}

.strain-hero-terpenes {
  padding-top: 8px;
  border-top: 1px solid #f0e4d0;
}

.strain-terp-title {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: #a27a2a;
  margin-bottom: 4px;
}

.strain-terp-text {
  font-size: 13px;
  margin: 10px 0;
  line-height: 1.3em;
}

.strain-terp-text strong {
  font-weight: bold;
}



.strain-scene-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 4px 0 10px;
  padding: 0;
  list-style: none;
}
.strain-scene-item {
  margin: 0;
  padding: 0;
}
.strain-scene-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 14px;
  border-radius: 999px;
  border: 1px solid #e2c990;
  background: #fff8e9;
  font-size: 11px;
  font-weight: 600;
  color: #b78526;
  text-decoration: none;
  letter-spacing: 0.05em;
  transition: all .18s ease;
  white-space: nowrap;
}
.strain-scene-pill:hover {
  background: #b78526;
  color: #fff;
  border-color: #b78526;
  transform: translateY(-1px);
}




.scene-summary::-webkit-details-marker { display: none; }
.scene-summary { list-style: none; }


@media (min-width: 769px) {
  .scene-summary { display: none; }


  .strain-side-title { display: block; }
  .strain-tags-list { display: flex; }
}


@media (max-width: 768px) {


  .strain-layout{
    flex-direction: column;
    gap: 18px;
    margin: 28px auto;
    padding: 0 14px;
    max-width: 100%;
  }


  .strain-sidebar{
        position: static;
        top: auto;
        max-width: 100%;
        width: 100%;
        margin-top: 25%;
        padding: 14px;
        border-radius: 14px;
    }


  .strain-side-title { display: none; }


  .scene-summary{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    padding: 14px 16px;
    border-radius: 14px;
    border: 1px solid #e6d9bf;
    background: #fff;
    color: #7b5e1e;
    font-weight: 800;
    font-size: 15px;
    cursor: pointer;
    user-select: none;
  }

  .scene-summary::after{
    content: "▼";
    font-size: 12px;
    opacity: 0.85;
    transition: transform .25s ease;
  }


  .scene-accordion[open] .scene-summary::after{
    transform: rotate(180deg);
  }



  .scene-accordion .strain-tags-list{
    margin-top: 12px;
    padding: 0;
    gap: 10px;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height .35s ease, opacity .25s ease;
  }


  .scene-accordion[open] .strain-tags-list{
    max-height: 1200px;
    opacity: 1;
  }


  .tag-card{
    padding: 12px;
    border-radius: 12px;
  }
  .tag-card-title{
    font-size: 13px;
    margin-bottom: 3px;
  }
  .tag-card-desc{
    font-size: 12px;
    line-height: 1.35;
  }


  .strain-main{
    max-width: 100%;
    width: 100%;
    margin-top: 0;
  }

  .strain-hero{
    margin: 0 auto;
    padding: 0 14px;
  }
  .strain-hero-inner{
    flex-direction: column;
    gap: 14px;
    padding: 14px;
    border-radius: 14px;
	  margin-top: 0;
  }
  .strain-hero-thumb img{
    max-height: 220px;
  }
  .strain-hero-name{
    font-size: 20px;
  }
  .strain-hero-desc{
    font-size: 13px;
    line-height: 1.6;
  }
}


@media (max-width: 600px){
  .scene-accordion .strain-tags-list{
    grid-template-columns: 1fr;
  }
  .strain-hero-thumb img{
    max-height: 200px;
  }

	.scene-pc{
		display: none;
	}

}



.line-talk-p {
    font-size: 16px;
    line-height: 1.4em;
}



.related-shop-box {
  width: 80%;
  margin: 20px auto 0;
  padding: 20px 28px 15px;
  border-radius: 24px;
  background: #f0d17252;
  box-shadow: 0 12px 40px rgba(0,0,0,0.06);
}

.related-shop-box a{
  text-decoration: none;
}

.related-shop-inner {
  display: flex;
  align-items: center;
  gap: 24px;
}

.related-shop-text {
  flex-grow: 1;
}

.related-shop-label {
  font-size: 11px;
  background: #B2852A;
  padding: 10px 15px;
  border-radius: 3px;
  color: #fff;
  font-weight: 700;
  margin-bottom: 10px;
  display: inline-block;
}

.related-shop-name {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 15px;
  color: #222;
  line-height: 1.5em;
}

.related-shop-name a{
  color: #000;
}

.related-shop-name a:hover {
  color: #B2852A;
}

.related-shop-btn {
  display: inline-block;
  padding: 14px 28px;
  background: #FFF8E9;
  color: #B2852A;
  font-weight: 700;
  border-radius: 12px;
  border: 2px solid #E5C98C;
  font-size: 10px;
  float: right;
  transition: all .2s ease;
}

.related-shop-btn:hover {
  background: #E5C98C;
  color: #fff;
}




.related-one-section{
  max-width: 1200px;
  margin: 20px auto 80px;
  padding: 0 16px;
}

.related-list{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.related-item{
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid #eee;
  transition: transform .2s ease, box-shadow .2s ease;
}

.related-item:hover{
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.08);
}

.related-link{
  display: block;
  text-decoration: none;
  color: inherit;
}

.related-thumb{
  margin: 0;
}

.related-thumb img{
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  display: block;
}

.related-meta{
  padding: 14px 14px 16px;
}

.related-label{
  font-size: 10px;
  letter-spacing: .12em;
  color: #B2852A;
  font-weight: 800;
  margin: 0 0 6px;
  text-transform: uppercase;
}

.related-title{
  font-size: 14px;
  font-weight: 700;
  color: #111;
  line-height: 1.35;
  margin: 0;


  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}


@media (max-width: 1024px){
  .related-list{
    grid-template-columns: repeat(2, 1fr);
  }
}


@media (max-width: 768px){

  .related-one-section{
    margin: 1.6em auto 3.6em;
    padding: 0 1em;
  }


  .related-list{
    display: flex;
    gap: 1em;
    overflow-x: auto;
    padding: 0 0 .8em;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .related-list::-webkit-scrollbar{
    height: .45em;
  }
  .related-list::-webkit-scrollbar-thumb{
    background: rgba(0,0,0,.18);
    border-radius: 99em;
  }

  .related-item{
    flex: 0 0 78%;
    max-width: 78%;
    border-radius: 1.2em;
    scroll-snap-align: start;
    box-shadow: 0 .6em 1.6em rgba(0,0,0,.08);
    border: 1px solid rgba(0,0,0,.08);
  }

  .related-thumb img{
    aspect-ratio: 16/9;
  }

  .related-meta{
    padding: 1em 1em 1.1em;
  }

  .related-label{
    font-size: .68em;
    margin-bottom: .55em;
  }

  .related-title{
    font-size: 1em;
    line-height: 1.35em;
  }
}


@media (max-width: 768px) {



  .related-shop-box {
    width: 85%;
    padding: 1.2em;
    border-radius: 1.2em;
  }

  .related-shop-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.9em;
  }

  .related-shop-label {
    font-size: 0.75em;
    padding: 0.6em 1em;
  }

  .related-shop-name {
    font-size: 0.95em;
  }

  .related-shop-btn {
    float: none;
    width: 90%;
    text-align: center;
    font-size: 0.85em;
    padding: 0.9em 1em;
  }



  .related-list {
    grid-template-columns: 1fr;
    gap: 1em;
  }

  .related-thumb img {
    height: auto;
  }

  .related-label {
    font-size: 0.65em;
  }

  .related-title {
    font-size: 0.95em;
  }

}





.strain-archive-excerpt-wrapper {
  position: relative;
  max-height: 70px;
  overflow: hidden;
  margin-bottom: 20px;
}


.strain-archive-excerpt-wrapper::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 40%;
  background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, #fff 90%);
}


.strain-archive-excerpt {
  font-size: 15px;
  line-height: 1.6;
  color: #444;
  margin: 0;
}


.strain-archive-readmore {
  display: inline-block;
  padding: 20px 22px;
  background: #fff8e9;
  border: 1px solid #e5c98c;
  border-radius: 999px;
  font-size: 14px;
  color: #b78526;
  font-weight: 600;
  text-decoration: none;
  transition: all .2s ease;
  margin-top: 4px;
  text-align: center;
}

.strain-archive-readmore:hover {
  background: #b78526;
  color: #fff;
  border-color: #b78526;
  transform: translateY(-1px);
}


.gb-search {
  display: flex;
  align-items: center;
  max-width: 420px;
  width: 100%;
  margin: 32px 0 16px;
  padding: 4px 4px 4px 16px;
  border-radius: 999px;
  border: 1px solid #e3e3e3;
  background-color: #f7f7f7;
  box-sizing: border-box;
}

.gb-search__field {
  flex: 1;
  border: none;
  background: transparent;
  padding: 8px 8px 8px 0;
  font-size: 14px;
  line-height: 1.6;
  outline: none;
}

.gb-search__field::placeholder {
  color: #999;
}


.gb-search__button {
  border: none;
  cursor: pointer;
  padding: 8px 18px;
  border-radius: 999px;
  font-size: 13px;
  letter-spacing: .08em;
  background-color: #111;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
  transition: background-color .15s ease, transform .1s ease, box-shadow .15s ease;
}

.gb-search__button:hover {
  background-color: #333;
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0,0,0,.15);
}

.gb-search__button:active {
  transform: translateY(0);
  box-shadow: none;
}


@media (max-width: 768px) {
  .gb-search {
    max-width: 100%;
  }
}

.dispensary-random-p{
	text-align: right;
	font-size: 16px;
}

.dispensary-random-p a{
	text-decoration: none;
}

.dispensary-random-p a:hover{
	text-decoration: underline;
}



.gbj-section-title {
  max-width: 100%;
  margin: 0 auto;
  padding: 40px 0px 0px;
}

.gbj-section-title1 {
  max-width: 100%;
  margin: 0 auto;
  padding: 0px 0px 30px;
}

.gbj-section-title2 {
  max-width: 100%;
  margin: 0 auto;
  padding: 30px 0px 10px;
}


.gbj-section-en {
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #c9a96a;
  margin: 0 0 8px;
}


.gbj-section-ja {
  font-size: 22px;
  line-height: 1.4;
  font-weight: 700;
  color: #3b2a1a;
  margin: 0;
}


.gbj-section-line {
  display: block;
  width: 80px;
  height: 3px;
  background-color: #c9a96a;
  border-radius: 999px;
  margin: 10px 0 0;
}


.gbj-section-lead {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.8;
  color: #666;
}



.og-product-card-link {
  text-decoration: none;
  color: inherit;
  display: block;
}


.og-product-card {
  max-width: 900px;
  margin: 40px auto;
  padding: 20px;
  border: 2px solid #ffd0af;
  border-radius: 18px;
  background: #fff9f4;
  display: flex;
  gap: 20px;
  align-items: center;
  box-sizing: border-box;
  position: relative;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
  cursor: pointer;
}


.og-product-card-link:hover .og-product-card {
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.12);
}


.og-ref-label {
  position: absolute;
  top: -17px;
  left: 20px;
  background: #ffd0af;
  color: #000;
  padding: 10px 40px;
  font-size: 0.8rem;
  font-weight: 700;
  border-radius: 8px;
}

.og-product-image {
  flex: 0 0 260px;
}

.og-product-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 16px;
  object-fit: cover;
	margin: 0;
}


.og-product-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
}


.og-product-title {
  margin: 0 !important;
  font-size: 1.2em !important;
  font-weight: 700;
  color: #1c1c1c;
 line-height: 1em !important;
}


.og-product-brand {
  margin: 0 !important;
  font-size: 0.85rem !important;
  color: #4a4a4a;
 line-height: 1em !important;
}


.og-product-price {
  margin: 0 !important;
  font-size: 1.3em !important;
  font-weight: bold;
  color: #111;
}


.og-product-button {
  align-self: flex-start;
  padding: 10px 24px;
  border-radius: 10px;
  border: none;
  background: #ff6b00;
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 600;
}


@media (max-width: 768px) {
  .og-product-card {
    flex-direction: column;
    align-items: stretch;
  }

  .og-product-image {
    flex: none;
  }

  .og-product-button {
    align-self: stretch;
    text-align: center;
  }
}





.risk-compare {
  margin: 2.5rem 0;
  padding: 1.75rem 1.5rem;
  background: #f5f5f7;
  border-radius: 18px;
}


.risk-compare__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.1rem;
}


.risk-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 1.25rem 1.2rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.02);
}


.risk-card__title {
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.5;
  color: #111111;
  margin: 0 0 0.85rem;
  letter-spacing: 0.01em;
}

.risk-card__title span {
  display: inline-block;
  margin-top: 0.1rem;
  font-size: 0.82rem;
  font-weight: 400;
  color: #6b7280;
}


.risk-card__list {
  list-style: none;
  margin: 0 0 0.9rem;
  padding: 0;
  font-size: 0.97rem;
  line-height: 1.7;
  color: #1f2933;
}

.risk-card__list li {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.18rem 0;
	font-size: 12px;
}


.risk-card__list .label {
  font-weight: 600;
  color: #111111;
}


.risk-card__list .rank {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5em;
  padding: 0.08rem 0.55rem;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #ffffff;
  background: #111111;
}


.risk-card__note {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.7;
  color: #6b7280;
}


@media (min-width: 768px) {
  .risk-compare {
    padding: 2rem 2.25rem;
  }

  .risk-compare__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
  }

  .risk-card {
    padding: 1.35rem 1.4rem;
  }

  .risk-card__title {
    font-size: 1.08rem;
  }

  .risk-card__note {
    font-size: 0.88rem;
  }
}


@media (min-width: 1024px) {
  .risk-compare {
    margin: 0 0 30px;
    padding: 2.25rem 2.5rem;
  }

  .risk-card {
    border-radius: 18px;
  }
}








.disp-card-thumb {
  border-radius: 24px 24px 0 0;
  overflow: hidden;
}

.disp-card-thumb img {
  display: block;
  width: 100%;
  height: auto;
}


.disp-card-content {
  padding: 18px 20px 22px;
}



.disp-gift {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 18px;
  background: radial-gradient(circle at top left, #fff9e0, #ffeabf);
  border: 1px solid rgba(219, 186, 106, 0.55);
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.disp-gift-eyebrow {
font-size: 11px;
  text-transform: uppercase;
  font-weight: 600;
  color: #b9861b;
  border-bottom: 1.5px solid #b9861b;
  padding-bottom: 1%;
  display: block;
}

.disp-gift-main {
  font-size: 11px;
  line-height: 1.6;
  font-weight: bold;
  color: #5b4317;
}


.custom-tour-card {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 22px;
  overflow: hidden;
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  width: 260px;
  box-shadow: 0 12px 32px rgba(0,0,0,0.06);
}


.custom-tour-card img {
  width: 100%;
  height: auto;
  display: block;
}


.custom-tour-card-content {
  padding: 20px 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  height: auto !important;
}


.custom-tour-card-content h3 {
  font-size: 18px;
  font-weight: bold;
  margin: 0 !important;
  padding: 0;
  border: none;
  line-height: 1.2;
}


.custom-tour-card-content p {
  margin: 0;
  color: #999;
  font-size: 11px !important;
}


.custom-tour-gift {
    padding: 10px 15px;
    background: radial-gradient(circle at top left, #fff9e5, #ffe4b7);
    border-radius: 18px;
    border: 1px solid rgba(190, 150, 80, 0.35);
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    gap: 3px;
    margin-top: 6px;
}


.custom-tour-gift .gift-label {
  font-size: 11px;
  font-weight: 700;
  color: #b68b1f;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}




.custom-tour-gift:empty {
  display: none !important;
  padding: 0 !important;
  margin: 0 !important;
}


.custom-tour-buttons {
  margin-top: auto;
  display: flex;
}

.custom-blog-button {
    display: inline-block;
    background: #2f7cff;
    color: #ffffff;
    padding: 12px 20px;
    border-radius: 12px;
    text-align: center;
    font-size: 12px;
    font-weight: 600;
    margin-top: 10px;
}


.custom-scroll-area {
  display: flex;
  gap: 30px;
  overflow-x: auto;
  padding: 10px 0 0px;
  align-items: flex-start !important;
  scroll-snap-type: x mandatory;
}


.custom-tour-card {
  scroll-snap-align: start;
}


.custom-scroll-hint1 {
  font-size: 14px;
  color: #aaa;
  margin: 0 0 10px 8px;
}


.custom-scroll-area::-webkit-scrollbar {
  display: none;
}



.grower-comment-photo-box {
  display: flex;
  gap: 20px;
  padding: 20px;
  margin: 28px 0 20px;
  border-radius: 18px;
  background: #f3faf5;
  border: 1px solid rgba(0, 120, 80, 0.12);
  align-items: flex-start;
}


.grower-comment-photo-box.no-photo {
  display: block;
  padding: 24px 20px;
}




.grower-comment-photo-body {
  width: 100%;
}

.grower-comment-photo-label {
  margin: 0 !important;
  font-size: 15px;
  font-weight: 700;
  color: #2f6f4a;
}

.grower-comment-photo-text {
  margin: 8px 0 0;
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: #333;
  font-weight: 500;
}


@media (max-width: 768px) {
  .grower-comment-photo-box.no-photo {
    padding: 18px;
  }

  .grower-comment-photo-text {
    font-size: 14px;
    line-height: 1.75;
  }
}



.store-bonus-box {
  display: block;
  margin: 24px 0 32px;
  padding: 16px 20px;
  border-radius: 18px;
  background: #fff8e7;
  border: 1px solid rgba(230, 180, 80, 0.35);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
}


.store-bonus-label {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  background: #f3cf7d;
  color: #4b3200;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  margin: 0 0 8px;
}


.store-bonus-body {
  margin: 0;
  padding: 0;
}

.store-bonus-title {
  margin: 0px !important;
  font-size: 14px !important;
  font-weight: normal;
  color: #3b2a00;
}

.store-bonus-text {
  margin: 0;
  font-size: 14px !important;
  line-height: 1.7 !important;
  color: #333;
}

.store-bonus-text strong {
  font-weight: 700;
}


@media (max-width: 768px) {
  .store-bonus-box {
    padding: 14px 14px 16px;
  }

  .store-bonus-title {
    font-size: 14px;
  }

  .store-bonus-text {
    font-size: 13px;
  }
}


.choice-section {
  display: grid;
  gap: 28px;
  margin: 40px 0;
}

@media (min-width: 900px) {
  .choice-section {
    grid-template-columns: 1fr 1fr;
    gap: 32px;
  }
}


.choice-card {
  background: #fff;
  border-radius: 20px;
  padding: 28px 24px 32px;
  border: 1px solid #e5e5e5;
  box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}


.choice-tag {
  font-size: 13px !important;
  color: #fff;
  background: #2f7f6b;
  display: inline-block;
  padding: 6px 14px;
  border-radius: 16px;
  margin-bottom: 18px;
  letter-spacing: 0.05em;
}

.wifi-tag {
  background: #4a627f;
}


.choice-title {
  font-size: 22px;
  font-weight: 600;
  margin: 0 0 12px;
  color: #2f2f2f;
}

.wifi-title {
  color: #3f4d63;
}


.choice-price {
  text-align: center;
  margin: 10px 0 20px;
}

.price-main {
  font-size: 40px;
  font-weight: 600;
  color: #2f7f6b;
}

.wifi-number {
  font-size: 30px;
  color: #3f4d63;
}

.price-unit {
  font-size: 18px;
  margin-left: 6px;
}

.price-caption {
  font-size: 13px;
  color: #777;
  margin-top: 4px;
}


.choice-lead {
  font-size: 15px !important;
  line-height: 1.7!important;
  margin-bottom: 18px!important;
  color: #333;
}


.choice-list {
  margin: 0 0 20px!important;
  padding-left: 18px;
}

.choice-list li {
  font-size: 14px!important;
  line-height: 1.7;
  margin-bottom: 6px!important;
  list-style-type: "・ ";
}


.choice-summary {
  font-size: 14px!important;
  color: #555;
  line-height: 1.7;
  margin-bottom: 24px!important;
}


.choice-btn {
  display: block;
  text-align: center;
  padding: 12px 0;
  border-radius: 999px;
  font-size: 15px!important;
  font-weight: 500;
  text-decoration: none;
}

.primary-btn {
  background: #2f7f6b;
  color: #fff;
}

.outline-btn {
  border: 1px solid #aaa;
  color: #4a4a4a;
  background: #fff;
}

.choice-btn {
  transition: all 0.2s ease;
}

.choice-btn:hover {
  opacity: 0.75;
}

.trave-block {
  background: #ffffff;
  border-radius: 20px;
  padding: 24px 20px 28px;
  border: 1px solid #e5f7eb;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
  margin: 32px 0;
}


.trave-header {
  margin-bottom: 18px;
}


.trave-label {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 999px;
  background: #e8f5f1;
  color: #2f7f6b;
  font-size: 11px !important;
  letter-spacing: 0.06em;
  margin: 0 0 8px !important;
}


.trave-title {
  margin: 0 0 8px !important;
  font-size: 18px !important;
  font-weight: 600;
  color: #1f3d34;
}


.trave-desc {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: #4f6962;
}


.trave-benefits {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

@media (min-width: 900px) {
  .trave-benefits {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.trave-benefit {
  background: #f8fbff;
  border-radius: 14px;
  padding: 14px 14px 16px;
}

.trave-benefit-label {
  font-size: 12px !important;
  letter-spacing: 0.06em;
  color: #6b7c8f;
  margin: 0 0 4px !important;
}

.trave-benefit-title {
  font-size: 14px !important;
  font-weight: 600;
  color: #203043;
  margin: 0 0 6px !important;
}

.trave-benefit-text {
  font-size: 12px !important;
  line-height: 1.7 !important;
  color: #5a6a7a;
  margin: 0 !important;
}


.trave-plans-wrapper {
  margin-top: 22px;
}

.trave-plans-title {
  font-size: 13px !important;
  color: #203043;
  margin: 0 0 10px;
}


.trave-plans {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 6px;
}

.trave-plans::-webkit-scrollbar {
  height: 4px;
}
.trave-plans::-webkit-scrollbar-thumb {
  background: #d0deef;
  border-radius: 999px;
}

@media (min-width: 900px) {
  .trave-plans {
    overflow-x: visible;
  }
}


.trave-plan {
  flex: 0 0 180px;
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid ;
  padding: 14px 14px 16px;
  text-align: center;
}

@media (min-width: 900px) {
  .trave-plan {
    flex: 1;
  }
}

.trave-plan-main {
  border-width: 2px;
  border-color: #2f7f6b;
  box-shadow: 0 6px 14px rgba(15, 95, 168, 0.12);
  position: relative;
}

.trave-plan-badge {
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: #ffd83b;
  color: #333;
  font-size: 11px !important;
  padding: 3px 10px;
  border-radius: 999px;
  font-weight: 600;
}

.trave-plan-gb {
  margin: 10px 0 2px !important;
  font-size: 22px !important;
  font-weight: 600;
  color: #2f7f6b;
}
.trave-plan-gb span {
  font-size: 12px;
  margin-left: 3px;
}

.trave-plan-term {
  margin: 0 0 6px !important;
  font-size: 12px;
  color: #6b7c8f;
}

.trave-plan-price {
  margin: 0 0 6px !important;
  font-size: 13px;
  color: #203043;
}
.trave-plan-price span {
  font-size: 20px;
  font-weight: 600;
  margin-right: 2px;
}

.trave-plan-note {
  margin: 0 !important;
  font-size: 11px !important;
  color: #6b7c8f;
  line-height: 1.6 !important;
}


.trave-cta {
  display: block;
  margin-top: 36px;
  text-align: center;
  font-size: 18px;
  padding: 20px 0;
  border-radius: 999px;
  background: #2f7f6b;
  color: #ffffff;
  text-decoration: none;
  font-weight: 500;
  transition: opacity 0.2s ease;
}

.trave-cta:hover {
  opacity: 0.8;
}


.hero{
  padding: 28px 16px;
}

.hero-inner{
  max-width: 1350px;
  margin: 0px auto 40px;
  display: grid;
  grid-template-columns: 1.7fr 1fr;
  gap: 18px;
  align-items: stretch;
}


.hero-left{
  position: relative;
  display: flex;
  border-radius: 28px;
  overflow: hidden;
  min-height: 420px;
  text-decoration: none;
  color: #fff;
  box-shadow: 0 16px 40px rgba(0,0,0,0.10);
  transform: translateY(0);
  transition: transform .25s ease, box-shadow .25s ease;
}

.hero-bg{
  position: absolute;
  inset: 0;
}


.hero-bg-img{
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
  opacity: 0;
  animation: heroFade 18s infinite;
  filter: saturate(1.05);
}


.hero-bg-img.bg1{ background-image: url("https://ganjabonsai.com/wp/wp-content/uploads/2025/12/hotel-0.jpg"); animation-delay: 0s; }
.hero-bg-img.bg2{ background-image: url("https://ganjabonsai.com/wp/wp-content/uploads/2025/12/hotel-01.jpg"); animation-delay: 6s; }
.hero-bg-img.bg3{ background-image: url("https://ganjabonsai.com/wp/wp-content/uploads/2025/12/hotel-02.jpg"); animation-delay: 12s; }

@keyframes heroFade{
  0%   { opacity: 0; }
  8%   { opacity: 1; }
  33%  { opacity: 1; }
  41%  { opacity: 0; }
  100% { opacity: 0; }
}


.hero-left::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(1200px 500px at 20% 30%, rgba(0,0,0,0.15), rgba(0,0,0,0.65)),
    linear-gradient(180deg, rgba(0,0,0,0.20), rgba(0,0,0,0.55));
  z-index: 1;
}


.hero-text{
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 26px 26px 48px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
}

.hero-text .sub{
  margin: 0;
  font-size: 12px;
  letter-spacing: 0.08em;
  opacity: 0.9;
}

.hero-title{
  margin: 0;
  font-size: 40px;
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.hero-text .desc{
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  opacity: 0.92;
  max-width: 54ch;
}

.hero-btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-top: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.55);
  background: rgba(0,0,0,0.25);
  backdrop-filter: blur(6px);
  font-size: 13px;
  font-weight: 700;
  position: relative;
  z-index: 3;
  transition: background .2s ease;
}


@media (hover:hover){
  .hero-left:hover{
    transform: translateY(-2px);
    box-shadow: 0 20px 52px rgba(0,0,0,0.14);
  }
  .hero-left:hover .hero-btn{
    background: rgba(255,255,255,0.14);
  }
}


.hero-right{
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 18px;
}

.hero-card{
  position: relative;
  display: block;
  border-radius: 22px;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
  min-height: 200px;
  box-shadow: 0 14px 34px rgba(0,0,0,0.10);
  transform: translateY(0);
  transition: transform .25s ease, box-shadow .25s ease;
}

.hero-card img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.02);
  filter: saturate(1.05);
}

.hero-card::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg, rgba(0,0,0,0.10), rgba(0,0,0,0.60));
  z-index: 1;
}

.card-overlay{
  position:absolute;
  inset:0;
  z-index: 2;
  padding: 18px 18px 16px;
  display:flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 8px;
}

.card-kicker{
  margin: 0;
  font-size: 12px;
  letter-spacing: 0.06em;
  opacity: 0.9;
}

.card-title{
  margin: 0;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.card-btn{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 9px 12px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.55);
  background: rgba(0,0,0,0.20);
  backdrop-filter: blur(6px);
  font-size: 13px;
  font-weight: 700;
  transition: background .2s ease;
}


@media (hover:hover){
  .hero-card:hover{
    transform: translateY(-2px);
    box-shadow: 0 18px 44px rgba(0,0,0,0.14);
  }
  .hero-card:hover .card-btn{
    background: rgba(255,255,255,0.14);
  }
}


@media (max-width: 900px){
  .hero-inner{
    grid-template-columns: 1fr;
  }

  .hero-left{
    min-height: 360px;
    border-radius: 22px;
  }

  .hero-title{
    font-size: 30px;
  }

  .hero-text{
    padding: 20px 18px 44px;
  }

  .hero-right{
    grid-template-rows: none;
    grid-template-columns: 1fr;
  }

  .hero-card{
    min-height: 180px;
    border-radius: 20px;
  }

  .card-title{
    font-size: 16px;
  }
}

@media (max-width: 480px){
  .hero{
    padding: 22px 12px;
  }

  .hero-title{
    font-size: 26px;
    line-height: 1.15;
  }

  .hero-text .desc{
    font-size: 13px;
    line-height: 1.65;
  }
}

.insurance-carousel{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin:32px 0;
}

.insurance-card{
  position:relative;
  background:#fff;
  border:1px solid #a9aaaa;
  border-radius:16px;
  padding:20px;
}

.insurance-card.highlight{
  border:2px solid #2f7f6b;
}

.card-badge{
  position:absolute;
  top:-10px;
  left:18px;
  background:#2f7f6b;
  color:#fff;
  font-size:11px;
  padding:4px 10px;
  border-radius:999px;
}

.card-title{
  font-size:16px;
  font-weight:600;
  color:#fff;
  margin-bottom:12px;
}

.price-main{
  font-size:28px;
  font-weight:700;
  color:#111827;
}

.price-unit{
  font-size:14px;
  margin-left:4px;
  color:#6b7280;
}

.price-note{
  font-size:12px;
  color:#6b7280;
  margin-top:4px;
}

.card-points{
  margin:16px 0;
  display:grid;
  gap:8px;
}

.point{
  display:flex;
  justify-content:space-between;
  font-size:14px;
}

.point-label{
  color:#6b7280;
}

.point-value{
  color:#374151;
}

.point-value.strong{
  font-weight:600;
  color:#111827;
}

.card-cta{
  margin-top:12px;
}

.cta-btn{
  border:1px solid #2f7f6b;
  color:#2f7f6b;
  border-radius:999px;
  padding:10px 16px;
  font-size:14px;
  text-align:center;
  cursor:pointer;
  transition:opacity .2s;
}

.cta-btn.primary{
  background:#2f7f6b;
  color:#fff;
}

.cta-btn:hover{
  opacity:0.7;
}


.card-strength{
  margin-top:14px;
}

.strength-inner {
  background: #f3faf7;
  border: 1px solid #2f7f6b;
  padding: 10px 12px;
  font-size: 12.5px;
  line-height: 1.3;
  color: #374151;
  border-radius: 8px;
}

.strength-inner strong{
	font-size: 14px !important;
}



@media(max-width:860px){
  .insurance-carousel{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:84%;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    gap:14px;
  }
  .insurance-card{
    scroll-snap-align:start;
  }
}


.hotel-cta-wrap{
  display: flex;
  gap: 12px;
  justify-content: center;
  margin: 50px 0;
}


.hotel-cta{
  flex: 1;
  max-width: 420px;
  padding: 25px 16px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  box-shadow: 0 6px 16px rgba(0,0,0,0.15);
  transition: 0.25s ease;
}

.hotel-cta:hover{
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(0,0,0,0.18);
}


.hotel-cta .brand{
  font-size: 15px;
  font-weight: 800;
}


.hotel-cta.agoda{
  background: #16a34a;
}


.hotel-cta.booking{
  background: #003580;
}

/* ホテル予約CTAは汎用リンク装飾を継承しない。 */
main .hotel-cta,
main .hotel-cta:visited,
main .hotel-cta:hover,
main .hotel-cta:focus-visible,
main .hotel-cta .brand,
main .hotel-cta .text {
  color: #fff !important;
  text-decoration: none !important;
}


@media (max-width: 768px){
  .hotel-cta-wrap{
    margin: 7% 0 8%;
    display: block;
  }
  .hotel-cta{
    max-width: 100%;
    padding: 6% 2%;
    margin: 4% 0 0;
  }
}









@media (max-width: 600px){
    }










.table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 18px 0;


  scrollbar-width: thin;
}


@supports (mask-image: linear-gradient(#000, #000)) {
  .table-scroll {
    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0,
      #000 24px,
      #000 calc(100% - 24px),
      transparent 100%
    );
    mask-image: linear-gradient(
      to right,
      transparent 0,
      #000 24px,
      #000 calc(100% - 24px),
      transparent 100%
    );
  }
}


.rule-table {
  border-collapse: separate;
  border-spacing: 0;
  width: 98%;


  min-width: 680px;

  background: #fff;
  border: 1px solid #e6e6e6;
  border-radius: 3px;

  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;


  table-layout: fixed;
  margin: 0 auto;
}


.rule-table thead th {
  font-size: 12px;
  font-weight: 600;
  color: #6e6e73;

  text-align: left;
  padding: 12px 14px;

  background: #fafafa;
  border-bottom: 1px solid #e6e6e6;


  position: sticky;
  top: 0;
  z-index: 2;
}


.rule-table td {
  padding: 14px 14px;
  vertical-align: middle;
  border-bottom: 1px solid #eeeeee;
  background: #ffffff;
  text-align: left;
}


.rule-table tbody tr:last-child td {
  border-bottom: none;
}


.rule-table .col-item {
  width: 150px;
  font-weight: 600;
  color: #1d1d1f;
  background: #fafafa;

  position: sticky;
  left: 0;
  z-index: 1;


  box-shadow: 1px 0 0 #e6e6e6;
  font-size: 14px;
}


.rule-table .col-key { width: 310px; }
.rule-table .col-note { width: 320px; }


.rule-table .one-line {
  margin: 0;
  font-size: 14px !important;
  line-height: 1.65 !important;
  color: #1d1d1f;
  letter-spacing: 0.01em;


  white-space: normal;
  word-break: break-word;
}

.rule-table .note {
  margin: 0;
  font-size: 12px;
  line-height: 1.65;
  color: #6e6e73;

  white-space: normal;
  word-break: break-word;
}


.rule-table tbody tr:nth-child(even) td:not(.col-item) {
  background: #fcfcfc;
}


@media (min-width: 900px) {
  .table-scroll { margin: 45px 0; }

  .rule-table {
    min-width: 860px;
  }

  .rule-table thead th {
    font-size: 13px;
    padding: 16px 20px;
    text-align: center;
  }

  .rule-table td {
    padding: 30px 20px;
    font-size: ;
  }

  .rule-table .one-line {
    font-size: 14px;
    line-height: 1.7;
  }

  .rule-table .note {
    font-size: 14px;
    line-height: 1.7;
  }

  .rule-table .col-item {
    width: 160px;
  }

  .rule-table .col-key { width: 360px; }
  .rule-table .col-note { width: auto; }
}

.ganjamaylife-side{
	width: 100%;
}

.ganjamaylife-side img{
	width: 100%;
	height: auto;
}






@media (max-width: 640px){
    }




.ganja-story-wrap {
  padding: 16px;
}

.ganja-story-frame {
  max-width: 1000px;
  margin: 0 auto;
  border: 3px solid #efefef;
  padding: 30px 20px;
  background: #f7f7f7;
}


.ganja-story-top {
  display: flex;
  gap: 20px;
  margin-bottom: 24px;
}

.ganja-story-image {
  width: 30%;
  min-height: 250px;
}

.ganja-story-image img{
	width: 100%;
	height: auto;
}

.ganja-story-text {
  width: 70%;
}

.ganja-story-title {
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: bold;
}

.ganja-story-description {
  line-height: 1.5;
  margin-bottom: 20px;
}


.ganja-story-intro-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px 32px;
  background: #76b319;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  border-radius: 6px;
  transition: opacity 0.2s ease;
  width: 87%;
}

.ganja-story-intro-link:hover {
  opacity: 0.7;
}


.ganja-story-section {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 32px 0 20px;
}

.ganja-story-section-line {
  flex: 1;
  height: 1.5px;
  background: #dbdbdb;
}

.ganja-story-section-label {
  margin: 0;
  font-weight: bold;
}


.ganja-story-buttons {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  font-size: 15px;
}


.ganja-story-button {
  background: #76b319;
  color: #fff;
  border-radius: 8px;
  padding: 14px 12px;
  font-weight: bold;
  text-align: center;

  white-space: normal;
  line-height: 1.5;
  word-break: break-word;

  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 72px;
  text-decoration: none;
  transition: opacity 0.2s ease;
}


.ganja-story-button--active:hover {
  opacity: 0.7;
}


.ganja-story-button--disabled {
  opacity: 0.35;
  pointer-events: none;
  cursor: not-allowed;
}


@media (max-width: 768px) {
  .ganja-story-top {
    flex-direction: column;
  }

	.ganja-story-image{
		display: none;
	}


  .ganja-story-text {
    width: 100%;
  }

  .ganja-story-buttons {
    grid-template-columns: repeat(2, 1fr);
  }

  .ganja-story-button {
    min-height: 88px;
    font-size: 14px;
  }

  .ganja-story-intro-link {
    width: 78%;
  }
}







.human-vision-label {
  position: absolute;
  top: -22px;
  left: 50%;
  transform: translateX(-50%);
  background: #04c755;
  color: #fff;
  padding: 10px 28px;
  border-radius: 999px;
  font-weight: bold;
  font-size: 16px;
  white-space: nowrap;
}


.human-vision-content p {
  margin: 0 0 24px;
  line-height: 2;
  font-size: 16px;
  color: #2b3a40;
}

.human-vision-content p:last-child {
  margin-bottom: 0;
}


@media (max-width: 768px) {

  .human-vision-label {
    font-size: 14px;
    padding: 8px 20px;
  }

  .human-vision-content p {
    font-size: 15px;
    line-height: 1.9;
  }
}






.pog-table-toggle{
  position:absolute;
  opacity:0;
  pointer-events:none;
}


.pog-apple-table-wrap{
  max-width:980px;
  margin:0 0 8px;
  max-height:250px;
  overflow:hidden;
  position:relative;
  transition:max-height .45s ease;
}


.pog-apple-table-wrap::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:0;
  height:64px;
  background:linear-gradient(
    to bottom,
    rgba(255,255,255,0),
    rgba(255,255,255,.95)
  );
  pointer-events:none;
}


.pog-table-toggle:checked + .pog-apple-table-wrap{
  max-height:2000px;
}
.pog-table-toggle:checked + .pog-apple-table-wrap::after{
  display:none;
}


.pog-table-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:fit-content;
  margin:14px auto 0;
  padding:10px 18px;
  border-radius:999px;
  background:rgba(0,0,0,.03);
  border:1px solid rgba(0,0,0,.12);
  font-size:14px;
  font-weight:600;
  color:rgba(0,0,0,.7);
  cursor:pointer;
  transition:background .2s ease, transform .2s ease, opacity .2s ease;
}
.pog-table-button:hover{
  background:rgba(0,0,0,.06);
  transform:translateY(-1px);
}
.pog-table-toggle:checked + .pog-apple-table-wrap + .pog-table-button::after{
  content:"（閉じる）";
  margin-left:6px;
  font-size:12px;
  opacity:.7;
}


.pog-apple-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(0,0,0,.06);
}
.pog-apple-table thead th{
  text-align: center;
  padding:14px 18px;
  font-size:13px;
  font-weight:700;
  color:rgba(0,0,0,.6);
  background:rgba(0,0,0,.02);
  border-bottom:1px solid rgba(0,0,0,.08);
  letter-spacing:.02em;
}
.pog-apple-table tbody td{
  padding:16px 18px;
  font-size:15px;
  font-weight: normal;
  color:rgba(0,0,0,.82);
  border-bottom:1px solid rgba(0,0,0,.06);
  vertical-align:middle;
}
.pog-apple-table tbody tr:last-child td{
  border-bottom:none;
}






@media (max-width:768px){
  .pog-apple-table thead{ display:none; }
  .pog-apple-table,
  .pog-apple-table tbody,
  .pog-apple-table tr,
  .pog-apple-table td{
    display:block; width:100%;
  }
  .pog-apple-table tbody tr{
    padding:14px 16px;
    border-bottom:1px solid rgba(0,0,0,.06);
  }
  .pog-apple-table tbody tr:last-child{ border-bottom:none; }
  .pog-apple-table tbody td{
    border-bottom:none;
    padding:10px 0;
  }
  .pog-apple-table tbody td:nth-child(1)::before,
  .pog-apple-table tbody td:nth-child(2)::before,
  .pog-apple-table tbody td:nth-child(3)::before{
    display:block;
    margin-bottom:6px;
    font-size:12px;
    font-weight:700;
    color:rgba(0,0,0,.5);
    letter-spacing:.02em;
  }
  .pog-apple-table tbody td:nth-child(1)::before{ content:"シチュエーション"; }
  .pog-apple-table tbody td:nth-child(2)::before{ content:"品種名"; }
  .pog-apple-table tbody td:nth-child(3)::before{ content:"ショップ名"; }
  }

.pog-research-title{
  position: relative;
  line-height: 1.4;
  padding: 0.25em 1em;
  display: inline-block;
  top: 0;
  margin: 20px 0;
  font-size: 16px;
  font-weight: 600;
}

.pog-research-title::before,
.pog-research-title::after{
  position: absolute;
  top: 0;
  content: '';
  width: 8px;
  height: 100%;
  display: inline-block;
}

.pog-research-title::before{
  left: 0;
  border-left: solid 1px #000;
  border-top: solid 1px #000;
  border-bottom: solid 1px #000;
}

.pog-research-title::after{
  right: 0;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  border-bottom: solid 1px #000;
}


.pog-cflow5{
  --w: min(860px, 92vw);
  --h: min(420px, 56vw);
  --gap: 340px;
  --z: 160px;
  --rot: 18deg;
  --sideScale: .88;
  --sideOpacity: .62;
  --dur: 520ms;

  position: relative;
  margin: 18px auto;
	margin-top: 20px;
}

.pog-cflow5__state{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.pog-cflow5__viewport{
  width: var(--w);
  height: var(--h);
  margin: 0 auto;
  position: relative;
  perspective: 1100px;
}

.pog-cflow5__track{
  width: 100%;
  height: 100%;
  position: relative;
  transform-style: preserve-3d;
}


.pog-cflow5__card{
  position:absolute;
  inset: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  border-radius: 18px;
  overflow:hidden;
  box-shadow: 0 18px 44px rgba(0,0,0,.16);
  background: #fff;

  transition: transform var(--dur) ease, opacity var(--dur) ease, filter var(--dur) ease;
  backface-visibility: hidden;


  opacity: 0;
  transform: translateX(0) translateZ(calc(var(--z) * -1)) rotateY(0) scale(.92);
}


.pog-cflow5__card img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display:block;
}


.pog-cflow5__card::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.08);
  opacity: 0;
  transition: opacity var(--dur) ease;
  pointer-events:none;
}
.pog-cflow5__card:hover{
  transform: translateX(0) translateZ(8px) rotateY(0) scale(1.01);
}


#pog-cflow5-s1:checked ~ .pog-cflow5__viewport .pog-cflow5__card--1{
  opacity:1; transform: translateX(0) translateZ(0) rotateY(0) scale(1);
}
#pog-cflow5-s1:checked ~ .pog-cflow5__viewport .pog-cflow5__card--5{
  opacity:var(--sideOpacity);
  transform: translateX(calc(var(--gap) * -1)) translateZ(calc(var(--z) * -1)) rotateY(var(--rot)) scale(var(--sideScale));
}
#pog-cflow5-s1:checked ~ .pog-cflow5__viewport .pog-cflow5__card--2{
  opacity:var(--sideOpacity);
  transform: translateX(var(--gap)) translateZ(calc(var(--z) * -1)) rotateY(calc(var(--rot) * -1)) scale(var(--sideScale));
}
#pog-cflow5-s1:checked ~ .pog-cflow5__viewport .pog-cflow5__card--5::after,
#pog-cflow5-s1:checked ~ .pog-cflow5__viewport .pog-cflow5__card--2::after{ opacity:.18; }


#pog-cflow5-s2:checked ~ .pog-cflow5__viewport .pog-cflow5__card--2{ opacity:1; transform: translateX(0) translateZ(0) rotateY(0) scale(1); }
#pog-cflow5-s2:checked ~ .pog-cflow5__viewport .pog-cflow5__card--1{
  opacity:var(--sideOpacity);
  transform: translateX(calc(var(--gap) * -1)) translateZ(calc(var(--z) * -1)) rotateY(var(--rot)) scale(var(--sideScale));
}
#pog-cflow5-s2:checked ~ .pog-cflow5__viewport .pog-cflow5__card--3{
  opacity:var(--sideOpacity);
  transform: translateX(var(--gap)) translateZ(calc(var(--z) * -1)) rotateY(calc(var(--rot) * -1)) scale(var(--sideScale));
}
#pog-cflow5-s2:checked ~ .pog-cflow5__viewport .pog-cflow5__card--1::after,
#pog-cflow5-s2:checked ~ .pog-cflow5__viewport .pog-cflow5__card--3::after{ opacity:.18; }


#pog-cflow5-s3:checked ~ .pog-cflow5__viewport .pog-cflow5__card--3{ opacity:1; transform: translateX(0) translateZ(0) rotateY(0) scale(1); }
#pog-cflow5-s3:checked ~ .pog-cflow5__viewport .pog-cflow5__card--2{
  opacity:var(--sideOpacity);
  transform: translateX(calc(var(--gap) * -1)) translateZ(calc(var(--z) * -1)) rotateY(var(--rot)) scale(var(--sideScale));
}
#pog-cflow5-s3:checked ~ .pog-cflow5__viewport .pog-cflow5__card--4{
  opacity:var(--sideOpacity);
  transform: translateX(var(--gap)) translateZ(calc(var(--z) * -1)) rotateY(calc(var(--rot) * -1)) scale(var(--sideScale));
}
#pog-cflow5-s3:checked ~ .pog-cflow5__viewport .pog-cflow5__card--2::after,
#pog-cflow5-s3:checked ~ .pog-cflow5__viewport .pog-cflow5__card--4::after{ opacity:.18; }


#pog-cflow5-s4:checked ~ .pog-cflow5__viewport .pog-cflow5__card--4{ opacity:1; transform: translateX(0) translateZ(0) rotateY(0) scale(1); }
#pog-cflow5-s4:checked ~ .pog-cflow5__viewport .pog-cflow5__card--3{
  opacity:var(--sideOpacity);
  transform: translateX(calc(var(--gap) * -1)) translateZ(calc(var(--z) * -1)) rotateY(var(--rot)) scale(var(--sideScale));
}
#pog-cflow5-s4:checked ~ .pog-cflow5__viewport .pog-cflow5__card--5{
  opacity:var(--sideOpacity);
  transform: translateX(var(--gap)) translateZ(calc(var(--z) * -1)) rotateY(calc(var(--rot) * -1)) scale(var(--sideScale));
}
#pog-cflow5-s4:checked ~ .pog-cflow5__viewport .pog-cflow5__card--3::after,
#pog-cflow5-s4:checked ~ .pog-cflow5__viewport .pog-cflow5__card--5::after{ opacity:.18; }


#pog-cflow5-s5:checked ~ .pog-cflow5__viewport .pog-cflow5__card--5{ opacity:1; transform: translateX(0) translateZ(0) rotateY(0) scale(1); }
#pog-cflow5-s5:checked ~ .pog-cflow5__viewport .pog-cflow5__card--4{
  opacity:var(--sideOpacity);
  transform: translateX(calc(var(--gap) * -1)) translateZ(calc(var(--z) * -1)) rotateY(var(--rot)) scale(var(--sideScale));
}
#pog-cflow5-s5:checked ~ .pog-cflow5__viewport .pog-cflow5__card--1{
  opacity:var(--sideOpacity);
  transform: translateX(var(--gap)) translateZ(calc(var(--z) * -1)) rotateY(calc(var(--rot) * -1)) scale(var(--sideScale));
}
#pog-cflow5-s5:checked ~ .pog-cflow5__viewport .pog-cflow5__card--4::after,
#pog-cflow5-s5:checked ~ .pog-cflow5__viewport .pog-cflow5__card--1::after{ opacity:.18; }


.pog-cflow5__arrows{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.pog-cflow5__btn{
  position:absolute;
  top:50%;
  transform: translateY(-50%);
  pointer-events:auto;
  user-select:none;
  cursor:pointer;

  padding: 10px 14px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .04em;

  color: rgba(255,255,255,.88);
  border: 1px solid rgba(255,255,255,.45);
  background: rgba(0,0,0,.12);
  backdrop-filter: blur(8px);

  opacity:.9;
  transition: opacity .18s ease, transform .18s ease;
}
.pog-cflow5__btn:hover{
  opacity:1;
  transform: translateY(-50%) scale(1.03);
}
.pog-cflow5__btn--prev{ left: 14px; }
.pog-cflow5__btn--next{ right: 14px; }


.pog-cflow5__btn{ display:none; }
#pog-cflow5-s1:checked ~ .pog-cflow5__viewport .pog-cflow5__btn[data-show="s1"]{ display:block; }
#pog-cflow5-s2:checked ~ .pog-cflow5__viewport .pog-cflow5__btn[data-show="s2"]{ display:block; }
#pog-cflow5-s3:checked ~ .pog-cflow5__viewport .pog-cflow5__btn[data-show="s3"]{ display:block; }
#pog-cflow5-s4:checked ~ .pog-cflow5__viewport .pog-cflow5__btn[data-show="s4"]{ display:block; }
#pog-cflow5-s5:checked ~ .pog-cflow5__viewport .pog-cflow5__btn[data-show="s5"]{ display:block; }


.pog-cflow5__dots{
  position:absolute;
  left:0; right:0;
  bottom: 14px;
  display:flex;
  justify-content:center;
  gap: 10px;
}
.pog-cflow5__dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(255,255,255,.45);
  cursor:pointer;
  transition: transform .2s ease, background .2s ease;
}
.pog-cflow5__dot:hover{ transform: scale(1.2); }

#pog-cflow5-s1:checked ~ .pog-cflow5__viewport .pog-cflow5__dots label[for="pog-cflow5-s1"],
#pog-cflow5-s2:checked ~ .pog-cflow5__viewport .pog-cflow5__dots label[for="pog-cflow5-s2"],
#pog-cflow5-s3:checked ~ .pog-cflow5__viewport .pog-cflow5__dots label[for="pog-cflow5-s3"],
#pog-cflow5-s4:checked ~ .pog-cflow5__viewport .pog-cflow5__dots label[for="pog-cflow5-s4"],
#pog-cflow5-s5:checked ~ .pog-cflow5__viewport .pog-cflow5__dots label[for="pog-cflow5-s5"]{
  background: rgba(255,255,255,.92);
  transform: scale(1.25);
}


@media (max-width: 680px){
  .pog-cflow5{
    --gap: 220px;
    --rot: 14deg;
    --h: min(360px, 62vw);
  }
  .pog-cflow5__btn{ padding: 8px 12px; }
}

.clin-p-01 {
  font-size: 18px;
  width: 80%;
  margin: 20px auto;
  line-height: 1.8em;
}

.clin-p-01 strong {
  background: linear-gradient(transparent 60%, #f5bf25 60%);
  font-weight: bold;
}

.clin-p-h1 {
  font-size: 35px;
  width: 80%;
  margin: 20px auto;
  line-height: 1.8em;
  text-align: center;
  font-weight: bold;
}

.clin-p-h2{
  font-size: 16px;
  font-weight: bold;
  border-bottom: 1px solid #5c5c5c;
  padding-bottom: 10px;
  margin-bottom: 20px;
  border-left: 5px solid #5c5c5c;
  padding-left: 10px;
}

.index-right1{
	margin-top: 30px;
}

.tag-shop-add{
	width: 90%;
	padding: 1% 5%;
}

.tag-shop-add iframe{
	width: 100%;
	height: auto;
}

.tag-shop-add img{
	width: 100%;
	height: auto;
}

.tag-shop-add-p-1{
	font-size: 18px !important;
	margin-top: 10px;
}

.tag-shop-add-p-2{
	font-size: 12px !important;
	color: #828282;
	margin: 5px 0;
}

.tag-shop-add-p-3{
	font-size: 12px !important;
	line-height: 1.2 !important;
}


.pog-hours{
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  border-radius: 14px;
  border: 1px solid rgba(0,0,0,.10);
  background: #fff;
  overflow: hidden;
	margin-top: 20px;
}


.pog-hours__summary{
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  font-weight: 700;
  color: #111;
}

.pog-hours__summary::-webkit-details-marker{
  display: none;
}


.pog-hours__status{
  font-size: 14px;
  letter-spacing: .02em;
}


.pog-hours__chev{
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(0,0,0,.55);
  border-bottom: 2px solid rgba(0,0,0,.55);
  transform: rotate(45deg);
  transition: transform .18s ease, opacity .18s ease;
  opacity: .9;
}


.pog-hours[open] .pog-hours__chev{
  transform: rotate(225deg);
}


.pog-hours__body{
  padding: 4px 18px 16px;
}

.pog-hours__list{
  margin: 0;
  padding: 0;
}


.pog-hours__row{
  display: grid;
  grid-template-columns: 120px 1fr;
  align-items: center;
  gap: 10px;
  padding: 14px 0;
  border-top: 1px solid rgba(0,0,0,.08);
}

.pog-hours__day{
  margin: 0;
  font-weight: normal;
  color: rgba(0,0,0,.82);
}

.pog-hours__time{
  margin: 0;
  font-weight: normal;
  color: rgba(0,0,0,.82);
  text-align: left;
}


@media (max-width: 560px){
  .pog-hours__summary{
    padding: 14px 14px;
  }
  .pog-hours__status{
    font-size: 16px;
  }
  .pog-hours__body{
    padding: 2px 14px 12px;
  }
  .pog-hours__row{
    grid-template-columns: 86px 1fr;
    padding: 12px 0;
  }
  .pog-hours__day{
    font-size: 14px;
  }
  .pog-hours__time{
    font-size: 14px;
  }
}

.pog-contact-btn{
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  max-width: 420px;
  height: 50px;

  margin: 20px auto;

  background-color: #5cc468;
  color: #fff;
  font-size: 14px;
  text-decoration: none;
  letter-spacing: .05em;

  border-radius: 10px;

  transition:
    background-color .2s ease, transform .15s ease, box-shadow .15s ease;

  font-weight: bold;
}


.pog-contact-btn:hover{
  background-color: #4fb85c;
  transform: translateY(-1px);
}


.pog-contact-btn:active{
  transform: translateY(0);
}


@media (max-width: 480px){
    .pog-contact-btn {
        height: 52px;
        font-size: 16px;
        border-radius: 8px;
        width: 90%;
        margin: 0 auto 5%;
    }
}





.pog-campaign-title{
  margin: 0 0 12px;
  padding: 0 0 10px 14px;

  font-size: 14px;
  font-weight: 700;
  color: #222;
  letter-spacing: .04em;

  border-bottom: 1px solid rgba(0,0,0,.12);
}












@media (max-width: 600px){



    .pog-campaign-title {
        font-size: 1em;
        padding-left: 12px;
        margin-bottom: 10px;
    }



  }


#shopinfo:checked ~ #shopinfo_content { display:block; }



.ogSnsDock{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:18px 14px;
  background:#fff;
}


.ogSnsBtn{
  width:52px;
  height:52px;
  border-radius:999px;
  border:3px solid #e3e3e3;
  background:#fff;

  display:inline-flex;
  align-items:center;
  justify-content:center;

  text-decoration:none;
  color:#111;

  transition:transform .15s ease, border-color .15s ease, background .15s ease;
  -webkit-tap-highlight-color: transparent;
}

.ogSnsBtn:hover{
  transform:translateY(-1px);
  border-color:#cfcfcf;
}

.ogSnsBtn:active{
  transform:translateY(0);
}


.ogSnsBtn:focus-visible{
  outline:3px solid #111;
  outline-offset:3px;
}


.ogSnsIco{
  width:26px;
  height:26px;
  display:block;
  fill:currentColor;
}


.ogSnsIco *{
  vector-effect: non-scaling-stroke;
}


@media (max-width: 360px){
  .ogSnsDock{
    gap:10px;
    padding:14px 10px;
  }
  .ogSnsBtn{
    width:46px;
    height:46px;
    border-width:3px;
  }
  .ogSnsIco{
    width:24px;
    height:24px;
  }
}


@media (min-width: 768px){
  .ogSnsDock{
    gap:16px;
    padding:5px 16px;
  }
  .ogSnsBtn{
    width:56px;
    height:56px;
  }
  .ogSnsIco{
    width:28px;
    height:28px;
  }
}


.ogSnsDock .ogSnsBtn[aria-label="YouTube"] .ogSnsIco{
  transform: scale(1.18) !important;
  transform-origin: center !important;
}


.ogSnsDock .ogSnsBtn[aria-label="YouTube"] .ogSnsIco path:last-child{
  fill:#fff !important;
}


.og-articlegrid{
  list-style: none;
  margin: 0;
  padding: 0;

  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
}

.og-articlegrid__item{ margin:0; padding:0; }

.og-articlegrid__empty{
  margin: 0;
  padding: 14px 0;
  color: #666;
  font-size: 14px;
}


.og-articlecard{
  display: grid;
  grid-template-rows: auto 1fr;
  text-decoration: none;
  color: inherit;

  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;


  transition: border-color .18s ease, background-color .18s ease, transform .18s ease;
}

.og-articlecard:hover{
  border-color: rgba(0,0,0,.22);
  background: rgba(0,0,0,.01);
  transform: translateY(-1px);
}


.og-articlecard__thumb{
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #f3f3f3;
}

.og-articlecard__img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


.og-articlecard__body{
  display: grid;
  gap: 10px;
  padding: 14px 14px 12px;
}


.og-articlecard__meta{
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 22px;
}

.og-articlecard__pill{
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  line-height: 1;
  color: rgba(0,0,0,.72);
  background: #fbf6ea;
  border: 1px solid rgba(0,0,0,.10);
}

.og-articlecard__new{
  font-size: 12px;
  line-height: 1;
  padding: 4px 8px;
  border-radius: 999px;
  background: #f1f8ee;
  color: #2a6b2f;
  border: 1px solid rgba(42,107,47,.18);
}


.og-articlecard__title{
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  font-weight: 800;
  letter-spacing: .01em;


  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;

  min-height: calc(1.55em * 3);
}


.og-articlecard__cta{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 2px;
  padding-top: 10px;
  border-top: 1px solid rgba(0,0,0,.08);
  color: rgba(0,0,0,.72);
  font-size: 13px;
  letter-spacing: .02em;
}

.og-articlecard__ctaText{
  font-weight: 700;
}

.og-articlecard__ctaArrow{
  font-size: 14px;
  transition: transform .18s ease, opacity .18s ease;
  opacity: .7;
}

.og-articlecard:hover .og-articlecard__ctaArrow{
  transform: translateX(2px);
  opacity: 1;
}


.og-articlecard:hover .og-articlecard__img{
  opacity: .92;
}


@media (max-width: 1024px){
  .og-articlegrid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px){
  .og-articlegrid{
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .og-articlecard__title{
    font-size: 17px;
    -webkit-line-clamp: 2;
    min-height: calc(1.55em * 2);
  }
}














.ogt-pick-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: rgba(249, 193, 62, 0.78);
  color: #fff;
  display: grid;
  place-items: center;
}


.ogt-pick-title{
  margin: 12px 14px 12px;
  font-size: 17px;
  line-height: 1.55;
  font-weight: 800;

  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}


.ogt-pick-footer{
  margin: 0 14px 14px;
  border-radius: 14px;
  background: var(--footer-bg);
  padding: 12px 12px 12px;
  border: 1px solid rgba(0,0,0,.08);
}



.ogt-pick-avatar{
  width: 36px;
  height: 36px;
  border-radius: 999px;
  object-fit: cover;
  flex: 0 0 auto;
  border: 1px solid rgba(0,0,0,.12);
}









@media (max-width: 1100px){
  }
@media (max-width: 820px){
  }
@media (max-width: 520px){
        .ogt-pick-title{ font-size: 18px; }
}



.pog2qa-wrap{
  max-width: 95%;
  margin: 24px auto;
  padding: 0 16px;
}

.pog2qa-title{
  font-size: 20px;
  line-height: 1.35;
  margin: 0 0 6px;
  letter-spacing: .02em;
}


.pog2qa-list{
  border-top: 1px solid rgba(0,0,0,.10);
}


.pog2qa-parent{
  border-bottom: 1px solid rgba(0,0,0,.10);
  background: #fff;
}


.pog2qa-parent > summary,
.pog2qa-child > summary{
  list-style: none;
}
.pog2qa-parent > summary::-webkit-details-marker,
.pog2qa-child > summary::-webkit-details-marker{
  display:none;
}


.pog2qa-parent-q{
  display: grid;
  grid-template-columns: 28px 1fr 18px;
  gap: 10px;
  align-items: center;
  padding: 14px 10px;
  cursor: pointer;
  user-select: none;
}
.pog2qa-parent-q:hover{
  background: rgba(0,0,0,.03);
}

.pog2qa-badge{
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 13px;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 999px;
}

.pog2qa-parent-text{
  font-size: 15px;
  font-weight: 700;
  letter-spacing: .02em;
  color: #111;
}


.pog2qa-chevron{
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(0,0,0,.45);
  border-bottom: 2px solid rgba(0,0,0,.45);
  transform: rotate(45deg);
  transition: transform .18s ease;
  justify-self: end;
}
.pog2qa-chevron.sm{
  width: 9px;
  height: 9px;
}
.pog2qa-parent[open] .pog2qa-parent-q .pog2qa-chevron{
  transform: rotate(-135deg);
}
.pog2qa-child[open] .pog2qa-child-q .pog2qa-chevron{
  transform: rotate(-135deg);
}


.pog2qa-children{
  padding: 0 10px 12px;
}


.pog2qa-child{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 10px;
  margin: 10px 0 0;
  overflow: hidden;
  background: #fff;
}

.pog2qa-child-q{
  display: grid;
  grid-template-columns: 10px 1fr 18px;
  gap: 10px;
  align-items: center;
  padding: 12px 12px;
  cursor: pointer;
  user-select: none;
  background: rgba(0,0,0,.02);
}
.pog2qa-child-q:hover{
  background: rgba(0,0,0,.04);
}

.pog2qa-dot{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.28);
  display: inline-block;
  margin-left: 2px;
}

.pog2qa-child-text{
  font-size: 14px;
  line-height: 1.55;
  color: #111;
}


.pog2qa-a{
  padding: 10px 12px 12px;
}
.pog2qa-a-inner{
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  align-items: start;
}

.pog2qa-abadge{
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 13px;
  border: 1px solid rgba(0,0,0,.18);
  border-radius: 999px;
  opacity: .85;
}

.pog2qa-atext{
  margin: 0;
  font-size: 14px;
  line-height: 1.75;
  color: #222;
}


@media (max-width: 600px){
  .pog2qa-wrap{
    margin: 18px auto;
    padding: 0 12px;
  }
  .pog2qa-title{ font-size: 18px; }
  .pog2qa-parent-q{
    padding: 13px 8px;
    grid-template-columns: 26px 1fr 18px;
    gap: 9px;
  }
  .pog2qa-parent-text{ font-size: 14px; }
  .pog2qa-children{ padding: 0 8px 12px; }
  .pog2qa-child-q{ padding: 12px 10px; }
  .pog2qa-atext{ font-size: 13.5px; }
}








.pog-review__title{
  margin: 0 0 14px;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: .02em;
}














.pog-stars{
  --starSize: 14px;
  --starColor: #111;
  --starEmpty: #d9d9d9;

  position: relative;
  width: calc(var(--starSize) * 5 + 4px);
  height: var(--starSize);
  background: linear-gradient(90deg, var(--starEmpty) 0 100%);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 24'%3E%3Cpath d='M12 0l3.09 7.26L23 8.27l-5.5 4.77L19.18 21 12 16.9 4.82 21l1.68-7.96L1 8.27l7.91-1.01L12 0zm24 0l3.09 7.26L47 8.27l-5.5 4.77L43.18 21 36 16.9 28.82 21l1.68-7.96L25 8.27l7.91-1.01L36 0zm24 0l3.09 7.26L71 8.27l-5.5 4.77L67.18 21 60 16.9 52.82 21l1.68-7.96L49 8.27l7.91-1.01L60 0zm24 0l3.09 7.26L95 8.27l-5.5 4.77L91.18 21 84 16.9 76.82 21l1.68-7.96L73 8.27l7.91-1.01L84 0zm24 0l3.09 7.26L119 8.27l-5.5 4.77L115.18 21 108 16.9 100.82 21l1.68-7.96L97 8.27l7.91-1.01L108 0z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 24'%3E%3Cpath d='M12 0l3.09 7.26L23 8.27l-5.5 4.77L19.18 21 12 16.9 4.82 21l1.68-7.96L1 8.27l7.91-1.01L12 0zm24 0l3.09 7.26L47 8.27l-5.5 4.77L43.18 21 36 16.9 28.82 21l1.68-7.96L25 8.27l7.91-1.01L36 0zm24 0l3.09 7.26L71 8.27l-5.5 4.77L67.18 21 60 16.9 52.82 21l1.68-7.96L49 8.27l7.91-1.01L60 0zm24 0l3.09 7.26L95 8.27l-5.5 4.77L91.18 21 84 16.9 76.82 21l1.68-7.96L73 8.27l7.91-1.01L84 0zm24 0l3.09 7.26L119 8.27l-5.5 4.77L115.18 21 108 16.9 100.82 21l1.68-7.96L97 8.27l7.91-1.01L108 0z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}

.pog-stars__fill{
  position: absolute;
  inset: 0;
  width: 0%;
  background: var(--starColor);
}



.review-card{
  min-width: 0;
  background: #fffaf1;
  border: 1px solid #e6d6ce;
  border-radius: 16px;
  padding: 22px;
  box-sizing: border-box;
  margin: 0;
}

.review-card__title{
  margin: 0 0 12px;
  font-size: 18px;
  font-weight: 800;
  border-bottom: 3px solid #e1ad7e;
  display: inline-block;
  padding-bottom: 4px;
}



@media (max-width: 768px){


  .pog-review__title{
    font-size: 20px;
    margin-bottom: 12px;
  }


  .review-card{
    padding: 18px;
  }

  .review-card__title{
    font-size: 16px;
  }

  }


@media (max-width: 768px){



  .pog-review__right{
    order: 2;
    min-width: 0;
  }


  }











.pog-card__title{
  margin: 12px 0 0;
  font-size: 13px;
  line-height: 1.35;
  font-weight: normal;
  letter-spacing: .01em;


  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: calc(1.9em * 1);
}


.pog-card__price{
  margin: 10px 0 0;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .02em;
}

  .og-review-footer{
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 20px;
  }

  .og-review-footer__btn{
    width: 70%;
    padding: 14px 0;
    border-radius: 999px;
    background: #111;
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    text-align: center;
    line-height: 1;
  }

  .og-review-footer__btn:hover{
    opacity: .9;
  }

.og-review-footer__date {
  margin-top: 20px;
  font-size: 12px;
  color: #777;
  line-height: 1.2;
  display: block;
  text-align: right;
}

.review-card {
  background: #fffaf1;
  border: 1px solid #e6d6ce;
  border-radius: 16px;
  padding: 28px;
  box-sizing: border-box;
  margin-top: 15px;
  margin-left: 15px;
}

.review-card__title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
  border-bottom: 3px solid #e1ad7e;
  display: inline-block;
}


.review-card__footer{
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: #777;
}




@media (max-width: 980px){
  }


@media (max-width: 640px){

  .pog-card__title{
    font-size: 13.5px;
    min-height: calc(1.55em * 2);
  }

  .pog-card__price{
    font-size: 15px;
  }

.review-card {
  background: #fffaf1;
  border: 1px solid #e6d6ce;
  border-radius: 16px;
  padding: 28px;
  box-sizing: border-box;
  margin-top: 15px;
  margin-left: 15px;
}

.review-card__title {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 12px;
  border-bottom: 3px solid #e1ad7e;
  display: inline-block;
}


.review-card__footer{
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: #777;
}


}






.pog-pickup{
  margin: 18px 0;
}


.pog-pickup__link{
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 0;

  border: 1px solid #cfcfcf;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;


  box-shadow: none;


  color: inherit;
  text-decoration: none;


  -webkit-tap-highlight-color: transparent;


  position: relative;
}


.pog-pickup__link{
  outline: 1px solid rgba(0,0,0,0.04);
  outline-offset: -1px;
}


@media (hover:hover){
  .pog-pickup__link:hover{
    transform: translateY(-1px);
  }
}








.pog-pickup__media{
  background: #fff;
  display: grid;
  place-items: center;
  padding: 28px;
  min-height: 320px;
}

.pog-pickup__media img{
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 10px;
}


.pog-pickup__body{
  padding: 34px 36px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
}


.pog-pickup__title{
  font-size: 28px !important;
  line-height: 1.25 !important;
  letter-spacing: .01em;
  margin: 0 !important;
    margin-bottom: 0px;
  font-weight: 800;
}


.pog-pickup__points{
  margin: 6px 0 0;
  padding-left: 1.3em;
}

.pog-pickup__points li{
  font-size: 18px;
  line-height: 1.7;
  margin: 10px 0;
  border-bottom: 1px solid #ddd;
}


.pog-pickup__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 92%;
  max-width: 100%;
  padding: 14px 22px;

  border-radius: 3px;
  background: #1d1d1d;
  color: #fff;
  font-weight: 800;
  font-size: 16px;
  letter-spacing: .02em;
  text-decoration: none;


  min-height: auto;
}

@media (hover:hover){
  .pog-pickup__btn:hover{
    opacity: .92;
  }
}




.pog-pickup__link . > p{
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

.pog-pickup__link > p:empty{
  display: none !important;
}






.pog-pickup__link > p{
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  display: none !important;
}


.pog-pickup > p{
  margin: 0 !important;
  padding: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  display: none !important;
}


.pog-pickup p:empty{
  display: none !important;
}





@media (max-width: 768px){
  .pog-pickup__link{
    grid-template-columns: 1fr;
  }

  .pog-pickup__media{
    min-height: 220px;
    padding: 18px;
  }

  .pog-pickup__body{
    padding: 18px 18px 22px;
    gap: 12px;
  }

  .pog-pickup__title{
    font-size: 20px;
  }

  .pog-pickup__points li{
    font-size: 15px;
    margin: 8px 0;
  }

  .pog-pickup__btn{
    width: 100%;
    justify-content: center;
    padding: 14px 16px;
  }
}


.ogt-privacy{
  --ogt-pp-fg: currentColor;
  --ogt-pp-muted: rgba(0,0,0,.68);
  --ogt-pp-border: rgba(0,0,0,.12);
  --ogt-pp-panel: rgba(0,0,0,.03);
  --ogt-pp-radius: 16px;

  margin: 24px 0;
}

.ogt-privacy__inner{
  border: 1px solid var(--ogt-pp-border);
  border-radius: var(--ogt-pp-radius);
  background: var(--ogt-pp-panel);
  padding: clamp(16px, 2.5vw, 28px);
}


.ogt-privacy__h2{
  margin: 22px 0 10px;
  padding-top: 18px;
  border-top: 1px solid var(--ogt-pp-border);
  font-size: clamp(18px, 2.2vw, 22px);
  line-height: 1.35;
  letter-spacing: .02em;
}

.ogt-privacy__h2:first-of-type{
  border-top: 0;
  padding-top: 0;
  margin-top: 0;
}

.ogt-privacy__h3{
  margin: 14px 0 8px;
  font-size: clamp(15px, 1.8vw, 18px);
  line-height: 1.45;
  letter-spacing: .01em;
}


.ogt-privacy__p{
  margin: 0 0 12px;
  color: var(--ogt-pp-muted);
  line-height: 1.9;
  font-size: 15.5px;
}

.ogt-privacy__p:last-child{
  margin-bottom: 0;
}


.ogt-privacy__list{
  margin: 0 0 14px;
  padding: 0 0 0 1.15em;
  color: var(--ogt-pp-muted);
}

.ogt-privacy__li{
  margin: 0 0 8px;
  line-height: 1.85;
}


.ogt-privacy__inner{
  box-shadow: 0 10px 26px rgba(0,0,0,.06);
}


body.dark .ogt-privacy{
  --ogt-pp-muted: rgba(255,255,255,.74);
  --ogt-pp-border: rgba(255,255,255,.14);
  --ogt-pp-panel: rgba(255,255,255,.06);
}

body.dark .ogt-privacy__inner{
  box-shadow: 0 10px 26px rgba(0,0,0,.24);
}

.sppage-tab{
	margin-top: 0 !important;
}



.og-sketchtable{
  width:100%;
  max-width:1280px;
  margin:0 auto;
  color:#111;
}


.og-sketchtable p{ margin:0; }
.og-sketchtable p:empty{ display:none !important; }


.og-sketchtable__scroll{
  border:2px solid #d9d9dd;
  border-radius:18px;
  background:#fff;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}


.og-sketchtable__grid{
  min-width:1100px;
}


.og-sketchtable__head,
.og-sketchtable__row{
  display:grid;
  grid-template-columns: 260px 180px 1fr 220px 220px;
}


.og-sketchtable__cell {
  padding: 15px 20px;
  border-right: 2px solid #e2e2e6;
  border-bottom: 2px solid #e2e2e6;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}


.og-sketchtable__cell:last-child{
  border-right:none;
}


.og-sketchtable__row:last-child .og-sketchtable__cell{
  border-bottom:none;
}


.og-sketchtable__cell--head {
  background: #fafafb;
  font-weight: 700;
  text-align: center;
  font-size: 14px;
}



.og-sketchtable__name{
  font-weight:800;
}


.og-sketchtable__ratio{
  flex-direction:column;
  gap:6px;
  text-align:center;
}

.og-sketchtable__pct{
  font-weight:900;
}

.og-sketchtable__split{
  color:#666;
}


.og-sketchtable__text {
  line-height: 1.4;
  text-align: left;
  max-width: 520px;
	font-size: 13px;
}





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


.og-sketchtable__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80%;
  max-width: 200px;
  min-height: auto;
  padding: 12px 18px;
  border-radius: 999px;
  background: #5cc468;
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  border: 1px solid rgba(0,0,0,.08);
  font-size: 13px;
  transition: transform .15s ease, opacity .15s ease, box-shadow .15s ease;
}


.og-sketchtable__btn1 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 80%;
  max-width: 200px;
  min-height: auto;
  padding: 12px 18px;
  border-radius: 999px;
  background: #b3b3b3;
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  border: 1px solid rgba(0,0,0,.08);
  font-size: 12px;
  transition: transform .15s ease, opacity .15s ease, box-shadow .15s ease;
}


.og-sketchtable__btn:hover,
.og-sketchtable__btn1:hover{
  opacity:.92;
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(0,0,0,.14);
}


.og-sketchtable__btn--disabled{
  background:#efeff1;
  color:#7a7a7a;
  border-color:#e2e2e6;
  box-shadow:none;
  cursor:not-allowed;
  pointer-events:none;
}

.og-sketchtable__tagpill {
  margin-bottom: 5px;
  display: block;
  margin-right: 30px;
}

.small1 {
  text-align: right;
  font-size: 13px;
  margin-bottom: 20px;
  font-weight: bold;
}

.og-sketchtable__cell--content {
  padding: 10px;
  font-size: 14px;
}


@media (max-width: 768px){


  .og-sketchtable__scroll{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }


  .og-sketchtable__grid{
    min-width: 980px;
  }


  .og-sketchtable__head,
  .og-sketchtable__row{
    grid-template-columns: 220px 150px 360px 200px 200px;
  }


  .og-sketchtable__cell{
    padding: 12px 14px;
  }


  .og-sketchtable__text{
    max-width: 360px;
  }




  .og-sketchtable__btn,
  .og-sketchtable__btn1{
    width: 88%;
    max-width: 190px;
  }
}




.ogx-latestRail {
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 8px 0 18px;
  margin-top: 30px;
}


.ogx-latestRail__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.ogx-latestRail__title{
  margin:0;
  font-size: 18px;
  font-weight: 800;
  color:#111;
}

.ogx-latestRail__more{
  appearance:none;
  border:1px solid #d9d9dd;
  background:#fff;
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 700;
  cursor:pointer;
}


.ogx-latestRail__viewport{
  overflow: hidden;
  border-radius: 14px;
  outline: none;
}


.ogx-latestRail__track{
  display: flex;
  gap: 26px;
  align-items: stretch;
  padding: 8px 8px 18px;
  margin: 10px 0;
  scroll-behavior: smooth;

  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}


.ogx-latestCard{
  flex: 0 0 320px;
  background:#fff;
  border-radius: 14px;
  box-shadow: 0 12px 26px rgba(0,0,0,.10);
  overflow: hidden;
}


.ogx-latestCard__thumb{
  position: relative;
  background:#f2f2f2;
}
.ogx-latestCard__img {
  width: 100% !important;
  height: 210px !important;
  object-fit: cover;
  display: block !important;
  margin: 0 !important;
}


.ogx-latestCard__body{
  padding: 14px 16px 16px;
}

.ogx-latestCard__headline{
  margin: 10px 0 0;
  font-size: 18px;
  line-height: 1.55;
  font-weight: 800;
  color:#111;
}


.ogx-latestChip{
  appearance: none;
  border: 1px solid #e5e5ea;
  background: #f6f6f8;
  color: #111;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
}

.ogx-latestChip--date{
  border-color: #ff3b30;
  color: #ff3b30;
  background: #fff;
}

.ogx-latestCard__toggle{
  appearance:none;
  border: 1px solid #d9d9dd;
  background:#fff;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  display:inline-flex;
  align-items:center;
  gap: 8px;
}

.ogx-latestCard__chev{
  display:inline-block;
  transition: transform .18s ease;
}
.ogx-latestCard__toggle[aria-expanded="true"] .ogx-latestCard__chev{
  transform: rotate(90deg);
}


.ogx-latestCard__hidden{
  margin-top: 12px;
}
.ogx-latestCard__tags{
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid #eeeef2;
}


.ogx-latestRail__arrow{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 72px;
  height: 72px;
  border-radius: 999px;
  border: none;
  background: rgba(255,255,255,.92);
  box-shadow: 0 16px 34px rgba(0,0,0,.18);
  cursor: pointer;
  display:flex;
  align-items:center;
  justify-content:center;

  z-index: 20;
  opacity: 0;
  pointer-events: none;
  transition: opacity .15s ease, transform .15s ease;
}

.ogx-latestRail__arrow--right{ right: -6px; }
.ogx-latestRail__arrow--left{ left: -6px; }


.ogx-latestRail__wrap:hover .ogx-latestRail__arrow,
.ogx-latestRail__wrap:focus-within .ogx-latestRail__arrow,
.ogx-latestRail__viewport:focus-within ~ .ogx-latestRail__arrow{
  opacity: 1;
  pointer-events: auto;
}


.ogx-latestRail__wrap:hover .ogx-latestRail__arrow--right,
.ogx-latestRail__wrap:focus-within .ogx-latestRail__arrow--right{
  transform: translateY(-50%) translateX(-2px);
}
.ogx-latestRail__wrap:hover .ogx-latestRail__arrow--left,
.ogx-latestRail__wrap:focus-within .ogx-latestRail__arrow--left{
  transform: translateY(-50%) translateX(2px);
}


.ogx-latestRail__fade{
  position:absolute;
  top: 0;
  bottom: 0;
  width: 90px;
  pointer-events:none;
  opacity: .95;
  z-index: 5;
}
.ogx-latestRail__fade--right{
  right: 0;
  background: linear-gradient(to right, rgba(255,255,255,0), rgba(245,245,245,1));
}
.ogx-latestRail__fade--left{
  left: 0;
  background: linear-gradient(to left, rgba(255,255,255,0), rgba(245,245,245,1));
  opacity: 0;
}


@media (max-width: 768px){
  .ogx-latestRail{
    padding: 6px 0 14px;
  }

  .ogx-latestRail__track{
    gap: 16px;
    padding: 6px 6px 14px;
  }
  .ogx-latestCard__img{
    height: 170px;
  }

  .ogx-latestRail__fade{
    width: 60px;
  }
	.ogx-latestRail__track{
		gap:10px !important;
	}

.ogx-latestCard__headline {
    margin: 12px 0 0;
    font-size: 1.1em;
    font-weight: 800;
    line-height: 1.2em;
    color: #111;
}



}

@media (max-width: 600px) {
  .dispensary-section {
    padding: 24px 16px;
    border-radius: 16px;
  }
  .dispensary-title {
    font-size: 17px;
    margin-bottom: 20px;
  }
  .area-buttons {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .area-buttons a,
  .area-buttons .disabled {
    font-size: 15px;
    padding: 13px 0;
    border-radius: 14px;
  }
}


@media (hover: none){
  .ogx-latestRail__arrow{
    opacity: 1;
    pointer-events: auto;
  }
}



.pocketog__v1__articleRowList{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:18px;
}


.pocketog__v1__articleRowCard{
  display:grid;
  grid-template-columns: 42% 58%;
  background:#fff;
  border:1px solid #e9e9e9;
  border-radius:22px;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  box-shadow:0 1px 0 rgba(0,0,0,.03);
}


.pocketog__v1__articleRowThumb{
  position:relative;
  background:#f3f3f3;
  min-height:240px;
  overflow:hidden;
}

.pocketog__v1__articleRowImg{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:scale(1);
  transition:transform .22s ease;
}


.pocketog__v1__articleRowBody{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:18px 18px 14px;
  min-width:0;
}


.pocketog__v1__articleRowMeta{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:10px;
}


.pocketog__v1__articleRowPill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 14px;
  border-radius:999px;
  background:#f2f2f2;
  border:1px solid #e5e5e5;
  font-size:13px;
  font-weight:700;
  line-height:1;
  color:#111;
}

.pocketog__v1__articleRowNew{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 14px;
  border-radius:999px;
  background:#eaf3e6;
  border:1px solid #d6e8cf;
  font-size:13px;
  font-weight:800;
  line-height:1;
  color:#2a6a2f;
}


.pocketog__v1__articleRowTitle{
  margin:0;
  font-size:20px;
  line-height:1.45;
  font-weight:800;
  letter-spacing:.01em;
  min-width:0;

  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}


.pocketog__v1__articleRowCta{
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid #ededed;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:14px;
  font-weight:700;
}

.pocketog__v1__articleRowCtaText{
  color:#111;
}

.pocketog__v1__articleRowCtaArrow{
  color:#111;
  opacity:.9;
}


.pocketog__v1__articleRowCard:hover{
  border-color:#dedede;
}

.pocketog__v1__articleRowCard:hover .pocketog__v1__articleRowImg{
  transform:scale(1.03);
}

.pocketog__v1__p {
  text-align: left;
  font-weight: bold;
  display: block;
  overflow: hidden;
  width: 100%;
  font-size: 12px;
  color: #737373;
}

.areaChips1{
  width: 85% !important;
  margin: 40px auto 20px !important;
}


@media (max-width: 820px){
  .pocketog__v1__articleRowCard{
    grid-template-columns:1fr;
  }

  .pocketog__v1__articleRowThumb{
    min-height:220px;
  }

  .pocketog__v1__articleRowBody{
    padding:16px 16px 12px;
  }

  .pocketog__v1__articleRowTitle{
    font-size:18px;
    -webkit-line-clamp:4;
  }
}

@media (max-width: 480px){
  .pocketog__v1__articleRowList{
    gap:14px;
  }

  .pocketog__v1__articleRowCard{
    border-radius:18px;
  }

  .pocketog__v1__articleRowThumb{
    min-height:200px;
  }

  .pocketog__v1__articleRowPill,
  .pocketog__v1__articleRowNew{
    font-size:12.5px;
    padding:6px 12px;
  }
}





.ogx-latestRail{
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: 20px 0 22px;
}


.ogx-latestRail__head{
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: start;
  gap: 18px;
  padding: 0 10px 14px;
}

.ogx-latestRail__headText{
  min-width: 0;
}

.ogx-latestRail__label{
  margin: 0 0 6px;
  font-size: 13px;
  letter-spacing: .18em;
  color: #b79a6b;
}

.ogx-latestRail__title{
  margin: 0;
  font-size: 28px;
  font-weight: 900;
  color: #2b2013;
  line-height: 1.2;
}

.ogx-latestRail__underline{
  display: block;
  width: 84px;
  height: 3px;
  margin-top: 10px;
  background: #b79a6b;
  border-radius: 999px;
  opacity: .75;
}


.ogx-latestRail__more{
  justify-self: end;
  align-self: start;
  text-decoration: none;
  color: #111;
	margin-top: 20px;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 999px;
  padding: 12px 18px;
  font-size: 14px;
  font-weight: 800;
  white-space: nowrap;
  transition: background .15s ease, box-shadow .15s ease, transform .15s ease;
}
.ogx-latestRail__more:hover{
  background: #fafafa;
  box-shadow: 0 6px 16px rgba(0,0,0,.08);
  transform: translateY(-1px);
}


.ogx-latestRail__wrap{
  position: relative;
}


.ogx-latestRail__viewport{
  overflow: hidden;
  border-radius: 18px;
  outline: none;
}


.ogx-latestRail__track{
  display:flex;
  gap: 26px;
  padding: 10px 10px 22px;
  overflow-x:auto;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width:none;
}
.ogx-latestRail__track::-webkit-scrollbar{ display:none; }


.ogx-latestCard{
  flex: 0 0 420px;
  background:#fff;
  border-radius: 18px;
  box-shadow: 0 14px 30px rgba(0,0,0,.12);
  overflow:hidden;
}

.ogx-latestCard__thumb{ background:#eee; }
.ogx-latestCard__img{
  width:100%;
  height: 210px;
  object-fit: cover;
  display:block;
}

.ogx-latestCard__body{ padding: 16px 18px 18px; }
.ogx-latestCard__headline{
  margin: 12px 0 0;
  font-size: 18px;
  font-weight: 800;
  line-height: 1.55;
  color:#111;
}


.ogx-latestChip{
  appearance:none;
  border-radius:999px;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 800;
  border: 1px solid #e3e3e8;
  background: #f6f6f8;
  white-space:nowrap;
}
.ogx-latestChip--date{
  border-color:#ff3b30;
  background:#fff;
  color:#ff3b30;
}


.ogx-latestCard__row{
  display:flex;
  justify-content:flex-end;
  margin-top: 20px;
}

.ogx-latestCard__cta{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid #ddd;
  background:#fff;
  text-decoration:none;
  color:#111;
  font-size: 13px;
  font-weight: 800;
}
.ogx-latestCard__chev{ font-size: 18px; }


.ogx-latestRail__arrow{
  position:absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 72px;
  height: 72px;
  border-radius: 999px;
  border: none;
  background: rgba(255,255,255,.95);
  box-shadow: 0 16px 36px rgba(0,0,0,.2);
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;

  opacity: 0;
  pointer-events:none;
  transition: opacity .15s ease, transform .15s ease;
  z-index: 3;
}
.ogx-latestRail__arrowIcon{
  font-size: 34px;
  line-height: 1;
  color:#111;
}
.ogx-latestRail__arrow--right{ right: -8px; }
.ogx-latestRail__arrow--left{ left: -8px; }

.ogx-latestRail__wrap:hover .ogx-latestRail__arrow{
  opacity: 1;
  pointer-events:auto;
}


.ogx-latestRail__fade{
  position:absolute;
  top:0;
  bottom:0;
  width: 110px;
  pointer-events:none;
  z-index: 2;
}
.ogx-latestRail__fade--right{
  right:0;
  background: linear-gradient(to right, rgba(255,255,255,0), rgba(245,245,245,1));
}
.ogx-latestRail__fade--left{
  left:0;
  background: linear-gradient(to left, rgba(255,255,255,0), rgba(245,245,245,1));
  opacity: .25;
}


@media (max-width: 768px){
  .ogx-latestRail{ padding: 0 0 18px; }

  .ogx-latestRail__head{
    grid-template-columns: 1fr auto;
    padding: 0 10px 12px;
  }

  .ogx-latestRail__title{ font-size: 22px; }

    .ogx-latestCard {
        flex-basis: 60vw;
        max-width: 250px;
    }

.ogx-latestCard__headline {
    margin: 12px 0 0;
    font-size: 1em;
    font-weight: 800;
    line-height: 1.2em;
    color: #111;
}

  .ogx-latestCard__img{ height: 180px; }

  .ogx-latestRail__fade{ width: 70px; }


  .ogx-latestRail__arrow{ display:none; }
}















.ogx-newlist3__title{
  margin: 0;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.35;
  color: #111;


  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}






.ogx-newlist3__right{
  flex: 0 0 18%;
  min-width: 60px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  overflow: visible;
}




@media (hover:hover){
  }


@media (min-width: 860px){
      .ogx-newlist3__title{
    font-size: 22px;
  }
  }


.pocketog__v1__areaChips{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:20px 0 26px;
  padding:14px 16px;
  background:#faf8f5;
  border:1px solid #e6dfd6;
  border-radius:14px;
}

.pocketog__v1__areaChip{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border:1px solid #d8cfc4;
  border-radius:999px;
  background:#fff;
  color:#2b2b2b;
  text-decoration:none;
  font-size:14px;
  font-weight:600;
  line-height:1;
  transition:background .12s ease, border-color .12s ease;
}

.pocketog__v1__areaChip:hover{
  background:#f4efe9;
  border-color:#c9bfb2;
}


.pocketog__v1__areaChip.is-active{
  background:#efe7dd;
  border-color:#bfae9a;
  color:#1f1f1f;
}


.pocketog__v1__areaChip.is-disabled{
  background:#f5f3ef;
  border-color:#e3ddd4;
  color:#a8a39a;
  cursor:default;
  pointer-events:none;
}


.pocketog__v1__areaChip.is-disabled:hover{
  background:#f5f3ef;
  border-color:#e3ddd4;
}



@media (max-width: 600px){
  .pocketog__v1__areaChips{
    gap:10px;
    padding:12px 12px;
    margin:16px 0 22px;
  }
  .pocketog__v1__areaChip{
    font-size:13px;
    padding:7px 12px;
  }
}

.border-ogx{
	border: 8px solid #fbc176;
}


.ogx-cbdLegalNote__actions{
  margin-top: 18px;
  display: flex;
  gap: 10px;
  align-items: stretch;
  flex-wrap: nowrap;
}

.ogx-cbdLegalNote__btn{
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;

  padding: 12px 14px;
  border-radius: 12px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;

  color: #1f2a24;
  background: #eaf2ec;
  border: 1px solid #d6e4db;

  white-space: nowrap;
  min-width: 0;
  flex: 1 1 auto;
}

.ogx-cbdLegalNote__btn--ghost{
  background: #ffffff;
  border: 1px solid #e1e7e3;
}

.ogx-cbdLegalNote__btn:hover{
  box-shadow: 0 10px 20px rgba(0,0,0,.08);
  transform: translateY(-1px);
}

.ogx-cbdLegalNote__btnIcon{
  font-size: 18px;
  line-height: 1;
  opacity: .8;
}


@media (max-width: 520px){
  .ogx-cbdLegalNote__actions{
    flex-wrap: wrap;
  }
  .ogx-cbdLegalNote__btn{
    width: 100%;
  }
}



.ogxx-ignore{}

.ogx-cbdLegalNote{
  max-width: 880px;
  margin: 0 auto 32px auto;
  padding: 0 16px;
  font-family: system-ui, -apple-system, "Hiragino Kaku Gothic ProN",
               "Noto Sans JP", "Yu Gothic", sans-serif;
}

.ogx-cbdLegalNote__card{
  background: #ffffff;
  border-radius: 16px;
  border: 1px solid #e6ebe7;
  box-shadow: 0 12px 28px rgba(0,0,0,.08);
}

.ogx-cbdLegalNote__head{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 22px 18px 14px;
}

.ogx-cbdLegalNote__icon{
  width: 40px;
  height: 40px;
  fill: #6b8f7a;
}

.ogx-cbdLegalNote__icon path:last-child{
  fill: #ffffff;
}

.ogx-cbdLegalNote__title{
  margin: 0;
  font-size: clamp(22px, 3vw, 32px);
  font-weight: 800;
  color: #2f4f3e;
  text-align: center;
  line-height: 1.2;
  letter-spacing: .02em;
}

.ogx-cbdLegalNote__body{
  padding: 0px 22px 24px;
}

.ogx-cbdLegalNote__text{
  margin: 0;
  font-size: 15px;
  line-height: 1.95;
  letter-spacing: .01em;
  color: #1f2a24;
}

.ogx-cbdLegalNote__note{
  margin-top: 16px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #f4f7f5;
  border: 1px solid #e1e7e3;
  font-size: 13px;
  line-height: 1.7;
  color: #556a5f;
}

@media (max-width: 520px){
  .ogx-cbdLegalNote__body{
    padding: 0 10% 10%
  }
    .ogx-cbdLegalNote__text {
        font-size: 1em;
        line-height: 1.2em;
    }

	.ogx-cbdLegalNote__title{
		font-size: 1em;
	}
}


.ogx-cbd-archive-cta{
  width: 100%;
  margin: 18px 0 28px;
  padding: 0 16px;
  box-sizing: border-box;
}

.ogx-cbd-archive-cta__btn{
  width: 97.5%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px;
  border-radius: 16px;
  background: #ffffff;
  border: 2px solid #c9a96a;
  color: #3b2a18;
  text-decoration: none;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .02em;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.ogx-cbd-archive-cta__btn:hover{
  background: #fbf5ea;
  border-color: #c9a96a;
  color: #2f2416;
}

.ogx-cbd-archive-cta__btn:active{
  background: #f6ecd8;
}

.ogx-cbd-archive-cta__icon{
  font-size: 22px;
  line-height: 1;
  opacity: .9;
}


@media (max-width: 768px){
  .ogx-cbd-archive-cta{
    margin: 14px 0 22px;
  }
  .ogx-cbd-archive-cta__btn{
    padding: 20px 22px;
    font-size: 17px;
  }
}




.ogx-skuCard{
  width: 100%;
  padding: 16px;
  border-radius: 14px;
  background: #ffffff;
  box-sizing: border-box;
}


.ogx-skuCard__top{
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 14px;
  align-items: start;
}


.ogx-skuCard__media{
  width: 140px;
  aspect-ratio: 1 / 1;
  border: 2px solid #c9a96a;
  border-radius: 10px;
  background: #fafafa;
  display: grid;
  place-items: center;
}

.ogx-skuCard__mediaText{
  font-weight: 800;
  color: #1b1b1b;
  letter-spacing: .06em;
}


.ogx-skuCard__info{
  min-width: 0;
  margin-left: 20px;
}

.ogx-skuCard__title{
  margin: 2px 0 8px;
  font-size: 20px;
  font-weight: 900;
  color: #000;
}

.ogx-skuCard__price{
  font-size: 14px;
  color: #6c6c6c;
}

.ogx-skuCard__desc{
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.7;
  color: #222;
  background: #f4efea;
  padding: 10px;
  border-radius: 6px;
}


.ogx-skuCard__actions{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 14px;
}

.ogx-skuCard__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 46px;
  border: 2px solid #ebe0c9;
  border-radius: 10px;
  background: #f7e9de;
  color: #111;
  font-weight: normal;
  text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease;
  font-size: 13px;
}

.ogx-skuCard__btn:hover{
  background: #fbf5ea;
  color: #2f2416;
}

.ogx-skuCard__btn:active{
  background: #f6ecd8;
}



.ogx-skuGrid{
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
  margin-bottom: 40px;
}


@media (max-width: 640px){
  .ogx-skuGrid{
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .ogx-skuCard{
    padding: 14px;
    border-radius: 12px;
  }

  .ogx-skuCard__top{
    grid-template-columns: 1fr;
  }

  .ogx-skuCard__media{
    width: 100%;
    max-width: 220px;
  }

  .ogx-skuCard__actions{
    grid-template-columns: 1fr;
  }

  .ogx-skuCard__btn{
    height: 50px;
    border-radius: 12px;
  }
}




.ogx-sku350-wrap{
  width: 100%;
}


.ogx-sku350-card{
  width: 100%;
  padding: 4.5%;
  border-radius: 14px;
  background: #ffffff;
  box-sizing: border-box;
}


.ogx-sku350-top{
  display: grid;
  grid-template-columns: 26% 1fr;
  gap: 4%;
  align-items: start;
}


.ogx-sku350-media{
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 2px solid #c9a96a;
  border-radius: 10px;
  background: #fafafa;
  display: grid;
  place-items: center;
  box-sizing: border-box;
}

.ogx-sku350-mediaText{
  font-weight: 800;
  font-size: 13px;
  color: #1b1b1b;
  letter-spacing: .06em;
}


.ogx-sku350-info{
  min-width: 0;
}

.ogx-sku350-title{
  margin: 0 0 6px;
  font-size: 17px;
  font-weight: 900;
  color: #000;
  line-height: 1.25;
}

.ogx-sku350-price{
  font-size: 13px;
  color: #6c6c6c;
}

.ogx-sku350-desc{
  margin-top: 10px;
  font-size: 11.5px !important;
  line-height: 1.65;
  color: #222;
  background: #f4efea;
  padding: 8px;
  border-radius: 6px;
}


.ogx-sku350-actions{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.5%;
  margin-top: 12px;
}

.ogx-sku350-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  width: 100%;
  border: 2px solid #ebe0c9;
  border-radius: 10px;
  background: #f7e9de;
  color: #111;
  font-size: 12.5px;
  font-weight: 400;
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.ogx-sku350-btn:hover{
  background: #fbf5ea;
  color: #2f2416;
}

.ogx-sku350-btn:active{
  background: #f6ecd8;
}


@media (max-width: 420px){
  .ogx-sku350-card{
    padding: 6%;
  }

  .ogx-sku350-top{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .ogx-sku350-media{
    width: 100%;
    max-width: 220px;
  }

  .ogx-sku350-actions{
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .ogx-sku350-btn{
    height: 46px;
    font-size: 13px;
    border-radius: 12px;
  }
}






































@media screen and (max-width: 500px) {
    .sma {
        display: block !important;
    }

    .pc {
        display: none !important;
    }

    .single-h3 {
        padding: 0.25em 0.5em;
        color: #000000;
        background: transparent;
        border-left: solid 5px #4f4f4f;
        font-size: 1.1em !important;
        margin-bottom: 5%;
        font-weight: bold;
    }

    #header a {
        color: #000000;
        text-decoration: none;
        overflow: hidden;
        display: inline-block;
        border-bottom: none;
        padding-bottom: 0px;
    }

    #header a:hover {
        text-decoration: underline;
        transition: 0.3s ease-in-out;
    }

    #header {
        overflow: hidden;
    }

    main a {
        color: #000;
		overflow-wrap: anywhere;
    }



    main {
        width: 90%;
        margin: 36% auto 0;
        overflow: visible;
    }


    .header-h1 {
        font-size: 7px;
        margin-bottom: 5px;
    }

    .pick {
        position: absolute;
        top: -40px;
        width: 120px !important;
        left: -40px;
        z-index: 10;
    }




    .main-right {
        float: none;
        width: 100%;
        padding: 1%;
        border: 1px solid #ddd;
        height: 250px;
        overflow: scroll;
        margin: 6% 0 3%;
    }

    .main-right img {
        width: 100%;
        height: auto;
    }

    .main-right-li {
        margin: 1% auto;
        overflow: hidden;
        border-bottom: 1px solid #ddd;
        padding-bottom: 1%;
        padding-top: 1%;
    }

    .main-right-li:last-child {
        border-bottom: none;
    }

    .main-right-li-left {
        float: left;
        width: 35%;
    }

    .main-right-li-left img {
        width: 100%;
        height: auto;
    }

    .main-right-li-right {
        width: 60%;
        float: right;
    }

    .main-right ul a:hover {
        overflow: hidden;
        background: #ddd;
    }

    .main-right ul a {
        padding: 1%;
        overflow: hidden;
        display: block;
    }

    .main-right-li-right h3 {
        font-size: .75em;
        line-height: 1.3em;
    }

    .tabs {
        margin-top: 50px;
        padding-bottom: 0;
        background-color: #fff;
        width: 100%;
        margin: 5% auto 0 auto;
    }

    .tab_item {
        width: calc(100% / 3);
        height: 50px;
        border-bottom: 3px solid #bdbdbd;
        background-color: #d9d9d9;
        line-height: 50px;
        font-size: .7em;
        text-align: center;
        color: #565656;
        display: block;
        float: left;
        font-weight: bold;
        transition: all 0.2s ease;
    }

    .tab_item:hover {
        opacity: 0.75;
    }

    .tab_item1 {
        width: calc(100%/2);
        height: 50px;
        border-bottom: 3px solid #bdbdbd;
        background-color: #d9d9d9;
        line-height: 50px;
        font-size: .7em;
        text-align: center;
        color: #565656;
        display: block;
        float: left;
        text-align: center;
        font-weight: bold;
        transition: all 0.2s ease;
    }

    .tab_item1:hover {
        opacity: 0.75;
    }

    input[name="tab_item"] {
        display: none;
    }

    .tab_content {
        padding: 3% 0;
        clear: both;
        overflow: hidden;
        padding-top: 10%;
    }

    #all:checked ~ #all_content, #programming:checked ~ #programming_content, #design:checked ~ #design_content {
        display: block;
    }

    .tabs input:checked + .tab_item {
        background-color: #7d7d7d;
        color: #fff;
    }

    .index-left {
        float: none;
        width: 96%;
        padding: 2%;
    }

    .index-right {
        float: none;
        width: 100%;
        margin-top: 10%;
    }

    .index-right h3 {
        font-size: 16px;
        font-weight: bold;
        border-bottom: 1px solid #5c5c5c;
        padding-bottom: 10px;
        margin-bottom: 20px;
        border-left: 5px solid #5c5c5c;
        padding-left: 10px;
    }

    .index-right p {
        font-size: 16px;
    }

    .index-right ul {
        margin: 0;
    }

    .index-right1 ul a {
        padding: 4%;
        overflow: hidden;
        display: block;
        text-align: center;
        text-decoration: none;
    }

    .index-right1 ul a:hover {
        overflow: hidden;
        background: #ddd;
        transition: 0.3s ease-in-out;
    }

    .index-right li {
        margin: 0;
        margin-bottom: 20px;
    }

    .index-left-left {
        float: left;
        width: 35%;
        height: auto;
    }

    .index-left-left img {
        width: 100%;
        height: auto;
    }

    .index-left-right {
        float: right;
        width: 58%;
        font-size: .85em;
        line-height: 1.2em;
        margin-right: 2%;
    }

    .index-left li {
        margin-bottom: 20px;
        overflow: hidden;
    }

    .pro {
        margin: 0;
        border: 1px solid #ddd;
        margin-bottom: 40px;
        padding: 6%;
        width: 80%;
        margin-right: auto;
        margin-left: auto;
    }

    .pro img {
        width: 40%;
        height: auto;
        margin: 0 auto;
        display: block;
        border-radius: 100px;
    }

    .pro-name {
        font-size: 1em !important;
        margin-bottom: 3%;
    }

    .pro-name span {
        font-size: 14px !important;
    }

    .pro-p {
        font-size: .7em !important;
        line-height: 1.2em;
    }

    .pagination {
        margin: 28px 0;
    }

    .pagination .nav-links {
        display: flex;
        align-items: center;
        justify-content: center;
        flex-wrap: wrap;
        gap: 6px;
        text-align: center;
    }

    .pagination .nav-links .current {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 34px;
        height: 34px;
        padding: 0 4px;
        border: 1px solid #111;
        border-radius: 9px;
        background: #111;
        color: #fff;
        font-size: 13px;
        font-weight: 700;
    }

    .pagination .nav-links .dots {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 34px;
        height: 34px;
        color: #999;
        font-size: 13px;
        font-weight: 700;
    }

    .pagination .nav-links a.page-numbers {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 34px;
        height: 34px;
        padding: 0 4px;
        border: 1px solid #ddd;
        border-radius: 9px;
        background: #fff;
        font-size: 13px;
        font-weight: 700;
        text-decoration: none;
        color: #333;
    }

    .pagination .nav-links a.page-numbers:hover {
        border-color: #111;
        background: #111;
        color: #fff;
        transition: all .2s ease;
    }

    .pagination .nav-links a.prev.page-numbers,
    .pagination .nav-links a.next.page-numbers {
        width: auto;
        min-width: 40px;
        padding: 0 14px;
        border-radius: 999px;
        border: 1px solid #111;
        background: #fff;
        color: #111;
        font-size: 12px;
        font-weight: 700;
    }

    .pagination .nav-links a.prev.page-numbers:hover,
    .pagination .nav-links a.next.page-numbers:hover {
        background: #111;
        color: #fff;
    }

    .blog-list {
        overflow: hidden;
    }

    .blog-list ul {
        overflow: hidden;
    }

    .blog-list li {
        margin-bottom: 0;
        overflow: hidden;
        border-bottom: 1px solid #ddd;
    }

    .blog-list-left {
        float: left;
        width: 22%;
    }

    .blog-list-left img {
        width: 100%;
        height: auto;
    }

    .blog-list-right {
        float: right;
        width: 75%;
        font-size: .9em;
        line-height: 1.4em;
        text-align: left;
    }

    .point {
        margin: 0;
    }

    .point li {
        float: left;
        width: 49%;
        padding: 0.5%;
        text-align: center;
    }

    .point img {
        width: 100%;
        height: auto;
        margin-bottom: 10px;
    }

    .point a {
        padding: 10%;
        overflow: hidden;
        display: block;
        text-align: center;
        text-decoration: none;
    }

    .point a:hover {
        overflow: hidden;
        background: #ddd;
        transition: 0.3s ease-in-out;
    }

    .button {
        position: fixed;
        right: 0;
        bottom: 0;
        font-size: 20px;
        color: #fff;
        background: #383838;
        padding: 13px;
        cursor: pointer;
        transition: .3s;
        opacity: 0;
        visibility: hidden;
        border-radius: 100px;
        margin-right: 2%;
        margin-bottom: 1%;
    }

    .active {
        opacity: 1;
        visibility: visible;
    }

    .eye img {
        width: 100% !important;
        height: auto;
        margin: 10px auto 40px;
        display: block;
    }

    .copyright {
        font-size: 10px;
        text-align: center;
        padding-bottom: 30px;
    }

    .breadcrumbs {
        font-size: .7em;
        line-height: 1.5em;
        margin: 0 2%;
    }


    .single {
        margin-top: 132px;
    }

    .single h1 {
        font-size: 1.2em;
        font-weight: bold;
        line-height: 1.2em;
        margin-bottom: 10px;
    }

    .date {
        font-size: .6em;
    }

    .single-box p {
        font-size: 1em;
        margin-bottom: 4%;
        line-height: 1.6em;
    }

    .date-single {
        font-size: .5em !important;
        margin-bottom: 0 !important;
        line-height: 1.8em !important;
        margin-top: 4% !important;
    }

    .single-box strong {
        background: linear-gradient(transparent 60%, #f5bf25 60%);
        font-weight: bold;
        font-size: 1.1em;
    }

	.single iframe{
		width: 100%;
		height: auto;
	}




.single-box h2 {
  position: relative;
  padding: 1.1em 1.6em;
  text-align: center;
  font-size: 1.4em;
  font-weight: 700;
  line-height: 1.4;
  margin: 12% 0 9%;
}


.single-box h2::before,
.single-box h2::after {
  position: absolute;
  content: "";
  width: 36px;
  height: 36px;
}

.single-box h2::after {
  top: 0;
  left: 0;
  border-top: 2px solid #000;
  border-left: 2px solid #000;
}

.single-box h2::before {
  right: 0;
  bottom: 0;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
}


.single-box h3 {
  display: table;
  margin: 9% auto 7%;
  max-width: 100%;
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1.4;
  padding-bottom: 3%;
  border-bottom: 2px dashed #222;
  text-align: center;
}


.single-box h4 {
  position: relative;
  font-size: 1.05em;
  font-weight: 600;
  line-height: 1.6;
  margin: 7% 0 4%;
  padding-left: 10px;
  color: #111;
}


.single-box h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.25em;
  bottom: 0.25em;
  width: 2px;
  border-radius: 999px;
  background: #000;
  opacity: 0.85;
}


.single-box h3 + h4 {
  margin-top: 4%;
}


.single-box h5 {
  font-size: 0.9em;
  font-weight: 700;
  line-height: 1.6;
  margin: 7% 0 4%;
  color: #111;
}

.single-box h6 {
  font-size: 0.85em;
  font-weight: 700;
  line-height: 1.6;
  margin: 6% 0 3%;
  color: #555;
}


.single-box em {
  font-style: italic;
}


.single-box a {
  color: #111;
  text-decoration: underline;
  text-decoration-color: rgba(17, 17, 17, 0.35);
  text-underline-offset: 0.15em;
}

.single-box p a:hover,
.single-box li a:hover,
.single-box blockquote a:hover,
.single-box figcaption a:hover,
.single-box td a:hover {
  text-decoration-color: #111;
}


.single-box ul,
.single-box ol {
  margin: 0 0 4%;
  padding-left: 1.4em;
}

.single-box ul {
  list-style: none;
  padding-left: 0;
}

.single-box ol {
  list-style: decimal;
}

.single-box li {
  font-size: 1em;
  line-height: 1.6em;
  margin-bottom: 3%;
}

.single-box li:last-child {
  margin-bottom: 0;
}

.single-box ul ul,
.single-box ul ol,
.single-box ol ul,
.single-box ol ol {
  margin: 2% 0 0;
}


.single-box blockquote {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  margin: 6% 0;
  padding: 5% 5% 5% 15%;
  background: #f7f7f7;
  font-style: italic;
  font-size: 1em;
  line-height: 1.6em;
  color: #333;
}

.single-box blockquote::before {
  display: inline-block;
  position: absolute;
  top: 12px;
  left: 12px;
  content: "\f10d";
  font-family: FontAwesome;
  color: #ccc;
  font-size: 18px;
  line-height: 1;
  font-weight: 900;
}

.single-box blockquote p {
  margin-bottom: 3%;
}

.single-box blockquote p:last-child {
  margin-bottom: 0;
}

.single-box blockquote cite {
  display: block;
  text-align: right;
  color: #888;
  font-size: .8em;
  margin-top: 3%;
}


.single-box table {
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 4%;
  border-collapse: collapse;
  font-size: .85em;
  line-height: 1.5em;
}

.single-box th,
.single-box td {
  padding: 2% 3%;
  border: 1px solid #ddd;
  text-align: left;
  white-space: nowrap;
}

.single-box th {
  background: #f5f5f5;
  font-weight: 700;
}




    .single hr {
        border: 1px solid #ddd;
    }

    .button-container {
        text-align: center;
    }

    .single_btn {
        display: inline-block;
        width: auto;
        line-height: 60px;
        text-align: center;
        text-decoration: none;
        color: #fff;
        background-color: #1B85FB;
        padding: 0 10%;
        margin: 5% 0;
        font-size: .85em;
    }

    .single_btn a {
        display: block;
        width: 100%;
        line-height: 60px;
        text-align: center;
        text-decoration: none;
        color: #fff;
        background-color: #1B85FB;
        position: relative;
    }

    .single_btn a::before {
        border-right: 2px solid #fff;
        border-top: 2px solid #fff;
        bottom: 0;
        content: "";
        height: 7px;
        width: 7px;
        margin: auto;
        position: absolute;
        right: -27px;
        top: 0;
        transform: rotate(45deg);
        transition: right .3s;
        display: none;
    }

    .single_btn a:hover::before {
        right: -35px;
    }









    .post-re-right {
        float: none;
        width: 100%;
        font-size: 18px;
    }

    .post-re-right p {
        font-size: 16px;
    }






    .header-menu {
        height: fit-content;
        background-color: rgba(255, 255, 255, 1);
        width: 100%;
        z-index: 1000;
    }

    .header-inner {
        padding: 10% 5% 4%;
    }



    #header-hamburger {
        background: #656565;
        cursor: pointer;
        width: 40px;
        aspect-ratio: 1/1;
        margin-left: auto;
        position: relative;
        z-index: 10;
        top: 5px;
    }

    #header-hamburger span {
        display: inline-block;
        background: #fff;
        width: 50%;
        height: 2px;
        transition: all .4s;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }

    #header-hamburger span:nth-of-type(1) {
        top: 30%;
    }

    #header-hamburger span:nth-of-type(2) {
        top: 50%;
    }

    #header-hamburger span:nth-of-type(3) {
        top: 70%;
    }

    #header-hamburger.active span:nth-of-type(1) {
        top: 50%;
        left: 25%;
        transform: rotate(-45deg);
        width: 50%;
    }

    #header-hamburger.active span:nth-of-type(2) {
        opacity: 0;
    }

    #header-hamburger.active span:nth-of-type(3) {
        top: 50%;
        left: 25%;
        transform: rotate(45deg);
        width: 50%;
    }

    #hamburger-window {
        transition: 0.3s;
        text-align: center;
        visibility: hidden;
        position: fixed;
        top: 85px;
        right: -100vw;
        width: 100%;
        height: calc(100vh - 50px);
        overflow-y: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;
        background: #fff;
        z-index: 11;
    }

    #hamburger-window.open {
        visibility: visible;
        right: 0;
        z-index: 10;
        margin-top: -1%;
    }

    .hamburger-window__link {
        display: block;
        margin: 0 auto;
        width: 100%;
        position: relative;
        border-bottom: 1px solid #ddd;
        padding-bottom: 30px;
        overflow: hidden;
    }

    .hamburger-window__link:hover {
        background-color: #ccc;
    }

    .menu-link {
        align-items: center;
        border-bottom: 1px solid #ccc;
        padding: 7% 0;
        color: #333;
        text-align: center;
        display: block;
        text-decoration: none;
    }

    .hamburger-window__link::after {
        font-weight: 900;
        font-family: "Font Awesome 6 Free";
        display: inline-block;
        position: absolute;
        right: 5%;
        top: 50%;
        transform: translateY(-50%);
        width: 10px;
        aspect-ratio: 1/1;
        color: #333;
    }

    .hamburger-window__title {
        color: #333;
    }

    .last td:last-child {
        border-bottom: solid 1px #ccc;
        width: 100%;
    }



    .single-price-box {
        width: 90%;
        overflow: hidden;
        margin: 3% auto;
        border: solid 1px #ffe5cb;
        padding: 3%;
        background: #fff8f1;
        padding-top: 0;
        padding-bottom: 2%;
    }

    .single-price-box a {
        text-decoration: none;
    }

    .single-price-box a:hover {
        text-decoration: underline;
    }

    .single-price-box-left {
        width: 90%;
        float: none;
        margin: 0 auto;
    }

    .single-price-box-left img {
        width: 100%;
        height: auto;
        border-radius: 3px;
    }

    .single-price-box-right {
        width: 100%;
        float: none;
        margin-top: 4%;
    }

    .single-price-box-right-p {
        font-size: 13px !important;
        border-bottom: 1px solid #000;
        display: inline-block;
        margin-bottom: 4% !important;
    }

    .single-price-box-right-p1 {
        font-size: 13px !important;
        margin-bottom: 5% !important;
    }

    .single-price-box-right-p2 {
        font-size: 11px !important;
    }

    .single-price-box-right-p3 {
        font-size: 13px;
    }

    .single-price-box-right-p1-1 {
        font-size: 1em;
        margin-right: 1%;
    }

    .single-price-box-right-p1-2 {
        font-size: 28px;
        font-weight: bold;
        margin-left: 20px;
        position: relative;
        top: -10px;
    }

    .single-price-box-right-h {
        font-size: 1.1em !important;
        margin-bottom: 1% !important;
        font-weight: bold;
    }

    .single-price-box-right-p11 {
        font-size: 10px !important;
        margin-bottom: 2% !important;
    }

    .single-price-box-right-box {
        margin: 0;
        overflow: hidden;
    }

    .single-price-box-right-left {
        float: left;
        width: 48%;
    }

    .single-price-box-right-right {
        float: right;
        width: 48%;
    }

    .single-price-box-h3 {
        font-size: 1em !important;
        text-align: center;
        margin: 20px 0;
        background: #de954c;
        padding: 2% 16%;
        font-weight: bold;
        color: #fff;
    }

    .single-price-box-left-p1 {
        font-size: 10px !important;
        margin-bottom: 0 !important;
    }

    .single-price-box-right-p3 a {
        background: #2db260;
        border-radius: 3px;
        position: relative;
        display: flex;
        justify-content: space-around;
        align-items: center;
        margin: 0 auto;
        max-width: 280px;
        padding: 10px 25px;
        color: #f3f3f3;
        transition: 0.3s ease-in-out;
        font-weight: 500;
    }

    .single-price-box-right-p3 a:after {
        content: "";
        position: absolute;
        top: 50%;
        bottom: 0;
        right: 2rem;
        font-size: 90%;
        display: flex;
        justify-content: center;
        align-items: center;
        transition: right 0.3s;
        width: 6px;
        height: 6px;
        border-top: solid 2px currentColor;
        border-right: solid 2px currentColor;
        transform: translateY(-50%) rotate(45deg);
    }

    .single-price-box-right-p3 a:hover {
        background: #73b88e;
        color: #FFF;
        text-decoration: none;
    }

    .single-price-box-right-p3 a:hover:after {
        right: 1.4rem;
    }

    .video {
        position: relative;
        width: 90%;
        padding-top: 60.25%;
        height: auto;
        margin-bottom: 40px;
        margin-left: auto;
        margin-right: auto;
    }

    .video iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .map {
        position: relative;
        width: 100%;
        padding-top: 100.25%;

        height: 0;
    }

    .map iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }

    .single-map {
        width: 100%;
        overflow: hidden;
        margin: 3% auto;
    }

    .single-map-left {
        float: none;
        width: 100%;
    }

    .single-map-right {
        float: none;
        width: 100%;
        margin-top: 2%;
    }

    .single-map-right-name {
        margin: 0;
        font-size: 1.1em !important;
        margin-bottom: 10px !important;
        font-weight: bold;
    }

    .single-map-right-ul-1 {
        margin: 0;
        overflow: hidden;
    }

    .single-map-right-ul-2 {
        margin: 0;
    }

    .single-map-right-ul-3 {
        font-size: .8em !important;
        line-height: 1.3em;
    }

    .single-map-right-ul-4 {
        margin: 0;
    }

    .single-map-right-p-1 {
        margin: 20px 0 10px !important;
        font-size: .9em !important;
    }

    .single-map-right-p-2 {
        margin: 20px 0 20px !important;
        border-bottom: 1px solid #000;
        display: inline-block;
        font-weight: bold;
    }

    .single-map-right-ul-1 li {
        float: left;
        margin-right: 3%;
    }

    .single-map-right-ul-1 a {
        text-decoration: none;
    }

    .single-map-right-ul-2 span {
        padding: 6px 10px;
        margin-right: 5px;
        border-radius: 20px;
        color: #fff;
        font-size: 13px;
        position: relative;
        top: -2px;
        font-weight: bold;
        margin-left: 5px;
    }

    .single-map-right-ul-3 span {
        margin: 0;
        display: block;
        font-size: 11px;
        margin-top: 10px;
    }

    .green {
        background: #26681a;
    }


    .red {
        background: #DC0003;
    }

    .orange {
        background: #C3680E;
    }

    .blue {
        background: #0214B3;
    }

    .brown {
        background: #593A01;
    }


    .single-map-right-ul-4 span {
        margin-left: 10px;
    }

    .single-map-right-ul-4 a {
        text-decoration: none;
    }

    .single-map-right-ul-4 a:hover {
        text-decoration: underline;
    }

    .single-map-right-ul-4 li {
        list-style: disc;
        margin-bottom: 7%;
    }

    .single-price-box-right-p1 span {
        display: block;
    }

    div.fixed-wrap {
        position: relative;
        clip-path: inset(0 0 0 0);
        width: 100%;
        height: 450px;
    }

    div.fixed {
        position: fixed;
        top: -110px;
        left: 0px;
        width: 100vw;
        height: 100vh;
        background-image: url(https://ganjabonsai.com/wp/wp-content/uploads/2025/10/pp-scaled1-1.jpg);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain;
    }

    div.fixed-wrap p {
        font-size: 1.2em;
        position: relative;
        top: 420px;
        left: 5%;
        color: #fff;
        font-weight: bold;
        width: 90%;
    }

    .header-contact a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background-color: #383838;
        color: #fff !important;
        padding: 10px;
        font-size: 13px;
        font-weight: bold;
        border-radius: 3px;
        text-decoration: none;
        transition: background-color 0.3s ease;
        max-width: 100%;
        width: 100%;
        margin: 0 auto;
        display: block !important;
        margin-top: 0;
        text-align: center;
        margin-bottom: 0;
        padding-bottom: 10px !important;
        position: relative;
    }

    .header-contact a:hover {
        background-color: #1f1f1f;
        text-decoration: none !important;
    }





    .support {
        margin: 0;
    }

    .support h3 {
        width: 91%;
        border-left: 5px solid #4f4f4f;
        border-radius: 2px;
        font-weight: bold;
        padding: 1% 3%;
        margin: 0 0 2em;
    }

    .support p {
        font-size: 16px;
        line-height: 1.8em;
    }

    .support p strong {
        background: linear-gradient(transparent 60%, #f5bf25 60%);
        font-weight: bold;
        font-size: 18px;
    }

    .selectbox-3 {
        display: inline-flex;
        align-items: center;
        position: relative;
    }

    .selectbox-3::after {
        position: absolute;
        right: 15px;
        width: 10px;
        height: 7px;
        background-color: #535353;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
        content: '';
        pointer-events: none;
        top: 15px;
        left: 200px;
    }

    .selectbox-3 select {
        appearance: none;
        min-width: 230px;
        height: 2.8em;
        padding: .4em calc(.8em + 30px) .4em .8em;
        border: 1px solid #d0d0d0;
        border-radius: 3px;
        background-color: #fff;
        color: #333333;
        font-size: .85em;
        cursor: pointer;
    }

    .list-9 {
        list-style-type: disc;
        list-style-position: inside;
        padding: 1em;
        border: 2px solid #e7e7e7;
        margin: 10px 0 30px 0;
        font-size: 0.7em;
    }

    .list-9 li {
        padding: 1em;
    }

    .list-9 li:not(:last-child) {
        border-bottom: 1px dashed #a4a4a4;
    }

    .list-9 li::marker {
        color: #818181;
        font-size: 1.1em;
    }

    .name-box {
        background-color: #f9f9f9;
        border-radius: 10px;
        padding: 20px;
        max-width: 600px;
        margin: 5% auto;
        font-family: Arial, sans-serif;
        border: 1px solid #d3d3d3;
    }

    .profile-header h2 {
        text-align: center;
        font-size: 24px;
        color: #333;
    }

    .profile-content {
        display: flex;
        align-items: center;
        margin-top: 0;
        width: 100%;
    }

    .profile-image img {
        border-radius: 50%;
        width: 70px;
        height: 70px;
        margin-right: 0;
        position: relative;
        left: 10px;
    }

    .profile-info-name {
        margin: 0;
        font-size: 1em !important;
        font-weight: bold;
    }

    .profile-info-name span {
        font-size: 14px !important;
    }

    .profile-info p {
        margin: 5% 0;
        color: #555;
        font-size: .65em;
        line-height: 1.2em;
    }

    .single-line {
        margin: 0;
        overflow: hidden;
        border: dotted 4px #04c755;
        padding: 20px;
        width: 85%;
        margin: 0 auto 40px;
        background: #f1f5f3;
    }

    .single-line img {
        width: 100%;
        height: auto;
        top: 50px;
        left: 0;
    }

    .single-line p {
        font-size: 14px;
        line-height: 1.2em;
        margin-bottom: 10px;
    }

    .single-line-left {
        float: left;
        width: 15%;
    }

    .single-line-right {
        float: right;
        width: 75%;
        margin-right: 2%;
    }

    .single-line-right a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background-color: #04c755;
        color: #fff !important;
        padding: 10px;
        font-size: .9em;
        font-weight: bold;
        border-radius: 3px;
        text-decoration: none;
        transition: background-color 0.3s ease;
        max-width: 100%;
        width: 95%;
        margin: 0 auto;
        display: block !important;
        margin-top: 0;
        text-align: center;
        margin-bottom: 0;
        padding-bottom: 10px !important;
        position: relative;
    }

    .single-line-right a:hover {
        background-color: #76b319;
        text-decoration: none !important;
    }







    .review-wrapper {
        display: flex;
        overflow-x: auto;
        margin-right: 10px;
        padding: 20px 0;
        margin-top: 30px;
        padding-top: 30px !important;
        position: relative;
    }

    .review-container {
        min-width: 190px;
        flex-shrink: 0;
        border: 2px solid #dfdfdf;
        border-radius: 9px;
        padding: 40px 20px 20px;
        text-align: center;
        background-color: #fff;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.04);
        position: relative;
        width: 150px;
        margin-right: 20px;
    }

    .review-icon {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        background-color: #fff;
        border: 2px solid #000;
        position: absolute;
        top: -30px;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: visible;
        z-index: 10;
    }

    .review-icon img {
        width: 60px;
        height: 60px;
        border-radius: 50%;
        object-fit: cover;
    }

    .review-content p {
        margin-top: 4%;
        font-size: .7em;
        line-height: 1.1;
        color: #333;
        margin-bottom: 0;
    }

    .continue-button {
        display: block;
        width: 100%;
        margin-top: 20px;
        padding: 10px;
        background-color: #387ed8;
        border: none;
        border-radius: 5px;
        font-size: 16px;
        font-weight: bold;
        color: #fff;
        cursor: pointer;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    .continue-button:hover {
        background-color: #689CDF;
    }

    .continue-button a {
		text-decoration: none;
        color: #fff;
    }


	.ogx-newlist3__right{
		width: 50px;
	}

	.ogx-newlist3__title{
		font-size: 1em;
	}


	.ogx-latestRail__more{
		margin-top: 44%;
	}











    .top-review-h2 {
        position: relative;
        padding: 1em 2em;
        text-align: center;
        font-size: 1em;
        margin: 3% 0;
        font-weight: bold;
    }

    .top-review-h2:before, .top-review-h2:after {
        position: absolute;
        content: '';
    }

    .top-review-h2:after {
        top: 0;
        left: 0;
        width: 50px;
        height: 50px;
        border-top: 2px solid #000;
        border-left: 2px solid #000;
    }

    .top-review-h2:before {
        right: 0;
        bottom: -12px;
        width: 50px;
        height: 50px;
        border-right: 2px solid #000;
        border-bottom: 2px solid #000;
    }









    .category {
        margin: 3% auto 0;
        width: 95%;
        overflow: hidden;
    }

    .category-name {
        position: absolute !important;
        top: 410px !important;
        z-index: 2;
        color: #fff;
        font-size: 34px;
        text-align: center;
        font-weight: bold;
    }

    .top-bar {
        overflow: hidden;
        margin: 0% auto 10%;
        display: block;
    }

    .top-bar li {
        float: none;
        width: 100%;
        margin: 2% 0;
    }

    .top-bar li:first-child {
        margin-left: 0%;
    }

    .top-bar img {
        width: 100%;
        height: auto;
    }

    .footer {
        background-color: #ececec;
        color: #fff;
        padding: 40px 0 0;
        font-family: 'Arial', sans-serif;
    }

    .footer .container {
        display: block;
        justify-content: space-between;
        max-width: 1200px;
        margin: 0 auto;
        overflow: hidden;
    }

    .footer-logo {
        width: 80%;
        text-align: center;
        margin: 0 auto;
    }

    .footer-logo img {
        width: 100%;
        height: auto;
    }

    .footer-logo h2 {
        color: #fff;
        font-size: 24px;
        margin: 10px 0;
    }

    .footer-logo p {
        font-size: 9px;
        color: #4f4f4f;
        text-align: center;
        display: contents;
    }

    .footer-links {
        flex: 1;
        display: block;
        float: none;
        width: 100%;
        text-align: center;
        margin: 10% 0;
    }

    .footer-links nav ul {
        list-style: none;
        padding: 0;
        display: block;
        justify-content: center;
        margin-bottom: 20px;
    }

    .footer-links nav ul li {
        margin: 15px 0;
        display: block;
        overflow: hidden;
        width: 100%;
        font-size: .9em;
    }

    .footer-links nav ul li a {
        color: #000;
        text-decoration: none;
    }

    .footer-links nav ul li a:hover {
        text-decoration: underline;
    }

    .contact-button {
        background-color: #ffcc00;
        color: #1c1e26;
        padding: 10px 20px;
        border-radius: 5px;
        text-decoration: none;
        font-weight: bold;
    }

    .footer-contact {
        flex: 1;
        float: left;
        width: 46%;
        margin-right: 1%;
        margin-left: 3%;
    }

    .footer-contact h3 {
        color: #333333;
        font-size: 1em;
        margin-bottom: 15px;
        font-weight: bold;
    }

    .footer-contact p, .footer-contact a {
        color: #5e5e5e;
        text-decoration: none;
    }

    .footer-contact p, .footer-contact a:hover {
        text-decoration: underline;
    }

    .footer-contact li {
        font-size: .7em;
        margin-bottom: 5%;
        margin-top: 11%;
    }

    .footer-topics {
        float: right;
        width: 46%;
        margin-right: 3%;
        margin-left: 1%;
    }

    .footer-topics h3 {
        color: #333333;
        font-size: 18px;
        margin-bottom: 15px;
        font-weight: bold;
    }

    .footer-topics ul {
        list-style: none;
        padding: 0;
    }

    .footer-topics ul li {
        font-size: 13px;
        margin-bottom: 10%;
        margin-top: 15%;
    }

    .footer-topics ul li a {
        color: #5e5e5e;
        text-decoration: none;
    }

    .footer-topics ul li a:hover {
        text-decoration: underline;
    }

    .footer-bottom {
        text-align: center;
        padding: 20px 0;
        background-color: #181a21;
        border-top: 1px solid #333;
        margin-top: 30px;
    }

    .footer-bottom p {
        margin: 0;
        font-size: .7em;
        color: #a0a0a0;
    }

    .footer-terms {
        display: none;
    }

    .footer-terms a {
        color: #a0a0a0;
        text-decoration: none;
        margin: 0 10px;
    }

    .most-popular-container {
        width: 100%;
        padding: 4%;
        box-sizing: border-box;
        position: relative;
    }

    .section-title {
        font-size: 1.4em;
        font-weight: bold;
        margin-bottom: 20px;
        text-align: left;
    }

    .most-popular-grid {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        gap: 20px;
    }

    .popular-post {
        background: #fff;
        border: none;
        border-radius: 8px;
        overflow: hidden;
        width: calc(50% - 15px);
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }

    .popular-post:hover {
        transform: translateY(-5px);
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
    }

    .post-thumbnail img {
        width: 100%;
        height: auto;
        display: block;
    }

    .post-title {
        font-size: .7em;
        font-weight: none;
        margin: 1% 0;
        color: #333;
        text-align: left;
        line-height: 1.3em;
    }

    .post-title a {
        text-decoration: none;
        color: inherit;
    }

    .more-articles {
        position: absolute;
        top: 15px;
        right: 20px;
    }

    .more-articles-btn {
        font-size: .55em;
        padding: 10px;
        border: 2px solid #868686;
        border-radius: 5px;
        text-decoration: none;
        color: #626262;
        transition: background 0.3s ease;
    }

    .more-articles-btn:hover {
        background: #000;
        color: #fff;
    }

    .must-list {
        overflow: hidden;
        width: 98%;
        margin: 0 auto;
        border-top: 1px solid #ddd;
        padding-top: 8%;
        margin-top: 0%;
    }


  .card-container {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0 16px;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .card {
    flex: 0 0 80%;
    max-width: 420px;
    border-radius: 15px;
    overflow: hidden;
    border: 1px solid #ddd;
    scroll-snap-align: start;
    transition: transform .3s ease, box-shadow .3s ease;
  }

  .card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 20px rgba(0,0,0,.15);
  }

  .card img {
    width: 100%;
    height: auto;
    display: block;
  }

  .card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 85%;
    padding: 240px 20px 30px;
    color: #fff;
    background: linear-gradient(to bottom, rgba(0,0,0,0), #3c3c3c);
    text-shadow: 0 2px 4px rgb(56 56 56 / 50%);
  }

  .card-content h2 {
    font-size: 24px;
    font-weight: bold;
  }

  .card-content p {
    font-size: 13px;
    margin-top: 5px;
  }

    .page-template {
        width: 92%;
        margin: 0px auto 0;
		padding-top: 20%;
    }

    .single-tag {
        border: 1px solid #ddd;
        padding: 15px 20px;
        font-size: 12px;
        margin-top: 5px;
        overflow: hidden;
        display: inline-block;
        background: #f4f4f4;
    }

    .tags a {
        text-decoration: none;
        background: #ddd;
        padding: 5px 10px;
        margin-right: 0;
        border-radius: 3px;
        font-size: 12px;
        margin-left: 0;
        margin-top: 1%;
        display: inline-block;
    }

    .date .tags {
        margin-left: 5px;
        margin-right: 5px;
        position: relative;
        top: 15px;
    }

    div.fixed-wrap h1 {
        font-size: .6em;
        position: absolute;
        top: 340px;
        left: 10%;
        color: #fff;
        font-weight: bold;
        width: 78%;
        text-align: center;
    }

    .toc-001 {
        margin-bottom: 10% !important;
        padding: 5% 2% 5% !important;
        border: 1px solid #999;
        background-color: #ffffff;
        color: #333333;
        margin-top: 40px;
        width: 96%;
        max-height: 230px;
        overflow: hidden;
        position: relative;
        transition: max-height 0.3s ease;
    }

    .toc-001.gradient-visible::after {
        content: "";
        position: absolute;
        bottom: 0px;
        left: 0;
        right: 0;
        height: 100px;
        background: linear-gradient(to bottom, transparent, white);
        display: block;
    }

    .toc-001:not(.gradient-visible)::after {
        display: none;
    }

    .toc-001 div {
        display: flex;
        align-items: center;
        margin: 0;
        padding: 5px 0;
        margin-left: 5%;
        font-weight: bold;
        font-size: 1.1em;
    }

    .toc-001 ol {
        counter-reset: section;
        list-style-type: none;
        padding: 20px 0 0;
        margin-left: 2%;
    }

    .toc-001 ol > li {
        counter-increment: section;
        margin-bottom: 3%;
        position: relative;
        font-size: .8em;
        line-height: 1.4em;
        width: 80%;
        margin: 0 auto;
    }

    .toc-001 ol > li::before {
        content: counter(section) ". ";
        position: absolute;
        left: -25px;
    }

    .toc-001 ol ol {
        counter-reset: subsection;
        list-style-type: none;
        padding-left: 0%;
        width: 100%;
    }

    .toc-001 ol ol > li {
        counter-increment: auto;
        margin-bottom: 2%;
        position: relative;
        font-size: 1em;
    }

    .toc-001 ol ol > li::before {
        content: counter(section) "-" counter(subsection) ". ";
        position: absolute;
        left: -35px;
    }

    .toc-001 a {
        color: #166c9d;
        text-decoration: none;
        margin-left: 10px;
    }

    .toc-container {
        position: relative;
        width: 90%;
        margin: 0 auto;
    }

    .toggle-button {
        position: relative;
        padding: 10px 20px;
        width: 90%;
        background-color: #166c9d;
        color: #fff;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        font-size: 16px;
        text-align: center;
        margin: 0 auto 20px auto;
        display: block;
        top: 0;
        left: 0;
    }

    .toggle-button:hover {
        background-color: #0e4a72;
    }







    .custom-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background-color: #04c755;
        color: #fff;
        padding: 2% 10%;
        font-size: 1.1em;
        font-weight: bold;
        border-radius: 3px;
        text-decoration: none;
        transition: background-color 0.3s ease;
        max-width: 100%;
        width: 75%;
        margin: 0 auto;
        display: block;
        margin-top: 10px;
        text-align: center;
        margin-bottom: 40px;
    }

    .custom-button img {
        margin-right: 10px;
        width: 30px;
        height: 30px;
        flex-shrink: 0;
        display: inline-block;
        margin: 0 !important;
        position: relative;
        top: 15px;
        right: 15px;
    }

    .custom-button:hover {
        background-color: #76b319;

    }

    .wpcf7 {
        width: 100%;
        float: none;
    }


    .single {
        margin-top: 5%;
    }

    .toc-expanded {
        max-height: none !important;
    }

    .single img {
        width: 100% ;
        height: auto;
        display: block;
        margin: 1% auto 5% auto !important;
    }

    .toc-001.toc-expanded::after {
        display: none !important;
    }


    .app {
        width: 70%;
        margin: 15% auto;
        border: 1px solid #ddd;
        padding: 10%;
        border-radius: 3px;
    }




    .app-right-1 {
        font-size: 1.3em !important;
        font-weight: bold;
        margin-bottom: 3% !important;
        line-height: 1em !important;
        height: auto;
    }

    .app-right-2 {
        font-size: .8em !important;
        margin-bottom: 10px !important;
    }

    .app-right-3 {
        font-size: .6em !important;
        margin-bottom: 3% !important;
        line-height: 1.6em !important;
    }

    .app-right {
        width: 70%;
        float: right;
    }

    .app-bottom {
        clear: both;
        margin-top: 20px !important;
        overflow: hidden;
    }


    .app-bottom {
        margin: 0;
    }

    .app-bottom li {
        float: left;
        width: 48%;
        margin: 0 1%;
    }





    .wp-caption-text {
        font-size: .7em !important;
        color: #666;
        margin-top: 0;
    }

    .blog-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background-color: #808080;
        color: #fff;
        padding: 5% 10%;
        font-size: .85em;
        font-weight: bold;
        border-radius: 3px;
        text-decoration: none;
        transition: background-color 0.3s ease;
        max-width: 100%;
        width: 75%;
        margin: 10% auto;
        display: block;
        text-align: center;
    }

    .blog-button:hover {
        background-color: #A2A2A2;
    }


    #cf7-area textarea {
        height: 200px;
        padding: 0.625em 0.4375em;
        width: 90%;
    }



    .media-tabs {
        margin-top: 50px;
        padding-bottom: 0;
        background-color: #fff;
        width: 100%;
        margin: 0 auto;
    }



    input[name="media_tab_item"] {
        display: none;
    }

    .media-tab_content {
        display: none;
        padding: 3% 0 0;
        clear: both;
        overflow: hidden;
    }



    .media-tabs input[type="radio"] {
        display: none;
    }


    .media-tabs-2 {
        margin-top: 50px;
        padding-bottom: 0;
        background-color: #fff;
        width: 100%;
        margin: 0 auto;
    }



    input[name="media_tab_item_55"] {
        display: none;
    }

    .media-tab_content2 {
        display: none;
        padding: 3% 0 0;
        clear: both;
        overflow: hidden;
    }




    .media-tabs-2 input[type="radio"] {
        display: none;
    }



    .box-content {
        float: left;
        width: 70%;
    }


    .recommended-image {
        width: 360px;
        height: auto;
        background-color: #fff;
        margin-right: 20px;
    }


    #cf7-area {
        width: 100%;
        float: none;
    }

    #cf7-area p {
        font-size: .75em;
        margin-bottom: 30px;
        line-height: 1.6em;
    }

    .profile-info {
        width: 75%;
        float: right;
        margin-left: 5%;
    }

    .profile-image {
        width: 30%;
        float: left;
    }

    .sma-header-menu {
        text-align: center;
        padding: 1% 1% 15%;
    }

    .sma-header-menu-logo img {
        width: 100px;
        margin-bottom: 20px;
    }

    .sma-header-menu-social a img {
        width: 30px;
        margin: 0 5px;
    }

    .sma-header-menu-links {
        margin: 5% 0 4%;
    }

    .sma-header-menu-links .dropdown {
        margin-bottom: 10px;
    }


    .dropdown-content {
        display: block;
        background-color: #f5f5f5;
        text-align: left;
        width: 90%;
        margin: 0 auto;
        padding: 2% 4%;
    }

    .dropdown-content a {
        background: #e7e7e7;
        padding: 3% !important;
        font-size: .6em;
        border-radius: 3px;
        margin: 1% 0;
    }

    .dropdown:hover .dropdown-content {
        display: block;
    }

    .sma-header-menu-social {
        margin-top: 4%;
    }

    .sma-header-menu-menu {
        list-style: none;
        padding: 0;
        margin-top: 10%;
    }

    .sma-header-menu-menu li {
        margin: 5% 0px;
        font-size: .7em;
    }

    .sma-header-menu-menu a {
        color: #fff;
        text-decoration: none;
    }

    .sma-header-menu-bottom {
        margin-top: 20px;
    }

    .cookie-settings-btn {
        background-color: transparent;
        border: 1px solid #2a2a2a;
        padding: 5px 15px;
        margin-bottom: 10px;
    }

    .sma-header-menu-country-select {
        margin-top: 10px;
    }

    .sma-header-menu-country-select select {
        background-color: #000;
        color: #fff;
        border: 1px solid #fff;
        padding: 5px;
    }

    .sma-header-menu-legal {
        font-size: 12px;
        margin-top: 20px;
        color: #999;
    }

    .pro-ul1 li {
        margin: 0;
        width: 22%;
        margin-right: 0;
        float: left;
    }

    .pro-ul1 img {
        width: 100%;
        height: auto;
        border-radius: 0;
        margin: 10px;
    }

    .unique-profile-wrapper {
        flex-direction: column;
        padding: 10px;
        border-radius: 5px;
        max-width: 100%;
    }

    .unique-profile-box {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .unique-profile-pic img {
        width: 60px;
        height: 60px;
        margin-bottom: 15% !important;
        margin-top: 25% !important;
        margin-right: 0;
    }

    .unique-profile-details {
        width: 100%;
    }

    .unique-profile-details h2 {
        font-size: 20px;
        margin-bottom: 5px;
        margin-top: 5px;
        font-weight: bold;
    }

    .unique-profile-details h3 {
        font-size: 14px;
        margin-bottom: 8px;
        margin-top: 5px;
        color: #666;
    }

    .unique-profile-details p {
        font-size: .7em;
        line-height: 1.5;
        margin-bottom: 15px;
    }

    .unique-social-list {
        justify-content: center;
        margin-bottom: 10px;
    }

    .unique-social-item {
        margin-right: 2%;
        margin-left: 2%;
    }

    .unique-social-item img {
        width: 35px;
        height: 35px;
        border-radius: 0 !important;
    }

    .unique-read-more {
        position: relative;
        top: auto;
        right: auto;
        padding: 6%;
        margin-top: 8% !important;
        font-size: 12px;
        border: 1px solid #939393;
        text-align: center;
        margin-bottom: 3%;
        display: block;
    }

    .unique-read-more:hover {
        background-color: #A2A2A2;
        transition: all .3s;
    }

    .custom-main-wrapper {
        padding: 0;
        max-width: 100%;
        margin: 0 auto;
    }

    .custom-category-section {
        margin-bottom: 1%;
        position: relative;
    }

    .custom-category-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 1%;
    }

    .custom-category-header h2 {
        font-size: .95em;
        margin: 0;
        text-decoration: none;
    }

    .custom-category-header .custom-see-all {
        color: #007bff;
        text-decoration: none;
    }

    .custom-scroll-area {
        display: flex;
        gap: 20px;
        overflow-x: scroll;
        padding-bottom: 10px;
    }

    .custom-scroll-area::-webkit-scrollbar {
        display: none;
    }

    .custom-large-card {
        width: 330px;
        background-color: white;
        border-radius: 10px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        flex: 0 0 auto;
        margin-top: 0;
        margin-bottom: 0;
    }

    .custom-large-card img {
        width: 100%;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
    }

    .custom-large-card-content {
        padding: 15px;
    }

    .custom-large-card-content h3 {
        font-size: 1.1em;
        margin-bottom: 5px;
    }

    .custom-large-card-content p {
        font-size: 1em;
        margin-bottom: 5px;
    }

    .custom-large-card-content .custom-rating {
        font-size: 14px;
        color: #ffa500;
        margin-bottom: 5px;
    }

    .custom-large-card-content strong {
        color: #333;
        font-weight: bold;
        font-size: 1em;
    }

    .custom-small-card {
        width: 290px;
        background-color: white;
        border-radius: 10px;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        flex: 0 0 auto;
        position: relative;
    }

    .custom-small-card img {
        width: 100%;
        border-top-left-radius: 10px;
        border-top-right-radius: 10px;
    }

    .custom-small-card-content {
        padding: 15px;
    }

    .custom-small-card-content h3 {
        font-size: 1em;
        margin-bottom: 3%;
    }

    .custom-small-card-content p {
        font-size: .8em;
        margin-bottom: 5px;
    }

    .custom-small-card-content .custom-rating {
        font-size: 1em;
        color: #ffa500;
        margin-bottom: 5px;
    }

    .custom-small-card-content strong  {
        color: #333;
        font-weight: bold;
        font-size: .8em;
    }

    .custom-rank-badge {
        position: absolute;
        top: 10px;
        left: 10px;
        background-color: gold;
        color: white;
        font-size: 16px;
        padding: 5px 10px;
        border-radius: 5px;
    }

    .custom-large-card:hover, .custom-small-card:hover {
        background-color: #fff4e0;
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
        transition: background-color 0.3s ease, box-shadow 0.3s ease;
    }

    .custom-large-card, .custom-small-card {
        transition: background-color 0.3s ease, box-shadow 0.3s ease;
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        background-color: white;
    }

    .custom-small-card-p {
        font-size: 12px;
        text-align: right;
    }



    .recommended-content {
        display: flex;
        align-items: center;
        margin-top: 0px;
    }

    .recommended-image {
        width: 80px;
        height: 80px;
        background-color: #d3eaea;
        margin-right: 10px;
    }



    .recommended-image img {
        width: 80px !important;
        height: 80px !important;
        object-fit: cover;
        border-radius: 5px;
        margin: 0;
    }


















    .content-wrapper, .custom-content-wrapper {
        display: flex;
        max-width: 100%;
        margin: 5% auto;
        padding: 0;
        align-items: center;
    }

    .image-section, .custom-image-section {
        flex: 1;
        margin-right: 20px;
    }

    .image-section img, .custom-image-section img {
        width: 100%;
        height: auto;
        border-radius: 10px;
    }

    .text-section, .custom-text-section {
        flex: 1;
        margin-left: 1%;
        margin-right: 2%;
    }

    .text-section h2, .custom-text-section h2 {
        font-size: 1.2em;
        font-weight: bold;
        margin-bottom: 15px;
        line-height: 1.3em;
    }

    .text-section p, .custom-text-section p {
        font-size: .9em;
        line-height: 1.4em;
        margin-bottom: 15px;
    }

    .text-section a, .custom-text-section a {
        color: #007bff;
        text-decoration: none;
    }

    .text-section a:hover, .custom-text-section a:hover {
        text-decoration: underline;
    }

    .custom-content-wrapper {
        flex-direction: row-reverse;
    }

    .content-wrapper, .custom-content-wrapper {
        flex-direction: column;
    }

    .image-section, .custom-image-section {
        margin-bottom: 20px;
        margin-right: 0;
    }

    .custom-content-wrapper {
        flex-direction: column;
    }

    .kotei-container {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        background-color: #f9f9f9;
        padding: 20px;
        box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
        display: flex;
        justify-content: space-between;
        align-items: center;
        z-index: 1000;
    }

    .kotei-content {
        display: flex;
        justify-content: space-between;
        width: 100%;
        align-items: center;
        max-width: 1200px;
        margin: 0 auto;
    }

    .kotei-content p {
        font-size: 16px;
        color: #333;
        margin-right: 20px;
    }

    .kotei-buttons {
        display: flex;
        gap: 10px;
        font-size: .55em;
    }

    .kotei-button-outline {
        padding: 10px 20px;
        border: 1px solid #333;
        background-color: transparent;
        color: #333;
        text-decoration: none;
        border-radius: 5px;
        transition: background-color 0.3s ease;
    }
    .kotei-button-solid {
        padding: 10px 20px;
        background-color: #333;
        color: white;
        text-decoration: none;
        border-radius: 5px;
        transition: background-color 0.3s ease;
		font-size: .8em !important;
    }

    .kotei-button-solid:hover {
        background-color: #555;
    }

    .kotei-container {
        padding: 4%;
        background-color: #333;
        width: 92%;
        z-index: 0;
    }

    .kotei-content {
        flex-direction: column;
        align-items: center;
    }

    .kotei-content p {
        font-size: .6em;
        color: white;
        text-align: center;
        margin-bottom: 4%;
        margin-top: 2%;
        line-height: 1.5em;
        width: 90%;
        margin-right: 0;
    }

    .kotei-buttons {
        width: 100%;
        justify-content: space-around;
        flex-wrap: wrap;
        row-gap: 8px;
    }


    .kotei-button-outline, .kotei-button-solid {
        box-sizing: border-box;
        width: 46%;

        padding: 12px;
        text-align: center;
    }

    .kotei-buttons > :nth-child(3) {
        width: 100%;
    }

    .kotei-button-outline {
        background-color: white;
        color: #333;
    }

    .kotei-button-solid {
        background-color: #383838;
    }

    .kotei-button-outline:hover {
        background-color: #f1f1f1;
    }

    .kotei-button-solid:hover {
        background-color: #1f1f1f;
    }

    .kotei-content p br {
        display: block;
    }

    .custom-card-container {
        display: flex;
        overflow-x: scroll;
        padding: 20px;
    }

    .custom-card {
        width: 540px;
        background-color: white;
        margin-right: 20px;
        flex-shrink: 0;
        border: 1px solid #ddd;
        position: relative;
    }

    .custom-card-image-wrapper {
        float: none;
        width: 100%;
        position: relative;
    }

    .custom-card-image-wrapper img {
        width: 100%;
        height: auto;
        border-radius: 0;
    }

    .custom-card-tag {
        position: absolute;
        bottom: -63px;
        left: 10px;
        background-color: #2b2e83;
        color: white;
        padding: 5px 10px;
        border-radius: 20px;
        font-size: .5em;
    }

    .custom-card-content {
        float: none;
        width: 90%;
        margin: 0 auto;
    }

    .custom-card-content h3 {
        font-size: .7em;
        font-weight: bold;
        margin-bottom: 3%;
        line-height: 1.2em;
        margin-top: 10px;
    }

    .custom-card-content .custom-card-date {
        font-size: .6em;
        color: #777;
        margin: 5px 0px;
    }

    .custom-card-content .custom-card-button {
        background-color: #523d35;
        color: white;
        padding: 8px 16px;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        font-size: .8em;
        display: block;
        width: 90%;
        margin: 7% auto 10% auto;
    }

    .custom-card-content .custom-card-button:hover {
        background-color: #3e2d27;
    }

    .custom-card-text {
        padding: 10% 5% 5%;
        background-color: #f0f0f0;
        font-size: .6em !important;
        color: #555;
        clear: both;
        line-height: 1.3em;
    }

    .custom-card-container {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
		padding: 0;
    }

    .custom-card {
        scroll-snap-align: center;
        width: 250px;
        margin-right: 10px;
    }

    .custom-card-container::-webkit-scrollbar {
        display: none;
    }

    .custom-card-text {
        font-size: 12px;
    }

    .custom-scroll-area-new {
        display: block !important;
    }

    .page-template1 {
        margin-top: 10% !important;
    }

    .noblog {
        font-size: .8em;
    }

    .custom-blog-button1  {
        padding: 4% 12%;
        background-color: #007bff;
        color: white;
        text-decoration: none;
        border-radius: 5px;
        font-size: 10px;
        position: relative;
        top: 0px;
        left: 0px;
        display: inline-block;
        margin: 6% 0 4%;
        width: auto;
    }

    .custom-blog-button2  {
        padding: 4% 12%;
        background-color: #007bff;
        color: white;
        text-decoration: none;
        border-radius: 5px;
        font-size: 12px;
        position: relative;
        top: 7px;
        left: 5px;
        display: inline-block;
        margin: 1% 0 4%;
        width: auto;
    }

    .hotel-rev-p {
        font-size: .7em !important;
        margin-top: 3%;
        line-height: 1.3;
        background: #fff6d9;
        padding: 2%;
        border: 1px solid #e8e2a0;
        border-radius: 3px;
    }

blockquote {
    position: relative;
    padding: 20px 45px 10px 60px;
    box-sizing: border-box;
    font-style: italic;
    background: #efefef;
    color: #555;
    width: 95%;
    margin: 50px auto;
    font-size: 11px;
    line-height: 1.4em;
}

#toc_container {
	background: #fff;
	border: 1px solid #ccc;
	box-sizing: border-box;
	display: block !important;
	line-height: 1.4;
	margin: 2em auto 0;
	padding: 2em 1em 1em;
	position: relative;
	width: 100% !important;
}

.toc_title {
	background-color: #fff;
	padding: 0 1em;
	position: absolute;
	text-align: center;
	top: -.8em;
}







.kotei-floating {
  position: fixed;
  bottom: 60px;
  right: 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 1100;
}


.kotei-floating .float-btn {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  text-decoration: none;
  color: #fff;
  font-size: 13px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  transition: all 0.2s ease;
background: #ef8c8c;
	margin-bottom: 10%;
}


.kotei-floating .float-btn.outline  {
        background-color: #333;
        margin-bottom: 45%;
    }


.kotei-floating .float-btn.solid {
  background-color: #04c755;
}


.kotei-floating .float-btn.gift {
  background-color: #ff5e3a;
  color: #fff;
  font-size: 20px;
  line-height: 1;
  border: none;
}


.kotei-floating .float-btn:hover {
  opacity: 0.85;
  transform: translateY(1px);
}


.kotei-floating .float-btn.present img.emoji {
  width: 2em !important;
  height: 2em !important;
  object-fit: contain;
  display: block;
}



.line_btn {
    padding: 1% 0;
    width: 90%;
    line-height: 60px;
    text-align: center;
    text-decoration: none;
    color: #fff;
    background-color: #06C755;
    margin: 0 auto 10%;
    display: block;
}







  .moving-wrapper {
    margin: 0 0 24px;
    padding: 0 16px;
  }

  .moving-wrapper p {
        font-size: 0.9em;
        line-height: 1.5;
        margin: 3% 0;
    }

  .moving-wrapper strong {
    background: linear-gradient(transparent 60%, #f5bf25 60%);
    font-weight: bold;
    font-size: 1em;
  }

  .moving-wrapper h2 {
    position: relative;
    padding: 1em 0.5em;
    text-align: center;
    font-size: 1.1em;
    margin: 12% 0 8%;
    font-weight: bold;
    line-height: 1.5em;
  }


  .moving-wrapper h2:before,
  .moving-wrapper h2:after {
    position: absolute;
    content: '';
  }

  .moving-wrapper h2:after {
    top: 0;
    left: 0;
    width: 32px;
    height: 32px;
    border-top: 2px solid #000;
    border-left: 2px solid #000;
  }

  .moving-wrapper h2:before {
    right: 0;
    bottom: 0;
    width: 32px;
    height: 32px;
    border-right: 2px solid #000;
    border-bottom: 2px solid #000;
  }

  .moving-wrapper h3 {
    border-bottom: 3px dashed #000;
    display: inline-block;
    font-weight: bold;
    margin-top: 9%;
    margin-bottom: 8%;
    padding-bottom: 4%;
    line-height: 1.4em;
    font-size: 1.05em;
  }


  .section--soft {
    padding: 20px 0;
  }

  .split {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 0 16px;
  }




  .lead {
    font-size: .9em !important;
    line-height: 1.8;
    margin-bottom: 0 !important;
  }





  .advisor-avatar {
    width: 56px;
    height: 56px;
  }






  .btn {
    width: 85%;
    padding: 14px 16px;
    font-size: .8em;
    border-radius: 5px;
    margin-top: 5%;
  }

.visa-section {
  max-width: 1100px;
  margin: 20px auto;
  padding: 24px 18px 28px;
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
  border: 1px solid rgba(148, 163, 184, 0.25);
  box-sizing: border-box;
}




.visa-title {
  font-size: .9em !important;
  font-weight: 700;
  color: #111827;
  margin-bottom: 10px;
}









.visa-points {
  list-style: none;
  padding: 0;
  margin: 0;
}

.visa-points li {
  position: relative;
  padding-left: 14px;
  font-size: .7em;
  line-height: 1.6;
  color: #6b7280;
  margin-top: 1px;
}

.visa-points li::before {
  content: "繝ｻ";
  position: absolute;
  left: 3px;
  top: 0;
}





.visa-profile-label {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  font-size: 10px;
  font-weight: 600;
  border-radius: 999px;
  background: #e5f4ff;
  color: #0369a1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 8px;
}





.advisor-button {
    display: inline-block;
    width: 100%;
    max-width: 360px;
    padding: 14px 0;
    background: #22c55e;
    color: #fff;
    font-weight: 700;
    border-radius: 5px;
    text-decoration: none;
    font-size: .9em;
    transition: background 0.2s;
}


.header-no {
    margin-top: 28%;
}




	#gt_float_wrapper{
	top: -115px !important;
}

    .button1 {
        position: fixed;
        right: 10px;
        bottom: -55px;
        font-size: 20px;
        cursor: pointer;
        transition: .3s;
    }


  .list-8 {
    width: 80%;
    margin: 32px auto;
    padding: 1.4rem 1.2rem 1.4rem 2.2rem;
    font-size: 0.9rem;
  }

  .list-8::before {
    inset: 12px auto 12px 0;
  }

  .list-8 > div {
    left: 1.2rem;
    font-size: 0.7rem;
  }


  .single-new-ul {
    width: 80%;
    padding: 1.6rem 1.4rem 1.6rem 2.4rem;
    margin: 36px auto;
    font-size: 0.95rem;
  }

  .single-new-ul::before {
    width: 6px;
    inset: 14px auto 14px 0;
  }

  .single-new-ul > div {
    left: 1.4rem;
    font-size: 0.72rem;
  }



    .trave-cta {
        font-size: 1.1em;
        width: 90%;
        margin: 3% auto;
    }


.trave-plan-badge {
    position: absolute;
    top: 10px;
    left: 21%;
    transform: translateX(-50%);
    background: #ffd83b;
    color: #333;
    font-size: 11px !important;
    padding: 4px 12px;
    border-radius: 999px;
    font-weight: 600;
    z-index: 50;
    pointer-events: none;
}

	.button014 a{
		font-size: 0.85em
	}

    .hero {
        padding: 3% 0;
        width: 100%;
    }




:root{
  --bg: #f3efea;
  --panel: #ffffff;
  --line: #e7ded2;
  --text: #222;
  --muted:#6f6a64;
  --accent:#b78526;
  --shadow: 0 10px 30px rgba(0,0,0,.12);
  --radius: 16px;
}


.menu-open-btn{
  position: fixed;
  right: 14px;
  top: 52px;
  z-index: 9999;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(0,0,0,.65);
  color: #fff;
  font-size: 22px;
  cursor: pointer;
  user-select: none;
}


.menu-toggle{
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}


.menu-overlay{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.35);
  z-index: 9997;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}


.menu-drawer{
  position: fixed;
  top: 0;
  right: 0;
  height: 100dvh;
  width: min(92vw, 420px);
  background: linear-gradient(180deg, #f6f1ea 0%, var(--bg) 100%);
  z-index: 9998;
  transform: translateX(105%);
  transition: transform .28s ease;
  box-shadow: var(--shadow);
  display: flex;
  flex-direction: column;
}


.menu-toggle:checked ~ .menu-overlay{
  opacity: 1;
  pointer-events: auto;
}
.menu-toggle:checked ~ .menu-drawer{
  transform: translateX(0);
}

.menu-toggle:checked ~ .menu-open-btn{
  display: none;
}


.menu-head{
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 16px 16px 10px;
}

.menu-close-btn{
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(0,0,0,.08);
  color: #111;
  font-size: 22px;
  cursor: pointer;
  user-select: none;
}


.menu-ogcard{
  padding: 8px 16px 14px;
  display: grid;
  gap: 10px;
}

#header .menu-ogcard__login{
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 50px;
  border-radius: 14px;
  background: var(--accent);
  border: 1px solid var(--accent);
  color: #fff !important;
  font-weight: 800;
  letter-spacing: .04em;
  font-size: .85em;
  text-decoration: none !important;
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}
.menu-ogcard__row{
  display: flex;
  gap: 10px;
}

#header .menu-ogcard__pill{
  display: flex !important;
  flex: 1 1 50%;
  min-width: 0;
  align-items: center;
  justify-content: center;
  height: 46px;
  border-radius: 14px;
  background: var(--panel);
  border: 1px solid var(--line);
  color: var(--muted) !important;
  font-weight: 700;
  font-size: .76em;
  text-decoration: none !important;
  text-align: center;
}


.menu-cta{
  padding: 8px 16px 14px;
  display: grid;
  gap: 10px;
}

.cta-btn{
  display: flex !important;
  align-items: center;
  justify-content: center;
  height: 50px;
  border-radius: 14px;
  text-decoration: none !important;
  font-weight: 800;
  letter-spacing: .04em;
  box-shadow: 0 8px 18px rgba(0,0,0,.08);
  padding-top: 0 !important;
}

.cta-black{
  background: #b3b3b3;
  color: #fff !important;
  border: 1px solid #757575;
}
.cta-line{
  background: #10b74a;
  color: #fff !important;
}


.menu-recommend{
  padding: 11px 16px 18px;
}
.menu-recommend__label{
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--accent);
}
.menu-recommend__label span{
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: var(--text);
}
.menu-recommend__rail{
  display: flex;
  gap: 12px;
  margin: 0;
  padding: 0 16px 4px 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x mandatory;
}
.menu-recommend__rail::-webkit-scrollbar{ height: 4px; }
.menu-recommend__rail::-webkit-scrollbar-thumb{ background: rgba(0,0,0,.15); border-radius: 999px; }

.menu-recommend__card{
  flex: 0 0 128px;
  display: block;
  scroll-snap-align: start;
  text-decoration: none !important;
}
.menu-recommend__thumb{
  display: block;
  width: 128px;
  height: 128px;
  border-radius: 12px;
  overflow: hidden;
  background: var(--line);
  box-shadow: var(--shadow);
}
.menu-recommend__thumb img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.menu-recommend__title{
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-top: 8px;
  font-size: 12.5px;
  line-height: 1.4;
  font-weight: 700;
  color: var(--text);
}


.menu-nav{
  padding: 0 12px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}


.menu-acc{
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin: 10px 4px;
  overflow: hidden;
}


.menu-acc > summary{
  list-style: none;
  cursor: pointer;
  user-select: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 14px;
  font-weight: 800;
  color: #1a1a1a;
  font-size: .8em;
}
.menu-acc > summary::-webkit-details-marker{ display: none; }


.menu-acc > summary::after{
  content: "+";
  font-weight: 900;
  color: var(--accent);
  font-size: 18px;
  line-height: 1;
  transition: transform .2s ease;
}
.menu-acc[open] > summary::after{
  content: "–";
  transform: translateY(-1px);
}


.menu-nav .menu-link-row{
  display: flex;
  gap: 8px;
  margin: 10px 4px;
}
#header .menu-nav .menu-link{
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  flex: 1 1 50%;
  min-width: 0;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin: 0;
  padding: 14px 10px;
  font-weight: 800;
  color: #1a1a1a !important;
  font-size: .8em;
  text-decoration: none !important;
}
.menu-nav .menu-link::after{
  content: "›";
  font-weight: 900;
  color: var(--accent);
  font-size: 20px;
  line-height: 1;
}
.menu-nav .menu-link:active{
  transform: translateY(1px);
}


.menu-acc-body{
  border-top: 1px solid #efe7dc;
  padding: 8px 12px 12px;
  display: grid;
  gap: 8px;
}

.menu-acc-body a{
  text-decoration: none !important;
  color: #2a2a2a !important;
  font-weight: 700;
  padding: 15px 0 !important;
  border-radius: 12px;
  background: #fbf7f0;
  border: 1px solid #f0e4d0;
  overflow: hidden !important;
  text-align: center;
  font-size: .8em;
}
.menu-acc-body a:active{
  transform: translateY(1px);
}



@media (max-width: 360px){
  }


@media (min-width: 769px){
  .menu-open-btn,
  .menu-overlay,
  .menu-drawer{
    display: none !important;
  }
}

.name-box-tt {
    background: #fafafa;
    border-radius: 22px;
    padding: 24px;
    margin: 40px auto;
    border: 1px solid #eaeaea;
    width: 85%;
    overflow: hidden;
}

	.profile-image-tt{
		width: 30%;
	}

.profile-info-tt {
    font-size: .7em !important;
    line-height: 1.4em;
    font-weight: bold;
}

.profile-content-tt {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    height: auto;
}

.unique-social-item-tt img {
    width: 32px !important;
    height: 34px !important;
    padding: 4px;
    border-radius: 8px;
    background: #fff;
    object-fit: contain;
    transition: .2s;
}

	.custom-tour-card{
		margin-bottom: 0;
	}

	.custom-category-header {
    padding: 0;
}

.clin-p-h1 {
    font-size: 1.3em;
    width: 100%;
    margin: 20px auto;
    line-height: 1.8em;
    text-align: center;
    font-weight: bold;
}

    .clin-p-01 {
        font-size: .8em;
        width: 100%;
        margin: 20px auto;
        line-height: 1.6em;
    }

.og-articlecard__thumb {
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #f3f3f3;
    height: 210px;
}

.og-articlecard__img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

    .pro-ul2 li {
        margin: 0;
        width: 16%;
        margin-right: 0;
        float: left;
    }

	.unique-social-item a{
		padding: 0 !important;
	}

    .pro-ul2 img {
        width: 80% !important;
        height: auto !important;
        padding: 0 !important;
        margin: 10px;
    }

.card-badge {
    position: absolute;
    top: 20px;
    left: 18px;
    background: #2f7f6b;
    color: #fff;
    padding: 2% 5%;
    border-radius: 999px;
    font-size: 1em;
}

.gbj-section-title {
    max-width: 100%;
    margin: 0 auto;
    padding: 0px 0px 0px;
}

	.ogx-cbdLegalNote{
		padding: 0;
	}

	.cv-link-inner{
		width: 100%;
	}

}


.og-map-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:16px;
  padding:12px 18px;
  border-radius:10px;
  background:#111;
  color:#fff;
  font-weight:700;
  font-size:14px;
  text-decoration:none;
  transition:all .18s ease;
}

.og-map-cta:hover{
  background:#333;
  transform:translateY(-2px);
}

.og-map-cta:active{
  transform:scale(.97);
}


@media (max-width:768px){
    .og-map-cta {
        width: 80%;
        text-align: center;
        height: auto;
        line-height: 1.5em;
        margin-left: auto;
        padding-bottom: 5%;
        padding-top: 0;
        margin-top: 6%;
        font-size: 0.9em;
        margin-right: auto;
        display: block;
    }
}



.area-compare{
margin:24px 0;
width:100%;
overflow-x:auto;
}



.area-table{
width:100%;
border-collapse:collapse;
font-size:15px;
line-height:1.8;
min-width:760px;
background:#fff;
}



.area-table th{
background:#fafafa;
font-weight:600;
font-size:14px;
letter-spacing:0.02em;
}



.area-table th,
.area-table td{
border:1px solid #e6e6e6;
padding:12px 14px;
text-align:left;
vertical-align:top;
}



.area-table tr:nth-child(even){
background:#fcfcfc;
}



.area-table tbody tr:hover{
background:#f7f7f7;
transition:background 0.2s ease;
}



@media (max-width:1024px){

.area-table{
font-size:14px;
line-height:1.7;
}

.area-table th,
.area-table td{
padding:10px 12px;
}

}



@media (max-width:768px){

.area-compare{
overflow-x:auto;
-webkit-overflow-scrolling:touch;
}

.area-table{
font-size:13px;
line-height:1.6;
min-width:680px;
}

.area-table th,
.area-table td{
padding:9px 10px;
}

}



@media (max-width:480px){

.area-table{
font-size:12.5px;
line-height:1.6;
min-width:640px;
}

.area-table th,
.area-table td{
padding:8px 9px;
}

}



.area-compare::-webkit-scrollbar{
height:6px;
}

.area-compare::-webkit-scrollbar-thumb{
background:#ddd;
border-radius:3px;
}

.area-compare::-webkit-scrollbar-track{
background:#f5f5f5;
}


.price-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
  background:#fff;
  border:1px solid #d8d8d8;
  margin:24px 0;
}

.price-table th,
.price-table td{
  border:1px solid #d8d8d8;
  padding:22px 18px;
  vertical-align:middle;
  color:#111;
  background:#fff;
  word-break:break-word;
  overflow-wrap:anywhere;
  line-height:1.7;
}


.price-table thead th{
  background:#f3f3f3;
  font-size:16px;
  font-weight:700;
  text-align:center;
  vertical-align:middle;
  padding:18px 16px;
  line-height:1.5;
}


.price-table tbody td{
  font-size:15px;
  font-weight:400;
  text-align:left;
	white-space: break-spaces;
}

.price-table .label,
.price-table .price{
  display:inline-block;
  font-size:15px;
  font-weight:500;
  line-height:1.6;
}


.price-table th:nth-child(1),
.price-table td:nth-child(1){
  width:18%;
}

.price-table th:nth-child(2),
.price-table td:nth-child(2){
  width:24%;
}

.price-table th:nth-child(3),
.price-table td:nth-child(3){
  width:18%;
}

.price-table th:nth-child(4),
.price-table td:nth-child(4){
  width:40%;
}


@media (max-width: 1024px){
  .price-table th,
  .price-table td{
    padding:18px 14px;
  }

  .price-table thead th{
    font-size:15px;
  }

  .price-table tbody td,
  .price-table .label,
  .price-table .price{
    font-size:14px;
  }
}


@media (max-width: 768px){
  .price-table,
  .price-table thead,
  .price-table tbody,
  .price-table tr,
  .price-table th,
  .price-table td{
    display:block;
    width:100%;
	  margin-bottom: 20px;
  }

.price-table tbody td{
        border: none;
        border-bottom: 1px solid #e5e5e5;
        padding: 12px 14px;
        font-size: 14px;
        line-height: 1.65;
        width: 90% !important;
    }

  .price-table{
    border:none;
    background:transparent;
  }

  .price-table thead{
    display:none;
  }

  .price-table tbody tr{
    background:#fff;
    border:1px solid #d8d8d8;
    margin-bottom:14px;
  }

  .price-table tbody td{
    border:none;
    border-bottom:1px solid #e5e5e5;
    padding:12px 14px;
    font-size:14px;
    line-height:1.65;
  }

  .price-table tbody td:last-child{
    border-bottom:none;
  }

  .price-table tbody td::before{
    content: attr(data-label);
    display:block;
    font-size:12px;
    font-weight:700;
    color:#555;
    margin-bottom:6px;
    line-height:1.4;
  }

  .price-table .label,
  .price-table .price{
    font-size:14px;
    font-weight:600;
  }
}

.area-table-wrap{
margin:40px 0;
overflow-x:auto;
}

.area-table{
width:100%;
border-collapse:collapse;
font-size:14px;
min-width:650px;
}

.area-table thead{
background:#111;
color:#fff;
}

.area-table th{
padding: 12px;
  font-weight: 600;
  color: #000;
  text-align: center;
}
.area-table td{
padding:12px;
border-bottom:1px solid #e5e5e5;
}

.area-table tbody tr:hover{
background:#f7f7f7;
}

.area-table td:first-child{
font-weight:600;
}

@media(max-width:768px){

.area-table{
font-size:13px;
}

.area-table th,
.area-table td{
padding:10px;
}

}

            @media (max-width: 480px) {
          }

#must{
  width: 100%;
  margin: 0 auto;
}

/* トップページの「次に読むべき4つ」だけ、左右2%の余白を取る。 */
.ogt-home-must{
  width: 96%;
  margin-right: auto;
  margin-left: auto;
  box-sizing: border-box;
}

/* 「次に読むべき4つ」は通常記事と同じ左右幅に揃える。 */
#must .cv-link-section {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
  box-sizing: border-box;
}

.pr-header{
  width: 94%;
  margin: 0 auto;
	overflow:hidden;
}

  @media (max-width: 480px) {
#must{
	width: 100%;
}

.pr-header{
	width: 90%;
}


  }

.ogt-emergency-note{
  margin: 32px 0;
  padding: 20px 0 0;
  border-top: 2px solid #111;
  border-bottom: 1px solid #d9d9d9;
}

.ogt-emergency-note__label{
  margin-bottom: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #666;
}

.ogt-emergency-note__title{
  margin: 0 0 12px;
  font-size: 26px;
  line-height: 1.35;
  font-weight: 700;
  color: #111;
}

.ogt-emergency-note__text{
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.9;
  color: #222;
}

.ogt-emergency-note__links{
  display: flex;
  flex-direction: column;
  border-top: 1px solid #e5e5e5;
}

.ogt-emergency-note__link{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 14px 0;
  text-decoration: none;
  color: #111;
  border-bottom: 1px solid #e5e5e5;
  transition: opacity 0.2s ease;
}

.ogt-emergency-note__link:hover{
  opacity: 0.68;
}

.ogt-emergency-note__arrow{
  flex: 0 0 auto;
  font-size: 15px;
  line-height: 1.6;
  color: #111;
}


.ogt-dispensary-table {
  width: 100% !important;
  border-collapse: collapse;
  font-size: 14px;
  margin: 24px 0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  table-layout: fixed;
}

.ogt-dispensary-table thead tr {
  background-color: #1a1a1a;
  color: #ffffff;
}

.ogt-dispensary-table thead th {
  padding: 14px 18px;
  text-align: left;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  word-break: break-word;
	text-align: center;
}

.ogt-dispensary-table tbody tr {
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s ease;
}

.ogt-dispensary-table tbody tr:last-child {
  border-bottom: none;
}

.ogt-dispensary-table tbody tr:hover {
  background-color: #f7fdf7;
}

.ogt-dispensary-table tbody td {
  padding: 14px 18px;
  color: #333333;
  vertical-align: middle;
  line-height: 1.5;
  word-break: break-word;
}

.ogt-dispensary-table tbody td:first-child {
  font-weight: 600;
  color: #1a1a1a;
  border-left: 3px solid #22c55e;
}

.ogt-dispensary-table tbody tr:nth-child(even) {
  background-color: #fafafa;
}

.ogt-dispensary-table tbody tr:nth-child(even):hover {
  background-color: #f7fdf7;
}


@media (max-width: 768px) {
  .ogt-dispensary-table {
    font-size: 12px;
  }

  .ogt-dispensary-table thead th,
  .ogt-dispensary-table tbody td {
    padding: 12px 10px;
  }
}


@media (max-width: 600px) {
  .ogt-dispensary-table {
    font-size: 11px;
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    min-width: 100%;
  }

  .ogt-dispensary-table thead {
    display: none;
  }

  .ogt-dispensary-table tbody,
  .ogt-dispensary-table tbody tr {
    display: block;
    width: 100%;
  }

  .ogt-dispensary-table tbody td {
    display: block;
    padding: 8px 12px;
    text-align: right;
    border-bottom: none;
    border-left: none;
    position: relative;
    padding-left: 40%;
  }

  .ogt-dispensary-table tbody td:before {
    content: attr(data-label);
    position: absolute;
    left: 12px;
    font-weight: 600;
    color: #1a1a1a;
  }

  .ogt-dispensary-table tbody td:first-child {
    border-left: none;
    border-top: 2px solid #22c55e;
    padding-top: 12px;
  }

  .ogt-dispensary-table tbody tr {
    border-bottom: 8px solid #f0f0f0;
    margin-bottom: 12px;
  }
}

.en-site-banner {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 11px 20px !important;
  margin-bottom: 0 !important;
  text-align: center !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: opacity 0.2s ease !important;
  color: #ffffff !important;

  background-color: #1d6f42 !important;
  background-image:
    radial-gradient(ellipse 30px 20px at 10% 50%, rgba(10,30,10,0.35) 0%, transparent 100%),
    radial-gradient(ellipse 20px 30px at 30% 20%, rgba(50,70,20,0.28) 0%, transparent 100%),
    radial-gradient(ellipse 35px 15px at 55% 70%, rgba(8,28,8,0.32) 0%, transparent 100%),
    radial-gradient(ellipse 25px 25px at 75% 30%, rgba(40,60,15,0.28) 0%, transparent 100%),
    radial-gradient(ellipse 20px 30px at 90% 60%, rgba(15,35,10,0.35) 0%, transparent 100%),
    radial-gradient(ellipse 15px 20px at 45% 10%, rgba(30,50,20,0.25) 0%, transparent 100%) !important;
  background-size: 200px 40px !important;
  background-repeat: repeat-x !important;
}

.en-site-banner:hover {
  opacity: 0.82 !important;
  text-decoration: none !important;
  color: #ffffff !important;
}

.en-site-banner__arrow {
  display: inline-block !important;
  margin-left: 8px !important;
  transition: transform 0.2s ease !important;
}

.en-site-banner:hover .en-site-banner__arrow {
  transform: translateX(4px);
}

@media (max-width: 768px) {
  .en-site-banner {
    padding: 10px 16px !important;
    font-size: 11px !important;
    letter-spacing: 0.05em !important;
  }
}

.gw-weather-wrap {
  width: 100%;
  margin: 20px 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.gw-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.gw-table th {
  background: #2d6a4f;
  color: #fff;
  padding: 8px 10px;
  text-align: center;
  font-weight: 700;
  font-size: 12px;
  white-space: nowrap;
}

.gw-table .city-header {
  background: #52b788;
}

.gw-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #e0ebe0;
  vertical-align: middle;
  text-align: center;
  line-height: 1.5;
  font-size: 13px;
}

.gw-table tr:last-child td { border-bottom: none; }
.gw-table tr:nth-child(even) td { background: #f5faf5; }
.gw-table td:first-child { text-align: left; white-space: nowrap; }

.date-main { font-weight: 700; font-size: 13px; }
.holiday {
  font-size: 10px;
  background: #2d6a4f;
  color: #fff;
  border-radius: 3px;
  padding: 1px 4px;
  display: inline-block;
  margin-top: 2px;
}

.temp { color: #c0392b; font-weight: 700; font-size: 12px; white-space: nowrap; }
.rain-low  { color: #52b788; font-weight: 700; }
.rain-mid  { color: #e07a36; font-weight: 700; }
.rain-high { color: #2563eb; font-weight: 700; }

.gw-note {
  font-size: 11px !important;
  color: #777;
  margin-top: 10px;
  line-height: 1.7 !important;
}


@media (max-width: 600px) {
  .gw-weather-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  .gw-table {
    min-width: 480px;
    font-size: 12px;
  }

  .gw-table th {
    font-size: 11px;
    padding: 6px 8px;
  }

  .gw-table td {
    font-size: 11px;
    padding: 6px 8px;
  }

  .temp { font-size: 11px; }

  .date-main { font-size: 12px; }

  .holiday { font-size: 9px; padding: 1px 3px; }
}
.kiefez-btn-wrap {
  text-align: center;
  background: #f6f6f6;
  padding: 15px 10px;
  width: auto;
  margin: 0 auto;
  border: 1px solid #ddd;
  box-sizing: border-box;
}

.kiefez-btn-label {
  font-weight: 700;
  color: #2d6a4f;
  margin-bottom: 12px;
  font-size: 14px;
  line-height: 1.5;
  padding: 0 10px;
}

.kiefez-btn-row {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
  padding: 0 10px;
}

.kiefez-btn {
  display: inline-block;
  background: #2d6a4f;
  color: #fff !important;
  font-weight: 700;
  font-size: 14px;
  padding: 16px 28px;
  border-radius: 6px;
  text-decoration: none;
  transition: background 0.2s;
  border: none;
  cursor: pointer;
  box-sizing: border-box;
}

.kiefez-btn:hover {
  background: #1b4332;
}


@media (max-width: 600px) {
  .kiefez-btn-wrap {
    padding: 12px 8px;
    margin: 0;
    width: 100%;
    max-width: 100%;
  }

  .kiefez-btn-label {
    font-size: 12px;
    margin-bottom: 10px;
    padding: 0 5px;
  }

  .kiefez-btn-row {
    gap: 0px;
    flex-direction: column;
    padding: 0 5px;
  }

  .kiefez-btn {
    width: 100%;
    padding: 14px 16px;
    font-size: 12px;
    flex: 1;
    min-height: 44px;
  }
}




.og-soda-title{
  font-size: 16px !important;
  font-weight: 700;
  margin-bottom: 8px !important;
}




@media (max-width:640px){
  }


.ogtab420{
  margin:24px 0;
}

.ogtab420__tabs{
  display:flex;
  gap:8px;
  margin-bottom:16px;
}

.ogtab420__tab{
  flex:1;
  height:46px;
  border:1px solid #d8d8d8;
  background:#f3f3f3;
  color:#333;
  font-size:15px;
  font-weight:700;
  border-radius:10px;
  cursor:pointer;
}

.ogtab420__tab.is-active{
  background:#111;
  color:#fff;
  border-color:#111;
}

.ogtab420__panel[hidden]{
  display:none !important;
}




@media (max-width:768px){
  .ogtab420__tabs{
    gap:6px;
  }

  .ogtab420__tab{
    height:44px;
    font-size:14px;
    border-radius:8px;
  }

}

.ganjabonsai-header{
	margin-top: 160px;
}


.kiefez-shop-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin: 24px 0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.kiefez-shop-table thead tr {
  background-color: #1a1a1a;
  color: #ffffff;
}

.kiefez-shop-table thead th {
  padding: 14px 18px;
  text-align: left;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.kiefez-shop-table tbody tr {
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s ease;
}

.kiefez-shop-table tbody tr:last-child {
  border-bottom: none;
}

.kiefez-shop-table tbody tr:hover {
  background-color: #f7fdf7;
}

.kiefez-shop-table tbody td {
  padding: 14px 18px;
  color: #333333;
  vertical-align: middle;
  line-height: 1.5;
}

.kiefez-shop-table tbody td:first-child {
  font-weight: 700;
  color: #1a1a1a;
  border-left: 3px solid #22c55e;
  white-space: nowrap;
}

.kiefez-shop-table tbody tr:nth-child(even) {
  background-color: #fafafa;
}

.kiefez-shop-btn {
  display: inline-block;
  padding: 6px 14px;
  background-color: #1a1a1a;
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 4px;
  white-space: nowrap;
  transition: background-color 0.2s ease;
}

.kiefez-shop-btn:hover {
  background-color: #22c55e;
  color: #ffffff;
  text-decoration: none;
}

@media (max-width: 600px) {
  .kiefez-shop-table {
    font-size: 13px;
    display: block;
    overflow-x: auto;
  }
  .kiefez-shop-table thead th,
  .kiefez-shop-table tbody td {
    padding: 10px 12px;
  }
  .kiefez-shop-table tbody td:first-child {
    white-space: normal;
  }
}

.kiefez-spirit-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin: 24px 0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.kiefez-spirit-table thead tr {
  background-color: #1a1a1a;
  color: #ffffff;
}

.kiefez-spirit-table thead th {
  padding: 14px 16px;
  text-align: left;
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.kiefez-spirit-table .line-label {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-weight: 700;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 12px 8px;
  width: 32px;
}

.kiefez-spirit-table .line-label.uplift {
  background-color: #22c55e;
  color: #ffffff;
}

.kiefez-spirit-table .line-label.relax {
  background-color: #1a1a1a;
  color: #ffffff;
}

.kiefez-spirit-table tbody tr {
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s ease;
}

.kiefez-spirit-table tbody tr:last-child {
  border-bottom: none;
}

.kiefez-spirit-table tbody tr:hover {
  background-color: #f7fdf7;
}

.kiefez-spirit-table tbody td {
  padding: 12px 16px;
  color: #333333;
  vertical-align: middle;
  line-height: 1.6;
  white-space: normal;
  word-break: break-all;
}

.kiefez-spirit-table tbody tr:nth-child(even) {
  background-color: #fafafa;
}






@media (max-width: 600px) {
  .kiefez-spirit-table {
    font-size: 12px;
  }
  .kiefez-spirit-table thead th,
  .kiefez-spirit-table tbody td {
    padding: 8px 8px;
  }
  .kiefez-spirit-table .line-label {
    font-size: 10px;
    padding: 8px 4px;
    width: 20px;
  }
    }

.kiefez-lineup-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin: 24px 0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

.kiefez-lineup-table thead tr {
  background-color: #1a1a1a;
  color: #ffffff;
}

.kiefez-lineup-table thead th {
  padding: 12px 14px;
  text-align: left;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.kiefez-lineup-table tbody tr {
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s ease;
}

.kiefez-lineup-table tbody tr:last-child {
  border-bottom: none;
}

.kiefez-lineup-table tbody tr:nth-child(even) {
  background-color: #fafafa;
}

.kiefez-lineup-table tbody tr:hover {
  background-color: #f7fdf7;
}

.kiefez-lineup-table tbody td {
  padding: 10px 14px;
  vertical-align: middle;
  color: #333;
  line-height: 1.5;
  word-break: break-all;
}

.kiefez-lineup-table tbody td:first-child {
  border-left: 3px solid #22c55e;
  font-weight: 700;
  color: #1a1a1a;
  white-space: nowrap;
  word-break: keep-all;
}




@media (max-width: 600px) {
  .kiefez-lineup-table {
    display: block;
    overflow-x: auto;
    font-size: 12px;
  }
  .kiefez-lineup-table thead th,
  .kiefez-lineup-table tbody td {
    padding: 8px 10px;
  }
}

.kiefez-review-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin: 24px 0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

.kiefez-review-table thead tr {
  background-color: #1a1a1a;
  color: #ffffff;
}

.kiefez-review-table thead th {
  padding: 12px 14px;
  text-align: left;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.kiefez-review-table tbody tr {
  border-bottom: 1px solid #f0f0f0;
  transition: background-color 0.2s ease;
}

.kiefez-review-table tbody tr:last-child {
  border-bottom: none;
}

.kiefez-review-table tbody tr:nth-child(even) {
  background-color: #fafafa;
}

.kiefez-review-table tbody tr:hover {
  background-color: #f7fdf7;
}

.kiefez-review-table tbody td {
  padding: 10px 14px;
  vertical-align: middle;
  color: #333;
  line-height: 1.5;
  word-break: break-all;
}

.kiefez-review-table tbody td:first-child {
  border-left: 3px solid #22c55e;
  font-weight: 700;
  color: #1a1a1a;
  white-space: nowrap;
  word-break: keep-all;
  font-size: 13px;
}




@media (max-width: 600px) {
  .kiefez-review-table {
    display: block;
    overflow-x: auto;
    font-size: 12px;
  }
  .kiefez-review-table thead th,
  .kiefez-review-table tbody td {
    padding: 8px 10px;
  }
}

.strain-card {
  display: grid;
  grid-template-columns: 42% 1fr;
  gap: 24px;
  align-items: stretch;
  width: 100%;
  box-sizing: border-box;
  margin: 28px 0;
  padding: 20px 20px 50px;
  border: 1px solid #e5e5e5;
  border-radius: 18px;
  background: ;
  overflow: hidden;
  background: #f2f2f2;
}

.strain-card * {
  box-sizing: border-box;
}

.strain-card__image {
  min-width: 0;
}

.strain-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 420px;
  object-fit: cover;
  border-radius: 14px;
}

.strain-card__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.strain-card__label {
  margin: 0 0 8px !important;
  font-size: 13px;
  letter-spacing: 0.14em;
  color: #777;
}

.strain-card__title {
  margin: 0 0 14px !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  line-height: 1.25;
  font-weight: 500 !important;
}






@media (max-width: 900px) {
  .strain-card {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 16px;
  }

  .strain-card__image img {
    height: auto;
    max-height: none;
    aspect-ratio: 16 / 10;
  }

  .strain-card__content {
    justify-content: flex-start;
  }
}

@media (max-width: 520px) {
  .strain-card {
    margin: 22px 0;
    padding: 12px;
    border-radius: 14px;
  }

  .strain-card__image img {
    border-radius: 12px;
    aspect-ratio: 4 / 3;
  }

  .strain-card__label {
    font-size: 11px;
  }

  .strain-card__title {
    margin-bottom: 10px;
    font-size: 24px;
  }




  }




@media (max-width: 520px) {

  }

.strain-fit-scroll {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0;
}


.strain-fit-label {
  margin: 0 0 6px;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #777;
}

.strain-fit-title {
  margin: 0 0 12px;
  font-size: 17px;
  line-height: 1.5;
  font-weight: 500;
}





@media (max-width: 768px) {
  .strain-fit-scroll {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 0 18px 8px 0;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }


  .strain-fit-scroll::-webkit-scrollbar {
    display: none;
  }
}

.strain-section-title {
  position: relative;
  margin: 34px 0 16px;
  padding-left: 14px;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 500;
  color: #111;
}

.strain-section-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.28em;
  width: 4px;
  height: 1.1em;
  border-radius: 999px;
  background: #111;
}

@media (max-width: 768px) {
  .strain-section-title {
    margin: 28px 0 14px;
    font-size: 18px;
  }
}

.triad-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 26px 0;
}

.triad-compare-card {
  padding: 20px;
  border: 1px solid #e7e7e7;
  border-radius: 18px;
  background: #fff;
}

.triad-label {
  margin: 0 0 8px;
  font-size: 12px;
  letter-spacing: .08em;
  color: #777;
}

.triad-title {
  margin: 0 0 14px;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 500;
  color: #111;
}

.triad-compare-card ul {
  margin: 0 0 14px;
  padding: 0;
  list-style: none;
}

.triad-compare-card li {
  padding: 9px 0;
  border-top: 1px solid #eee;
  font-size: 14px;
  line-height: 1.6;
}

.triad-compare-card li:first-child {
  border-top: none;
}




@media (max-width: 768px) {
  .triad-compare {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    padding: 0 18px 10px 0;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .triad-compare-card {
    flex: 0 0 84%;
    min-width: 84%;
    padding: 18px;
    scroll-snap-align: start;
  }

  .triad-compare::-webkit-scrollbar {
    display: none;
  }

  .triad-title {
    font-size: 17px;
  }
}

.triad-pack-image {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 0 14px;
  border-radius: 14px;
  object-fit: cover;
}



@media (max-width: 768px) {


}

.uplift-review-scroll{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  width:100%;
  margin:28px 0;
}


.uplift-review-image{
  width:100%;
  aspect-ratio:1/1;
  object-fit:cover;
  display:block;
}

.uplift-review-label{
  margin:18px 20px 8px;
  font-size:11px;
  line-height:1.4;
  letter-spacing:.08em;
  color:#777;
}

.uplift-review-title{
  margin:0 20px 10px;
  font-size:22px;
  line-height:1.3;
  font-weight:500;
  color:#111;
}








.uplift-summary{
  margin-top:12px;
}

@media(max-width:768px){
  .uplift-review-scroll{
    display:flex;
    gap:14px;
    overflow-x:auto;
    padding:0 18px 8px 0;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }

  .uplift-review-scroll::-webkit-scrollbar{
    display:none;
  }


  .uplift-review-title{
    font-size:21px;
  }

  }




.classic-diff-label {
  margin: 0 0 8px;
  font-size: 11px;
  line-height: 1.4;
  letter-spacing: .08em;
  color: #777;
}

.classic-diff-title {
  margin: 0 0 14px;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 500;
  color: #111;
}





@media (max-width: 768px) {



  .classic-diff-title {
    font-size: 17px;
  }

  }

.classic-direction-scroll{
display:flex;
gap:20px;
overflow-x:auto;
padding:0 18% 10px 0;
margin:30px 0;
scroll-snap-type:x mandatory;
-webkit-overflow-scrolling:touch;
}

.classic-direction-scroll::-webkit-scrollbar{
display:none;
}

.classic-direction-card{
flex:0 0 31%;
min-width:31%;
background:#fff;
border:1px solid #e9e9e9;
border-radius:24px;
overflow:hidden;
padding:16px;
display:flex;
flex-direction:column;
scroll-snap-align:start;
}

.classic-direction-card img{
width:100%;
aspect-ratio:1/1.08;
object-fit:cover;
border-radius:18px;
margin-bottom:14px;
display:block;
}

.classic-direction-line{
font-size:10px;
letter-spacing:.12em;
margin:0 0 8px !important;
color:#888;
}

.classic-direction-line.uplift{
color:#ff7b00;
}

.classic-direction-line.relax{
color:#5b7cff;
}

.classic-direction-title{
font-size:22px !important;
line-height:1.4 !important;
margin:0 !important;
font-weight:600;
color:#111;
}


.classic-direction-copy{
font-size:14px;
line-height:1.8;
margin:0 0 14px;
color:#222;
}

.classic-direction-meta{
display:flex;
flex-direction:column;
gap:10px;
margin-top:auto;
}

.classic-direction-meta div{
background:#fafafa;
border-radius:14px;
padding:12px;
}

.classic-direction-meta span{
display:block;
font-size:10px;
letter-spacing:.08em;
color:#888;
margin-bottom:4px;
}

.classic-direction-meta p{
margin:0;
font-size:14px;
line-height:1.6;
color:#111;
}

.classic-direction-btn{
display:flex;
align-items:center;
justify-content:center;
height:46px;
border-radius:14px;
background:#111;
color:#fff;
text-decoration:none;
font-size:14px;
margin-top:14px;
transition:.2s;
}

.classic-direction-btn:hover{
opacity:.85;
}

@media(max-width:768px){

.classic-direction-scroll{
gap:14px;
padding:0 22% 10px 0;
}

.classic-direction-card{
flex:0 0 82%;
min-width:82%;
padding:14px;
}

.classic-direction-title{
font-size:20px;
}

}

.blunt-compare-scroll{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:20px;
margin:30px 0;
}

.blunt-compare-card{
width:90%;
padding:22px;
border:1px solid #e8e8e8;
border-radius:24px;
background:#fff;
}


.blunt-compare-label{
margin:0 0 8px;
font-size:10px;
letter-spacing:.12em;
color:#777;
}

.blunt-compare-title{
margin:0 0 18px;
font-size:22px;
line-height:1.4;
font-weight:600;
color:#111;
}

.blunt-compare-info{
display:flex;
flex-direction:column;
gap:12px;
}

.blunt-compare-info div{
background:#fafafa;
border-radius:14px;
padding:14px;
}


.blunt-compare-info span{
display:block;
font-size:10px;
letter-spacing:.08em;
color:#888;
margin-bottom:6px;
}

.blunt-compare-info p{
margin:0;
font-size:14px;
line-height:1.7;
color:#111;
}

@media(max-width:768px){

.blunt-compare-scroll{
display:flex;
overflow-x:auto;
gap:14px;
padding:0 24% 10px 0;
scroll-snap-type:x mandatory;
-webkit-overflow-scrolling:touch;
}

.blunt-compare-scroll::-webkit-scrollbar{
display:none;
}

.blunt-compare-card{
flex:0 0 82%;
min-width:82%;
padding:18px;
scroll-snap-align:start;
}

.blunt-compare-title{
font-size:20px;
}

}

.blunt-vibe-scroll{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:16px;
margin:28px 0;
}


.blunt-vibe-label{
margin:0 0 10px;
font-size:11px;
line-height:1.4;
letter-spacing:.12em;
color:#777;
}

.blunt-vibe-title{
margin:0 0 12px;
font-size:18px;
line-height:1.5;
font-weight:500;
color:#111;
}


@media(max-width:768px){
.blunt-vibe-scroll{
display:flex;
gap:14px;
overflow-x:auto;
padding:0 24% 10px 0;
scroll-snap-type:x mandatory;
-webkit-overflow-scrolling:touch;
}

.blunt-vibe-scroll::-webkit-scrollbar{
display:none;
}


.blunt-vibe-title{
font-size:17px;
}
}

.blunt-review-scroll{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:18px;
margin:28px 0;
}


.blunt-review-label{
margin:0 0 10px;
font-size:10px;
letter-spacing:.12em;
color:#777;
}

.blunt-review-title{
margin:0 0 18px;
font-size:22px;
line-height:1.4;
font-weight:600;
color:#111;
}





@media(max-width:768px){

.blunt-review-scroll{
display:flex;
overflow-x:auto;
gap:14px;
padding:0 24% 10px 0;
scroll-snap-type:x mandatory;
-webkit-overflow-scrolling:touch;
}

.blunt-review-scroll::-webkit-scrollbar{
display:none;
}


.blunt-review-title{
font-size:20px;
}

}

.glass-review-scroll{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:18px;
margin:28px 0;
}


.glass-review-label{
margin:0 0 10px;
font-size:10px;
letter-spacing:.12em;
color:#777;
}

.glass-review-title{
margin:0 0 18px;
font-size:24px;
line-height:1.4;
font-weight:600;
color:#111;
}





@media(max-width:768px){

.glass-review-scroll{
display:flex;
overflow-x:auto;
gap:14px;
padding:0 24% 10px 0;
scroll-snap-type:x mandatory;
-webkit-overflow-scrolling:touch;
}

.glass-review-scroll::-webkit-scrollbar{
display:none;
}


.glass-review-title{
font-size:22px;
}

}

.mnn-compare-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:18px;
margin:30px 0;
}

.mnn-compare-card{
padding:22px;
border:1px solid #e8e8e8;
border-radius:24px;
background:#fff;
}

.mnn-compare-label{
margin:0 0 8px;
font-size:10px;
letter-spacing:.12em;
color:#777;
}

.mnn-compare-title{
margin:0 0 18px;
font-size:22px;
line-height:1.4;
font-weight:600;
color:#111;
}

.mnn-compare-info{
display:flex;
flex-direction:column;
gap:12px;
}

.mnn-compare-info div{
background:#fafafa;
border-radius:14px;
padding:14px;
}

.mnn-compare-info span{
display:block;
font-size:10px;
letter-spacing:.08em;
color:#888;
margin-bottom:6px;
}

.mnn-compare-info p{
margin:0;
font-size:14px;
line-height:1.7;
color:#111;
}

@media(max-width:768px){

.mnn-compare-grid{
display:flex;
overflow-x:auto;
gap:14px;
padding:0 24% 10px 0;
scroll-snap-type:x mandatory;
-webkit-overflow-scrolling:touch;
}

.mnn-compare-grid::-webkit-scrollbar{
display:none;
}

.mnn-compare-card{
flex:0 0 82%;
min-width:82%;
padding:18px;
scroll-snap-align:start;
}

.mnn-compare-title{
font-size:20px;
}

}

.mnn-pack-compare{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:18px;
margin:30px 0;
}


.mnn-pack-label{
margin:0 0 8px;
font-size:10px;
letter-spacing:.12em;
color:#777;
}

.mnn-pack-title{
margin:0 0 18px;
font-size:22px;
line-height:1.4;
font-weight:600;
color:#111;
}





@media(max-width:768px){
.mnn-pack-compare{
display:flex;
gap:14px;
overflow-x:auto;
padding:0 24% 10px 0;
scroll-snap-type:x mandatory;
-webkit-overflow-scrolling:touch;
}

.mnn-pack-compare::-webkit-scrollbar{
display:none;
}


.mnn-pack-title{
font-size:20px;
}
}

.mnn-flow-table-wrap {
  width: 100%;
  margin: 28px 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.mnn-flow-table {
  width: 100%;
  min-width: 720px;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #e8e8e8;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
}

.mnn-flow-table th,
.mnn-flow-table td {
  padding: 16px 18px;
  border-bottom: 1px solid #eee;
  border-right: 1px solid #eee;
  font-size: 14px;
  line-height: 1.7;
  text-align: left;
  vertical-align: top;
}

.mnn-flow-table th {
  background: #fafafa;
  font-size: 12px;
  letter-spacing: .06em;
  color: #777;
  font-weight: 500;
}

.mnn-flow-table td:first-child {
  background: #fafafa;
  font-weight: 500;
  color: #111;
  width: 22%;
}

.mnn-flow-table th:last-child,
.mnn-flow-table td:last-child {
  border-right: none;
}

.mnn-flow-table tr:last-child td {
  border-bottom: none;
}

@media(max-width:768px) {
  .mnn-flow-table-wrap {
    padding-bottom: 8px;
  }

  .mnn-flow-table-wrap::-webkit-scrollbar {
    display: none;
  }

  .mnn-flow-table {
    min-width: 680px;
  }

  .mnn-flow-table th,
  .mnn-flow-table td {
    padding: 14px 16px;
    font-size: 13px;
  }
}

.mnn-flow-compare-wrap{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:20px;
margin:30px 0;
}

.mnn-flow-compare-card{
border:1px solid #e8e8e8;
border-radius:28px;
overflow:hidden;
background:#fafafa;
}

.mnn-flow-compare-img{
width:100%;
aspect-ratio:16/10;
object-fit:cover;
display:block;
background:#ddd;
}

.mnn-flow-compare-content{
padding:22px;
}

.mnn-flow-compare-label{
margin:0 0 8px;
font-size:11px;
letter-spacing:.12em;
color:#777;
}

.mnn-flow-compare-title{
margin:0 0 20px;
font-size:24px;
line-height:1.4;
font-weight:600;
color:#111;
}

.mnn-flow-compare-list{
margin:0;
padding:0;
}

.mnn-flow-compare-list div{
display:flex;
justify-content:space-between;
gap:18px;
padding:14px 0;
border-bottom:1px solid #e5e5e5;
}

.mnn-flow-compare-list div:last-child{
border-bottom:none;
}

.mnn-flow-compare-list dt{
width:34%;
margin:0;
font-size:12px;
letter-spacing:.05em;
color:#777;
}

.mnn-flow-compare-list dd{
width:66%;
margin:0;
font-size:14px;
line-height:1.7;
color:#111;
}

@media(max-width:768px){

.mnn-flow-compare-wrap{
display:flex;
overflow-x:auto;
gap:16px;
padding:0 22% 10px 0;
scroll-snap-type:x mandatory;
-webkit-overflow-scrolling:touch;
}

.mnn-flow-compare-wrap::-webkit-scrollbar{
display:none;
}

.mnn-flow-compare-card{
flex:0 0 86%;
min-width:86%;
scroll-snap-align:start;
}

.mnn-flow-compare-content{
padding:18px;
}

.mnn-flow-compare-title{
font-size:21px;
}

.mnn-flow-compare-list div{
display:block;
padding:13px 0;
}

.mnn-flow-compare-list dt,
.mnn-flow-compare-list dd{
width:100%;
}

.mnn-flow-compare-list dt{
margin-bottom:5px;
}

}

.strainz-size-compare{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:20px;
margin:30px 0;
}



.strainz-size-content{
padding:22px;
}

.strainz-size-label{
margin:0 0 8px;
font-size:10px;
line-height:1.4;
letter-spacing:.12em;
color:#777;
}

.strainz-size-title{
margin:0 0 10px;
font-size:26px;
line-height:1.3;
font-weight:600;
color:#111;
}






@media(max-width:768px){

.strainz-size-compare{
display:flex;
overflow-x:auto;
gap:14px;
padding:0 24% 10px 0;
scroll-snap-type:x mandatory;
-webkit-overflow-scrolling:touch;
}

.strainz-size-compare::-webkit-scrollbar{
display:none;
}


.strainz-size-content{
padding:18px;
}

.strainz-size-title{
font-size:23px;
}

}

.sz3-compare{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin:30px 0;
}



.sz3-content{ padding:22px; }

.sz3-label{
  margin:0 0 8px;
  font-size:10px;
  line-height:1.4;
  letter-spacing:.12em;
  color:#777;
}

.sz3-title{
  margin:0 0 10px;
  font-size:26px;
  line-height:1.3;
  font-weight:600;
  color:#111;
}







@media(max-width:980px){
  .sz3-compare{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}


@media(max-width:768px){
  .sz3-compare{
    display:flex;
    overflow-x:auto;
    gap:14px;
    padding:0 18% 10px 0;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .sz3-compare::-webkit-scrollbar{ display:none; }
    .sz3-content{ padding:18px; }
  .sz3-title{ font-size:23px; }
}


.infused-compare-wrap{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:20px;
margin:30px 0;
}

.infused-compare-card{
border:1px solid #e8e8e8;
border-radius:28px;
background:#fafafa;
padding:22px;
}

.infused-compare-label {
  margin: 0 0 8px !important;
  font-size: 11px !important;
  letter-spacing: .12em;
  color: #777;
}

.infused-compare-title{
margin:0 0 20px;
font-size:24px;
line-height:1.4;
font-weight:600;
color:#111;
}

.infused-compare-list{
margin:0;
padding:0;
}

.infused-compare-list div{
display:flex;
justify-content:space-between;
gap:18px;
padding:14px 0;
border-bottom:1px solid #e5e5e5;
}

.infused-compare-list div:last-child{
border-bottom:none;
}

.infused-compare-list dt{
width:34%;
margin:0;
font-size:12px;
letter-spacing:.05em;
color:#777;
}

.infused-compare-list dd{
width:66%;
margin:0;
font-size:14px;
line-height:1.7;
color:#111;
}

@media(max-width:768px){

.infused-compare-wrap{
display:flex;
overflow-x:auto;
gap:16px;
padding:0 22% 10px 0;
scroll-snap-type:x mandatory;
-webkit-overflow-scrolling:touch;
}

.infused-compare-wrap::-webkit-scrollbar{
display:none;
}

.infused-compare-card{
flex:0 0 86%;
min-width:86%;
scroll-snap-align:start;
padding:18px;
}

.infused-compare-title{
font-size:21px;
}

.infused-compare-list div{
display:block;
padding:13px 0;
}

.infused-compare-list dt,
.infused-compare-list dd{
width:100%;
}

.infused-compare-list dt{
margin-bottom:5px;
}

}

.infused-fit-wrap{
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:20px;
margin:30px 0;
}

.infused-fit-card{
padding:22px;
border:1px solid #e8e8e8;
border-radius:24px;
background:#fafafa;
}

.infused-fit-label {
  margin: 0 0 8px !important;
  font-size: 11px !important;
  letter-spacing: .12em;
  color: #777;
}

.infused-fit-title{
margin:0 0 18px;
font-size:22px;
line-height:1.4;
font-weight:600;
color:#111;
}

.infused-fit-card .single-new-ul{
margin:0;
padding-left:18px;
}

.infused-fit-card .single-new-ul li{
margin-bottom:10px;
font-size:14px;
line-height:1.8;
color:#333;
}

.infused-fit-card .single-new-ul li:last-child{
margin-bottom:0;
}

@media(max-width:768px){

.infused-fit-wrap{
display:flex;
overflow-x:auto;
gap:14px;
padding:0 24% 10px 0;
scroll-snap-type:x mandatory;
-webkit-overflow-scrolling:touch;
}

.infused-fit-wrap::-webkit-scrollbar{
display:none;
}

.infused-fit-card{
flex:0 0 82%;
min-width:82%;
padding:18px;
scroll-snap-align:start;
}

.infused-fit-title{
font-size:20px;
}

}

.search-head{
	margin-top: 160px;
}

@media(max-width:768px){

.search-head{
	margin-top: 5%;
}

}


.ag-block { margin:24px 0; }

.ag-track {
  display:flex; gap:18px; overflow-x:auto; padding:4px 0 16px;
  -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory;
}
.ag-track::-webkit-scrollbar { height:6px; }
.ag-track::-webkit-scrollbar-thumb { background:#c8dfc8; border-radius:3px; }
.ag-track::-webkit-scrollbar-track { background:#ececec; border-radius:3px; }


.ag-card {
  flex:0 0 calc(50% - 24px);
  background:#fff; border-radius:14px; overflow:hidden;
  box-shadow:0 2px 10px rgba(0,0,0,0.07); scroll-snap-align:start;
  display:flex; flex-direction:row;
  transition:transform .18s ease, box-shadow .18s ease;
}
.ag-card:hover { transform:translateY(-4px); box-shadow:0 10px 28px rgba(0,0,0,0.14); }

.ag-card-img {
  flex:0 0 40%; background-size:cover; background-position:center;
}

.ag-card-body {
  flex:1; padding:16px 18px; display:flex; flex-direction:column;
  box-sizing:border-box;
}


.ag-card-name {
  font-size: 17px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 9px !important;
  padding: 0 !important;
  letter-spacing: normal !important;
  display: block !important;
  border: none !important;
}
.ag-card-quote {
  font-size:12.5px !important; line-height:1.7 !important; font-weight:400; color:#3a3a3a;
  margin:0 0 10px !important; padding:0 0 0 10px;
  border-left:3px solid #e0ead8; letter-spacing:normal;
}
.ag-card-quote strong  {
    font-weight: 700;
    color: #1a3a1a;
    font-size: 16px !important;
    line-height: 1.3em;
}

.ag-points { list-style:none; margin:0 0 10px; padding:0; flex:1; }
.ag-points li {
  font-size:11.5px; line-height:1.15; font-weight:400; color:#444;
  margin:0 0 3px; padding:0 0 0 16px; position:relative; letter-spacing:normal;
}
.ag-points li::before {
  content:"\2713"; position:absolute; left:0; top:0;
  color:#2d6a2d; font-weight:700;
}


.ag-btns { display:flex; gap:8px; margin-top:auto; }
.ag-btn {
  flex:1; display:inline-flex; align-items:center; justify-content:center; gap:4px;
  text-decoration:none !important; font-size:12px; line-height:1; font-weight:700;
  padding:9px 0; border-radius:7px; letter-spacing:normal;
  transition:all .15s; box-sizing:border-box;
}
.ag-btn--article { background:#2d6a2d; color:#fff !important; border:1px solid #2d6a2d; }
.ag-btn--article:hover { background:#1e4a1e; }
.ag-btn--map { background:#fff; color:#444; border:1px solid #ccc; }
.ag-btn--map:hover { background:#f0f0ee; border-color:#999; }
.ag-btn svg { flex-shrink:0; }


@media (max-width:600px){
  .ag-card { flex:0 0 88vw; }
  .ag-card-img { flex:0 0 38%; }
  .ag-card-name { font-size:15px; }


  .ag-btns { gap:6px; }
  .ag-btn {
    font-size:11px;
    padding:9px 4px;
    line-height:1.25;
    white-space:nowrap;
    gap:3px;
  }
  .ag-btn svg { width:11px; height:11px; }
}


.ag-btns:has(.ag-btn--map:only-child) .ag-btn--map { flex:0 0 calc(50% - 4px); }


.ag-card-area { font-size:10.5px !important; line-height:1.4 !important; font-weight:700; color:#2d6a2d; letter-spacing:.05em; margin:0 0 5px !important; padding:0; text-transform:uppercase; }


.area-table-wrap {
  margin: 40px 0;
  overflow-x: visible;
}

.area-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  min-width: unset;
  table-layout: fixed;
}

.area-table th,
.area-table td {
  padding: 12px;
  border-bottom: 1px solid #e5e5e5;
  word-break: break-all;
  overflow-wrap: anywhere;
  white-space: normal;
}

.area-table thead th {
  font-weight: 600;
  color: #000;
  text-align: center;
  background: #fafafa;
}

.area-table tbody tr:hover {
  background: #f7f7f7;
}


.area-table th:first-child,
.area-table td:first-child  { width: 10%; }
.area-table th:nth-child(2),
.area-table td:nth-child(2) { width: 13%; }
.area-table th:nth-child(3),
.area-table td:nth-child(3) { width: 71%; }
.area-table th:last-child,
.area-table td:last-child   { width: 6%; text-align: center; padding: 12px 8px; font-size: 0; }

.at-jump {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  background: #2a7a3b;
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  transition: background .15s ease, transform .15s ease;
}

.at-jump:hover {
  background: #1e5c2c;
  transform: translateY(1px);
  color: #fff;
}

@media (max-width: 768px) {
  .area-table th:first-child,
  .area-table td:first-child  { width: 15%; }
  .area-table th:nth-child(2),
  .area-table td:nth-child(2) { width: 18%; }
  .area-table th:nth-child(3),
  .area-table td:nth-child(3) { width: 58%; }
  .area-table th:last-child,
  .area-table td:last-child   { width: 9%; }

  .area-table th,
  .area-table td {
    padding: 10px 8px;
    font-size: 13px;
  }
}



.gbs{
  --gbs-green:#1f7a3d;
  --gbs-green-d:#15622f;
  --gbs-ink:#16241b;
  --gbs-sub:#5d6b60;
  --gbs-line:#e6ebe6;
  --gbs-bg:#f4f8f3;
  --gbs-card:#ffffff;
  --gbs-star:#f5a623;
  --gbs-gold:#e8930a;   --gbs-gold-ink:#3a2600;
  --gbs-silver:#9aa4ad; --gbs-silver-ink:#2b3138;
  --gbs-bronze:#c47a3d; --gbs-bronze-ink:#3a2200;
  margin:0 0 36px !important;
  padding:32px 5% 22px;
  background:var(--gbs-bg);
  border-radius:20px;
  font-family:inherit;
  position:relative;
}
.gbs *{box-sizing:border-box;}
.gbs p{margin:0 !important;}


.gbs-head{padding:0 0 26px;}
.gbs-titlerow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 14px !important;}
.gbs-label{
  background:var(--gbs-green);color:#fff !important;
  font-size:12px !important;font-weight:700 !important;line-height:1.5 !important;
  padding:5px 12px;border-radius:999px;letter-spacing:.02em;white-space:nowrap;
}
.gbs-title{
  margin:0 !important;font-size:20px !important;line-height:1.5 !important;
  font-weight:800 !important;color:var(--gbs-ink) !important;font-family:inherit !important;
}
.gbs-title .gbs-em{color:var(--gbs-green) !important;}
.gbs-sub{
  margin:0 !important;font-size:13px !important;line-height:1.85 !important;
  color:var(--gbs-sub) !important;font-weight:400 !important;
}


.gbs-track{
  display:flex;gap:18px;
  padding:8px 0 24px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;-ms-overflow-style:none;
}
.gbs-track::-webkit-scrollbar{display:none;}


.gbs-card{
  flex:0 0 78%;
  scroll-snap-align:start;
  display:flex;flex-direction:column;
  background:var(--gbs-card);
  border:1px solid var(--gbs-line);
  border-radius:18px;overflow:hidden;
  box-shadow:0 6px 22px rgba(20,40,25,.08);
}
.gbs-card--1{border:2px solid var(--gbs-gold) !important;box-shadow:0 8px 26px rgba(232,147,10,.22) !important;}
.gbs-card--2{border:2px solid var(--gbs-silver) !important;box-shadow:0 8px 26px rgba(120,130,140,.20) !important;}
.gbs-card--3{border:2px solid var(--gbs-bronze) !important;box-shadow:0 8px 26px rgba(160,100,50,.20) !important;}


.gbs .gbs-img{
  position:relative;
  aspect-ratio:4/3 !important;
  overflow:hidden !important;
  background:#dfe7df;
}
.gbs .gbs-img img{
  width:100% !important;height:100% !important;max-width:none !important;
  margin:0 !important;object-fit:cover !important;display:block !important;border-radius:0 !important;
}
.gbs-badge,.gbs-rank{
  position:absolute;top:12px;
  font-size:11px !important;font-weight:700 !important;line-height:1.5 !important;
  padding:4px 11px;border-radius:999px;color:#fff !important;
}
.gbs-badge{left:12px;background:rgba(0,0,0,.62);}
.gbs-rank{right:12px;background:var(--gbs-green-d);}


.gbs-rank--1,.gbs-rank--2,.gbs-rank--3{
  right:12px;font-size:13px !important;font-weight:800 !important;
  padding:6px 13px 6px 30px !important;
}
.gbs-rank--1{background:linear-gradient(135deg,#f7c948,#e8930a) !important;color:var(--gbs-gold-ink) !important;box-shadow:0 3px 11px rgba(232,147,10,.55);}
.gbs-rank--2{background:linear-gradient(135deg,#eef2f6,#9aa4ad) !important;color:var(--gbs-silver-ink) !important;box-shadow:0 3px 11px rgba(120,130,140,.5);}
.gbs-rank--3{background:linear-gradient(135deg,#e6b083,#c47a3d) !important;color:var(--gbs-bronze-ink) !important;box-shadow:0 3px 11px rgba(160,100,50,.5);}
.gbs-rank--1::before,.gbs-rank--2::before,.gbs-rank--3::before{
  position:absolute;left:9px;top:50%;transform:translateY(-50%);font-size:15px;line-height:1;
}
.gbs-rank--1::before{content:"\265B";color:var(--gbs-gold-ink);}
.gbs-rank--2::before{content:"\2605";color:var(--gbs-silver-ink);}
.gbs-rank--3::before{content:"\2605";color:var(--gbs-bronze-ink);}


.gbs-body{display:flex;flex-direction:column;padding:24px 22px 22px;flex:1;}


.gbs-name{
  margin:0 0 8px !important;font-size:18px !important;line-height:1.4 !important;
  font-weight:800 !important;color:var(--gbs-ink) !important;font-family:inherit !important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  min-height:calc(1.4em * 2);
}

.gbs-loc{
  margin:0 0 16px !important;font-size:12.5px !important;line-height:1.6 !important;
  color:var(--gbs-sub) !important;font-weight:400 !important;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
  min-height:1.6em;
}

.gbs-score{
  display:flex;align-items:center;gap:11px;margin:10px 0 5px !important;
  min-height:calc(13px * 1.6 * 2);
}
.gbs-score-num{
  flex:0 0 auto;align-self:flex-start;
  font-size:17px !important;font-weight:800 !important;line-height:1.4 !important;
  color:var(--gbs-star) !important;
  background:rgba(245,166,35,.12);padding:3px 11px;border-radius:8px;
}
.gbs-score-label{
  flex:1;font-size:13px !important;line-height:1.3 !important;
  color:var(--gbs-ink) !important;font-weight:600 !important;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
  position: relative;
  top: -8px;
}


.gbs-pricerow{
  display:flex;align-items:baseline;justify-content:space-between;gap:10px;
  margin:0 0 18px !important;
}
.gbs-price{margin:0 !important;font-size:13px !important;line-height:1.4 !important;color:var(--gbs-ink) !important;white-space:nowrap;}
.gbs-price-num{font-size:22px !important;font-weight:800 !important;color:var(--gbs-ink) !important;margin:0 3px;line-height:1.2 !important;}
.gbs-detail{
  flex:0 0 auto;white-space:nowrap;text-decoration:none !important;
  color:var(--gbs-green-d) !important;font-size:12.5px !important;font-weight:700 !important;
}
.gbs-detail::after{content:"\203A";margin-left:4px;font-size:15px;font-weight:800;}
.gbs-detail:hover{text-decoration:underline !important;}


.gbs-btns{
  margin-top:auto;display:flex;flex-direction:column;gap:11px;
  padding-top:20px;border-top:1px solid var(--gbs-line);
}
.gbs-btn{
  display:block;text-align:center !important;text-decoration:none !important;
  background:var(--gbs-green);color:#fff !important;
  font-weight:800 !important;font-size:15px !important;line-height:1.2 !important;
  padding:14px 12px;border-radius:11px;
  transition:background .15s ease,transform .05s ease;
}
.gbs-btn:hover{background:var(--gbs-green-d);}
.gbs-btn:active{transform:translateY(1px);}
.gbs-btn:focus-visible{outline:3px solid rgba(31,122,61,.4);outline-offset:2px;}
.gbs-btn--alt{
  background:#fff;color:var(--gbs-green-d) !important;
  border:2px solid var(--gbs-green);padding:13px 12px;
}
.gbs-btn--alt:hover{background:var(--gbs-bg);}


.gbs-hint{
  display:block;margin:14px 0 0 !important;padding:0 4px;
  text-align:center;font-size:12px !important;line-height:1.5 !important;
  font-weight:400 !important;color:var(--gbs-sub) !important;
}


@media(max-width:520px){
  .gbs-name{font-size:17px !important;}
  .gbs-detail{font-size:12px !important;}
}


@media(min-width:768px){
  .gbs{padding:40px 5% 26px;}
  .gbs-head{padding:0 0 30px;}
  .gbs-track{padding:8px 0 28px;gap:22px;}
  .gbs-title{font-size:23px !important;}
  .gbs-card{flex:0 0 29%;}
  .gbs-body{padding:28px 24px 24px;}
}


.gb-photopair{
  --ratio:3 / 2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:24px 0;
  align-items:start;
}
.gb-photopair .gb-photo{margin:0 !important;padding:0 !important;}
.gb-photopair a{
  display:block;line-height:0;text-decoration:none;
  border:1px solid #cdd8cd;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 2px 9px rgba(20,40,25,.10);
}
.gb-photopair img{
  width:100% !important;
  height:100% !important;
  aspect-ratio:var(--ratio);
  max-width:100% !important;
  margin:0 !important;
  display:block;
  object-fit:cover !important;
  border-radius:0 !important;
  border:0 !important;
}
.gb-photopair figcaption{
  margin-top:10px;
  font-size:12.5px !important;
  line-height:1.65 !important;
  color:#5d6b60 !important;
  font-weight:500 !important;
  text-align:center;
}


@media(max-width:520px){
  .gb-photopair{gap:10px;margin:18px 0;}
  .gb-photopair a{border-radius:10px;}
  .gb-photopair figcaption{
    margin-top:8px;
    font-size:11.5px !important;
    line-height:1.55 !important;
    text-align:left;
  }
}


.gb-hotel2{
  --g-green:#1f8a3d;   --g-green-d:#176e30;
  --g-blue:#1a52a8;    --g-blue-d:#123f86;
  --g-ink:#1a201c;
  --g-sub:#6b7770;
  --g-line:#e6ebe6;
  --g-cream:#fbf5e6;   --g-cream-bd:#efe6cd;
  --g-link:#1a6fd4;
  margin:24px 0;
  font-family:inherit;
  color:var(--g-ink);
}
.gb-hotel2 *{box-sizing:border-box;}


.gb-hotel2-top{
  display:grid;
  grid-template-columns:1fr;
  gap:20px;
  align-items:start;
}
@media(min-width:768px){
  .gb-hotel2-top{grid-template-columns:55% 1fr;gap:28px;align-items:stretch;}
}


.gb-slider{
  position:relative;
  aspect-ratio:4 / 3;
  border-radius:14px;
  overflow:hidden;
  background:#dfe7df;
}
@media(min-width:768px){
  .gb-slider{aspect-ratio:auto;height:100%;min-height:280px;}
}
.gb-slides{
  display:flex;
  height:100%;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;-ms-overflow-style:none;
}
.gb-slides::-webkit-scrollbar{display:none;}
.gb-slide{
  flex:0 0 100%;
  height:100%;
  margin:0 !important;padding:0 !important;
  scroll-snap-align:center;
}
.gb-slide img{
  width:100% !important;height:100% !important;max-width:none !important;
  margin:0 !important;display:block;
  object-fit:cover !important;
  border:0 !important;border-radius:0 !important;
}

.gb-dots{
  position:absolute;left:0;right:0;bottom:10px;
  display:flex;justify-content:center;gap:8px;
  z-index:3;
}
.gb-dot{
  width:9px;height:9px;padding:0;border-radius:999px;
  background:rgba(255,255,255,.55);
  border:1px solid rgba(0,0,0,.18);
  box-shadow:0 1px 3px rgba(0,0,0,.3);
  cursor:pointer;-webkit-appearance:none;appearance:none;
  transition:background .15s ease,width .2s ease;
}
.gb-dot:hover{background:#fff;}
.gb-dot.is-active{background:#fff;width:22px;}


.gb-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:36px;height:36px;border-radius:50%;
  border:0;cursor:pointer;z-index:3;
  background:rgba(0,0,0,.42);
  -webkit-appearance:none;appearance:none;
  transition:background .15s ease,opacity .15s ease;
}
.gb-arrow:hover{background:rgba(0,0,0,.62);}
.gb-arrow:disabled{opacity:0;pointer-events:none;}
.gb-arrow::before{
  content:"";position:absolute;top:50%;left:50%;
  width:9px;height:9px;border-right:2px solid #fff;border-bottom:2px solid #fff;
}
.gb-arrow--prev{left:10px;}
.gb-arrow--prev::before{transform:translate(-35%,-50%) rotate(135deg);}
.gb-arrow--next{right:10px;}
.gb-arrow--next::before{transform:translate(-65%,-50%) rotate(-45deg);}
@media(max-width:520px){
  .gb-arrow{width:32px;height:32px;}
}


.gb-hotel2-info{
  display:flex;flex-direction:column;
  padding:2px 0;
}
.gb-hotel2 .gb-hotel2-name{
  margin:0 0 4px !important;padding:0 !important;
  font-size:27px !important;line-height:1.25 !important;
  font-weight:800 !important;color:var(--g-ink) !important;
  font-family:inherit !important;letter-spacing:.01em;
  border:0 !important;background:none !important;
}
.gb-hotel2-area{
  margin:0 0 12px !important;
  font-size:12.5px !important;line-height:1.5 !important;
  color:var(--g-sub) !important;font-weight:500 !important;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.gb-hotel2 .gb-map{
  text-decoration:none !important;
  color:var(--g-link) !important;font-size:11.5px !important;font-weight:600 !important;
  border:1px solid #cfd8e8;border-radius:6px;padding:2px 8px;line-height:1.4;
  white-space:nowrap;
}
.gb-hotel2 .gb-map:hover{background:#f2f6fc;}
.gb-hotel2-price{
  margin:0 0 16px !important;
  font-size:13px !important;line-height:1.3 !important;color:var(--g-ink) !important;font-weight:500;
}
.gb-hotel2-price .gb-price-num{
  font-size:26px !important;font-weight:800 !important;margin:0 3px;letter-spacing:.01em;
}


.gb-hotel2-points{
  list-style:none !important;margin:0 0 18px !important;padding:0 !important;
  border:0 !important;background:none !important;
}
.gb-hotel2-points li{
  position:relative;
  margin:0 0 9px !important;padding:0 0 0 17px !important;
  font-size:13.5px !important;line-height:1.65 !important;
  color:#2c3b30 !important;background:none !important;list-style:none !important;
}
.gb-hotel2-points li:last-child{margin-bottom:0 !important;}
.gb-hotel2-points li::marker{content:"" !important;}
.gb-hotel2-points li::before{
  content:"";position:absolute;left:2px;top:.66em;
  width:6px;height:6px;border-radius:50%;background:var(--g-green);
}


.gb-fit{display:flex;flex-direction:column;gap:7px;margin:0 0 15px;}
.gb-fit-row{
  display:flex;align-items:flex-start;gap:9px;
  font-size:13px !important;line-height:1.55 !important;color:#2c3b30 !important;font-weight:600;
}
.gb-fit-tag{
  flex:0 0 auto;font-size:11px !important;font-weight:800 !important;
  padding:2px 9px;border-radius:999px;line-height:1.5;white-space:nowrap;
}
.gb-fit-yes .gb-fit-tag{background:rgba(31,138,61,.12);color:var(--g-green-d) !important;}
.gb-fit-no .gb-fit-tag{background:#f1ede0;color:#8a7a3f !important;}


.gb-cta-lead{
  margin:0 0 9px !important;
  font-size:12.5px !important;line-height:1.5 !important;
  color:var(--g-sub) !important;font-weight:700 !important;
}
.gb-cta-lead::before {
  content: "▼ ";
  color: var(--g-green);
}

.gb-cta-lead::after {
  content: " ▼";
  color: var(--g-green);
}


.gb-hotel2-cta{display:flex;gap:12px;}
.gb-hotel2 .gb-btn-a,
.gb-hotel2 .gb-btn-b{
  flex:1;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;text-decoration:none !important;
  color:#fff !important;
  padding:11px 12px;border-radius:10px;
  transition:background .15s ease,transform .05s ease;
}
.gb-hotel2 .gb-btn-a .b,
.gb-hotel2 .gb-btn-b .b{font-size:15px !important;font-weight:800 !important;line-height:1.2 !important;color:#fff !important;}
.gb-hotel2 .gb-btn-a .s,
.gb-hotel2 .gb-btn-b .s{font-size:10.5px !important;font-weight:600 !important;line-height:1.3 !important;color:#fff !important;opacity:.92;margin-top:2px;}
.gb-hotel2 .gb-btn-a{background:var(--g-green);}
.gb-hotel2 .gb-btn-a:hover{background:var(--g-green-d);}
.gb-hotel2 .gb-btn-b{background:var(--g-blue);}
.gb-hotel2 .gb-btn-b:hover{background:var(--g-blue-d);}
.gb-hotel2 .gb-btn-a:active,
.gb-hotel2 .gb-btn-b:active{transform:translateY(1px);}
@media(min-width:768px){
  .gb-hotel2-cta{gap:14px;}
  .gb-hotel2 .gb-btn-a,.gb-hotel2 .gb-btn-b{flex:1;min-width:0;}
}


.gb-hotel2-price .gb-price-note{
  display:inline-block;font-size:11px !important;font-weight:500 !important;
  color:var(--g-sub) !important;margin-left:6px;letter-spacing:0;
}


.gb-facts-title{
  background:#f3f7f3;padding:11px 18px;
  font-size:13px;font-weight:800;color:var(--g-ink);
  border-bottom:1px solid var(--g-line);
}




.gb-closing-cta{
  margin: 22px auto;
  width: 1100px;
}
.gb-closing-cta .gb-cta-lead{text-align:center;font-size:13.5px !important;}
.gb-closing-cta .gb-hotel2-cta{max-width:520px;margin:0 auto;}


.gb-review2{
  margin-top:18px;
  background:var(--g-cream);
  border:1px solid var(--g-cream-bd);
  border-radius:14px;
  padding:22px 26px;
}
.gb-review2-head{display:flex;align-items:center;gap:13px;margin-bottom:13px;}
.gb-review2-avatar{
  flex:0 0 auto;
  width:52px !important;height:52px !important;max-width:none !important;
  margin:0 !important;
  border-radius:50% !important;object-fit:cover !important;
  background:#222;
  border:0 !important;
}
.gb-review2-meta{display:flex;flex-direction:column;gap:1px;min-width:0;}
.gb-review2-name{font-size:15px;font-weight:800;color:var(--g-ink);line-height:1.3;}
.gb-review2-role{font-size:12px;color:var(--g-sub);line-height:1.4;}
.gb-review2-body{
  font-size:14.5px !important;line-height:1.95 !important;color:#2c3b30 !important;
}


@media(max-width:520px){
  .gb-hotel2-name{font-size:23px !important;}
  .gb-hotel2-price .gb-price-num{font-size:23px !important;}
  .gb-hotel2-points li{font-size:13px !important;}
  .gb-review2{padding:18px 18px;}
  .gb-review2-avatar{width:48px !important;height:48px !important;}
  .gb-review2-body{font-size:14px !important;line-height:1.9 !important;}
}


.gb-hotel2-subhead{
  margin:26px 0 10px !important;padding:0 0 0 12px !important;
  font-size:18px !important;line-height:1.5 !important;
  font-weight:800 !important;color:#1a201c !important;
  border-left:5px solid var(--g-green,#1f8a3d) !important;background:none !important;
}
@media(max-width:520px){
    .gb-hotel2-subhead{font-size:16px !important;}
}


.gb-hotel2-address{
  margin:0 0 12px !important;
  font-size:12px !important;line-height:1.6 !important;
  color:var(--g-sub,#6b7770) !important;font-weight:500 !important;
}

.gb-tbl-wrap{margin:1.6em 0;font-family:inherit;}
.gb-tbl-cap{display:inline-block;background:#1f7a3d;color:#fff;font-size:.82em;font-weight:700;letter-spacing:.03em;padding:6px 14px;border-radius:6px 6px 0 0;}
.gb-tbl{width:100%;border-collapse:collapse;border:2px solid #1f7a3d;font-size:.95em;line-height:1.6;border-radius:0 6px 6px 6px;}
.gb-tbl thead th{background:#1f7a3d;color:#fff;text-align:left;padding:12px 14px;font-weight:700;border-right:1px solid #3a9156;}
.gb-tbl thead th:last-child{border-right:none;}
.gb-tbl tbody th{background:#eef5ec;text-align:left;padding:12px 14px;font-weight:700;color:#1b3a24;border-top:1px solid #cfe0cd;border-right:1px solid #cfe0cd;width:34%;vertical-align:top;}
.gb-tbl tbody td{padding:12px 14px;border-top:1px solid #cfe0cd;border-right:1px solid #cfe0cd;vertical-align:top;}
.gb-tbl tbody td:last-child{border-right:none;}
.gb-tbl tbody tr:nth-child(even) th{background:#e3efe0;}
.gb-tbl tbody tr:nth-child(even) td{background:#f6faf4;}
.gb-c{text-align:center;white-space:nowrap;}
.gb-ok{color:#1f7a3d;font-weight:700;}
.gb-ng{color:#b03030;font-weight:700;}
.gb-mk{font-size:1.15em;margin-right:4px;}
.gb-mk.ok{color:#1f7a3d;}
.gb-mk.ng{color:#b03030;}
.gb-mk.tri{color:#c98a00;}
.gb-sub{display:block;font-size:.82em;color:#5a6b5a;font-weight:400;margin-top:2px;}
.gb-tl th{white-space:nowrap;width:24%;}
@media(max-width:600px){.gb-tbl{font-size:.86em;}.gb-tbl thead th,.gb-tbl tbody th,.gb-tbl tbody td{padding:9px 8px;}.gb-tbl tbody th{width:40%;}.gb-tl th{width:30%;}}





.sc-rail{
  display:flex;
  gap:20px;
  overflow-x:auto;
  padding:0 18% 10px 0;
  margin:30px 0;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
}
.sc-rail::-webkit-scrollbar{ display:none; }


.sc-card{
  flex:0 0 31%;
  min-width:31%;
  background:#fff;
  border:1px solid #e9e9e9;
  border-radius:24px;
  overflow:hidden;
  padding:16px;
  display:flex;
  flex-direction:column;
  scroll-snap-align:start;
}


.sc-card-img{
  width: 100% !important;
  aspect-ratio: 1/1.08;
  object-fit: cover;
  border-radius: 18px;
  margin-bottom: 0px !important;
  display: block !important;
}


.sc-usecase{
  background:#fafafa;
  border-radius:14px;
  padding:12px;
  text-align:center;
  font-size:13px;
  line-height:1.6;
  color:#555;
  margin:0 0 14px;
}


.sc-type-wrap{
  margin:0 0 10px;
}


.sc-type{
  display:inline-block;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  color:#fff;
  padding:4px 12px;
  border-radius:6px;
  line-height:1.5;
}
.sc-type--sativa{ background:#c0392b; }
.sc-type--indica{ background:#1f4fa3; }
.sc-type--hybrid{ background:#c8a84b; }


.sc-name{
  font-size:22px !important;
  line-height:1.4 !important;
  margin:0 !important;
  font-weight:600;
  color:#111;
  border:0 !important;
  background:none !important;
  padding:0 !important;
}
.sc-name::before,
.sc-name::after{ content:none !important; }


.sc-terpene{
  font-size:14px;
  line-height:1.6;
  margin:4px 0 14px;
  color:#777;
}
.sc-terpene strong{
  color:#111;
  font-weight:700;
  background:none !important;
  background-image:none !important;
  padding:0 !important;
  box-shadow:none !important;
}


.sc-desc{
  font-size:14px;
  line-height:1.8;
  margin:0 0 14px;
  color:#222;
  flex:1;
}


.sc-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  height:46px;
  border-radius:14px;
  background:#111;
  color:#fff;
  text-decoration:none;
  font-size:14px;
  letter-spacing:.04em;
  margin-top:14px;
  transition:.2s;
}
.sc-btn:hover{ opacity:.85; }


@media(max-width:768px){
  .sc-rail{ gap:14px; padding:0 22% 10px 0; }
  .sc-card{ flex:0 0 82%; min-width:82%; padding:14px; }
  .sc-name{ font-size:20px !important; }
}



.sc-actions{ margin:28px 0 0; }


.sc-actions--2{ display:flex; gap:14px; }
.sc-actions--2 .sc-action-btn{ flex:1 1 0; }


.sc-action-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  height:54px;
  padding:0 22px;
  border-radius:999px;
  background:#16a34a;
  color:#fff !important;
  text-decoration:none !important;
  font-size:15px;
  font-weight:700;
  letter-spacing:.04em;
  line-height:1.2;
  text-align:center;
  border:2px solid #16a34a;
  transition:.2s;
}
.sc-action-btn:hover{
  background:#22c55e;
  border-color:#22c55e;
  color:#fff !important;
}


.sc-action-btn--alt{
  background:#fff;
  color:#16a34a !important;
}
.sc-action-btn--alt:hover{
  background:#16a34a;
  border-color:#16a34a;
  color:#fff !important;
}

@media(max-width:480px){
  .sc-actions--2{ flex-direction:column; }
}




.strain-archive-card .strain-hero-thumb{
  margin:0;
  overflow:hidden;
  border-radius:12px;
}
.strain-archive-card .strain-hero-thumb a{
  display:block;
}


.strain-archive-card .strain-hero-thumb img{
  display:block;
  width:100%;
  aspect-ratio:4 / 3;
  height:auto;
  object-fit:cover;
  object-position:center;
}


@supports not (aspect-ratio:1/1){
  .strain-archive-card .strain-hero-thumb{
    position:relative;
    padding-top:75%;
  }
  .strain-archive-card .strain-hero-thumb a,
  .strain-archive-card .strain-hero-thumb img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
  }
}


.oggal { width:100%; max-width:1000px; margin:30px auto; }


.oggal-main {
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  border:1px solid #e6e6e6;
  border-radius:14px;
  overflow:hidden;
  background:#f3f3f3;
}


.oggal-main-img {
  position:absolute;
  inset:0;
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  margin:0 !important;
  object-fit:cover;
  display:block;
  opacity:0;
  transition:opacity .25s ease;
  pointer-events:none;
}
.oggal-main-img.is-active { opacity:1; }


.oggal-thumbs {
  display:flex;
  flex-wrap:nowrap;
  gap:10px;
  margin-top:12px;
  width:100%;
}


.oggal-thumb {
  flex:1 1 0;
  min-width:0;
  display:block;
  cursor:pointer;
  border:2px solid transparent;
  border-radius:10px;
  overflow:hidden;
  background:#f3f3f3;
  transition:border-color .15s ease, transform .15s ease;
}


.oggal-thumb img {
  width:100% !important;
  max-width:none !important;
  height:auto !important;
  margin:0 !important;
  aspect-ratio:3/2;
  object-fit:cover;
  display:block;
  pointer-events:none;
}

.oggal-thumb:hover { transform:translateY(-2px); }


.oggal-thumb.is-active { border-color:#2d6a2d; }


.oggal-thumb:focus-visible { outline:2px solid #2d6a2d; outline-offset:2px; }


@media (max-width:600px){
  .oggal-thumbs { flex-wrap:wrap; gap:7px; }
  .oggal-thumb  { flex:1 1 calc(50% - 4px); }
  .oggal-main   { border-radius:12px; }
}
















@media (max-width: 600px) {
      }


.ccNew{ margin: 40px 0; }


.ccUpd {
  width: 96%;
  margin: 10px auto;
  padding: 20px;
}

.ccUpd__title{
  font-size: 22px; font-weight: 700; margin: 0 0 16px;
  letter-spacing: .02em;
}


.ccUpd__scroll{
  max-height: 450px;
  overflow-y: auto;
  padding: 4px;
  -webkit-overflow-scrolling: touch;
}
.ccUpd__scroll::-webkit-scrollbar{ width: 8px; }
.ccUpd__scroll::-webkit-scrollbar-thumb{ background:#cfcfcf; border-radius:8px; }
.ccUpd__scroll::-webkit-scrollbar-track{ background:#f2f2f2; border-radius:8px; }


.ccUpd__grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}
.ccUpd__card{
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.ccUpd__logoWrap{
  flex: 0 0 auto;
  width: 84px;
  text-align: center;
}
.ccUpd__logo{
  width: 72px; height: 72px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  margin: 0 auto 6px;
}
.ccUpd__shop{
  display: block;
  font-size: 11px;
  color: #333;
  letter-spacing: .02em;
}


.ccUpd__bubble{
  position: relative;
  flex: 1 1 auto;
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  padding: 14px 14px 12px;
  background: #fff;
}
.ccUpd__bubble::before{
  content:"";
  position:absolute; left:-8px; top:26px;
  border-width: 7px 8px 7px 0;
  border-style: solid;
  border-color: transparent #e2e2e2 transparent transparent;
}
.ccUpd__bubble::after{
  content:"";
  position:absolute; left:-6.5px; top:26px;
  border-width: 7px 8px 7px 0;
  border-style: solid;
  border-color: transparent #fff transparent transparent;
}
.ccUpd__text{
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.7;
  color: #333;
}
.ccUpd__row{ text-align: center; }
.ccUpd__more{
  display: inline-block;
  min-width: 150px;
  padding: 8px 20px;
  border: 1px solid #cfcfcf;
  border-radius: 4px;
  background: #f7f7f7;
  color: #333;
  font-size: 12px;
  letter-spacing: .08em;
  text-decoration: none;
  transition: background .2s, border-color .2s;
}
.ccUpd__more:hover{ background:#efefef; border-color:#b9b9b9; }


@media (max-width: 768px){
  .ccUpd__grid{ grid-template-columns: 1fr; gap: 16px; }
}


.ccLb{
  position: fixed;
  inset: 0;
  display: none;
  z-index: 9999;
}
.ccLb:target{ display: block; }
.ccLb__overlay{
  position: absolute; inset: 0;
  background: rgba(0,0,0,.55);
  display: block;
}
.ccLb__panel{
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: min(90vw, 420px);
  background: #fff;
  border-radius: 10px;
  padding: 26px 24px 28px;
  box-shadow: 0 20px 50px rgba(0,0,0,.3);
}
.ccLb__close{
  position: absolute;
  top: 10px; right: 14px;
  font-size: 24px;
  line-height: 1;
  color: #888;
  text-decoration: none;
}
.ccLb__close:hover{ color:#333; }
.ccLb__title{
  margin: 0 0 4px;
  font-size: 15px;
  font-weight: 700;
  color: #1a1a1a;
}
.ccLb__lead{
  margin: 0 0 18px;
  font-size: 13px;
  color: #777;
}
.ccLb__btns{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.ccLb__btn{
  display: block;
  text-align: center;
  padding: 12px 10px;
  border: 1px solid #4a7a30;
  border-radius: 6px;
  background: #4a7a30;
  color: #fff;
  font-size: 13px;
  text-decoration: none;
  transition: opacity .2s;
}
.ccLb__btn:hover{ opacity: .88; }
@media (max-width: 480px){
  .ccLb__btns{ grid-template-columns: 1fr; }
}


.ccNew{
  width: 76%;
  margin: 20px auto;
}
.ccNew__title{
  font-size: 22px; font-weight: 700; margin: 0 0 16px;
  letter-spacing: .02em;
}


.ccNew__wrap{ position: relative; }


.ccNew__viewport{
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  padding-bottom: 10px;
}
.ccNew__viewport::-webkit-scrollbar{ height: 8px; }
.ccNew__viewport::-webkit-scrollbar-thumb{ background:#cfcfcf; border-radius:8px; }
.ccNew__viewport::-webkit-scrollbar-track{ background:#f2f2f2; border-radius:8px; }


.ccNew__track{
  display: flex;
  gap: 22px;
}


.ccNew__card{
  position: relative;
  flex: 0 0 calc((100% - 22px) / 2);
  scroll-snap-align: start;
  display: flex;
  align-items: flex-start;
  gap: 16px;
}
.ccNew__media{
  flex: 0 0 44%;
  display: block;
  border-radius: 4px;
  overflow: hidden;
}
.ccNew__img{
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}
.ccNew__body{
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ccNew__chips{ display: flex; flex-wrap: wrap; gap: 8px; }
.ccNew__chip{
  display: inline-block;
  padding: 5px 14px;
  border: 1px solid #cfcfcf;
  border-radius: 4px;
  font-size: 12px;
  color: #333;
}
.ccNew__headline{
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  font-weight: 600;
  color: #1a1a1a;
}
.ccNew__row{ margin-top: auto; text-align: center; }
.ccNew__more{
  display: inline-block;
  min-width: 150px;
  padding: 8px 20px;
  border: 1px solid #cfcfcf;
  border-radius: 4px;
  background: #f7f7f7;
  color: #333;
  font-size: 12px;
  letter-spacing: .08em;
  text-decoration: none;
  transition: background .2s, border-color .2s;
}
.ccNew__more:hover{ background:#efefef; border-color:#b9b9b9; }


.ccNew__arrow{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #e0e0e0;
  background: #fff;
  color: #333;
  font-size: 20px;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 2px 10px rgba(0,0,0,.12);
  transition: background .2s, color .2s, opacity .2s;
}
.ccNew__arrow:hover{ background:#4a7a30; color:#fff; border-color:#4a7a30; }
.ccNew__arrow--left{ left: -8px; }
.ccNew__arrow--right{ right: -8px; }
.ccNew__arrow[disabled]{ opacity: .3; cursor: default; }
.ccNew__arrow[disabled]:hover{ background:#fff; color:#333; border-color:#e0e0e0; }


.ccNew__hint{
  display: block;
  text-align: center;
  font-size: 12px;
  color: #999;
  margin-top: 6px;
}


@media (max-width: 768px){
  .ccNew__card{ flex: 0 0 100%; }
  .ccNew__arrow{ display: none; }
}




.ccUpd__toggleInput{
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.ccUpd__scroll{
  position: relative;
}


.ccUpd__grid > .ccUpd__card:nth-child(n+7){
  display: none;
}
.ccUpd__toggleInput:checked ~ .ccUpd__scroll .ccUpd__grid > .ccUpd__card:nth-child(n+7){
  display: flex;
}


.ccUpd__fade{
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 90px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1));
  pointer-events: none;
}
.ccUpd__toggleInput:checked ~ .ccUpd__scroll .ccUpd__fade{
  display: none;
}


.ccUpd__toggleBtn{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 24px auto 0;
  max-width: 220px;
  padding: 12px 20px;
  border: 1px solid #4a7a30;
  border-radius: 999px;
  background: #fff;
  color: #4a7a30;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  text-align: center;
  cursor: pointer;
  transition: background .2s, color .2s;
}
.ccUpd__toggleBtn:hover{
  background: #4a7a30;
  color: #fff;
}
.ccUpd__toggleBtn .ccUpd__arrow{
  display: inline-block;
  transition: transform .2s;
}
.ccUpd__toggleInput:checked ~ .ccUpd__toggleBtn .ccUpd__arrow{
  transform: rotate(180deg);
}

.ccUpd__toggleText--less{
  display: none;
}
.ccUpd__toggleInput:checked ~ .ccUpd__toggleBtn .ccUpd__toggleText--more{
  display: none;
}
.ccUpd__toggleInput:checked ~ .ccUpd__toggleBtn .ccUpd__toggleText--less{
  display: inline;
}


.ccUpd:not(.ccUpd--has-more) .ccUpd__toggleBtn,
.ccUpd:not(.ccUpd--has-more) .ccUpd__fade{
  display: none;
}




.gb-price-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 24px 0;
  border-radius: 10px;
}

.gb-price-table {
  width: 100%;
  min-width: 480px;
  border-collapse: collapse;
  margin: 0;
  font-family: inherit;
  border-radius: 10px;
  overflow: hidden;
}
.gb-price-table th,
.gb-price-table td {
  border: 1px solid #d9ead9;
  padding: 10px 14px;
  text-align: left;
  font-size: 15px;
  line-height: 1.6;
}
.gb-price-table th {
  background-color: #eef8f1;
  color: #2f6b4f;
  font-weight: 700;
  white-space: nowrap;
}
.gb-price-table td {
  word-break: break-word;
  overflow-wrap: anywhere;
}
.gb-price-table tr:nth-child(even) {
  background-color: #f7fbf8;
}

@media (max-width: 600px) {
  .gb-price-table-wrap {
    margin: 20px 0;

    background:
      linear-gradient(to right, #fff 30%, rgba(255,255,255,0)) left,
      linear-gradient(to left, #fff 30%, rgba(255,255,255,0)) right,
      radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.15), rgba(0,0,0,0)) right;
    background-repeat: no-repeat;
    background-color: #fff;
    background-size: 24px 100%, 24px 100%, 14px 100%;
    background-attachment: local, local, scroll;
  }
  .gb-price-table th,
  .gb-price-table td {
    padding: 8px 12px;
    font-size: 13.5px;
  }
}


.gb-recommend-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  background-color: #eef8f1;
  border-radius: 12px;
  padding: 20px;
  width: 100%;
  max-width: none;
  margin: 24px 0;
  box-sizing: border-box;
  list-style: none;
}
.gb-recommend-list li {
  display: flex;
  align-items: center;
  background-color: #ffffff;
  border: 1px solid #d9ead9;
  border-radius: 10px;
  padding: 14px 16px 14px 40px;
  position: relative;
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
}
.gb-recommend-list li::before {
  content: "✓";
  position: absolute;
  left: 14px;
  top: 14px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #2f6b4f;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
@media (max-width: 600px) {
  .gb-recommend-list {
    grid-template-columns: 1fr;
  }
}


.gb-store-card {
  display: grid;
  grid-template-columns: minmax(0, 46%) minmax(0, 1fr);
  column-gap: 32px;
  grid-template-areas:
    "media badges"
    "media title"
    "media subtitle"
    "media address"
    "media website"
    "media button"
    "media note";
  border: none;
  border-radius: 16px;
  overflow: hidden;
  margin: 24px auto;
  max-width: 1100px;
  background-color: #ffffff;
  box-shadow: none;
}
.gb-store-card-media {
  grid-area: media;
  align-self: start !important;
  width: 100% !important;
  height: 340px !important;
}
.gb-store-card-media iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
}
.gb-store-card-body {
  display: contents;
}
.gb-cert-badges {
  grid-area: badges;
  display: flex;
  justify-content: flex-start;
  gap: 8px;
  flex-wrap: wrap;
  margin: 24px 24px 0 24px;
}
.gb-cert-badges span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background-color: #eef8f1;
  border: 1px solid #cde6d5;
  border-radius: 20px;
  padding: 5px 12px 5px 10px;
  color: #2f6b4f;
  font-size: 12px;
  font-weight: 700;
  font-style: normal;
}
.gb-cert-badges span:nth-child(1)::before {
  content: "📜";
  font-size: 13px;
}
.gb-cert-badges span:nth-child(2)::before {
  content: "🌿";
  font-size: 13px;
}
.gb-store-card-title {
  grid-area: title;
  font-size: 20px;
  font-style: italic;
  margin: 12px 24px 0 24px;
  color: #1f2b24;
  text-align: left;
}
.gb-store-card-subtitle {
  grid-area: subtitle;
  font-size: 12px;
  color: #5b6b60;
  margin: 4px 24px 0 24px;
  text-align: left;
}
.gb-store-card-list {
  grid-area: address;
  min-width: 0;
  list-style: none;
  padding: 0;

  margin: 0 24px !important;
}
.gb-store-card-list li {
  position: relative;
  display: block;
  min-width: 0;
  max-width: 100%;
  padding: 8px 0 8px 24px;
  font-size: 13px;
  line-height: 1.6;
  margin: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.gb-store-card-list li:nth-child(1)::before {
  content: "📍";
  position: absolute;
  top: 8px;
  left: 0;
  font-size: 13px;
}
.gb-store-card-list li:nth-child(2)::before {
  content: "⏰";
  position: absolute;
  top: 8px;
  left: 0;
  font-size: 13px;
}
.gb-store-card-website {
  grid-area: website;
  margin: 10px 24px 0;
}
.gb-store-card-website a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 12px 20px;
  border: 1px solid #2f6b4f !important;
  border-bottom-color: #2f6b4f !important;
  border-radius: 8px;
  background: #2f6b4f !important;
  background-image: none !important;
  color: #ffffff;
  box-shadow: none !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.35s ease;
}
.gb-store-card-website a:hover,
.gb-store-card-website a:focus-visible { background-color: #2f6b4f; color: #ffffff; opacity: 0.68; text-decoration: none; }
.gb-store-card-website svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.single-box .twitter-tweet,
.single-box .twitter-tweet-rendered {
  display: flex !important;
  justify-content: center;
  align-items: stretch;
  width: 100% !important;
  max-width: 680px !important;
  margin: 32px auto !important;
  padding: 0 !important;
  box-sizing: border-box;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.single-box .twitter-tweet iframe,
.single-box .twitter-tweet-rendered iframe {
  width: 100% !important;
  max-width: 100% !important;
  border: 1px solid #d9ead9;
  border-radius: 10px;
}


.gb-store-card-buttons {
  grid-area: button;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 24px 0 24px;
}
.gb-store-card-cta {
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #cde6d5;
  border-radius: 8px;
  padding: 12px 20px;
  background-color: #eef8f1;
  transition: opacity 0.35s ease;
}
.gb-store-card-cta:hover {
  background-color: #eef8f1;
  opacity: 0.68;
}
.gb-store-card-cta a {
  color: #1f2b24;
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
}
.gb-store-card-note {
  grid-area: note;
  text-align: left;
  font-size: 12.5px !important;
  color: #5b6b60;
  line-height: 1.7 !important;
  margin: 12px 24px 24px 24px !important;
  padding: 16px 20px;
  border: 1px solid #d9ead9;
  border-radius: 10px;
  background-color: #f4f9f5;
}

@media (max-width: 680px) {
  .gb-store-card {
    grid-template-columns: 1fr;
    grid-template-areas:
      "badges"
      "title"
      "subtitle"
      "media"
      "address"
      "website"
      "button"
      "note";
  }
  .gb-store-card-media {
    height: 220px !important;
    margin: 16px 0;
  }
  .gb-cert-badges,
  .gb-store-card-title,
  .gb-store-card-subtitle,
  .gb-store-card-list,
  .gb-store-card-website,
  .gb-store-card-buttons,
  .gb-store-card-note {
    margin-left: 20px;
    margin-right: 20px;
  }
  .gb-store-card-buttons {
    grid-template-columns: 1fr;
  }
  .gb-store-card-cta {
    min-width: 0;
  }
}


.gb-faq-list {
  border: 1px solid #e3ede6;
  border-radius: 14px;
  overflow: hidden;
  background-color: #ffffff;
  margin: 24px 0;
}
.gb-faq-item {
  border-bottom: 1px solid #e3ede6;
}
.gb-faq-item:last-child {
  border-bottom: none;
}
.gb-faq-item summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 20px;
  transition: background-color 0.15s ease;
}
.gb-faq-item summary:hover {
  background-color: #f7fbf8;
}
.gb-faq-item summary::-webkit-details-marker {
  display: none;
}
.gb-faq-q {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #2f6b4f;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gb-faq-question {
  flex: 1;
  font-size: 15px;
  font-weight: 700;
  color: #1f2b24;
  line-height: 1.5;
}
.gb-faq-icon {
  flex-shrink: 0;
  font-size: 20px;
  color: #2f6b4f;
  transform: rotate(0deg);
  transition: transform 0.2s ease;
}
.gb-faq-item[open] .gb-faq-icon {
  transform: rotate(90deg);
}
.gb-faq-answer {
  display: flex;
  gap: 12px;
  padding: 0 20px 20px 20px;
}
.gb-faq-item:not([open]) .gb-faq-answer {
  display: none !important;
}
.gb-faq-a {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #eef8f1;
  color: #2f6b4f;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.gb-faq-answer p {
  margin: 0;
  font-size: 14px;
  color: #3a4a41;
  line-height: 1.75;
}

/* FAQ 見出しは本文 h2 の角飾りを継承しない。 */
.single-box h2.ogki-heading {
  position: static;
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  color: #171717 !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

.single-box h2.ogki-heading::before,
.single-box h2.ogki-heading::after {
  content: none !important;
  display: none !important;
}





@media (max-width: 1024px) {

  .hero { height: auto; }

  .hero-inner {
    display: block !important;
    width: 100%;
    height: auto;
  }


  .hero-left {
    display: block !important;
    position: relative;
    width: 100% !important;
    max-width: none !important;
    min-height: 420px;
    overflow: hidden;
    border-radius: 12px;
  }


  .hero-text {
    position: absolute !important;
    left: 0;
    right: 0;
    bottom: 0;
  }


  .hero-right {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 14px;
    width: 100% !important;
    max-width: none !important;
    margin-top: 14px;
    padding: 2px 2px 14px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }


  .hero-right { scrollbar-width: thin; scrollbar-color: rgba(0,0,0,0.28) transparent; }
  .hero-right::-webkit-scrollbar { height: 5px; }
  .hero-right::-webkit-scrollbar-track { background: transparent; }
  .hero-right::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.28); border-radius: 999px; }

  .hero-right .hero-card {
    position: relative;
    flex: 0 0 76% !important;
    max-width: 380px;
    width: auto !important;
    height: 230px !important;
    scroll-snap-align: start;
    overflow: hidden;
    border-radius: 12px;
  }

  .hero-right .hero-card img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
  }

  .hero-right .hero-card .card-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 16px;
    background: linear-gradient(to top, rgba(0,0,0,0.62) 0%, rgba(0,0,0,0.05) 60%);
  }
}


@media (min-width: 641px) and (max-width: 1024px) {
  .hero-left { min-height: 480px; }
  .hero-right .hero-card { flex-basis: 58% !important; max-width: 460px; height: 260px !important; }
}



@media (max-width: 1024px) {

  .og-pop__grid {
    display: block !important;
    grid-template-columns: 1fr !important;
  }

  .og-pop__grid > div { width: 100% !important; }
  .og-pop__grid > div + div { margin-top: 36px; }

  .og-pop__feature-media img {
    width: 100%;
    height: auto;
    display: block;
  }

  .og-pop__list { width: 100%; }
}



@media (max-width: 1024px) {

  .tab_content { flex-direction: column; }

  .tab_content .index-left,
  .tab_content .index-right {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
  }

  .tab_content .index-right { margin-top: 40px; }


  .index-left > ul > li { width: 100% !important; }
  .index-left .post_links { display: flex; align-items: flex-start; gap: 14px; }
  .index-left .index-left-left { flex: 0 0 132px; }
  .index-left .index-left-left img { width: 100%; height: auto; display: block; border-radius: 8px; }
  .index-left .index-left-right { flex: 1 1 auto; font-size: 16px; line-height: 1.55; margin: 0; }
}





footer.footer,
footer.footer .container,
footer.footer .footer-logo,
footer.footer .footer-links,
footer.footer .footer-contact,
footer.footer .footer-topics,
footer.footer .footer-bottom {
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}


footer.footer {
  background: #fff !important;
  border-top: 1px solid #e5e5e5 !important;
  margin-top: 64px;
  font-family: Lato, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  color: #1a1a1a;
}

footer.footer .container {
  display: grid !important;
  grid-template-columns: 1.2fr 1fr 1fr 1fr;
  gap: 40px 48px;
  max-width: 1160px;
  width: auto !important;
  margin: 0 auto !important;
  padding: 56px 4% 48px !important;
}


footer.footer .footer-logo { width: auto !important; text-align: left !important; }
footer.footer .footer-logo img {
  width: 265px !important;
  height: auto !important;
  display: block;
  margin: 0 0 14px !important;
}
footer.footer .footer-logo p {
  font-size: 12.5px !important;
  line-height: 1.9 !important;
  color: #555 !important;
  margin: 0 !important;
}


footer.footer .footer-contact h3,
footer.footer .footer-topics h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em;
  color: #1a1a1a !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
}
footer.footer .footer-contact h3::before,
footer.footer .footer-topics h3::before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 2px;
  background: #1a2e1a;
  flex-shrink: 0;
}

footer.footer .footer-links nav { display: block; text-align: left; }
footer.footer .footer-links nav::before {
  content: 'メニュー';
  display: block;
  padding-left: 32px;
  margin: 0 0 14px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #1a1a1a;
  background: linear-gradient(#1a2e1a, #1a2e1a) 0 50% / 22px 2px no-repeat;
}


footer.footer .footer-contact h3:not(:first-child),
footer.footer .footer-topics h3:not(:first-child) { margin-top: 28px !important; }
footer.footer .footer-contact br,
footer.footer .footer-topics br { display: none; }


footer.footer .container ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
footer.footer .container ul li {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: 1px solid #ececec;
}
footer.footer .container ul li:last-child { border-bottom: none; }
footer.footer .container ul li a {
  display: block;
  padding: 10px 2px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #333 !important;
  text-decoration: none !important;
  transition: color 0.15s, padding-left 0.15s;
}
footer.footer .container ul li a:hover {
  color: #1a2e1a !important;
  padding-left: 8px !important;
}


footer.footer .footer-bottom {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  max-width: 1160px;
  margin: 0 auto !important;
  padding: 18px 4% 22px !important;
  border-top: 1px solid #e5e5e5 !important;
}
footer.footer .footer-bottom .copyright {
  font-size: 11.5px !important;
  color: #888 !important;
  margin: 0 !important;
  letter-spacing: 0.04em;
}
footer.footer .footer-bottom .footer-terms a {
  font-size: 11.5px !important;
  color: #888 !important;
  text-decoration: none !important;
}
footer.footer .footer-bottom .footer-terms a:hover { color: #1a2e1a !important; }


@media (max-width: 1024px) {
  footer.footer .container {
    grid-template-columns: 1fr 1fr;
    gap: 36px 32px;
    padding: 44px 5% 36px !important;
  }
  footer.footer .footer-logo { grid-column: 1 / -1; }
}


@media (max-width: 640px) {
  footer.footer .container {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 40px 6% 32px !important;
  }
  footer.footer .footer-bottom {
    flex-direction: column;
    gap: 6px;
    text-align: center;
  }
}



:root{
  --ink: #111110;
  --ink-soft: #57544C;
  --green: #1F5A34;
  --rule: #E7E4DA;
  --num: #C6C2B6;
}

.og-pop{
  max-width: 1200px;
  margin: 0 auto;
}

.og-pop__grid{
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 64px;
}
@media (max-width: 760px){
  .og-pop__grid{ grid-template-columns: 1fr; gap: 40px; }
}

.og-pop__kicker{
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
  color: var(--ink-soft);
  text-transform: uppercase;
  margin: 0 0 20px;
}
.og-pop__kicker::before{
  content: "";
  width: 18px; height: 2px;
  background: var(--green);
}


.og-pop__feature-link{
  display: block;
  text-decoration: none;
  color: inherit;
}

.og-pop__feature-media{
  overflow: hidden;
  aspect-ratio: 4 / 3;
  margin-bottom: 22px;
}
.og-pop__feature-media img{
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.og-pop__feature-link:hover .og-pop__feature-media img{
  transform: scale(1.03);
}

.og-pop__feature-title{
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 600;
  font-size: 27px;
  line-height: 1.32;
  letter-spacing: -0.01em;
  margin: 0;
  color: var(--ink);
}
.og-pop__feature-link:hover .og-pop__feature-title{
  color: var(--green);
}


.og-pop__list{
  list-style: none;
  margin: 0;
  padding: 0;
}

.og-pop__item{
  border-top: 1px solid var(--rule);
}
.og-pop__item:last-child{
  border-bottom: 1px solid var(--rule);
}

.og-pop__item a{
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 22px 0;
  text-decoration: none;
  color: inherit;
}

.og-pop__num{
  flex: 0 0 auto;
  width: 40px;
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 500;
  font-size: 22px;
  color: var(--num);
  transition: color .2s ease;
}
.og-pop__item:hover .og-pop__num{
  color: var(--green);
}

.og-pop__thumb{
  flex: 0 0 auto;
  width: 76px;
  height: 76px;
  overflow: hidden;
}
.og-pop__thumb img{
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}

.og-pop__item h3{
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-family: 'Inter', sans-serif;
  font-weight: 400;
  font-size: 14.5px;
  line-height: 1.62;
  color: var(--ink-soft);
}
.og-pop__item h3 strong{
  font-weight: 600;
  color: var(--ink);
}

.og-pop__chevron{
  flex: 0 0 auto;
  font-family: 'Inter', sans-serif;
  font-size: 18px;
  color: var(--num);
  transition: transform .2s ease, color .2s ease;
}
.og-pop__item:hover .og-pop__chevron{
  color: var(--green);
  transform: translateX(3px);
}

@media (max-width: 480px){
  .og-pop__feature-title{ font-size: 22px; }
}


@media (max-width: 820px){
  .og-pop__grid{ grid-template-columns: 1fr; gap: 32px; }

  .og-pop__list{
    display: flex;
    gap: 16px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 4px;
  }
  .og-pop__list::-webkit-scrollbar{ display: none; }
  .og-pop__list{ scrollbar-width: none; }

  .og-pop__item{
    flex: 0 0 200px;
    border: none !important;
  }

  .og-pop__item a{
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 0;
    scroll-snap-align: start;
  }

  .og-pop__num{
    width: auto;
    font-size: 26px;
    margin-bottom: 10px;
  }

  .og-pop__thumb{
    width: 100%;
    height: 130px;
    margin-bottom: 12px;
  }

  .og-pop__item h3{
    font-size: 13px;
    line-height: 1.55;
  }

  .og-pop__chevron{
    display: none;
  }

	.classic-direction-note{
    margin-top:24px;
    padding:16px 18px;
    border-radius:12px;
    background:#fff8e8;
    border-left:4px solid #f59e0b;
    font-size:14px;
    line-height:1.8;
    color:#555;
}
}





@media (min-width: 641px) and (max-width: 1024px) {

  .index-right .name-box {
    display: block !important;
    max-width: 520px;
    margin: 0 auto 36px !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;
  }


  .name-box .profile-header {
    display: block !important;
    height: 84px !important;
    max-height: 84px !important;
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 12px 12px 0 0;
  }
  .name-box .profile-header::before,
  .name-box .profile-header::after { content: none !important; }


  .name-box .profile-content {
    display: flex !important;
    flex-direction: column;
    align-items: center;
    position: static !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    width: auto !important;
    height: auto !important;
    padding: 0 22px 22px !important;
  }

  .name-box .profile-image {
    width: 96px !important;
    height: 96px !important;
    margin: -48px auto 12px !important;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid #fff;
    background: #fff;
    flex-shrink: 0;
  }
  .name-box .profile-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
  }

  .name-box .profile-info { width: 100% !important; text-align: left; }
  .name-box .profile-info-name {
    font-size: 17px !important;
    font-weight: 700;
    text-align: center;
    margin: 0 0 10px !important;
  }
  .name-box .profile-info p { font-size: 13.5px; line-height: 1.9; }

  .name-box .pro-ul1 {
    display: flex !important;
    justify-content: center;
    gap: 16px;
    list-style: none;
    margin: 14px 0 0 !important;
    padding: 0 !important;
  }
  .name-box .unique-social-item img { width: 26px; height: 26px; display: block; }


  .tab_content .index-right { max-width: 560px; margin-left: auto !important; margin-right: auto !important; }
}





footer.footer {
  background: #f4f3ee !important;
  border-top: 1px solid #e3e1d9 !important;
}
footer.footer .container ul li { border-bottom: 1px solid #e3e1d9; }
footer.footer .footer-bottom {
  background: #ecebe4 !important;
  border-top: 1px solid #e0ded5 !important;
}


footer.footer .footer-logo img {
  width: min(260px, 90%) !important;
  height: auto !important;
  margin: 0 0 16px !important;
}
footer.footer .footer-logo p { max-width: 260px; }


@media (min-width: 641px) and (max-width: 1024px) {
  footer.footer .container {
    display: block !important;
    column-count: 2;
    column-gap: 40px;
    padding: 44px 6% 36px !important;
  }
  footer.footer .footer-logo {
    column-span: all;
    margin-bottom: 34px;
    text-align: center !important;
  }
  footer.footer .footer-logo img { margin: 0 auto 14px !important; }
  footer.footer .footer-logo p { margin: 0 auto !important; }


  footer.footer .container h3 { break-after: avoid; }
  footer.footer .container ul { break-inside: avoid; margin-bottom: 26px !important; }
  footer.footer .footer-links nav { break-inside: avoid; }
}


@media (max-width: 640px) {
  footer.footer .container { padding: 40px 6% 30px !important; }
  footer.footer .footer-logo { text-align: center !important; }
  footer.footer .footer-logo img { margin: 0 auto 12px !important; }
  footer.footer .footer-logo p { margin: 0 auto !important; }

  footer.footer .container ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 20px;
    margin-bottom: 6px !important;
  }
  footer.footer .container ul li a {
    padding: 11px 2px !important;
    font-size: 12.5px !important;
    line-height: 1.5 !important;
  }

  footer.footer .container ul li:last-child { border-bottom: 1px solid #e3e1d9; }
  footer.footer .container ul li:nth-last-child(-n+2) { border-bottom: none; }
}



.pog-strainRail__title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  font-weight: 700;
  color: #1a2e1a;
  margin: 0 0 6px;
}
.pog-strainRail__title::before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 2px;
  background: #1a2e1a;
  flex-shrink: 0;
}

.pog-strainRail__viewport { position: relative; }
.pog-strainRail__viewport::after {
  content: '';
  position: absolute;
  top: 0; right: 0; bottom: 14px;
  width: 44px;
  background: linear-gradient(to left, rgba(255,255,255,0.95), rgba(255,255,255,0));
  pointer-events: none;
}

.pog-strainRail__track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  padding: 2px 2px 14px;
  margin: 0;
  list-style: none;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(0,0,0,0.28) transparent;
}
.pog-strainRail__track::-webkit-scrollbar { height: 5px; }
.pog-strainRail__track::-webkit-scrollbar-track { background: transparent; }
.pog-strainRail__track::-webkit-scrollbar-thumb { background: rgba(0,0,0,0.28); border-radius: 999px; }

.pog-strainRail__thumb {
  display: block;
  width: 100%;
  height: 150px;
  background: #ececec;
}
.pog-strainRail__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 640px) {

  .pog-strainRail__thumb { height: 160px; }
}
@media (min-width: 641px) and (max-width: 1024px) {

}



.koteiLb {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999;
}
.koteiLb:target { display: block; }

.koteiLb__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
}


.koteiLb__panel {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  background: #fff;
  border-radius: 18px 18px 0 0;
  padding: 24px 20px calc(26px + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -8px 32px rgba(0,0,0,0.22);
  animation: koteiLbUp 0.24s ease-out both;
}
@keyframes koteiLbUp {
  from { transform: translateY(24px); opacity: 0; }
  to   { transform: translateY(0);    opacity: 1; }
}

.koteiLb__close {
  position: absolute;
  top: 12px; right: 14px;
  width: 30px; height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f0f0ec;
  border-radius: 50%;
  color: #555;
  font-size: 17px;
  text-decoration: none;
  line-height: 1;
}
.koteiLb__lead {
  font-size: 15px;
  font-weight: 700;
  color: #1a1a1a;
  text-align: center;
  margin: 0 0 16px;
}
.koteiLb__btns {
  display: grid;
  gap: 10px;
}
.koteiLb__btn {
  display: block;
  padding: 15px 14px;
  border-radius: 12px;
  text-align: center;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.4;
  transition: opacity 0.18s;
}
.koteiLb__btn:hover { opacity: 0.85; }
.koteiLb__btn--send {
  background: #00b900;
  color: #fff;
}
.koteiLb__btn--friend {
  background: #fff;
  border: 1.5px solid #00b900;
  color: #00a000;
}
.koteiLb__sub {
  display: block;
  font-size: 11px;
  font-weight: 400;
  margin-top: 4px;
  opacity: 0.85;
}


@media (min-width: 641px) {
  .koteiLb__panel {
    left: 50%; right: auto; bottom: auto; top: 50%;
    transform: translate(-50%, -50%);
    width: 400px;
    max-width: calc(100vw - 40px);
    border-radius: 14px;
    padding: 28px 26px 26px;
    animation: koteiLbIn 0.22s ease-out both;
  }
  @keyframes koteiLbIn {
    from { transform: translate(-50%, -46%); opacity: 0; }
    to   { transform: translate(-50%, -50%); opacity: 1; }
  }
}



.ccUpd--has-more:not(:has(.ccUpd__grid > .ccUpd__card:nth-child(n+7))) .ccUpd__toggleBtn,
.ccUpd--has-more:not(:has(.ccUpd__grid > .ccUpd__card:nth-child(n+7))) .ccUpd__fade {
  display: none !important;
}



.strain-feature-slider {
  display: flex;
  gap: 28px;
  width: 100%;
  margin: 44px 0;
  padding: 8px 0 22px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  -webkit-overflow-scrolling: touch;


  background:
    linear-gradient(to right, #fff 30%, rgba(255,255,255,0)) left,
    linear-gradient(to left, #fff 30%, rgba(255,255,255,0)) right,
    radial-gradient(farthest-side at 0% 50%, rgba(0,0,0,.25), rgba(0,0,0,0)) left,
    radial-gradient(farthest-side at 100% 50%, rgba(0,0,0,.25), rgba(0,0,0,0)) right;
  background-repeat: no-repeat;
  background-color: #fff;
  background-size: 60px 100%, 60px 100%, 20px 100%, 20px 100%;
  background-attachment: local, local, scroll, scroll;
}

.strain-feature-slider::-webkit-scrollbar {
  height: 8px;
}

.strain-feature-slider::-webkit-scrollbar-track {
  background: #eee;
}

.strain-feature-slider::-webkit-scrollbar-thumb {
  background: #111;
  border-radius: 999px;
}



.strain-feature-card {
  position: relative;
  flex: 0 0 940px;
  width: 940px;
  max-width: none;
  margin: 0;
  padding-top: 30px;
  color: #111;
  scroll-snap-align: start;
}
.strain-feature-card,
.strain-feature-card * {
  box-sizing: border-box;
}

.strain-feature-card__label {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 400px;
  min-height: 52px;
  margin: 0 !important;
  padding: 10px 18px !important;
  border: 2px solid #111 !important;
  background: #fff;
  color: #111 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.02em !important;
  text-align: center;
}

.strain-feature-card__inner {
  display: grid;
  grid-template-columns: 405px minmax(0, 1fr);
  column-gap: 34px;
  width: 100%;
  padding: 48px 28px 28px;
  border: 2px solid #111;
  background: #fff;
}

.strain-feature-card__image {
  grid-column: 1;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  background: #fff;
  border-radius: 15px;
}
.strain-feature-card__image img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 !important;
  border-radius: inherit;
}

.strain-feature-card__content {
  grid-column: 2;
  min-width: 0;
  padding-top: 4px;
}
.strain-feature-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 14px;
}
.strain-feature-card__tags span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 6px 12px;
  border: 1px solid #999;
  border-radius: 3px;
  background: #fff;
  color: #111;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.strain-feature-card__eyebrow {
  margin: 0 0 5px !important;
  color: #b59a45;
  font-size: 16px !important;
  font-weight: 400;
  line-height: 1.2 !important;
  letter-spacing: 0.02em;
}
.strain-feature-card__name {
  margin: 0 0 8px;
  color: #111;
  font-size: 26px;
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: 0.02em;
  overflow-wrap: anywhere;
}
.strain-feature-card__text {
  margin: 0 !important;
  color: #333;
  font-size: 15px !important;
  font-weight: 400;
  line-height: 1.4 !important;
  letter-spacing: 0.02em;
  overflow-wrap: anywhere;
}

.strain-feature-slider
.strain-feature-card
.strain-feature-card__inner
> a.strain-feature-card__button,
.strain-feature-slider
.strain-feature-card
.strain-feature-card__inner
> a.strain-feature-card__button:visited {
  grid-column: 1 / span 2 !important;
  justify-self: stretch !important;
  align-self: stretch !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 70px !important;
  margin: 34px 0 0 !important;
  padding: 14px 24px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background-color: #1f843e !important;
  background-image: none !important;
  color: #fff !important;
  appearance: none;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.strain-feature-slider
.strain-feature-card
.strain-feature-card__inner
> a.strain-feature-card__button:hover,
.strain-feature-slider
.strain-feature-card
.strain-feature-card__inner
> a.strain-feature-card__button:focus {
  background-color: #1a7336 !important;
  background-image: none;
  color: #fff;
  text-decoration: none;
  box-shadow: none;
}
.strain-feature-slider
.strain-feature-card
.strain-feature-card__inner
> a.strain-feature-card__button:focus-visible {
  outline: 3px solid rgba(31, 132, 62, 0.3);
  outline-offset: 3px;
}

@media (max-width: 1024px) {
  .strain-feature-card {
    flex-basis: 860px;
    width: 860px;
  }
  .strain-feature-card__inner {
    grid-template-columns: 360px minmax(0, 1fr);
    column-gap: 28px;
  }
}

@media (max-width: 768px) {
  .strain-feature-slider {
    gap: 14px;
    margin: 26px 0;
    padding: 4px 16px 18px;
    scroll-padding-left: 16px;
  }

  .strain-feature-card {
    flex: 0 0 88vw;
    width: 88vw;
    max-width: 380px;
    padding-top: 34px;
  }

  .strain-feature-card__label {
    width: auto;
    max-width: calc(100% - 20px);
    min-height: 40px;
    padding: 8px 14px !important;
    border: 2px solid #111 !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
  }


  .strain-feature-card__inner {
    grid-template-columns: 1fr;
    row-gap: 18px;
    column-gap: 0;
    width: 100%;
    padding: 40px 20px 22px;
  }

  .strain-feature-card__image {
    grid-column: 1;
    width: 100%;
    height: auto;
    margin: 0;
  }

  .strain-feature-card__image img {
    width: 100%;
    height: auto;
    object-fit: initial;
  }

  .strain-feature-card__content {
    grid-column: 1;
    padding-top: 0;
  }

  .strain-feature-card__tags {
    gap: 10px;
    margin-bottom: 12px;
  }

  .strain-feature-card__tags span {
    min-height: 30px;
    padding: 6px 10px;
    font-size: 12.5px;
  }

  .strain-feature-card__eyebrow {
    margin-bottom: 4px !important;
    font-size: 13px !important;
  }

  .strain-feature-card__name {
    margin-bottom: 8px;
    font-size: 20px;
    line-height: 1.25;
  }

  .strain-feature-card__text {
    font-size: 14px !important;
    line-height: 1.5 !important;
  }


  .strain-feature-slider
  .strain-feature-card
  .strain-feature-card__inner
  > a.strain-feature-card__button,
  .strain-feature-slider
  .strain-feature-card
  .strain-feature-card__inner
  > a.strain-feature-card__button:visited {
    grid-column: 1 !important;
    justify-self: stretch !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 56px !important;
    margin: 22px 0 0 !important;
    padding: 12px 18px !important;
    border-radius: 10px !important;
    font-size: 15px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .strain-feature-slider
  .strain-feature-card
  .strain-feature-card__inner
  > a.strain-feature-card__button {
    transition: none;
  }
}

.strain-feature-card__button-row {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  margin: 34px 0 0;
}
.strain-feature-card__button,
.strain-feature-card__button:visited {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  grid-column: 1 / span 2 !important;
  width: 100% !important;
  max-width: none;
  min-height: 70px !important;
  margin: 0 auto !important;
  padding: 14px 24px !important;
  box-sizing: border-box;
  border: 0;
  border-radius: 10px !important;
  background: #1f843e !important;
  color: #fff !important;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none;
}
.strain-feature-card__button:hover,
.strain-feature-card__button:focus {
  background: #1a7336 !important;
  color: #fff !important;
  text-decoration: none !important;
}






.contact-form-container {
  width: 90%;
  max-width: 90%;
  margin: 40px auto;
  float: none;
}


.contact-form-container select.wpcf7-select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 100%;
  height: auto;
  padding: 10px 40px 10px 10px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
  background-color: #fff;
  color: #333;
  font-size: 16px;
  line-height: 1.4;
  cursor: pointer;

  background-image: linear-gradient(45deg, transparent 50%, #666 50%),
                     linear-gradient(135deg, #666 50%, transparent 50%);
  background-position: calc(100% - 20px) center, calc(100% - 15px) center;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}
.contact-form-container select.wpcf7-select:focus {
  border-color: #007bff;
  outline: none;
  box-shadow: 0 0 5px rgba(0, 123, 255, 0.5);
}


.contact-form-container .wpcf7-list-item {
  margin: 0 0 20px;
}
.contact-form-container .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-weight: normal;
  font-size: 14px;
  color: #333;
}
.contact-form-container .wpcf7-list-item input[type="checkbox"] {
  width: auto;
  margin: 3px 0 0;
  flex-shrink: 0;
}



.strain-feature-card__button,
.strain-feature-card__button:visited {
  display: block !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
  background-color: #2e7d32 !important;
  color: #ffffff !important;
  font-weight: bold !important;
  text-decoration: none !important;
  padding: 25px 0 !important;
  border-radius: 8px !important;
  margin-top: 16px !important;
  transition: background-color 0.2s ease;
}

.strain-feature-card__button:hover {
  background-color: #256428 !important;
}




.kei-note {
  display: grid;
  grid-template-columns: 100px 1fr;
  column-gap: 16px;
  row-gap: 10px;
  margin: 28px 0;
  padding-top: 18px;
  border-top: 1px solid #e5e0d8;
}






.kei-note__text {
  grid-column: 1 / -1;
  grid-row: 2;
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.85 !important;
  color: #222;
}

@media (max-width: 768px) {
  .kei-note {
    grid-template-columns: 72px 1fr;
    column-gap: 12px;
    row-gap: 8px;
    margin: 22px 0;
    padding-top: 14px;
  }
        .kei-note__text {
    font-size: 14px !important;
    line-height: 1.8 !important;
  }
}

.kei-review-head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 24px 0;
  padding: 20px 24px;
  border: 1px solid #e8e8e8;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 6px 20px rgba(0,0,0,0.04);
}

.kei-review-avatar {
  width: 58px !important;
  height: 58px !important;
  flex-shrink: 0;
  border-radius: 50%;
  object-fit: cover;
  margin: 0 !important;
}

.kei-review-profile {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.kei-review-role {
  margin: 0 0 4px !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  letter-spacing: .05em;
  color: #777;
}

.kei-review-name-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.kei-review-name {
  margin: 0;
  font-size: 19px;
  line-height: 1.2;
  font-weight: 500;
  color: #111;
}

.kei-review-stars {
  font-size: 14px;
  line-height: 1;
  letter-spacing: .03em;
  color: #f5b301;
}

.kei-review-text {
  margin: 2px 0 0 !important;
  font-size: 15px !important;
  line-height: 1.95 !important;
  color: #222;
  flex: 1;
  display: block;
  clear: both;
}

@media (max-width: 768px) {

  .kei-review-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 18px;
    border-radius: 16px;
  }

  .kei-review-avatar {
    width: 52px;
    height: 52px;
  }

  .kei-review-role {
    font-size: 10px;
  }

  .kei-review-name {
    font-size: 17px;
  }

  .kei-review-stars {
    font-size: 13px;
  }

  .kei-review-text {
    margin-top: 2px;
    font-size: 14px;
    line-height: 1.85;
  }

}

.ogt-flight-slider {
width: 100%;
margin: 28px 0;
padding: 24px;
border: 1px solid #e4e1da;
border-radius: 14px;
background: #faf9f6;
box-sizing: border-box;
overflow: hidden;
}

.ogt-flight-slider__header {
display: flex;
margin-bottom: 16px;
align-items: flex-end;
justify-content: space-between;
gap: 24px;
}

.ogt-flight-slider__heading {
min-width: 0;
}

.ogt-flight-slider__eyebrow {
  margin: 0 0 6px !important;
  color: #81796b;
  font-size: 11px !important;
  font-weight: 700;
  line-height: 1.4 !important;
  letter-spacing: 0.12em;
}

.ogt-flight-slider__title {
  margin: 0 !important;
    margin-bottom: 0px;
  color: #22211f !important;
  font-size: clamp(19px, 2.5vw, 25px) !important;
  font-weight: 700 !important;
  line-height: 1.45;
  letter-spacing: 0.01em !important;
  border: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.ogt-flight-slider__lead {
  max-width: 430px;
  margin: 0 !important;
  color: #68645d;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

.ogt-flight-slider__guide {
display: flex;
margin: 0 0 10px;
color: #6f746f;
font-size: 11px;
font-weight: 600;
line-height: 1.5;
align-items: center;
justify-content: flex-end;
gap: 8px;
}

.ogt-flight-slider__guide-arrow {
font-size: 15px;
}

.ogt-flight-slider__viewport {
width: 100%;
padding: 2px 0 10px;
overflow-x: auto;
overflow-y: hidden;
scroll-behavior: smooth;
scroll-snap-type: x mandatory;
overscroll-behavior-inline: contain;
-webkit-overflow-scrolling: touch;
}

.ogt-flight-slider__viewport::-webkit-scrollbar {
height: 6px;
}

.ogt-flight-slider__viewport::-webkit-scrollbar-track {
border-radius: 999px;
background: #ebe8e1;
}

.ogt-flight-slider__viewport::-webkit-scrollbar-thumb {
border-radius: 999px;
background: #aaa398;
}

.ogt-flight-slider__list {
display: flex;
width: max-content;
padding: 8px 2px 2px;
gap: 12px;
}

.ogt-flight-card {
position: relative;
display: flex;
width: 250px;
min-height: 142px;
padding: 19px 17px 16px;
border: 1px solid #dedbd4;
border-radius: 11px;
background: #ffffff;
color: #252421;
text-decoration: none;
flex: 0 0 auto;
flex-direction: column;
justify-content: space-between;
box-sizing: border-box;
scroll-snap-align: start;
transition: border-color 0.2s ease, transform 0.2s ease, background-color 0.2s ease;
}

.ogt-flight-card:hover {
border-color: #8f978f;
background: #fdfcf9;
color: #252421;
text-decoration: none;
transform: translateY(-2px);
}

.ogt-flight-card:focus-visible {
outline: 3px solid rgba(62, 90, 70, 0.25);
outline-offset: 3px;
}

.ogt-flight-card--popular {
border-color: #a9b0aa;
}

.ogt-flight-card__badge {
position: absolute;
top: -9px;
right: 12px;
display: inline-flex;
min-height: 22px;
padding: 3px 9px;
border-radius: 999px;
background: #405748;
color: #ffffff;
font-size: 10px;
font-weight: 700;
line-height: 1.4;
align-items: center;
justify-content: center;
box-sizing: border-box;
}

.ogt-flight-card__route {
display: flex;
min-width: 0;
align-items: center;
justify-content: space-between;
gap: 10px;
}

.ogt-flight-card__place {
display: flex;
min-width: 0;
color: #22211f;
font-size: 16px;
font-weight: 700;
line-height: 1.35;
flex: 1 1 0;
flex-direction: column;
}

.ogt-flight-card__place--arrival {
text-align: right;
align-items: flex-end;
}

.ogt-flight-card__code {
margin-top: 3px;
color: #918b80;
font-size: 10px;
font-weight: 600;
line-height: 1.3;
letter-spacing: 0.08em;
}

.ogt-flight-card__plane {
color: #8b867d;
font-size: 17px;
line-height: 1;
flex: 0 0 auto;
}

.ogt-flight-card__button {
display: flex;
width: 100%;
min-height: 38px;
margin-top: 20px;
padding: 9px 12px;
border-radius: 7px;
background: #405748;
color: #ffffff;
font-size: 12px;
font-weight: 700;
line-height: 1.4;
align-items: center;
justify-content: space-between;
box-sizing: border-box;
transition: background-color 0.2s ease;
}

.ogt-flight-card:hover .ogt-flight-card__button {
background: #314439;
}

.ogt-flight-slider__note {
  margin: 10px 0 0 !important;
  color: #827d74;
  font-size: 10px !important;
  line-height: 1.6 !important;
}

.trave-plan-disclaimer {
  font-size: 13px !important;
  margin-top: 2%;
  line-height: 1.2em !important;
}

@media screen and (max-width: 1024px) {
.ogt-flight-slider__header {
display: block;
}

.ogt-flight-slider__lead {
max-width: none;
margin-top: 8px;
}

.ogt-flight-card {
width: 238px;
}
}

@media screen and (max-width: 768px) {
.ogt-flight-slider {
margin: 24px 0;
padding: 20px 0 16px;
border-radius: 12px;
}

.ogt-flight-slider__header {
padding: 0 16px;
margin-bottom: 10px;
}

.ogt-flight-slider__eyebrow {
font-size: 10px;
}

.ogt-flight-slider__title {
font-size: 19px;
line-height: 1.5;
}

.ogt-flight-slider__lead {
margin-top: 7px;
font-size: 12px;
line-height: 1.7;
}

.ogt-flight-slider__guide {
padding: 0 16px;
margin-bottom: 7px;
justify-content: flex-start;
}

.ogt-flight-slider__viewport {
padding-bottom: 9px;
scroll-padding-left: 16px;
}

.ogt-flight-slider__list {
padding-right: 16px;
padding-left: 16px;
gap: 10px;
}

.ogt-flight-card {
width: min(78vw, 280px);
min-height: 136px;
padding: 18px 15px 14px;
}

.ogt-flight-card__place {
font-size: 15px;
}

.ogt-flight-card__button {
min-height: 40px;
margin-top: 18px;
font-size: 12px;
}

.ogt-flight-slider__note {
padding: 0 16px;
}
}

@media screen and (max-width: 375px) {
.ogt-flight-slider__title {
font-size: 18px;
}

.ogt-flight-card {
width: 82vw;
max-width: 270px;
}

.ogt-flight-card__button {
min-height: 42px;
}
}

@media (prefers-reduced-motion: reduce) {
.ogt-flight-slider__viewport {
scroll-behavior: auto;
}

.ogt-flight-card,
.ogt-flight-card__button {
transition: none;
}

.ogt-flight-card:hover {
transform: none;
}
}



.ptalk-block {
  width: 100%;
  margin: 40px 0;
  overflow: hidden;
  border: 1px solid #e3e1dc;
  border-radius: 16px;
  background: #ffffff;
  color: #252525;
}

.ptalk-header {
  padding: 32px;
  background: #f5f3ee;
}

.ptalk-label,
.ptalk-title,
.ptalk-desc,
.ptalk-benefit-label,
.ptalk-benefit-title,
.ptalk-benefit-text,
.ptalk-models-title,
.ptalk-model-type,
.ptalk-model-name,
.ptalk-model-price,
.ptalk-model-badge,
.ptalk-guide-title,
.ptalk-notice {
  margin: 0;
}

.ptalk-label {
  margin-bottom: 8px !important;
  color: #726b5e;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height: 1.2em !important;
}

.ptalk-title {
  font-size: clamp(22px, 3vw, 32px) !important;
  font-weight: 700;
  line-height: 1.4 !important;
}

.ptalk-desc {
  max-width: 760px;
  margin-top: 12px;
  color: #5f5b54;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

.ptalk-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: #e3e1dc;
  border-top: 1px solid #e3e1dc;
  border-bottom: 1px solid #e3e1dc;
}

.ptalk-benefit {
  padding: 28px;
  background: #ffffff;
}

.ptalk-benefit-label {
  margin-bottom: 8px !important;
  color: #726b5e;
  font-size: 12px !important;
  font-weight: 700;
}

.ptalk-benefit-title {
  margin-bottom: 10px !important;
  font-size: 17px !important;
  font-weight: 700;
  line-height: 1.5 !important;
}

.ptalk-benefit-text {
  color: #625f59;
  font-size: 14px !important;
  line-height: 1.8 !important;
  margin-bottom: 0 !important;
}

.ptalk-models {
  padding: 32px;
}

.ptalk-models-title {
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 700;
}

.ptalk-model-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.ptalk-model {
  position: relative;
  padding: 26px;
  border: 1px solid #dedbd4;
  border-radius: 12px;
  background: #ffffff;
}

.ptalk-model--recommended {
  border-color: #7a7468;
  background: #faf9f6;
}

.ptalk-model-badge {
  display: inline-flex;
  margin-bottom: 14px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #252525;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
}

.ptalk-model-type {
  margin-bottom: 5px !important;
  color: #777168;
  font-size: 12px !important;
  font-weight: 700;
  line-height: 1.2 !important;
}

.ptalk-model-name {
  font-size: 21px !important;
  font-weight: 700;
  line-height: 1.4 !important;
  margin-bottom: 0 !important;
}

.ptalk-model-price {
  margin-top: 12px;
  font-size: 14px !important;
  margin-bottom: 0 !important;
  line-height: 1.2 !important;
}

.ptalk-model-price span {
  margin-right: 3px;
  font-size: 28px;
  font-weight: 700;
}

.ptalk-model-list {
  margin: 20px 0 0;
  padding-left: 1.25em;
  color: #595650;
  font-size: 14px;
  line-height: 1.9;
}

.ptalk-model-list li{
	margin:0;
}

.ptalk-guide {
  margin-top: 20px;
  padding: 24px;
  border-radius: 12px;
  background: #f5f3ee;
}

.ptalk-guide-title {
  margin-bottom: 10px !important;
  font-size: 17px !important;
  font-weight: 700;
  line-height: 1.2 !important;
}

.ptalk-guide-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 28px;
  margin: 0;
  padding-left: 1.25em;
  font-size: 14px;
  line-height: 1.7;
}

.ptalk-notice {
  margin-top: 20px;
  color: #77736c;
  font-size: 12px !important;
  line-height: 1.7 !important;
  margin-bottom: 0 !important;
}




@media (max-width: 768px) {
  .ptalk-header,
  .ptalk-models {
    padding: 24px 20px;
  }

  .ptalk-benefits,
  .ptalk-model-grid {
    grid-template-columns: 1fr;
  }

  .ptalk-benefits {
    gap: 0;
  }

  .ptalk-benefit {
    padding: 22px 20px;
    border-bottom: 1px solid #e3e1dc;
  }

  .ptalk-benefit:last-child {
    border-bottom: 0;
  }

  .ptalk-guide-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 375px) {
  .ptalk-block {
    margin: 30px 0;
    border-radius: 12px;
  }

  .ptalk-header,
  .ptalk-models {
    padding: 20px 16px;
  }

  .ptalk-benefit,
  .ptalk-model,
  .ptalk-guide {
    padding: 20px 16px;
  }

  .ptalk-model-price span {
    font-size: 25px;
  }

  }



.rktravel-block {
  width: 100%;
  margin: 40px 0;
  overflow: hidden;
  border: 1px solid #e3e1dc;
  border-radius: 16px;
  background: #ffffff;
  color: #252525;
}

.rktravel-header {
  padding: 32px;
  background: #f5f3ee;
}

.rktravel-label,
.rktravel-title,
.rktravel-desc,
.rktravel-benefit-label,
.rktravel-benefit-title,
.rktravel-benefit-text,
.rktravel-compare-title,
.rktravel-card-badge,
.rktravel-card-type,
.rktravel-card-name,
.rktravel-fit-title,
.rktravel-fit-text,
.rktravel-insurance-title,
.rktravel-insurance-note,
.rktravel-cashing-label,
.rktravel-cashing-title,
.rktravel-cashing-text,
.rktravel-answer-title,
.rktravel-answer-question,
.rktravel-answer-result,
.rktravel-notice {
  margin: 0;
}

.rktravel-label {
  margin-bottom: 8px !important;
  color: #746e64;
  font-size: 12px !important;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2em !important;
}

.rktravel-title {
  font-size: clamp(22px, 3vw, 32px) !important;
  font-weight: 700;
  line-height: 1.4 !important;
  margin-bottom: 0 !important;
}

.rktravel-desc {
  max-width: 100%;
  margin-top: 12px;
  color: #5f5b54;
  font-size: 15px !important;
  line-height: 1.8 !important;
  margin-bottom: 0 !important;
}

.rktravel-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border-top: 1px solid #e3e1dc;
  border-bottom: 1px solid #e3e1dc;
  background: #e3e1dc;
}

.rktravel-benefit {
  padding: 28px;
  background: #ffffff;
}

.rktravel-benefit-label {
  margin-bottom: 8px !important;
  color: #746e64;
  font-size: 12px !important;
  font-weight: 700;
  line-height: 1.2 !important;
}

.rktravel-benefit-title {
  margin-bottom: 10px !important;
  font-size: 17px !important;
  font-weight: 700;
  line-height: 1.5 !important;
}

.rktravel-benefit-text {
  color: #625f59;
  font-size: 14px !important;
  line-height: 1.8 !important;
  margin-bottom: 0 !important;
}

.rktravel-compare {
  padding: 32px;
}

.rktravel-compare-title {
  margin-bottom: 20px;
  font-size: 20px;
  font-weight: 700;
}

.rktravel-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.rktravel-card {
  display: flex;
  min-width: 0;
  padding: 26px;
  flex-direction: column;
  border: 1px solid #dedbd4;
  border-radius: 14px;
  background: #ffffff;
}

.rktravel-card--gold {
  border-color: #a9935f;
  background: #faf8f2;
}

.rktravel-card-badge {
  align-self: flex-start;
  margin-bottom: 13px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #8c7846;
  color: #ffffff;
  font-size: 11px;
  font-weight: 700;
}

.rktravel-card-type {
  margin-bottom: 5px !important;
  color: #777168;
  font-size: 12px !important;
  font-weight: 700;
  line-height: 1.2 !important;
}

.rktravel-card-name {
  font-size: 23px !important;
  font-weight: 700;
  line-height: 1.4 !important;
  margin-bottom: 0 !important;
}

.rktravel-card-fee {
  display: flex;
  margin-top: 14px;
  align-items: baseline;
  gap: 7px;
}

.rktravel-card-fee-main {
  font-size: 27px;
  font-weight: 700;
}

.rktravel-card-fee-sub {
  color: #777168;
  font-size: 12px;
}

.rktravel-card-list {
  margin: 20px 0 0;
  padding-left: 1.25em;
  color: #595650;
  font-size: 14px;
  line-height: 1.9;
}

.rktravel-fit {
  margin-top: 20px;
  padding: 18px;
  border-radius: 10px;
  background: #f5f3ee;
}

.rktravel-fit-title {
  margin-bottom: 6px !important;
  font-size: 14px !important;
  font-weight: 700;
}

.rktravel-fit-text {
  color: #5e5a53;
  font-size: 13px !important;
  line-height: 1.7 !important;
  margin-bottom: 0 !important;
}

.rktravel-cta {
  display: flex;
  width: 100%;
  min-height: 54px;
  margin-top: auto;
  padding: 14px 18px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  transition: opacity 0.2s ease;
}

.rktravel-cta--standard {
  margin-top: 22px;
  background: #252525;
  color: #ffffff;
}

.rktravel-cta--gold {
  margin-top: 22px;
  background: #8c7846;
  color: #ffffff;
}

.rktravel-cta:hover {
  opacity: 0.82;
}

.rktravel-cta:focus-visible {
  outline: 3px solid #8b867c;
  outline-offset: 3px;
}

.rktravel-insurance {
  margin-top: 24px;
  padding: 24px;
  border: 1px solid #e1ded7;
  border-radius: 12px;
}

.rktravel-insurance-title {
  margin-bottom: 16px;
  font-size: 18px;
  font-weight: 700;
}

.rktravel-insurance-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.rktravel-insurance-table {
  width: 100%;
  min-width: 570px;
  border-collapse: collapse;
  font-size: 13px;
  line-height: 1.6;
}

.rktravel-insurance-table th,
.rktravel-insurance-table td {
  padding: 12px 14px;
  border: 1px solid #dfddd7;
  text-align: left;
  vertical-align: middle;
}

.rktravel-insurance-table thead th {
  background: #f4f2ed;
  font-weight: 700;
}

.rktravel-insurance-table tbody th {
  width: 38%;
  background: #faf9f6;
  font-weight: 600;
}

.rktravel-insurance-note {
  margin-top: 14px;
  color: #767169;
  font-size: 12px !important;
  line-height: 1.75 !important;
  margin-bottom: 0 !important;
}

.rktravel-cashing {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(240px, 0.8fr);
  gap: 24px;
  margin-top: 20px;
  padding: 24px;
  border-radius: 12px;
  background: #f5f3ee;
}

.rktravel-cashing-label {
  margin-bottom: 7px !important;
  color: #746e64;
  font-size: 12px !important;
  font-weight: 700;
  line-height: 1.2em !important;
}

.rktravel-cashing-title {
  margin-bottom: 9px !important;
  font-size: 18px !important;
  font-weight: 700;
  line-height: 1.2em !important;
}

.rktravel-cashing-text {
  color: #5e5a53;
  font-size: 14px !important;
  line-height: 1.8 !important;
  margin-bottom: 0 !important;
}

.rktravel-cashing-list {
  margin: 0;
  font-size: 13px;
  line-height: 1.9;
  background: #e3dcca;
  padding: 20px;
  border-radius: 3px;
}

.rktravel-answer {
  margin-top: 20px;
}

.rktravel-answer-title {
  margin-bottom: 14px !important;
  font-size: 18px !important;
  font-weight: 700;
}

.rktravel-answer-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.rktravel-answer-item {
  padding: 16px;
  border: 1px solid #e2dfd8;
  border-radius: 10px;
}

.rktravel-answer-question {
  color: #716c64;
  font-size: 12px !important;
  margin-bottom: 0 !important;
  line-height: 1.2em !important;
}

.rktravel-answer-result {
  margin-top: 4px;
  font-size: 15px !important;
  font-weight: 700;
  margin-bottom: 0 !important;
  line-height: 1.3em !important;
}

.rktravel-notice {
  margin-top: 20px;
  color: #77736c;
  font-size: 12px !important;
  line-height: 1.75 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 768px) {
  .rktravel-header,
  .rktravel-compare {
    padding: 24px 20px;
  }

  .rktravel-benefits,
  .rktravel-card-grid,
  .rktravel-cashing {
    grid-template-columns: 1fr;
  }

  .rktravel-benefits {
    gap: 0;
  }

  .rktravel-benefit {
    padding: 22px 20px;
    border-bottom: 1px solid #e3e1dc;
  }

  .rktravel-benefit:last-child {
    border-bottom: 0;
  }

  .rktravel-answer-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 375px) {
  .rktravel-block {
    margin: 30px 0;
    border-radius: 12px;
  }

  .rktravel-header,
  .rktravel-compare {
    padding: 20px 16px;
  }

  .rktravel-benefit,
  .rktravel-card,
  .rktravel-insurance,
  .rktravel-cashing {
    padding: 20px 16px;
  }

  .rktravel-card-name {
    font-size: 21px;
  }

  .rktravel-card-fee-main {
    font-size: 24px;
  }

  .rktravel-cta {
    font-size: 13px;
  }
}


#otg-launcher {
  display: none !important;
}


.ogt-fab-row {
  position: fixed;
  right: 0;
  bottom: 0;
  margin-right: 2%;
  margin-bottom: 1%;
  display: flex;
  align-items: center;
  gap: 10px;

  z-index: 500;
}
.ogt-fab-row .button {
  position: static;
  margin: 0;
}
.ogt-fab-qbox {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  background: #383838;
  padding: 13px 18px;
  border-radius: 5px;
  white-space: nowrap;
  cursor: pointer;
  text-decoration: none;
}
.ogt-fab-qbox:hover {
  background: #1f1f1f;
}


.ogt-store-status {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  margin: 0 0 18px;
  padding: 7px 14px;
  border: 1px solid #cfd8d1;
  border-left-width: 5px;
  border-radius: 6px;
  background: #f5f8f5;
  color: #254b35;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}
.ogt-store-status__label {
  letter-spacing: .04em;
}
.ogt-store-status--member {
  border-color: #7caa8c;
  background: #edf7ef;
  color: #216238;
}
.ogt-store-status--non_member {
  border-color: #a7afb5;
  background: #f2f4f5;
  color: #4b555c;
}
.ogt-store-status--closed {
  border-color: #c63d3d;
  background: #fff1f1;
  color: #9d2020;
  font-size: 15px;
}
.ogt-clinic-summary {
  background: #eef6ee;
  border-left: 4px solid #2e7d32;
  border-radius: 8px;
  padding: 14px 22px !important;
  margin: 16px 0 !important;
}
.ogt-clinic-summary__title {
  font-weight: bold;
  font-size: 15px;
  margin: 0 0 8px !important;
  color: #2e7d32;
}
.ogt-clinic-summary__text {
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 0 !important;
  color: #333;
}
.ogt-clinic-tips {
  background: #f4f7f3;
  border: 1px solid #d8e3d5;
  border-radius: 10px;
  padding: 10px 24px 12px !important;
  margin: 12px 0 !important;
}
.ogt-clinic-tips__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ogt-clinic-tips__item {
  font-size: 14px !important;
  line-height: 1.55 !important;
  margin-bottom: 8px !important;
  padding-left: 1.6em;
  text-indent: -1.6em;
  color: #333;
}
.ogt-clinic-tips__item:last-child {
  margin-bottom: 0 !important;
}

/* 「行く前に知っておきたいこと」は上下の余白を同じにする。 */
.single-box .ogt-clinic-tips { padding-top: 10px !important; padding-bottom: 10px !important; }

/* 店舗カードの地図は常に描画領域を確保する。 */
.single-box .gb-store-card-media { display: block !important; min-height: 340px !important; visibility: visible !important; }
.single-box .gb-store-card-media iframe { display: block !important; min-height: 340px !important; visibility: visible !important; }

/* UI micro-polish: contrast and motion are deliberately restrained. */
.cv-link-card,
.strain-feature-card__inner {
  box-shadow: 0 5px 18px rgba(24, 31, 27, .055) !important;
}
.cv-link-card:hover {
  box-shadow: 0 8px 22px rgba(24, 31, 27, .08) !important;
  transform: translateY(-1px) !important;
}
.cv-link-card,
.gb-store-card,
.ogt-clinic-tips {
  border-color: #dce3db !important;
}
.single-box a {
  text-underline-offset: .18em;
  text-decoration-thickness: 1px;
}
.cv-link-btn,
.strain-feature-card__button,
.header-card-lp a,
.header-contact a {
  transition-duration: .18s !important;
}

/* Tips list: content height only, with equal top/bottom breathing room. */
.single-box .ogt-clinic-tips {
  display: block !important;
  box-sizing: border-box !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 20px 24px !important;
}
.single-box .ogt-clinic-tips__list { display: block !important; margin: 0 !important; }
.single-box .ogt-clinic-tips__item { margin: 0 0 10px !important; }
.single-box .ogt-clinic-tips__item:last-child { margin-bottom: 0 !important; }



.gb-badtrip-table {
  width: 100%;
  margin: 28px 0;
  overflow: hidden;
  border: 1px solid #dedbd4;
  border-radius: 12px;
  background: #ffffff;
  color: #2b2b2b;
  box-sizing: border-box;
}

.gb-badtrip-table__head,
.gb-badtrip-table__row {
  display: grid;
  grid-template-columns: minmax(120px, 0.7fr) minmax(0, 1.65fr) minmax(0, 1.65fr);
}

.gb-badtrip-table__head {
  background: #f3f1ec;
  border-bottom: 1px solid #dedbd4;
}

.gb-badtrip-table__head > div {
  padding: 14px 16px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}

.gb-badtrip-table__row {
  border-bottom: 1px solid #e7e4de;
}

.gb-badtrip-table__row:last-child {
  border-bottom: 0;
}

.gb-badtrip-table__row > div {
  min-width: 0;
  padding: 16px;
  font-size: 14px;
  line-height: 1.75;
  overflow-wrap: anywhere;
}

.gb-badtrip-table__head > div + div,
.gb-badtrip-table__row > div + div {
  border-left: 1px solid #e7e4de;
}

.gb-badtrip-table__label {
  background: #faf9f6;
  font-weight: 700;
}

@media (max-width: 768px) {
  .gb-badtrip-table {
    border: 0;
    border-radius: 0;
    background: transparent;
  }

  .gb-badtrip-table__head {
    display: none;
  }

  .gb-badtrip-table__row {
    display: block;
    margin-bottom: 16px;
    overflow: hidden;
    border: 1px solid #dedbd4;
    border-radius: 10px;
    background: #ffffff;
  }

  .gb-badtrip-table__row:last-child {
    margin-bottom: 0;
    border-bottom: 1px solid #dedbd4;
  }

  .gb-badtrip-table__row > div {
    padding: 14px 16px;
    border-left: 0;
    border-bottom: 1px solid #e7e4de;
  }

  .gb-badtrip-table__row > div:last-child {
    border-bottom: 0;
  }

  .gb-badtrip-table__label {
    padding: 12px 16px;
    background: #f3f1ec;
    font-size: 15px;
  }

  .gb-badtrip-table__row > div:nth-child(2)::before,
  .gb-badtrip-table__row > div:nth-child(3)::before {
    display: block;
    margin-bottom: 5px;
    color: #756f65;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
  }

  .gb-badtrip-table__row > div:nth-child(2)::before {
    content: "まず行うこと";
  }

  .gb-badtrip-table__row > div:nth-child(3)::before {
    content: "避けたいこと";
  }
}

@media (max-width: 375px) {
  .gb-badtrip-table {
    margin: 22px 0;
  }

  .gb-badtrip-table__row {
    margin-bottom: 12px;
  }

  .gb-badtrip-table__row > div {
    padding: 13px 14px;
    font-size: 13px;
    line-height: 1.7;
  }

  .gb-badtrip-table__label {
    font-size: 14px;
  }
}


.ogx-summary__recommend{
display:block !important;

width:100% !important;
max-width:100% !important;
min-width:0 !important;

margin:0 !important;
padding:0 !important;

border:0 !important;
background:none !important;
}

.ogx-summary__recommend-text{
all:unset !important;
box-sizing:border-box !important;

display:block !important;
position:relative !important;

width:100% !important;
max-width:100% !important;
min-width:0 !important;

margin:0 !important;
padding:10px 0 10px 34px !important;

border-top:1px solid #dce7df !important;

font-size:14px !important;
line-height:1.7 !important;
font-weight:500 !important;

letter-spacing:0 !important;

color:#171717 !important;

text-align:left !important;
text-indent:0 !important;

white-space:normal !important;

word-break:normal !important;
overflow-wrap:anywhere !important;

writing-mode:horizontal-tb !important;
text-orientation:mixed !important;
}

.ogx-summary__recommend-text:first-child{
border-top:0 !important;
padding-top:2px !important;
}

.ogx-summary__recommend-text::before{
content:"✓" !important;

position:absolute !important;

left:0 !important;
top:9px !important;

display:flex !important;
align-items:center !important;
justify-content:center !important;

width:22px !important;
height:22px !important;

border-radius:50% !important;

background:#2f7a5b !important;

color:#fff !important;

font-size:11px !important;
line-height:1 !important;
font-weight:700 !important;

text-align:center !important;

writing-mode:horizontal-tb !important;
}

.ogx-summary__recommend-text:first-child::before{
top:1px !important;
}



.ogx-summary__col{
opacity:0;
transform:translateY(6px);

animation:ogxPanelIn .5s ease-out forwards;
}

.ogx-summary__col:nth-child(2){
animation-delay:.08s;
}

@keyframes ogxLineIn{
to{
transform:scaleY(1);
}
}

@keyframes ogxPanelIn{
to{
opacity:1;
transform:translateY(0);
}
}



@media(prefers-reduced-motion:reduce){

.ogx-summary__point::before,
.ogx-summary__col{
animation:none !important;
transform:none !important;
opacity:1 !important;
}

}



@media(max-width:760px){

.ogx-summary{
grid-template-columns:1fr !important;

margin:22px 0 28px !important;

border-radius:12px !important;
}

.ogx-summary__col{
padding:18px !important;
}

.ogx-summary__point{
padding-left:21px !important;
}

.ogx-summary__point::before{
top:16px !important;
bottom:16px !important;
}

.ogx-summary__label{
margin-bottom:10px !important;

font-size:10px !important;
}

.ogx-summary__text{
font-size:14px !important;
line-height:1.85 !important;
}

.ogx-summary__recommend-text{
padding:9px 0 9px 31px !important;

font-size:13px !important;
line-height:1.65 !important;
}

.ogx-summary__recommend-text::before{
top:8px !important;

width:20px !important;
height:20px !important;

font-size:10px !important;
}

.ogx-summary__recommend-text:first-child::before{
top:0 !important;
}

}

.tea-match-slider {
  display: flex;
  gap: 16px;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 4px 0 16px;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
  margin-bottom:20px;
}


.tea-match-card {
  flex: 0 0 360px;
  min-width: 360px;
  padding: 20px;
  border: 1px solid #e4e4e4;
  border-radius: 12px;
  background: #fff;
  scroll-snap-align: start;
  box-sizing: border-box;
}

.tea-match-card__title {
  margin: 10px 0 4px !important;
  font-size: 18px !important;
  line-height: 1.55;
  font-weight: 700 !important;
  border: none !important;
}

.tea-match-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 18px;
}

.tea-match-card__tags span {
  display: inline-block;
  padding: 5px 9px;
  border: 1px solid #d8d8d8;
  border-radius: 20px;
  font-size: 11px;
  line-height: 1;
  letter-spacing: .04em;
}

.tea-match-card__tea {
  margin: 0 0 8px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
}

.tea-match-card__text {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.9 !important;
}

.tea-match-card__note {
  margin: 16px 0 0 !important;
  padding-top: 14px !important;
  border-top: 1px solid #ededed;
  font-size: 13px !important;
  line-height: 1.8 !important;
}







.tea-match-slider::-webkit-scrollbar {
  height: 6px;
}

.tea-match-slider::-webkit-scrollbar-track {
  background: #f2f2f2;
  border-radius: 10px;
}

.tea-match-slider::-webkit-scrollbar-thumb {
  background: #aaa;
  border-radius: 10px;
}

@media (max-width: 767px) {
  .tea-match-slider {
    gap: 12px;
    margin-right: -20px;
    padding-right: 20px;
    scroll-snap-type: x mandatory;
  }


  .tea-match-card {
    flex: 0 0 84%;
    min-width: 84%;
    padding: 18px;
  }

  .tea-match-card__title {
    font-size: 17px;
  }
}


.single-box .ogt-clinic-related {
  margin: 48px 0;
  border-top: 1px solid #d9d9d9;
}

.single-box .ogt-clinic-related__eyebrow {
  margin: 22px 0 6px;
  color: #747474;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
}

.single-box .ogt-clinic-related h2 {
  display: block;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  color: #171717;
  font-size: 28px;
  line-height: 1.35;
  text-align: left;
}

.single-box .ogt-clinic-related h2::before,
.single-box .ogt-clinic-related h2::after {
  display: none;
}

.single-box .ogt-clinic-related__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.single-box .ogt-clinic-related__item {
  margin: 0;
  border-bottom: 1px solid #d9d9d9;
}

.single-box .ogt-clinic-related__link {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 16px;
  padding: 24px 0;
  color: inherit;
  text-decoration: none;
  background: transparent;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease;
}


.single-box .ogt-clinic-related__link:hover,
.single-box .ogt-clinic-related__link:focus-visible {
  position: relative;
  z-index: 1;
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(20, 30, 24, .08);
  color: inherit;
  text-decoration: none;
  background: transparent;
}

.single-box .ogt-clinic-related__link:focus-visible {
  outline: 3px solid #2f6142;
  outline-offset: 3px;
}

.ogt-clinic-related__number {
  color: #747474;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .08em;
}

.single-box .ogt-clinic-related__title {
  display: block;
  color: #171717;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.45;
  text-decoration: none;
}

.single-box .ogt-clinic-related__excerpt {
  display: block;
  margin: 10px 0 0;
  color: #6d6d6d;
  font-size: 16px;
  line-height: 1.8;
}

.ogt-clinic-related__more {
  margin: 0;
  border-bottom: 1px solid #d9d9d9;
}

.ogt-clinic-related__more summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 0;
  color: #171717;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
  list-style: none;
}

.ogt-clinic-related__more summary::-webkit-details-marker {
  display: none;
}

.ogt-clinic-related__more summary span {
  font-size: 20px;
  font-weight: 400;
}

.ogt-clinic-related__more[open] summary span {
  transform: rotate(45deg);
}


.ogx-latestRail__fade {
  width: 72px;
  opacity: 1;
}

.ogx-latestRail__fade--right {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .52) 52%, rgba(255, 255, 255, .94) 100%);
}

.ogx-latestRail__fade--left {
  background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .52) 52%, rgba(255, 255, 255, .94) 100%);
}

@media (max-width: 767px) {
  .ogx-latestRail__fade { width: 44px; }

  .single-box .ogt-clinic-related {
    margin: 36px 0;
  }

  .single-box .ogt-clinic-related h2 {
    font-size: 23px;
  }

  .single-box .ogt-clinic-related__link {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px;
    padding: 18px 0;
  }

  .ogt-clinic-related__number {
    font-size: 13px;
  }

  .single-box .ogt-clinic-related__title {
    font-size: 18px;
  }

  .single-box .ogt-clinic-related__excerpt {
    font-size: 14px;
    line-height: 1.7;
  }
}


.ogx-latestCard {
  box-shadow: 0 4px 12px rgba(17, 32, 24, .08);
}

.ogx-latestCard--interactive {
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
  box-shadow: 0 4px 12px rgba(17, 32, 24, .08);
}

.ogx-latestCard--interactive:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(17, 32, 24, .12);
}

.ogx-latestCard--interactive:focus-visible {
  outline: 3px solid #397a58;
  outline-offset: 3px;
}

.ogx-latestCard__body > .ogx-latestChip {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  margin: 0 0 18px;
}

.ogx-latestCard__body > .ogx-latestChip + .ogx-latestCard__headline {
  margin-top: 0;
}

.ogx-latestCard--interactive .ogx-latestCard__cta,
.ogx-latestCard--interactive .ogx-latestCard__cta:hover {
  border-color: #397a58;
  color: #397a58;
  background-image: none !important;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}

.ogx-latestCard--interactive:hover .ogx-latestCard__cta,
.ogx-latestCard--interactive:focus-within .ogx-latestCard__cta {
  border-color: #397a58;
  background: #397a58;
  color: #fff;
}


/* Article typography/buttons: keep article-specific controls above generic link rules. */
.single-box h3 {
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}

.single-box .classic-direction-btn,
.single-box .kiefez-shop-btn,
.single-box .custom-blog-button,
.single-box .custom-blog-button1,
.single-box .custom-blog-button2 {
  color: #fff !important;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
  background-image: none !important;
}

.single-box .classic-direction-btn { background: #111; }
.single-box .kiefez-shop-btn { background: #1a1a1a; }
.single-box .custom-blog-button,
.single-box .custom-blog-button1,
.single-box .custom-blog-button2 {
  display: inline-block;
  background: #2f7cff;
}

.single-box .classic-direction-btn:hover,
.single-box .classic-direction-btn:focus-visible {
  color: #fff !important;
  background: #397a58;
  background-image: none !important;
}

.single-box .kiefez-shop-btn:hover,
.single-box .kiefez-shop-btn:focus-visible {
  color: #fff !important;
  background: #22c55e;
  background-image: none !important;
}

.single-box .custom-blog-button:hover,
.single-box .custom-blog-button:focus-visible,
.single-box .custom-blog-button1:hover,
.single-box .custom-blog-button1:focus-visible,
.single-box .custom-blog-button2:hover,
.single-box .custom-blog-button2:focus-visible {
  color: #fff !important;
  background: #1f5fc6;
  background-image: none !important;
}


/* Unified dispensary area summary shortcode. */
.ogt-area-summary {
  --ogt-area-ink: #171717;
  --ogt-area-muted: #6d746f;
  --ogt-area-line: #dfe7e1;
  --ogt-area-green: #28774a;
  margin: 56px 0;
  padding: 28px;
  border: 1px solid var(--ogt-area-line);
  border-radius: 18px;
  background: linear-gradient(180deg, #fbfdfb 0%, #f4f8f5 100%);
}

.ogt-area-summary__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--ogt-area-line);
}

.ogt-area-summary__eyebrow {
  margin: 0 0 8px;
  color: var(--ogt-area-green);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}

.ogt-area-summary__header h2 {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.3;
  text-align: left;
}

.ogt-area-summary__intro {
  max-width: 680px;
  margin: 10px 0 0;
  color: var(--ogt-area-muted);
  font-size: 14px;
  line-height: 1.8;
}

.ogt-area-summary__count {
  flex: 0 0 auto;
  padding: 8px 12px;
  border-radius: 999px;
  background: #e2f0e6;
  color: var(--ogt-area-green);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}

.ogt-area-summary__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

.ogt-area-summary__card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: space-between;
  gap: 22px;
  padding: 20px;
  border: 1px solid var(--ogt-area-line);
  border-radius: 14px;
  background: #fff;
}

.ogt-area-summary__card-head {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.ogt-area-summary__number {
  color: #9ab3a1;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .08em;
}

.ogt-area-summary__card h3 {
  margin: 0;
  color: var(--ogt-area-ink);
  font-size: 18px;
  line-height: 1.45;
  text-align: left;
}

.ogt-area-summary__area {
  margin: 6px 0 0;
  color: var(--ogt-area-muted);
  font-size: 13px;
  line-height: 1.5;
}

.ogt-area-summary__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ogt-area-summary__button,
.ogt-area-summary__empty {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 8px 13px;
  border: 1px solid var(--ogt-area-green);
  border-radius: 8px;
  color: var(--ogt-area-green) !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none !important;
}

.ogt-area-summary__button:hover,
.ogt-area-summary__button:focus-visible {
  background: var(--ogt-area-green);
  color: #fff !important;
}

.ogt-area-summary__button--map {
  border-color: #c8d2cb;
  color: #4d5d52 !important;
}

.ogt-area-summary__button--map:hover,
.ogt-area-summary__button--map:focus-visible {
  background: #eef3ef;
  color: #2f4d38 !important;
}

.ogt-area-summary__empty {
  border-color: #d7ddd8;
  color: #8b948e !important;
  font-weight: 600;
}

@media (max-width: 700px) {
  .ogt-area-summary {
    margin: 40px 0;
    padding: 20px;
  }

  .ogt-area-summary__header {
    display: block;
  }

  .ogt-area-summary__count {
    display: inline-flex;
    margin-top: 14px;
  }

  .ogt-area-summary__grid {
    grid-template-columns: 1fr;
  }
}

/* 記事ページの固定ヘッダーとパンくずの間隔を一本化する。 */
main:has(> .single) {
  margin-top: 136px;
}

main > .single {
  margin-top: 0;
}

main > .single > br[clear="all"]:first-child {
  display: none;
}

/* 記事内の旧薬局・ホテル案内は、本文と同じ左右幅で表示する。 */
main > .single > .pr1 {
  width: 100%;
}

main > .single > .pr1 > .tabs {
  width: 100%;
}

main > .single > .pr1 .ogx-cbd-archive-cta {
  padding-right: 0;
  padding-left: 0;
}

main > .single > .pr1 .ogx-cbd-archive-cta__btn {
  width: 100%;
  box-sizing: border-box;
}

main > .single > .pr1 .ccUpd {
  width: 100%;
  margin-right: 0;
  margin-left: 0;
  box-sizing: border-box;
}

/* ホテル記事の予約導線は背景色に関わらず白文字を維持する。 */
main > .single .hotel-btn-reserve,
main > .single .hotel-btn-reserve:visited,
main > .single .hotel-btn-reserve:hover,
main > .single .hotel-btn-reserve:focus-visible,
main > .single .hotel-btn-detail,
main > .single .hotel-btn-detail:visited,
main > .single .hotel-btn-detail:hover,
main > .single .hotel-btn-detail:focus-visible {
  color: #fff !important;
  text-decoration: none !important;
}

/* 旧テーマを指す著者画像URLが失効しても、現行テーマの写真を表示する。 */
main > .single .gb-review2-avatar {
  content: url("/wp/wp-content/themes/og-times-ja-theme/image/logo-01.png");
  background: transparent;
}

@media screen and (max-width: 500px) {
  main:has(> .single) {
    margin-top: 79px;
  }
}

/* 薬局記事の品種カード: 見出しを写真左上の識別ラベルとして整理する。 */
.single-box .strain-feature-slider .strain-feature-card__inner {
  position: relative !important;
}

.single-box .strain-feature-slider .strain-feature-card__label {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center;
  max-width: calc(100% - 28px) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 8px 12px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: rgba(23, 62, 42, .92) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, .18);
}

.single-box .strain-feature-slider .strain-feature-card__tags span {
  padding: 7px 11px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

/* 箇条書きボックスは上下の余白を同じ値にそろえる。 */
.single-box .ogt-clinic-tips {
  height: auto !important;
  min-height: 0 !important;
  padding: 20px 24px !important;
}
.single-box .ogt-clinic-tips__list {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
.single-box .ogt-clinic-tips__item {
  margin: 0 0 10px !important;
  padding: 0 0 0 1.6em !important;
}
.single-box .ogt-clinic-tips__item:last-child {
  margin-bottom: 0 !important;
}
