@charset "utf-8";

/*
Theme Name: Tamachi Shinbun
Theme URI: http://minimalwp.com/category/gallery/
Description: Tamachi Shinbun editorial theme based on Minimaga.
Version: 20260429
Tested up to: 6.9
Requires PHP: 7.4
Author: Minimal WP
Author URI: http://minimalwp.com
License: 
License URI:
Tags: custom-menu
Text Domain: minimaga
*/


/* ***************************************************************** 
*	基本設定
* ***************************************************************** */

body {
font-family: "Hiragino Kaku Gothic ProN","游ゴシック",YuGothic,"メイリオ",Meiryo,sans-serif;
font-weight: 500;
font-size: 16px;
background: #fff;
color: #333;
line-height: 190%;
word-wrap:break-word;
overflow-wrap:break-word;
}

/* *****************************************************************
*	Tamachi Shinbun editorial skin
* ***************************************************************** */

:root {
--ts-bg: #F7F5F2;
--ts-green: #1A1A1A;
--ts-gold: #C4955A;
--ts-text: #1A1A1A;
--ts-gray: #8C8C8C;
--ts-line: rgba(26, 26, 26, 0.12);
--ts-white: #fff;
}

body {
background: var(--ts-bg);
color: var(--ts-text);
font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Meiryo, sans-serif;
font-weight: 400;
letter-spacing: 0;
line-height: 1.8;
}

body,
button,
input,
textarea {
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}

a {
color: inherit;
}

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

.ts-container {
box-sizing: border-box;
margin: 0 auto;
max-width: 1100px;
width: 75%;
}

.ts-site-header {
background: var(--ts-bg);
border-bottom: 0;
}

.ts-header-inner {
align-items: center;
display: flex;
justify-content: flex-start;
min-height: 106px;
padding-bottom: 10px;
padding-top: 18px;
}

.ts-logo,
.ts-logo a,
.ts-footer-logo {
font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
font-size: 30px;
font-weight: 400;
letter-spacing: 0.08em;
line-height: 1;
text-decoration: none;
}

.ts-logo {
margin: 0;
}

.ts-brand {
align-items: flex-start;
display: flex;
flex-direction: column;
gap: 6px;
}

.ts-logo a {
color: var(--ts-text);
display: block;
}

.ts-logo img {
display: block;
filter: brightness(0) saturate(100%);
height: auto;
width: 190px;
}

.ts-tagline {
color: rgba(26, 26, 26, 0.68);
font-size: 13px;
letter-spacing: 0.08em;
line-height: 1.5;
margin: 0;
}

.ts-footer-logo img {
display: block;
filter: brightness(0) invert(1);
height: auto;
width: 178px;
}

.ts-news-ticker {
background: var(--ts-bg);
color: var(--ts-text);
overflow: hidden;
white-space: nowrap;
}

.ts-news-ticker-inner {
border-bottom: 1px solid var(--ts-text);
border-top: 1px solid var(--ts-text);
overflow: hidden;
}

.ts-news-ticker-track {
align-items: center;
animation: tsTicker 18s linear infinite;
display: inline-flex;
gap: 72px;
min-width: max-content;
padding: 13px 0;
}

.ts-news-ticker:hover .ts-news-ticker-track {
animation-play-state: paused;
}

.ts-news-ticker a,
.ts-news-ticker span {
color: var(--ts-text);
font-family: "Cormorant Garamond", "Noto Sans JP", Georgia, sans-serif;
font-size: 16px;
letter-spacing: 0.08em;
text-decoration: none;
}

.ts-news-ticker a::before,
.ts-news-ticker span::before {
background: var(--ts-text);
border-radius: 999px;
color: #fff;
content: "NEWS";
font-family: "Cormorant Garamond", Georgia, serif;
font-size: 11px;
letter-spacing: 0.12em;
margin: 0 16px 0 0;
padding: 4px 10px 3px;
}

@keyframes tsTicker {
from {
transform: translateX(100%);
}
to {
transform: translateX(-100%);
}
}

.ts-nav,
.ts-footer-nav,
.ts-social {
align-items: center;
display: flex;
gap: 34px;
}

.ts-nav {
background: transparent;
border: 0;
border-radius: 0;
box-shadow: none;
gap: 30px;
margin-left: auto;
padding: 0;
}

.ts-nav a,
.ts-footer-nav a {
color: var(--ts-green);
font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
font-size: 14px;
letter-spacing: 0.04em;
line-height: 1;
padding: 18px 0 16px;
position: relative;
text-decoration: none;
}

.ts-nav a {
align-items: center;
border-radius: 0;
display: flex;
flex-direction: column;
gap: 7px;
transition: background 220ms ease, color 220ms ease;
}

.ts-nav a:hover,
.ts-nav a[aria-current="page"] {
background: transparent;
color: var(--ts-green);
}

.ts-nav a span {
font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
font-size: 14px;
letter-spacing: 0.06em;
}

.ts-nav a small {
color: rgba(26, 26, 26, 0.58);
font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Meiryo, sans-serif;
font-size: 11px;
font-weight: 400;
letter-spacing: 0.04em;
line-height: 1;
}

.ts-nav a[aria-current="page"]::after {
background: var(--ts-gold);
bottom: 6px;
content: "";
height: 1px;
left: 50%;
position: absolute;
transform: translateX(-50%);
width: 22px;
}

.ts-search-toggle {
align-items: center;
appearance: none;
background: rgba(255, 255, 255, 0.62);
border: 1px solid rgba(26, 26, 26, 0.18);
border-radius: 50%;
color: var(--ts-green);
cursor: pointer;
display: inline-flex;
font-size: 22px;
height: 42px;
justify-content: center;
line-height: 1;
margin-left: 22px;
padding: 0;
transition: background 220ms ease, border-color 220ms ease, color 220ms ease;
width: 42px;
}

.ts-search-toggle:hover,
.ts-search-toggle[aria-expanded="true"] {
background: var(--ts-green);
border-color: var(--ts-green);
color: #fff;
}

.ts-search-modal {
align-items: center;
background: rgba(26, 26, 26, 0.32);
display: flex;
inset: 0;
justify-content: center;
opacity: 0;
padding: 32px;
pointer-events: none;
position: fixed;
transition: opacity 240ms ease;
z-index: 90;
}

.ts-search-modal.is-open {
opacity: 1;
pointer-events: auto;
}

body.ts-search-open {
overflow: hidden;
}

.ts-search-modal-panel {
background: rgba(247, 245, 242, 0.96);
border: 1px solid rgba(196, 149, 90, 0.42);
box-shadow: 0 24px 70px rgba(26, 26, 26, 0.18);
box-sizing: border-box;
max-width: 560px;
opacity: 0;
padding: 42px;
position: relative;
transform: translateY(12px);
transition: opacity 260ms ease, transform 260ms ease;
width: min(100%, 560px);
}

.ts-search-modal.is-open .ts-search-modal-panel {
opacity: 1;
transform: translateY(0);
}

.ts-search-close {
appearance: none;
background: transparent;
border: 0;
color: var(--ts-green);
cursor: pointer;
font-size: 28px;
line-height: 1;
padding: 0;
position: absolute;
right: 22px;
top: 18px;
}

.ts-search-label {
color: var(--ts-gold);
font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
font-size: 16px;
letter-spacing: 0.14em;
margin-bottom: 22px;
}

.ts-modal-search-form {
display: flex;
gap: 12px;
}

.ts-modal-search-form label {
display: block;
flex: 1;
}

.ts-modal-search-form input {
appearance: none;
background: #fff;
border: 1px solid rgba(26, 26, 26, 0.18);
border-radius: 0;
box-sizing: border-box;
color: var(--ts-text);
font: inherit;
height: 52px;
outline: 0;
padding: 0 16px;
width: 100%;
}

.ts-modal-search-form input:focus {
border-color: var(--ts-green);
}

.ts-modal-search-form button {
appearance: none;
background: var(--ts-green);
border: 1px solid var(--ts-green);
border-radius: 0;
color: #fff;
cursor: pointer;
font: inherit;
height: 52px;
padding: 0 24px;
}

.ts-footer-nav a {
font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", YuGothic, Meiryo, sans-serif;
font-size: 13px;
letter-spacing: 0.08em;
}

.ts-home-hero {
display: grid;
gap: 32px;
grid-template-columns: repeat(3, minmax(0, 1fr));
padding-top: 42px;
}

.ts-hero-image,
.ts-card-image,
.ts-single-hero {
background: #eee;
border-radius: 6px;
overflow: hidden;
}

.ts-hero-image {
aspect-ratio: 4 / 3;
grid-column: span 2;
}

.ts-hero-image img,
.ts-card-image img,
.ts-single-hero img {
height: 100%;
object-fit: cover;
width: 100%;
}

.ts-single-content img,
.ts-tabloid-cover {
border-radius: 6px;
}

.ts-hero-copy {
align-self: center;
padding: 18px 0;
}

.ts-eyebrow,
.ts-card-meta,
.ts-page-label,
.ts-about-label,
.ts-single-category {
color: var(--ts-gold);
font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
font-size: 13px;
font-weight: 400;
letter-spacing: 0.08em;
line-height: 1.4;
text-transform: uppercase;
}

