/*
Theme Name: StartFrom39
Theme URI: https://startfrom39.com
Author: StartFrom39
Description: 39歳から人生を整えるライフスタイルメディア
Version: 1.0
Text Domain: startfrom39
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS
----------------------------------------------------------------
1.0 Normalize
2.0 General Styles & Classes
3.0 Top Bar
3.0 Page Header
4.0 Page Header
5.0 Featured Slider
6.0 Main Navigation
7.0 Featured Links
8.0 Blog Grid
9.0 Blog Pagination
10.0 Blog Single
11.0 Comments
12.0 Default Gallery
13.0 Widgets
14.0 Page Footer
15.0 Typography
16.0 Pages
17.0 Preloader
18.0 Gutenberg Styles

------------------------------------------------------------*/

/*--------------------------------------------------------------
1.0 Normalize
Styles based on normalize.css v6.0.0 | MIT License | github.com/necolas/normalize.css
--------------------------------------------------------------*/

html {
  line-height: 1.15;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

#infscr-loading {
  text-align: center;
}

article,
aside,
footer,
header,
nav,
section {
  display: block;
}

figcaption,
figure,
main {
  display: block;
}

figure {
  margin: 0;
}

hr {
  box-sizing: content-box;
  overflow: visible;
  border: 0;
  height: 1px;
  margin: 20px 0;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  text-decoration: none;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
}

abbr[title] {
  text-decoration: underline;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: inherit;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

dfn {
  font-style: italic;
}

mark {
  background-color: #ffff00;
  color: #000000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

audio,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

img {
  display: block;
  border-style: none;
}

svg:not(:root) {
  overflow: hidden;
}

p,
button,
input,
optgroup,
select,
textarea {
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0; /* 3 */
  white-space: normal;
}

progress {
  display: inline-block;
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details,
menu {
  display: block;
}

summary {
  display: list-item;
}

canvas {
  display: inline-block;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

/* Custom - Theme Specific */
body {
  margin: 0;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

img {
  height: auto;
}

img,
iframe,
embed {
  max-width: 100%;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input,
textarea,
select {
  font-family: 'Open Sans';
  outline: 0;
  font-size: 14px;
  -webkit-border-radius: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  line-height: normal;
  clear: both;
}


/*--------------------------------------------------------------
2.0 General Styles & Classes
--------------------------------------------------------------*/

html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  box-sizing: inherit;
  outline: 0 !important;
}

.clear-fix:before,
.clear-fix:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear-fix:after {
  clear: both;
}

.cv-container {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 90; 
}

.cv-outer {
  display: table;
  width: 100%;
  height: 100%;
}

.cv-inner {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

.boxed-wrapper {
  margin: 0 auto;
}

#page-header.boxed-wrapper {
  padding: 0 !important;
}

.main-content {
  padding-top: 40px;
  padding-bottom: 92px;
}

/* WordPress Default Class */
.sticky {
  padding: 40px;
}

.sticky .related-posts {
  border: none;
  padding-bottom: 0;
}

.bypostauthor {

}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: polygon(0 0, 0 0,0 0, 0 0);
  position: absolute !important;
  white-space: nowrap;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.screen-reader-text:focus {
  clip: auto !important;
  display: block;
  height: auto;
  left: 5px;
  top: 5px;
  width: auto;
  z-index: 100000;
}

.alignnone {
  margin: 5px 20px 10px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 10px auto;
  clear: both;
}

.alignright {
  float:right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 10px 0;
}

a img.alignright {
  float: right;
  margin: 5px 0 10px 20px;
}

a img.alignnone {
  margin: 5px 20px 10px 0;
}

a img.alignleft {
  float: left;
  margin: 5px 20px 10px 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  max-width: 100%;
  overflow: hidden;
}

.wp-caption-text {
  padding: 10px;
  text-align: center;
  font-size: 14px;
}

.wp-block-image figcaption {
  text-align: center;
  font-size: 14px;
}

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


/* Default Styles */
hr {
  border: 0;
  height: 1px;
  margin: 30px 0;
}

strong {
  font-weight: bold;
}

em,
cite,
address {
  font-style: italic;
}

code,
kbd,
tt,
var,
samp,
pre {
  font-family: monospace, monospace;
  font-size: 85%;
}

.post-content h1,
.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6,
.comment-text h1,
.comment-text h2,
.comment-text h3,
.comment-text h4,
.comment-text h5,
.comment-text h6 {
  margin-bottom: 12px;
}

h1 {
  font-size: 34px;
}

h2 {
  font-size: 30px;
}

h3 {
  font-size: 26px;
}

h4 {
  font-size: 22px;
}

h5 {
  font-size: 18px;
}

h6 {
  font-size: 14px;
}

p {
  margin-bottom: 15px;
}

blockquote {
  font-style: italic;
  font-size: 16px;
  line-height: 1.618;
  border-left-width: 3px;
  border-left-style: solid;
  padding-left: 15px;
  margin-left: 0;
  margin-right: 0;
}

blockquote p {
  opacity: 0.65;
}

.wp-block-pullquote blockquote {
  border-top-width: 2px;
  border-top-style: solid;
  padding-top: 10px;
  border-left: 0;
  padding-left: 0;
}

.post-content ul,
.woocommerce-product-details__short-description ul,
.woocommerce-Tabs-panel--description ul {
  padding-left: 20px;
  margin-bottom: 15px;
  list-style: disc;
}

.wp-block-gallery ul {
  padding-left: 0 !important;
}

.post-content ol,
.woocommerce-product-details__short-description ol,
.woocommerce-Tabs-panel--description ol {
  padding-left: 25px;
  margin-bottom: 15px;
  list-style: decimal;
}

table {
  margin-bottom: 15px;
}

table th {
  font-weight: bold;
}

table tr,
table th,
table td {
  border-width: 1px;
  border-style: solid;
  padding: 10px;
  text-align: left;
}

dl dt {
  font-weight: bold;
}

abbr[title] {
  border-width: 1px;
  border-style: dotted;
  cursor: help;
}

big {
  font-size: 125%;
}

pre {
  border-width: 1px;
  border-style: solid;
  padding: 20px;
  white-space: pre-wrap; 
}

sub {
  vertical-align: sub;
  font-size: smaller;
}

sup {
  vertical-align: super;
  font-size: smaller;
}

.post-password-form input[name="post_password"] {
  width: 100%;
  padding: 12px;
  font-size: 14px;
  border-width: 1px;
  border-style: solid;
}

.post-password-form input[type="submit"] {
  padding: 12px;
  font-size: 14px;
  font-weight: bold;
  border: none;
  margin-top: 15px;
  cursor: pointer;
}


/*--------------------------------------------------------------
3.0 Top Bar
--------------------------------------------------------------*/

#top-bar {
  position: relative;
  z-index: 1;
  text-align: center;
  box-shadow: 0px 1px 5px rgba(0,0,0, 0.1);
}

#top-bar .boxed-wrapper {
  padding: 0 40px;
}

#top-menu {
  float: left;
}

.top-bar-socials {
  float: right;
}

#top-menu li {
  position: relative;
}

#top-menu > li {
  display: inline-block;
  list-style: none;
}

#top-menu li a {
  display: block;
  position: relative;
  padding: 0 5px;
  margin-left: 5px;
}

#top-menu li a:first-child {
  margin-left: 0;
}

#top-menu > li > a {
  display: block;
  text-decoration: none;
}

#top-menu > li:first-child > a {
  padding-left: 0px;
}

#top-menu > li:last-child > a {
  padding-right: 0px;
}

#top-menu ul ul {
  top: -1px !important;
  left: 100%;
}

#top-menu .sub-menu {
  display: none;
  position: absolute;
  z-index: 130;   
  width: 170px;
  text-align: left;
  border-style: solid;
  border-width: 1px;
}

#top-menu .sub-menu a {
  border-bottom-style: solid;
  border-bottom-width: 1px; 
}

#top-menu .sub-menu > li:last-of-type > a {
  border: none;
}

#top-menu .sub-menu li:first-child > .sub-menu {
  margin-top: -1px;
}

#top-menu .sub-menu > li > a {
  display: block;
  width: 100%;
  padding: 0px 15px;
  margin: 0;
}

.top-bar-socials a {
  margin-left: 15px;
  text-align: center;    
  text-decoration: none;
}

.top-bar-socials a:first-child {
  margin-left: 0;
}

/* Elementor FontAwesome Fix */
.top-bar-socials a i {
  font-weight: 400 !important;
}


/*--------------------------------------------------------------
4.0 Page Header
--------------------------------------------------------------*/

.entry-header {
  position: relative;
  overflow: hidden;
}

.header-logo {
  text-align: center;
}

.header-logo a {
  display: block;
  margin: 0 auto;
  font-size: 150px;
  font-weight: normal;
  line-height: 1;
  transition: all 0.05s ease-in;
  -webkit-transition: all 0.05s ease-in;
  -moz-transition: all 0.05s ease-in;
  -o-transition: all 0.05s ease-in;
  -ms-transition: all 0.05s ease-in;
}

.header-logo a img {
  margin: 0 auto 10px;
}

.site-description {
  position: relative;
  display: inline-block;
  font-family: "Open Sans";
  margin-bottom: 0;
}

.site-description:before,
.site-description:after {
  content: ' ';
  position: absolute;
  top: 13px;
  display: block;
  width: 27px;
  height: 1px;
}

.site-description:before {
  left: -40px;
}

.site-description:after {
  right: -40px;
}

.title-tagline-shown .site-description {
  display: inline-block;
}

.title-tagline-hidden .header-logo a:not(.logo-img),
.title-tagline-hidden .site-description {
  display: none;
}

/* Social Media Icons */
.header-socials {
  font-size: 0;
}

.header-socials-icon {
  display: inline-block;
  width: 30px;
  height: 30px;
  line-height: 27px;
  border-radius: 100%;
  font-size: 12px;
  margin: 10px 7px 0 0;
  border: 1px solid;
}


/*--------------------------------------------------------------
5.0 Featured Slider
--------------------------------------------------------------*/

.featured-slider-area.boxed-wrapper {
  padding-top: 41px;
}

#featured-slider.boxed-wrapper img {
  width: 100%;
}

.slider-item {
  position: relative;
  display: none;
}

#featured-slider .slider-item:first-child {
  display: block;
}

#featured-slider.slick-initialized .slider-item {
  display: block;
}

#featured-slider.boxed-wrapper .slider-item-bg {
  height: 540px;
}

.slider-item-bg {
  height: 600px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.slider-info {
  display: inline-block;
  max-width: 840px;
  padding: 40px 60px;
  font-family: "Open Sans";
}

#featured-slider .prev-arrow,
#featured-slider .next-arrow {
  display: block;
  position: absolute;
  top: 50%;
  margin-top: -15px;
  z-index: 1001;
  width: 33px;
  height: 33px;
  line-height: 32px;
  font-size: 14px;
  color: #111111;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  text-align: center;
  cursor: pointer;
}

#featured-slider .prev-arrow {
  left: 15px;
}

#featured-slider .next-arrow {
  right: 15px;
}

#featured-slider .prev-arrow:before {
  margin-right: 2px;
}

#featured-slider .next-arrow:before { 
  margin-left: 2px;
}

.post-slider .prev-arrow,
.post-slider .next-arrow {
  display: block;
  position: absolute;
  top: 50%;
  z-index: 1001;
  padding: 0 15px;
  margin-top: -21px;
  font-size: 42px;
  text-align: center;
  cursor: pointer;
}

.post-slider .prev-arrow {
  left: 15px;
}

.post-slider .next-arrow {
  right: 15px;
}

.slider-dots {
  display: block;
  position: absolute;
  left: 0;
  bottom: 13px;
  z-index: 1000;
  width: 100%;
  list-style: none;
  text-align: center;
}

.slider-dots li {
  display: inline-block;
  width: 13px;
  height: 13px;
  margin-right: 11px;
  border-style: solid;
  border-width: 2px;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  cursor: pointer;
}

.slider-dots li:last-child {
  margin-right: 0;
}

.slider-categories {
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 11px;
}

.slider-title {
  position: relative;
  font-size: 31px;
  line-height: 46px;
  letter-spacing: 1.3px;
  font-weight:600;
  text-transform: uppercase;
  margin-bottom: 51px;
}

.slider-title:after {
  content: " ";
  position: absolute;
  top: 100%;
  left: calc(50% - 24px);
  margin-top: 18px;
  width: 48px;
  height: 1px;
}

.slider-read-more a {
  display: inline-block;
  padding: 0 22px;
  border: 1px solid;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 37px;
  text-transform: uppercase;
  cursor: pointer;
}

.slider-data {
  margin-bottom: 20px;
}


/*--------------------------------------------------------------
6.0 Main Navigation
--------------------------------------------------------------*/

.main-nav-sidebar {
  display: inline-block;
}

.main-nav-sidebar div {
  max-height: 60px;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.main-nav-sidebar div span {
  display: block;
  width: 17px;
  height: 2px;
  margin-bottom: 3px;
}

.main-nav-sidebar,
.main-nav-search {
  -webkit-user-select: none;
  user-select: none;
}

#main-nav {
  position: relative;
  z-index: 1100 !important;
  min-height: 60px;
}

#main-nav > div {
  position: relative;
}

/* Menu */
#main-menu {
  width: auto;
  padding: 0 55px;
}

#main-menu li {
  position: relative;
}

#main-menu > li {
  display: inline-block;
  list-style: none;
}

#main-menu > li:after {
  content: '';
  position: absolute;
  top: 0;
  right: -3px;
  bottom: 0;
  width: 5px;
  height: 5px;
  margin: auto 0;
  -ms-transform: rotateZ(-45deg);
  -webkit-transform: rotateZ(-45deg);
  transform: rotateZ(-45deg);
}

#main-menu > li:last-child:after {
  display: none !important;
}

#main-menu li a {
  display: block;
  position: relative;
  padding: 0 17px;
}

#main-menu > li > a {
  display: block;
  text-decoration: none;
}

#main-menu li:first-child a {
  padding-left: 0px;
}

#main-menu li:last-child a {
  padding-right: 0px;
}

#main-menu ul ul {
  top: 0;
  left: 100%;
}

