/*!
Theme Name: 日本スヌーカー連盟
Author: 大塚ビジネスサービス
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6

*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

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

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
	font-size:16px;
font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	color:#333;
}

.eng {
  font-family: "", system-ui;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	font-weight:700;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul, ol {
    margin: 20px 0 20px 0;
    text-align: left;
}

ul {
    list-style: none;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}
li {
    margin-bottom: 20px;
}
dt {
	font-weight: 700;
	margin-bottom: 10px;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

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

figure {
	margin: 1em 0;
}

table {
    margin: 30px auto 10px;
    width: 100%;
    text-align: left;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:hover,
a:focus,
a:active {
	color: #dcdcdc;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
    color: #666;
    border: 1px solid #333;
    border-radius: 3px;
    padding: 8px 5px;
    margin-bottom: 10px;
    width: 100%;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

@media (max-width: 480px){
input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="range"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], textarea {
    width: 100%;
padding: 8px 8px;
	}
form .telnam {
  width: 90px !important;
}}


/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
    display: block;
    width: 100%;
    background: #333333;
	
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}
@media (min-width:  960px){
	.menu-toggle {
		display: none;
	}

.main-navigation ul {
    display: flex;
    max-width: 1200px;
    width: 100%;
    text-align: center;
}
}

.site-main .comment-navigation, .site-main .posts-navigation, .site-main .post-navigation {
    margin: 0 0 1.5em;
    max-width: 940px;
    margin: 60px auto;
    padding: 20px;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post, .page {
    margin: 0;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

.entry-content {
    text-align: center;
    padding-bottom: 0px;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.wp-caption .wp-caption-text {
    margin: 0 0 3em;
    font-size: 16px;
    text-align: left;
    line-height: 1.5em;
    text-align: justify;
}

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

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

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

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
    margin-bottom: 0;
}

.entry-content p {
    margin-bottom: 1.5em;
    padding-left: 2em;
}

.entry-content h3 {
    margin-left: 1em;
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
}

.entry-content h2 {
    margin-left: 0em;
    font-size: 32px;
    margin-top: 60px;
    padding-top: 0px;
}

@media (max-width: 480px){
	.entry-content h2 {
    margin-left: 0em;
    font-size: 22px;
    margin-top: 60px;
    padding-top: 0px;
    letter-spacing: 1px;
}
}
.entry-content h4 {
    padding-left: 1.5em;
}

html{
	font-size: 62.5%;
}

body, button, input, select, optgroup, textarea {
    color: #000;
    font-size: 16px;
    line-height: 1.5;
    font-feature-settings: "palt";
    letter-spacing: 1px;
    line-height: 1.6;
    color:#333;
    font-weight: 400;
}
img{
 transition: 0.6s;
}
a:hover img{
	opacity: 0.8 ;
}

aside#secondary {
    padding: 0px;
    float: left;
    width: 26%;
    max-width: 300px;
    margin-top: 40px;
    background-color: #fff;
}

main {
    display: block;
padding: 30px;
    width: 74%;
    float: right;
    background-color: #fff;
}
footer#colophon {
    display: block;
    float: none;
    clear: both;
    padding: 0px;
    text-align: center;
    background-color: #fff;
    color: #333;
    max-width: 100%;
    margin: auto;
    padding-top: 60px;
    background: var(--brand-navy);
    color: #fff;
}
.footaddress {
    margin-top: 10px;
    font-size: 15px;
}
.footaddress .tel {
    font-size: 20px;
}

.site-branding {
    padding: 0px 40px;
}

div#primary-menu {
    padding: 0px;
    margin: auto;
    max-width: 1200px;
}

.main-navigation li {
    position: relative;
    padding: 15px 5px;
    border-left: 1px solid #fff;
	    width: 100%;
}

.main-container {
    max-width: 1200px;
    margin: 0px auto;
}

.site-info {
    font-size: 11px;
}

.site-branding {
    padding: 0px 20px 10px;
    max-width: 1200px;
    margin: 0px auto;
    position: relative;
}


aside#secondary p {
    margin: 5px 0px;
}

.main-navigation a {
    display: block;
    text-decoration: none;
    color: #fff;
    font-weight: bold;
}

.main-container {
    max-width: 1200px;
    margin: 0px auto;
    margin-bottom: 100px;
    overflow: hidden;
    padding: 0px 20px;
		clear: both;
}

.menu-main-container {
    max-width: 1200px;
    margin: auto;
    padding: 0px;	
}

#site-navigation .menu-main-container li:last-child {
    border-right: 1px solid #fff;
}

@media (max-width: 959px){
.main-navigation {
    padding: 10px;
}
.main-navigation li {
    border-left: inherit;
}
#site-navigation .menu-main-container li:last-child {
    border-right: inherit;
}
}

body>footer>aside ul {
	float:left;
	width: 300px;
	padding: 10px;
}

@media (max-width: 959px){
main {
    display: block;
    padding: 20px;
    width: 100%;
    float: none;
    background-color: #fff;
}
aside#secondary {
    padding: 0px;
    float: none;
    width: 100%;
    margin-top: 40px;
	    text-align: center;
}
}

aside {
    /* max-width: 1120px; */
    margin: auto;
}
footer aside {
    display: flex;
    margin-bottom: 0px;
    flex-direction: column;
}

.itemlist {
    background-color: #ededed;
    padding: 5px;
    font-size: 1.2rem;
}

.breaditem {
    max-width: 1200px;
    margin: auto;
    padding: 0px 20px;
}
p.site-description {
    font-size: 1.2rem;
    margin-bottom: 10px;
}
.site-info {
    font-size: 12px;
    clear: both;
    margin-bottom: 0px;
    color: #868686;
    padding: 5px 0px 10px;
    margin-top: 0px;
    padding-bottom: 20px;
    text-align: left;
    max-width: 90%;
    margin: auto;
}

footer ul.menu {
    width: 100%;
    border-left: 1px solid #ababab;
    padding: 10px 20px;
}

footer #nav_menu-5 ul.menu {
    border-right: 1px solid #ababab;
}

@media (max-width: 959px){
footer ul {
    font-size: 1.4rem;
    width: 50%;
    margin: 10px 0px;
}
footer #nav_menu-5 ul.menu {
    border-right: inherit;
}
}

#secondary .widget {
    margin: 0;
}

div#breadcrumb ul {
    list-style: none;
    max-width: 1200px;
    margin: auto;
    padding: 0px 20px;
    font-size: 1.2rem;
}

div#breadcrumb ul li {
    float: left;
    margin-right: 5px;
}

.breadarea {
    background-color: #fff;
    overflow: hidden;
    padding: 5px 0px;
}

.conbtn {
    position: absolute;
    top: 0px;
    right: 20px;
    padding: 10px 20px;
    background-color: #2775c3;
    border-radius: 5px;
    color: #fff;
}

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

@media (max-width: 480px){
h1.entry-title {
    font-size: 22px;
    margin: 0.67em 0;
	}
.menu-main-container {
    max-width: 1200px;
    margin: auto;
    padding: 0px;
}
.conbtn {
    top: 40px;
}}

@media (max-width: 480px){
main {
    padding: 0px;
	}}

.mainimage {
    margin: auto;
    display: block;
    width: 1160px;
    max-width: 100%;
    padding: 0px;
    line-height: 0px;
}
.headerimage {
    margin: auto;
    display: block;
    width: 1160px;
    max-width: 100%;
    padding: 0px;
    line-height: 0px;
}
@media (max-width: 960px){
.mainimage {
    padding: 0px;
	}
.headerimage {
    padding: 0px;
    }}

.entry-content h2 {
    margin-left: 0em;
    color: #2775c3;
    font-size: 3.2rem;
	    line-height: 1.4;
    letter-spacing: 1px;
}

.entry-content h3 {
    margin-left: 1rem;
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    font-size: 2.2rem;
    line-height: 1.4;
 margin-top: 30px;
    margin-bottom: 10px;
}
@media (max-width: 480px){
	.entry-content h3 {
    margin-left: 1rem;
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    font-size: 20px;
    line-height: 1.4;
    margin-top: 30px;
    margin-bottom: 10px;
}
}

h1 {
    font-size: 27px;
    margin: 0.67em 0;
    line-height: 1.4;
    font-weight: 400;
}

.entry-content h4 {
    padding-left: 0em;
    font-size: 1.8rem;
    line-height: 1.4;
    margin-top: 40px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    margin-bottom: 16px;
}

.entry-content p {
    margin-bottom: 0;
    padding-left: 1em;
    font-size: 16px;
}

@media (max-width: 480px){
	.entry-content p, .entry-content h4, h3, .entry-content h3 {
    padding-left: 0em;
		    margin-left: 0rem;
}
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 18px;
    line-height: 1.15;
    margin: 0 0 0 auto;
    padding: 10px;
	border: 1px solid #333;
}
@media (max-width: 960px){
.main-navigation ul {
    text-align: right;
	}}

button, input[type="button"], input[type="reset"], input[type="submit"] {
    border: inherit;
    border-color: inherit;
    background: #1a4f9b;
    color: rgba(0, 0, 0, 0.8);
    line-height: 1;
    padding: 1.4em 2em 1.4em;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    text-align: center;
    display: block;
    margin: 10px;
    /* min-width: 260px; */
}
.conf button, input[type="button"],.conf input[type="reset"],.conf input[type="submit"] {
	    display: inline-block;
}

#global-navi {
    top: 0;
    right: 0px;
    width: 100%;
    margin: auto;
}
#wrapper nav ul li{display:inline-block;font-size: 15px;padding:  0px;background: #ffffff;text-align: center;width: -webkit-fill-available;}
#wrapper nav ul li a {
    color: #fff;
    text-decoration: none;
    display: block;
    padding: 2px 4px;
    transition: all 0.3s;
    font-size: 15px;
    font-weight: 700;
}
#wrapper nav ul li a:hover {
    color: #ccc;
    text-decoration: none;
    display: block;
    background: #ffffff;
}

#global-navi ul.menu {
    margin: 0px;
    display: flex;
    padding: 0px;
    flex-direction: row;
}


@media screen and (max-width: 960px) {
#wrapper nav {
    position: fixed;
    top: 0;
    right: -300px;
    width: 240px;
    height: 100%;
    padding-top: 50px;
    background: #333;
    font-size: 16px;
    box-sizing: border-box;
    z-index: 2;
    opacity: 95%;
}
#global-navi ul.menu {
    margin: 0px;
	    display: block;
	justify-content: stretch;
	    padding: 0px;
}
#wrapper nav ul li {
    display:block;
    padding: 0px
}
 
#wrapper nav ul li a {
    text-decoration: none;
    color: #ddd
}
 
#wrapper .btn-gnavi {
    position: fixed;
    top: 35px;
    right: 20px;
    width: 30px;
    height: 24px;
    z-index: 3000;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: all 400ms;
    transition: all 400ms
}
 
#wrapper .btn-gnavi span {
    position: absolute;
    width: 30px;
    height: 4px;
    background: #b7b7b7;
    border-radius: 10px;
    -webkit-transition: all 400ms;
    transition: all 400ms
}
 
#wrapper .btn-gnavi span:nth-child(1) {
    top: 0
}
 
#wrapper .btn-gnavi span:nth-child(2) {
    top: 10px
}
 
#wrapper .btn-gnavi span:nth-child(3) {
    top: 20px
}
 
#wrapper .btn-gnavi.open {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}
 
#wrapper .btn-gnavi.open span {
    background: #fff
}
 
#wrapper .btn-gnavi.open span {
    width: 24px;
}
#wrapper .contents section p {
    position: absolute;
    top: 50%;
    width: 30%;
    line-height: 1.4;
    font-size: 20px;
    color: #fff;
    text-shadow: 0 0 6px #666
}
 
#wrapper .contents section:nth-child(odd) p {
    left: 10%
}
 
#wrapper .contents section:nth-child(even) p {
    right: 10%
}
}

p.btn-gnavi {
    margin: 0px;
}

.menuarea {
    width: 100%;
}

footer a:hover, a:focus, a:active {
    color: #929292;
}

.mainimage {
    margin: auto;
    display: block;
    width: 1360px;
    max-width: 100%;
    padding: 0px;
    line-height: 0px;
    background: #ccc;
}
.headerimage {
    margin: auto;
    display: block;
    width: 1360px;
    max-width: 100%;
    padding: 0px;
    line-height: 0px;
    background: #ccc;
}
.site-branding {
    padding: 0px 20px 10px;
    max-width: 100%;
    margin: 0px auto;
    position: relative;
}

.site {
    background-color: #e2e2e2;
}

.maxwide {
    padding: 0px;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
}
aside#secondary {
    display: none;
}
main {
    display: block;
    padding: 0px 80px 80px;
    width: 100%;
    float: none;
    background-color: inherit;
    max-width: 100%;
    margin: auto;
    position: relative;

}
.main-container {
    max-width: 100%;
    margin: 0px auto;
    margin-bottom: 0px;
    overflow: hidden;
    padding: 0px 0px;
    clear: both;
    background: #ffffff;
    min-height: 540px;
}

.site-branding {
    padding: 0px 20px 0px;
    max-width: 100%;
    margin: 0px auto;
    position: relative;
}

.home .breadarea {
    display: none;
}

footer .menu a {
    color: #fff;
    text-decoration: none;
    font-size: 18px;
    line-height: 32px;
    padding-left: 2px;
    font-weight: 700;
}
footer a:hover, a:focus, a:active {
    color: #dddddd;
}
footer ul.menu {
    width: 100%;
    border-left: inherit;
    padding: 10px 0px 40px 110px;
}
footer #nav_menu-5 ul.menu {
    border-right: inherit;
}

footer ul {
    /* list-style: none; */
    /* text-align: left; */
    /* font-size: 1.4rem; */
    /* line-height: 180%; */
    /* width: 33%; */
    /* margin: 0px; */
    /* padding: 0px; */
    /* float: left; */
    /* font-size: 1.4rem; */
}

p.site-description {
    font-size: 13px;
    margin-bottom: 10px;
    margin-top: 0px;
    display: none;
}

footer ul.sub-menu {
    float: none;
    width: 100%;
    margin-left: 0em;
}

footer ul.sub-menu li {
    background: none;
	    padding: 0px 5px;
}

.home footer.entry-footer {
    display: none;
}

.cont {
    text-align: center;
}

.cont p {
    padding: 0px;
    margin: 0px;
}

.contitle {
    font-size: 30px;
    font-weight: bold;
}

.telnum {
    font-size: 32px;
    font-weight: bold;
    color: #006837;
    margin-top: 15px;
}

.cont img {
    margin: 20px auto 80px;
}

.conarea.nlist {
    margin-bottom: 80px;
    padding: 170px 20px 60px;
}

a {
    color: #333333;
    text-decoration: underline;
}
.companyarea p {
    font-size: 15px;
}
td.lefttext {
    max-width: 500px;
    padding-right: 40px;
}
.subtitle {
    font-size: 30px;
    color: #009d3c;
    font-weight: bold;
	line-height: 1.4;
}

.conbutton {
    z-index: 20;
    position: fixed;
    top: 120px;
    right: 0;
}
.menuarea {
    width: 100%;
    max-width: 100%;
    margin: auto;
}
.breadarea {
    background-color: #fff;
    overflow: hidden;
    padding: 5px 0px;
    max-width: 100%;
    margin: auto;
}
div#breadcrumb ul {
    list-style: none;
    max-width: 1300px;
    margin: auto;
    padding: 20px 20px;
    font-size: 1.2rem;
}

.site-header {
    max-width: 100%;
    margin: auto;
    background: #ffffff;
    overflow: visible;
    position: relative;
    padding-bottom: 0px;
}

.single header.entry-header {
    display: block;
    max-width: 940px;
    margin: auto;
}
.ptitle.conwide h1 {
	color:#fff;
    display: block;
    max-width: 620px;
    margin: auto;
    padding: 10px 10px;
    font-weight: normal;
}

@media (max-width: 768px){
	.ptitle.conwide h1 {
    max-width: 500px;
}
}

@media (max-width: 480px){
.ptitle.conwide h1 {
    max-width: 320px;
    padding: 10px 10px;
	}}

h2.maincopy {
    margin-bottom: 30px;
    margin-top: 15px;
}

