/*
Theme Name: Theater
Theme URI: http://cmsmasters.net/theater/
Author: cmsmasters
Author URI: http://cmsmasters.net/
Description: Theater WordPress Theme is amazing. Unlimited design solutions can be created due to a great flexibility of settings and shortcode options. 99+ Custom Shortcodes are added through a Visual content composer with drag'n'drop function. You can set a completely custom layout that stretches to any width, set your content in many columns and assign animation many parts of your content. Theater theme has a Portfolio that can be set to any sort of a grid or a Masonry puzzle with variable paddings for elemens, while Blog can have several different layouts too. Custom Profiles and Projects post types offer an optimal way to present your content, while valid code, SEO-optimized structure and microformats guarantee this content is easily crawled and indexed by search engines. Theater comes with a Custom Mega Menu plugin and premium Revolution and Layer Slider plugins included for free. Multilanguage, RTL-ready, plugin-compatible and professionally-supported theme.
Version: 1.3.7
License:
License URI:
Text Domain: theater
Domain Path: /theme-vars/languages
Tags: one-column, two-columns, three-columns, four-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-image-header, featured-images, flexible-header, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready
*/


/*-------------------------------------------------------------------------*/
/* Browser Reset
/*-------------------------------------------------------------------------*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
figure,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  outline: none;
}
html {
  height: 100%;
  overflow-x: hidden;
  position: relative;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
body {
  overflow-x: hidden;
  position: relative;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
/* ビジュアルエリアを relative にしてパンくずを絶対位置に配置 */
.cmsmasters_page_heading {
    position: relative;
}

/* パンくずリストの配置と見た目 */
.custom-breadcrumb-area {
    position: absolute;
    bottom: 20px;
    left: 30px;
    z-index: 10;
    color: #fff;
    font-size: 14px;
}

.custom-breadcrumb-area .breadcrumb a {
    color: #fff;
    text-decoration: underline;
    transition: opacity 0.3s ease;
}

.custom-breadcrumb-area .breadcrumb a:hover {
    opacity: 0.6;
}

hgroup,
menu,
nav,
section,
object,
video,
audio,
embed,
canvas,
iframe,
main,
summary {
  display: block;
}
video,
audio,
progress,
canvas {
  vertical-align: baseline;
}
video {
  background-color: #000000;
}
template,
[hidden],
audio:not([controls]) {
  display: none;
}
audio:not([controls]) {
  height: 0;
}
iframe {
  max-width: 100%;
}
abbr,
address,
progress {
  display: inline-block;
  text-decoration: none;
}
abbr:not([class]),
acronym {
  text-decoration: underline;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}