#main-menu .sub-menu {
  display: none;
  position: absolute;
  z-index: 130;   
  width: 210px;
  text-align: left;
  border-style: solid;
  border-width: 1px; 
}

#main-menu .sub-menu a {
  border-bottom-style: solid;
  border-bottom-width: 1px; 
}

#main-menu .sub-menu > li:last-of-type > a {
  border: none;
}

#main-menu .sub-menu > li > a {
  display: block;
  width: 100%;
  padding: 10px 15px;
  margin: 0;
}

#main-menu .sub-menu li.menu-item-has-children > a:after {
  font-family: "fontello";
  content: "\f105";
  font-size: 14px;
  float: right;
}

#main-menu .sub-menu li:first-child > .sub-menu {
  margin-top: -1px;
}

/* Mobile Menu  */
.mobile-menu-container {
  display: none;
  clear: both;
}

.mobile-menu-btn {
  display: none;
  font-size: 16px;
  padding: 0 15px;
  line-height: 60px;
  cursor: pointer;
}

#mobile-menu {
  padding-bottom: 15px;
}

#mobile-menu li {
  position: relative;
  width: 100%;
  text-align: center;
}

#mobile-menu li.menu-item-has-children > a {
  display: inline-block;
  text-indent: 15px;
}

#mobile-menu li a {
  display: block;
  position: relative;
  z-index: 5;
}

#mobile-menu .sub-menu li {
  line-height: 30px !important;
}

#mobile-menu .sub-menu li .sub-menu-btn-icon {
  top: 5px !important;
}

.sub-menu-btn {
  position: absolute;
  top: 0;
  left: 0;   
  width: 100%;
  height: 50px;
  padding: 0 10px;
  z-index: 1;
}

.sub-menu-btn-icon {
  position: relative;
  top: 16px;
  display: inline-block;
  font-size: 13px;
  vertical-align: top;
  line-height: 19px;
}

#mobile-menu .sub-menu {
  display: none;
}

/* Icons */
.btn-tooltip {
  position: absolute;
  color: #ffffff;
  visibility: hidden;
  opacity: 0;
  text-align: center;
  padding: 5px 0px 6px 0px;
  font-size: 11px;  
  line-height: 1;
  letter-spacing: 1px;
  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  border-radius: 2px;
  -webkit-transition: all 230ms ease-in-out 0s;
  transition: all 230ms ease-in-out 0s;
}

.btn-tooltip:before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  margin-left: -4px;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top-style: solid;
  border-top-width: 4px;
}

.main-nav-search {
  float: right;
  margin-left: 18px;
  position: relative;
  cursor: pointer;
}

.main-nav-search i {
  position: relative;
  z-index: 10;
}

.main-nav-search {
  -webkit-transition: all 230ms ease-in-out 0s;
  transition: all 230ms ease-in-out 0s;
  cursor: pointer;
}

.main-nav-search .btn-tooltip {
  top: -24px;
  right: 0px;
  width: 65px;
}

.main-nav-search .btn-tooltip:before {
  right: 5px;
  bottom: -3px;
}

.main-nav-search:hover .btn-tooltip {
  top: -11px;
  visibility: visible;
  opacity: 1;
}

.main-nav-search #searchform {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

.main-nav-search #searchform i {
  display: none;
}

.main-nav-search label,
.main-nav-search #searchsubmit {
  display: none;
}

.main-nav-search div {
  line-height: 1;
}

/* Search */
#main-nav #searchform {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
}

#main-nav #searchform input {
  width: 100%;
  padding: 0;
  border: 0;
  letter-spacing: 0.4px;
  font-weight: 600;
  text-align: center;
}

#main-nav #searchform,
#main-nav #searchform i,
#main-nav #searchform #searchsubmit,
.main-nav-search i:last-of-type {
  display: none;
}

/* Sidebar Alt */
.main-nav-sidebar {
  position: relative;
  float: left;
  margin-right: 17px;
  height: 60px;
  cursor: pointer;
}

.main-nav-sidebar .btn-tooltip {
  top: -24px;
  left: 0px;
  width: 90px;
}

.main-nav-sidebar .btn-tooltip:before {
  left: 10px;
  bottom: -3px;
}

.main-nav-sidebar:hover .btn-tooltip {
  top: -11px;
  visibility: visible;
  opacity: 1;
}

.sidebar-alt {
  width: 100%;
  position: fixed;
  top: 0;
  z-index: 1200;
  height: 100%;
  overflow-x: hidden;
  transition: left 500ms ease-out;
  -webkit-transition: left 500ms ease-out;
  -moz-transition: left 500ms ease-out;
  -o-transition: left 500ms ease-out;
  -ms-transition: left 500ms ease-out;
}

.sidebar-alt-close {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1150;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.sidebar-alt-close-btn {
  position: absolute;
  top: 20px;
  right: 30px;
  width: 24px;
  height: 24px;
  cursor: pointer;
}

.admin-bar .sidebar-alt-close-btn {
  top: 40px;
}

.sidebar-alt-close-btn span {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 18px;
  height: 3px;
  cursor: pointer;
  margin-left: -9px;
}

.sidebar-alt-close-btn span:first-child {
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.sidebar-alt-close-btn span:last-child {
  -ms-transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.main-nav-socials {
  float: left;
}

.main-nav-socials a {
  font-size: 14px;
  line-height: 60px;
  margin-left: 14px;
  text-align: center;    
  text-decoration: none;
}

.main-nav-socials a:first-child {
  margin-left: 0;
}

/* Random Post Button */
.random-post-btn {
  position: relative;
  top: 0;
  display: inline-block;
  line-height: 60px;
  font-size: 16px;
  -webkit-transition: all 230ms ease-in-out 0s;
  transition: all 230ms ease-in-out 0s;
  cursor: pointer;
}

.random-post-btn .btn-tooltip {
  top: -24px;
  left: 0px;
  width: 110px;
}

.random-post-btn .btn-tooltip:before {
  left: 10px;
  bottom: -3px;
}

.random-post-btn:hover .btn-tooltip {
  top: -11px;
  visibility: visible;
  opacity: 1;
}


/*--------------------------------------------------------------
7.0 Featured Links
--------------------------------------------------------------*/

#featured-links {
  padding-top: 25px;
  padding-bottom: 15px;
}

#featured-links .boxed-wrapper {
  font-size: 0;
  text-align: center;
}

#featured-links .featured-link {
  position: relative;
  float: left;
}

#featured-links a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.featured-link {
  overflow: hidden;
}

.featured-link .cv-outer {
  padding: 12px;
}

.featured-link .cv-inner {
  border-width: 1px;
  border-style: solid;
  transition: border 0.4s;
  -webkit-transition: border 0.4s;
}

.featured-link h6 {
  display: inline-block;
  padding: 8px 20px;
  font-family: 'Open Sans';
  font-size: 14px;
  letter-spacing: 1.5px;
  font-weight: 600;
  text-transform: uppercase;
}

/* Zoom */
.featured-link img {
  transition: transform 0.4s ease-in-out;
  -webkit-transition: transform 0.4s ease-in-out;
}

.featured-link:hover img {
  transform: scale(1.05);
}


/*--------------------------------------------------------------
8.0 Blog Grid
--------------------------------------------------------------*/

.main-container {
  float: left;
  margin: 0 auto;
  overflow: hidden;
}

.sidebar-left {
  float: left;
}

.sidebar-right {
  float: right;
}

.post-media {
  position: relative;
  margin-bottom: 16px;
}

.page .post-media {
  margin-bottom: 23px;
}
 
.post-media > a {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
  transition: background-color 0.3s ease 0s;
  -webkit-transition: background-color 0.3s ease 0s;
}

.post-media > a:hover {
  background-color: rgba(255,255,255, 0.1);
}

.post-header {
  text-align: center;
  margin-bottom: 17px;
}

.blog-classic-style {
  width: 100%;
}

.blog-classic-style .post-header {
  margin-bottom: 22px;
}

.post-categories a {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}

.blog-classic-style .post-categories,
.single .post-categories {
  margin-bottom: 4px;
}