/* 色の定義 */
.gold{color:#b98130;border:#b98130;}
.pink{color:#e50012;border:#ee838f;}
.darkpink{color:#cb6894;border:#cb6894;}
.darkgreen{color:#0a5a30;border:#0a5a30;}
.limegreen{color:#8caa26;border:#8caa26}
.green{color:#00896e;border:#00896e;}
.orange{color: #f6921e;border: #f6921e;0}
.lightblue{color:#8abcd1;border:#8abcd1;}
.navy{color:#005189;border:#163153;}
.mainred{color:#c7161d;border:#c7161d;}
.purple{color:#a06099;border:#a06099;}
.gray{color:#a0a0a0;border:#a0a0a0;}
.blue{color: #327AB4;border: #327AB4;}
.black{color:#000000;border:#000000;}
.green{color:#00623c;border:#00623c;}
.white{color:#ffffff;border:#ffffff;}
.darkpink{color:#cb6894;border:#cb6894;}
.red{color:#ff0000;border:#ff0000;}

.back-gold{background-color:#b98130}
.back-pink{background-color:#ee838f;}
.back-darkpink{background-color:#cb6894}
.back-limegreen{background-color:#8caa26}
.back-green{background-color:#00896e}
.back-orange{background-color:#ef7a00}
.back-lightblue{background-color:#8abcd1}
.back-navy{background-color:#163153}
.back-mainred{background-color:#b70000}
.back-purple{background-color:#a06099}
.back-gray{background-color:#a0a0a0}
.back-lgray{background-color:#efefef}
.back-blue{background-color:#0071bc}
.back-black{background-color:#000000;}
.back-green{background-color:#006837;}
.back-darkpink{background-color:#cb6894}


/* パンくず非表示 */
.breadarea {
    display: none;
}

/* フォント */
.serif {
    font-family: 'Noto Serif JP', serif;
}
/* 余白設定 */
.pt20{padding-top:20px!important;}
.pt30{padding-top:30px!important;}
.pt40{padding-top:40px!important;}
.pt50{padding-top:50px!important;}

.pb20{padding-bottom:20px!important;}
.pb30{padding-bottom:30px!important;}
.pb40{padding-bottom:40px!important;}

.mt0{margin-top:0!important;}
.mt20{margin-top:20px!important;}
.mt20{margin-top:30px!important;}
.mt50{margin-top:50px!important;}
.mt80{margin-top:80px!important;}
.mt100{margin-top:100px!important;}
.mt150{margin-top:150px!important;}
.mt200{margin-top:200px!important;}

.mb0{margin-bottom:0!important;}
.mb20{margin-bottom:20px!important;}
.mb30{margin-bottom:30px!important;}
.mb50{margin-bottom:50px!important;}
.mb100{margin-bottom:100px!important;}
.mb150{margin-bottom:150px!important;}
.mb200{margin-bottom:200px!important;}

@media (max-width: 480px){
.mt50{margin-top:20px!important;}
.mt100{margin-top:40px!important;}
.mt150{margin-top:60px!important;}
.mb0{margin-bottom:0!important;}
.mb20{margin-bottom:10px!important;}
.mb50{margin-bottom:20px!important;}
.mb100{margin-bottom:40px!important;}
.mb150{margin-bottom:60px!important;}
}
.w600 {
    max-width: 600px;
    margin: auto;
}
.w800 {
    max-width: 800px;
    margin: auto;
}
.w1000 {
    max-width: 1000px;
    text-align: center;
    margin: auto;
}
.w1200 {
    max-width: 1200px;
    text-align: center;
    margin: auto;
}
.pd-m {padding: 100px 40px;}
.pd40{padding:40px;}

@media (max-width: 480px){
	.pd-m {
    padding: 40px 40px;
}
}
/* 左右揃え */
.left {text-align: left;}
.right {text-align: right;}
.center {text-align: center;}

/* フッター関連 */
footer ul.sub-menu li {
    background: none;
    padding: 0px 10px;
    font-weight: normal;
    margin-top: 2px;
}
/* フッターメニュー */
footer ul.menu {
    width: 220px;
    border-left: inherit;
    padding: 5px 0;
    list-style: none;
}
footer ul li {
    padding: 0px 0px;
    margin-top: 0px;
    margin-bottom: 0px;
    position: relative;
}

footer ul {
    /* list-style: none; */
    /* text-align: left; */
    /* font-size: 1.4rem; */
    /* line-height: 180%; */
    /* width: 30%; */
    /* margin: 0 auto; */
    /* padding: 0px; */
    /* float: none; */
    /* font-size: 1.4rem; */
}
@media (max-width: 960px){
footer ul {
    list-style: none;
    text-align: left;
    font-size: 1.4rem;
    line-height: 180%;
    width: 100%;
    margin: 0 auto;
    padding: 0px;
    float: none;
    font-size: 18px;
}
ul.footmenu {
    padding-left: 0px;
	    padding-right: 0px;
}

footer aside {
    display: flex;
    margin-bottom: 40px;
    flex-wrap: wrap;
    max-width: 500px;
	    padding: 0px 30px;
}
footer ul.menu {
    border-left: inherit;
    padding: 0px;
}
ul.submenu ul.footmenu li {
    margin-bottom: 0px;
}

.site-footer ul.sub-menu li {
    margin-bottom: 0px;
    margin-top: 0px;
}
}
	footer ul li {
}
ul.footmenu li {
    padding-bottom: 10px;
}
footer ul.sub-menu li {
    background: none;
    padding: 0px;
    font-weight: normal;
    margin-top: 0px;
    border-bottom: initial;
    margin-bottom: 0px;
}
ul.footerbtn {
    margin-top: 60px;
    margin-bottom: 20px;
    text-align: center;
}

/* テーブル */
table {
   border-collapse: collapse; /* 隣り合うセルの線を結合 */
}
table td {
    vertical-align: top;
    padding: 6px;
    border-bottom: 1px solid #ccc;
}
th {
    width: initial;
    vertical-align: top;
    padding: 10px 10px;
    border-bottom: 1px solid #ccc;
}



/*会社案内テーブル*/
table.company {
    margin: 80px auto;
    border-spacing: 0;
    border-bottom: 2px solid #333;
    border-top: 2px solid #333;
    max-width: 1000px;
}
table.company td {
    padding: 10px;
    background: #ffffff;
    border-top: 1px solid #d1d1d1;
}
@media (max-width: 480px){
	table.company td {
    letter-spacing: 0;
    font-size: 15px;
    display: block;
}
table.company th {
    width: 100%;
    vertical-align: top;
    display: block;
}
}
table.company caption {
    text-align: left;
    font-size: 24px;
    padding-bottom: 20px;
}
table.companytable {
    max-width: 900px;
    text-align: left;
    margin: 100px auto;
    border-top: 2px solid #000;
    border-bottom: 2px solid #000;
}
table.line {
    border-top: 1px solid #d8d8d8;
}

table.line td, table.line th {
border-bottom: 1px solid #d8d8d8;
	    padding: 10px;
}

#companytable th,
#companytable td {
  padding: 24px 10px;
  border: none;
}

#companytable th {
  width: 34%;
}

@media (max-width: 480px){
table.companytable {
    margin: 50px auto;
}
}
table.companytable td, table.companytable th {
    padding: 10px;
}
table.companytable ul {
    list-style: disc;
    padding-left: 1.5em;
}
table.companytable ul li {
    margin-bottom: 0.8em;
}
@media (max-width: 480px){
table.companytable th {
	width: 100px;
	}
table.companytable td, table.companytable th {
    padding: 10px 4px;
    font-size: 13px;
    line-height: 1.4;
}
}

#companytable tr {
  border-bottom: 1px solid #ddd;
}

/* sp */
@media only screen and (max-width: 480px) {
  #companytable th,
  #companytable td {
    width: 100%;
    display: block;
  }

  #companytable th {
    width: 100%;
  }
  #companytable td {
    padding-top: 0;
  }
}

ul {
    list-style: disc;
    padding-left: 20px;
}
}


@media (max-width: 960px){
.widget {
    margin: 0 0 0 0px;
}
}

/* footer sp menu */
ul.footerspmenu {
    width: 40%;
}
.spmenu {
    clear: both;
    display: flex;
    width: 100%;
    margin: auto;
    max-width: 680px;
    gap: 0px;
    justify-content: space-evenly;
}

ul.footerspmenu.fm01 {
    width: 52%;
}

ul.footerspmenu.fm02 {
    width: 29%;
}
ul.footerspmenu {}
ul.footerspmenu a {
    font-size: 13px;
}

@media (max-width: 961px){
.pc{display:none;}
}
@media (min-width: 960px){
.sp{display:none;
	}
}
@media (max-width: 768px){
footer a {
    font-size: 13px;
}
.site-info {
    font-size: 10px;
}}
ul.footerspmenu li {
    line-height: 1.4;
    margin-bottom: 8px;
}

@media (max-width: 768px){
ul.fmenusub li {
    float: none;
    margin: 0px 5px 0px;
    text-align: center;
	}
ul.fmenusub {
    clear: both;
    float: none;
    display: flex;
    margin: auto;
    width: 100%;
    max-width: 480px;
    margin-top: 10px;
    gap: 10px;
    justify-content: center;
}
.t-left.formarea p {
    font-size: 17px;
}}
footer.entry-footer {
    display: none;
}

/* フォーム関連 */
form a {
    color: #0081cc;
    text-decoration: none;
}
.mw_wp_form h4 {
    padding-left: 0px;
    margin-bottom: 0px;
}
.mw_wp_form p {
    font-weight: 400;
    margin-top: 10px;
}
.mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0px;
}
.mw_wp_form {
    max-width: 800px;
    margin: 100px auto;
}
.mw_wp_form_confirm p {
    padding-left: 0.5em;
}
form {
    text-align: left;
}
.mwform-tel-field input[type="text"], .mwform-zip-field input[type="text"] {
    display: inline-block;
    width: 76px;
}
.entry-content .post-password-form p {
  padding-left: 0px;
  margin-left: 0px;
}
.mw_wp_form input[type="file"] {
    display: inline-block;
    max-width: 100%;
    font-size: 14px;
}
.mw_wp_form {
    max-width: 600px;
}
.post-password-form input[type="submit"] {
  margin: 40px auto 30px;
}
.entry-content form h3 {
    margin-left: 0;
    font-size: 18px;
    border-bottom: initial;
    padding-bottom: 0px;
    margin-bottom: 8px;
}

.conf input.return {
    border: inherit;
    border-color: inherit;
    background: #c4c4c4;
    color: rgba(0, 0, 0, 0.8);
    line-height: 1;
    padding: 1em 3em 1em;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    text-align: center;
    display: block;
    margin: 20px auto 0px;
    max-width: 160px;
    display: inline-block;
    width: 100%;
}
@media (max-width: 480px){
.mw_wp_form {
    margin: 20px auto 50px;
}
.entry-meta {
    max-width: 900px;
        margin: 5px 0px;
	}
.conf input.return {
    border: inherit;
    border-color: inherit;
    background: #c4c4c4;
    color: rgba(0, 0, 0, 0.8);
    line-height: 1;
    padding: 1em 3em 1em;
    color: #fff;
    cursor: pointer;
    font-size: 18px;
    text-align: center;
    display: block;
    margin: 20px auto 0px;
    max-width: 100%;
    display: inline-block;
    width: 100%;
}}

/* 投稿の日付を非表示　必要に応じて */
.entry-meta {
    display: none;
}
.comment-navigation .nav-links, .posts-navigation .nav-links, .post-navigation .nav-links {
    display: none;
}

/* フッター社名 */
.cname {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 10px;
}
.footercomp {
    line-height: 1.5;
    padding-top: 0px;
    display: block;
    float: none;
    clear: both;
}
.footaddress .tel {
    font-size: 22px;
    padding-top: 10px;
}
.footaddress .tel a {
	font-size: 22px;}

/* 見出し */
h1{
    font-size: 42px;
    margin: 0;
    line-height: 1.4;
    font-weight: 600;
}

/* メイン */
main {
    padding: 0px;
}
@media screen and (max-width: 480px){
	main {
    padding: 0px 20px 0px;
}}
@media (max-width: 768px){
.wp-show-posts:not(.wp-show-posts-columns) .wp-show-posts-single:not(:last-child) {
    margin-bottom: 5px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px;
	}}

.wp-show-posts-entry-header {
    margin: 0 0 0em;
    padding: 0;
	    text-align: left;
}
.wp-show-posts-entry-header {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    margin-bottom: 30px;
    flex-direction: row-reverse;
    gap: 2px;
}
.wp-show-posts-meta a, .wp-show-posts-meta a:visited {
    color: #333;
    text-decoration: none;
    font-size: 16px;
}
.wp-show-posts-entry-meta {
    font-size: 16px;
    width: initial;
}

/* 見出し */
.entry-content h3 {
    margin-left: 0rem;
    border-bottom: initial;
    padding-bottom: 0px;
    font-size: 2.2rem;
    line-height: 1.4;
    margin-top: 30px;
    margin-bottom: 10px;
    letter-spacing: 4px;
}
.flexitem.job h4 {
    padding: 5px;
    padding-bottom: 4px;
    margin-bottom: 5px;
    letter-spacing: 4px;
    margin-top: 10px;
    background: #f0f0f0;
}

/* ボタン */
.button03 a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 1em 2em;
  width: 300px;
  color: #2285b1;
  font-size: 18px;
  border: 2px solid #2285b1;
}

.button03 a::after {
  content: '';
  width: 5px;
  height: 5px;
  border-top: 3px solid #2285b1;
  border-right: 3px solid #2285b1;
  transform: rotate(45deg);
}

.button03 a:hover {
  color: #333333;
  text-decoration: none;
  background-color: #a0c4d3;
}

.button03 a:hover::after {
  border-top: 3px solid #333333;
  border-right: 3px solid #333333;
}

@media (max-width: 480px){
	.backabout .textarea {
    background: #fff;
    margin: 80px 40px 80px 100px;
    max-width: initial;
    margin-left: 160px;
    padding: 40px;
    text-align: justify;
}
}

/* フォームボタン */
.button007 a {
    background: initial;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 240px;
    padding: 10px 25px;
    color: #000000;
    transition: 0.3s ease-in-out;
    font-weight: 500;
    border: 1px solid #000;
    text-decoration: none;
}
.button007 a:hover {
    background: #ffffff;
    color: #000000;
}
.button007 {
    margin: 30px auto 0;
}

/* 新着情報 */
.newslist ul {
    list-style: none;
    padding-left: 0px;
    margin-left: 0px;
    margin-top: 20px;
}
.newslist-date {
    display: block;
    float: left;
    width: 150px;
}
.newslist li {
    margin: 0;
    border-bottom: 1px #ccc solid;
    padding: 10px 0px 8px;
}
.newslist-all {
    text-align: right;
    border-top: inherit;
    padding-top: 0px;
}
.newslist {
    max-width: 900px;
    margin: 0px auto 80px;
    text-align: left;
	    padding-left: 0;
}

@media (max-width: 960px){
.headcontact {
    display: none;
}
main {
    padding: 0px;
}
}
table.newsarea {
    max-width: 1000px;
    margin: 70px auto 50px;
}
.nlistarea li {
    border-bottom: 1px solid #cccccc;
    padding-bottom: 8px;
    padding-top: 10px;
    list-style: none;
    font-size: 16px;
    font-weight: bold;
}
a.alllist {
    display: block;
    margin: 0px 0px 0px auto;
    width: 150px;
    text-align: right;
    color: #333;
}
.nlistarea ul {
    margin-bottom: 0px;
}

span.newsdate {
    margin-right: 10px;
}

@media (max-width: 991px){
	ul#lcp_instance_0 {
    margin: 0 10px;
}
	.nlistarea ul {
    margin-bottom: 0px;
    margin-left: 0px;
}
	span.newsdate {
    display: block;
}
}

/* 全幅の画像 */
.conwide.belt {
    background: #ccc url(https://snooker.or.jp/jsaweb/wp-content/uploads/2024/10/belt.jpg)no-repeat 50%;
    height: 330px;
	    background-size: cover;
}
@media screen and (max-width: 480px){
.conwide.belt {
    height: 200px;
	}}

/* メインビジュアルテキスト */

.maintext {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    font-size: 5rem;
    letter-spacing: 0.1em;
    max-width: 800px;
    text-shadow: 0 0 20px #000000, -2px 2px 19px #000000, 2px -2px 19px #000000, -2px -2px 20px #000000;
    width: 90%;
    color: #fff;
}
/* お問い合わせエリア */
.conwide.conarea.pd-m {
    background: #efefef;
	text-align:center;
}
@media (max-width: 768px){
.conwide.conarea, .conwide.businessarea {
    margin-left: -40px;
    margin-right: -40px;
    padding: 80px 0px;
	}
.conwide.conarea {
    margin-left: -40px;
    margin-right: -40px;
    padding: 40px 0px 40px;
}}
.conarea h2.backtitle {
    font-size: 42px;
    margin-bottom: 0px;
    margin-top: 0;
    font-family: 'Teko', sans-serif;
}

/* メニュー位置調整 */
.menu-main-container {
    max-width: 80%;
    margin: 0;
    display: inline-block;
    padding: 0px 20px 25px 30px;
    margin-right: 10px;
    position: absolute;
    right: 0px;
    bottom: 0px;
}
.menu-main-container ul.sub-menu {
    position: absolute;
    display: none;
    z-index: 100;
    background: #fff;
    width: 300px;
    margin-left: 0px;
    padding-left: 0;
    text-align: left;
	    transition: all 0.3s;
}
@media (max-width: 960px){
	ul.sub-menu {
    position: initial;
    display: block;
    margin-left: 0px;
    text-align: left;
}
}
/* オンマウスでサブメニューを表示 */
.menu-item-has-children:hover .sub-menu {
display:block;
}
#wrapper nav ul li {
  display: inline-block;
  font-size: 15px;
  font-weight: bold;
  padding: 0px 0px;
  background: #ffffff;
  text-align: center;
  display: block;
  text-align: left;
}
#global-navi ul.menu {
    margin: 0px;
    display: flex;
    padding: 0px;
    /* width: 864px; */
    flex-wrap: wrap;
    justify-content: flex-end;
    height: 95px;
    align-content: flex-end;
}
#wrapper nav ul li ul li {
    text-align: left;
    padding: 5px 10px;
}
#wrapper nav ul li {
    display: block;
    font-size: 15px;
    font-weight: 400;
    padding: 0px;
    background: #ffffff;
    text-align: center;
    width: 106px;
}
@media (max-width: 960px){
#wrapper nav ul li {
    text-align: left;
    padding-left: 1em;
	    width: 240px;
}
#wrapper nav ul li ul li {
    text-align: left;
    padding: 0px 6px 0 20px;
}
}
.site-branding {
    padding:10px 10px 0px 20px;
    width: 80%;
max-width: 360px;
    margin: 0px;
    position: relative;
    float: left;
	    z-index: 2000;
}
@media screen and (max-width: 960px){
	.site-branding img {
    max-width: 270px;
    transition: initial;
}
#wrapper nav ul li a {
    color: #333333;
    text-decoration: none;
    display: block;
     padding: 8px 5px;
}
#wrapper nav {
    position: fixed;
    top: 0;
    right: -300px;
    width: 240px;
    height: 100%;
    padding-top: 50px;
    background: #ffffff;
    font-size: 16px;
    box-sizing: border-box;
    z-index: 2;
    opacity: 95%;
}
.menu-main-container {
    max-width: inherit;
    margin: inherit;
    padding: inherit;
    display: inherit;
    float: none;
}
#wrapper nav {
    position: fixed;
    top: 0;
    right: -300px;
    width: 300px;
    height: 100%;
    padding-top: 20px;
    background: #ffffff;
    font-size: 16px;
    box-sizing: border-box;
    z-index: 2000;
    opacity: 100%;
}
#global-navi ul.menu {
    margin: 0px;
    display: block;
    justify-content: stretch;
    padding: 0px;
    width: inherit;
}
}
#wrapper .btn-gnavi.open span {
    background: #666666;
}
.entry-content h2 {
    margin-top: 20px;
	    line-height: 1.4;
	    letter-spacing: 1px;
}
@media (max-width: 768px){
	.entry-content p {
    font-size: 16px;
}
}

/* 会社案内テーブル */

table.companyp {
    text-align: left;
    font-size: 20px;
    border: 1px solid #ba8230;
}
table.companyp td {
    border: 1px solid #ba8230;
    padding: 8px 40px;
}
table.companyp td.title {
    background: #ba8230;
    color: #ffffff;
    font-size: 27px;
    text-align: center;
}
@media (max-width: 768px){
}
table.companyp {
    font-size: 13px;
}

table.companyp td {
    padding: 8px 8px;
}

table.companyp td.title {
    font-size: 18px;
}
.casearea .wp-caption .wp-caption-text {
    margin-bottom: 0;
    max-width: 100%;
    font-size: 14px;
    max-width: 255px;
    margin: 10px auto;
}
.entry-content h2.maincopy {
    margin-bottom: 20px;
    margin-top: 20px;
}
}

/* 投稿ページ */
.single .entry-content {
    margin-top: 150px;
    margin-bottom: 150px;
}
.single .entry-content {
    text-align: justify;
    font-weight: 400;
    max-width: 900px;
    margin: 40px auto;
    padding: 20px;
}
.single .entry-content p {
    margin-bottom: 2em;
    margin-left: 2em;
}
.blog-single {
    text-align: left;
}
.blog-single h5 {
    margin-top: 100px;
    margin-bottom: 0px;
}
.single header.entry-header h1 {
    font-size: 32px;
    font-weight: bold;
}
.conwide.pagehead.single {
    padding: 50px 240px;
    margin-bottom: 0px;
    margin-left: -210px;
    margin-right: -210px;
    text-align: center;
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: nowrap;
    flex-direction: column;
    justify-content: center;
    background: #1a3988;
    color: #fff;
    background-size: cover;
}
@media (max-width: 960px){
.conwide.pagehead.single {
    padding: 50px 240px 50px;
    margin-bottom: 0;
    margin-left: -210px;
    margin-right: -210px;
    text-align: center;
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: nowrap;
    flex-direction: column;
    justify-content: center;
    color: #fff;
}
}
@media (max-width: 480px){
	.conwide.pagehead.single {
padding: 40px 210px 40px;
		background-position-y: 40%;
}
}
@media (max-width: 480px){
	.single header.entry-header h1 {
    font-size: 24px;
    font-weight: bold;
    padding: 0px 20px;
}
}
.single .entry-content p {
    margin-bottom: 1em;
    margin-left: 0em;
}
.single header.entry-header {
    display: block;
    max-width: 100%;
    margin: auto;
}

/* リード文 */
.lead {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 10px;
}
.lead.left.pd-m {
    padding: 20px 40px;
}

/* スマホ時に改行非表示 */

@media (min-width: 480px){
br.sp {
    display: none;
	}
}

/* メインビジュアル */
.conwide.mainimg {
	padding: 0;
}
.conwide.mainimg.sp {
    margin-top: 150px;
}
@media (max-width: 960px){
.conwide.mainimg.sp {
    margin-top: 0px;
}
}
/* 初期設定 */

/* 余白設定 */
.pt20{padding-top:20px!important;}
.pt30{padding-top:30px!important;}
.pt40{padding-top:40px!important;}
.pt50{padding-top:50px!important;}

.pb20{padding-bottom:20px!important;}
.pb30{padding-bottom:30px!important;}
.pb40{padding-bottom:40px!important;}

.mt0{margin-top:0!important;}
.mt20{margin-top:20px!important;}
.mt20{margin-top:30px!important;}
.mt50{margin-top:50px!important;}
.mt80{margin-top:80px!important;}
.mt100{margin-top:100px!important;}
.mt150{margin-top:150px!important;}
.mt200{margin-top:200px!important;}

.mb0{margin-bottom:0!important;}
.mb20{margin-bottom:20px!important;}
.mb30{margin-bottom:30px!important;}
.mb50{margin-bottom:50px!important;}
.mb100{margin-bottom:100px!important;}
.mb150{margin-bottom:150px!important;}
.mb200{margin-bottom:200px!important;}

@media (max-width: 480px){
.mt50{margin-top: 50px!important;}
.mt100{margin-top:40px!important;}
.mt150{margin-top:60px!important;}
.mb0{margin-bottom:0!important;}
.mb20{margin-bottom:10px!important;}
.mb50{margin-bottom:20px!important;}
.mb100{margin-bottom:40px!important;}
.mb150{margin-bottom:60px!important;}
}
.w600 {
    max-width: 600px!important;
    margin: auto;
}
.w800 {
    max-width: 800px!important;
    margin: auto;
}
.w900 {
    max-width: 900px!important;
    text-align: center;
    margin: auto;
}
.w1000 {
    max-width: 1000px!important;
    text-align: center;
    margin: auto;
    overflow: hidden;
}
.w1300 {
    max-width: 1300px!important;
    text-align: center;
    margin: auto;
    padding: 0px 20px 0px;
}
.w1600 {
    max-width: 1600px!important;
    text-align: center;
    margin: auto;
}
.pd-m {padding: 40px 40px;}
.pd40{padding:40px;}

@media (max-width: 480px){
	.pd-m {
    padding: 10px 20px;
}
}
.left {text-align: left;}
.right {text-align: right;}
.center {text-align: center;}


/* ここからサイト別css */

.description {
    display: none;
}

@media (max-width: 960px){
.site-branding {
    padding: 12px 20px 0px;
    width: 100%;
    max-width: initial;
    margin: 0px;
    position: relative;
    float: left;
    text-align: left;
}
.entry-content h2.toph2 {
    margin-top: 0px;
}
.wp-caption .wp-caption-text {
    margin: 0.8075em 0;
    font-size: 13px;
margin-bottom:50px;
}
.site-header {
    position: fixed;
    width: 100%;
    z-index: 9999;
}
}
li.spsubmenu {
    padding-left: 1em;
}
.flexitem.souchiwaku1, .flexitem.souchiwaku2 {
    border: 1px solid #b98130;
    padding: 20px;
    width: 50%;
    text-align: left;
}
.souchiwaku3 {
    border: 1px solid #b98130;
    margin-top: 40px;
    padding: 20px;
    text-align: left;
}
@media (max-width: 768px){
.flexitem.souchiwaku1, .flexitem.souchiwaku2 {
    border: 1px solid #b98130;
    padding: 20px;
    width: 80%;
    text-align: left;
    margin-bottom: 30px;
    margin: 30px auto;
	}
	.fs20{
		font-size:13px;
	}
	.fs16{
		font-size:13px;
	}
}
@media (max-width: 960px){
.menu-main-container ul.sub-menu {
    position: initial;
    display: block;
    z-index: 100;
    background: #fff;
    width: 300px;
    margin-left: 5px;
    padding-left: 0;
    text-align: left;
}
}
.comment-navigation .nav-links, .posts-navigation .nav-links, .post-navigation .nav-links {
    display: block;
}
@media (min-width: 961px){
#wrapper nav ul li {
    font-size: 16px;
    padding: 0px;
    background: #ffffff;
    text-align: center;
    width: auto;
    margin: 0px 12px;
    transition: all 0.3s;
}
#global-navi ul.menu {
    margin: 0px;
    padding: 0px;
    flex-wrap: wrap;
    justify-content: flex-end;
    height: 42px;
    align-content: flex-end;
}
}
.entry-content p.center {
    text-align: center;
}
.flexitem {
    max-width: 100%;
}
select {
    margin-bottom: 10px;
	    width: 96%;
	max-width: 360px;
}
.titlesub {
    font-size: 21px;
    color: #0071bc;
    margin-top: 10px;
    letter-spacing: 2px;
}
.headcontact {
    position: absolute;
    top: 30px;
    right: 30px;
}
.anchor {
    display: block;
    padding-top: 90px;
    margin-top: -90px;
}
.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}
.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
	padding: 6px;
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
	padding: 6px;
}
span.nav-subtitle {
    display: block;
}
ul.line li {
  position: relative;
	padding: 0px 0px 0px 0px;
	font-size: 14px;
}
ul.line {
    padding-left: 20px;
}
ul.line li:not(:first-child)::after {
    display: block;
    content: '';
    position: absolute;
    top: 14px;
    left: -18px;
    width: 10px;
    height: 1px;
    background-color: #3c71bd;
}
ul.line li:first-child {
    margin-left: -20px;
}
@media (max-width: 480px){
	ul.line li {
    position: relative;
    padding: 0px 0px 0px 0px;
    font-size: 18px;
}
}
.nav-links {
    border-top: 1px solid #ccc;
    padding-top: 20px;
    font-size: 14px;
}
.nav-links a {
    color: #333;
    font-weight: 400;
}
span.nav-title {
    font-weight: bold;
}
.conwide.pr3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 8% 0;
    gap: 40px;
}
.introarea {
    padding: 8% 0;
}
@media (max-width: 768px){
	.introarea {
    font-size: 14px;
    padding: 8% 4%;
    text-align: left;
    letter-spacing: 0;
}
}
.conwide.titles {
    position: relative;
    padding: 20px;
    font-size: 24px;
    color: #ffffff;
    min-height: 120px;
}
.conwide.titles::after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100px;
    height: 140px;
    border-bottom: 120px solid #000;
    border-right: 120px solid transparent;
}
.conwide.titles::before {
    content: "";
    position: absolute;
    bottom: 0px;
    right: 0px;
    width: 100px;
    height: 140px;
    border-bottom: 120px solid #333;
    border-left: 120px solid transparent;
}
.conwide.titles {
    position: relative;
    padding: 20px;
    font-size: 24px;
    color: #ffffff;
    min-height: 120px;
}
.conwide.titles::after {
    content: "";
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100px;
    height: 140px;
    border-bottom: 120px solid #333;
    border-right: 120px solid transparent;
}
@media (max-width: 960px){
.conwide.titles::before,.conwide.titles::after {
display:none;
	}
}
.entry-content h2 {
    margin-top: 20px;
    line-height: 1.4;
    letter-spacing: 0px;
    font-size: 24px;
    margin: 20px auto 10px;
    color: #333333;
    max-width: 1200px;
}
@media (max-width: 480px) {
    .entry-content h2 {
        font-size: 24px;
        margin: 0;
        margin-bottom: 20px;
        margin-top: 30px;
    }
.titles h2 {
    font-size: 20px;
}
.entry-content h4 {
    margin-top: 20px;
}
.faq h2 {
    margin-top: 20px;
    padding-top: 10px;
}
}
span.e-title {
    font-size: 28px;
}
.site-header {
    position: relative;
}
.loginmenu {
    position: absolute;
    z-index: 10000;
    right: 0;
top: -16px;
}
.site-header {
    position: relative;
    height: 150px;
}
@media (max-width: 1220px){
.menu-main-container {
    padding: 0px 20px 30px 35px;
}
}
@media (max-width: 960px){
	.loginmenu {
    display: none;
}
.site-header {
    height: auto;
    position: relative;
}
.menu-main-container {
    max-width: inherit;
    margin: inherit;
    padding: inherit;
    display: inherit;
    float: none;
	padding: 20px;
    position: initial;
	    padding-top: 0;
}
}
@media (max-width: 480px){
	.entry-content {
    padding-top: 60px;
}
.home .entry-content {
    padding-top: 0px;
}
#wpsm_accordion_127 {
    margin: 0px auto;
}
}
.conwide.underredline {
    border-bottom: 40px solid #b70000;
	padding: 0;
}
.conwide.pagehead{
    margin-bottom: 5%;
    text-align: center;
    display: flex;
    align-content: center;
    align-items: center;
    flex-wrap: nowrap;
    flex-direction: column;
    justify-content: center;
}

/* 追加 */
.site-branding {
    padding: 10px 10px 0px 39px;
    width: 80%;
    max-width: 340px;
    margin: 0px;
    position: relative;
    float: left;
    z-index: 2000;
}
.maintitle {
    font-size: 18px;
    letter-spacing: 6px;
}
li > ul, li > ol {
    margin-bottom: 0;
    margin-left: 0;
}
ul.children {
    padding-left: 10px;
    margin-top: 10px;
    margin-bottom: 20px;
}
.entry-content p {
    padding-left: 0em;
    margin: 0;
    line-height: 1.8;
    font-weight: 400;
    margin-bottom: 0.8em;
}
.site-header {
    height: 100px;
    top: 0;
    z-index: 10000;
    background: var(--brand-navy);
}
@media (max-width: 960px){
section#nav_menu-5 {
    padding-left: 0px;
	}
section#nav_menu-3 {
    padding-left: 0px;
}}
.maintitle-s {
    font-size: 20px;
    margin: 40px 20px;
}
@media (max-width: 480px){
p.site-description {
    display: none;
	}
.site-header {
    height: 80px;
 }
.sidetitle {
    position: absolute;
    left: 0;
    top: 0;
    width: 70px;
}
	.business .sidetitle {
    display: none;
}
.secarea {
    position: relative;
padding: 40px 0px 60px 70px;
}
.site-branding {
    padding: 10px 10px 0px 20px;
 }
.entry-content .backabout .textarea h2 {
    margin-top: 20px;
    line-height: 1.4;
    letter-spacing: 1px;
    font-size: 20px;
    margin: 0;
    margin-bottom: 20px;
}
.maintitle-m {
    font-size: 24px;
		    line-height: 1.4;
}
@media (max-width: 480px) {
    button, input[type="button"], input[type="reset"], input[type="submit"] {
        border: inherit;
        border-color: inherit;
        background: #003366;
        color: rgba(0, 0, 0, 0.8);
        line-height: 1;
        padding: 20px;
        color: #fff;
        cursor: pointer;
        font-size: 18px;
        text-align: center;
        display: block;
        margin: 20px auto 0px;
        /* width: 80%; */
        /* min-width: 240px; */
        /* max-width: 260px; */
    }
}
footer ul {
    font-size: 16px;
}
.entry-content {
    padding-top: 10px;
    padding: 0px;
}
}
@media (min-width: 961px){
#wrapper nav ul li {
    font-size: 14px;
    padding: 0px;
    background: initial;
    text-align: center;
    width: auto;
    margin: 0px 10px;
    transition: all 0.3s;
}
#global-navi ul.menu {
    margin: 0px;
    padding: 0px;
    flex-wrap: wrap;
    justify-content: flex-end;
    height: 64px;
    align-content: flex-end;
    padding-right: 20px;
}}
ul.sub-menu {
    position: absolute;
    display: none;
    z-index: 100;
    width: 300px;
    margin-left: 0px;
    padding-left: 0;
    text-align: left;
    transition: all 0.3s;
}
ul.sub-menu {
    margin-top: 0;
    position: absolute;
    padding-left: initial;
}
.menu-item-has-children:hover .sub-menu {
    display: block;
    transition: all 0.3s;
    background: initial;
    padding: 20px 4px;
    background: #071e55;
    animation-name: fadein;
    animation-duration: 3s;
}
#wrapper nav ul li a:hover {
    color: #8a8a8a;
    text-decoration: none;
    display: block;
    background: #ffffff;
    border-bottom: initial;
	animation-name: fadein;
    animation-duration: 3s;
}
#wrapper nav ul li a: {
	    padding-left: 4px;
    padding-right: 4px;
	border-bottom:1px solid #ffffff00;
}
.site-footer ul.sub-menu {
    display: block;
}
.site-footer ul.sub-menu {
    display: block;
    position: relative;
    padding-left: 20px;
    margin-top: 0px;
    list-style: none;
    padding-top: 0px;
    padding-bottom: 20px;
}
.site-footer .menu-item-has-children:hover .sub-menu {
    display: block;
    background: initial;
    padding-left: 30px;
    padding-bottom: 10px;
    padding-top: 20px;
}