.ts-hero-copy h2,
.ts-editorial-card h3,
.ts-article-card h3,
.ts-category-hero h1,
.ts-single-title h1,
.ts-section-heading h2,
.ts-newsletter h2,
.ts-about-content h2 {
font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
font-weight: 400;
letter-spacing: 0.02em;
}

.ts-hero-copy h2 {
border: 0;
font-size: clamp(30px, 2.9vw, 44px);
line-height: 1.42;
margin: 28px 0 0;
padding: 0;
}

.ts-hero-copy h2 a,
.ts-editorial-card h3 a,
.ts-article-card h3 a {
color: var(--ts-green);
text-decoration: none;
transition: color 220ms ease;
}

.ts-hero-copy h2 a:hover,
.ts-editorial-card h3 a:hover,
.ts-article-card h3 a:hover,
.ts-tabloid-feature-copy h2 a:hover,
.ts-tabloid-card h3 a:hover {
color: var(--ts-gold);
}

.ts-gold-rule,
.ts-label-rule {
background: var(--ts-gold);
height: 1px;
width: 40px;
}

.ts-gold-rule {
margin: 34px 0 28px;
}

.ts-hero-copy .ts-hero-date {
margin: 30px 0 0;
}

.ts-hero-copy .ts-hero-date,
.ts-editorial-card time,
.ts-article-card time,
.ts-single-title time {
color: var(--ts-gray);
font-size: 13px;
letter-spacing: 0.02em;
}


.ts-sub-hero {
display: grid;
gap: 32px;
grid-template-columns: repeat(3, minmax(0, 1fr));
padding: 22px 0 46px;
}

.ts-editorial-card,
.ts-article-card {
min-width: 0;
}

.ts-card-image {
aspect-ratio: 4 / 3;
display: block;
}

.ts-editorial-card .ts-card-meta,
.ts-card-body .ts-card-meta {
margin-top: 18px;
}

.ts-editorial-card h3,
.ts-article-card h3 {
font-size: 21px;
line-height: 1.55;
margin: 8px 0 10px;
}

.ts-section-heading {
align-items: center;
border: 0;
display: flex;
justify-content: space-between;
margin-bottom: 24px;
padding: 0;
}

.ts-section-heading h2 {
border: 0;
color: var(--ts-green);
font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
font-size: 38px;
letter-spacing: 0.08em;
line-height: 1;
margin: 0;
padding: 0;
}

.ts-section-heading::before,
.ts-section-heading::after,
.ts-section-heading h2::before,
.ts-section-heading h2::after,
.ts-hero-copy h2::before,
.ts-hero-copy h2::after {
content: none;
display: none;
}

.ts-section-heading a {
color: var(--ts-gray);
font-size: 13px;
letter-spacing: 0.04em;
text-decoration: none;
}