.blog-classic-style .post-title,
.single .post-title,
.page-title {
  font-size: 22px;
  line-height: 34px;
  letter-spacing: 0.5px;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.blog-grid-style .post-title {
  font-size: 16px;
  line-height: 31px;
  letter-spacing: 1px;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.post-title em,
.page-title em {
  font-weight: 700;
}

.border-divider {
  display: block;
  height: 1px;
  max-width: 45px;
  margin: 0 auto;
}

.post-meta {
  margin: 10px 2px 0;
}

.post-meta span.meta-sep:last-child {
  display: none;
}

.meta-sep {
  display: none;
}

.post-date + span.meta-sep,
.post-author + span.meta-sep {
  display: inline;
}

.post-content {
  overflow: hidden;
}

.post-content > p {
  text-align: justify;
}

.post-content > p.has-text-align-left {
  text-align: left;
}


.post-content > p.has-text-align-right {
  text-align: right;
}


.post-content > p.has-text-align-center {
  text-align: center;
}

.read-more {
  margin: 18px 0 34px;
  text-align: center;
}

.read-more a {
  display: inline-block;
  padding: 0 25px;
  font-size: 13px;
  line-height: 40px;
  letter-spacing: 2px;
  font-weight: 400;
  text-transform: uppercase;
  cursor: pointer;
}

.read-more a:after {
  content: "";
  display: block;
  height: 1px;
  max-width: 40px;
  margin: 0 auto;
}

.post-footer {
  overflow: hidden;
  position: relative;
  text-align: center;
  padding: 10px 0;
  line-height: 30px;
  border-bottom: 1px solid;
}

.blog-grid-style .post-date {
  float: right;
}

.post-date {
  font-style: italic;
}

.post-author {
  float: left;
  font-style: italic;
}

.single .post-footer,
.blog-classic-style .post-footer {
    font-size: 14px;
}

.blog-grid-style .post-footer,
.post-meta {
  font-size: 13px;
}

.post-author a img {
  float: left;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  margin-right: 6px;
}

.post-share {
  float: right;
}

.post-share a {
  margin-left: 16px;
}

.post-comments {
  font-style: italic;
}

.blog-classic-style .post-comments,
.single .post-comments {
  float: right;
}

.no-result-found {
  text-align: center;
  margin: 50px auto 100px;
}

.no-result-found h1 {
  margin-bottom: 15px;
}

.no-result-found .widget_search {
  max-width: 480px;
  margin: 30px auto 0px;
}

.post-media img,
.post-media iframe, 
.post-media embed {
  margin: 0 auto;
}

/* List layout  */
.blog-grid {
   padding-left: 0 !important; 
   list-style: none !important; 
}

.blog-list-style {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  margin-right: 0;
}

.blog-list-style .post-header {
  margin-bottom: 10px;
}

.blog-list-style .post-title {
  font-size: 16px;
  line-height: 31px;
  letter-spacing: 1px;
  font-weight: 600;
  text-transform: uppercase;
  margin-bottom: 5px;
}

.blog-list-style .post-share {
  float: none;
}

.blog-list-style .post-author {
  float: none;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

.blog-list-style .post-media {
  margin-bottom: 0;
}

.blog-list-style .post-categories {
  margin-bottom: 4px;
}

.blog-list-style .read-more {
  margin: 0;
}

.blog-list-style .read-more a {
  padding: 0;
}

.blog-list-style .read-more a:after {
  display: none;
}

/* Category Description */
.category-description {
  overflow: hidden;
  padding: 25px 0 30px;
  text-align: center;
  overflow-wrap: break-word;
}

.category-description h4 {
  margin-top: 5px;
  margin-bottom: 11px;
  text-transform: capitalize;
}

.category-description p {
  display: inline-block;
  max-width: 630px;
  margin-bottom: 10px;
}


/*--------------------------------------------------------------
9.0 Blog Pagination
--------------------------------------------------------------*/

.blog-pagination {
  position: relative;
  overflow: hidden;
  text-align: center;
  margin-top: 25px;
  font-size: 13px;
  letter-spacing: 2px;
  font-weight: 600;
  text-transform: uppercase;
}

/* Default */
.page-content .blog-pagination.default .previous-page a,
.page-content .blog-pagination.default .next-page a {
  font-size: 12px;
  letter-spacing: 1.5px;
}

.blog-pagination.default .previous-page {
  float: left;
}

.blog-pagination.default .next-page {
  float: right;
}

/* Numeric */
.blog-pagination.numeric {
  margin-top: 40px;
}

.blog-pagination.numeric a,
.blog-pagination.numeric span {
  display: inline-block;
  padding: 13px 15px;
  line-height: 1;
  margin: 0 2px;
}

.blog-pagination.numeric .numeric-prev-page {
  position: absolute;
  top: 0;
  left: 0;
  margin-left: 0;
  margin-right: 0;
}

.blog-pagination.numeric .numeric-next-page {
  position: absolute;
  top: 0;
  right: 0;
  margin-left: 0;
  margin-right: 0;
}


/*--------------------------------------------------------------
10.0 Blog Single
--------------------------------------------------------------*/

/* Tags */
.post-tags {
  text-align: left;
  margin-bottom: 18px;
}

.post-tags a {
  position: relative;
  display: inline-block;
  font-size: 12px;
  line-height: 24px;
  padding: 0 12px;
  margin-right: 5px;
  margin-bottom: 5px;
  border-width: 1px;
  border-style: solid;
}

/* Navigation */
.single-navigation {
  border-bottom-width: 1px;
  border-bottom-style: solid;
  padding: 20px 0 22px;
  overflow: hidden;
}

.single-navigation .previous-post {
  float: left;
  width: 50%;
}

.single-navigation .next-post {
  float: right;
  width: 50%;
}

.next-post > a {
  float: right;
  width: 75px;
  margin-left: 18px;
}

.previous-post > a {
  float: left;
  width: 75px;
  margin-right: 18px;
}

.single-navigation span {
  display: block;
  padding-top: 12px;
  line-height: 2.2;
  font-size: 11px;
  letter-spacing: 1px;
  font-weight: 600;
  text-transform: uppercase;
}

.single-navigation > div h5 {
  padding-bottom: 19px;
  font-size: 13px;
  line-height: 1.8;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.single-navigation .previous-post  > div {
  float: left;
  text-align: left;
}

.single-navigation .next-post  > div {
  float: right;
  text-align: right;
}

/* Post Pagination */
.single-pagination {
  padding: 20px;
  text-align: center;
}

/* Post Author */
.author-description {
  overflow: hidden;
  padding: 50px 0 49px;
  border-bottom-style: solid;
  border-bottom-width: 1px;
  text-align: center;
  overflow-wrap: break-word;
}

.author-avatar img {
  display: inline-block;
  -webkit-border-radius: 60px;
  -moz-border-radius: 60px;
  border-radius: 60px;
}

.author-description h3 {
  margin-top: 5px;
  margin-bottom:11px;
}

.author-share a {
  font-size: 14px;
  margin-right: 10px;
}

.author-share a:last-child {
  margin: 0;
}

.author-description p {
  display: inline-block;
  max-width: 630px;
  margin-bottom: 10px;
}

/* Related Post */
.related-posts {
  padding-bottom: 34px;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

.related-posts h3 {
  margin-bottom: 27px;
}

.related-posts h5 {
  margin-top: 8px;
}

.related-posts h5 a {
  font-size: 12px;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.related-post-date {
  font-size: 12px;
}

.related-posts section {
  float: left;
  width: calc((100% - (2 * 23px)) / 3 - 1px);
  width: -webkit-calc((100% - (2 * 23px)) / 3 - 1px);
}

.related-posts section {
  margin-right: 23px;  
}

.related-posts section:last-of-type {
  margin-right: 0 !important;
}

.blog-list-style .related-posts {
  padding-bottom: 0;
  border-bottom: 0;
  padding-top: 40px;
  clear:both;
}

.wp-block-search {
  position: relative;
}

.wp-block-search label {
  display: none;
}

.wp-block-search input {
    width: 100%;
    padding: 12px;
    font-size: 14px;
    border-width: 1px;
    border-style: solid;
}

.wp-block-search button {
  position: absolute;
  top: 0;
  right: 0;
  padding: 15px;
  cursor: pointer;
  border: 0;
}


/*--------------------------------------------------------------
11.0 Comments
--------------------------------------------------------------*/

#reply-title,
#reply-title a,
.comment-title h2,
.comment-title {
  margin-bottom: 44px;
}

.comments-area .children {
  margin-left: 30px;
}

.entry-comments {
  overflow: hidden;
  padding-bottom: 37px;
  margin-bottom: 41px;
  border-bottom-style: solid;
  border-bottom-width: 1px;
}

.commentslist > li:last-child .entry-comments {
  margin-bottom: 0;
} 

.comment-content {
  overflow: hidden;
}

.comment-avatar {
  float: left;
  margin-right: 17px;
}

.comment-avatar img {
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
}

.comment-author {
  font-family: 'Montserrat';
  font-size: 13px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  font-weight: 600;
}

.comment-date a:first-child:hover {
  text-decoration: underline;
}

.awaiting-moderation {
  font-style: italic;
}

.commentslist footer a:hover {
  text-decoration: underline;
}

.logged-in-as {
  margin-bottom: 12px;
}

.comment-meta {
  margin-bottom: 7px;
  font-size: 11px;
  text-transform: capitalize;
}

.comment-date {
  margin-right: 10px;
}

.comment-edit-link {
  display: inline-block;
}

.comment-reply-link {
  font-size: 13px;
  font-weight: 600;
  float: right;
  margin-top: -20px;
  text-transform: capitalize;
}

.comment-form {
  padding-top: 4px;
}

.comment-form label {
  display: block;
  margin-bottom: 6px;
  font-size: 15px;
}

.comment-notes {
  font-style: italic;
  font-size: 14px;
  margin-bottom: 25px;
}

.comments-area input,
.comments-area textarea {
  width: 100%;
  padding: 12px 15px;
  border-width: 1px;
  border-style: solid;
}

.comment-form-author,
.comment-form-email, 
.comment-form-url {
  margin-bottom: 15px;
}

.comment-form-comment {
  margin-bottom: 10px;
}

.comment-form-author,
.comment-form-email, 
.comment-form-url {
  width: calc( (100% - 44px) / 3 );
  width: -webkit-calc( (100% -44px) / 3- 1px) !important;
  float: left;
}

.comment-form-author,
.comment-form-email {
  margin-right: 22px;
}

.comments-area textarea {
  height: 250px;
}

.form-submit {
  margin-bottom: 0;
}

.comments-area #submit {
  font-family: 'Montserrat';
  font-size: 11px;
  border: none;
  width: auto;
  cursor: pointer;
  font-weight: 600;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}


/*--------------------------------------------------------------
12.0 Default Gallery
--------------------------------------------------------------*/

.gallery {
  margin-bottom: 10px;
  overflow: hidden;
  list-style: none !important;
}

.gallery-caption,
.wp-caption-text {
  padding: 10px;
  border-width: 1px;
  border-style: solid;
  border-top: 0;
}

.gallery-item {
  display: inline-block;
  vertical-align: top;
  padding: 0 !important;
  margin-right: 5px;
  margin-bottom: 5px; 
  text-align: center;
}

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

.gallery-columns-2 .gallery-item {
  width: -webkit-calc((100% - (5px * 1)) / 2 - 1px);
  width: calc((100% - (5px * 1)) / 2 - 1px);
}

.gallery-columns-3 .gallery-item {
  width: -webkit-calc((100% - (5px * 2)) / 3 - 1px);
  width: calc((100% - (5px * 2)) / 3 - 1px);
}

.gallery-columns-4 .gallery-item {
  width: -webkit-calc((100% - (5px * 3)) / 4 - 1px);
  width: calc((100% - (5px * 3)) / 4 - 1px);
}

.gallery-columns-5 .gallery-item {
  width: -webkit-calc((100% - (5px * 4)) / 5 - 1px);
  width: calc((100% - (5px * 4)) / 5 - 1px);
}

.gallery-columns-6 .gallery-item {
  width: -webkit-calc((100% - (5px * 5)) / 6 - 1px);
  width: calc((100% - (5px * 5)) / 6 - 1px);
}

.gallery-columns-7 .gallery-item {
  width: -webkit-calc((100% - (5px * 6)) / 7 - 1px);
  width: calc((100% - (5px * 6)) / 7 - 1px);
}

.gallery-columns-8 .gallery-item {
  width: -webkit-calc((100% - (5px * 7)) / 8 - 1px);
  width: calc((100% - (5px * 7)) / 8 - 1px);
}

.gallery-columns-9 .gallery-item {
  width: -webkit-calc((100% - (5px * 8)) / 9 - 1px);
  width: calc((100% - (5px * 8)) / 9 - 1px);
}


/*--------------------------------------------------------------
13.0 Widgets
--------------------------------------------------------------*/

.bard-widget {
  margin-bottom: 40px;
  overflow: hidden;
}

.sidebar-right .bard-widget:last-child,
.sidebar-left .bard-widget:last-child {
  margin-bottom: 0;
}

.bard-widget input[type="text"],
.bard-widget input[type="email"],
.bard-widget input[type="url"],
.bard-widget input[type="password"],
.bard-widget input[type="search"],
.bard-widget input[type="submit"],
.bard-widget select,
.bard-widget textarea {
  width: 100%;
  padding: 10px;
  font-size: 14px;
  border-width: 1px;
  border-style: solid;
}

.widget-title {
  position: relative;
  z-index: 0;
  clear: both;
}

.widget-title h4 {
  font-family: 'Montserrat';
  text-align: center;
  font-size: 12px;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  margin-bottom: 25px;
  border: 1px solid #ebebeb;
}

.bard-widget > ul li span,
.bard-widget > ul li span a {
  font-size: 14px;
  letter-spacing: 1px;
  font-weight: 700;
  color: inherit;
}

.widget_recent_entries ul li span {
   font-size: 12px;
}

.widget_recent_comments li,
.widget_meta li,
.widget_recent_comments li,
.widget_pages > ul > li,
.widget_archive li,
.widget_categories > ul > li,
.widget_recent_entries ul li,
.widget_nav_menu li {
  border-bottom-width: 1px;
  border-bottom-style: dotted;
  line-height: 2.1;
  padding: 7px 0;
}

.widget_pages .children > li a {
  display: block;
  border-top-style: dotted;
  border-top-width: 1px;
}

.widget_nav_menu li a {
  display: block;
  border-bottom-style: dotted;
  border-bottom-width: 1px;
}

.bard-widget .sub-menu {
  padding-left: 10px;
}

.widget_rss img {
  display: inline-block;
}

/* Search */
.widget_search #searchform,
.widget_product_search .woocommerce-product-search {
  position: relative;
}

.widget_search .svg-fa-wrap,
.widget_search #searchsubmit {
  position: absolute;
  top: 0;
  right: 0;
  text-align: center;
  width: 41px;
  height: 41px;
  line-height: 42px;
}

.widget_search .svg-fa-wrap {
  font-size: 14px;
}

.widget_search #searchsubmit {
  cursor: pointer;
  opacity: 0;
}

.widget_product_search input[type="submit"] {
  position: absolute;
  top: 0;
  right: 0;
  padding: 11px;
  width: auto !important;
  cursor: pointer;
}

/* Category */
.widget_categories ul li,
.widget_archive ul li {
  float: left;
  width: 100%;
  text-align: right;
}

.widget_categories ul li a,
.widget_archive ul li a {
  float: left;
  overflow: hidden;
}

.widget_categories .children li {
  padding-left: 10px;
  border-top-width: 1px;
  border-top-style: dotted; 
}

/* TagCloud */
.tagcloud a {
  display: inline-block;
  padding: 4px 13px;
  margin: 0 5px 7px 0;
  font-size: 11px !important;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 600;
  border-style: solid;
  border-width: 1px;
}

/* Calendar */
#wp-calendar {
  width: 100%;  
  border-width: 1px;
  border-style: solid;
}

#wp-calendar thead th {
  padding-bottom: 5px;
  font-size: 14px;
  text-align: center;
}

#wp-calendar caption {
  padding: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  text-align: center;
}

#wp-calendar tbody td a {
  display: block;
}

#wp-calendar tfoot #prev,
#wp-calendar tfoot #next {
  padding: 8px 5px;
}

#wp-calendar tfoot #prev a,
#wp-calendar tfoot #next a {
  color: inherit;
  font-size: 12px;
  text-decoration: none;
  text-transform: uppercase;
}

#wp-calendar tfoot #next {
  text-align: right;
}

#wp-calendar thead tr th {
  padding: 8px;
  text-align: center;
  font-weight: 700;
}

#wp-calendar tbody td {
  border-width: 1px;
  border-style: solid;
  font-size: 14px;
  text-align: center;
}

#wp-calendar tbody td a {
  text-decoration: none;
  font-weight: bold;
  font-size: 15px;
}

/* Text Widget */
.widget_text p:last-of-type {
  margin-bottom: 0; 
}

/* Social Widget */
.bard_social_widget .social-icons {
  text-align: center;
}

.bard_social_widget .social-icons a {
  margin-right: 8.5%;
  padding: 0 3px;
  line-height: 35px;
  font-size: 17px;
}

.bard_social_widget .social-icons a:last-child {
  margin-right: 0;
}

/* Instagram Widget */
.footer-instagram-widget {
  overflow: hidden;
}

.bard-instagram-widget {
  position: relative;
}

.instagram-title {
  position: absolute;
  z-index: 110;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  padding: 0 15px;
}

.instagram-title h4 {
  font-family: 'Open Sans';
  font-size: 14px;
  letter-spacing: 1px;
  font-weight: bold;
  line-height: 42px;
  text-align: center;
  text-transform: uppercase;
}

.jr-insta-slider {
  display: block;
}

.null-instagram-feed {
  display: block;
  width: 100%;
  overflow: hidden;
}

.null-instagram-feed li a {
  display: block;
  width: 130px;
  float: left;
  opacity: 0;
  overflow: hidden; 
}

.null-instagram-feed .clear {
  display: none;
}

.bard-widget.null-instagram-feed li a {
  width: calc( 95% / 3 - 1px );
  width: -webkit-calc( 95% / 3 - 1px );
  opacity: 1;
  margin-right: 2.5%; 
  margin-bottom:2.5%; 
}

.bard-widget.null-instagram-feed li:nth-child(3n+0) a {
  margin-right: 0px;
}

.bard-widget .meks-instagram-widget {
  margin: 0 auto !important;
}

.bard-instagram-widget.widget_meks_instagram {
  display: -webkit-flex;
  -webkit-flex-flow: column wrap;
  -webkit-align-items: center;
}

.bard-instagram-widget .meks-instagram-widget {
  display: -webkit-flex;
  max-width: 100% !important;
  width: 100%;
}

.bard-instagram-widget .meks-instagram-widget > div {
  -webkit-flex: 1 0 0px !important;
  padding-top: 0 !important;
}

.bard-instagram-widget .meks-instagram-widget a img {
  width: 100%;
}

.bard-widget .meks-instagram-follow-link {
  margin-top: 13px;
  text-align: center;
}

.bard-widget .meks-instagram-follow-link {
  margin-top: 13px;
  text-align: center;
}

.bard-widget .meks-instagram-follow-link svg,
.bard-instagram-widget .meks-instagram-follow-link {
  display: none !important;
}

.bard-widget #sb_instagram #sbi_images .sbi_item {
  width: 33.3% !important;
  padding-top: 0 !important;
  padding-bottom: 5px !important;
  padding-right: 2.5px !important;
  padding-left: 2.5px !important;
}

/* Featured Posts Widget */
.rpwwt-widget ul li {   
  padding-bottom: 15px;
  margin-bottom: 10px !important;
  border-bottom-style: dotted;
  border-bottom-width: 1px;
  overflow: hidden;
}

.rpwwt-widget ul li:last-child {
  margin: 0 !important;
  padding: 0 !important;
  border-bottom: none;
}

.rpwwt-widget ul li:last-child img {
  margin-bottom: 0 !important;
}

.rpwwt-post-title {
  display: block;
  margin-bottom: 2px;
  font-size: 15px;
}

.rpwwt-post-author,
.rpwwt-post-categories,
.rpwwt-post-date,
.rpwwt-post-comments-number {
  font-size: 13px;
  font-style: italic;
}

/* Facebook Widget */
.widget_fbw_id .loader {
    display: none !important;
}