@media screen and (min-width: 481px){
	.site-footer .menu-item-has-children:hover .sub-menu {
    display: block;
    background: initial;
    padding-left: 20px;
    padding-bottom: 10px;
    padding-top: 0px;
}
ul.footmenu li {
    padding-bottom: 20px;
}
.site-footer ul.sub-menu {
    padding-bottom: 10px;
}
}
.conwide.mainarea {
    position: relative;
    background: #aaa url()no-repeat bottom;
    min-height: 90vh;
    background-size: cover;
}

.conwide.newsarea.pd-m {
    padding-bottom: 50px;
    padding-top: 100px;
}
.btitle .subtext {
    font-weight: 400;
    font-size: 14px;
}
.telban {
    font-size: 36px;
    color: #000000;
    font-weight: 700;
}
.flexbox.conbox {
    display: flex;
background: #ffffffdb;
    padding: 40px;
    margin: auto;
    max-width: 600px;
    text-align: center;
    justify-content: center;
    gap: 0;
}
p {
    margin: 0;
}

@media (min-width: 961px){
	section#nav_menu-3 {
    /* padding-left: 100px; */
    /* padding-top: 20px; */
}
section#nav_menu-2 {
    padding-left: 40%;
    padding-top: 20px;
}
}
@media (max-width: 480px){
.telban {
    font-size: 22px;
}
.newsarea {
    padding: 50px 30px 0px 10px;
}
.maintext h2 {
    font-size: 30px;
    margin-bottom: 0;
    letter-spacing: 6px;
}
.flexitem.contact {
    font-size: 14px;
}.conarea .subtext {
    margin-top: 0;
}
.conwide.mainarea {
    position: relative;
    background:#efefef ;
	background: url()no-repeat bottom;
    min-height: 340px;
    background-size: cover;
}
.site-branding {
    max-width: 360px;
    width: 80%;
}
.site-branding img {
    max-width: 230px;
}
#wrapper .btn-gnavi {
    top: 25px;
}
footer#colophon {
    padding: 0px;
    padding-top: 50px;
}
.maintext h2 {
    font-family: 'Noto Serif JP';
    font-weight: 600;
    font-size: 2.4rem;
    margin-bottom: 20px;
	    margin-top: 40px;
}
.conwide.conarea, .conwide.businessarea {
    margin-left: -40px;
    margin-right: -40px;
    padding: 40px 0px;
}
.conwide.conarea{
    margin-left: -40px;
    margin-right: -40px;
    padding: 20px 0px 80px;
}
}
@media (max-width: 480px){
.cp_timeline04 .timeline_item .time_date .time {
    font-size: 20px;
}
.conwide.newsarea.pd-m {
    padding: 40px 10px;
}
.mtli_attachment {
    padding-right: 30px !important;
}
.entry-content .title_border_bottom {
    font-size: 18px;
}
}
footer .iconitem a {
    padding: 0;
}
.site-footer ul.sub-menu li::after {
    display: block;
    position: relative;
    display: none;
}
span.error {
    display: block;
    margin-bottom: 20px;
}