.ts-card-grid {
display: grid;
gap: 32px;
grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ts-latest-heading-only {
padding-top: 52px;
}

.ts-latest-heading-only .ts-section-heading {
margin-bottom: 0;
}

.ts-latest {
padding-top: 0;
padding-bottom: 88px;
}

.ts-latest .ts-section-heading {
margin-bottom: 16px;
}

.ts-latest .ts-article-card {
background: transparent;
box-shadow: none;
}

.ts-latest .ts-article-card:hover {
box-shadow: none;
}

.ts-latest .ts-card-body {
padding: 0;
}

.ts-latest .ts-article-card h3 {
font-size: 21px;
}

.ts-pickup {
padding-bottom: 96px;
}

.ts-article-card {
background: #fff;
box-shadow: 0 8px 24px rgba(26, 26, 26, 0.06);
}

.ts-card-body {
padding: 0 20px 22px;
}

.ts-card-body .ts-card-meta {
font-size: 12px;
}

.ts-article-card h3 {
font-size: 19px;
}


.ts-newsletter {
background: var(--ts-green);
color: #fff;
}

.ts-newsletter-inner {
align-items: center;
display: flex;
gap: 48px;
justify-content: space-between;
padding-bottom: 56px;
padding-top: 56px;
}

.ts-newsletter h2 {
font-size: 30px;
line-height: 1.4;
margin: 0 0 6px;
}

.ts-newsletter p {
color: rgba(255, 255, 255, 0.72);
font-size: 14px;
margin: 0;
}

.ts-newsletter-form {
display: flex;
gap: 12px;
min-width: 430px;
}

.ts-newsletter-form input,
.ts-newsletter-form button {
border: 0;
border-radius: 0;
box-sizing: border-box;
font: inherit;
height: 48px;
}

.ts-newsletter-form input {
background: #fff;
color: var(--ts-text);
padding: 0 18px;
width: 280px;
}

.ts-newsletter-form button {
background: var(--ts-gold);
color: #fff;
cursor: pointer;
padding: 0 28px;
}

.ts-category-hero {
background: var(--ts-bg);
padding: 64px 0 56px;
}

.ts-page-label {
color: var(--ts-gray);
font-size: 13px;
letter-spacing: 0.18em;
margin-bottom: 18px;
}

.ts-label-rule {
margin-bottom: 24px;
}

.ts-category-hero h1 {
font-size: 32px;
line-height: 1.5;
margin: 0;
}

.ts-category-hero p {
color: var(--ts-gray);
font-size: 15px;
line-height: 1.9;
margin: 18px 0 0;
max-width: 620px;
}

.ts-archive-grid-wrap {
padding-bottom: 64px;
}

.ts-card-grid-archive {
grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ts-pagination {
color: var(--ts-gray);
display: flex;
gap: 18px;
justify-content: center;
padding: 48px 0 0;
}

.ts-pagination a,
.ts-pagination span {
align-items: center;
display: inline-flex;
height: 34px;
justify-content: center;
text-decoration: none;
}

.ts-pagination .page-numbers {
background: #fff;
border: 1px solid rgba(26, 26, 26, 0.08);
box-sizing: border-box;
min-width: 34px;
padding: 0 8px;
}

.ts-pagination .current {
background: var(--ts-gold);
border-color: var(--ts-gold);
color: #fff;
font-weight: 600;
}

.ts-single-hero {
aspect-ratio: 16 / 9;
overflow: hidden;
position: relative;
width: 100%;
}

.ts-single-hero::after {
background: linear-gradient(180deg, rgba(26, 26, 26, 0) 45%, rgba(26, 26, 26, 0.22) 100%);
content: "";
inset: 0;
pointer-events: none;
position: absolute;
}

.ts-single-hero > img {
height: 100%;
object-fit: cover;
width: 100%;
}

.ts-single-title {
margin: 0 auto;
max-width: 760px;
padding: 76px 40px 46px;
text-align: left;
}

.ts-single-category {
color: var(--ts-gray);
}

.ts-single-title h1 {
font-size: clamp(32px, 4vw, 50px);
line-height: 1.52;
margin: 20px 0 0;
}

.ts-single-title .ts-gold-rule {
margin: 30px 0 0;
}

.ts-single-content {
box-sizing: border-box;
margin: 0 auto;
max-width: 760px;
padding: 0 0 96px;
}

.ts-about-content {
box-sizing: border-box;
margin: 0 auto;
max-width: 680px;
padding: 0 0 96px;
}

.ts-single-content {
font-size: 23px;
line-height: 2.02;
}

.ts-single-content p,
.ts-single-content li {
font-size: 23px;
line-height: 2.02;
margin: 0 0 24px;
}

.ts-single-content h2 {
border-left: 0;
border-top: 0;
border-bottom: 1px solid var(--ts-text);
font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
font-size: 31px;
font-weight: 500;
line-height: 1.55;
margin: 56px 0 22px;
padding: 0 0 14px;
position: relative;
}

.ts-single-content h2::after {
background: var(--ts-text);
bottom: -1px;
content: "";
height: 1px;
left: 0;
position: absolute;
width: 64px;
}

.ts-single-content figure,
.ts-single-content .wp-block-image {
margin: 22px 0;
}

.ts-single-content figure img,
.ts-single-content .wp-block-image img {
aspect-ratio: 4 / 3;
height: auto;
object-fit: cover;
width: 100%;
}

.ts-single-content figcaption {
color: var(--ts-gray);
font-size: 13px;
margin-top: 10px;
text-align: center;
}

.ts-single-content .ts-shop-info {
background: #fff;
border: 1px solid var(--ts-text);
box-shadow: none;
box-sizing: border-box;
margin: 64px 0 52px;
padding: 34px 38px;
}

.ts-shop-info-label {
color: var(--ts-gray);
font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
font-size: 13px;
letter-spacing: 0.12em;
line-height: 1;
margin-bottom: 14px;
}

.ts-single-content .ts-shop-info h2 {
border: 0;
font-size: 25px;
margin: 0 0 22px;
padding: 0;
}

.ts-single-content .ts-shop-info h2::after {
content: none;
}

.ts-shop-info-note p {
color: var(--ts-gray);
font-size: 14px;
line-height: 1.8;
margin-bottom: 20px;
}

.ts-shop-info dl {
border-top: 1px solid var(--ts-line);
margin: 0;
}

.ts-shop-info dl div {
border-bottom: 1px solid var(--ts-line);
display: grid;
gap: 20px;
grid-template-columns: 110px 1fr;
padding: 14px 0;
}

.ts-shop-info dt {
color: var(--ts-green);
font-size: 12px;
font-weight: 600;
letter-spacing: 0.08em;
}

.ts-shop-info dd {
font-size: 14px;
line-height: 1.8;
margin: 0;
}

.ts-shop-info a {
color: var(--ts-green);
text-decoration: none;
}

.ts-google-map {
border: 0;
border-top: 1px solid var(--ts-text);
border-bottom: 1px solid var(--ts-text);
box-sizing: border-box;
margin: 30px calc(50% - 50vw) 36px;
overflow: hidden;
position: relative;
width: 100vw;
}

.ts-google-map iframe,
.ts-single-content iframe[src*="google.com/maps"] {
aspect-ratio: 16 / 5;
border: 0;
display: block;
height: auto;
width: 100%;
}

.ts-google-map iframe {
filter: grayscale(0.22) sepia(0.1) saturate(0.82) contrast(0.96);
}

.ts-google-map::after {
background: rgba(247, 245, 242, 0.1);
content: "";
inset: 0;
mix-blend-mode: multiply;
pointer-events: none;
position: absolute;
}

.ts-single-content iframe[src*="google.com/maps"] {
border: 0;
border-top: 1px solid var(--ts-text);
border-bottom: 1px solid var(--ts-text);
box-sizing: border-box;
filter: grayscale(0.22) sepia(0.1) saturate(0.82) contrast(0.96);
margin: 30px calc(50% - 50vw) 36px;
padding: 0;
width: 100vw;
}

.ts-single-content .ts-google-map iframe {
border: 0;
height: auto;
margin: 0;
width: 100%;
}

.ts-author-box {
align-items: center;
border-bottom: 1px solid var(--ts-line);
border-top: 1px solid var(--ts-line);
display: grid;
gap: 22px;
grid-template-columns: 72px 1fr auto;
margin: 0 auto 96px;
max-width: 760px;
padding: 28px 0;
}

.ts-single-page .ts-single-hero img {
animation: tsHeroSettle 900ms ease both;
}

.ts-single-content.ts-animate > p {
opacity: 0;
transform: translateY(10px);
}

.ts-single-content.is-visible > p {
animation: tsArticleIn 520ms ease both;
}

.ts-scroll-reveal {
opacity: 0;
transform: translateY(24px);
transition: opacity 900ms cubic-bezier(0.22, 1, 0.36, 1), transform 900ms cubic-bezier(0.22, 1, 0.36, 1), filter 900ms ease;
will-change: opacity, transform;
}

.ts-scroll-reveal.wp-block-image,
.ts-scroll-reveal.wp-block-gallery,
.ts-scroll-reveal.ts-google-map,
figure.ts-scroll-reveal {
filter: saturate(0.88);
transform: translateY(28px) scale(0.985);
}

.ts-scroll-reveal.is-visible {
filter: saturate(1);
opacity: 1;
transform: translateY(0) scale(1);
}

@keyframes tsArticleIn {
to {
opacity: 1;
transform: translateY(0);
}
}

@keyframes tsHeroSettle {
from {
filter: saturate(0.88);
transform: scale(1.012);
}
to {
filter: saturate(1);
transform: scale(1);
}
}

.ts-author-avatar img {
border-radius: 50%;
display: block;
}

.ts-author-name {
font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
font-size: 18px;
margin-bottom: 4px;
}

.ts-author-box p,
.ts-author-social {
color: var(--ts-gray);
font-size: 13px;
margin: 0;
}

.ts-author-social {
display: flex;
gap: 18px;
}

.ts-related {
padding-bottom: 96px;
}

.ts-section-heading-simple {
border-bottom: 1px solid var(--ts-text);
display: block;
padding-bottom: 14px;
}

.ts-section-heading-simple h2 {
font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
font-size: 28px;
letter-spacing: 0.02em;
}

.ts-about-content {
padding-top: 8px;
}

.ts-about-section {
margin-bottom: 56px;
}

.ts-about-label {
border-bottom: 1px solid rgba(196, 149, 90, 0.55);
color: var(--ts-text);
font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
font-size: 27px;
font-weight: 400;
letter-spacing: 0.02em;
line-height: 1.55;
margin-bottom: 24px;
padding: 0 0 14px;
text-transform: none;
}

.ts-about-block p,
.ts-about-box p {
font-size: 16px;
line-height: 1.9;
margin: 0 0 24px;
}

.ts-about-block a {
color: var(--ts-green);
text-decoration: none;
}

.ts-about-box {
background: #F0EDE8;
box-sizing: border-box;
padding: 32px;
}

.ts-about-cta {
padding-top: 8px;
text-align: center;
}

.ts-about-cta a {
border: 1px solid var(--ts-green);
color: var(--ts-green);
display: inline-block;
padding: 12px 32px;
text-decoration: none;
}

.ts-tabloid-content {
padding-bottom: 96px;
}

.ts-tabloid-feature {
align-items: center;
display: grid;
gap: 56px;
grid-template-columns: minmax(0, 0.92fr) minmax(0, 1fr);
padding: 24px 0 88px;
}

.ts-tabloid-cover {
aspect-ratio: 4 / 3;
background: #eee;
display: block;
overflow: hidden;
}

.ts-tabloid-cover img {
height: 100%;
object-fit: cover;
transition: transform 0.7s ease;
width: 100%;
}

.ts-tabloid-cover:hover img {
transform: scale(1.035);
}

.ts-tabloid-feature-copy h2,
.ts-tabloid-card h3,
.ts-tabloid-empty h2 {
font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
font-weight: 400;
letter-spacing: 0.02em;
}

.ts-tabloid-feature-copy h2 {
font-size: clamp(28px, 3vw, 42px);
line-height: 1.45;
margin: 18px 0 14px;
}

.ts-tabloid-feature-copy h2 a,
.ts-tabloid-card h3 a {
color: var(--ts-green);
text-decoration: none;
transition: color 220ms ease;
}

.ts-tabloid-feature-copy p {
font-size: 16px;
line-height: 1.9;
margin: 0 0 22px;
}

.ts-tabloid-date {
color: var(--ts-gray);
font-size: 13px;
}

.ts-tabloid-actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 28px;
}

.ts-tabloid-actions a {
border: 1px solid var(--ts-green);
color: var(--ts-green);
display: inline-block;
font-size: 13px;
letter-spacing: 0.04em;
padding: 11px 20px;
text-decoration: none;
}

.ts-tabloid-actions a + a {
border-color: var(--ts-gold);
color: var(--ts-gold);
}

.ts-tabloid-archive-heading {
margin-bottom: 32px;
}

.ts-tabloid-grid {
display: grid;
gap: 32px;
grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ts-tabloid-card {
background: #fff;
box-shadow: 0 12px 30px rgba(26, 26, 26, 0.055);
padding-bottom: 22px;
}

.ts-tabloid-card .ts-card-meta,
.ts-tabloid-card h3,
.ts-tabloid-card .ts-tabloid-date {
margin-left: 20px;
margin-right: 20px;
}

.ts-tabloid-card .ts-card-meta {
margin-top: 18px;
}

.ts-tabloid-card h3 {
font-size: 18px;
line-height: 1.6;
margin-bottom: 12px;
margin-top: 10px;
}

.ts-tabloid-empty {
background: #fff;
box-shadow: 0 12px 30px rgba(26, 26, 26, 0.055);
margin: 24px auto 96px;
max-width: 680px;
padding: 48px;
}

.ts-tabloid-empty h2 {
font-size: 28px;
line-height: 1.5;
margin: 18px 0;
}

.ts-tabloid-empty p {
font-size: 16px;
line-height: 1.9;
margin: 0;
}

.ts-site-footer {
background: var(--ts-text);
color: #fff;
padding: 44px 0 28px;
}

.ts-footer-main {
align-items: center;
display: grid;
gap: 28px;
grid-template-columns: 1fr auto 1fr;
}

.ts-footer-logo {
color: #fff;
font-size: 26px;
}

.ts-footer-nav {
gap: 30px;
justify-content: center;
}

.ts-footer-nav a {
color: rgba(255, 255, 255, 0.78);
padding: 0;
}

.ts-social {
gap: 22px;
justify-content: flex-end;
}

.ts-social a {
color: var(--ts-gold);
font-family: "Cormorant Garamond", Georgia, serif;
font-size: 18px;
text-decoration: none;
}

.ts-instagram-block {
padding-bottom: 96px;
}

.ts-reel-layout {
align-items: start;
display: grid;
gap: 56px;
grid-template-columns: minmax(0, 1fr) 260px;
}

.ts-reel-copy h2 {
color: var(--ts-green);
font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
font-size: clamp(26px, 2.4vw, 36px);
font-weight: 400;
line-height: 1.5;
margin: 18px 0 18px;
}

.ts-reel-copy p {
color: var(--ts-text);
font-size: 15px;
line-height: 1.9;
margin: 0 0 22px;
max-width: 560px;
}

.ts-text-link {
color: var(--ts-green);
font-size: 14px;
letter-spacing: 0.04em;
text-decoration: none;
}

.ts-reel-frame {
align-items: center;
aspect-ratio: 9 / 16;
background: #ddd;
border-radius: 6px;
box-shadow: 0 18px 40px rgba(26, 26, 26, 0.14);
color: #fff;
display: flex;
justify-content: center;
margin-top: -62px;
overflow: hidden;
position: relative;
text-decoration: none;
}

.ts-reel-slide {
background:
linear-gradient(rgba(26, 26, 26, 0.18), rgba(26, 26, 26, 0.28)),
var(--ts-reel-image, url("images/main_01.jpg")) center / cover no-repeat;
border-radius: 6px;
color: #fff;
inset: 0;
opacity: 0;
position: absolute;
text-decoration: none;
transform: scale(1.025);
transition: opacity 900ms ease, transform 2400ms ease;
}

.ts-reel-slide.is-active {
opacity: 1;
transform: scale(1);
z-index: 1;
}

.ts-reel-video {
height: 100%;
inset: 0;
object-fit: cover;
position: absolute;
width: 100%;
z-index: 0;
}

.ts-reel-label {
color: rgba(255, 255, 255, 0.82);
font-family: "Cormorant Garamond", Georgia, serif;
font-size: 13px;
left: 18px;
letter-spacing: 0.12em;
position: absolute;
top: 18px;
z-index: 2;
}

.ts-reel-play {
align-items: center;
background: rgba(255, 255, 255, 0.2);
border: 1px solid rgba(255, 255, 255, 0.55);
border-radius: 50%;
display: flex;
height: 54px;
justify-content: center;
padding-left: 3px;
width: 54px;
z-index: 2;
}

.ts-typewriter {
border-right: 0;
display: inline-block;
max-width: none;
overflow: visible;
white-space: nowrap;
}

.ts-typewriter-latest {
max-width: none;
}

.ts-typewriter-short {
max-width: none;
}

.is-visible .ts-typewriter {
border-right: 1px solid var(--ts-gold);
max-width: 15ch;
}

.is-visible .ts-typewriter-latest {
max-width: 18ch;
}

.is-visible .ts-typewriter-short {
max-width: 13ch;
}

.ts-typewriter-char {
display: inline-block;
opacity: 0;
transform: none;
}

.is-visible .ts-typewriter-char {
animation: tsCharIn 420ms ease forwards;
animation-delay: calc(var(--ts-char-index, 0) * 48ms);
}

.is-visible .ts-typewriter::after {
animation: tsCaret 850ms step-end 3;
border-right: 1px solid var(--ts-gold);
content: "";
display: inline-block;
height: 0.9em;
margin-left: 0.08em;
vertical-align: -0.05em;
}

.is-visible .ts-typewriter {
border-right: 0;
}

@keyframes tsCharIn {
to {
opacity: 1;
}
}

@keyframes tsType {
from {
max-width: 0;
}
to {
max-width: 15ch;
}
}

@keyframes tsTypeLatest {
from {
max-width: 0;
}
to {
max-width: 18ch;
}
}

@keyframes tsTypeShort {
from {
max-width: 0;
}
to {
max-width: 13ch;
}
}

@keyframes tsCaret {
0%, 100% {
border-color: transparent;
}
50% {
border-color: var(--ts-gold);
}
}

@keyframes tsFadeUp {
from {
opacity: 0;
transform: translateY(16px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

.ts-animate {
opacity: 0;
transform: translateY(16px);
transition: opacity 420ms ease, transform 420ms ease;
}

.ts-animate.is-visible {
opacity: 1;
transform: translateY(0);
}

.ts-card-image img,
.ts-hero-image img,
.ts-reel-frame,
.ts-article-card,
.ts-editorial-card,
.ts-nav a,
.ts-footer-nav a,
.ts-social a {
transition: color 220ms ease, opacity 220ms ease, transform 500ms ease, box-shadow 300ms ease;
}

.ts-card-image:hover img,
.ts-hero-image:hover img,
.ts-reel-frame:hover,
.ts-reel-slide:hover {
transform: scale(1.025);
}

.ts-article-card:hover {
box-shadow: 0 14px 32px rgba(26, 26, 26, 0.09);
transform: translateY(-2px);
}

.ts-editorial-card:hover {
transform: translateY(-2px);
}

.ts-nav a:hover,
.ts-footer-nav a:hover,
.ts-social a:hover {
opacity: 0.7;
}

.ts-home-map {
padding-bottom: 104px;
}

.ts-not-gutter {
padding-bottom: 108px;
}

.ts-not-gutter-layout {
align-items: center;
background: rgba(255, 255, 255, 0.42);
border: 1px solid var(--ts-text);
border-radius: 6px;
display: grid;
gap: 44px;
grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
padding: 30px;
}

.ts-not-gutter-image {
aspect-ratio: 4 / 3;
background: #eee;
border-radius: 6px;
display: block;
overflow: hidden;
position: relative;
}

.ts-not-gutter-image img {
height: 100%;
object-fit: cover;
position: absolute;
inset: 0;
opacity: 0;
transform: translateY(34px) scale(1.015);
transition: opacity 1400ms cubic-bezier(0.19, 1, 0.22, 1), transform 1600ms cubic-bezier(0.19, 1, 0.22, 1);
width: 100%;
}

.ts-not-gutter-image img.is-active {
opacity: 1;
transform: translateY(0);
z-index: 1;
}

.ts-not-gutter-image:hover img.is-active {
transform: scale(1.025);
}

.ts-not-gutter-copy h3 {
font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
font-size: 38px;
font-weight: 400;
letter-spacing: 0.08em;
line-height: 1;
margin: 14px 0 22px;
}

.ts-not-gutter-copy p {
font-size: 15px;
line-height: 1.95;
margin: 0 0 24px;
max-width: 560px;
}

.ts-home-map-copy {
margin: 0 0 30px;
max-width: 560px;
}

.ts-home-map-copy p {
color: var(--ts-text);
font-size: 15px;
line-height: 1.9;
margin: 0;
}

.ts-home-map .ts-google-map.ts-home-my-map {
border-top: 1px solid var(--ts-text) !important;
border-bottom: 1px solid var(--ts-text) !important;
box-shadow: none;
margin: 30px calc(50% - 50vw) 36px;
width: 100vw;
}

.ts-home-map .ts-google-map.ts-home-my-map::after {
display: none;
}

.ts-home-map .ts-home-my-map iframe {
aspect-ratio: 16 / 5;
height: auto;
min-height: 360px;
width: 100%;
}

.ts-home-map-placeholder {
align-items: center;
background: #fff;
border-top: 1px solid var(--ts-text);
border-bottom: 1px solid var(--ts-text);
box-shadow: none;
box-sizing: border-box;
display: flex;
flex-direction: column;
justify-content: center;
margin: 30px calc(50% - 50vw) 36px;
min-height: 360px;
padding: 40px;
text-align: center;
width: 100vw;
}

.ts-home-map-placeholder p {
color: var(--ts-gray);
font-size: 15px;
line-height: 1.8;
margin: 12px 0 0;
max-width: 460px;
}

@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
scroll-behavior: auto !important;
transition-duration: 0.01ms !important;
}

.ts-typewriter {
max-width: none;
border-right: 0;
}

.ts-typewriter-char {
opacity: 1;
transform: none;
}

.is-visible .ts-typewriter::after {
display: none;
}

.ts-single-content.ts-animate > p,
.ts-single-content.ts-animate > h2,
.ts-single-content.ts-animate > figure,
.ts-single-content.ts-animate > .wp-block-image,
.ts-single-content.ts-animate > .ts-shop-info,
.ts-single-content.ts-animate > .ts-google-map,
.ts-single-content.ts-animate > iframe {
opacity: 1;
transform: none;
}

.ts-news-ticker-track {
animation: none !important;
transform: none !important;
}
}

.ts-footer-copy {
color: var(--ts-gray);
font-size: 12px;
margin-top: 24px;
text-align: center;
}

.ts-page-top {
align-items: center;
background: rgba(247, 245, 242, 0.9);
border-radius: 50%;
border: 1px solid rgba(26, 26, 26, 0.22);
bottom: 96px;
box-shadow: 0 12px 26px rgba(26, 26, 26, 0.08);
color: var(--ts-green);
cursor: pointer;
display: inline-flex;
font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
font-size: 30px;
height: 58px;
justify-content: center;
opacity: 0;
pointer-events: none;
position: fixed;
right: 56px;
transform: translateY(10px);
transition: opacity 260ms ease, transform 260ms ease, background 220ms ease, color 220ms ease, border-color 220ms ease;
width: 58px;
z-index: 40;
}

.ts-page-top.is-visible {
opacity: 1;
pointer-events: auto;
transform: translateY(0);
}

.ts-page-top:hover {
background: var(--ts-green);
border-color: var(--ts-green);
color: #fff;
}

.ts-empty {
margin: 0;
padding: 64px 0;
text-align: center;
}

@media screen and (max-width: 1024px) {
.ts-container {
width: calc(100% - 48px);
}

.ts-home-hero,
.ts-sub-hero,
.ts-card-grid,
.ts-not-gutter-layout {
grid-template-columns: 1fr;
}

.ts-hero-image {
grid-column: auto;
}

.ts-newsletter-inner,
.ts-header-inner {
align-items: flex-start;
flex-direction: column;
}

.ts-header-inner {
padding-bottom: 14px;
padding-top: 22px;
}

.ts-logo img {
width: 168px;
}

.ts-brand {
gap: 6px;
}

.ts-tagline {
font-size: 12px;
}

.ts-nav {
margin-left: 0;
overflow-x: auto;
max-width: 100%;
gap: 24px;
}

.ts-search-toggle {
font-size: 20px;
height: 38px;
margin-left: 0;
width: 38px;
}

.ts-search-modal {
padding: 24px;
}

.ts-search-modal-panel {
padding: 34px 24px 28px;
}

.ts-modal-search-form {
flex-direction: column;
}

.ts-latest-heading-only .ts-section-heading,
.ts-pickup .ts-section-heading {
align-items: stretch;
flex-direction: column;
gap: 12px;
}

.ts-latest-heading-only .ts-section-heading a,
.ts-pickup .ts-section-heading a {
align-self: flex-end;
}
}

.ts-newsletter-form {
min-width: 0;
width: 100%;
}

.ts-page-top {
bottom: 32px;
right: 32px;
}

.ts-newsletter-form input {
width: 100%;
}

.ts-instagram-block {
display: block;
}

.ts-reel-layout {
grid-template-columns: 1fr;
}

.ts-reel-frame {
justify-self: end;
max-width: 260px;
width: 100%;
}

@media screen and (min-width: 768px) {
.ts-instagram-block .ts-reel-layout {
grid-template-columns: minmax(0, 1fr) 260px;
}
}

@media screen and (max-width: 767px) {
.ts-reel-frame {
justify-self: center;
margin-top: 0;
}

.ts-home-my-map iframe,
.ts-home-map-placeholder {
min-height: 240px;
}
}

.ts-footer-main,
.ts-author-box {
grid-template-columns: 1fr;
}

.ts-footer-main {
justify-items: center;
text-align: center;
}

.ts-tabloid-feature,
.ts-tabloid-grid {
grid-template-columns: 1fr;
}

.ts-footer-logo img {
margin: 0 auto;
}

.ts-single-title {
padding-left: 24px;
padding-right: 24px;
}

.ts-single-content,
.ts-about-content,
.ts-author-box {
width: calc(100% - 48px);
}

.ts-single-content {
font-size: 19px;
line-height: 1.95;
}

.ts-single-content p,
.ts-single-content li {
font-size: 19px;
line-height: 1.95;
}

.ts-shop-info dl div {
grid-template-columns: 1fr;
gap: 4px;
}

.ts-single-content .ts-shop-info {
padding: 28px 24px;
}

.ts-google-map iframe,
.ts-single-content iframe[src*="google.com/maps"] {
aspect-ratio: 16 / 5;
}

.ts-footer-nav,
.ts-social {
justify-content: center;
}
}


/* リンク
---------------------------------------------------- */

a{
color:#378893;
text-decoration:none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

a:hover{
color:#666;
}


/* 画像
---------------------------------------------------- */

img{
border:0;
padding:0px;
margin:0px
}


/* フロート
---------------------------------------------------- */

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

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

.aligncenter { 
display: block; 
margin: 0 auto; 
}

.clear { 
clear:both; 
}



/* リスト
---------------------------------------------------- */

ol {
margin: 10px 0 20px 10px;
padding: 0 0 0 0;
list-style: decimal;
}

ul {
margin: 10px 0 20px 4px;
padding: 0 0 0 0;
list-style: disc;
}

li {
margin: 10px 0 10px 15px;
padding: 0;
}

li a {
color:#378893;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

li a:hover{
color:#666;
}



/* *****************************************************************
*	全体Wrapper
* ***************************************************************** */

.wrapper {
margin: auto; 
max-width: 960px;
padding: 50px 30px 50px 30px;
}



/* ***************************************************************** 
*	ヘッダー
* ***************************************************************** */

.topborder{
border-top: 7px solid #333;
}

#header {
width: 100%;
margin: 0 auto; 
}

.header-inner {
max-width: 960px;
overflow: hidden;
margin: 0px auto;
padding: 40px 0;
}

#header h1 {
text-align:center;
margin: 0;	
}

.logo {
text-align:center;
margin: 0 ;
padding: 0;
}



/* トップヘッダー画像
---------------------------------------------------- */

.top-header {
width: 100%;
margin: 30px auto 0px auto;
text-align: center;
}


/* ワンカラムページのイメージヘッダー
---------------------------------------------------- */

.head-img {
width: 100%;
text-align: center;
overflow: hidden;
margin: 30px 0 0px 0;
}

.head-img img {
margin: 0px auto 10px auto;
}


/* トップナビゲーション
---------------------------------------------------- */

#nav {
width: 960px;
margin: 0 auto 0px auto;
z-index: 9999;
padding: 0;
text-align: center;
}

#nav ul {
list-style: none;
margin: auto;
}