/* MailPoet Widgets */
.bard-widget.widget_wysija {
  padding: 28px 30px;
}

.widget_wysija .widget-title h4 {
  border: 0;
  line-height: 1.6;
}

.widget_wysija .widget-title h4:before {
  font-family: "fontello";
  content: "\e802";
  font-weight: 400;
  font-size: 14px;
  margin-right: 7px;
}

.widget_wysija .widget-title h4:after {
  content: "";
  position: absolute;
  top: 100%;
  left: calc(50% - 9px);
  margin-top: 14px;
  width: 18px;
  height: 1px;
}

.widget_wysija p {
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
}

.widget_wysija p label {
  text-align: left;
}

.widget_wysija {
  width: 100%;
}

.mc4wp-error {
  text-align: center;
  margin-top: 10px;
}

.formError .formErrorContent {
  width: 160px;
}

.widget_wysija label {
  margin-bottom: 10px;
}

.widget_wysija input[type="submit"] {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-style: 13px;
  margin-top: 12px;
  border: none;
  cursor: pointer;
}

.widget_wysija input[name="wysija[user][firstname]"],
.widget_wysija input[name="wysija[user][lastname]"],
.widget_wysija input[name="wysija[user][email]"],
.widget_wysija select {
  margin-bottom: 10px; 
}

.widget_wysija_cont .updated,
.widget_wysija_cont .error,
.widget_wysija_cont .xdetailed-errors {
  font-family: 'Open Sans';
  padding: 9px;
}

/* Contact form 7 */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="date"],
.wpcf7 select,
.wpcf7 textarea {
  border-style: solid;
  border-width: 1px;
  padding: 13px;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"] {
 width: 60%;
}

.wpcf7 input[type="number"] {
   width: 60px;
}

.wpcf7 input[type="tel"],
.wpcf7 input[type="date"] {
  width: 170px;
}

.wpcf7 textarea {
  width: 100%;
  height: 250px;
}

.wpcf7 label input,
.wpcf7 label select,
.wpcf7 label textarea {
  margin-top: 3px;
}

.wpcf7 label,
.wpcf7-quiz-label {
  display: block;
}

.wpcf7 p {
  margin-bottom: 22px;
}

.wpcf7 [type="submit"] {
  padding: 13px;
  border: none;
  width: auto;
  cursor: pointer;
  font-weight: bold;
  text-transform: uppercase;
}

.zoom-social_icons-list-span {
  font-family: "socicon" !important;
}


/*--------------------------------------------------------------
14.0 Page Footer
--------------------------------------------------------------*/

/* Footer Widgets */
.footer-widgets {
  border-top-width: 1px;
  border-top-style: solid;
  overflow: hidden;
  padding: 60px 0 0px;
}

.page-footer-inner {
  overflow: hidden;
}

.footer-widgets .page-footer-inner > .bard-widget {
  float: left;
  margin-bottom: 75px;
}

.alt-widget-title {
  text-align: left;
  border-bottom-width: 1px;
  border-bottom-style: solid;
  margin-bottom: 20px;
}

.alt-widget-title h4 {
  font-family: 'Montserrat';
  font-size: 14px;
  line-height: 39px;
  letter-spacing: 1px;
  font-weight: 600;
  text-transform: uppercase;
}

.footer-socials {
  text-align: center;
  padding: 20px 0px;
}

.footer-socials a {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1px;
  line-height: 27px;
  text-transform: uppercase;
  margin-right: 35px;
}

.footer-socials-icon {
  font-size: 13px;
  margin-right: 9px;
}

.footer-socials a:last-child {
  margin: 0;
}

.footer-logo a {
  display: inline-block;
  margin: 0 auto 30px;
}

.footer-copyright {
  overflow: hidden;
  padding: 60px 0 50px;
  text-align: center;
}

.copyright-info {
  font-size: 13px;
  margin-bottom: 20px;
}

.footer-menu-container,
.copyright-info,
.footer-menu-container:after,
#footer-menu {
  display: inline-block;
} 

.footer-socials a:last-child {
  margin: 0;
}

#footer-menu > li {
  display: inline-block;
  margin-left: 5px;
}

.footer-menu-container {
  font-size: 13px;
}

.footer-menu-container:after {
  content: '|';
  display: block;
  float: left;
  margin-left: 1px;
  margin-top: -1px;
}

.scrolltop {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  cursor: pointer;
}

.scrolltop .icon-angle-up {
  position: relative;
  display: block;
  bottom: -3px;
  margin: 0 auto;
  font-size: 20px;
}


/*--------------------------------------------------------------
15.0 Typography
--------------------------------------------------------------*/

/* Top Menu */
#top-menu li a {
  font-size: 12px;
  line-height: 50px;
  letter-spacing: 1px;
  font-weight: 600;
}

.top-bar-socials a {
  font-size: 13px;
  line-height: 50px;
}

#top-menu .sub-menu > li > a {
  font-size: 11px;
  line-height: 40px;
  letter-spacing: 0.8px;
}

#top-bar .mobile-menu-btn {
  float: left;
  line-height: 50px;
  padding: 0 5px 0;
}

/* Menu Fonts */
#main-menu li a {
  font-family: 'Open Sans';
  font-size: 14px;
  line-height: 60px;
  letter-spacing: 1px;
  font-weight: 600;
}

#main-menu .sub-menu > li > a {
  font-size: 13px;
  line-height: 26px;
  letter-spacing: 1px;
}

#mobile-menu li {
  font-family: 'Open Sans';
  font-size: 15px;
  line-height: 50px;
  letter-spacing: 1px;
  font-weight: 600;
}

#mobile-menu .sub-menu > li {
  font-size: 13px;
  line-height: 40px;
  letter-spacing: 0.5px;
}

.main-nav-search,
#main-nav #s {
  font-size: 14px;
  line-height: 60px;
}

/* Headings Fonts */
.bard-widget > ul li span,
.bard-widget > ul li span a,
#wp-calendar thead th,
#wp-calendar caption,
h1,
h2,
h3,
h4,
h5,
h6,
.blog-pagination {
  font-family: 'Montserrat';
  font-weight: 600;
}

.category-description h3,
.author-description h3,
.related-posts h3,
#reply-title,
#reply-title a,
.comment-title h2,
.comment-title {
  font-family: 'Montserrat';
  font-weight: 600;
  font-size: 14px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  text-align: center;
  line-height: 1;
}

#reply-title,
#respond,
.related-posts,
.comments-area {
  margin-top: 43px;
}

#respond + li {
  margin-top: 37px;
}

/* Body Text */
body {
  font-family: 'Open Sans';
  font-size: 15px;
  letter-spacing: 0px;
  line-height: 25px;
}

.woocommerce div.product .product_title {
  font-size: 22px;
  line-height: 34px;
  letter-spacing: 0.5px;
  font-weight: 600;
  text-transform: uppercase;
}

.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
  font-size: 15px;
  letter-spacing: 1px;
  line-height: 31px;
  font-weight: 600;
  text-transform: uppercase;
}

.upsells.products > h2,
.crosssells.products > h2,
.related.products > h2 {
  font-size: 14px;
  letter-spacing: 0.5px;
}

.woocommerce div.product .woocommerce-tabs .panel > h2,
.woocommerce #reviews #comments h2,
.woocommerce .cart-collaterals .cross-sells > h2,
.woocommerce-page .cart-collaterals .cross-sells > h2,
.woocommerce .cart-collaterals .cart_totals > h2,
.woocommerce-page .cart-collaterals .cart_totals > h2,
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
#order_review_heading,
#customer_login h2,
.woocommerce-Address-title h3,
.woocommerce-order-details__title,
.woocommerce-customer-details h2,
.woocommerce-columns--addresses h3 {
  letter-spacing: 0.5px;
}

.woocommerce div.product .woocommerce-tabs .panel > h2,
.woocommerce #reviews #comments h2,
.woocommerce .cart-collaterals .cross-sells > h2,
.woocommerce-page .cart-collaterals .cross-sells > h2,
.woocommerce .cart-collaterals .cart_totals > h2,
.woocommerce-page .cart-collaterals .cart_totals > h2,
.woocommerce-billing-fields > h3,
.woocommerce-shipping-fields > h3,
#order_review_heading,
#customer_login h2,
.woocommerce-Address-title h3,
.woocommerce-order-details__title,
.woocommerce-customer-details h2,
.woocommerce-columns--addresses h3 {
  font-size: 14px;
}

/* Font Size 11px */
.woocommerce .page-content ul.products li.product .button,
.page-content .woocommerce ul.products li.product .button,
.woocommerce-Reviews .woocommerce-review__published-date {
  font-size: 11px;
}

.woocommerce-Reviews .woocommerce-review__author {
  font-size: 15px;
}

/* letter-spacing 2+ */
.woocommerce .page-content ul.products li.product .button,
.page-content .woocommerce ul.products li.product .button {
  font-family: 'Montserrat';
  letter-spacing: 1.4px;
}

/* Font Size 13px */
.woocommerce-result-count,
.woocommerce ul.products li.product .price,
.woocommerce .product_meta,
.woocommerce .product_list_widget .quantity,
.woocommerce .widget_products .amount,
.woocommerce .widget_price_filter .price_slider_amount,
.woocommerce .widget_recently_viewed_products .amount,
.woocommerce .widget_top_rated_products .amount,
.woocommerce .widget_recent_reviews .reviewer,
.woocommerce-Reviews .woocommerce-review__author {
  font-size: 13px;
}

.page-content .woocommerce input.button,
.page-content .woocommerce a.button,
.page-content .woocommerce a.button.alt,
.page-content .woocommerce button.button.alt,
.page-content .woocommerce input.button.alt,
.page-content .woocommerce #respond input#submit.alt,
.woocommerce .page-content .widget_price_filter .button,
.woocommerce .page-content .woocommerce-message .button,
.woocommerce .page-content a.button.alt,
.woocommerce .page-content button.button.alt,
.woocommerce .page-content #respond input#submit,
.woocommerce .page-content .woocommerce-message .button,
.woocommerce-page .page-content .woocommerce-message .button,
.woocommerce form .form-row .required,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  font-family: 'Montserrat';
  font-size: 11px;
  letter-spacing: 1.5px;
}


/*--------------------------------------------------------------
16.0 Pages
--------------------------------------------------------------*/

.search .page .post-date,
.search .page .post-author {
  display: none;
}

.page-404 {
  padding: 120px 40px;
  text-align: center;
}

.page-404 h2 {
  position: relative;
  text-transform: uppercase;
  font-size: 24px;
  margin: 0 0 60px;
  letter-spacing: 4px;
}

.page-404 h2:before {
  content: '404';
  position: absolute;
  top: 50%;
  left: 50%;  
  z-index: 1;
  font-size: 110px;
  line-height: 1;
  margin-top: -4px;
  opacity: 0.15;
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.page-404 p {
  letter-spacing: 1px;
}

.page-404 p a {
  text-decoration: underline;
}


/*--------------------------------------------------------------
17.0 Preloader
--------------------------------------------------------------*/

.bard-preloader-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100000;
}

.bard-preloader-wrap > div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
}

/*--------------------------------------------------------------
18.0 SIDEBAR CATEGORY（最終進化版）
StartFrom39 Brand Style
--------------------------------------------------------------*/

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

.widget_categories ul li{
background:none !important;
padding:0 !important;
margin-bottom:22px;
}

/* =========================
ボタン本体
========================= */

.widget_categories ul li a{

display:block;
width:100%;

background:linear-gradient(135deg,#0f6f63,#2f5f57);
color:#ffffff;

padding:24px 20px;

border-radius:18px;

font-size:19px;
font-weight:800;

text-align:center;

text-decoration:none;

letter-spacing:1.5px;

position:relative;
overflow:hidden;

transition:all 0.35s ease;

box-shadow:0 12px 30px rgba(0,0,0,0.18);
}

/* =========================
奥行き（空気感）
========================= */

.widget_categories ul li a::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:
radial-gradient(circle at 20% 20%, rgba(255,255,255,0.12), transparent 60%),
radial-gradient(circle at 80% 80%, rgba(255,255,255,0.06), transparent 60%);
pointer-events:none;
}

/* =========================
ゴールドライン（ブランド）
========================= */

