@charset "UTF-8";

/* フォント読み込み（使用中） */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap");
@import url("https://use.typekit.net/caj1gry.css");

/* ===== Reset & 基本 ===== */
abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
margin: 0;
padding: 0;
border: 0;
outline: 0;
font-size: 1em;
vertical-align: baseline;
background: transparent;
}

@media screen and (max-width: 820px) {
html {
font-size: 100%;
}
}

*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}

body {
line-height: 1;
font-family: Noto Sans JP, sans-serif;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
display: block;
}

nav ul,
ul li {
list-style: none;
}

blockquote,
q {
quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before {
content: "";
}

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

a {
margin: 0;
padding: 0;
font-size: 100%;
vertical-align: baseline;
background: transparent;
text-decoration: none;
}

ins {
text-decoration: none;
}

ins,
mark {
background-color: #ff9;
color: #000;
}

mark {
font-style: italic;
font-weight: 700;
}

del {
text-decoration: line-through;
}

abbr[title],
dfn[title] {
border-bottom: 1px dotted;
cursor: help;
}

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

hr {
display: block;
height: 1px;
border: 0;
border-top: 1px solid #ccc;
margin: 1em 0;
padding: 0;
}

input,
select {
vertical-align: middle;
}

article {
width: 100%;
height: 100%;
letter-spacing: 1px;
}

.pc_view {
display: inline-block;
}

@media screen and (max-width: 820px) {
.pc_view {
display: none;
}
}

.sp_view {
display: none;
}

@media screen and (max-width: 820px) {
.sp_view {
display: block;
}
}

/* ===== レイアウト ===== */
header {
width: 100%;
margin: 0 auto;
border-bottom: 3px solid #000;
}

.contener {
position: relative;
max-width: 1200px;
margin: 0 auto;
}

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

@media (max-width: 1024px) and (min-width: 821px) {
header {
padding: 6rem 0 1rem 0 !important;
}
.contener {
padding: 0 2rem;
}
}

@media screen and (max-width: 820px) {
header,
.contener {
padding: 0 1rem;
}
}

section {
width: 100%;
}

/* ===== ヘッダー ===== */
header {
padding: 1em 1em;
}

header .header-content > p {
font-size: 0.76rem;
text-align: center;
padding: 0 0 0.3rem 0;
}

header .header-content > a {
margin: 0.5rem auto;
width: 300px;
display: block;
}

header .header-content > a img {
width: 100%;
}

header .header-content .roof_menu{
/*float: right;*/
padding: 2rem 0 0 0;
text-align: center;
}
header .header-content .roof_menu ul li{
display: inline-block;
font-weight: 600;
font-size: 0.85rem;
line-height: 2.0;
}

header .header-content .roof_menu ul li a{
color: #000000;
padding: 5px 15px;
}
header .header-content .roof_menu ul li a:hover{
color: #fff;
background-color: #000000;

}


header .header-content .hd-btn {
position: absolute;
top: 0;
right: 0;
display: flex;
align-items: start;
z-index: 999999999999999;
}

header .header-content .hd-btn a {
position: relative;
color: #fff;
font-weight: bold;
border-radius: 0 0 1rem 1rem;
}

header .header-content .hd-btn a.hd-btn01 {
background-color: #000;
padding: 0.75rem 3.5rem 0.5rem 1rem;
margin-right: 0.5rem;
font-size: 0.75rem;
text-align: center;
box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2);
}

header .header-content .hd-btn a.hd-btn03 {
background-color: #e0ecfe;
padding: 1rem 3rem 1rem 1rem;
margin-right: 0.5rem;
color: #388cec;
box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2);
}

header .header-content .hd-btn a.hd-btn02 {
background-image: linear-gradient(90deg, #55cbc5, #1a8dee);
padding: 1rem 3rem 1rem 1rem;
box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.2);
}

header .header-content .hd-btn a img {
position: absolute;
top: 0;
bottom: 0;
right: 1rem;
margin: auto;
width: 30px;
height: auto;
}

@media screen and (max-width: 1024px) {
header {
padding: 5rem 0 1rem;
/*text-align: center;*/
}
header.entry-header{
padding: 0rem 0 1rem 0 !important;
}
header .header-content > a {
margin: 0.5rem auto;
width: 300px;
}

header .header-content .hd-btn {
position: fixed;
display: flex;
width: 100%;
z-index: 100;
}

header .header-content .hd-btn a.hd-btn01,
header .header-content .hd-btn a.hd-btn02,
header .header-content .hd-btn a.hd-btn03 {
width: 100%;
min-height: 60px;
display: block;
border-radius: inherit;
margin: 0;
}

header .header-content .hd-btn a img {
right: 1.25rem;
width: 32px;
}
}
@media (max-width: 480px) {
header .header-content .hd-btn a img {
right: 1.00rem;
width: 32px;
}
}
@media (max-width: 390px) {
header .header-content .hd-btn a img {
right: 0.55rem;
width: 28px;
}
}