#middle ul:after,
#bottom ul:after,
#middle ol:after,
#bottom ol:after {
  content: '.';
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  overflow: hidden;
}
dl {
  display: block;
  overflow: hidden;
}
dt {
  display: block;
  font-weight: bold;
  overflow: hidden;
}
dd {
  display: block;
  overflow: hidden;
}
q:before,
q:after {
  content: none;
}
del {
  text-decoration: line-through;
}
table {
  width: 100%;
}
img {
  display: inline-block;
  color: transparent;
  height: auto;
  font-size: 0;
  vertical-align: middle;
  max-width: 100%;
  image-rendering: -moz-crisp-edges;
  image-rendering: -o-crisp-edges;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: optimizeQuality;
  -ms-interpolation-mode: bicubic;
}
img.wp-smiley,
img.emoji {
  font-size: 1em;
}
a {
  background: transparent;
}
.underline {
  text-decoration: underline !important;
  text-decoration-thickness: 1px;
  color: #0056b3 !important; /* 濃いめの青（通常時） */
  transition: all 0.2s ease;
}
.underline:hover {
  color: #66c2ff !important; /* 明るく薄い青（ホバー時） */
  text-decoration-thickness: 2px; /* アンダーラインを太くする */
}
a:active,
a:hover {
  outline: 0;
}
img {
  border: 0;
}
figure {
  background-image: none !important;
}
fieldset {
  margin: 25px 2px 30px;
  padding: 1.5em 1em .5em;
  border-width: 0;
  border-style: solid;
}
fieldset legend {
  padding: 3px 10px;
  margin-top: -25px;
}
input {
  line-height: normal;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
textarea {
  resize: vertical;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
optgroup {
  font-weight: bold;
}
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}
input[type=search] {
  -webkit-appearance: textfield;
}
input[type=submit],
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}
input[type="checkbox"],
input[type="radio"] {
  padding: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
select {
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
  pointer-events: none;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input[type=text]::-ms-clear {
  display: none;
}
p:empty {
  display: none;
}
:focus {
  outline: 0;
}
pre,
code,
kbd,
samp {
  background-color: transparent;
  color: inherit;
  font-family: monospace;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
  letter-spacing: 1px;
}
pre {
  white-space: pre-wrap;
}
pre a {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
  letter-spacing: inherit;
}
code {
  display: inline-block;
}
code a {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
  letter-spacing: inherit;
}
svg:not(:root) {
  overflow: hidden;
}
sub,
sup,
small {
  font-size: 75%;
}
sub,
sup {
  line-height: 0;
  position: relative;
}
sup {
  vertical-align: super;
}
sub {
  vertical-align: sub;
}
b,
strong {
  font-weight: bold;
}
th,
td,
caption {
  font-weight: normal;
}
dfn {
  font-style: italic;
}
hr {
  height: 0;
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}
mark {
  color: #000000;
}
.gallery-caption,
.sticky,
.bypostauthor,
.screen-reader-text {
  outline: none;
}

.single-project .project_sidebar {
    width: 50% !important;
}

/* レスポンシブデザイン対応 */
@media screen and (max-width: 768px) {
    .single-project .project_content.with_sidebar {
        width: 100% !important;
    }

    .single-project .project_sidebar {
        width: 100% !important;
    }
}

.single-project .project_content.with_sidebar {
    width: 50% !important;
    margin-top: 30px;
}

.single-project .project_sidebar {
    width: 50% !important;
}

/* レスポンシブデザイン対応 */
@media screen and (max-width: 768px) {
    .single-project .project_content.with_sidebar {
        width: 100% !important;
    }

    .single-project .project_sidebar {
        width: 100% !important;
    }
}

.single-project .project_details_item_desc {
  margin-left: 120px; /* 任意の値に調整（左側の余白を調整） */
  text-align: left !important;
}

.single-project .project_details_item_desc {
  text-align: left !important;
  font-size: 16px !important;
}

.single-project .project_details_item_title {
  font-size: 16px !important;
}

.entry-title {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 10px; /* タイトル下のスペース */
    display: flex;
    align-items: center; /* 日付とタイトルを水平に揃える */
}

h1.entry-title {
    font-size: 24px !important;
}

.title_head {
  color: white;
}

.category-badge {
    display: inline-block;
    padding: 6px 14px;
    margin: 4px 6px 4px 0;
    background-color: #d62d6f;
    font-size: 14px;
    font-weight: bold;
    border-radius: 999px;
    text-align: center;
    white-space: nowrap;
    transition: background-color 0.3s, color 0.3s;
    color: #ffffff !important;  /* 必ず最後に書く */
}
.category-badge:hover {
    opacity: 0.7;
}

.category-badge,
.category-badge * {
    color: #ffffff !important;
}

.cmsmasters_archive_item_info {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.cmsmasters_archive_meta_right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
}

.cmsmasters_archive_item_date_wrap {
	margin-bottom: 6px;
}

.project-readmore a.btn-more {
	text-decoration: none;
	color: #d62d6f;
	font-weight: bold;
	font-size: 16px;
	transition: opacity 0.3s ease;
}
.project-readmore a.btn-more:hover {
	opacity: 0.6;
}
ul.clean-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

ul.clean-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5em;
  margin-bottom: 0.3em;
  line-height: 1.4;
}

ul.clean-list li::before {
  flex-shrink: 0;
  font-size: 1.2em;
  line-height: 1.4;
  margin-top: -0.05em; /* ← ここを微調整！ */
}

@media screen and (max-width: 768px) {
  .cmsmasters_text {
    width: 100% !important;
    padding-left: 15px;
    padding-right: 15px;
    box-sizing: border-box;
  }
}