.widget_categories ul li a::after{
content:"";
position:absolute;
bottom:0;
left:50%;
transform:translateX(-50%);
width:70%;
height:4px;
background:linear-gradient(90deg,#d4af37,#e0c38c);
border-radius:4px;
}

/* =========================
ホバー（押せる感）
========================= */

.widget_categories ul li a:hover{

background:linear-gradient(135deg,#15897c,#3f6f66);
color:#ffffff;

transform:translateY(-6px) scale(1.02);

box-shadow:0 22px 50px rgba(0,0,0,0.25);
}

/* 光沢アニメーション */

.widget_categories ul li a:hover::before{
background:
radial-gradient(circle at 30% 20%, rgba(255,255,255,0.18), transparent 60%),
radial-gradient(circle at 70% 80%, rgba(255,255,255,0.08), transparent 60%);
}

/* =========================
タイトル
========================= */

.widget-title{

font-size:20px;
font-weight:700;

letter-spacing:3px;

text-align:center;

margin-bottom:30px;

position:relative;
}

/* 上ゴールドライン */

.widget-title::before{
content:"";
display:block;
width:60px;
height:3px;
background:linear-gradient(90deg,#d4af37,#e0c38c);
margin:0 auto 12px;
border-radius:3px;
}

/* =========================
モバイル
========================= */

@media (max-width:768px){

.widget_categories ul li a{
font-size:17px;
padding:20px;
border-radius:14px;
}

}

/*--------------------------------------------------------------
19.0 SIDEBAR PROFILE
--------------------------------------------------------------*/

.sidebar-profile{
background:#0f6f63;
color:#fff;
padding:26px;
border-radius:12px;
text-align:center;
margin-bottom:30px;
box-shadow:0 10px 20px rgba(0,0,0,0.15);
}

.sidebar-profile-name{
font-size:22px;
font-weight:900;
color:#d4af37;
margin-bottom:15px;
}

.sidebar-profile-text{
font-size:15px;
line-height:1.7;
margin-bottom:18px;
}

.sidebar-profile-btn{
display:inline-block;
background:#d4af37;
color:#0f6f63;
padding:10px 18px;
border-radius:6px;
font-weight:700;
text-decoration:none;
}

.sidebar-profile-btn:hover{
background:#ffd86b;
}


/*--------------------------------------------------------------
20.0 SIDEBAR TITLE
--------------------------------------------------------------*/

.widget-title{
font-size:20px;
font-weight:900;
letter-spacing:1px;
text-align:center;
padding:12px 0;
margin-bottom:20px;
border-top:3px solid #0f6f63;
}


/*--------------------------------------------------------------
21.0 SIDEBAR RECENT POSTS
--------------------------------------------------------------*/

.widget_recent_entries li{
margin-bottom:18px;
padding-bottom:18px;
border-bottom:1px dashed #ddd;
}

.widget_recent_entries a{
font-size:15px;
line-height:1.6;
color:#333;
text-decoration:none;
transition:0.3s;
}

.widget_recent_entries a:hover{
color:#0f6f63;
}

/*--------------------------------------------------------------
22.0 SIDEBAR ARCHIVE
--------------------------------------------------------------*/

.widget_archive li{
padding:10px 0;
border:none;
}

.widget_archive a{
color:#333;
text-decoration:none;
font-size:15px;
}

.widget_archive a:hover{
color:#0f6f63;
}

/*--------------------------------------------------------------
23.0 POST CARD
--------------------------------------------------------------*/

.post{
background:#fff;
border-radius:12px;
overflow:hidden;
box-shadow:0 10px 25px rgba(0,0,0,0.08);
transition:0.3s;
}

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

.post-title{
font-size:20px;
font-weight:800;
margin-top:15px;
}

.post img{
border-radius:10px;
}


/*--------------------------------------------------------------
24.0 ARTICLE PAGE
--------------------------------------------------------------*/

.single-post .entry-content{
max-width:680px;
margin:0 auto;
font-size:18px;
line-height:2;
}

.entry-content img{
border-radius:12px;
margin:30px 0;
}

/*--------------------------------------------------------------
25.0 RELATED POSTS
--------------------------------------------------------------*/

.related-posts{
margin-top:60px;
border-top:1px solid #eee;
padding-top:30px;
}


/*--------------------------------------------------------------
26.0 ARTICLE NAVIGATION
--------------------------------------------------------------*/

.post-navigation{
margin-top:50px;
padding-top:30px;
border-top:1px solid #eee;
}


/*--------------------------------------------------------------
27.0 HERO SLIDER
--------------------------------------------------------------*/

.featured-slider{
position:relative;
overflow:hidden;
}

.featured-slider img{
width:100%;
height:auto;
}

.featured-slider h2{
text-shadow:0 2px 10px rgba(0,0,0,0.4);
}

.featured-slider:before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.25);
}

/*--------------------------------------------------------------
28.0 FOOTER
--------------------------------------------------------------*/

#page-footer{
background:#fafafa;
border-top:1px solid #eee;
padding:30px 0;
}

.footer-copyright{
text-align:center;
font-size:14px;
color:#666;
line-height:1.6;
}
/*--------------------------------------------------------------
29.0 MOBILE
--------------------------------------------------------------*/

@media (max-width:768px){

.category-box{
grid-template-columns:1fr;
}

.cat-item{
height:80px;
font-size:20px;
}

.widget_categories a{
font-size:16px;
padding:16px;
}

.post-title{
font-size:18px;
}

.footer-nav{
gap:18px;
}

.footer-nav a{
font-size:14px;
}

}

/*--------------------------------------------------------------
30.0 SIDEBAR TITLE FINAL
--------------------------------------------------------------*/

/* remove bard widget box */

.widget{
border:none !important;
box-shadow:none !important;
background:none !important;
}

/* title style */

.widget-title{
text-align:center;
margin:30px 0 15px;
}

.widget-title h4{
font-size:20px;
font-weight:900;
letter-spacing:2px;
padding-top:12px;
border-top:3px solid #0f6f63;
}

/*--------------------------------------------------------------
31.0 CATEGORY BUTTON FINAL
--------------------------------------------------------------*/
.widget_categories ul{
list-style:none;
padding:0;
margin:0;
}

.widget_categories ul li{
margin-bottom:18px;
}

.widget_categories ul li a{

display:block;
width:100%;

background:#0f6f63;

color:#111 !important;   /* 黑色 */

padding:22px;

border-radius:12px;

font-size:20px;
font-weight:900;

text-align:center;

text-decoration:none;

letter-spacing:1px;

transition:all 0.3s ease;

box-shadow:0 10px 20px rgba(0,0,0,0.2);

}

/* hover 金色 */

.widget_categories ul li a:hover{

color:#d4af37 !important;

transform:translateY(-3px);

box-shadow:0 14px 25px rgba(0,0,0,0.25);

}

/* 如果有文章数量 */

.widget_categories ul li a span{

color:#111 !important;

}

/* hover 时 span 也变金色 */

.widget_categories ul li a:hover span{

color:#d4af37 !important;

}

/*--------------------------------------------------------------
32.0 RECENT POSTS
--------------------------------------------------------------*/

.widget_recent_entries a{

color:#333;

font-size:15px;
line-height:1.6;

transition:0.25s;

}

.widget_recent_entries a:hover{

color:#0f6f63;

transform:translateX(4px);

}

.widget_recent_entries ul li{

margin-bottom:12px;
padding-bottom:12px;

border-bottom:1px dashed #ddd;

}


/*--------------------------------------------------------------
33.0 FOOTER SIMPLE
--------------------------------------------------------------*/

.footer-simple{

text-align:center;

padding:20px 0;

}

.footer-simple a{

display:inline-block;

color:#666;

text-decoration:none;

line-height:1.8;

}

.footer-simple a:hover{

color:#0f6f63;

}


/*--------------------------------------------------------------
34.0 FOOTER FINAL
--------------------------------------------------------------*/

#page-footer{

margin-top:80px;

padding:50px 20px;

background:#fafafa;

border-top:1px solid #e5e5e5;

}

.footer-inner{

max-width:900px;

margin:0 auto;

text-align:center;

}

.footer-brand{

font-size:14px;

color:#666;

line-height:1.8;

margin-bottom:20px;

}

.footer-brand span{

font-size:13px;

color:#888;

}

.footer-nav{

display:flex;

justify-content:center;

gap:30px;

flex-wrap:wrap;

}

.footer-nav a{

font-size:15px;

color:#444 !important;

text-decoration:none;

position:relative;

transition:all 0.3s ease;

}

.footer-nav a:hover{

color:#0f6f63 !important;

}

.footer-nav a::after{

content:"";

position:absolute;

left:0;

bottom:-4px;

width:0;

height:2px;

background:#0f6f63;

transition:width 0.3s ease;

}

.footer-nav a:hover::after{

width:100%;

}


/*--------------------------------------------------------------
35.0 HEADER MENU
--------------------------------------------------------------*/

.menu a{

color:#222 !important;

font-weight:700;

letter-spacing:0.4px;

text-decoration:none;

position:relative;

transition:0.3s;

}

/* hover 金色 */

.menu a:hover{

color:#d4af37 !important;

}

.menu a::after{

content:"";

position:absolute;

left:0;

bottom:-6px;

width:0;

height:2px;

background:#d4af37;

transition:0.3s;

}

.menu a:hover::after{

width:100%;

}

/* 当前栏目 */

.current-menu-item a{

color:#0f6f63 !important;

}

.current-menu-item a::after{

width:100%;

background:#0f6f63;

}


/*--------------------------------------------------------------
36.0 FEATURED SLIDER
--------------------------------------------------------------*/

.featured-slider{

border-radius:14px;

overflow:hidden;

box-shadow:0 20px 40px rgba(0,0,0,0.15);

}

.featured-slider img{
width:100%;
height:auto;
}


/*--------------------------------------------------------------
37.0 MOBILE FIX
--------------------------------------------------------------*/

/* remove mobile blue highlight */

*{
-webkit-tap-highlight-color:rgba(0,0,0,0);
}

/* mobile link color */

a:hover,
a:focus{
color:#0f6f63 !important;
}

/* slider dots */

.slick-dots li.slick-active button:before{
color:#0f6f63 !important;
}

/* mobile menu */

.menu a:hover{
color:#d4af37 !important;
}

/* current page */

.current-menu-item a{
color:#0f6f63 !important;
}

/* remove bard widget box */

.widget{
border:none !important;
box-shadow:none !important;
}

/* sidebar title */

.widget-title h4{

border-top:3px solid #0f6f63 !important;

}

/*--------------------------------------------------------------
SIDEBAR TITLE FINAL FIX
--------------------------------------------------------------*/

/* 删除主题自带的线 */
.widget-title h4{
border-top:none !important;
}

/* 只保留一条上方装饰线 */
.widget-title:before{
content:"";
width:80px;
height:4px;
background:#0f6f63;
display:block;
margin:0 auto 12px;
}

/*--------------------------------------------------------------
SIDEBAR TITLE FINAL
--------------------------------------------------------------*/

/* 删除所有装饰线 */
.widget-title:before,
.widget-title:after{
display:none !important;
}

/* 只保留一条上方长线 */
.widget-title{
border-top:3px solid #0f6f63;
padding-top:14px;
}

/* =========================
Related Posts (StartFrom39)
========================= */

.related-posts-wrapper{
margin-top:70px;
}

.related-title{
font-size:20px;
margin-bottom:25px;
border-bottom:2px solid #c8a75a;
padding-bottom:8px;
text-align:center;
}

/* Related Posts Text */

.bard-related-posts img{
display:none;
}

.bard-related-post-title{
display:block;
font-size:16px;
padding:8px 0;
color:#2F5F57;
border-bottom:1px solid #eee;
}

.bard-related-post-title:hover{
color:#c8a75a;
}

/* Author Box */

.author-description{
background:#f7f6f2;
border-radius:6px;
padding:40px 20px;
margin-top:60px;
}

.author-avatar img{
width:80px;
height:80px;
}

/* =========================
CATEGORY SECTION（高级版）
========================= */