/* ===== フッター ===== */
.footer {
background-color: #23334b;
padding: 2rem 0 1rem;
margin: 0 auto;
}

.footer-content {
padding: 0 2rem;
}

.footer-main {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 1rem;
gap: 2rem;
}

.footer-left {
flex: 1;
}

.footer-logo {
margin-bottom: 1.5rem;
}

.footer-logo img {
margin-bottom: 1.5rem;
width: 270px;
}

.footer-description,
.footer-notice {
font-size: 0.875rem;
color: #fff;
line-height: 1.5;
padding-bottom: 1rem;
}

.footer-right {
flex: 2;
text-align: right;
}

.footer-nav {
font-size: 0.875rem;
color: #333;
line-height: 1.8;
}

.footer-nav a {
color: #fff;
text-decoration: none;
transition: color 0.3s ease;
}

.footer-nav a:hover {
color: #00bcd4;
}

.footer-separator {
margin: 0 0.5rem;
color: #999;
}

.footer-bottom {
display: flex;
justify-content: space-between;
align-items: center;
padding-top: 1.5rem;
border-top: 1px solid #fff;
gap: 2rem;
}

.footer-copyright {
font-size: 0.75rem;
color: #fff;
flex: 1;
}

.footer-company-logo {
flex-shrink: 0;
}

.footer-notice a {
color: #ffffff;
}

.footer-notice a:hover {
color: #00bcd4;
}

@media (max-width: 768px) {
.footer-content {
padding: 0 1rem;
}

.footer-main {
flex-direction: column;
gap: 1.5rem;
}

.footer-right {
text-align: left;
}

.footer-nav {
display: flex;
flex-direction: column;
gap: 0.5rem;
}

.footer-separator {
display: none;
}

.footer-bottom {
flex-direction: column;
align-items: flex-start;
gap: 1rem;
}

.footer-company-logo {
align-self: flex-end;
}
}

@media (max-width: 480px) {
.footer-logo {
font-size: 1.5rem;
}

.footer-description,
.footer-nav {
font-size: 0.8rem;
}

.footer-copyright {
font-size: 0.7rem;
}
}



/* ===== slick thema ===== */

/* Slider */
.slick-loading .slick-list {
background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
font-family: "slick";
src: url("./fonts/slick.eot");
src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
font-weight: normal;
font-style: normal; }
/* Arrows */
.slick-prev,
.slick-next {
position: absolute;
display: block;
height: 20px;
width: 20px;
line-height: 0px;
font-size: 0px;
cursor: pointer;
background: transparent;
color: transparent;
top: 50%;
-webkit-transform: translate(0, -50%);
-ms-transform: translate(0, -50%);
transform: translate(0, -50%);
padding: 0;
border: none;
outline: none; }
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
outline: none;
background: transparent;
color: transparent; }
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
opacity: 1; }
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
opacity: 0.25; }
.slick-prev:before,
.slick-next:before {
font-family: "slick";
font-size: 20px;
line-height: 1;
color: white;
opacity: 0.75;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; }

.slick-prev {
left: -25px; }
[dir="rtl"] .slick-prev {
left: auto;
right: -25px; }
.slick-prev:before {
font-family: FontAwesome;
content: "\f053";
/*content: "←";*/ }
[dir="rtl"] .slick-prev:before {
font-family: FontAwesome;
content: "\f054";
/*content: "→";*/ }

.slick-next {
right: -25px; }
[dir="rtl"] .slick-next {
left: -25px;
right: auto; }
.slick-next:before {
font-family: FontAwesome;
content: "\f054";
/*content: "→";*/ }
[dir="rtl"] .slick-next:before {
font-family: FontAwesome;
content: "\f053";
/*content: "←";*/}

/* Dots */
.slick-dotted.slick-slider {
margin-bottom: 30px; }

.slick-dots {
position: absolute;
bottom: -25px;
list-style: none;
display: block;
text-align: center;
padding: 0;
margin: 0;
width: 100%; }
.slick-dots li {
position: relative;
display: inline-block;
height: 20px;
width: 20px;
margin: 0 5px;
padding: 0;
cursor: pointer; }
.slick-dots li button {
border: 0;
background: transparent;
display: block;
height: 20px;
width: 20px;
outline: none;
line-height: 0px;
font-size: 0px;
color: transparent;
padding: 5px;
cursor: pointer; }
.slick-dots li button:hover, .slick-dots li button:focus {
outline: none; }
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
opacity: 1; }
.slick-dots li button:before {
position: absolute;
top: 0;
left: 0;
content: "•";
width: 20px;
height: 20px;
font-family: "slick";
font-size: 6px;
line-height: 20px;
text-align: center;
color: black;
opacity: 0.25;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale; }
.slick-dots li.slick-active button:before {
color: black;
opacity: 0.75; }

/*# sourceMappingURL=slick-theme.css.map */

/* ===== cocoon上書き部分 ===== */