.main-navigation {
clear: both;
margin: 0 auto;
position: relative;
}

ul.nav-menu,
div.nav-menu > ul {
margin: 0;
padding: 0;
}

.nav-menu li {
display: inline-block;
position: relative;
margin: 0 -2px 0 -2px;
}

.nav-menu li a {
color: #333;
display: block;
font-size: 13px;
font-weight: bold;
text-decoration: none;
padding: 12px 30px 12px 30px;
}

.nav-menu li:hover > a,
.nav-menu li a:hover {
background: #eee;
}

.nav-menu .sub-menu,
.nav-menu .children {
background: #eee;
display: none;
padding: 0;
position: absolute;
z-index: 99999;
}

.nav-menu .sub-menu ul,
.nav-menu .children ul {
border-left: 0;
left: 100%;
top: 0;
}

ul.nav-menu ul a,
.nav-menu ul ul a {
color: #333;
margin: 0;
width: 200px;
}

ul.nav-menu ul a:hover,
.nav-menu ul ul a:hover {
background: #f5f5f5;
}

ul.nav-menu li:hover > ul,
.nav-menu ul li:hover > ul {
display: block;
background: #eee;
}

.nav-menu .current_page_item > a,
.nav-menu .current_page_ancestor > a,
.nav-menu .current-menu-item > a,
.nav-menu .current-menu-ancestor > a,
.nav-menu .current-post-ancestor > a {
color: #333;
background: #f5f5f5;
}