.category-section{
padding:80px 20px;
background:linear-gradient(180deg,#1f4f46,#0f2f2a);
text-align:center;
}

/* 标题 */

.category-title{
font-size:28px;
color:#E6D3A3;
letter-spacing:2px;
margin-bottom:50px;
font-weight:500;
}

/* Grid */

.category-grid{
display:grid;
grid-template-columns:repeat(5,1fr);
gap:20px;
max-width:1100px;
margin:0 auto;
}

/* 卡片 */

.category-card{
display:flex;
flex-direction:column;
justify-content:center;
align-items:center;

height:110px;
border-radius:6px;

background:linear-gradient(145deg,#f3e2b8,#d4b879);
color:#1f4f46;

text-decoration:none;

box-shadow:
0 4px 10px rgba(0,0,0,0.15),
inset 0 1px 1px rgba(255,255,255,0.4);

transition:all 0.35s ease;
}

/* hover 高级感 */

.category-card:hover{
transform:translateY(-6px);
box-shadow:
0 10px 25px rgba(0,0,0,0.25);
}

/* 字体 */

.cat-name{
font-size:18px;
font-weight:600;
margin-bottom:6px;
}

.cat-count{
font-size:12px;
opacity:0.7;
letter-spacing:1px;
}

@media (max-width:768px){

.category-grid{
grid-template-columns:1fr;
gap:15px;
}

.category-card{
height:80px;
}

}
/*--------------------------------------------------------------
 StartFrom39 LP UI 修正版（上品・統一）
--------------------------------------------------------------*/

body{
font-family:"Noto Sans JP",sans-serif;
margin:0;
background:#f7f6f2;
color:#333;
line-height:1.9;
}

/* コンテナ */

.container{
max-width:760px;
margin:auto;
padding:20px;
}

/*--------------------------------------------------------------
 Hero（少し柔らかく）
--------------------------------------------------------------*/

.hero{
text-align:center;
padding:80px 20px;
background:#3F6F66; /* ←統一カラー */
color:#fff;
border-radius:0 0 20px 20px; /* ←柔らかさ */
}

.hero h1{
font-size:28px;
letter-spacing:1px;
}

.hero p{
margin-top:10px;
opacity:0.9;
}

/*--------------------------------------------------------------
 ボタン統一
--------------------------------------------------------------*/

.sf-btn{
display:inline-block;
padding:16px 34px;

background:#3F6F66;
color:#fff;

border-radius:12px;
font-size:15px;
font-weight:600;
letter-spacing:1px;

text-decoration:none;
transition:0.3s;

box-shadow:0 6px 18px rgba(0,0,0,0.08);
}

/* hover */

.sf-btn:hover{
background:#C8A75A;
color:#2F5F57;
transform:translateY(-2px);
}

/* 小ボタン */

.sf-btn-sm{
padding:10px 20px;
font-size:13px;
border-radius:8px;
}

/*--------------------------------------------------------------
 Section
--------------------------------------------------------------*/

.section{
margin:70px 0;
}

.section h2{
border-left:4px solid #3F6F66;
padding-left:12px;
margin-bottom:20px;
}

/*--------------------------------------------------------------
 Box（柔らかく）
--------------------------------------------------------------*/

.box{
background:#fff;
padding:25px;
border-radius:12px;
margin-top:20px;
box-shadow:0 4px 12px rgba(0,0,0,0.04);
}

/*--------------------------------------------------------------
 StartFrom39 UI SYSTEM（整理済み）
--------------------------------------------------------------*/

/* =========================
 基本
========================= */

.entry-content{
line-height:1.9;
color:#333;
}

.entry-content p{
margin:15px 0;
}

.entry-content ul{
margin:15px 0 20px 20px;
}

.entry-content li{
margin:6px 0;
}

/* =========================
本文・共通デザイン
========================= */

/* 段落 */
.entry-content p{
margin-bottom:18px;
}

/* リスト */
.entry-content ul{
padding-left:20px;
margin:20px 0;
}

.entry-content li{
margin-bottom:10px;
}

/* 強調 */
.entry-content strong{
color:#2F5F57;
}

/* 引用（超重要） */
.entry-content blockquote{
border-left:4px solid #0f6f63;
padding-left:20px;
margin:30px 0;
color:#555;
font-style:italic;
}

/* 区切り */
.entry-content hr{
margin:50px 0;
border:none;
border-top:1px solid #eee;
}

/* リード文 */
.entry-content .lead{
font-size:17px;
margin-bottom:30px;
color:#555;
}

/* CTA統一 */
.sf-cta{
text-align:center;
margin-top:60px;
padding:40px 20px;
background:#f7f6f2;
border-radius:16px;
}

.sf-cta a{
display:inline-block;
margin-top:10px;
padding:12px 30px;
background:#2F5F57;
color:#fff;
border-radius:30px;
text-decoration:none;
transition:0.3s;
}

.sf-cta a:hover{
background:#C8A75A;
}

/* モバイル最適化 */
@media(max-width:768px){

.entry-content{
padding:30px 15px;
}

.entry-content h1{
font-size:22px;
}

.entry-content h2{
font-size:18px;
}
}

/*====================================
sf-article 見出しデザイン（最終版）
====================================*/

/*==============================
H1（タイトル：雑誌レベル）
==============================*/

.sf-article h1{
font-size:24px;
font-weight:900;
line-height:1.4;
color:#0f2f2c;
margin:40px 0 35px;
position:relative;
padding-bottom:18px;
letter-spacing:0.5px;
}

/* グラデライン */
.sf-article h1::after{
content:"";
position:absolute;
left:0;
bottom:0;
width:100%;
height:3px;
background:linear-gradient(90deg,#0f6f63,#d4af37);
border-radius:2px;
}

/*==============================
H2（メイン見出し）
==============================*/

.sf-article h2{
font-size:22px;
font-weight:900;
margin:55px 0 25px;
padding:16px 20px;
background:linear-gradient(90deg,#f3f7f6,#ffffff);
border-left:4px solid #0f6f63;
color:#0f2f2c;
border-radius:6px;
position:relative;
}

/* 下ライン（控えめゴールド） */

.sf-article h2::after{
content:"";
position:absolute;
bottom:0;
left:0;
width:100%;
height:2px;
background:linear-gradient(90deg,#0f6f63,#d4af37);
opacity:0.5;
}

/*==============================
H3（重要ポイント）
==============================*/

.sf-article h3{
font-size:20px;
font-weight:800;
margin:40px 0 18px;
color:#0f6f63;
padding-left:16px;
position:relative;
}

/* ゴールドバー */
.sf-article h3::before{
content:"";
position:absolute;
left:0;
top:50%;
transform:translateY(-50%);
width:6px;
height:22px;
background:#d4af37;
border-radius:2px;
}

/*==============================
H4（整理見出し）
==============================*/

.sf-article h4{
font-size:18px;
font-weight:700;
margin:28px 0 12px;
color:#0f2f2c;
padding-bottom:6px;
border-bottom:1px solid rgba(15,111,99,0.25);
}

/*==============================
H5（サブ見出し）
==============================*/

.sf-article h5{
font-size:16px;
font-weight:700;
margin:22px 0 10px;
color:#0f6f63;
letter-spacing:0.5px;
position:relative;
}

/* 小ゴールドライン */

.sf-article h5::after{
content:"";
display:block;
width:40px;
height:2px;
background:#d4af37;
margin-top:6px;
}

/*==============================
スマホ最適化
==============================*/

@media (max-width:768px){

.sf-article h1{
font-size:26px;
}

.sf-article h2{
font-size:22px;
}

.sf-article h3{
font-size:20px;
}
}

/*====================================
スマホ最適化
====================================*/

@media (max-width:768px){

.entry-content h1{
font-size:26px;
}

.entry-content h2{
font-size:22px;
}

.entry-content h3{
font-size:20px;
}

}

/*====================================
共通BOX（ベース）
====================================*/

.sf-point-box,
.sf-check-box,
.sf-alert-box,
.sf-recommend-box,
.sf-merit-box,
.sf-demerit-box,
.sf-notice-box,
.sf-empathy-box{

margin:30px 0;
padding:22px;
border-radius:10px;

line-height:1.8;

box-shadow:0 8px 20px rgba(0,0,0,0.05);

transition:0.3s;

}

.sf-point-box:hover,
.sf-check-box:hover,
.sf-alert-box:hover{
transform:translateY(-2px);
}


/*====================================
タイトル共通
====================================*/

.sf-box-title{

font-size:16px;
font-weight:900;

margin-bottom:12px;

letter-spacing:1px;

}

/*====================================
POINT（要点）
====================================*/

.sf-point-box{
background:#faf8f3; /* 少しやわらかく */
border-left:4px solid #d4b074; /* ゴールド */
}

.sf-point-box .sf-box-title{
color:#d4b074;
}

/* =========================
sf-point-box リストを✔ゴールドに変更
========================= */

.sf-point-box ul{
list-style:none; /* ・を消す */
padding-left:0;
margin:0;
}

.sf-point-box li{
position:relative;
padding-left:26px;
margin-bottom:10px;
line-height:1.7;
}

/* ✔ゴールド */

.sf-point-box li::before{
content:"✔";
position:absolute;
left:0;
top:2px;
color:#d4b074; /* ゴールド */
font-size:14px;
font-weight:600;
}

.sf-point-box li::before{
top:3px;
font-size:13px;
}

/*====================================
CHECK（チェック）
====================================*/

.sf-check-box{
background:#ffffff;
border:2px solid #0f6f63;
}

.sf-check-box .sf-box-title{
color:#0f6f63;
}

.sf-check-box ul{
list-style:none;
padding-left:0;
margin:0;
}

.sf-check-box li{
position:relative;
padding-left:26px;
margin-bottom:10px;
line-height:1.7;
}

.sf-check-box li::before{
content:"✔";
position:absolute;
left:0;
top:3px;
color:#2F5F57; /* エメラルド */
font-weight:600;
font-size:14px;
}

/*====================================
ALERT（注意）
====================================*/

.sf-alert-box{
background:#fff7f7;
border-left:4px solid #d4af37;
}

.sf-alert-box .sf-box-title{
color:#d4af37;
}


/*====================================
NOTICE（警告・重要）
====================================*/

.sf-notice-box{
background:#fff3f3;
border-left:4px solid #d9534f;
color:#7a2c2c;
}

/*====================================
EMPATHY（共感）
====================================*/

.sf-empathy-box{
background:#fff7e6;
border-left:4px solid #d4af37;
color:#5a4a1f;
}


/*====================================
MERIT（メリット）
====================================*/

.sf-merit-box{
background:#eef8f6;
border-left:4px solid #0f6f63;
}

.sf-merit-box li{
margin-bottom:8px;
}


/*====================================
DEMERIT（デメリット）
====================================*/

.sf-demerit-box{
background:#f1f4f8;
border-left:4px solid #2c3e50;
}

.sf-demerit-box li{
margin-bottom:8px;
}

/*====================================
RECOMMEND（CTA）
====================================*/

.sf-recommend-box{

background:#0f6f63;
color:#fff;

text-align:center;

padding:30px;

}

.sf-recommend-title{

font-size:20px;
font-weight:900;

margin-bottom:10px;

color:#d4af37;

}

/*====================================
CTAボタン
====================================*/

.sf-btn{

display:inline-block;

margin-top:15px;

background:#d4af37;
color:#0f6f63;

padding:12px 24px;

border-radius:6px;

font-weight:700;

text-decoration:none;

transition:0.3s;

}

.sf-btn:hover{

background:#ffd86b;
transform:translateY(-2px);

}


/*====================================
リスト調整
====================================*/

.sf-point-box ul,
.sf-check-box ul,
.sf-merit-box ul,
.sf-demerit-box ul{

padding-left:18px;
margin:0;

}

.sf-point-box li,
.sf-check-box li{

margin-bottom:8px;
font-size:15px;

}

/* =========================
StartFrom39 記事UI 最終版
========================= */

.sf-article{
max-width:720px;
margin:0 auto;
padding:20px;
line-height:1.9;
font-size:16px;
color:#333;
}

/* ===== LEAD ===== */
.sf-lead{
font-size:18px;
margin-bottom:25px;
line-height:1.8;
}

/* ===== 強調（ゴールド） ===== */
.sf-article strong{
color:#c8a75a;
font-weight:600;
}

/* ===== ハイライト（エメラルド下線） ===== */
.sf-highlight{
background:linear-gradient(transparent 60%, #d7efe9 60%);
}

/* ===== さらに上位強調（ネイビーver：使い分け用） ===== */
.sf-highlight-navy{
background:linear-gradient(transparent 60%, #e3e8f0 60%);
}

/* ===== LIST ===== */
.sf-article ul{
padding-left:20px;
margin:15px 0;
}

.sf-article li{
margin-bottom:8px;
}

/* ●の色 */

.sf-article ul li::marker{
color:#7FAFA3;
}

/* ===== QUOTE ===== */
.sf-quote{
background:none;
padding:20px 0;
margin:40px 0;
text-align:center;
font-size:22px;
letter-spacing:2px;
color:#2F5F57;
font-weight:500;
}

/* ===== BOX ===== */
.sf-box{
background:#fafafa;
padding:18px;
margin:25px 0;
border-left:3px solid #c8a75a;
}

/* ===== LINE ===== */
.sf-article hr{
margin:50px 0;
border:none;
border-top:1px solid #eee;
}

/* ===== CTA ===== */
.sf-cta{
text-align:center;
margin:70px 0;
padding:35px 20px;
background:#f7f6f2;
border-radius:16px;
}

.sf-cta-title{
font-size:20px;
margin-bottom:10px;
letter-spacing:1px;
}

.sf-cta p{
margin-bottom:15px;
font-size:16px;
}

.sf-cta a{
display:inline-block;
padding:13px 30px;
background:#2F5F57;
color:#fff;
border-radius:30px;
text-decoration:none;
transition:0.3s;
}

.sf-cta a:hover{
background:#c8a75a;
color:#000;
}

/* =========================
 目次
========================= */

.sf-toc{
background:#fafafa;
border:1px solid #e5e5e5;
border-radius:12px;
padding:20px;
margin:30px 0;
}

.sf-toc-title{
text-align:center;
color:#2F5F57;
border-bottom:2px solid #c8a75a;
padding-bottom:5px;
margin-bottom:12px;
}

.sf-toc a{
display:block;
padding:6px;
border-radius:6px;
color:#333;
text-decoration:none;
}

.sf-toc a:hover{
background:#f0f7f6;
color:#2F5F57;
}

/* =========================
緑CTA（完全最終版）
StartFrom39 Brand Style
========================= */

.sf-cta-green{
margin-top:100px;
padding:80px 30px;

background:linear-gradient(135deg,#1f6f63,#2f5f57);
border-radius:26px;

position:relative;
overflow:hidden;
text-align:center;
}

/* 空気感 */

.sf-cta-green::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:
radial-gradient(circle at 20% 20%, rgba(255,255,255,0.08), transparent 60%),
radial-gradient(circle at 80% 80%, rgba(255,255,255,0.05), transparent 60%);
}

/* 中央 */

.sf-cta-green-inner{
max-width:520px;
margin:0 auto;
position:relative;
z-index:2;
}

/* サブ */

.sf-cta-green-sub{
color:#e0c38c;
font-size:14px;
letter-spacing:2px;
margin-bottom:15px;
font-weight:600;
}

/* タイトル */

.sf-cta-green-title{
color:#ffffff;
font-size:24px;
font-weight:600;
margin-bottom:24px;
letter-spacing:1px;
line-height:1.7;
}

/* テキスト */

.sf-cta-green-text{
color:#f5f5f5;
font-size:15px;
line-height:2;
margin-bottom:8px;
}

/* ボタン */

.sf-cta-green-btn{
display:inline-block;
margin-top:30px;
padding:17px 50px;

background:linear-gradient(135deg,#d4af37,#e0c38c);
color:#2f5f57;

border-radius:50px;
text-decoration:none;

font-size:14px;
font-weight:700;
letter-spacing:1.2px;

transition:all 0.3s ease;

box-shadow:0 10px 25px rgba(0,0,0,0.25);

position:relative;
overflow:hidden;
}

/* 光沢 */

.sf-cta-green-btn::before{
content:"";
position:absolute;
top:0;
left:-100%;
width:200%;
height:100%;
background:linear-gradient(
120deg,
transparent,
rgba(255,255,255,0.25),
transparent
);
transition:0.6s;
}

/* hover */

.sf-cta-green-btn:hover{
transform:translateY(-2px);
box-shadow:0 15px 35px rgba(0,0,0,0.3);
}

.sf-cta-green-btn:hover::before{
left:100%;
}

/* モバイル */

@media (max-width:768px){

.sf-cta-green{
padding:50px 20px;
}

.sf-cta-green-title{
font-size:20px;
}

.sf-cta-green-text{
font-size:14px;
}

}

/* =========================
ボタン統一（最終進化版）
========================= */

.sf-btn,
button,
input[type="submit"]{

background:linear-gradient(135deg,#2F5F57,#3F6F66);
color:#fff;

border-radius:40px;
padding:16px 36px;

font-size:14px;
font-weight:600;
letter-spacing:1px;

border:none;

transition:all 0.3s ease;

box-shadow:0 10px 25px rgba(47,95,87,0.25);

position:relative;
overflow:hidden;
}

/* 光沢 */

.sf-btn::before,
button::before,
input[type="submit"]::before{
content:"";
position:absolute;
top:0;
left:-100%;
width:200%;
height:100%;
background:linear-gradient(
120deg,
transparent,
rgba(255,255,255,0.2),
transparent
);
transition:0.6s;
}

/* hover */

.sf-btn:hover,
button:hover,
input[type="submit"]:hover{

background:linear-gradient(135deg,#C8A75A,#d4af37);
color:#2F5F57;

transform:translateY(-3px);
box-shadow:0 18px 40px rgba(0,0,0,0.25);
}

.sf-btn:hover::before,
button:hover::before,
input[type="submit"]:hover::before{
left:100%;
}

/* =========================
フォーム（最終進化版）
========================= */

.sf-form{
max-width:600px;
margin:50px auto;
}

.sf-form-group{
margin-bottom:22px;
}

.sf-form label{
display:block;
font-weight:600;
margin-bottom:8px;
color:#2F5F57;
}

.required{
color:#d4af37;
font-size:12px;
margin-left:5px;
}

/* 入力欄 */

.sf-form input,
.sf-form select,
.sf-form textarea{

width:100%;
padding:14px;

border:1px solid #ddd;
border-radius:10px;

font-size:14px;

background:#fff;

transition:all 0.25s ease;
}

/* フォーカス */

.sf-form input:focus,
.sf-form textarea:focus{

border-color:#2F5F57;
box-shadow:0 0 0 2px rgba(47,95,87,0.1);
outline:none;
}

/* 送信 */

.sf-form-submit{
text-align:center;
margin-top:35px;
}

.sf-submit-btn{

background:linear-gradient(135deg,#2F5F57,#3F6F66);
color:#fff;

padding:16px 50px;

border:none;
border-radius:40px;

font-weight:700;
letter-spacing:1px;

cursor:pointer;

transition:all 0.3s ease;

box-shadow:0 12px 30px rgba(47,95,87,0.25);
}

/* hover */

.sf-submit-btn:hover{

background:linear-gradient(135deg,#C8A75A,#d4af37);
color:#2F5F57;

transform:translateY(-3px);
box-shadow:0 20px 45px rgba(0,0,0,0.25);
}

/* =========================
テキスト系
========================= */

.sf-small{
font-size:13px;
opacity:0.8;
}

.sf-note{
font-size:13px;
color:#777;
margin-top:12px;
line-height:1.6;
}

.sf-link{
color:#2F5F57;
text-decoration:underline;
}

/* =========================
LINEページ
========================= */

.sf-line-cta{
max-width:680px;
margin:0 auto;
padding:50px 20px;
}

.sf-line-hero{
text-align:center;
margin-bottom:50px;
}

.sf-line-hero h1{
font-size:30px;
font-weight:800;
line-height:1.4;
color:#2F5F57;
margin-bottom:20px;
}

.sf-line-hero p{
font-size:16px;
color:#555;
line-height:1.8;
}

/* セクション間隔 */

.sf-line-empathy,
.sf-line-solution,
.sf-line-message,
.sf-line-action,
.sf-line-safe{
margin:40px 0;
}

/* LINEボタン */

.sf-line-btn{
display:block;
text-align:center;

background:#06c755; /* LINEグリーン */
color:#fff;

padding:16px;

border-radius:8px;

font-size:18px;
font-weight:900;

text-decoration:none;

margin-top:20px;

transition:0.3s;
}

.sf-line-btn:hover{
background:#05b14b;
transform:translateY(-2px);
}

/* スマホ */

@media (max-width:768px){

.sf-line-hero h1{
font-size:24px;
}

}

/* =========================
 スマホ
========================= */

@media (max-width:768px){

.entry-content h1{font-size:26px;}
.entry-content h2{font-size:22px;}
.entry-content h3{font-size:18px;}

}

/* =========================
　プロフィールカード 
========================= */
.sf-profile-premium{
font-family:"Noto Sans JP",sans-serif;
}

.sf-hero{
text-align:center;
padding:120px 20px 80px;
background:#ffffff;
}

/* ロゴ */
.sf-logo{
max-width:420px;
width:100%;
height:auto;
display:block;
margin:0 auto;
}

/* 下に余白ライン（高級感） */
.sf-hero::after{
content:"";
display:block;
width:60px;
height:2px;
background:#c8a75a;
margin:40px auto 0;
}

.sf-logo{
opacity:0;
transform:translateY(20px);
animation:fadeUp 1.2s ease forwards;
}

.sf-tagline{
margin-top:15px;
color:#2F5F57;
font-size:14px;
letter-spacing:1px;
}
@keyframes fadeUp{
to{
opacity:1;
transform:translateY(0);
}
}

/* CONTAINER */
.sf-container{
max-width:720px;
margin:60px auto;
padding:0 20px;
line-height:1.9;
}

/* TITLE */
.sf-title{
text-align:center;
font-size:22px;
margin-bottom:30px;
}

/* LEAD */
.lead{
text-align:center;
font-size:17px;
margin-bottom:25px;
}

/* QUOTE */
.sf-quote{
margin:40px 0;
padding:25px;
text-align:center;
background:#f7f6f2;
border-left:4px solid #c8a75a;
font-style:italic;
}

/* SECTION */
.sf-section{
margin-top:50px;
}

/* GRID */
.sf-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:15px;
margin-top:30px;
}

.sf-card{
background:#fff;
padding:20px;
text-align:center;
border-radius:10px;
box-shadow:0 3px 10px rgba(0,0,0,0.05);
}

/* BOX */
.sf-box{
margin:50px 0;
padding:30px;
background:#fafafa;
text-align:center;
border-radius:12px;
}

/* CATEGORY */
.sf-category{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:15px;
margin-top:40px;
}

.sf-cat{
background:#fff;
padding:15px;
text-align:center;
border-radius:8px;
box-shadow:0 2px 8px rgba(0,0,0,0.05);
}

.sf-cat span{
font-weight:bold;
color:#2F5F57;
}

/* MESSAGE */
.sf-message{
text-align:center;
margin-top:50px;
font-size:18px;
}

/* CTA */
.sf-cta{
text-align:center;
margin-top:60px;
padding:30px;
background:#f9f9f9;
border-radius:12px;
}

.sf-cta a{
display:inline-block;
margin-top:10px;
padding:12px 30px;
background:#2F5F57;
color:#fff;
border-radius:30px;
text-decoration:none;
}

.sf-cta a:hover{
background:#c8a75a;
}

/* MOBILE */
@media(max-width:768px){

.sf-grid{
grid-template-columns:1fr;
}

.sf-category{
grid-template-columns:1fr;
}

.sf-hero{
padding:60px 20px;
}

}

/* CTA一体型ページ */

.sf-page-cta{
margin-top:50px;
text-align:center;
}

/* =========================
 トップAbout
========================= */

.sf-about-top{
text-align:center;
padding:60px 20px;
margin:60px 0;
background:#fafafa;
border-radius:16px;
}

.sf-about-sub{
font-size:12px;
letter-spacing:2px;
color:#999;
margin-bottom:10px;
}

.sf-about-title{
font-size:24px;
color:#2F5F57;
margin-bottom:20px;
}

.sf-about-text{
font-size:15px;
color:#555;
line-height:1.8;
margin-bottom:10px;
}

.sf-about-btn{
display:inline-block;
margin-top:20px;
padding:10px 22px;
background:#2F5F57;
color:#fff;
border-radius:20px;
text-decoration:none;
font-size:14px;
transition:0.3s;
}

.sf-about-btn:hover{
background:#C8A75A;
color:#2F5F57;
}

/* =========================
Related Single Card（最終版）
========================= */

.sf-related-box{
margin-top:60px;
padding-top:30px;
border-top:1px solid #e5e5e5;
}

/* タイトル */

.sf-related-title{
text-align:center;
font-size:14px;
color:#888;
margin-bottom:25px;
letter-spacing:2px;
}

.sf-related-title span{
display:block;
font-size:11px;
color:#c8a75a;
letter-spacing:4px;
margin-bottom:6px;
}

/* カード */

.sf-related-card{
display:flex;
justify-content:space-between;
align-items:center;

max-width:700px;
margin:0 auto;

background:#fff;
padding:22px 28px;

border-radius:14px;
border:1px solid #eee;

text-decoration:none;
color:#333;

transition:0.3s;
box-shadow:0 8px 25px rgba(0,0,0,0.04);
}

/* hover */

.sf-related-card:hover{
transform:translateY(-4px);
box-shadow:0 15px 40px rgba(0,0,0,0.08);
border-color:#c8a75a;
}

/* テキスト */

.sf-related-content h3{
font-size:17px;
line-height:1.6;
margin:0;
color:#2F5F57;
}

/* ラベル */

.sf-related-label{
font-size:11px;
color:#c8a75a;
margin-bottom:6px;
letter-spacing:1px;
}

/* 矢印 */

.sf-related-arrow{
font-size:18px;
color:#c8a75a;
}

/* 空のカードを消す */

.sf-related-card:empty{
display:none;
}

/* もし余計なラッパーがある場合 */

.sf-related-box > div:empty{
display:none;
}

/* モバイル */

@media (max-width:768px){

.sf-related-card{
padding:18px;
}

.sf-related-content h3{
font-size:15px;
}

}

/* =========================
Contact Page（最終完成版）
========================= */

.sf-contact{
text-align:center;
padding:40px 20px 60px;
background:#f7f6f2;
max-width:900px;
margin:0 auto;
}

/* Title */

.sf-contact-title{
font-size:28px;
font-weight:500;
margin:0 0 10px;
letter-spacing:1px;
color:#2F5F57;
}

/* Sub */

.sf-contact-sub{
font-size:14px;
color:#777;
margin-bottom:30px;
line-height:1.8;
}

/* Box */

.sf-contact-box{
max-width:600px;
margin:20px auto 0;
background:#fff;
padding:40px;
border-radius:12px;
box-shadow:0 5px 20px rgba(0,0,0,0.05);
}

/* Before Text */

.sf-before-btn{
text-align:center;
font-size:13px;
color:#888;
margin-bottom:15px;
letter-spacing:1px;
}

/* Required */

.sf-required{
color:#c8a75a;
font-size:12px;
margin-left:8px;
letter-spacing:1px;
}

/* Form */

.wpcf7-form p{
margin-bottom:20px;
text-align:left;
}

.wpcf7-form label{
font-size:13px;
color:#444;
display:block;
margin-bottom:6px;
}

.wpcf7-form input,
.wpcf7-form textarea,
.wpcf7-form select{
width:100%;
padding:12px;
border:1px solid #ddd;
border-radius:6px;
font-size:14px;
}

.wpcf7-form textarea{
height:120px;
resize:none;
}

/* =========================
ボタン（最重要）
========================= */

.sf-submit-btn,
.wpcf7-submit{
width:auto;
background:#2F5F57 !important; /* エメラルド */
color:#ffffff !important; /* 白文字 */
padding:14px 40px;
border:none;
border-radius:30px;
font-size:16px;
letter-spacing:2px;

display:flex;
justify-content:center;
align-items:center;

margin:30px auto 0;

transition:all 0.3s ease;
box-shadow:0 4px 12px rgba(0,0,0,0.08);
cursor:pointer;
}

/* hover（超重要） */

.sf-submit-btn:hover,
.wpcf7-submit:hover{
background:#c8a75a !important; /* ゴールド */
color:#2F5F57 !important; /* エメラルド文字 */
transform:translateY(-2px);
box-shadow:0 6px 20px rgba(0,0,0,0.12);
}

/* Note */

.sf-note{
font-size:12px;
color:#999;
margin-top:20px;
line-height:1.6;
text-align:center;
}

/* Mobile */

@media (max-width:768px){

.sf-contact{
padding:30px 15px 40px;
}

.sf-contact-title{
font-size:22px;
}

.sf-contact-box{
padding:25px;
}
}
/* ボタンの余白を調整 */
.sf-submit-btn{
margin:20px auto 8px; /* ← 下を詰める */
}

/* 下の文章 */
.sf-note{
margin-top:8px; /* ← かなり近づける */
font-size:12px;
color:#999;
text-align:center;
}
.sf-note{
margin-top:6px;
opacity:0.8;
letter-spacing:0.5px;
}
/* =========================
Thanks Page（最終版）
========================= */

.sf-thanks{
text-align:center;
padding:60px 20px;
background:#f7f6f2;
max-width:900px;
margin:0 auto;
}

.sf-thanks-title{
font-size:26px;
color:#2F5F57;
margin-bottom:10px;
}

.sf-thanks-sub{
font-size:14px;
color:#777;
margin-bottom:30px;
line-height:1.8;
}

.sf-thanks-box{
background:#fff;
padding:35px;
border-radius:12px;
box-shadow:0 5px 20px rgba(0,0,0,0.05);
}

.sf-thanks-message{
font-size:15px;
color:#444;
line-height:1.8;
margin-bottom:30px;
}

/* ボタンエリア */

.sf-thanks-actions{
display:flex;
gap:15px;
justify-content:center;
flex-wrap:wrap;
}

/* メインボタン */

.sf-thanks-btn{
background:#2F5F57;
color:#fff;
padding:12px 28px;
border-radius:30px;
text-decoration:none;
letter-spacing:1px;
transition:0.3s;
}

.sf-thanks-btn:hover{
background:#c8a75a;
}

/* サブボタン */

.sf-thanks-btn.sub{
background:#fff;
color:#2F5F57;
border:1px solid #2F5F57;
}

.sf-thanks-btn.sub:hover{
background:#2F5F57;
color:#fff;
}

/* 記事 */

.sf-thanks-articles{
margin-top:50px;
}

.sf-thanks-articles h2{
font-size:18px;
margin-bottom:20px;
color:#2F5F57;
}

.sf-articles-grid{
display:grid;
grid-template-columns:1fr 1fr 1fr;
gap:15px;
}

.sf-articles-grid a{
display:block;
background:#fff;
padding:15px;
border-radius:8px;
font-size:13px;
color:#333;
text-decoration:none;
box-shadow:0 3px 10px rgba(0,0,0,0.05);
transition:0.3s;
}

.sf-articles-grid a:hover{
transform:translateY(-3px);
}

/* Mobile */

@media (max-width:768px){

.sf-articles-grid{
grid-template-columns:1fr;
}

.sf-thanks-actions{
flex-direction:column;
}
}

/*====================================
ARTICLE FOOTER
====================================*/

.sf-article-footer{
margin-top:60px;
padding-top:30px;
border-top:1px solid #eee;
}

/* box調整 */

.sf-article-footer .sf-box{
background:#f7f9f8;
border-left:4px solid #0f6f63;
}

/* ボタン中央 */

.sf-article-footer .sf-btn{
display:block;
text-align:center;
margin:20px auto 0;
max-width:260px;
}

/*====================================
BASE（全体）
====================================*/

*{
box-sizing:border-box;
}

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

body{
font-family:"Noto Sans JP",sans-serif;
font-size:16px;
line-height:1.9;
color:#333;
background:#fafafa;
}

.sf-article,
.container{
max-width:900px;
margin:0 auto;
padding:0 20px;
}

/*====================================
MOBILE FINAL
====================================*/

@media (max-width:768px){

body{
font-size:15px;
line-height:1.8;
}

/* コンテナ */

.sf-article,
.container{
padding:0 14px;
}

/*====================
見出し
====================*/

.entry-content h1{
font-size:24px;
line-height:1.4;
}

.entry-content h2{
font-size:20px;
padding:14px;
}

.entry-content h3{
font-size:18px;
}

.entry-content h4{
font-size:16px;
}

.entry-content h5{
font-size:14px;
}

/*====================
BOX
====================*/

.sf-point-box,
.sf-check-box,
.sf-alert-box,
.sf-recommend-box,
.sf-author-box{

padding:18px;
font-size:14px;
}

/*====================
ボタン
====================*/

.sf-btn{
display:block;
width:100%;
text-align:center;
padding:14px;
font-size:15px;
}

/*====================
カテゴリ
====================*/

.widget_categories ul li a{
font-size:16px;
padding:18px;
}

/*====================
グリッド → 1列
====================*/

.category-box,
.bard-related-posts{
grid-template-columns:1fr;
}

/*====================
フッター
====================*/

.footer-nav{
flex-direction:column;
gap:10px;
}

/*====================
余白
====================*/

.sf-article p{
margin-bottom:18px;
}
}

@media (max-width:768px){

header{
padding:12px 0;
}

.logo{
font-size:18px;
text-align:center;
}

.menu{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:10px;
font-size:13px;
}
}

@media (max-width:768px){

.featured-slider{
border-radius:10px;
}

.bard-related-post img{
height:140px;
}

.bard-related-post-title{
font-size:14px;
padding:10px;
}
}

@media (max-width:768px){

.sf-recommend-box{
padding:22px;
}

.sf-recommend-title{
font-size:18px;
}
}

/*====================================
MOBILE FIXED CTA
====================================*/

.mobile-fixed-cta{

position:fixed;
bottom:0;
left:0;

width:100%;

background:#0f6f63;
color:#fff;

text-align:center;

padding:12px;

z-index:999;

}

.mobile-fixed-cta a{
color:#fff;
font-weight:700;
text-decoration:none;
}

/* タップ時の青いの消す */

*{
-webkit-tap-highlight-color:rgba(0,0,0,0);
}

/* リンク */

a{
text-decoration:none;
}

a:hover{
color:#0f6f63;
}

/* =========================
関連記事（最終進化版）
StartFrom39 Brand Style
========================= */

.sf-related{
margin-top:100px;
padding:80px 30px;
background:linear-gradient(135deg,#2f5f57,#3f6f66);
border-radius:28px;
position:relative;
overflow:hidden;
}

/* 空気感（高級感） */

.sf-related::before{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background:
radial-gradient(circle at 20% 10%, rgba(255,255,255,0.08), transparent 60%),
radial-gradient(circle at 80% 90%, rgba(255,255,255,0.05), transparent 60%);
pointer-events:none;
}

/* =========================
タイトル
========================= */

.sf-related-title{
text-align:center;
color:#ffffff;
font-size:26px;
letter-spacing:3px;
font-weight:600;
margin-bottom:5px;
}

.sf-related-sub{
text-align:center;
color:#e0c38c;
font-size:13px;
letter-spacing:4px;
margin-bottom:55px;
opacity:0.9;
}

/* =========================
グリッド
========================= */

.sf-related-grid{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:35px;
}

/* =========================
カード
========================= */

.sf-related-card{
background:#ffffff;
border-radius:22px;
padding:55px 25px 35px;
text-align:center;
position:relative;
transition:all 0.35s ease;
box-shadow:0 12px 30px rgba(0,0,0,0.08);
}

/* 浮き感 */

.sf-related-card:hover{
transform:translateY(-6px);
box-shadow:0 22px 50px rgba(0,0,0,0.15);
}

/* ゴールドライン（ブランド） */

.sf-related-card::after{
content:"";
position:absolute;
bottom:0;
left:50%;
transform:translateX(-50%);
width:65%;
height:4px;
background:linear-gradient(90deg,#d4af37,#e0c38c);
border-radius:10px;
}

/* =========================
番号
========================= */

.sf-related-num{
position:absolute;
top:-25px;
left:50%;
transform:translateX(-50%);
background:linear-gradient(135deg,#d4af37,#e0c38c);
color:#ffffff;
width:65px;
height:65px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-weight:bold;
font-size:18px;
box-shadow:0 10px 25px rgba(0,0,0,0.2);
z-index:2;
}

/* =========================
テキスト（主役）
========================= */

.sf-related-text{
font-size:16px;
color:#2f5f57;
line-height:1.9;
font-weight:600;
letter-spacing:0.5px;
margin-top:10px;
}

/* 上にゴールドアクセント線 */

.sf-related-text::before{
content:"";
display:block;
width:30px;
height:2px;
background:#d4af37;
margin:0 auto 14px;
border-radius:2px;
opacity:0.9;
}

/* =========================
モバイル
========================= */

@media (max-width:768px){

.sf-related{
padding:50px 20px;
border-radius:18px;
}

.sf-related-grid{
grid-template-columns:1fr;
gap:25px;
}

.sf-related-card{
padding:45px 20px 30px;
}

.sf-related-num{
width:55px;
height:55px;
font-size:16px;
top:-20px;
}

.sf-related-title{
font-size:20px;
}
}

/* =========================
診断ページ
========================= */

.sf-diagnosis{
max-width:760px;
margin:80px auto;
padding:40px 30px;
background:#ffffff;
border-radius:16px;
box-shadow:0 10px 30px rgba(0,0,0,0.05);
position:relative;
}

.sf-diagnosis::before{
content:"";
position:absolute;
top:0;
left:0;
right:0;
bottom:0;
background-image:linear-gradient(rgba(0,0,0,0.01) 1px, transparent 1px);
background-size:4px 4px;
pointer-events:none;
}

.sf-diagnosis h1{
font-size:28px;
text-align:center;
letter-spacing:2px;
margin-bottom:20px;
}

.sf-diagnosis h1::after{
content:"";
display:block;
width:60px;
height:2px;
background:#d4b074;
margin:12px auto 0;
}

.sf-diagnosis .lead{
text-align:center;
color:#777;
margin-bottom:40px;
line-height:1.8;
font-size:15px;
}

.sf-diagnosis .lead .sf-gold{
color:#d4b074;
}

.sf-lead-line{
display:inline-block;
color:#d4b074;
position:relative;
padding:0 12px;
}

.sf-lead-line::before,
.sf-lead-line::after{
content:"";
position:absolute;
top:50%;
width:20px;
height:1px;
background:#d4b074;
}

.sf-lead-line::before{
left:-20px;
}

.sf-lead-line::after{
right:-20px;
}
/* =========================
質問
========================= */

.question{
margin-bottom:35px;
padding:25px;
border-radius:12px;
background:#FAFAFA;
border:1px solid #EEEEEE;
transition:0.3s;
}

.question:hover{
border-color:#d4b074;
transform:translateY(-2px);
box-shadow:0 5px 15px rgba(0,0,0,0.05);
}

.question p{
font-weight:600;
margin-bottom:15px;
font-size:16px;
}

/* 選択UI */

.question label{
display:block;
padding:12px 15px;
margin-bottom:10px;
border-radius:8px;
background:#fff;
border:1px solid #ddd;
cursor:pointer;
transition:0.25s;
}

.question label:hover{
background:#f7f6f2;
border-color:#d4b074;
}

.question input[type="radio"]{
display:none;
}

.question label:has(input:checked){
background:#2F5F57;
color:#fff;
border-color:#2F5F57;
}

/* =========================
診断ボタン
========================= */

.sf-diagnosis button{
width:100%;
padding:16px;
background:#E0C38C;
color:#4A3B25;
border:none;
border-radius:10px;
font-weight:600;
cursor:pointer;
transition:0.3s;
}

.sf-diagnosis button:hover{
background:#2F5F57;
color:#fff;
}

button:disabled{
opacity:0.6;
cursor:not-allowed;
}

/* =========================
診断中表示
========================= */

#result{
margin-top:20px;
padding:20px;
background:#f3efe6;
border-radius:12px;
text-align:center;
color:#2F5F57;
min-height:60px;
display:flex;
align-items:center;
justify-content:center;
font-size:14px;
}

/* ローディング */

.loading-spinner{
display:inline-block;
width:16px;
height:16px;
border:2px solid #E0C38C;
border-top:2px solid transparent;
border-radius:50%;
margin-left:8px;
animation:spin 1s linear infinite;
}

@keyframes spin{
0%{transform:rotate(0);}
100%{transform:rotate(360deg);}
}

/* =========================
結果ページ（完成版）
========================= */

.sf-result-lp{
max-width:760px;
margin:80px auto;
padding:50px 35px;
background:#fff;
border-radius:18px;
box-shadow:0 15px 40px rgba(0,0,0,0.06);
}

.sf-result-lp h1{
text-align:center;
font-size:28px;
margin-bottom:25px;
}

.sf-result-lp .lead{
text-align:center;
color:#666;
margin-bottom:50px;
line-height:1.9;
}

/* BOX */

.sf-box{
background:#FAFAFA;
padding:22px;
border-radius:12px;
margin-bottom:22px;
border:1px solid #eee;
transition:0.25s;
}

.sf-box:hover{
transform:translateY(-2px);
box-shadow:0 6px 18px rgba(0,0,0,0.05);
}

/* =========================
結果ページ（ヒーロー最終完成）
========================= */

.sf-result-hero{
text-align:center;
padding:95px 20px 75px; /* ←締めた（重要） */
background:linear-gradient(135deg,#2F5F57,#3F7A6F);
color:#fff;
position:relative;
overflow:hidden;
box-shadow:0 18px 35px rgba(0,0,0,0.08);
}

/* 奥行き光（弱めて上品に） */

.sf-result-hero::before{
content:"";
position:absolute;
top:-30%;
left:-30%;
width:160%;
height:160%;
background:radial-gradient(circle, rgba(255,255,255,0.06), transparent 65%);
}

/* 微粒子（さらに繊細） */

.sf-result-hero::after{
content:"";
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
background-image:linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px);
background-size:4px 4px;
opacity:0.18;
}

/* 内側 */

.sf-hero-inner{
position:relative;
z-index:2;
}

/* =========================
ラインコピー（完成）
========================= */

.sf-hero-catch{
font-size:12px;
letter-spacing:3px;
margin-bottom:18px;
color:#E0C38C;
opacity:0.9;
}

/* ライン（短く＋薄く） */

.sf-hero-catch::before,
.sf-hero-catch::after{
content:"";
display:inline-block;
width:28px;
height:1px;
background:#E0C38C;
margin:0 8px;
vertical-align:middle;
opacity:0.6;
}

/* =========================
タイトル（最重要）
========================= */

.sf-result-hero h1{
font-size:30px;
letter-spacing:2px;
margin-bottom:12px;
font-weight:700; /* ←強化 */
line-height:1.6;
animation:fadeUp 0.8s ease;
}

/* =========================
サブ
========================= */

.sf-result-hero p{
opacity:0.85;
font-size:13px;
letter-spacing:1px;
}

/* =========================
アニメーション
========================= */

@keyframes fadeUp{
from{
opacity:0;
transform:translateY(20px);
}
to{
opacity:1;
transform:translateY(0);
}
}

/* =========================
モバイル最終
========================= */

@media (max-width:768px){

.sf-result-hero{
padding:75px 15px 55px;
}

.sf-result-hero h1{
font-size:24px;
}

.sf-hero-catch{
font-size:11px;
letter-spacing:2px;
}

}
/* =========================
CTA（最強版）
========================= */

.sf-cta{
text-align:center;
margin-top:50px;
padding:40px 25px;
background:#f7f6f2;
border-radius:16px;
}

.sf-cta p{
font-size:16px;
margin-bottom:15px;
color:#2F5F57;
}

/* ボタン */

.sf-cta a{
position:relative;
display:inline-block;
padding:16px 38px;
border-radius:50px;
font-weight:600;
text-decoration:none;
color:#fff;
background:linear-gradient(135deg,#2F5F57,#3F7A6F);
overflow:hidden;
transition:0.3s;
box-shadow:0 8px 20px rgba(0,0,0,0.12);
}

/* 光 */

.sf-cta a::before{
content:"";
position:absolute;
top:0;
left:-70%;
width:50%;
height:100%;
background:linear-gradient(
120deg,
transparent,
rgba(255,255,255,0.6),
transparent
);
transform:skewX(-20deg);
}

/* hover */

.sf-cta a:hover{
background:#E0C38C;
color:#2F5F57;
transform:translateY(-2px);
}

.sf-cta a:hover::before{
left:120%;
transition:0.8s;
}

/* click */

.sf-cta a:active{
transform:scale(0.96);
background:#E0C38C;
color:#2F5F57;
}

/* =========================
モバイル
========================= */

@media (max-width:768px){

.sf-result-lp{
margin:40px 15px;
padding:30px 20px;
}

.sf-result-lp h1{
font-size:22px;
}

.sf-box{
padding:18px;
}

.sf-cta{
padding:30px 20px;
}

.sf-cta a{
padding:14px 28px;
font-size:14px;
}

}
/* =========================
送信後CTA（最終版）
========================= */

/* 上の小テキスト */

.sf-cta-head span{
font-size:12px;
letter-spacing:1px;
color:#777;
}

/* メインタイトル */

.sf-cta-text{
font-size:20px;
font-weight:600;
margin:10px 0;
}

/* サブ説明 */

.sf-cta-sub{
font-size:14px;
color:#777;
margin-bottom:10px;
line-height:1.7;
}

/* バッジ */

.sf-cta-badge{
display:inline-block;
font-size:13px;
color:#2F5F57;
background:#f1f6f4;
padding:6px 14px;
border-radius:20px;
margin:12px 0 22px;
}

/* ボタン */

.sf-cta-main{
display:inline-block;
background:#2F5F57;
color:#fff;
padding:14px 32px;
border-radius:30px;
text-decoration:none;
transition:0.3s;
font-weight:500;
}

.sf-cta-main:hover{
background:#d4b074;
color:#2F5F57;
}

/* 下の一文 */

.sf-cta-note{
margin-top:18px;
font-size:13px;
color:#666;
}

/* 全体BOX */

.sf-cta-center{
text-align:center;
margin-top:30px;
padding:50px 25px;
background:#fafafa;
border-radius:16px;
box-shadow:0 6px 20px rgba(0,0,0,0.04);
}