.pickup-carousel-section {
width: 100%;
margin: 0 0 40px;
padding: 40px 0;
overflow: hidden;
background-color: #EEE;
}
.pickup-slider .slick-dots li button:before {
font-size: 60px;
color: #999;
opacity: 1;
}
.pickup-content {
padding: 0 0 0;
}


.pickup-cat {
position: absolute;
top: 0;
left: 0;
font-size: 12px;
color: #ffffff;
background-color: rgba(51, 51, 51, 0.7);
padding: 2px 6px;
max-width: 70%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

.pickup-cats {
margin-bottom: 0;
}
/*.ect-3-columns .entry-card-wrap {
width: 33%;
padding: 10px;
}*/
.rect-vertical-card .related-entry-card-wrap {
padding: 10px;
}
.pickup-title {
margin: 0;
background-color: #FFF;
font-size: 1rem;
font-weight: 700;
line-height: 1.5;
color: #222;
padding: 0.65rem 0.85rem;
letter-spacing:-0.01rem
}
.related-entry-card-title, .entry-card-title {
font-size: 1.15rem;
margin: 0 0 0.4em 0;
line-height: 1.5;
font-weight: bold;
display: -webkit-box;
letter-spacing: -0.01rem;
overflow: hidden;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
}
.related-entry-card-snippet, .entry-card-snippet {
font-size: var(--cocoon-text-size-s);
margin: 0 0 0.4em 0;
line-height: 1.65;
letter-spacing: -0.01em;
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
}

.list-title {
text-align: center;
font-size: 1.8rem;
margin-top: 2em;
margin-bottom: 1em;
}

.widget h2 {
font-size: 24px;
margin-top: 2em;
margin-bottom: 1em;
text-align: center;
}
.widget-index-top-title{
font-size: 20px;
margin-bottom: 1em;
text-align: center;
font-weight: bold;
}

.widget-index-top .tagcloud{
border: 1px solid #000000;
width: fit-content;
padding: 1rem;
border-radius: 27px;
margin: 0 auto;
}
.e-card-info {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: center;
}

.sidebar h3 {
background-color: #fff;
color: #000;
border-bottom: 3px solid #000;
border-left: 2px solid #000;
}

.list-more-button {
display: inline-block;
width: 50px;
height: 50px;
background: #000;
border-radius: 50%;
position: relative;
text-indent: -9999px; /* テキスト隠す */
padding: 0;
border: none;
}

/* 矢印 */
.list-more-button::after {
content: "";
position: absolute;
top: 50%;
left: 50%;
width: 12px;
height: 12px;
border-bottom: 2px solid #fff;
border-right: 2px solid #fff;
transform: translate(-50%, -60%) rotate(45deg);
}

.list-more-button::after {
content: "";
position: absolute;
top: 45%;
left: 50%;
width: 12px;
height: 12px;
border-bottom: 2px solid #fff;
border-right: 2px solid #fff;
transform: translate(-50%, -50%) rotate(45deg);
transition: 0.3s;
}

.list-more-button:hover::after {
transform: translate(-50%, -30%) rotate(45deg);
}
.list-more-button:hover {
background-color: #EEE;
transition: all 0.3s ease-in-out;
color: var(--cocoon-text-color);
}
/*本文下タグ*/
.tag-link, .comment-reply-link {
border: none;
}

/*本文下カテゴリーとタグ*/
.entry-categories-tags > div {
line-height: 2.0;
}

.posts-not-found h2{
font-size: 2.2rem;
line-height: 1.4 !important;
}
.posts-not-found p{
font-size: 0.9rem;
padding: 1rem 0;
}
@media (max-width: 1024px) {
.new-entry-card-link,
.popular-entry-card-link{
width: 33%;
display: inline-table;
}
.sns-share.ss-top.ss-col-6 a,
.sns-share.ss-bottom.ss-col-6 a,
.sns-share.ss-top.ss-col-5 a,
.sns-share.ss-bottom.ss-col-5 a {
  width:20%;
}
}
@media (max-width: 768px) {
.new-entry-card-link,
.popular-entry-card-link{
width: 100%;
}
.widget-entry-cards.card-large-image .a-wrap {
  max-width:none;
}
}
.new-entry-card-title,
.popular-entry-card-title{
font-size: 0.9rem;
line-height: 1.6;
}
.widget-entry-card-thumb{
margin-bottom: 0 !important;
}
.author-widget-name{
font-size: 0.9rem;
padding: 1rem 0;
}
.cat-link:hover{
opacity: 1.0 !important;
color: #00acc1;
}
.card-thumb {
overflow: hidden;
}
.card-thumb img{
width: 100%;
transition: transform 0.3s ease;
}
.card-thumb img:hover {
transform: scale(1.05);
}
@media screen and (max-width: 480px) {
.no-sp-snippet .entry-card-snippet {
display:block;
}
.entry-title{
margin: 0;
padding: 0;
margin-bottom: 6px;
}
.entry-title, .archive-title {
font-size: 1.2rem;
line-height: 1.4 !important;
text-align: left;
}
}