/* 見出し */
.entry-content h2.backtitle {
    font-size: 24px;
    color: #b0b0b0;
    margin-bottom: 0px;
    line-height: 1.2;
}
.entry-content h2.fronttitle {
    font-size: 32px;
    margin-top: 10px;
    letter-spacing: 2px;
    border-bottom: 1px solid #000;
    padding-bottom: 24px;
    max-width: 1200px;
    color: #333333;
    margin-bottom: 30px;
}
@media screen and (max-width: 480px){
	.entry-content h2.fronttitle {
    font-size: 24px;
    margin-top: 0px;
    letter-spacing: 3px;
    border-bottom: 1px solid #000;
    padding-bottom: 24px;
    margin-bottom: 20px;
}
}

/* カテゴリーバッジ */
.catbtn {
    width: 130px;
    background: #ff0000 url(https://snooker.or.jp/jsaweb/wp-content/uploads/2024/10/allow.png) no-repeat;
    color: #fff;
    font-weight: 700;
    padding: 3px 10px;
    text-align: left;
    background-position-x: 95%;
    background-position-y: center;
    margin: 4px;
    font-size: 16px;
}
.btnarea {
    display: flex;
    /* max-width: 1229px; */
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.catbtn.btn02{
    background: #2C6CFF url(https://snooker.or.jp/jsaweb/wp-content/uploads/2024/10/allow.png) no-repeat;
	background-position-x: 95%;
    background-position-y: center;
}
.catbtn.btn03{
    background: #004539 url(https://snooker.or.jp/jsaweb/wp-content/uploads/2024/10/allow.png) no-repeat;
	background-position-x: 95%;
    background-position-y: center;
}
.catbtn.btn04{
    background: #A08306 url(https://snooker.or.jp/jsaweb/wp-content/uploads/2024/10/allow.png) no-repeat;
	background-position-x: 95%;
    background-position-y: center;
}
.catbtn.btn05{
    background: #6B006F url(https://snooker.or.jp/jsaweb/wp-content/uploads/2024/10/allow.png) no-repeat;
	background-position-x: 95%;
    background-position-y: center;
}
.leader {
    font-size: 20px;
}

/* ルール */
.flexbox.rulemenu {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 20px;
    margin: 60px auto 80px;
    justify-content: center;
    max-width: 1200px;
}
.rulebtn {
    width: 48%;
}
@media screen and (max-width: 480px){
.flexbox.rulemenu {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 20px;
    margin: 60px auto;
    justify-content: center;
    max-width: 1200px;
    align-items: center;
    padding: 20px;
}
.rulebtn {
    width: 100%;
}
}

.conwide.glay {
    background: #f1f3f5;
}

/* スポンサー */
h2.sponsor-title {
    text-align: center;
    margin-top: 40px;
    letter-spacing: 4px;
    font-size: 24px;
    margin-bottom: 10px;
    color: #333;
}
.flexbox.sponsor {
  display: flex;
  flex-wrap: wrap;
  max-width: 920px;
  margin: auto;
  margin-bottom: auto;
  padding-bottom: 10px;
  justify-content: center;
  margin-bottom: 0px;
  flex-direction: row;
}
.sponsor-ban {
    max-width: 200px;
    text-align: center;
    font-weight: 400;
    line-height: 1.4;
    font-size: 14px;
    margin: 10px;
}
.x-large .sponsor-ban {
    max-width: 360px;
    text-align: center;
    font-weight: 400;
    line-height: 1.4;
    font-size: 14px;
    margin: 10px;
    background: #ffffff;
}
.sponsor-ban img {
    background: #fff;
    padding: 10px 0 10px;
    margin-bottom: 4px;
}
.sponsor-ban a {
    color: #000;
    text-decoration: none;
}

@media screen and (max-width: 1080px){
.flexbox.sponsor {
    display: flex;
    flex-wrap: wrap;
    max-width: 690px;
    margin: auto;
    border-bottom: initial;
    padding-bottom: 20px;
    justify-content: center;
    margin-bottom: 40px;
    flex-direction: row;
}
}
@media screen and (max-width: 860px) {
    .flexbox.sponsor {
        display: flex;
        flex-wrap: wrap;
        max-width: 460px;
        margin: auto;
        border-bottom: initial;
        padding-bottom: 20px;
        justify-content: center;
        margin-bottom: 20px;
        flex-direction: row;
    }
}

/* メイン画像 */
.conwide.mainimgarea img {
    width: 100%;
}

/* NEWS */
.wp-show-posts-columns .wp-show-posts-single:not(.wp-show-posts-masonry-block) .wp-show-posts-image img {
    flex: 0 0 auto;
    object-fit: initial!important;
    width: 100%!important;
    border: initial;
}
.wp-show-posts .wp-show-posts-entry-title a {
    margin: 0;
    color: #000;
    font-size: 18px;
    text-decoration: underline;
    font-size: 16px;
}
.kijititle {
    text-align: right;
    margin-bottom: 10px;
}
.wp-show-posts-image {
    margin-bottom: 5px;
}
@media (max-width: 960px) {
    .wp-show-posts-columns {
        padding: 20px!important;
    }
.catarea {
    padding: 30px;
}
    .wpsp-col-4 {
        width: 50%;
    }
.wp-show-posts .wp-show-posts-entry-title a {
    margin: 0;
    color: #000;
    font-size: 16px;
    text-decoration: underline;
}
}
@media screen and (max-width: 480px){
	    .catarea {
        padding: 40px;
    }
.btnarea {
    display: flex;
    /* max-width: 1229px; */
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
}
.catbtn {
    width: 42%;
    background: #ff0000 url(https://snooker.or.jp/jsaweb/wp-content/uploads/2024/10/allow.png) no-repeat;
    color: #fff;
    font-weight: 700;
    padding: 3px 10px;
    text-align: left;
    background-position-x: 95%;
    background-position-y: center;
    margin: 8px;
    font-size: 14px;
}
.kijititle {
    text-align: center;
    margin-bottom: 10px;
}
.wp-show-posts .wp-show-posts-entry-title a {
    font-size: 16px;
    text-decoration: underline;
}
.wp-show-posts-meta a, .wp-show-posts-meta a:visited {
    color: #333;
    text-decoration: none;
    font-size: 15px;
}
.wp-show-posts-columns:not(.wp-show-posts-masonry) {
    display: flex;
    flex-wrap: wrap;
    margin-top: 50px;
}
.flexbox.sponsor {
    display: flex;
    flex-wrap: wrap;
    gap: 0px 0px;
    max-width: 980px;
    margin: auto;
    border-bottom: initial;
    padding-bottom: 20px;
    justify-content: center;
    margin-bottom: 40px;
    flex-direction: row;
}

.sponsor-ban {
    max-width: 70%;
    text-align: center;
    font-weight: 400;
    line-height: 1.4;
    font-size: 12px;
}
}

/* フッターメニュー */
ul.footmenu {
    display: flex;
    gap: 40px;
    margin: auto;
    color: #fff;
    padding-left: 0;
    list-style: none!important;!importan;!importa;!import;!impor;!impo;!imp;!im;!i;!;
    width: 90%;
    justify-content: space-between;
}
@media screen and (max-width: 960px){
ul.footmenu {
    display: flex;
    gap: 0px;
    margin: auto;
    color: #fff;
    padding-left: 0;
    flex-direction: column;
}
footer ul.menu {
    width: 90%;
    border-left: inherit;
    padding: 5px 0;
}
.rulebtn {
    width: 80%;
    text-align: center;
}
}
@media screen and (max-width: 480px){
	    .rulebtn {
        width: 100%;
    }
    .wp-show-posts-columns {
        padding: 0px !important;
    }
}

ul li.underline a {
    display: block;
    padding-bottom: 6px;
}
ul li.underline ul.sub-menu li a {
    border-bottom: initial;
    display: block;
}

.wp-show-posts-terms a {
    background: #ff0000;
    padding: 2px 6px;
    color: #fff;
    width: 160px;
    display: inline-block;
    text-align: center;
    position: absolute;
    top: 1px;
    left: 1px;
}
.wp-show-posts-columns .wp-show-posts-inner {
    flex: 1;
    position: relative;
}

span.wp-show-posts-terms.wp-show-posts-meta a {
    color: #fff;
    text-decoration: none;
}
.wp-show-posts-terms a[href*="/category/event"] { 
background-color: #0f4438; 
}
.wp-show-posts-terms a[href*="/category/ranking"] { 
background-color: #a08306; 
}
.wp-show-posts-terms a[href*="/category/international"] { 
background-color: #6b026f; 
}
.wp-show-posts-terms a[href*="/category/match-info"] { 
background-color: #2c6cff; 
}
.wp-show-posts-separator {
    opacity: .5;
    display: none;
}

/* フッター */
.footer-undermenu {
    font-size: 14px;
    margin-top: 50px;
    text-align: left;
    max-width: 90%;
    margin: auto;
}
.footer-undermenu a {
    color: #fff;
    text-decoration: none;
}

/* 背景固定 */
.p-container{
   position: relative;
   height: 300px;
}
.p-inner{
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   clip-path: inset(0);
}
.p-bg{
   position: fixed;
   top: 0;
   left: 0;
   width: 100vw;
   height: 100vh;
   background-image: url('https://snooker.or.jp/jsaweb/wp-content/uploads/2024/10/belt-2.jpg');
   background-size: cover;
   background-position: center;
   z-index: -1;
}
h2.wsp-pages-title {
    display: none;
}
.page .entry-content {
    text-align: center;
    padding-top: 0px;
    padding-bottom: 50px;
    /* max-width: 1000px; */
    text-align: left;
    margin: auto;
}
.entry-content h3 {
    margin-left: 0rem;
    border-bottom: initial;
    padding-bottom: 10px;
    font-size: 24px;
    line-height: 1.4;
    margin-top: 50px;
    margin-bottom: 16px;
    letter-spacing: 0px;
    border-bottom: 1px solid #333;
}
@media screen and (max-width: 480px){
    .entry-content h3 {
        font-size: 20px;
        margin-top: 20px;
    }
}
.post-thumbnail {
    display: none;
}
.archive .entry-content {
    text-align: left;
    display: none;
}
.archive h2.entry-title {
    font-size: 20px;
    margin-left: 30px;
}

/* アーカイブページ */
.archive .site-main {
    margin: 100px auto;
    width: 90%;
}
.archive main {
    padding: 5% 8% 5%;
}
.archive .main-container {
    max-width: 100%;
    margin: 0px auto;
    margin-bottom: 0px;
    overflow: hidden;
    padding: 0px 0px;
    clear: both;
    background: #FAFAFA;
    min-height: 540px;
}

.archive .site-main {
    margin: 100px auto;
    width: 90%;
    background: #fff;
    max-width: 1100px;
}
.archive header.entry-header {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
    border-bottom: 1px solid #ccc;
}
.archive .entry-meta {
    display: block;
}
.archive h2.entry-title {
    font-size: 16px;
    margin-left: 30px;
    font-weight: 400;
}
time.entry-date.published {
    font-weight: 400;
}
.archive h1.page-title {
    font-size: 24px;
    margin-bottom: 20px;
}
span.posted-on a {
    text-decoration: none;
    color: #000;
}
@media screen and (max-width: 960px){
.archive header.entry-header {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
    justify-content: flex-end;
    border-bottom: 1px solid #ccc;
    margin-top: 20px;
}
.archive h2.entry-title {
    font-size: 16px;
    margin-left: 0px;
    margin-top: 5px;
}
}
/* ランキング */
.tablearea {
    overflow-x: scroll;
    max-width: 1000px;
    margin: auto;
    border: 1px solid #ccc;
}
table.ranking {
    border-collapse: collapse;
    width: 1000px;
    margin-top: 0;
    margin-bottom: 0;
}
table.ranking tr {
    background: initial;
}
tr.ranktitle th {
    background: #3e91c9;
    color: #fff;
}
table.ranking tr:nth-child(odd) td {
	background: #f8f8f8;
}
table.movietable tr {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: auto;
    max-width: 1200px;
}
table.movietable td {
    padding: 20px;
    border-bottom: initial;
    max-width: 33%;
}
table.movietable h3 {
    font-size: 18px;
    letter-spacing: 0;
    margin-top: 16px;
    font-weight: 600;
    border-bottom: initial;
}
th.playername {
    width: 150px;
}

th.rank {
    width: 100px;
}
@media screen and (max-width: 960px){
	table.movietable td {
    padding: 20px;
    border-bottom: initial;
    max-width: 50%;
}
}
@media screen and (max-width: 480px){
	table.movietable td {
    padding: 20px;
    border-bottom: initial;
    max-width: 100%;
}
}
.ranking td, .ranking th {
    text-align: center;
}
body.wp-autoresize {
    overflow: visible !important;
    padding-top: 1px !important;
    padding-bottom: 1px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
}

/* 用語集 */

.glossary ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0px 40px;
	  position: relative;
}
.glossary ul li {
    width: 260px;
    font-size: 15px;
    margin-bottom: 10px;
    list-style-type: none!important;
    padding-left: 20px;
}
.glossary ul p {
    margin-bottom: 0;
}
.glossary ul a {
    color: #000;
    text-decoration: none;
}
.glossary ul a:hover {
    color: #0085B2;
    text-decoration: underline;
}
.glossary h3 {
    border-left: #215c98 solid 4px;
    padding-left: 14px;
    border-bottom: 1px solid #aaa;
	text-align:left;
}
.glossary ul li:before {
  font-family: "Font Awesome 5 Free";
  content: url('https://snooker.or.jp/jsaweb/wp-content/uploads/2024/11/glist-arrow.png');
  position: absolute;
  /*左端からのアイコンまでの距離*/
  color: skyblue;/*アイコン色*/
  margin-left: -20px;
  margin-top: 3px;
}
/* 用語集 */
.wordflex {
    display: flex;
}
.flexitem.wordarea.glossary {
    width: 86%;
}
.flexitem.indexarea {
    width: 15%;
    min-width: 160px;
    padding-top: 44px;
}
ul.word-index {
    font-size: 13px;
    list-style: none;
    padding-left: 0px;
    border-left: 1px solid #aaa;
    padding-left: 8px;
}
ul.word-index li {
    margin-bottom: 8px;
}
ul.word-index li a {
    color: #666;
}
.word-title {
    text-align: left;
}
@media screen and (max-width: 480px){
ul.word-index {
    font-size: 13px;
    list-style: none;
    padding-left: 6;
    margin-top: 10px;
}
.flexitem.indexarea {
    width: 15%;
    min-width: 90px;
    padding-top: 24px;
}
.wordflex {
    display: flex;
    width: 80%;
}
.glossary ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0px 40px;
    position: relative;
    padding-left: 20px;
}
}

/* FAQ */
.faq h2 {
    color: #215c98;
    margin-bottom: 20px;
    font-size: 24px;
}
.faq h3 {
    margin-top: 10px;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.8;
    border-bottom: 1px solid #aaa;
    padding-left: 30px;
    position: relative;
    padding-bottom: 30px;
}
.faq h2:before {
    content: 'Q.';
    -webkit-box-flex: 0;
    -ms-flex: 0 0 1em;
    flex: 0 0 1em;
    font-weight: 700;
    letter-spacing: .1em;
    font-size: 36px;
    text-align: center;
    margin-right: 0.2em;
    font-family: "Josefin Sans,system-ui";
    line-height: 1;
}
@media screen and (max-width: 480px){
	.faq h2:before {
    font-size: 24px;
}
}
.faq h3:before {
    content: 'A.';
    -webkit-box-flex: 0;
    -ms-flex: 0 0 1em;
    flex: 0 0 1em;
    font-weight: 700;
    letter-spacing: .1em;
    font-size: 18px;
    text-align: center;
    margin-right: 0.5em;
    font-family: "Josefin Sans,system-ui";
    line-height: 1;
    position: absolute;
    left: 0px;
    top: 4px;
}
.faq h2:first-of-type {
    margin-top: 0;
}
@media screen and (max-width: 480px){
	.faq h2{
	color: #215c98;
    margin-bottom: 20px;
    font-size: 20px;
	padding-top:20px;
}
.faq h3 {
    margin-top: 10px;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.8;
    border-bottom: 1px solid #aaa;
    padding-bottom: 20px;
}
｝
/* テーブル */
@media screen and (min-width: 769px) {
    .table.primary .tbody .row>.label {
        font-size: 16px;
}
}
.table.primary .row>.label {
    padding: 1em;
    background: #eee;
    font-weight: 700;
    text-align: left;
}
.table.primary .row>.label, .table.primary .row>.detail {
    border: 1px solid #ccc;
    line-height: 1.8;
    vertical-align: middle;
}
}
@media screen and (max-width: 960px){
table.table.primary th {
    display: block;
    border-bottom: initial;
    padding-bottom: 0px;
}
table.table.primary td {
    display: block;
    padding: 1em;
}
}
/* PDFリンク */