.toggle {
display: none;
}

.menu-toggle {
width: 40px;
height: 40px;
}

.hamburger { display: none; }


/* ハンバーガーメニュー
---------------------------------------------------- */

/*!
* Hamburgers
* @description Tasty CSS-animated hamburgers
* @author Jonathan Suh @jonsuh
* @site https://jonsuh.com/hamburgers
* @link https://github.com/jonsuh/hamburgers
*/

.hamburger {
padding: 12px 2px;
display: inline-block;
cursor: pointer;
transition-property: opacity, -webkit-filter;
transition-property: opacity, filter;
transition-property: opacity, filter, -webkit-filter;
transition-duration: 0.15s;
transition-timing-function: linear;
font: inherit;
color: inherit;
text-transform: none;
background-color: transparent;
border: 0;
margin: 0;
overflow: visible; }
.hamburger:hover {
opacity: 0.7; }

.hamburger-box {
width: 50px;
height: 25px;
display: inline-block;
position: relative; }

.hamburger-inner {
display: block;
top: 50%;
margin-top: -2px; }
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
width: 30px;
height: 2px;
background-color: #000;
border-radius: 4px;
position: absolute;
transition-property: -webkit-transform;
transition-property: transform;
transition-property: transform, -webkit-transform;
transition-duration: 0.15s;
transition-timing-function: ease; }
.hamburger-inner::before, .hamburger-inner::after {
content: "";
display: block; }
.hamburger-inner::before {
top: -10px; }
.hamburger-inner::after {
bottom: -10px; }

/*
* Spin
*/
.hamburger--spin .hamburger-inner {
transition-duration: 0.3s;
transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
.hamburger--spin .hamburger-inner::before {
transition: top 0.1s 0.34s ease-in, opacity 0.1s ease-in; }
.hamburger--spin .hamburger-inner::after {
transition: bottom 0.1s 0.34s ease-in, -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19);
transition: bottom 0.1s 0.34s ease-in, transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.3s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--spin.is-active .hamburger-inner {
-webkit-transform: rotate(225deg);
transform: rotate(225deg);
transition-delay: 0.14s;
transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
.hamburger--spin.is-active .hamburger-inner::before {
top: 0;
opacity: 0;
transition: top 0.1s ease-out, opacity 0.1s 0.14s ease-out; }
.hamburger--spin.is-active .hamburger-inner::after {
bottom: 0;
-webkit-transform: rotate(-90deg);
transform: rotate(-90deg);
transition: bottom 0.1s ease-out, -webkit-transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1);
transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1);
transition: bottom 0.1s ease-out, transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.3s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); }


/* スクロールダウンメニュー
---------------------------------------------------- */

/**
 * cbslideheader - A jQuery plugin to display or hide headerbar with a sliding motion
 * @version v0.3.8
 * @author maechabin <mail@chab.in> http://mae.chab.in/
 * @license MIT license
 */

.cb-header {
position: fixed;
left: 0;
visibility: hidden;
}

.header1 {
background-color: #FFF;
margin-top: -1px;
border-bottom: 1px solid #dedede;
text-align: center;
width: 100%;
}



/* ***************************************************************** 
*	メイン（本文）コンテンツ
* ***************************************************************** */	

#main {
margin: 0 0 0 0;
padding: 0 0 0 0;
}


/* ギャラリーレイアウト
---------------------------------------------------- */

li.item {
height: 450px;
margin-bottom: 50px;
position: relative;
}

.item-img {
margin: 0 0 10px 0;
overflow: hidden;
text-align:center;
}