.pdf-list ul {
    list-style: none;
}
.pdf-list ul li::before {
    content: url(https://snooker.or.jp/jsaweb/wp-content/uploads/2024/12/pdf.png);
    position: absolute;
    left: 0;
    top: 54%;
    transform: translateY(-50%);
}
.guidecover {
    background: #fff;
    max-width: 1090px;
    padding: 10px 40px 20px;
    margin: 30px auto 10px;
    width: 100%;
    border: 1px solid #215c98;
}
.guidecover ul {
    list-style: none;
    padding-left: 0;
}
.guidecover ul li {
    border-bottom: 1px solid #ccc;
    padding-bottom: 20px;
    padding-top: 20px;
    position: relative;
    padding-left: 70px;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 0px;
}
.guidecover h3 {
    font-size: 24px;
    border-bottom: 2px solid #333;
    padding-bottom: 10px;
}

/* ボタン */
a.btn_12 {
	display: flex;
	justify-content: space-evenly;
	align-items: center;
	text-align: center;
	text-decoration: none;
	max-width: 300px;
	margin: auto;
	padding: 2rem 4rem 2rem 3rem;
	font-weight: bold;
	background: #27acd9;
	color: #fff;
	border-radius: 100vh;
	position: relative;
	transition: 0.5s;
	margin-top: 80px;
}
a.btn_12::before {
	content: '';
	width: 7px;
	height: 7px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
}
a.btn_12:hover {
	background: #44c6f2;
	color: #fff;
}

/* 競技説明 */
.games {
    margin: 150px auto 0px;
}
h2.gamename.eng {
    font-size: 78px;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 0px;
    color: #034E00;
	line-height: 1.2;

}

.entry-content h3.gamesub {
    margin-top: 0px;
    text-align: center;
    border-bottom: initial;
    font-size: 30px;
    color: #333333;
    padding: 0px 80px;

}

.gameitem-text {
    background: url(https://snooker.or.jp/jsaweb/wp-content/uploads/2024/12/game01text.jpg)no-repeat center;
    background-size: cover;
    padding: 5% 8%;
    color: #fff;
    font-size: 16px;
    letter-spacing: 2px;
    width: 50%;
    min-height: 480px;
    height: calc(100% - 40px);
    margin-right: -40px;
    width: calc(50% + 40px);
    z-index: 10;
    line-height: 1.8;
}
	.gameitem-text.game02 {
    background: url(https://snooker.or.jp/jsaweb/wp-content/uploads/2024/12/game02text.jpg) no-repeat center;
    background-size: cover;
    padding: 5% 8%;
    color: #fff;
    font-size: 16px;
    letter-spacing: 2px;
    width: 50%;
    min-height: 480px;
    height: calc(100% - 40px);
    margin-right: -40px;
    width: calc(50% + 40px);
    z-index: 10;
    line-height: 1.8;
}
.gameitem-text.game03 {
    background: url(https://snooker.or.jp/jsaweb/wp-content/uploads/2024/12/game03text.jpg) no-repeat center;
    background-size: cover;
    padding: 5% 8%;
    color: #fff;
    font-size: 16px;
    letter-spacing: 2px;
    width: 50%;
    min-height: 480px;
    height: calc(100% - 40px);
    margin-right: -40px;
    width: calc(50% + 40px);
    z-index: 10;
    line-height: 1.8;
}
.gameitem-text.game04 {
    background: url(https://snooker.or.jp/jsaweb/wp-content/uploads/2024/12/game04text.jpg) no-repeat center;
			    background-size: cover;
    padding: 5% 8%;
    color: #fff;
    font-size: 18px;
    letter-spacing: 2px;
    width: 50%;
    min-height: 480px;
    height: calc(100% - 40px);
    margin-right: -40px;
    width: calc(50% + 40px);
    z-index: 10;
    line-height: 1.8;
}
.gameflexbox {
    display: flex;
    background: linear-gradient(180deg, transparent 0%, transparent 50%, #efefef 50%, #efefef 100%);
    justify-content: center;
    align-items: flex-start;
    background-color: #ffffff;
    padding-bottom: 100px;
    margin-top: 50px;
}
.bg02 {
  background: linear-gradient(90deg, transparent 0%, transparent 50%, #aedae7 50%, #aedae7);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 100px;
  background-color: #aaa;
}
.gameitem-img{
    margin-top: 60px;
    width: calc(50% + 40px);
    margin-left: -40px;
}
.gameitem-img img {
    width: 100%;
}
.entry-content p.gamelink {
    margin-top: 40px;
}

.entry-content p.gamelink a {
    color: #ffffff;
    font-size: 18px;
}

@media screen and (max-width: 960px){
.gameitem-text.game01 {
    background: url(https://snooker.or.jp/jsaweb/wp-content/uploads/2024/12/game01text.jpg) no-repeat center;
    background-size: cover;
    padding: 40px 50px;
    color: #fff;
    font-size: 16px;
    letter-spacing: 2px;
    width: 50%;
    min-height: 480px;
    height: calc(100% - 40px);
    margin-right: 0px;
    width: 100%;
    z-index: 10;
}
.gameitem-text.game02 {
    background: url(https://snooker.or.jp/jsaweb/wp-content/uploads/2024/12/game02text.jpg) no-repeat center;
    background-size: cover;
    padding: 40px 50px;
    color: #fff;
    font-size: 16px;
    letter-spacing: 2px;
    width: 50%;
    min-height: 480px;
    height: calc(100% - 40px);
    margin-right: 0px;
    width: 100%;
    z-index: 10;
}
.gameitem-text.game03 {
    background: url(https://snooker.or.jp/jsaweb/wp-content/uploads/2024/12/game03text.jpg) no-repeat center;
    background-size: cover;
    padding: 40px 50px;
    color: #fff;
    font-size: 16px;
    letter-spacing: 2px;
    width: 50%;
    min-height: 480px;
    height: calc(100% - 40px);
    margin-right: 0px;
    width: 100%;
    z-index: 10;
}
.gameitem-text.game04 {
    background: url(https://snooker.or.jp/jsaweb/wp-content/uploads/2024/12/game04text.jpg) no-repeat center;
    background-size: cover;
    padding: 50px 80px;
    color: #fff;
    font-size: 16px;
    letter-spacing: 2px;
    width: 50%;
    min-height: 480px;
    height: calc(100% - 40px);
    margin-right: 0px;
    width: 100%;
    z-index: 10;
}
.gameflexbox {
    display: flex;
    flex-direction: column;
}
.gameitem-img {
    margin-top: 0;
    width: 100%;
    margin-left: 0;
}
}
@media screen and (max-width: 480px){
h2.gamename.eng {
    font-size: 48px;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 0px;
    color: #034E00;
    line-height: 1.2;
    padding: 10px 30px;
}
.entry-content h3.gamesub {
    font-size: 20px;
}
    .gameitem-text {
        padding: 80px 80px;
}
}
th.label {
    width: 20%;
}
@media screen and (max-width: 480px){
    th.label {
    display: block;
    width: 100%;
}
.conwide {
    margin-left: -30px;
    margin-right: -30px;
}
.guidecover {
    background: #fff;
    max-width: 1090px;
    padding: 10px 20px 20px;
    margin: 30px auto 10px;
    /* box-shadow: 0 0 4px 4px hsl(0deg 0% 0% / 8%); */
    width: 100%;
    border: 1px solid #215c98;
}
.wp-show-posts-inner {
    margin: 0 0 3em 0!important;
}
.catbtn a {
    color: #ffffff;
}
img.btnimg {
    padding: 0 30px;
}
}
.entry-content .btnarea p {
    margin-bottom: 0;
}

.entry-content .btnarea a {
    text-decoration: none;
    display: contents;
}
.catbtn a {
    display: contents;
    color: #fff;
    text-decoration: none;
}
tr.ranktitle a {
    color: #fff;
}
@media screen and (max-width: 1100px){
.swipe.right {
    max-width: 880px;
}}
@media screen and (min-width: 1099px){
.swipe.right {
display:none;
	}}
        .carousel img {
            max-height: 800px;
            object-fit: cover;
			max-width:1300px;
			height: 70vh;
        }
        .slideshow-container {
            width: 100vw;
            height: 600px;
            overflow: hidden;
            position: relative;
        }
        .slideshow img {
            width: 100%;
            height: 600px;
            object-fit: cover;
        }
.conwide.mainimgarea .slick-slide img{
	display: block;
    width: 100vw;
}

.carousel-container.pc .carousel div img {
  width: auto; /* 画像の幅を自動調整 */
  height: auto; /* 画像の高さを自動調整 */
  max-width: 1300px; /* 画像の最大幅を1300pxに設定 */
  display: block; /* 画像をブロック要素にする */
  object-fit: contain; /* 画像がコンテナに収まるように縮小 */
  margin: 0 auto; /* 画像を中央に配置 */
}

        .slick-dots {
            position: absolute;
            bottom: 40px;
            left: 50%;
            transform: translateX(-50%);
            display: flex;
            justify-content: center;
            gap: 12px;
        }
        .slick-dots li {
            list-style: none;
        }
        .slick-dots button {
            width: 14px;
            height: 14px;
            background-color: black;
            border-radius: 50%;
            border: none;
            cursor: pointer;
            opacity: 0.5;
        }
        .slick-dots .slick-active button {
            opacity: 1;
        }

.mw-wp-form__buttons {
    display: flex;
    gap: 0;
    justify-content: center;
    flex-direction: row;
    flex-wrap: wrap;
}
.backbtn button, input[type="button"], input[type="reset"], input[type="submit"] {
    background: #aaa;
}
@media screen and (max-width: 480px){
dd {
    margin: 0 0em 1.5em;
}
.site-main .comment-navigation, .site-main .posts-navigation, .site-main .post-navigation {
    margin: 0 0 1.5em;
    margin: 60px auto;
    padding: 10px;
}
}
.dresscode-card h3 {
    font-size: 42px;
    font-weight: bold;
    margin-top: 0;
}

.dresscode-wrapper {
  font-family: "Noto Sans JP", sans-serif;
  max-width: 1360px;
  margin: auto;
  padding: 1em;
  line-height: 1.6;
}


.single img {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
}

/* PCテーブル表示（960px以上） */
.dresscode-table {
  display: block;
}
@media screen and (min-width: 960px) {
  .dresscode-table {
    display: table;
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 2em;
    font-size: 0.95em;
  }
  .dresscode-table th,
  .dresscode-table td {
    border: 1px solid #ccc;
    padding: 0.75em;
    text-align: center;
  }
  .dresscode-table th {
    background-color: #f0f0f0;
    font-weight: bold;
    width: 25%;
  }
  .dresscode-mobile {
    display: none;
  }
}



/* スマホ：カード表示（幅960px未満） */
.dresscode-mobile {
  display: block;
}
.dresscode-card {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 1em;
  margin-bottom: 1em;
  background-color: #f9f9f9;
}
.dresscode-card h3 {
    font-size: 42px;
    font-weight: bold;
    margin-top: 0;
}
.dresscode-card li {
  list-style: none;
  margin-bottom: 0.4em;
  font-size: 0.95em;
  display: flex;
}
.dresscode-card li::before {
  display: none;
}
.dresscode-label {
  display: inline-block;
  font-weight: bold;
  flex-shrink: 0;
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px;
  padding-bottom: 4px;
}
.category-heading {font-size: 42px;font-weight: bold;display: block;margin-bottom: -10px;}
.dresscode-card h3 .small {
    font-size: 18px;
}
.dresscode-card ul {
    padding-left: 10px;
	}

/* 960px以上で表示 */
@media screen and (min-width: 961px) {
  .sp960 {
    display: none;
  }
}

/* 960px未満で表示 */
@media screen and (max-width: 960px) {
  .pc960 {
    display: none;
  }
}
@media screen and (max-width: 960px){
.dresscode-card li {
    list-style: none;
    margin-bottom: 0.4em;
    font-size: 0.95em;
    display: flex;
    flex-direction: column;
    margin-bottom: 20px;
}
}
.km2025-table {
  width: 94%;
  border-collapse: collapse;
  font-family: sans-serif;
}

.km2025-table th,
.km2025-table td {
  padding: 20px 16px;
  vertical-align: top;
  text-align: left;
  border-top: 1px solid #ccc;
}

.km2025-table th {
  width: 200px;
  white-space: nowrap;
  font-weight: bold;
}

@media (max-width: 960px) {
  .km2025-table th,
  .km2025-table td {
    display: block;
    width: 100%;
    border-bottom: initial;
  }

  .km2025-table th {
    margin-top: 6px;
    background-color: #f7f7f7;
    padding-bottom: 0;
    padding-bottom: 14px;
  }

  .km2025-table td {
    padding-top: 12px;
  }
}

table.km2025-table h4 {
    font-weight: 400;
    font-size: 16px;
    margin-bottom: 10px;
    margin-top: 0px;
}
table.km2025-table ul {
    margin-top: 0;
}
.entry-btn {
  display: inline-block;
  background-color: #00458c; /* 濃い青 */
  color: #ffffff; /* 白文字 */
  text-decoration: none;
  padding: 12px 32px;
  font-size: 16px;
  font-family: "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
  border-radius: 4px;
  text-align: center;
  transition: background-color 0.3s;
}

.entry-btn:hover {
    background-color: #4e88c2;
    color: #fff;
}

/* ドレスコード */
.snk-dresscode {
  width: 100%;
  max-width: 1300px;
  margin: 40px auto;
  overflow-x: auto;
  background: #fff;
  border-radius: 18px;
}

.snk-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  /* min-width: 420px; */
  font-family: "Segoe UI", "Helvetica Neue", Arial, "Hiragino Sans", "Meiryo", sans-serif;
}

/* 全セル背景白・パディング広め */
.snk-table th,
.snk-table td {
  background: #fff !important;
  padding: 18px 36px;
  border-bottom: 1px solid #e6e6e6;
  font-size: 15px !important;
  color: #222;
  text-align: left;
  vertical-align: top;
}

/* 区分（1列目）だけ背景色 #eee、パディング狭め・太字・幅広く */
.snk-table th:first-child,
.snk-table td:first-child {
  background: #eee !important;
  font-weight: bold !important;
  padding: 18px 18px !important;
  text-align: left !important;
  min-width: 240px;
  width: 240px;
  max-width: 320px;
  white-space: nowrap;
}

/* ヘッダーのABCだけ大きく・中央揃え */
.snk-table th:not(:first-child) {
  font-size: 42px !important;
  font-weight: normal;
  letter-spacing: 2px;
  color: #253566;
  vertical-align: middle;
  line-height: 1;
  background: #fff !important;
  text-align: center !important;
}

/* 2列目以降（A/B/C列）も左揃え */
.snk-table td:nth-child(2),
.snk-table td:nth-child(3),
.snk-table td:nth-child(4) {
  text-align: left !important;
}

/* 最終行ボーダー消し */
.snk-table tr:last-child td {
  border-bottom: none;
}

/* ======= レスポンシブ対応(960px以下でカード型) ======= */
@media (max-width: 960px) {
  .snk-table,
  .snk-table thead,
  .snk-table tbody,
  .snk-table tr {
    display: block;
    width: 100%;
  }
  .snk-table th {
    display: none; /* ヘッダー非表示 */
  }
  .snk-table tr {
    background: #fff;
    margin-bottom: 18px;
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0 1px 6px rgba(0,0,0,0.03);
  }
  .snk-table td {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 18px 14px;
    border-bottom: 1px solid #f2f2f2;
    font-size: 16px !important;
    text-align: left !important;
    position: relative;
    background: #fff !important;
    white-space: normal !important;
    word-break: break-word;
    overflow-wrap: break-word;
  }
  .snk-table td:first-child {
    background: #eee !important;
    font-weight: bold !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 18px 12px 14px !important;
    font-size: 24px !important;
    border-bottom: 2px solid #ddd;
    border-radius: 0;
    white-space: normal !important;
  }
  /* 2列目以降（A/B/C）にラベルを付加 */
  .snk-table td[data-label]:before {
    content: attr(data-label);
    display: block;
    font-size: 18px;
    color: #456;
    font-weight: bold;
    margin-bottom: 3px;
    letter-spacing: 1px;
  }
  .snk-table tr:last-child td {
    border-bottom: none;
  }
}
/* 「区分」というテキストだけ非表示にし、セル自体は残す＋背景白 */
.snk-table th:first-child {
  color: transparent !important;    /* 文字のみ透明化 */
  background: #fff !important;      /* 背景白 */
  min-width: 60px;                  /* 最小幅は任意で */
}
@media (min-width: 961px) {
  /* A列の上 */
  .snk-table th:nth-child(2)::before,
  .snk-table th:nth-child(3)::before,
  .snk-table th:nth-child(4)::before {
    content: 'ドレスコード';
    display: block;
    font-size: 16px;
    color: #222;
    font-weight: normal;
    text-align: center;
    margin-bottom: 4px;
    letter-spacing: 1px;
  }
}
@media screen and (max-width: 480px){
	th.label {
    width: 100%;
}
}
.dressimage {
  display: flex;
  gap: 20px;
  flex-wrap: nowrap;        /* はみ出し防止のため追加 */
  max-width: 100%;        /* ブラウザ幅に収まるように */
  box-sizing: border-box; /* paddingなども幅に含める */
  flex-direction: row-reverse;
}

.dressimage img {
  width: 100%;
  height: auto;
  object-fit: cover;
  box-sizing: border-box;
}

/* 横並び時は画像が半分ずつになるよう調整 */
@media screen and (min-width: 961px) {
  .dressimage img {
    width: calc(50% - 10px); /* gap分を差し引く */
  }
}

/* 縦並び時は全幅に */
@media screen and (max-width: 960px) {
  .dressimage {
    flex-direction: column;
  }

  .dressimage img {
    width: 100%;
  }
}

form.post-password-form {
    padding: 40px;
}

/* メタスライダー */
.metaslider .flexslider {
    margin: 0 0 0px!important;
}

/* 記事一覧 */
.wp-show-posts .wp-show-posts-entry-title {
    margin: 0;
    line-height: 1.6;
    font-size: 16px;
    max-width: 440px;
    font-weight: 400;
}

/* 新規追加 */

:root {
  /* Brand */
  --brand-navy: #071e55;
  --brand-blue: #1a3986;
  --brand-accent: #ffa300;
  --brand-danger: #e50602;

  /* UI Gray */
  --gray-text: #cbcbcb;
  --gray-bg: #f3f3f3;

  /* Common */
  --text-primary: #071e55;
  --text-light: #cbcbcb;
  --bg-light: #f3f3f3;
}

/* 新着情報 */
a.cat.match-info, a.cat.international, a.cat.news,a.cat.event {
    background: #2c6cff;
    color: #fff;
    padding: 4px 10px;
    font-size: 12px;
    margin: 0 10px;
    text-decoration: none;
    display: inline-table;
    width: 110px;
    text-align: center;
}
a.cat.news {
    background: #ed0602;
}
a.cat.international {
    background: #6b026f;
}
a.cat.event {
    background: #0f4539;
}

ul.news_list {
    list-style: none;
}
ul.news_list {
    list-style: none;
    margin: 0px auto 0;
    padding: 30px;
    max-width: 1060px;
}
ul.news_list li {
    font-size: 16px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    margin-bottom: 10px;
}
    a.news_title {
        color: #000;
    }
@media screen and (max-width: 960px){
	a.news_title {
        display: block;
        margin-top: 6px;
		        color: #000;
}
}

/* 全体ラッパー：1000px幅、中央寄せ */
.jsa-navblock-wrap {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 5px;              /* バナー同士の余白 10px */
  box-sizing: border-box;
}

/* 各バナー */
.jsa-navblock-item {
  flex: 0 0 calc((100% - 20px) / 2); /* gapを考慮して正確に2列 */
  height: 160px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #fff;
  font-weight: 700;
  font-size: 2.6rem;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

/* テキストだけ別クラスにしておくと装飾しやすい */
.jsa-navblock-label {
  text-align: center;
}

/* 背景画像（必要に応じてパスを書き換えてください） */
.jsa-navblock-item--bg01 { background-image: url("https://snooker.or.jp/jsawp/wp-content/uploads/2025/11/greyback.png"); }
.jsa-navblock-item--bg02 { background-image: url("https://snooker.or.jp/jsawp/wp-content/uploads/2025/11/greyback.png"); }
.jsa-navblock-item--bg03 { background-image: url("https://snooker.or.jp/jsawp/wp-content/uploads/2025/11/greyback.png"); }
.jsa-navblock-item--bg04 { background-image: url("https://snooker.or.jp/jsawp/wp-content/uploads/2025/11/greyback.png"); }
.jsa-navblock-item--bg05 { background-image: url("https://snooker.or.jp/jsawp/wp-content/uploads/2025/11/greyback.png"); }
.jsa-navblock-item--bg06 { background-image: url("https://snooker.or.jp/jsawp/wp-content/uploads/2025/11/greyback.png"); }

/* 960px以下で1列表示に変更 */
@media (max-width: 960px) {
  .jsa-navblock-item {
    flex: 0 0 100%;
  }
.jsa-navblock-wrap {
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
    box-sizing: border-box;
    padding: 20px;
}
}

/* コンテナ */
.scn-container-2col {
  max-width: 1300px;
  margin: 0 auto;
  padding: 30px;
}

/* 内側のフレックス */
.scn-inner {
  display: flex;
  gap: 60px; /* 左右30pxずつのイメージ（合計60px） */
  align-items: center;
  justify-content: space-around;
}

/* 左カラム */
.scn-left-col {
  flex: 1;
  min-width: 0;
  max-width: 475px;
}

/* 右カラム */
.scn-right-col {
  flex: 1;
  min-width: 0;
  max-width: 530px;
}

.scn-right-col img {
  width: 100%;
  height: auto;
  display: block;
}

/* リンク */
.scn-link {
  display: inline-block;
  margin-top: 20px;
  color: #1a3986;
  text-decoration: underline;
}

/* ▼ 960px以下で縦並び */
@media (max-width: 960px) {
  .scn-inner {
    flex-direction: column;
    gap: 30px; /* 縦並び時の余白 */
  }
}

.scn-inner h2 {
    color: #cbcbcb;
    margin-bottom: 10px;
    font-size: 28px;
    margin-top: 10px;
}
.scn-inner h3 {
    color: #333333;
    font-size: 32px;
    margin-top: 0;
    border: 0;
}
.scn-inner a {
    font-size: 18px;
    color: #000;
}

.entry-content h2.fronttitle.nb {
    border-bottom: 0px solid #000;
    margin-top: 20px;
}

.flexbox.sponsor-l {
    display: flex;
    flex-wrap: wrap;
    max-width: 920px;
    margin: auto;
    margin-bottom: auto;
    padding-bottom: 0px;
    justify-content: center;
    margin-bottom: 0px;
    flex-direction: row;
    gap: 0 20px;
}
.sponsor-l .sponsor-ban {
    max-width: 200px;
    text-align: center;
    font-weight: 400;
    line-height: 1.4;
    font-size: 14px;
    margin: 0px 0 20px;
}
@media screen and (max-width: 960px){
.flexbox.sponsor-l {
    display: flex;
    flex-wrap: wrap;
    margin: auto;
    justify-content: space-between;
    margin-bottom: 10px;
    flex-direction: column;
    align-content: center;
}
.flexbox.sponsor-l {
         justify-content: center;
         flex-direction: row;
         align-content: center;
         gap: 0 4px;
    }
}
@media screen and (max-width: 480px){
.sponsor-l .sponsor-ban {
    max-width: 130px;
    margin: 4px;
}
}

/* ご挨拶 */
.flexbox-ms {display: flex;text-align: left;gap: 80px;max-width: 1000px;margin: 100px auto;flex-direction: row-reverse;}

.flexitem-ms-right h2 {
    margin-top: 0;
    color: #1a3988;
    font-size: 30px;
    margin-bottom: 30px;
}
.flexitem-ms-right {
    max-width: 540px;
}
.flexitem-ms-left {
    text-align: center;
}
@media screen and (max-width: 960px){
    .flexbox-ms {
        display: flex;
        text-align: left;
        gap: 20px;
        max-width: 1000px;
        margin: 50px auto 20px;
        flex-direction: column;
        align-items: center;
    }
.flexitem-ms-left img {
    max-width: 240px;
}
}
.right-text {
    text-align: right;
}

.wide img {
    width: 100%;
}

h2.backtitle.orange.eng {
    font-size: 72px;
    color: #e50602;
}

.conarea {
    width: 100%;
    background: #1a3986 url(https://snooker.or.jp/jsawp/wp-content/uploads/2025/11/circlebback.png) no-repeat center;
    margin-top: 0px;
    margin-bottom: 0px;
    background-size: 80%;
}
.entry-content h2.fronttitle.nb {
    margin-top: 10px;
}

@media screen and (max-width: 480px){
.spleft {
    text-align: left;
}
}
h2.fronttitle.bigtitle {
    font-size: 52px;
}
.b-back {
    background: #1a3986 url(https://snooker.or.jp/jsawp/wp-content/uploads/2025/11/ballback.png) repeat-y;
    background-size: cover;
    padding: 100px 20px;
    min-height: 500px;
}
.whiteback {
    background: #fff;
}


/* 全体レイアウト */
.jsa-vision {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0px;
  box-sizing: border-box;
}

.jsa-vision__list {
  display: flex;
}

/* 各要素を均等並びに */
.jsa-vision__item {
  flex: 1 1 33.333%;
  padding: 40px 30px;
  box-sizing: border-box;
  text-align: left;
}

/* 縦ボーダー（中央のみ） */
.jsa-vision__item:not(:first-child) {
  border-left: 1px solid #ddd;
}

/* 番号・ラベル */
.jsa-vision__head {
  font-family: "Helvetica Neue", Arial, sans-serif;
  margin-bottom: 8px;
}

.jsa-vision__num {
  display: block;
  font-size: 56px;
  font-weight: 700;
  line-height: 1;
  line-height: 0;
  color: #b2b2b2;
}

.jsa-vision__label {
  font-size: 12px;
  letter-spacing: 0.2em;
  color: #b2b2b2;
}

/* 画像 */
.jsa-vision__img img {
  width: 100%;
  height: auto;
  display: block;
}

/* テキスト */
.jsa-vision__title {
  font-size: 22px;
  margin: 24px 0 16px;
}

.jsa-vision__text {
  font-size: 14px;
  line-height: 1.8;
}
.entry-content h3.jsa-vision__title {
    margin-top: 20px;
    border-bottom: none;
    margin-bottom: 0px;
}

/* ▼ 960px以下：縦並び＋写真左／テキスト右レイアウト */
@media screen and (max-width: 960px) {

  .jsa-vision__list {
    flex-direction: column;
  }

  .jsa-vision__item {
    padding: 24px 0px;
    border-left: none;
  }

  .jsa-vision__item + .jsa-vision__item {
    border-top: none; /* スマホ時は横罫線で区切り */
  }

  /* 写真左・テキスト右の2カラム */
  .jsa-vision__inner {
    display: flex;
    gap: 30px;
    align-items: flex-start;
  }

  .jsa-vision__img {
    flex: 0 0 40%;          /* 写真の横幅（調整可） */
  }

  .jsa-vision__content {
    flex: 1;
  }

  .jsa-vision__title {
    margin-top: 0;
    font-size: 18px;
  }
.jsa-vision__item:not(:first-child) {
    border-left: none;
}
.entry-content h3.jsa-vision__title {
    margin-top: 0px;
    border-bottom: none;
    margin-bottom: 0px;
}
}

@media screen and (max-width: 480px){
    .jsa-vision__inner {
        display: flex;
        gap: 20px;
        align-items: flex-start;
        flex-direction: column;
    }
.entry-content h3.jsa-vision__title {
    margin-top: 0px;
    font-size: 24px;
}
h2.fronttitle.bigtitle {
    font-size: 42px;
}
.b-back {
    padding: 20px;
}
.jsa-vision {
     padding: 0px 0px 20px;
 }
}
.jsa-vision__content p {
    text-align: justify;
}

h2.backtitle.mt100.jp {
    color: #1a3946;
    font-size: 24px;
}
span.jsa-vision__num.orange {
    color: #f6921e;
}
span.jsa-vision__num.orange {
    color: #f6921e;
    display: contents;
}

.snooker-gallery-wrap {
  max-width: 1060px;
  padding: 0 30px;
  margin: 0 auto;
  box-sizing: border-box;
}

.snooker-gallery {
  display: flex;
  gap: 20px;            /* 画像間の余白 */
}

@media screen and (max-width: 960px){
.snooker-gallery {
    gap: 10px;
}
.snooker-gallery-wrap {
    padding: 0px;
    margin: 0 auto;
}
}

.snooker-gallery__item {
  flex: 1 1 calc((100% - 40px) / 3); /* 3つ並び、gap20px×2を考慮 */
}

.snooker-gallery__item img {
  width: 100%;
  height: auto;
  display: block;
}

/* 480px以下で縦一列・中央寄せ */
@media (max-width: 480px) {
  .snooker-gallery {
    flex-direction: column;
    align-items: center;
  }

  .snooker-gallery__item {
    width: 100%;
  }
}
.w1000.whiteback.pd-l {
    padding: 6%;
}
.w1000.whiteback.pd-m {
    padding: 3%;
}
@media screen and (max-width: 480px){
	.w1000.whiteback.pd-m {
    padding: 6%;
}
}

.lefttext {
    text-align: justify;
}

h2.sponsor {
    font-size: 26px;
    color: #333333;
    border-bottom: 1px solid #333;
    padding-bottom: 10px;
}

span.spbig {
    font-size: 52px;
}
h2.fronttitle.nb.eng.sub.center {
    color: #ffffff33;
    margin: 0 auto;
    font-size: 66px;
    line-height: 1;
}

h2.fronttitle.nb.main.center {
    margin-top: -50px;
    color: #ffffff;
}

@media screen and (max-width: 480px){
	h2.fronttitle.nb.main.center {
    margin-top: 0px;
    color: #ffffff;
}

h2.fronttitle.nb.eng.sub.center {
    color: #ffffff33;
    margin: 30px auto 0px;
    font-size: 20px;
    line-height: 1;
}
}

/* コンテナ全体のスタイル */
        .sponsor-list-container {
            max-width: 1000px; /* 最大幅1000px */
            margin: 0 auto; /* 中央寄せ */
            background-color: #fff;
            padding: 0 15px; /* 左右のパディング */
        }

        /* 各スポンサーセクションのスタイル */
        .sponsor-item {
            display: flex; /* Flexboxを有効化 */
            flex-wrap: nowrap; /* 折り返しなし（デフォルトのPC表示） */
            justify-content: space-between; /* 左右に配置 */
            padding: 40px 10px 20px; /* 上下のパディング */
            align-items: flex-start; /* 縦方向の開始位置に揃える */
            box-sizing: border-box;
        }

        /* 常に同じ位置にborderを表示させるための疑似要素コンテナ */
        .sponsor-item-with-border {
            border-bottom: 1px solid #ccc; /* ボーダーを追加 */
        }
        
        /* 最後の要素には下線が不要なため除去 */
        .sponsor-item-with-border:last-child {
        }

        /* 画像コンテナのスタイル */
        .image-container {
            width: 50%; /* PC表示時の画像の幅の例 */
            flex-shrink: 0; /* 縮小しない */
            text-align: left;
        }

        /* 画像のスタイル */
        .sponsor-image {
            max-width: 100%;
            height: auto;
            display: block;
        }

        /* テキストコンテナのスタイル */
        .text-container {
            width: calc(50% - 80px); /* 60%から左右間の余白30pxを引く */
            margin-left: 30px; /* 左右間の余白30px */
            box-sizing: border-box;
            text-align: left;
        }
        
        /* テキストのスタイル調整 */
        .text-container h2 {
            margin-top: 0;
            font-size: 1.5em;
            color: #1a0dab; /* 青色 */
        }
        
        .text-container p {
            line-height: 1.6;
            margin-bottom: 0;
        }
        
        .text-container button {
            background-color: #1a0dab;
            color: white;
            border: none;
            padding: 8px 15px;
            text-align: center;
            text-decoration: none;
            display: inline-block;
            font-size: 14px;
            margin-top: 10px;
            cursor: pointer;
        }

        /* 480px以下のレスポンシブ対応 */
        @media (max-width: 960px) {
            .sponsor-item {
                flex-direction: column; /* 上下1列に並べる */
                padding: 20px 0; /* スマホ時のパディングを調整 */
            }

            .image-container {
                width: 100%; /* 全幅 */
                margin-bottom: 15px; /* 画像とテキストの間に余白 */
            }

            .text-container {
                width: 100%; /* 全幅 */
                margin-left: 0; /* 余白を解除 */
                order: 2; /* テキストを下に配置する（任意） */
            }
            
            .image-container {
                order: 1; /* 画像を上に配置する（任意） */
            }
        }

.unique-contact-section {
  /* 背景色 (画像から推測される濃い青/ネイビー) */
   
  /* 上下パディングで領域を確保 */
  padding: 50px 20px;
  /* テキスト全体の色の指定 */
  color: #ffffff;
  /* セクション全体を中央寄せにする (この場合は要素内でテキストを中央寄せにするため不要だが、念のため) */
  text-align: center;
}

.unique-contact-container {
  /* 最大幅を設定し、画面幅が広い場合でもコンテンツが広がりすぎないように制御 */
  max-width: 800px;
  /* コンテナ自体を中央寄せ */
  margin: 0 auto;
}

.entry-content h2.unique-contact-heading {
  /* CONTACTのスタイル */
  font-size: 46px;
  font-weight: bold;
  margin-bottom: 5px;
  /* 必要に応じてフォントファミリーを指定 (例: sans-serif) */
  font-family: Arial, sans-serif;
  letter-spacing: 2px;
  color: #fff;
  margin: 0;
}

.entry-content .unique-contact-subheading {
  /* お問い合わせのスタイル */
  font-size: 22px;
  font-weight: normal;
  margin-bottom: 20px;
}

.unique-contact-text {
  /* ご支援に関する詳細やご質問は...のスタイル */
  font-size: 16px;
  margin-bottom: 40px;
}

.unique-contact-button {
  /* お問い合わせフォームのボタンのスタイル */
  /* ボタンの見た目を整えるためにインライン要素からブロック要素に変更 */
  display: inline-block;
  /* パディング */
  padding: 15px 40px;
  /* 線の色と太さ */
  border: 2px solid #ffffff;
  /* 文字色 */
  color: #ffffff;
  /* 下線除去 */
  text-decoration: none;
  /* フォントサイズ */
  font-size: 16px;
  /* 背景色 (コンテナと同じにするか透明にする) */
  background-color: transparent;
  /* マージン */
  margin-top: 20px;
  /* ホバーエフェクト（任意） */
  transition: background-color 0.3s, color 0.3s; 
}

.unique-contact-button:hover {
  background-color: #ffffff;
  color: #001f3f;
}

.flexbox.eventlink {
    display: flex;
    color: #fff;
    margin: 0px auto 50px;
    max-width: 500px;
    flex-direction: row;
    justify-content: space-between;
    gap: 80px;
    padding: 50px 20px;
    font-size: 24px;
    font-weight: 600;
    align-items: center; /* 垂直方向の中央揃えを実現 */
}

@media screen and (max-width: 480px){
	.flexbox.eventlink {
    display: flex
;
    color: #fff;
    margin: 0 auto;
    max-width: 500px;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    padding: 50px 20px;
    font-size: 24px;
    font-weight: 600;
    align-items: center;
}
}
.barea {
    background: #edeff0;
}
.fbc-page .fbc-wrap .fbc-items li {
    padding: 8px 2px;
}
.fbc-page .fbc-wrap .fbc-items li {
    font-size: 14px;
}
.fbc-page .fbc-wrap .fbc-items li.active span, .fbc-page .fbc-wrap .fbc-items li .fbc-end-text {
    color: #27272a;
    font-size: 14px!important;
}
.fbc-page .fbc-wrap .fbc-items li {
    font-size: 14px !important;
}
.fbc-page .fbc-wrap .fbc-items li.active span, .fbc-page .fbc-wrap .fbc-items li .fbc-end-text {
    color: #27272a;
    font-size: 14px!important;
}

.fbc-page .fbc-wrap .fbc-items {
font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro','メイリオ', 'Meiryo', '游ゴシック', 'Yu Gothic', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif!important;
    font-size: 14px;
}
.widget.widget_block.widget_media_image {
    width: 33%;
}
.site-footer ul.sub-menu li {
    font-size: 18px;
    color: #ff0000;
}
.site-footer ul.sub-menu li a {
    font-size: 16px;
    font-weight: 400;
}
@media screen and (max-width: 480px){
	.widget.widget_block.widget_media_image {
    width: 100%;
    margin-bottom: 20px;
}
.site-footer ul.sub-menu {
    list-style: none;
    margin: 0px auto 0;
    padding: 20px 0px 10px 30px;
    max-width: 1060px;
}
}
.site-footer ul.sub-menu li {
  position: relative;
  margin: 0; /* 行間調整 */
}

/* 疑似要素で赤丸を作成（サイズ自由） */
.site-footer ul.sub-menu  li::before {
  content: "";
  position: absolute;
  left: -15px; /* 赤丸の位置 */
  top: 17px;  /* 縦位置調整 → ずれ防止 */
  width: 10px;  /* ← お好みのサイズ（倍なら10〜12px） */
  height: 10px;
  background-color: #ff0000;
  border-radius: 50%;
  transform: translateY(-50%); /* 完全な中央補正 */
}

@media screen and (max-width: 960px){
.footer-undermenu {
    font-size: 14px;
    margin-top: 50px;
    text-align: center;
    max-width: 90%;
    margin: auto;
}
.site-info {
    font-size: 12px;
    clear: both;
    margin-bottom: 0px;
    color: #868686;
    padding: 5px 0px 10px;
    margin-top: 0px;
    padding-bottom: 20px;
    text-align: center;
    max-width: 90%;
    margin: auto;
}
.widget.widget_block.widget_media_image {
    width: 100%;
    margin-bottom: 30px;
}
footer .menu a {
    color: #fff;
    text-decoration: none;
    font-size: 22px;
    line-height: 32px;
    padding-left: 2px;
    font-weight: 700;
    border-bottom: 1px solid #8f8f8f;
    display: block;
    padding-bottom: 8px;
}
.site-footer ul.sub-menu li a {
    border-bottom: initial;
}
.sponsor-list-container {
    padding: 0 0px;
}
}
.fbc-page .fbc-wrap .fbc-items {
    background-color: #edeff0;
    padding-left: 3%;
}

img.alignnone.size-full.wp-image-3399 {
    max-width: 300px;
}

/* 外側エリア（レイアウト用） */
.para-section {
  position: relative;
  width: 100%;
  overflow: hidden;
  height: clamp(380px, 45vw, 600px);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
}

@media screen and (max-width: 480px){
	.para-section {
    height: 130px;
    display: flex;
}
ul.news_list {
    padding: 10px;
}
}

/* 背景写真だけのレイヤー */
.para-bg {
  position: absolute;
  inset: 0% 0; /* 少し上下に余裕を持たせるとズレても隙間が出にくい */
  background-image: url("https://snooker.or.jp/jsawp/wp-content/uploads/2025/12/back-social-80.jpg"); /* ←差し替え */
  background-size: cover;
  background-position: center center;
  /* will-change: transform; */
  transform: translate3d(0, 0, 0);
  z-index: 0;
}
.para-bg.vision01 {
  position: absolute;
  background-image: url("https://snooker.or.jp/jsawp/wp-content/uploads/2025/12/back-sky.jpg"); /* ←差し替え */
  background-size: cover;
  background-position: center center;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  z-index: 0;
}
.para-bg.vision02 {
  position: absolute;
  background-image: url("https://snooker.or.jp/jsawp/wp-content/uploads/2025/12/back-phy.jpg"); /* ←差し替え */
  background-size: cover;
  background-position: center;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  z-index: 0;
}
@media screen and (max-width: 480px){
.para-bg.vision02 {
    position: absolute;
    background-position: 50%;
    will-change: transform;
    transform: translate3d(0, 0, 0);
    z-index: 0;
    background-position-y: initial;
}
}

.para-bg.youth01 {
  position: absolute;
  background-image: url("https://snooker.or.jp/jsawp/wp-content/uploads/2026/01/back_youth01.jpg"); /* ←差し替え */
  background-size: cover;
  background-position: center center;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  z-index: 0;
}
.para-bg.youth02 {
  position: absolute;
  background-image: url("https://snooker.or.jp/jsawp/wp-content/uploads/2026/01/back_youth02.jpg"); /* ←差し替え */
  background-size: cover;
  background-position: center center;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  z-index: 0;
}
.para-bg.sponsor01 {
  position: absolute;
  background-image: url("https://snooker.or.jp/jsawp/wp-content/uploads/2026/01/back_sponsor01.jpg"); /* ←差し替え */
  background-size: cover;
  background-position: center 27%;
  z-index: 0;
}
.para-bg.sponsor02 {
  position: absolute;
  background-image: url("https://snooker.or.jp/jsawp/wp-content/uploads/2026/02/sponsor02.jpg"); /* ←差し替え */
  background-size: cover;
  background-position: center center;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  z-index: 0;
}

/* テキストや中身 */
.para-content {
  position: relative;
  z-index: 1;
  text-align: center;
  padding: 20px;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
}


span.wpsp-cat-badge a {
    background: #9C27B0;
    padding: 1px 4px;
    min-width: 110px;
    display: inline-block;
    color: #fff;
    text-decoration: none;
    text-align: center;
    margin: 0px 10px;
    font-size: 13px;
}

/* ここでカテゴリースラッグごとに色分け */
span.wpsp-cat-badge.cat-news a{ background: #e60012; }
span.wpsp-cat-badge.cat-match-info a{ background: #0b5bd3; }
span.wpsp-cat-badge.cat-event a{ background: #0a8f3c; }
span.wpsp-cat-badge.cat-result a{background: #FF9800;}
span.wpsp-cat-badge.cat-pickup a{background: #03A9F4;}

.wp-show-posts:not(.wp-show-posts-columns) .wp-show-posts-single:not(:last-child) {
    margin-bottom: 15px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 15px;
}

.wpsp-load-more {
    margin-top: 2em;
    border-top: 1px solid #ccc;
    padding-top: 20px;
    text-align: center;
}

@media screen and (max-width: 960px){
.wp-show-posts-entry-header {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    margin-bottom: 30px;
    flex-direction: column-reverse;
    gap: 8px;
}
}

.btn-list{
  --border:#c1d6e5;
  --text:#1b6fa8;
  display:flex;
  align-items:center;
  justify-content: center; /* 文字は左、矢印は右 */
  width:100%;
  max-width:270px;
  padding:18px 24px;
  background:#fff;
  border:2px solid var(--border);
  border-radius:10px;
  color:var(--text);
  font-weight:700;
  font-size:18px;
  line-height:1;
  text-decoration:none;
  box-sizing:border-box;
  white-space:nowrap; /* 折り返し防止 */
  gap: 0px;
}

/* 右側の矢印（svgなし） */
.btn-list::after{
  content:"›";              /* 見た目が安定 */
  font-size:24px;
  line-height:1;
  margin-left:16px;
  flex-shrink:0;
}

/* 中央寄せ用 */
a.btn-list.center{
  margin:0 auto;
}


/* ===== wrapper (2列合計: 幅100%, max: 1000px) ===== */
.jsa-linkbanner-wrap{
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 0px;
}

/* ===== grid ===== */
.jsa-linkbanner-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 12px;
}

/* ===== banner item ===== */
.jsa-linkbanner-item{
  position: relative;
  display: flex;
  align-items: center;
  min-height: 160px;
  padding: 24px 56px 24px 28px; /* 右側に矢印分の余白を確保 */
  color: #fff;
  text-decoration: none;
  overflow: hidden;
  border-radius: 0px;
}

/* background image (hoverでこれだけ拡大) */
.jsa-linkbanner-item::after{
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--jsa-linkbanner-bg);
  background-size: cover;
  background-position: center;
  transform: scale(1);
  transition: transform 450ms ease;
  z-index: 0;
}

/* overlay: 明度を落とす */
.jsa-linkbanner-item::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.35);
  z-index: 1;
}

/* text */
.jsa-linkbanner-text{
  position: relative;
  z-index: 2;
  font-size: 32px;
  font-style: italic;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
}

/* arrow (右側・縦中央) */
.jsa-linkbanner-arrow{
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  font-size: 34px;           /* 好みで調整 */
  font-style: italic;        /* 文字指定に合わせるならON */
  line-height: 1;
  opacity: 0.95;
  text-shadow: 0 2px 10px rgba(0,0,0,0.35);
}

/* hover: 背景画像のみ拡大 */
.jsa-linkbanner-item:hover::after{
  transform: scale(1.26);
}

/* 960px以下で縦並び */
@media (max-width: 960px){
  .jsa-linkbanner-grid{
    grid-template-columns: 1fr;
  }
.jsa-linkbanner-item {
    position: relative;
    display: flex
;
    align-items: center;
    min-height: 120px;
    padding: 14px 30px 14px 20px;
}
}
@media screen and (max-width: 480px){
.jsa-linkbanner-text {
    font-size: 20px;
}
    .jsa-navblock-wrap {
        padding: 0px;
    }
.wp-show-posts {
    padding: 10px 30px;
}
}

span.jsa-linkbanner-arrow img {
    width: 16px;
}

/* アーカイブページでのパンくずを非表示 */
.archive .fbc-wrap {
    display: none;
}


/* メインメニュー */
/* ===== main menu section ===== */
.snkr-mainmenu{
  width: 100%;
}

.snkr-mainmenu__bg{
  background-image:
    linear-gradient(rgba(0,0,0,.35), rgba(0,0,0,.35)),
    url("https://snooker.or.jp/jsawp/wp-content/uploads/2026/01/bacl_main.jpg");
  background-size: cover;
  background-position: center top; /* 初期位置（微調整可） */
  background-repeat: no-repeat;
  background-attachment: fixed; /* パララックス */
  padding: 200px 20px;
}

.snkr-mainmenu__inner{
  max-width: 1300px;
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 0px;
  justify-content: flex-start;
}

/* 見出し */
.snkr-mainmenu__head{
  flex: 0 0 auto;
  min-width: 400px; /* 見出しの幅感（好みで調整） */
  padding-left: 50px;
}

.snkr-mainmenu__en{
  margin: 0 0 10px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #e60012; /* 赤（好みで調整） */
  font-size: 34px;
  line-height: 1.1;
}

.snkr-mainmenu__jp{
  margin: 0;
  color: #fff;
  font-size: 34px;
  font-weight: 800;
  line-height: 1.25;
}

/* メニュー（2列） */
.snkr-mainmenu__nav{
  flex: 1 1 auto;
  display: flex;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 30px;
  flex-direction: row;
  justify-content: flex-start;
  flex-wrap: wrap;
}

/* メニュー項目 */
.snkr-mainmenu__item{
  width: 40%;
  position: relative;
  display: block;
  padding: 0px 0px 0px 39px;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  line-height: 1.2;
  border-bottom: 1px solid rgba(255,255,255,.55);
}

/* 左の斜めパーツ（雰囲気用） */
.snkr-mainmenu__item::before{
  content: "";
  position: absolute;
  left: 0px;
  bottom: 0;
  transform: translateY(0%) skewX(-18deg);
  width: 14px;
  height: 45px;
  background: #fff;
  opacity: .95;
}

.snkr-mainmenu__itemtext{
  display: inline-block;
  font-size: 24px;
  padding-bottom: 12px;
}

/* ===== <= 960px: 見出し + メニューを縦並び ===== */
@media (max-width: 960px){
  .snkr-mainmenu__inner{
    flex-direction: column;
    align-items: stretch;
    gap: 22px;
  }

  .snkr-mainmenu__head{
    min-width: 0;
    text-align: center;
	  padding-left: 0;
  }
}

/* ===== <= 480px: メニューも1列（全部縦並び） ===== */
@media (max-width: 480px){
  .snkr-mainmenu__bg{
    padding: 40px 16px;
  }

  .snkr-mainmenu__en,
  .snkr-mainmenu__jp{
    font-size: 28px;
  }

  .snkr-mainmenu__nav{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .snkr-mainmenu__itemtext{
    font-size: 20px;
  }
}

.entry-content h2.snkr-mainmenu__jp {
    color: #ffffff;
    font-size: 36px;
    margin-top: 0px;
}

.entry-content p.snkr-mainmenu__en {
    font-size: 24px;
    margin-bottom: 0;
    font-weight: 900;
}

@media screen and (max-width: 960px){
    .snkr-mainmenu__nav {
        flex: 1 1 auto;
        display: flex;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0px 30px;
        flex-direction: column;
        flex-wrap: wrap;
        justify-content: center;
        align-content: center;
    }
.snkr-mainmenu__item {
    max-width: 400px;
    width: 100%;
    padding: 0px 14px 0px 52px;
}
.snkr-mainmenu__bg {
    padding: 100px 20px;
}
    .site-branding {
        padding: 10px 20px 0px;
        width: 100%;
        max-width: initial;
        margin: 0px;
        position: relative;
        float: left;
        text-align: left;
}
.site-footer ul.sub-menu {
    margin-top: 16px;
}
}

@media screen and (max-width: 480px){
.snkr-mainmenu__head {
    flex: 0 0 auto;
    padding-left: 0px;
}
    .snkr-mainmenu__item {
        max-width: 400px;
        width: 80%;
        padding: 0px 14px 0px 36px;
    }
.snkr-mainmenu__head {
    flex: 0 0 auto;
    min-width: 260px;
    padding-left: 0px;
}
    .wp-show-posts-inner {
        margin: 0 !important;
    }
.entry-content h2.snkr-mainmenu__jp {
    color: #ffffff;
    font-size: 28px;
    margin-top: 0px;
}
.entry-content p.snkr-mainmenu__en {
    font-size: 28px;
    margin-bottom: 0;
    font-weight: 900;
}
    .site-footer ul.sub-menu {
        margin-top: 0px;
    }
}
/* ハンバーガーメニュー */
@media screen and (max-width: 960px){
.menu-menu-1-container li {
    margin-bottom: 4px;
}
ul.sub-menu {
    margin-top: 0;
    position: initial;
    padding-left: initial;
}
.menu-item-has-children:hover .sub-menu {
    display: contents;
    transition: all 0.3s;
    background: initial;
    padding: 0px 0px 10px;
    background: #ffffff;
    animation-name: fadein;
    animation-duration: 3s;
}
ul.sub-menu {
    position: absolute;
    display: contents;
    z-index: 100;
    width: 300px;
    margin-left: 0px;
    padding-left: 0;
    text-align: left;
    transition: all 0.3s;
}
}

.pickup {
    max-width: initial;
    margin: auto;
    text-align: center;
}

.pickup header.wp-show-posts-entry-header {
    display: flex;
    flex-direction: column-reverse;
}

@media screen and (max-width: 960px){
.pickup .wp-show-posts-columns:not(.wp-show-posts-masonry) {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}
.pickup article.wp-show-posts-single {
    width: 46%;
    margin: 0px 10px;
}
    .pickup .wp-show-posts-entry-header {
        gap: 0px;
    }
}

@media screen and (max-width: 700px) {
    .pickup article.wp-show-posts-single {
        width: 90%;
        max-width: 280px;
        margin: 0px 10px 30px;
    }
}

/* Event Manager */

.em.em-item .em-item-image.has-placeholder, .em.em-list .em-item .em-item-image.has-placeholder, .em.em-list-widget .em-item .em-item-image.has-placeholder {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.em.em-list .em-item .em-item-info {
    border-left: 4px solid var(--default-border);
    padding: 0 10px 0 35px;
    text-align: left;
}

@media (min-width: 600px) {
    .em.pixelbones h3 {
        font-size: calc(var(--font-size) + 10px) !important;
        font-weight: 700 !important;
        padding-bottom: 8px !important;
    }
}
.em.pixelbones h3 {
    font-size: calc(var(--font-size) + 10px) !important;
    line-height: 1.3 !important;
    padding-bottom: 8px !important;
    letter-spacing: 1px!important;
}
.em.em-list .em-item .em-item-info {
    border-left: initial;
    padding: 0 10px 0 30px;
    text-align: left;
}

.em.em-list .em-item {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2fr;
    border-top: 1px solid #333333;
    padding: 30px 4px 3px;
    background-color: var(--meta-bg);
    color: var(--default-color);
}

.em.em-list.em-grid .em-item .em-item-info, .em.em-list.size-small .em-item .em-item-info {
    border-left: none !important;
    border-top: initial;
    padding: 10px;
}
.em.em-item.em-item-single.size-medium .em-item-header .em-item-image img, .em.em-item.em-item-single.size-small .em-item-header .em-item-image img {
    padding: 0 0 10px !important;
    border: 0;
    border-bottom: initial;
}
.entry-content .em.pixelbones p {
    margin: 0 0 25px !important;
    line-height: 2em !important;
}

@media screen and (max-width: 480px){
.em.em-view-container {
    position: relative;
    padding: 0px;
}
.em.pixelbones h3 {
    font-size: calc(var(--font-size) + 2px) !important;
    line-height: 1.3 !important;
    padding-bottom: 8px !important;
    letter-spacing: 1px !important;
    font-weight: 700 !important;
}
}
.em.em-list .em-item .em-item-info .em-item-meta>div {
    flex: 1 1 52%!important;
    min-width: 300px;
}

/* イベント一覧や個別ページの価格を非表示 */
.em-event-price {
    display: none;
}
/* 予約フォームの価格を非表示 */
.em-booking-price {
    display: none;
}

.em.em-item.em-item-single .em-item-meta {
    flex: 1 1 auto;
    order: 1;
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    flex-direction: column;
    color: #333;
}
.em.pixelbones h2 {
    font-size: 32px!important;
    font-weight: 700!important;
    margin-top: 50px!important;
    margin-bottom: 30px!important;
    background: #071e55;
    padding: 20px 16px;
    color: #fff;
}
.border-heading {
  display: flex;
  align-items: center;
  width: 100%;
  font-size: 15px;
  letter-spacing: 0.05em;
  color: #000;
}

.border-heading::before,
.border-heading::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #aaaaaa;
}

.border-heading::before {
  margin-right: 16px;
}

.border-heading::after {
  margin-left: 16px;
}
@media screen and (max-width: 480px){
h2.border-heading {
    font-size: 16px;
}
}
h2.border-heading {
    margin: 60px auto 40px;
    color: #aaaaaa;
}

.em.em-item .em-item-image, .em.em-list .em-item .em-item-image {
    min-width: 150px;
    width: 100%;
    height: 100%;
    max-width: 340px;
}
h2.fronttitle.white {
    color: #ffffff;
    border-bottom: initial;
}

h2.backtitle.eng.red {
    color: #f00601;
}

/* イベント情報 */

.em.em-view-container {
    position: relative;
    max-width: 1000px;
    margin: 100px auto;
}

.em.em-item .em-item-meta .em-item-meta-line, .em.em-list .em-item .em-item-meta .em-item-meta-line, .em.em-list-widget .em-item .em-item-meta .em-item-meta-line {
    line-height: 22px;
    margin-bottom: 10px;
    display: grid
;
    grid-template-columns: 35px 1fr;
    color: #333333 !important;
}

.eventinfo .em.em-list .em-item .em-item-info h3.em-item-title a {
    color: #ffffff!important;
}

.snkr-mainmenu__bg.eventinfo {
    background-image: linear-gradient(rgba(0, 0, 0, .35), rgba(0, 0, 0, .35)), url(https://snooker.or.jp/jsawp/wp-content/uploads/2026/02/back_event_navy.png);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    background-attachment: fixed;
    padding: 200px 20px;
}

.eventinfo .em-event.em-item {
    border: 1px solid #fff !important;
    padding: 30px !important;
    background: #040711ba !important;
    margin-bottom: 30px;
}
.eventinfo .em.em-list .em-item .em-item-info {
    border-left: initial;
    padding: 0 10px 0 30px;
    text-align: left;
    color: #ffffff;
}

.eventinfo .em.pixelbones .button.input:not([data-nostyle]), .eventinfo .em.pixelbones .input .button:not([data-nostyle]), .eventinfo .em.pixelbones .input button:not([data-nostyle]), .eventinfo .em.pixelbones .input input[type=button]:not([data-nostyle]),.eventinfo  .em.pixelbones .input input[type=reset]:not([data-nostyle]), .eventinfo .em.pixelbones .input input[type=submit]:not([data-nostyle]), .eventinfo .em.pixelbones button.input:not([data-nostyle]), .eventinfo .em.pixelbones input[type=button].input:not([data-nostyle]), .eventinfo .em.pixelbones input[type=reset].input:not([data-nostyle]), .eventinfo .em.pixelbones input[type=submit].input:not([data-nostyle]), .eventinfo .em.pixelbones.input .button:not([data-nostyle]), .eventinfo .em.pixelbones.input button:not([data-nostyle]), .eventinfo .em.pixelbones.input input[type=button]:not([data-nostyle]), .eventinfo .em.pixelbones.input input[type=reset]:not([data-nostyle]), .eventinfo .em.pixelbones.input input[type=submit]:not([data-nostyle])
 {
    display: inline-block;
    height: 38px !important;
    padding: var(--button-padding) !important;
    color: hsl(0deg 0% 100%) !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 38px !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    background-color: transparent !important;
    border-radius: 4px !important;
    border: 1px solid hsl(0deg 0% 100%) !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
}
.eventinfo .em-item-meta-line.em-event-date.em-event-meta-datetime {
    font-size: 20px;
    font-weight: 900;
}
.eventinfo .em-item-desc {
    display: none;
}

.eventinfo .em.em-item .em-item-meta .em-item-meta-line, .eventinfo .em.em-list .em-item .em-item-meta .em-item-meta-line, .eventinfo .em.em-list-widget .em-item .em-item-meta .em-item-meta-line {
    line-height: 22px;
    margin-bottom: 10px;
    display: grid;
    grid-template-columns: 0px 1fr;
    color: #fff!important;
}

.eventinfo .em .em-icon {
    display: inline-block;
    font-size: 20px;
    line-height: 22px;
    width: 0px;
    height: 0px;
    color: var(--meta-dashicons);
    margin: 0 0 -4px;
    padding: 0;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: 0px;
}
@media screen and (max-width: 680px){
.eventinfo .em.em-list .em-item .em-item-info {
    border-left: initial;
    padding: 10px 0px 0 0px;
    text-align: left;
    color: #ffffff;
	}}
@media (min-width: 600px) {
    .em.pixelbones h4 {
        font-size: calc(var(--font-size) + 4px) !important;
        font-weight: 900!important;
    }
}
@media screen and (max-width: 480px)｛
.snkr-mainmenu__bg.eventinfo {
    padding: 50px 20px;
}
.em.em-view-container {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}
.snkr-mainmenu__bg.eventinfo {
    padding: 100px 20px;
}
｝
.wp-show-posts-columns#wpsp-3655 {
    margin-left: -1em!important;
}
.wp-show-posts-columns#wpsp-3655 .wp-show-posts-inner {
    margin: 0 0 2em 1em!important;
}
.wp-show-posts-columns#wpsp-3655 {
    margin-left: -1em!important;
}

.dressimage {
  display: flex;
  gap: 24px;
  font-size: 20px;
}

.dresstextarea,
.dressimagearea {
  flex: 1 1 0;
}

.dressimagearea img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 440px;
  margin: auto;
}

/* 960px以下で縦並び */
@media screen and (max-width: 960px) {
  .dressimage {
    flex-direction: column;
  }
td.drestitle{
	font-size:24px;
}
	.snk-dresscode.w1300.left.pd-m h3{
		font-size:32px;
	}
}

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

.entry-content .dresstextarea h2 {
    font-size: 32px;
    margin-bottom: 20px;
}

/* =========================================================
   sponsor banners css (clean full replace)
   date: 2026-02-09 jst
   ========================================================= */

/* utility */
.mb100{ margin-bottom: 100px; }

/* =========================
   1) normal sponsor grid (auto-fit)
   - pc: auto wrap (up to 5 cols around 1200px)
   - <=480px: force 2 cols
   - text is outside white box
   ========================= */

.entry-content .sno_banners_wrap{
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}

.entry-content ul.sno_banners_grid{
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 0;

  display: grid;
  gap: 18px;

  /* auto wrap */
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.entry-content li.sno_banners_item{
  margin: 0;
  padding: 0;

  display: flex;
  flex-direction: column;
  align-items: center;
}

.entry-content .sno_banners_link{
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 2px;

  min-height: 84px;
  padding: 14px;

  text-decoration: none;
  transition: opacity .15s ease;
}

.entry-content .sno_banners_link:hover{ opacity: .85; }

.entry-content .sno_banners_img{
  display: block;
  max-width: 100%;
  height: auto;
  max-height: 56px;
  object-fit: contain;
}

/* text (outside white box) */
.entry-content .sno_banners_text{
  margin: 2px 0 0;
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
  color: #333;
}

/* <=480: force 2 columns */
@media (max-width: 480px){
  .entry-content ul.sno_banners_grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .entry-content .sno_banners_link{
    min-height: 76px;
    padding: 12px;
  }
}


/* =========================
   2) large 2-column banners (always 2 cols)
   - 1.5x feel
   ========================= */

.entry-content .sno_banners2_wrap{
  width: 100%;
  max-width: 1200px; /* 画面いっぱいにしたいなら削除 */
  margin: 0 auto;
  padding: 0;
}

.entry-content ul.sno_banners2_grid{
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 0;

  display: grid;
  gap: 22px;

  /* always 2 cols */
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.entry-content li.sno_banners2_item{
  margin: 0;
  padding: 0;
}

.entry-content .sno_banners2_link{
  display: flex;
  align-items: center;
  justify-content: center;

  width: 100%;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 2px;

  min-height: 126px;
  padding: 22px;

  text-decoration: none;
  transition: opacity .15s ease;
}

.entry-content .sno_banners2_link:hover{ opacity: .85; }

.entry-content .sno_banners2_img{
  display: block;
  max-width: 100%;
  height: auto;
  max-height: 76px;
  object-fit: contain;
}

/* <=480: keep 2 cols, tighten only */
@media (max-width: 480px){
  .entry-content ul.sno_banners2_grid{
    gap: 12px;
  }

  .entry-content .sno_banners2_link{
    min-height: 108px;
    padding: 16px;
  }

  .entry-content .sno_banners2_img{
    max-height: 64px;
  }
}
/* =========================================
   2列 big banners
   ========================================= */

.entry-content .sno_banners_wrap{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}

/* ul: 箇条書き解除 + 2列grid */
.entry-content ul.sno_banners_grid_big{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  padding-left: 0 !important;

  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
}

/* li: 余計なmargin解除 + 縦並び（箱＋テキスト） */
.entry-content li.sno_banners_item_big{
  margin: 0 !important;
  padding: 0 !important;

  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 白背景box（リンク） */
.entry-content .sno_banners_link_big{
  width: 100%;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 2px;

  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 126px; /* 大きめ */
  padding: 22px;

  text-decoration: none;
  transition: opacity .15s ease;
}

.entry-content .sno_banners_link_big:hover{
  opacity: .85;
}

/* 画像 */
.entry-content .sno_banners_img_big{
  display: block;
  max-width: 100%;
  height: auto;
  max-height: 90px;
  object-fit: contain;
}

/* 下テキスト */
.entry-content .sno_banners_text_big{
  margin: 6px 0 0;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
  color: #333;
}

/* 480以下：2列のままでもok（必要なら1列に変更可） */
@media (max-width: 480px){
  .entry-content ul.sno_banners_grid_big{
    gap: 12px !important;
  }

  .entry-content .sno_banners_link_big{
    min-height: 108px;
    padding: 16px;
  }

  .entry-content .sno_banners_img_big{
    max-height: 64px;
  }
}

/* =========================================
   2列bigバナー：960px以下で縦並び
   ========================================= */

@media (max-width: 960px){
  .entry-content ul.sno_banners_grid_big{
    grid-template-columns: 1fr!important;
    gap: 16px!important;
  }
}


/* =========================================
   single full-width banner
   ========================================= */

.entry-content .sno_banners_wrap{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}

/* ul：1カラム固定 */
.entry-content ul.sno_banners_grid_single{
  list-style: none;
  margin: 0;
  padding: 0;
  padding-left: 0;

  display: grid;
  grid-template-columns: 1fr;
}

/* li */
.entry-content li.sno_banners_item_single{
  margin: 0;
  padding: 0;

  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 白背景バナー（幅いっぱい） */
.entry-content .sno_banners_link_single{
  width: 100%;
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 2px;

  display: flex;
  align-items: center;
  justify-content: center;

  /* bigバナーと同等サイズ感 */
  min-height: 150px;
  padding: 26px;

  text-decoration: none;
  transition: opacity .15s ease;
}

.entry-content .sno_banners_link_single:hover{
  opacity: .85;
}

/* 画像 */
.entry-content .sno_banners_img_single{
  display: block;
  max-width: 100%;
  height: auto;
  max-height: 90px;
  object-fit: contain;
}

/* 下のテキスト */
.entry-content .sno_banners_text_single{
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
  color: #333;
}

/* スマホ */
@media (max-width: 480px){
  .entry-content .sno_banners_link_single{
    min-height: 120px;
    padding: 18px;
  }

  .entry-content .sno_banners_img_single{
    max-height: 120px;
  }
}

.entry-content p.sno_banners_text {
    margin: 0 auto 10px;
}

.entry-content .pickup h2.fronttitle {
    border-bottom: initial;
    max-width: initial;
    margin-bottom: 30px;
}
.wppsac-post-content-position {
    text-align: left;
}
.wprpsp-post-carousel .slick-prev,
.wprpsp-post-carousel .slick-next {
  background: none !important;
}


.wppsac-post-categories .wppsac-post-categories-list li:nth-child(4n+1) a {
    background: #3aa9f4;
}

.wprpsp-post-cats a[href*="/archives/category/event"]{
  background: #1a3986 !important;
  color: #fff !important;
  display: inline-block !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
}
ul.wppsac-post-categories-list {
    display: none;
}
.wppsac-post-categories {}.wppsac-post-content-position {
    display: flex;
    flex-direction: column-reverse;
}
.wppsac-post-slider .wppsac-post-date, .wppsac-post-carousel .wppsac-post-date {
    margin-bottom: 0px;
    position: relative;
    font-size: 15px;
}
.wppsac-post-slider h2.wppsac-post-title a, .wppsac-post-carousel h2.wppsac-post-title a {
    font-size: 20px;
    line-height: 26px;
}
.footmenu .wp-block-image img {
    max-width: 250px;
}

/* 競技説明 */

/* section background (navy) */
.sno_navy_section {
  background: #040711ba !important;
  color: #ffffff;
  padding: 28px 40px;
  border: 1px solid #fff;
  margin: 0 auto 50px;
  max-width: 1200px;
}

.sno_navy_inner {
  max-width: 1200px;
  margin: 0 auto;
}

/* layout */
.sno_navy_grid {
  display: flex;
  gap: 20px;
  align-items: stretch;
}

/* image */
.sno_navy_media {
  margin: 0;
  flex: 3 7 40%;
  margin-top: 20px;
}

.sno_navy_media_img {
  width: 100%;
  height: 100%;
  max-height: 520px;
  object-fit: cover;
  display: block;
}

/* text */
.sno_navy_body {
  flex: 3 7 70%;
  display: flex;
  flex-direction: column;
  min-width: 0;
  text-align: justify;
  padding-left: 20px;
}

.sno_navy_head {
  margin-bottom: 18px;
}

.sno_navy_title_en {
  font-size: 52px; /* requested */
  line-height: 1.05;
  letter-spacing: 0.02em;
  margin: 0 0 10px;
  "", font-family: system-ui;
}

.sno_navy_title_ja {
  font-size: 24px; /* requested */
  margin: 0;
  font-weight: 700;
  opacity: 0.92;
}

.sno_navy_text p {
  font-size: 15px; /* requested */
  line-height: 1.6;
  margin: 0 0 0px;
}

/* bottom-right pdf */
.sno_navy_cta {
  margin-top: auto;
  display: flex;
  justify-content: flex-end;
  padding-top: 18px;
}

.sno_navy_pdf_link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: #ffffff;
  text-decoration: underline;
}

.sno_navy_pdf_text {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.sno_navy_pdf_icon {
  width: 56px;
  height: 28px;
  display: block;
}

/* responsive */
@media (max-width: 960px) {
  .sno_navy_grid {
    flex-direction: column;
    gap: 0px;
  }

  .sno_navy_media_img {
    max-height: 380px;
  }

  .sno_navy_cta {
    justify-content: end; /* 縦並び時は左寄せにしたい場合 */
    padding-top: 30px;
  }
.sno_navy_body {
    padding-left: 0px;
}
}
.entry-content p.sno_navy_title_ja {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 0;
    color: #cccccc;
}
h2.sno_navy_title_en {
    font-size: 52px;
    color: #ffffff;
    margin-top: 0;
    margin-bottom: 0;
}
@media screen and (max-width: 480px){
	.footmenu .wp-block-image img {
    max-width: 100%;
}
h2.sno_navy_title_en {
    line-height: 1.1;
}
.entry-content p.sno_navy_title_ja {
    font-size: 20px;
}
.sno_navy_section {
    padding: 10px 20px;
    margin: 0 auto 50px;
    width: 86%;
}
	h2.sno_navy_title_en {
    font-size: 42px;
}
}
.snkr-mainmenu__inner.rule {
    display: flex
;
    flex-direction: column;
}
.pgcu-theme-1 .pgcu-post__details {
    padding: 20px;
    display: flex;
    flex-direction: column-reverse;
    min-height: 160px;
    justify-content: flex-end;
    text-align: left;
}
.pgcu-theme-1 .pgcu-post__title {
    margin-bottom: 12px !important;
    font-size: 16px;
}

.pcp-carousel-wrapper .sp-pcp-carousel {
    padding-bottom: 60px;
    padding-top: 20px!important;
}

.sp-pcp-post .sp-pcp-title, .sp-pcp-post .sp-pcp-title a {
    text-transform: none;
    font-size: 18px;
    line-height: 24px;
    color: #111;
    font-weight: 700;
    text-decoration: none;
    text-align: left;
}
#pcp_wrapper-4010.pcp-carousel-wrapper .sp-pcp-post {
    margin-top: 0;
    background: #fff;
    padding: 20px;
    min-height: 340px;
    box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
}

img.custom-logo {
    max-width: 220px;
}
button.em-event-add-to-calendar.em-tooltip-ddm.em-clickable.input {
    display: none;
}
@media screen and (max-width: 480px){
img.custom-logo {
    max-width: 170px;
}
}
.single .site-branding {
    padding: 2px 10px 0px 39px;
 }
@media screen and (max-width: 480px){
.single .site-branding {
    padding: 2px 10px 0px 20px;
}
.page .site-branding {
    padding-top: 10px;
}
}
@media screen and (max-width: 960px){
.single .site-branding {
    padding: 2px 10px 0px 20px;
}
}
@media screen and (max-width: 480px){