.item-cat {
font-size: 65%;
color: #999;
padding: 0 0 0px 0;
margin: 0 0 20px 0;
max-height: 65px;
overflow:hidden;
}

.item-cat a {
color: #444;
}

.item-cat-name {
position: absolute;
top: 0;
left: 0;
padding: 0px 8px;
font-size: 65%;
max-height: 25px;
background: #eee;
overflow:hidden;
}

.item-cat-name a {
color: #333;
}

.news { background-color: #eee; } /* カテゴリーカラー変更 */

.item-date {
font-size: 70%;
color: #ccc;
padding: 0 0 0 0;
margin: 0 0 10px 0;
max-height: 50px;
overflow:hidden;
line-height: 150%;
}

.item h2 {
font-size: 16px;
line-height: 150%;
font-weight: bold;
letter-spacing: 0.03em;
text-decoration: underline;
}

.item-title {
margin: 0 0 0 0;
padding: 5px 0px 0px 0px;
border-top: 0px solid #ccc;
border-bottom: 0px solid #ccc;
}

.item-title a {
color: #333;
}

.item-title a:hover {
color: #666;
}

.item-text {
font-size: 13px;
color: #555;
line-height: 170%;
}

/* CSS3アニメーション */

.img-anime2 img {
-webkit-transition: all 0.3s ease-out;
transition: all 0.3s ease-out;
}

.img-anime2:hover img {
-webkit-transform: scale(1.3);
transform: scale(1.3);
}



/* ブログ記事部分
---------------------------------------------------- */

.single-contents {
margin: 0 0 50px 0;
}

.page-contents {
margin: 0 0 50px 0;
}

p {
font-size: 16px; 
color: #333;
line-height: 200%;
padding: 15px 0px 15px 0px;
}

p a {
color:#378893;
text-decoration:none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

p a:hover {
color:#666;
}



/* ページ日付
---------------------------------------------------- */

.pagedate {
font-size: 12px;
font-weight: normal;
text-align: left;
padding: 0 0 0 0;
margin: 0 0 -10px 0;
color: #555;
letter-spacing: 0.02em;
}

/* ページタイトル
---------------------------------------------------- */

.pagetitle-kotei {
color: #333;
font-size: 16px;
font-weight: bold;
letter-spacing: 0.05em;
font-style:normal;
margin: 0px 0px 20px 0px;
padding: 0 0 3px 0;
}

.pagetitle {
font-size: 18px;
font-weight: bold;
letter-spacing: 0.01em;
padding: 0px 0px 5px 0px;
margin: 0px auto 30px auto;
border-bottom: 3px double #ccc;
max-width: 300px;
text-align: center;
}

.pagetitle a {
color: #333;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

.pagetitle a:hover {
color: #666;
}

.pagetitle-top { 
font-size: 18px;
font-weight: bold;
letter-spacing: 0.01em;
padding: 0px 0px 5px 0px;
margin: 0px auto 30px auto;
border-bottom: 3px double #ccc;
max-width: 300px;
text-align: center;
}

.pagetitle-single {
color: #333;
font-size: 14px;
font-weight: bold;
letter-spacing: 0.05em;
font-style:normal;
margin: 0px 0px 10px 0px;
}

.pagetitle-single a {
color: #333;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

.pagetitle-single a:hover {
color: #666;
}


/* 投稿記事タイトルH1
---------------------------------------------------- */

.blog-title {
font-size: 22px;
line-height: 140%;
font-weight: bold;
color: #333;
margin: 20px 0px 20px 0px;
padding: 18px 0px 15px 0px;
border-top: 3px double #ccc;
border-bottom: 1px solid #ccc;
}

.blog-title a {
color:#333;
text-decoration:none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

.blog-title a:hover {
color:#666;
}


/* 見出し
---------------------------------------------------- */

h1 {
font-size: 24px;
margin: 40px 0px 20px 0px;
}

h2 {
font-size: 22px;
line-height: 130%;
font-weight: bold;
color: #333;
margin: 40px 0px 20px 0px;
padding: 18px 0px 15px 0px;
border-top: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}

h3 {
font-size: 20px;
line-height: 130%;
font-weight: bold;
color: #333;
padding: 0 0 5px 0;
margin: 40px 0 15px 0;
border-bottom:1px solid #ccc;
}

h4 {
font-size: 18px;
line-height: 130%;
font-weight: bold;
color: #555;
padding: 0 0 5px 0;
margin: 30px 0 10px 0;
border-bottom:1px dotted #ccc;
}

h5 {
font-size: 16px;
line-height: 1.3em;
margin: 30px 0 0px 0;
}

h6 {
font-size: 14px;
line-height: 1.3em;
margin: 30px 0 0px 0;
}


/* 記事フッター
---------------------------------------------------- */

.blog-foot {
clear: both;
font-size: 11px;
color: #999;
	margin-bottom: 30px;
}

.blog-foot span {
color:#999;
}


/* パンくずリスト
---------------------------------------------------- */

.breadcrumb {
margin: 0px 0 0px 0;
line-height: 120%;
}

.breadcrumb div {
display: inline;
font-size: 11px;
color: #999;
}

.breadcrumb span,
.breadcrumb span a {
color: #45aab8;
}

.breadcrumb ol {
margin: 0px;	
}

.breadcrumb li {
margin: 0px;	
display: inline;
}


/* 次の記事・前の記事
---------------------------------------------------- */

#next {
font-size: 90%;
line-height: 150%;
margin: 50px 0 20px 0;
}

.next-left {
float: left;
text-align: left;
margin: 0 0 10px 0;
background: url(images/left.gif) no-repeat left; 
}

.next-left a {
padding: 20px 20px 20px 50px;
display: block;
border: 1px solid #fff;
}

.next-left a:hover {
border: 1px solid #eee;
}

.next-right {
float: right;
text-align: right;
margin: 0 0 10px 0;
background: url(images/right.gif) no-repeat right; 
}

.next-right a {
padding: 20px 50px 20px 20px;
display: block;
border: 1px solid #fff;
}

.next-right a:hover {
border: 1px solid #eee;
}


/* ページャー
---------------------------------------------------- */

.pager {
text-align:center;
margin: 0px 0 30px 0;
}

a.page-numbers,
.pager .current {
background: #f0f0f0;
padding: 10px 10px;
margin:0 2px;
}

.pager .current {
background: #ccc;
color: #fff;
}



/* 関連記事
---------------------------------------------------- */

.similar {
margin: 0px 0px 50px 0px;
}

.similar-head {
color: #333;
font-size: 18px;
font-weight: bold;
letter-spacing: 0.05em;
font-style:normal;
margin: 30px 0px 10px 0px;
padding: 0 0 3px 0;
border-bottom: 3px double #ccc;
}

.similar ul{
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.similar li{
margin: 0 0 0 0;
padding: 0 0 0 0;
list-style: none;
}

.similar li a{
color:#555;
}

.similar li a:hover{
color:#888;
}

table.similar-text {
width: 100%;
color: #444;
margin: 0 0 0 0;
border-bottom: dotted 1px #ccc;
border-collapse: collapse;
border-spacing: 0;
}

table.similar-text img {
width: 150px;
}

table.similar-text th {
text-align: left;
width: 150px;
vertical-align: middle;
}

table.similar-text td {
text-align: left;
white-space: normal;
vertical-align: middle;
}



/* コメント欄
---------------------------------------------------- */

.comment-head, .comment-reply-title {
color: #333;
font-size: 18px;
font-weight: bold;
letter-spacing: 0.05em;
font-style:normal;
margin: 50px 0px 10px 0px;
padding: 0 0 3px 0;
border-bottom: 3px double #ccc;
}

.commentlist li{
list-style: none;
font-size:90%;
color:#888;
}

.commentlist {
margin: 0 0 50px 0;
padding: 0 0 0 0;
}

li.comment {
list-style: none;
font-size:90%;
color:#888;
margin: 30px 0px 30px 0px;
}

.comment p {
font-size: 14px;
}


/* WP必須
---------------------------------------------------- */

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

.wp-caption-text {
font-size:90%;
text-align: center;
}

.sticky {
}

.gallery-caption {
}

.bypostauthor {
}

/* Text meant only for screen readers. */
.screen-reader-text {
clip: rect(1px, 1px, 1px, 1px);
position: absolute !important;
height: 1px;
width: 1px;
overflow: hidden;
}

.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;
color: #21759b;
display: block;
font-size: 14px;
font-size: 0.875rem;
font-weight: bold;
height: auto;
left: 5px;
line-height: normal;
padding: 15px 23px 14px;
text-decoration: none;
top: 5px;
width: auto;
z-index: 100000; /* Above WP toolbar. */
}



/* *****************************************************************
*	サイドバー
* ***************************************************************** */

.sidebar {
width: 100%;
margin: 0px 0px 40px 0px;
}


/* 新着表示
---------------------------------------------------- */

.sidebox-new {
margin: 0 0 50px 0 ;
padding: 0 0 0 0 ;
}

.sidebox-new ul {
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.sidebox-new li {
list-style: none;
margin: 0 0 0 0;
padding: 0px 0 0px 0px;
border-bottom: 1px dotted #ddd;
}

.sidebox-new li a {
font-size: 14px;
color:#444;
list-style: none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

.sidebox-new li a:hover {
color:#999;
}

table.similar-side {
width: 100%;
color: #444;
margin: 0 0 0 0;
border-collapse: collapse;
border-spacing: 0;
}

table.similar-side img {
width: 80px;
}

table.similar-side th {
text-align: left;
width: 80px;
vertical-align: middle;
}

table.similar-side td {
text-align: left;
white-space: normal;
vertical-align: middle;
}


/* *****************************************************************
*	フッター
* ***************************************************************** */	

#footer {
background: #F5F5F5;
clear: both;
width: 100%;
font-size: 80%;
margin: 0px auto 0px auto;
}

.footer-inner {
margin: 0px auto 0px auto;
padding: 0px 0px;
max-width: 960px;
}

#copyright {
font-size: 10px;
line-height: 110%;
color: #999;
text-align: center;
position: relative;
margin: 0;
padding: 10px;
background: #444;
}

#copyright a {
color: #FFF;
}



/* *****************************************************************
*	ウィジェット
* ***************************************************************** */

/* 基本形
---------------------------------------------------- */

.widget{
margin: 30px 0 50px 0;
}

.widget ul{
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.widget li{
list-style: none;
}

.widget li a{
color: #666;
}

.widget li a:hover{
color: #999;
}

.widget_recent_entries li a,
.widget_archive li a,
.widget_categories li a,
.widget_nav_menu li a{
margin: 0 0 0 0;
}

.textwidget, .textwidget p {
font-size: 16px;
color: #444;
line-height: 170%;
margin: 0 0;
padding: 0px 0px 0px 0px;
}

.widget-title{
color: #333;
font-size: 16px;
font-weight: bold;
letter-spacing: 0.05em;
font-style:normal;
margin: 0px 0px 10px 0px;
padding: 0 0 3px 0;
border-bottom: 3px double #ccc;
}

.widget_block h2 {
font-size: 16px !important;
border-bottom: 3px double #ccc;
border-top: none;
margin: 0px 0px 10px 0px !important;
padding: 0px 0 3px 0 !important;
}


/* ウィジェットボックストップページ用
---------------------------------------------------- */

.topbox　{
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.topbox h2,
.topbox h3,
.topbox h4 {
border-bottom: none;
}

.topbox ul {
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.topbox li {
margin: 0 0 0 0;
padding: 7px 0px 6px 0px;
list-style: none;
border-bottom:1px dotted #ddd;
}

.topbox li a {
font-size: 15px;
line-height: 160%;
color: #333;
margin: 0 0 0 0;
padding: 7px 0px 6px 0px;
list-style: none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

.topbox li a:hover {
color:#666;
}

.topbox ul.children{
margin-bottom: 0px;
display: block;
padding: 5px 0 0 0;
}

.topbox ul.children li{
padding-left: 15px;
padding-top: 5px;
border-top: 1px dotted #ccc;
border-bottom: 0px dotted #ccc;
}

.topbox ul.sub-menu{
margin-bottom: 0px;
display: block;
padding: 5px 0 0 0;
}

.topbox ul.sub-menu li{
padding-left: 15px;
padding-top: 5px;
border-top: 1px dotted #ccc;
border-bottom: 0px dotted #ccc;
}

.top-widget-title {
font-size: 18px;
letter-spacing: 0.01em;
padding: 0px 0px 10px 0px;
margin: 30px auto 40px auto;
border-bottom: 3px double #ccc;
max-width: 300px;
text-align: center;
}



/* ウィジェットボックス全画面コンテンツ用
---------------------------------------------------- */

.top-wide-contents {
width: 100%;
margin: 0 0 0 0;
background :#f9f9f9;
}

.top-wide-contents .widget {
margin: 0 0 0 0;
padding: 5px 20px 5px 20px;
}

.top-wide-contents .textwidget, 
.top-wide-contents .textwidget p {
color: #444;
line-height: 170%;
margin: 0 0 30px 0;
text-align: center;
}

.top-wide-contents .top-widget-title {
font-weight: bold;
margin-bottom: 30px;
padding: 0px 0 5px 0;
border-bottom: 4px solid #444;
}

.top-wide-contents ul{
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.top-wide-contents li{
margin: 0 0 0 0;
padding: 7px 0px 6px 0px;
list-style: none;
border-bottom:1px dotted #ddd;
}

.top-wide-contents li a{
line-height: 160%;
color: #444;
margin: 0 0 0 0;
padding: 7px 0px 6px 0px;
list-style: none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

.top-wide-contents li a:hover{
color:#999;
}

.top-wide-contents ul.children{
margin-bottom: 0px;
display: block;
padding: 5px 0 0 0;
}

.top-wide-contents ul.children li{
padding-left: 15px;
padding-top: 5px;
border-top: 1px dotted #ccc;
border-bottom: 0px dotted #ccc;
}

.top-wide-contents ul.sub-menu{
margin-bottom: 0px;
display: block;
padding: 5px 0 0 0;
}

.top-wide-contents ul.sub-menu li{
padding-left: 15px;
padding-top: 5px;
border-top: 1px dotted #ccc;
border-bottom: 0px dotted #ccc;
}


/* ウィジェットボックスフッター用
---------------------------------------------------- */

.footerbox {
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.footerbox .widget {
margin: 0 0 0 0;
padding: 50px 0 50px 0;
}

.footerbox h2,
.footerbox h3,
.footerbox h4 {
border-bottom: none;
}

.footerbox ul {
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.footerbox li {
margin: 0 0 0 0;
padding: 7px 0px 6px 0px;
list-style: none;
border-bottom:1px dotted #ddd;
}

.footerbox li a {
font-size: 14px;
line-height: 160%;
color: #444;
margin: 0 0 0 0;
padding: 7px 0px 6px 0px;
list-style: none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

.footerbox li a:hover {
color:#999;
}

.footerbox ul.children {
margin-bottom: 0px;
display: block;
padding: 5px 0 0 0;
}

.footerbox ul.children li {
padding-left: 15px;
padding-top: 5px;
border-top: 1px dotted #ccc;
border-bottom: 0px dotted #ccc;
}

.footerbox ul.sub-menu {
margin-bottom: 0px;
display: block;
padding: 5px 0 0 0;
}

.footerbox ul.sub-menu li {
padding-left: 15px;
padding-top: 5px;
border-top: 1px dotted #ccc;
border-bottom: 0px dotted #ccc;
}

.footer-widget-title {
color: #333;
font-size: 16px;
font-weight: bold;
letter-spacing: 0.05em;
font-style:normal;
margin: 0px 0px 10px 0px;
padding: 0px 0 3px 0;
border-bottom: 3px double #ccc;
}


/* ウィジェットボックスシングルページ記事下用
---------------------------------------------------- */

.singlebox {
margin: 50px 0 50px 0 ;
padding: 0 0 0 0 ;
}

.singlebox .textwidget,
.singlebox .textwidget p {
font-size: 16px;
color: #444;
line-height: 170%;
margin: 0 0 0px 0;
padding: 5px 0 5px 0;
}

.singlebox h2,
.singlebox h3,
.singlebox h4 {
border-bottom: none;
}

.singlebox ul{
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.singlebox li{
margin: 0 0 0 0;
padding: 7px 0px 6px 0px;
list-style: none;
border-bottom:1px dotted #ddd;
}

.singlebox li a {
font-size: 16px;
line-height: 160%;
color: #444;
margin: 0 0 0 0;
padding: 7px 0px 6px 0px;
list-style: none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

.singlebox li a:hover {
color:#999;
}

.single-widget-title {
color: #333;
font-size: 18px;
font-weight: bold;
letter-spacing: 0.05em;
font-style:normal;
margin: 50px 0 10px 0 ;
padding: 0 0 3px 0;
border-bottom: 3px double #ccc;
}

.singlebox ul.children {
margin-bottom: 0px;
display: block;
padding: 5px 0 0 0;
}

.singlebox ul.children li {
padding-left: 15px;
padding-top: 5px;
border-top: 1px dotted #ccc;
border-bottom: 0px dotted #ccc;
}

.singlebox ul.sub-menu {
margin-bottom: 0px;
display: block;
padding: 5px 0 0 0;
}

.singlebox ul.sub-menu li {
padding-left: 15px;
padding-top: 5px;
border-top: 1px dotted #ccc;
border-bottom: 0px dotted #ccc;
}


/* ウィジェットボックスサイドバー用
---------------------------------------------------- */

.sidebox {
margin: 0 0 30px 0 ;
padding: 0 0 0 0 ;
}

.sidebox ul{
margin: 0 0 0 0;
padding: 0 0 0 0;
}

.sidebox li{
margin: 0 0 0 0;
padding: 7px 0px 7px 0px;
list-style: none;
border-bottom: 1px dotted #ddd;
}

.sidebox li a{
font-size: 14px;
color: #444;
margin: 0 0 0 0;
padding: 5px 0px 5px 0px;
line-height: 150%;
list-style: none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

.sidebox li a:hover{
color:#999;
}

.sidebox h2,
.sidebox h3,
.sidebox h4 {
margin: 0;
padding: 0;
border-bottom: none;
}

.sidebox ul.children{
margin-bottom: 0px;
display: block;
padding: 5px 0 0 0;
}

.sidebox ul.children li{
padding: 5px 0 5px 15px;
border-top: 1px dotted #ccc;
border-bottom: 0px dotted #ccc;
}

.sidebox ul.sub-menu{
margin-bottom: 0px;
display: block;
padding: 5px 0 0 0;
}

.sidebox ul.sub-menu li{
padding: 5px 0 5px 15px;
border-top: 1px dotted #ccc;
border-bottom: 0px dotted #ccc;
}

.sidebox .textwidget {
margin: 0px 0 30px 0;
}


/* タグクラウド
---------------------------------------------------- */

.widget_tag_cloud a {
font-size: 13px !important;
line-height: 250%;
padding: 5px 10px;
margin: 0 5px 0 0;
background: #ddd;
word-break: keep-all;
border-radius: 1px
}


/* カレンダー
---------------------------------------------------- */

table#wp-calendar {
width: 100%
}

table#wp-calendar th {
text-align: center;
}

table#wp-calendar td {
text-align: center;
}


/* 検索フォーム
---------------------------------------------------- */

.search input {
font: 16px arial, sans-serif; 
line-height: 250%;
color: #333; 
width: 85%;
}

.search button {
width: 15px; 
height: 15px; 
cursor: pointer; 
vertical-align: middle;
border: none; 
background: url(images/search.png) no-repeat; 
}


/* ソーシャルウィジェット
---------------------------------------------------- */

.sidebox .wp-social-link svg {
height: 24px !important;
width: 35px !important;
padding: 0px;
}

.footerbox .wp-social-link svg {
height: 24px !important;
width: 38px !important;
padding: 0px;
}

.singlebox .wp-social-link svg, 
.top-wide-contents .wp-social-link svg, 
.topbox .wp-social-link svg {
height: 26px !important;
width: 24px !important;
padding: 0px 8px;
}



/* ************************************************ 
*	ライン・テーブル・装飾など
* ************************************************ */

/* ライン・囲み
---------------------------------------------------- */

.line-dotted {
margin: 0 0 0 0;
padding: 0 0 0 0;
border-bottom:1px dotted #CCC;
}

.line-solid {
margin: 0 0 0 0;
padding: 0 0 0 0;
border-bottom:1px solid #CCC;
}

.line-footmenu {
margin: 0 0 5px 0;
padding: 0 0 3px 0;
border-bottom:1px dotted #CCC;
}

.line-kakoi {
margin: 20px 0 40px 0;
padding: 20px 25px;
border: 1px solid #CCC;
}

.line-kakoi2 {
margin: 20px 0 40px 0;
padding: 20px 25px;
border: 3px dotted #CCC;
}


/* テーブル
---------------------------------------------------- */

.single-contents tabel,
.page-contents tabel {
width: 100%;
}
 
.single-contents th,
.single-contents td,
.page-contents th,
.page-contents td {
border: 1px solid #ccc;
padding: 20px;
}
 
.single-contents th,
.page-contents th {
font-weight: bold;
background-color: #dedede; 
}



/* CTA (コールトゥアクション)
---------------------------------------------------- */

.cta-minimal {
padding: 25px 20px 10px 20px;
margin: 0;
border: solid 1px #ccc;
background: #e8e8e8;
}

.cta-title {
font-family: Helvetica, arial, sans-serif;
margin: -30px -21px 30px -21px;
padding: 20px 0px 19px 0px;
font-size: 20px;
text-align: center;
font-weight: bold;
line-height: 140%;
color: #FFF;
border-top: solid 1px #ccc;
border-bottom: 0px solid #ccc;
border-left: solid 1px #ccc;
border-right: solid 1px #ccc;
background: #3e3e3e;
}

.bt-order a {
font-size: 15px;
color:#fff;
display: block;
text-align:center;
background-color: #10c98d;
margin: 20px 0 20px 0 ;
padding: 15px 15px;
border-radius: 3px;
 -webkit-border-radius: 3px;
 -moz-border-radius: 3px;
}

.bt-order a:hover {
color: #fff;
background: #008677;
text-decoration:none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}

.bt-order2 a{
color: #867888;
background: #ddd;
font-size: 14px;
display: block;
text-align:center;
margin: 20px 0 20px 0 ;
padding: 10px 15px;
border-radius: 3px;
 -webkit-border-radius: 3px;
 -moz-border-radius: 3px;
}

.bt-order2 a:hover{
color: #fff;
background: #999;
text-decoration:none;
transition: 0.5s;
-webkit-transition: 0.5s;
-moz-transition: 0.5s;
-o-transition: 0.5s;
-ms-transition: 0.5s;
}



/* *****************************************************************
*   レスポンシブ（メディアクエリ）
* ***************************************************************** */


/* PC 画面の横幅が960px以上
---------------------------------------------------- */

@media only screen and (min-width: 960px) {
.sidebar { width: 300px; }
.pc-ad-none { display: none; }
}



/* Tablet (Portrait) 画面の横幅が768px〜959pxまで
---------------------------------------------------- */

@media only screen and (min-width: 768px) and (max-width: 959px) {
.wrapper { width: 728px; padding: 50px 20px 50px 20px; }
.header-inner { width: 728px; }
#nav { float: none; width: 728px; margin: 0 auto 0px auto; padding: 0; }
li.item { height: 460px; margin-bottom:40px; }
li.item-gallery { height: 150px; }
.item-img { height: 150px; margin: 0 0 10px 0; overflow: hidden; }
.twothird { width: 460px; margin-right:10px; }
.footer-inner { width: 728px; padding: 0px 0px;}
}


/* Mobile (Portrait) 画面の横幅が300px~767pxまで（基本）
---------------------------------------------------- */

@media only screen and (max-width: 767px) {
.topborder { display: none; }
.wrapper { width: 300px; padding: 0px 0px 50px 0px; }
#header { width: 100%; height: 60px; background-color: #FFF; border-bottom: 1px solid #dedede; top:0; z-index: 100; }
.header-inner { width: 300px; max-width: 300px; padding: 10px 0 10px 0; }
.logo img { max-height: 40px; margin: auto; }
.top-header { margin: 0px auto 0px auto; }
.head-img { margin: 0; }
#nav { display: none; position: fixed; float: none; width: 100%; background: #fefefe; margin: 0px auto 40px auto; border-top: 1px solid #dedede; }
.nav-menu li a { color: #333; display: block; font-size: 15px; padding: 20px 10px; text-decoration: none;}
.nav-menu li { display: block; float: none; border-bottom: 1px solid #ededed; }
.toggle { display: block; float: right; position: fixed; top: 5px; right: -5px; z-index: 10000; }
li.item { height: 430px; margin-bottom: 50px; }
li.item-gallery { height: 200px; }
.item-img { height: 200px; margin: 0 0 10px 0; overflow: hidden; }
table.similar-text img { width: 100px; }
table.similar-text th { width: 100px; }
.pagedate { margin: -20px 0 -10px 0; }
.pagetitle-single { text-align: center; margin-top: 20px; }
.pagetitle-top { font-size: 14px; font-weight: bold; letter-spacing: 0.05em; padding: 0px 0px 30px 0px; margin-top: 20px; margin-bottom: -20px; border-bottom: none; text-align: center; }
.pagetitle { font-size: 14px; font-weight: bold; letter-spacing: 0.05em; padding: 0px 0px 0px 0px; margin: 20px auto 20px auto; border-bottom: none; text-align: center; }
p { font-size: 16px; }
.footer-inner { width: 300px; padding: 0px 0px;}
.single-contents br { display: none; }
.top-wide-contents br { display: none; }
.single-contents { margin: 0 0 50px 0; }
.page-contents { margin: 0px 0 50px 0; }
.block-three { margin-left: -3.1914893617021276%; width: 100%;}

.block-two { list-style: none; margin-left: -3.1914893617021276%; }
li.similar-item { float: left; width: 46.80851063829787%; }
li.similar-item { height: 200px; margin-bottom: 20px; overflow: hidden; }
.similar-item-title { font-size: 13px; line-height: 150%; font-weight: bold; }

}


/* Mobile (Portrait/iPhone6) 画面の横幅が375px〜479pxまで
---------------------------------------------------- */

@media only screen and (min-width: 375px) and (max-width: 479px) {
.wrapper { width: 336px; }
#header { width: 100%; max-width: 479px; }
.header-inner { width: 336px; }
li.item { height: 450px; margin-bottom: 50px; }
li.item-gallery { height: 224px; }
.item-img { height: 224px; }
.footer-inner { width: 336px; padding: 0px 0px;}
}


/* Mobile (Landscape) 画面の横幅が480px〜767pxまで
---------------------------------------------------- */

@media only screen and (min-width: 480px) and (max-width: 767px) {
.wrapper { width: 420px; }
#header { width: 100%; max-width: 767px; }
.header-inner { width: 420px; }
li.item { height: 500px; margin-bottom: 50px; }
li.item-gallery { height: 280px; }
.item-img { height: 280px; }
.footer-inner { width: 420px; padding: 0px 0px;}
}



/* *****************************************************************
*   レスポンシブ（外部サービス対策用）
* ***************************************************************** */

/* Twitter Timeline
---------------------------------------------------- */

.twitter-timeline { 
width:100%; 
height: 300px; 
}


/* YouTube embed
---------------------------------------------------- */

.youtube {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
margin-top: 20px;
margin-bottom: 20px;
}
.youtube iframe,
.youtube object,
.youtube embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


/* Google Map embed
---------------------------------------------------- */

.map {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
margin-top: 20px;
margin-bottom: 20px;
}
.map iframe,
.map object,
.map embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
