<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "utf-8";
/*
Theme Name:RIKYU
Theme URI:https://tcd-theme.com/tcd104/
Description:"RIKYU" is a template for e-commerce sites compatible with WooCommerce. You can create a stylish online store regardless of the size of your business.. If you turn off the cart function, you can also operate a simple blog site with this highly scalable theme.
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.7
Text Domain:tcd-rikyu
*/

/**
 * Reset
 */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  padding: 0;
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  border: 0;
  outline: 0;
}

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

audio,
canvas,
video {
  display: inline-block;
  max-width: 100%;
}

html {
  -webkit-text-size-adjust: 100%;
}

ul,
ol {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

a:focus {
  outline: none;
}

ins {
  text-decoration: none;
}

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

del {
  text-decoration: line-through;
}

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

table {
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse;
}

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

button,
input,
select,
textarea {
  box-sizing: border-box;
  font-size: 100%;
  color: inherit;
  outline: 0;
}

input,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
}

input[type="checkbox"] {
  -webkit-appearance: checkbox;
}

input[type="radio"] {
  -webkit-appearance: radio;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}

/**
 * web fonts ウェブフォントファイルを変更した場合はv=1.0の数字を変更（キャッシュ対策）
 */
@font-face {
  font-family: "design_plus";
  font-style: normal;
  font-weight: normal;
  font-display: swap;
  src: url("fonts/design_plus.eot?v=1.0");
  src:
    url("fonts/design_plus.eot?v=1.0#iefix") format("embedded-opentype"),
    url("fonts/design_plus.woff?v=1.0") format("woff"),
    url("fonts/design_plus.ttf?v=1.0") format("truetype"),
    url("fonts/design_plus.svg?v=1.0#design_plus") format("svg");
}

/**
 * Base
 */

:root,
::before,
::after {
  --tcd-font-type1: arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", meiryo, sans-serif;
  --tcd-font-type2: arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", yugothic, "メイリオ", meiryo, sans-serif;
  --tcd-font-type3: "Times New Roman", times, "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  --tcd-accent-color: #6f8976;
  --tcd-link-color: #6f8976;
  --tcd-headline-font-type: var(--tcd-font-type3);
  --tcd-headline-font-size: 32px;
  --tcd-headline-font-weight: 600;
  --tcd-font-type: var(--tcd-font-type2);
  --tcd-root-font-color: #000;
  --tcd-root-font-size: 16px;
  --tcd-line-height: 2.4;
  --tcd-line-height-offset: calc((var(--tcd-line-height) - 1) * -0.5em);
  --tcd-image-effect-bg-color: transparent;
  --tcd-image-effect-transform: scale(1);
  --tcd-image-effect-hover-transform: scale(1);
  --tcd-image-effect-hover-opacity: 1;
  --tcd-single-headline-font-type: var(--tcd-font-type2);
  --tcd-single-headline-font-size: 28px;
  --tcd-single-content-font-type: var(--tcd-font-type2);
  --tcd-single-content-font-size: 16px;
  --tcd-header-logo-font-size: 34px;
  --tcd-front-page-catch-font-type: var(--tcd-font-type2);
  --tcd-front-page-catch-font-size: 38px;
}

:root {
  font-size: var(--tcd-root-font-size);
}

@media (max-width: 991px) {

  :root,
  ::before,
  ::after {
    --tcd-line-height: 2.2;
    --tcd-headline-font-size: 22px;
    --tcd-header-logo-font-size: 28px;
    --tcd-single-headline-font-size: 28px;
    --tcd-single-content-font-size: 16px;
    --tcd-front-page-catch-font-size: 20px;
  }
}

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

html {
  position: relative;
  overflow-x: hidden;
  overflow-y: auto;
  background: #fff;
  /* scroll-padding-top: calc(var(--tcd-headerbar-height) + 50px); */
}

body {
  width: 100%;
  min-width: 320px;
  font-family: var(--tcd-font-type, sans-serif);
  font-size: 16px;
  line-height: 1;
  color: var(--tcd-root-font-color);
  word-break: break-word;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  margin-top: var(--wp-admin--admin-bar--height, 0);
}

a {
  color: var(--tcd-root-font-color);
  text-decoration: none;
}

b,
strong,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
}

big {
  font-size: larger;
}

small {
  font-size: 80%;
}

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

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

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

tt,
code,
kbd,
samp {
  font-family: monospace;
}

u,
ins {
  text-decoration: underline;
}

button,
input[type="button"],
input[type="submit"] {
  color: var(--tcd-root-font-color);
}

a,
input,
button {
  transition-timing-function: ease;
  transition-duration: 0.3s;
  transition-property: background-color, border-color, color, opacity;
}

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

::placeholder {
  color: #999;
  font-family: var(--tcd-font-type2);
}

@media (hover: hover) and (pointer: fine) {
  a:hover {
    color: var(--tcd-accent-color);
  }
}

/* admin bar */
@media screen and (max-width: 600px) {
  #wpadminbar {
    position: fixed;
  }
}

/* @media (max-width: 991px) {
  html {
    scroll-padding-top: calc(var(--tcd-headerbar-height) + 40px);
  }
} */

/* splide */
.splide {
  visibility: visible;
}

.splide.is-initialized&gt;.splide__arrows:not(.splide__arrows--custom) {
  display: none;
}

body.is-fixed {
  position: fixed;
  top: 0;
  left: 0;
}

/* ----------------------------------------------------------------------
  Layout
---------------------------------------------------------------------- */

.l-inner {
  max-width: 1100px;
  width: calc(100% - 60px);
  margin: 0 auto;
}

@media (max-width: 767px) {
  .l-inner {
    width: calc(100% - 40px);
  }
}

.l-container {
  position: relative;
  height: 100%;
}

.l-container__inner {
  padding: 120px 0 150px;
  justify-content: space-between;
}

@media not all and (max-width: 767px) {

  body.single-post .l-container__inner,
  body.single-news .l-container__inner,
  body.page.page-template-default:not(.home) .l-container__inner {
    padding-top: 60px;
  }
}

.home .l-container__inner {
  max-width: 100%;
  width: 100%;
  padding: 0;
}

@media (max-width: 1200px) {
  .l-container__inner {
    justify-content: center;
  }
}

@media (max-width: 767px) {
  .l-container__inner {
    padding: 40px 0;
  }
}

.l-main {
  max-width: 100%;
  width: 710px;
}

.l-main:only-child {
  width: 100%;
}

@media (max-width: 767px) {
  .l-main {
    width: 100%;
  }
}

.l-sidebar {
  max-width: 100%;
  width: 340px;
}

@media (max-width: 1200px) {
  .l-sidebar {
    width: 700px;
    margin-top: 50px;
  }

  .l-sidebar__inner {
    margin: -50px 0 0 -40px;
  }
}

@media (max-width: 767px) {
  .l-sidebar {
    width: 100%;
    margin-top: 40px;
  }

  .l-sidebar__inner {
    margin: -40px 0 0 -20px;
  }
}

@media (max-width: 599px) {
  .l-sidebar__inner {
    margin-left: 0;
  }
}


/* ----------------------------------------------------------------------
  Header
---------------------------------------------------------------------- */

.l-header {
  position: relative;
  z-index: 100;
  width: 100%;
  background: #fff;
}

@media not all and (max-width: 767px) {
  body.is-header-transparency .l-header {
    position: absolute;
    color: #fff;
    background: transparent;
  }

  body.is-header-transparency .l-header__top,
  body.is-header-transparency .l-header__bottom {
    border-color: rgb(221 221 221 / 30%);
  }

  body.is-header-transparency .p-global__nav&gt;li:not(.current-menu-item):not(:hover)&gt;a {
    color: #fff;
  }

  body.is-header-transparency .p-menu-button span:before {
    background: #fff;
  }
}

@media (max-width: 767px) {
  .l-header {
    position: sticky;
    top: var(--wp-admin--admin-bar--height, 0);
    z-index: 100;
    width: 100%;
    background: #fff;
  }
}


.l-header__top {
  position: relative;
  height: 70px;
  border-bottom: 1px solid #ddd;
}

.l-header__bottom {
  border-bottom: 1px solid #ddd;
}

body.front-page:not(.is-header-transparency):not(.no-header-slider) .l-header__bottom {
  border-bottom: none;
}

body.front-page:not(.is-header-transparency):not(.no-header-slider) .l-header--type1 .l-header__top {
  border-bottom: none;
}

.l-header--type1.no-border .l-header__top {
  border-bottom: none;
}

.l-header--type2.no-border .l-header__bottom {
  border-bottom: none;
}

@media (max-width: 1200px) {
  .l-header__bottom {
    display: none !important;
  }

  body.front-page:not(.is-header-transparency):not(.no-header-slider) .l-header__top {
    border-bottom: none;
  }

  .l-header--type2.no-border .l-header__top {
    border-bottom: none;
  }
  .l-header--type2.no-border .l-header__top .l-header__icons .p-header-membermenu-cart a::before {margin-top:-3px;}
  .l-header--type2.no-border .l-header__top .l-header__icons .l-header__nav--sp{margin-top:-1px;}
}

@media (max-width: 767px) {
  .l-header__top {
    height: 60px;
  }
}


/* ロゴエリア */
.l-header__logo {
  position: relative;
  font-size: var(--tcd-header-logo-font-size);
  flex: 0 0 auto;
  height: 70px;
  padding: 0 50px;
  color: #fff;
  background: var(--tcd-accent-color);
}

.l-header__logo-image {
  height: 100%;
  flex-shrink: 0;
}

/* 初期値 */
/*
.l-header__catch {
  flex: 1 1 0;
  padding: 0 35px;
  font-size: 16px;
  line-height: 1.4;
}
*/

/* 現行 */
.l-header__catch {
  flex: 0 1 auto;
  padding: 0 35px;
  font-size: 16px;
  line-height: 1.4;
}

@media (max-width: 767px) {
  .l-header__logo {
    height: 60px;
    padding: 0 20px;
  }

  .l-header__catch {
    display: none !important;
  }
}


/* アイコン */
.l-header__icons {
  position: absolute;
  top: 0;
  right: 40px;
  height: 100%;
}

@media (max-width: 1200px) {
  .l-header__icons {
    right: 1px;
  }
}

/* 検索フォーム */
.l-header__search {
  position: relative;
}

.l-header__search-form {}

.l-header__search-form input {
  display: block;
  width: 50px;
  height: 40px;
  padding: 0 1.2em;
  color: #000;
  border-radius: 40px;
  font-size: 16px;
  border: none;
  background: #f5f5f5;
}

.l-header__search-form input::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.l-header__search-button {
  display: block;
  font-size: 20px;
  margin-right: -20px;
}

.l-header__search-button label,
.l-header__search-button button {
  cursor: pointer;
  font-family: 'design_plus';
  padding: 0 20px;
  height: 40px;
  border: none;
  background: none;
  transition: color 0.2s ease;
}

/* ホバーアニメーション */
.l-header__search-form input {
  width: 50px;
  max-width: calc(100vw - 130px);
  opacity: 0;
  transition: width 0.3s ease, opacity 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {

  .l-header__search:hover .l-header__search-form input,
  .l-header__search-form input:focus,
  .l-header__search-form input:not(:placeholder-shown) {
    width: 300px;
    opacity: 1;
  }

  .l-header__search-button button:hover,
  .l-header__search:hover button {
    color: var(--tcd-accent-color);
  }
}


@media not all and (max-width: 767px) {
  .l-header__search--sp {
    display: none;
  }
}

@media (max-width: 767px) {

  .l-header__search-form {
    display: none;
  }

  .l-header__search--sp {
    position: absolute;
    top: 100%;
    left: 0;
    overflow: hidden;
    width: 100%;
    height: 45px;
    pointer-events: none;
  }

  .l-header__search--sp__form {
    height: 100%;
    border-bottom: 1px solid #ddd;
    pointer-events: auto;
    transform: translateY(-100%);
    transition: transform 0.2s ease;
  }

  .l-header__search--sp__form input {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0 1.2em;
    border: none;
    background: #f5f5f5;
    font-size: 16px;
  }

  .l-header__search--sp__form input::-webkit-search-cancel-button {
    -webkit-appearance: none;
  }

  .l-header__search--sp__form.is-active {
    transform: translateY(0);
  }
}


/* ナビゲーション */
.l-header__nav {}

.l-header__nav-inner {
  position: relative;
}

@media not all and (max-width: 1200px) {
  .l-header__nav--sp {
    display: none !important;
  }
}

@media (max-width: 1200px) {
  .l-header__nav {
    display: none;
  }

  .l-header__nav--sp {
    height: 100%;
  }
}

@media (max-width: 767px) {
  .l-header__nav--sp {
    width: 60px;
  }
}

/* ハンバーガーメニュー */
button.p-menu-button {
  padding: 20px 30px;
  transition: opacity 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
  button.p-menu-button:hover {
    opacity: 0.5;
  }
}

.p-menu-button span {
  display: block;
  height: 1px;
  width: 22px;
  overflow: hidden;
  background: rgba(0, 0, 0, .3);
}

.p-menu-button span:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 1);
  transform: translateX(0);
  transition: transform 0.2s ease;
}

.p-menu-button span:not(:first-of-type) {
  margin-top: 7px;
}

.p-menu-button span:nth-of-type(1):before {
  transition-delay: 0s;
}

.p-menu-button span:nth-of-type(2):before {
  transition-delay: 0.1s;
}

.p-menu-button span:nth-of-type(3):before {
  transition-delay: 0.2s;
}

@media (max-width: 767px) {
  button.p-menu-button {
    height: 60px;
    top: 0;
    transform: none;
    padding: 20px;
  }
}


/* wcナシ */
@media not all and (max-width: 767px) {
  .l-header--type1 .l-header__nav {
    margin-right: 85px;
  }

  .l-header--type1 .p-global__nav&gt;li&gt;a {
    height: 70px;
  }
}


/* ----------------------------------------------------------------------
  Footer
---------------------------------------------------------------------- */

.l-footer {
  overflow: hidden;
}

/* message */
.l-footer__message {
  font-size: 16px;
  padding: calc(26px - 0.2em) 0;
  border-top: 1px solid #ddd;
  line-height: 1.4;
}

@media (hover: hover) and (pointer: fine) {
  .l-footer__message a {
    transition: opacity 0.3s ease;
  }

  .l-footer__message a:hover {
    color: inherit;
    opacity: 0.5;
  }
}

@media (max-width: 767px) {
  .l-footer__message {
    font-size: 16px;
  }
}

/* banner */
.l-footer__banners {
  padding: 35px 0;
  border-top: 1px solid #ddd;
}

.l-footer__banners-list {
  gap: 30px;
}

.l-footer__banners-item {
  width: calc((100% - 60px) / 3);
}

.l-footer__banners-item__link {
  position: relative;
  display: block;
  height: 130px;
}

.l-footer__banners-item__headline {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 40px;
  font-size: 20px;
  line-height: 1.6;
}

.l-footer__ad-code {
  padding: 30px 0;
  border-top: 1px solid #ddd;
}

@media (max-width: 767px) {
  .l-footer__banners {
    padding: 20px 0;
  }

  .l-footer__banners-list {
    gap: 20px 0;
  }

  .l-footer__banners-item {
    width: 100%;
  }

  .l-footer__banners-item__link {
    height: 120px;
  }

  .l-footer__banners-item__headline {
    font-size: 18px;
  }
}

/* menu */
.l-footer__nav {
  padding: 60px 0;
  border-top: 1px solid #ddd;
}

.l-footer__nav-list li {
  font-size: 14px;
  line-height: 1.6;
  margin: -0.3em 0 -0.3em;
}

@media (hover: hover) and (pointer: fine) {
  .l-footer__nav-list a:hover {
    color: var(--tcd-accent-color);
  }
}

@media (max-width: 767px) {
  .l-footer__nav {
    display: none;
    padding: 20px 0;
  }
}

/* 縦並び */
.l-footer--type1 .l-footer__nav-inner {
  gap: 0 30px;
}

.l-footer--type1 .l-footer__nav-list {
  width: calc((100% - 60px) / 3);
}

.l-footer--type1 .l-footer__nav-list li+li,
.l-footer--type1 .l-footer__nav-list ul.sub-menu li {
  margin-top: calc(30px - 0.3em);
}

.l-footer--type1 .l-footer__nav-list&gt;ul&gt;li:first-of-type {
  font-size: 18px;
  font-weight: 600;
  pointer-events: none;
}

.l-footer--type1 .l-footer__nav-list&gt;ul&gt;li:first-of-type a {
  color: var(--tcd-accent-color);
}

.l-footer--type1 .l-footer__nav-list&gt;ul&gt;li .sub-menu{
  margin-left: 20px;
  margin-top: 20px;
}


@media (max-width: 767px) {
  .l-footer--type1 .l-footer__nav-inner {
    width: 100%;
    gap: 20px 0;
  }

  .l-footer--type1 .l-footer__nav-list {
    width: 100%;
    padding: 0 20px;
  }

  .l-footer--type1 .l-footer__nav-list&gt;ul&gt;li:first-of-type {
    font-size: 16px;
  }

  .l-footer--type1 .l-footer__nav-list li+li {
    margin-top: calc(20px - 0.3em);
  }

  .l-footer--type1 .l-footer__nav-list+.l-footer__nav-list,
  .l-footer--type1 .l-footer__nav-list ul.sub-menu li {
    padding-top: 20px;
    border-top: 1px solid #ddd;
  }
}

/* 横並び */
.l-footer--type2 .l-footer__nav-list {
  width: 100%;
}

.l-footer--type2 *+.l-footer__nav-list {
  margin-top: 50px;
}

.l-footer--type2 .l-footer__nav-list&gt;ul {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center;
}

.l-footer--type2 .l-footer__nav-list&gt;ul&gt;li .sub-menu{
  margin-left: 10px;
}

.l-footer--type2 .l-footer__nav-list li {
  font-size: 16px;
}

.l-footer--type2 .l-footer__nav-list&gt;ul&gt;li .sub-menu li{
  margin-top: 10px;
}

@media (max-width: 767px) {
  .l-footer--type2 *+.l-footer__nav-list {
    margin-top: 20px;
  }
}

/* コピーライト、SNS */
.l-footer__bottom {
  color: #fff;
  background: var(--tcd-accent-color);
}

.l-footer__bottom-inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 80px;
}

.l-footer__bottom-logo {
  font-size: var(--tcd-header-logo-font-size);
}

.l-footer__bottom-catch {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.l-footer__sns-icons {
  height: 100%;
}

.l-footer__copyright {
  font-size: 14px;
  height: 60px;
  text-align: center;
}

@media (max-width: 767px) {
  .l-footer__bottom-inner {
    height: 60px;
  }

  .l-footer__bottom-catch {
    display: none;
  }

  .l-footer__copyright {
    font-size: 12px;
    height: 50px;
  }
}

@media (max-width: 599px) {
  .l-footer__bottom-logo {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .l-footer__sns-icons {
    display: none !important;
  }
}



/* ----------------------------------------------------------------------
  component
---------------------------------------------------------------------- */


/* アイコン */
.c-icon--dp {
  font-family: 'design_plus';
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
}

.c-icon {
  font-family: 'Material Symbols Rounded';
  font-weight: 200;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  font-variation-settings: 'FILL' 0, 'GRAD' 0, 'opsz' 48;
}

/* フォントタイプ */
.c-font-type {
  font-weight: 600;
}

.c-font--type1 {
  font-family: Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
}

.c-font--type2 {
  font-family: Arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-weight: 600;
}

.c-font--type3 {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 600;
}

/* 行間 */
.c-line1,
.c-line2,
.c-line3,
.c-line4 {
  overflow: hidden;
  visibility: visible;
  word-break: break-all;
}

.c-line1&gt;span,
.c-line1&gt;a {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.c-line2&gt;span,
.c-line2&gt;a {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.c-line3&gt;span,
.c-line3&gt;a {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.c-line4&gt;span,
.c-line4&gt;a {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}

/* ホバー時のアクセントカラー */
.c-hover-color {
  transition: color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  a:hover .c-hover-color {
    color: var(--tcd-accent-color);
  }
}

/* SNSアイコン */
.c-sns-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-align-items: center;
  -webkit-align-items: center;
  align-items: center;
}

.c-sns-icons__item {}

.c-sns-icons__item:not(:last-of-type) {
  margin-right: 15px;
}

.c-sns-icons__link {
  display: block;
  transition: opacity 0.2s ease;
}

.c-sns-icons__link:before {
  font-family: 'design_plus';
  display: block;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.c-sns-icons__link--user-url:before {
  content: '\e942';
}

.c-sns-icons__link--facebook:before {
  content: '\e944';
  font-size: 1.1em;
}

.c-sns-icons__link--x:before {
  content: '\e904';
  font-size: 0.85em;
  padding-top: 0.05em;
}

.c-sns-icons__link--instagram:before {
  content: '\ea92';
  font-size: 0.95em;
  padding-top: 0.05em;
}

.c-sns-icons__link--tiktok:before {
  content: '\e954';
  font-size: 0.9em;
}

.c-sns-icons__link--pinterest:before {
  content: '\e905';
}

.c-sns-icons__link--youtube:before {
  content: '\ea9d';
}

.c-sns-icons__link--contact:before {
  content: '\f0e0';
  font-size: 0.95em;
}

.c-sns-icons__link--rss:before {
  content: '\e90b';
  font-size: 0.9em;
  padding-top: 0.05em;
}

@media (hover: hover) and (pointer: fine) {
  .c-sns-icons__link:hover {
    opacity: 0.5;
  }
}

/* モノクロ */
.c-sns-icons--type1 {
  font-size: 18px;
}

.c-sns-icons--type1 .c-sns-icons__link {
  color: #000;
}

.c-sns-icons--type1.is-dark .c-sns-icons__link {
  color: #fff;
}

/* カラー */
.c-sns-icons--type2 {
  font-size: 22px;
}

.c-sns-icons--type2 .c-sns-icons__link--user-url:before {
  color: #00729f;
}

.c-sns-icons--type2 .c-sns-icons__link--facebook:before {
  color: #1877f2;
}

.c-sns-icons--type2 .c-sns-icons__link--tiktok:before {
  color: #000;
}

.c-sns-icons--type2 .c-sns-icons__link--x:before {
  color: #000;
}

.c-sns-icons--type2 .c-sns-icons__link--instagram:before {
  color: #e4405f;
}

.c-sns-icons--type2 .c-sns-icons__link--pinterest:before {
  color: #bd081c;
}

.c-sns-icons--type2 .c-sns-icons__link--youtube:before {
  color: #f00;
}

.c-sns-icons--type2 .c-sns-icons__link--contact:before {
  color: #00729f;
}

.c-sns-icons--type2 .c-sns-icons__link--rss:before {
  color: orange;
}

.c-sns-icons--type2.is-dark .c-sns-icons__link--tiktok:before {
  color: #fff;
}

.c-sns-icons--type2.is-dark .c-sns-icons__link--x:before {
  color: #fff;
}


/* ロゴ */
.c-logo {
  color: inherit;
  transition: opacity 0.3s ease;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-logo__image {
  max-width: 100%;
  width: auto;
  max-height: 100%;
}

.c-logo__text {
  display: block;
  line-height: 1.6;
  margin: -0.3em 0;
}

@media (hover: hover) and (pointer: fine) {
  .c-logo:hover {
    opacity: 0.5;
    color: inherit;
  }
}

@media not all and (max-width: 767px) {
  .c-logo__image {
    max-height: 70px;
  }

  .c-logo__image+.c-logo__image {
    display: none;
  }
}

@media (max-width: 767px) {
  .c-logo__image {
    display: none;
    max-height: 50px;
  }

  .c-logo__image+.c-logo__image {
    display: block;
  }

  .c-logo__image:only-child {
    display: block;
  }
}

/* 日付 */
.c-date,
.c-date--updated {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  font-family: 'Arial';
  font-size: 14px;
  color: #999;
  line-height: 1;
}

.c-date:before,
.c-date--updated:before {
  font-family: 'Material Symbols Rounded';
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  font-weight: 400;
  font-size: 1.2em;
  margin-right: 4px;
  margin-top: -0.08em;
}

.c-date:before {
  content: '\e8b5';
}

.c-date--updated:before {
  content: '\e923';
}


/* カテゴリー */
.c-post-category {
  font-size: 14px;
  text-align: center;
  line-height: 1.2;
  padding-top: 1px;
  min-width: 100px;
  height: 30px;
  padding: 1px 15px 0;
  border-radius: 30px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: -webkit-inline-flex;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border: 1px solid var(--tcd-accent-color);
  color: var(--tcd-accent-color);
  transition: color 0.3s ease, background 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .c-post-category:hover {
    color: #fff;
    background: var(--tcd-accent-color);
  }
}

@media (max-width: 767px) {
  .c-post-category {
    font-size: 12px;
    min-width: 100px;
    height: 30px;
  }
}

.c-post-categories {
  font-size: 14px;
  line-height: 1.4;
  min-width: 100px;
  display: inline-block;
  padding: calc(10px - 0.2em) 15px;
  border-radius: 30px;
  color: var(--tcd-accent-color);
  border: 1px solid var(--tcd-accent-color);
}

.c-post-categories__sep {
  color: inherit;
  margin-right: 5px;
}

.c-post-categories__link {
  color: inherit;
  transition: color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .c-post-categories__link:hover {}
}

@media (max-width: 767px) {
  .c-post-categories {
    font-size: 12px;
    padding: calc(12px - 0.2em) 15px;
  }
}


/* パンくずリスト */
.c-breadcrumb {
  position: relative;
  overflow: hidden;
  border-bottom: 1px solid #ddd;
}

.c-breadcrumb__list {
  height: 60px;
  overflow: initial;
}

.is-sidebar--none .c-breadcrumb__list {
  max-width: 900px;
}

.c-breadcrumb__item {
  font-size: 14px;
  white-space: nowrap;
}

.c-breadcrumb__item-arrow {
  margin:0 5px;
}

.c-breadcrumb a&gt;span {
  color: inherit;
  transition: color 0.2s ease;
}

.c-breadcrumb a&gt;span.c-icon {
  font-size: 22px;
}

.c-breadcrumb__item:last-of-type&gt;span[itemprop="name"] {
  color: var(--tcd-accent-color);
  line-height: 1.4;
}

@media (hover: hover) and (pointer: fine) {
  .c-breadcrumb a:hover span {
    color: var(--tcd-accent-color);
  }
}

@media not all and (max-width: 767px) {
  .c-breadcrumb__item&gt;span {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    visibility: visible;
  }

  .c-breadcrumb__item:last-of-type {
    overflow: hidden;
  }
}

@media (max-width: 767px) {
  .c-breadcrumb__list {
    width: 100%;
    height: 50px;
    padding: 1px 20px 0;
  }

  .c-breadcrumb__item {
    font-size: 14px;
  }
}


/* ページャー */
.c-pagination {
  width: 100%;
  margin-top: 60px;
  text-align: center;
  font-family: Arial;
}

.c-pagination__item {
  display: block;
}

*+.c-pagination__item {
  margin-left: -1px;
}

.c-pagination a,
.c-pagination span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  font-size: 14px;
  color: #000;
  border: 1px solid #ddd;
}

.c-pagination a {
  color: #000 !important;
  /* transition:all 0.2s ease; */
  transition: color 0.2s ease, background 0.2s ease, border-color 0s ease;
}

/* .c-pagination .dots { background:none; width:25px; } */
.c-pagination .current {
  position: relative;
  color: #fff;
  border-color: var(--tcd-accent-color);
  background: var(--tcd-accent-color);
}

@media (hover: hover) and (pointer: fine) {
  .c-pagination a:hover {
    position: relative;
    color: #fff !important;
    text-decoration: none !important;
    border-color: var(--tcd-accent-color);
    background: var(--tcd-accent-color);
  }
}

@media (max-width: 767px) {
  .c-pagination {
    margin-top: 40px;
  }
}

/* 検索フォーム */
.c-search-form {
  max-width: 550px;
  width: 100%;
  border-radius: 50px;
  overflow: hidden;
  background: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: -webkit-inline-flex;
  display: inline-flex;
}

.c-search-form__text {
  color: #000;
  width: calc(100% - 60px);
}

.c-search-form__text input {
  display: block;
  width: 100%;
  height: 50px;
  padding-left: 25px;
  border: none;
  background: transparent;
  font-size: 16px;
}

.c-search-form__button label {
  font-size: 24px;
  cursor: pointer;
  color: #000;
  width: 60px;
  height: 100%;
  transition: color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .c-search-form__button label:hover {
    color: var(--tcd-accent-color);
  }
}

@media (max-width: 767px) {
  .c-search-form__text {
    width: calc(100% - 50px);
  }

  .c-search-form__text input {
    height: 45px;
    padding-left: 20px;
  }

  .c-search-form__text input::-webkit-input-placeholder {
    font-size: 14px;
  }

  .c-search-form__text input:-ms-input-placeholderm {
    font-size: 14px;
  }

  .c-search-form__text input::placeholder {
    font-size: 14px;
  }

  .c-search-form__button label {
    width: 50px;
  }
}

@media (max-width: 599px) {
  .c-search-form {
    max-width: 280px;
  }
}

/* 個別ページのセクション用タイトル */
.c-single-section-title {
  font-size: 24px;
  line-height: 1.6;
  margin: -0.3em 0 calc(50px - 0.3em);
  text-align: center;
}

@media (max-width: 767px) {
  .c-single-section-title {
    font-size: 20px;
    margin-bottom: calc(40px - 0.3em);
  }
}

/* 背景画像 */
.c-bg-image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background-size: cover !important;
  width: 100%;
  height: 100%;
}

.c-overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.3);
}

/* スライダーアロー */
.c-arrow {
  cursor: pointer;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 48px;
  color: inherit;
  background: transparent;
  border: none;
  text-align: center;
  transition: opacity 0.3s ease;
  z-index: 1;
}

.c-arrow--prev {
  left: -65px;
}

.c-arrow--next {
  right: -56px;
}

@media (hover: hover) and (pointer: fine) {
  .c-arrow:hover {
    opacity: 0.4 !important;
  }
}

/* サイドバーのレイアウト */
.c-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.is-sidebar--left .l-container__inner {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.is-sidebar--none .l-container__inner {
  max-width: 900px;
}


/* 基本ボタン */
.c-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 280px;
  height: 60px;
  border-radius: 60px;
  overflow: hidden;
  cursor: pointer;
  font-size: 16px;
  padding: 0 1.5em;
  background: transparent;
  text-align: center;
  color: var(--tcd-accent-color) !important;
  border: 1px solid var(--tcd-accent-color);
  transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease;
  position: relative;
}

.c-button--grey {
  border: none;
}

.c-button--grey:not(:hover) {
  color: #fff;
  background: #ccc;
}

.c-button--white:not(:hover) {
  color: #fff !important;
  border-color: #fff;
}

@media (hover: hover) and (pointer: fine) {
  .c-button:hover {
    background: var(--tcd-accent-color);
    color: #fff !important;
    text-decoration: none !important;
  }
}

@media (max-width: 767px) {
  .c-button {
    font-size: 14px;
    min-width: 220px;
    height: 50px;
    border-radius: 50px;
  }
}

/* 横スクロール対応 */
.c-h-scroll {
  overflow: auto hidden;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.c-h-scroll::-webkit-scrollbar {
  display: none;
}

.c-h-scroll&gt;* {
  overflow: visible;
  position: relative;
}

.c-h-scroll&gt;*:last-child:after {
  position: absolute;
  content: '';
  top: 0;
  left: 100%;
  height: 1px;
  width: 20px;
  background-color: transparent;
}

/* 投稿が無いときのメッセージ */
.c-no-post {
  width: 100%;
  line-height: 1.8;
  margin: -0.4em 0;
  text-align: center;
}

/* 画像読み込み時 */
.c-image-loading {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: #eee;
  overflow: hidden;
}

.c-image-loading:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: linear-gradient(90deg, #eee 0, #f3f3f3 15%, #eee 30%);
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
  animation-name: imageLoadingBackground;
  animation-timing-function: linear;
}

@keyframes imageLoadingBackground {
  0% {
    transform: translateZ(0)
  }

  to {
    transform: translate3d(100%, 0, 0)
  }
}

body.is-watermark-loaded .c-image-loading {
  display: none;
}

/* フリースペースのリンク文字色 */
.c-link-color a {
  color: rgba(var(--tcd-link-color, 21, 120, 214), 1);
}

@media (hover: hover) and (pointer: fine) {
  .c-link-color a:hover {
    text-decoration: underline;
  }
}

/* アニメーション用 */
body:not(.use_loading_screen) .c-animation--header,
.close_loading_screen .c-animation--header {
  opacity: 0;
  animation: FadeIn 0.5s ease 0.3s forwards;
}

body:not(.use_loading_screen) .c-animation--text,
.close_loading_screen .c-animation--text {
  opacity: 0;
  animation: FadeIn 2s ease 1s forwards;
}

body:not(.use_loading_screen) .c-animation--text+.c-animation--text,
.close_loading_screen .c-animation--text+.c-animation--text {
  animation-delay: 1.3s;
}

body:not(.use_loading_screen) .c-animation--text+.c-animation--text+.c-animation--text,
.close_loading_screen .c-animation--text+.c-animation--text+.c-animation--text {
  animation-delay: 1.6s;
}

@keyframes FadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}




/* パスワード保護 */
.c-pw {
  background: #fff;
  margin-top: 50px;
}

.c-pw__box {
  font-size: 16px;
  padding: 40px;
  border: 1px solid #ddd;
}

.c-pw__box-inner {
  width: 100%;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c-pw__box-desc {
  line-height: 1.8 !important;
  margin: -0.4em 0 2em !important;
}

.c-pw__box-input {
  display: block;
  flex: 1;
  border: none;
  background: #eee;
  height: 100%;
  padding: 0 20px;
}

.c-pw__btn--submit {
  display: block;
  min-width: 150px;
  height: 100%;
  padding: 0 1em;
  background: #111;
  color: #fff !important;
  border: 0;
  cursor: pointer;
}

.c-pw__btn--submit:hover {
  background: #333;
}

.c-pw__box-error {
  font-size: 12px;
  color: #d90000;
  margin: 5px 0 var(--tcd-line-height-offset) !important;
}

@media (max-width:767px) {
  .c-pw {
    margin-top: 40px;
  }

  .c-pw__box {
    font-size: 14px;
    padding: 20px;
  }

  .c-pw__box-inner {
    height: 40px;
  }

  .c-pw__box-desc {
    margin-bottom: 1em !important;
  }

  .c-pw__box-input {
    width: calc(100% - 100px);
    padding: 0 10px;
  }

  .c-pw__btn--submit {
    min-width: auto;
    width: 100px;
  }
}


/* ホバーアニメーション */
.c-hover-animation {
  overflow: hidden;
  backface-visibility: hidden;
  background: var(--tcd-image-effect-bg-color);
}

.c-hover-animation__image {
  pointer-events: none;
  transition: transform 0.5s ease, opacity 0.5s ease;
  transform: var(--tcd-image-effect-transform);
}

@media (hover: hover) and (pointer: fine) {

  a.c-hover-animation:hover .c-hover-animation__image,
  a:hover .c-hover-animation .c-hover-animation__image {
    transform: var(--tcd-image-effect-hover-transform);
    opacity: var(--tcd-image-effect-hover-opacity);
  }
}


/* トグルボタン */
.c-toggle-button {
  position: relative;
  display: block;
  font-size: 12px;
  width: 1em;
  height: 1em;
}

.c-toggle-button:before,
.c-toggle-button:after {
  content: '';
  display: block;
  background: #000;
  position: absolute;
  inset: 0;
  margin: auto;
  transition: transform .3s ease-in-out, opacity .3s ease-in-out;
}

.c-toggle-button:before {
  width: 1em;
  height: 1px;
  opacity: 1;
}

.c-toggle-button:after {
  width: 1px;
  height: 1em;
}

.c-toggle-button-wrapper.is-active .c-toggle-button:before {
  opacity: 0;
}

.c-toggle-button-wrapper.is-active .c-toggle-button:before,
.c-toggle-button-wrapper.is-active .c-toggle-button:after {
  transform: rotate(90deg);
}


.c-desc a {
  color: var(--tcd-accent-color);
  text-decoration: none;
}

@media (hover: hover) and (pointer: fine) {
  .c-desc a:hover {
    text-decoration: underline;
  }
}


/* ----------------------------------------------------------------------
  Project - navigation
---------------------------------------------------------------------- */

/* ナビゲーション */
.p-global__nav-wrapper {
  position: relative;
}

.p-global__nav {
  font-size: 16px;
  line-height: 1.2;
}

.p-global__nav li {
  width: 100%;
  position: relative;
}

.p-global__nav a {
  position: relative;
}

/* 親メニュー */
.p-global__nav&gt;li {}

.p-global__nav&gt;li&gt;a {
  text-align: center;
  width: 100%;
  height: 60px;
  line-height: 1.2;
  padding: 0 30px;
  overflow: hidden;
  white-space: nowrap;
}

.p-global__nav&gt;li.current-menu-item&gt;a {
  color: var(--tcd-accent-color);
}

@media (hover: hover) and (pointer: fine) {

  .p-global__nav&gt;li.is-active&gt;a,
  .p-global__nav&gt;li:hover&gt;a {
    color: var(--tcd-accent-color);
  }
}

/* サブメニュー */
.p-global__nav .sub-menu {
  position: absolute;
  left: 100%;
  top: 0;
  font-size: 14px;
  line-height: 1.7;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.p-global__nav&gt;li.menu-item-has-children&gt;.sub-menu {
  top: 100%;
  left: 0;
  z-index: 200;
}

.p-global__nav&gt;li:last-child.menu-item-has-children&gt;.sub-menu {
  left: auto;
  right: 0;
}

.p-global__nav .sub-menu a {
  color: inherit;
  line-height: 1.4;
  padding: 0 20px;
  min-width: 240px;
  z-index: 2;
  height: 50px;
  transition: color 0.2s ease, background 0.2s ease;
}

.p-global__nav a[data-megamenu]+.sub-menu {
  display: none;
}

@media (hover: hover) and (pointer: fine) {

  .p-global__nav a:hover+.sub-menu,
  .p-global__nav .sub-menu:hover {
    visibility: visible;
    opacity: 1;
  }

  .p-global__nav .sub-menu a:hover {
    color: #fff;
    background: var(--tcd-accent-color);
  }
}

/* メガメニュー */
.p-megamenu {
  position: absolute;
  top: calc(100% - 1px);
  width: 100%;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0s ease;
}

@media (hover: hover) and (pointer: fine) {

  .p-megamenu.is-active,
  .p-megamenu:hover {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

@media (max-width: 1024px) {
  .p-megamenu {
    display: none;
  }
}


/* メガメニュー01（アイテムリスト） */
.p-megamenu01 {
  padding: 40px 0;
}

.p-megamenu01__inner {
  position: relative;
}

.p-megamenu01__list {
  gap: 30px;
}

.p-megamenu01__item {
  width: calc((100% - 60px) / 3);
}

.p-megamenu01__link {
  color: inherit;
  height: 120px;
}

.p-megamenu01__image {
  margin-right: 30px;
}

.p-megamenu01__image-bg {
  width: 120px;
  height: 120px;
}

.p-megamenu01__content {
  flex: 1 1 0;
}

.p-megamenu01__title {
  font-size: 18px;
  line-height: 1.6;
  margin: -0.3em 0;
  font-weight: 600;
}

.p-megamenu01__desc {
  font-size: 14px;
  line-height: 1.7;
  margin: -0.35em 0;
}

*+.p-megamenu01__desc {
  margin-top: calc(15px - 0.35em);
}

/* メガメニュー02（ブログスライダー） */
.p-megamenu02 {
  padding: 40px 0;
}

.p-megamenu02__inner {
  position: relative;
}

.p-megamenu02__list {}

.p-megamenu02__item {
  width: calc(((100% + 30px) / 3) - 30px);
}

.p-megamenu02__link {
  color: inherit;
}

.p-megamenu02__category {
  margin-bottom: 20px;
}

.p-megamenu02__image {
  width: 140px;
  height: 140px;
  margin-right: 30px;
}

.p-megamenu02__image-bg {
  width: 100%;
  height: 100%;
}

.p-megamenu02__content {
  flex: 1 1 0;
}

.p-megamenu02__title {
  font-size: 16px;
  line-height: 1.8;
  height: 5.4em;
  margin: -0.4em 0;
  font-weight: normal;
  transition: color 0.3s ease;
}

@media (hover: hover) and (pointer: fine) {
  .p-megamenu02__link:hover .p-megamenu02__title {
    color: #888888;
  }
}

/* ライトカラー */
.is-header-type--light .p-global__nav .sub-menu {
  color: #000;
  background: #f8f8f8;
}

.is-header-type--light .p-megamenu {
  color: #000;
  background: #f8f8f8;
}

/* ダークカラー */
.is-header-type--dark .p-global__nav .sub-menu {
  color: #fff;
  background: #000;
}

.is-header-type--dark .p-megamenu {
  color: #fff;
  background: #000;
}

.is-header-type--dark .p-megamenu01__desc {
  color: rgba(255, 255, 255, 0.5);
}



/* ----------------------------------------------------------------------
  Project - Drawer menu
---------------------------------------------------------------------- */

/* 閉じるボタン */
.p-menu-button--close {
  width: 50px;
  height: 50px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  transition: opacity 0.3s ease;
}

.p-menu-button--close span {
  display: block;
  width: 1px;
  height: 17px;
  overflow: hidden;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.p-menu-button--close span:first-of-type {
  transform: rotate(-45deg);
  z-index: 2;
}

.p-menu-button--close span:last-of-type {
  transform: rotate(45deg);
}

.p-menu-button--close span:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  transition: transform 0.3s ease;
}

.p-menu-button--close span:first-of-type:before {
  transform: translateY(-100%);
  transition-delay: 0.2s;
}

.p-menu-button--close span:last-of-type:before {
  transform: translateY(-100%);
  transition-delay: 0.5s;
}

html.show-drawer .p-menu-button--close span:before {
  transform: translateY(0);
}

@media (hover: hover) and (pointer: fine) {
  .p-menu-button--close:hover {
    opacity: 0.5;
  }
}

/* ドロワーメニュー */
.p-drawer-menu {
  position: fixed;
  top: var(--wp-admin--admin-bar--height, 0);
  right: -400px;
  z-index: 201;
  padding: 50px 0;
  width: 400px;
  height: 100%;
  overflow: hidden auto;
  transition: transform 0.4s cubic-bezier(0.65, 0.05, 0.36, 1);
}

html.show-drawer .p-drawer-menu {
  transform: translateX(-400px);
}

html.show-drawer .p-drawer-menu__overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4)
}

@media (max-width: 599px) {
  .p-drawer-menu {
    width: 100%;
    right: -100%;
  }

  html.show-drawer .p-drawer-menu {
    transform: translateX(-100%);
  }

  .p-drawer-animation {
    transition: transform 0.4s cubic-bezier(0.65, 0.05, 0.36, 1);
  }

  html.show-drawer .p-drawer-animation {
    transform: translateX(-100%);
  }

  .p-drawer-menu__overlay {
    display: none;
  }
}

/* ナビゲーション */
.p-drawer-menu__nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 16px;
  line-height: 1.2;
  padding: 0 20px;
  height: 50px;
  color: inherit;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.p-drawer-menu__nav ul {
  background: var(--tcd-accent-color);
}

.p-drawer-menu__nav ul a {
  color: #fff;
  font-size: 14px;
  border-top: none;
  height: auto;
  padding: calc(20px - 0.1em) 20px;
}

.p-drawer-menu__nav ul li:first-of-type a {
  padding-top: calc(20px - 0.1em);
}

.p-drawer-menu__nav ul li:last-of-type a {
  padding-bottom: calc(20px - 0.1em);
}

.p-drawer-menu__nav ul {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease;
}

.p-drawer-menu__nav li.is-active&gt;a {
  color: var(--tcd-accent-color);
}

.p-drawer-menu__nav&gt;li.is-active+li&gt;a {
  border-top-color: transparent;
}

@media (hover: hover) and (pointer: fine) {
  .p-drawer-menu__nav&gt;li a:hover {
    color: var(--tcd-accent-color);
  }

  .p-drawer-menu__nav ul li a:hover {
    color: rgba(255, 255, 255, 0.5) !important;
  }
}

/* サブメニュー開閉ボタン */
.p-drawer-menu-toggle-button {
  min-width: 50px;
  width: 50px;
  height: 100%;
  margin-right: -20px;
  position: relative;
  transition: opacity 0.2s ease;
}

.p-drawer-menu-toggle-button__icon {
  display: block;
  width: 14px;
  height: 14px;
  position: relative;
}

.p-drawer-menu-toggle-button__icon:before,
.p-drawer-menu-toggle-button__icon:after {
  content: '';
  display: block;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.p-drawer-menu-toggle-button__icon:before {
  width: 1px;
  height: 100%;
  transition: transform 0.2s ease;
}

.p-drawer-menu-toggle-button__icon:after {
  width: 100%;
  height: 1px;
}

.p-drawer-menu__nav li.is-active .p-drawer-menu-toggle-button__icon:before {
  transform: rotate(90deg);
}

@media (hover: hover) and (pointer: fine) {
  .p-drawer-menu-toggle-button:hover {
    opacity: 0.5;
  }
}

/* ライトカラー */
.is-header-type--light .p-drawer-menu__nav {
  border-bottom: 1px solid #ddd;
}

.is-header-type--light .p-menu-button--close span {
  background: #000;
}

.is-header-type--light .p-drawer-menu {
  color: #000;
  background: #fff;
}

.is-header-type--light .p-drawer-menu__nav a {
  border-top-color: #ddd;
}

.is-header-type--light .p-drawer-menu-toggle-button__icon:before,
.is-header-type--light .p-drawer-menu-toggle-button__icon:after {
  background: #000;
}

/* ダークカラー */
.is-header-type--dark .p-drawer-menu__nav {
  border-bottom: 1px solid rgba(255, 255, 255, 20%);
}

.is-header-type--dark .p-menu-button--close span {
  background: #fff;
}

.is-header-type--dark .p-drawer-menu {
  color: #fff;
  background: #000;
}

.is-header-type--dark .p-drawer-menu__nav a {
  border-top-color: rgba(255, 255, 255, 20%);
}

.is-header-type--dark .p-drawer-menu-toggle-button__icon:before,
.is-header-type--dark .p-drawer-menu-toggle-button__icon:after {
  background: #fff;
}



/* アイテム */
.p-drawer-menu__item {
  font-size: 14px;
  margin-top: 40px;
  padding: 0 20px;
}

/* nav */
.p-drawer-menu__item-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

.p-drawer-menu__item-nav&gt;li {
  width: calc((100% - 20px) / 2);
}

.p-drawer-menu__item-nav a {
  color: inherit;
}

@media (hover: hover) and (pointer: fine) {
  .p-drawer-menu__item-nav a:hover {
    color: var(--tcd-accent-color);
  }
}

/* html */
.p-drawer-menu__item-html {
  font-size: 16px;
  line-height: 1.6;
}

.p-drawer-menu__item-html a {
  color: var(--tcd-accent-color);
}

@media (hover: hover) and (pointer: fine) {
  .p-drawer-menu__item-html a:hover {
    text-decoration: underline;
  }
}

/* archive */
.p-drawer-menu__item-archive {
  position: relative;
}

.p-drawer-menu__item-archive select {
  background: transparent !important;
}

.is-header-type--light .p-drawer-menu__item-archive select {
  border-color: #ddd;
}

.is-header-type--dark .p-drawer-menu__item-archive select {
  border-color: rgba(255, 255, 255, 20%);
}

/* tagcloud */
.p-drawer-menu__tagcloud {
  gap: 7px;
}

.p-drawer-menu__tagcloud-item a {
  display: block;
  color: inherit;
  padding: 1em 1.25em;
  border-radius: 5px;
}

.is-header-type--light .p-drawer-menu__tagcloud-item a:not(:hover) {
  background: rgba(0, 0, 0, 0.07);
}

.is-header-type--dark .p-drawer-menu__tagcloud-item a:not(:hover) {
  background: rgba(255, 255, 255, 0.2);
}

@media (hover: hover) and (pointer: fine) {
  .p-drawer-menu__tagcloud-item a:hover {
    color: #fff;
    background: var(--tcd-accent-color);
  }
}

/* post list */
.p-drawer-menu__item-post-list {}

*+.p-drawer-menu__item-post-list__item {
  margin-top: 20px;
}

.p-drawer-menu__item-post-list__link {
  color: inherit;
}

.p-drawer-menu__item-post-list__date {
  margin-bottom: 15px;
}

.p-drawer-menu__item-post-list__title {
  font-size: 16px;
  line-height: 1.8;
  font-weight: normal;
  max-height: 3.6em;
  margin: -0.4em 0;
}

/* sns */
.p-drawer-menu__sns-icons {
  margin: 40px 20px 0 20px;
}

/* ----------------------------------------------------------------------
  Project - header message
---------------------------------------------------------------------- */

.p-header-message {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  padding: 1em 20px;
  position: relative;
  z-index: 100;
}

.p-header-message__label {
  display: block;
  color: inherit;
  line-height: 1.4;
  margin: -0.2em 0;
  padding-top: 1px;
}

@media (hover: hover) and (pointer: fine) {
  .p-header-message a:hover {
    color: inherit;
    text-decoration: underline;
  }
}

@media (max-width: 767px) {
  .p-header-message {
    min-height: 40px;
    font-size: 12px;
  }
}

/* ----------------------------------------------------------------------
  Project - return top button
---------------------------------------------------------------------- */

/* ページ上部へ戻るボタン */
.p-return-top-button-wrapper {
  position: fixed;
  right: 30px;
  bottom: 30px;
  z-index: 101;
}

.p-return-top-button {
  display: block;
  width: 65px;
  height: 65px;
  padding: 0;
  margin-left: auto;
  color: #000;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 50%;
  cursor: pointer;
  pointer-events: auto;
  opacity: 0;
  transition: opacity 0.3s ease, color 0.3s ease;
}

.p-return-top-button .c-icon {
  color: inherit;
  font-size: 32px;
  padding-top: 3px;
}

.p-return-top-button.is-active {
  opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
  .p-return-top-button:hover {
    color: rgba(0, 0, 0, 0.5);
  }
}

@media (max-width:767px) {
  .p-return-top-button-wrapper {
    right: 15px;
    bottom: 15px;
  }

  .p-return-top-button {
    width: 50px;
    height: 50px;
  }

  .p-return-top-button .c-icon {
    color: inherit;
    font-size: 24px;
  }

  .p-footer-bar~.p-return-top-button-wrapper {
    display: none;
  }

  /* ドロワー対策 */
  html.show-drawer .p-return-top-button-wrapper .p-return-top-button {
    opacity: 0;
    transition: none;
  }
}

/* ----------------------------------------------------------------------
  Project - front page
---------------------------------------------------------------------- */

.p-fp-slider {
  position: relative;
  height: 800px;
  background: #999;
}

@media not all and (max-width: 1200px) {
  body.is-header-transparency .l-header--type2+div .p-fp-slider {
    height: 930px;
  }
}

@media not all and (max-width:767px) {

  body.is-header-transparency .l-header--type1+div .p-fp-slider,
  body.is-header-transparency .l-header--type2+div .p-fp-slider {
    height: 870px;
  }
}

@media (max-width:767px) {
  .p-fp-slider {
    height: calc(100vh - 60px);
  }
}


/* コンテンツ */
.p-fp-slider__content {
  color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 3;
}

.p-fp-slider__content-texts {
  display: inline-block;
}

.p-fp-slider__headline {
  font-family: var(--tcd-front-page-catch-font-type);
  font-size: var(--tcd-front-page-catch-font-size);
  line-height: 1.6;
  margin: -0.3em 0;
}

.p-fp-slider__desc {
  font-size: 16px;
  line-height: 2.6;
  margin: -0.8em 0;
}

*+.p-fp-slider__desc {
  margin-top: calc(35px - 0.8em);
}

.p-fp-slider__button {}

*+.p-fp-slider__button {
  margin-top: 40px;
}


@media not all and (max-width:767px) {
  .p-fp-slider__content-align--left {
    text-align: left;
  }

  .p-fp-slider__content-align--center {
    text-align: center;
  }

  .p-fp-slider__content-align--right {
    text-align: right;
  }

  .p-fp-slider__content-align--right .p-fp-slider__content-texts {
    text-align: left;
  }
}

@media (max-width:767px) {
  .p-fp-slider__content {
    text-align: center;
  }

  .p-fp-slider__headline {
    line-height: 1.4;
    margin: -0.2em 0;
  }

  .p-fp-slider__desc {
    line-height: 2.2;
    margin: -0.6em 0;
  }

  *+.p-fp-slider__desc {
    margin-top: calc(25px - 0.6em);
  }

  *+.p-fp-slider__button {
    margin-top: 30px;
  }
}

.p-fp-slider__content .c-animation--text {
  animation-duration: 1.4s !important;
}

.p-fp-slider__bg {
  width: 100%;
  height: 100%;
}

/* 背景画像 */
.p-fp-slider__images {}

.p-fp-slider__images-track {
  width: 100%;
  height: 100%;
}

.p-fp-slider__images-list {}

.p-fp-slider__images-item {
  width: 100%;
  height: 100%;
}

.p-fp-slider__images-item__bg {
  width: 100%;
  height: 100%;
}

/* 背景動画 */
.p-fp-slider__video {}

.p-fp-slider__video-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* youtube */
.p-fp-slider__youtube {
  position: relative;
  overflow: hidden;
  background: #000;
}

.p-fp-slider__youtube-bg:not(.is-ready) {
  opacity: 0;
}

.p-fp-slider__youtube-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
  transition: opacity 0.3s ease;
  width: calc(100vh * 16 / 9);
  height: calc(100vw * 9 / 16);
  min-width: 100%;
  min-height: 100%;
}

.p-fp-slider__youtube iframe {}

/* 代替画像 */
.p-fp-slider__alternate {}

.p-fp-slider__alternate-bg {
  width: 100%;
  height: 100%;
}


/* type2 */
.p-fp-slider--type2 {
  visibility: visible;
}

.p-fp-slider--type2__track {
  width: 100%;
  height: 100%;
}

.p-fp-slider--type2__list {}

.p-fp-slider--type2__item {
  width: 100%;
  height: 100%;
}

/* アニメーション用 */
.p-fp-slider--type2__item.is-active .p-fp-slider__content-texts&gt;* {
  opacity: 0;
  animation: FadeIn 2s ease 1s forwards;
}

.p-fp-slider--type2__item.is-active .p-fp-slider__content-texts&gt;*+* {
  animation-delay: 1.3s;
}

.p-fp-slider--type2__item.is-active .p-fp-slider__content-texts&gt;*+*+* {
  animation-delay: 1.6s;
}


/* type3 */
.p-fp-slider--type3 {
  height: 600px;
  visibility: visible;
  background: #fff;
}

.p-fp-slider--type3__track {
  width: 100%;
  height: 100%;
}

.p-fp-slider--type3__list {}

.p-fp-slider--type3__item {
  width: 100%;
  height: 100%;
}

.p-fp-slider--type3__item-link {
  display: block;
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease;
}

.p-fp-slider--type3__item-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.p-fp-slider--type3__arrow {
  color: #fff;
}

.p-fp-slider--type3__arrow--prev,
.p-fp-slider--type3__arrow--next {
  opacity: 0;
  transition: opacity 0.3s ease, left 0.3s ease, right 0.3s ease;
}

.p-fp-slider--type3__arrow--prev {
  left: 5px;
}

.p-fp-slider--type3__arrow--next {
  right: 5px;
}

@media (hover: hover) and (pointer: fine) {
  .p-fp-slider--type3__item-link:hover {
    opacity: 0.8;
  }
  
  .p-fp-slider--type3__item-link[href=""]:hover {
    opacity: 1;
    pointer-events: none;
    cursor: auto;
  }
  
  .p-fp-slider--type3:hover .p-fp-slider--type3__arrow--prev {
    opacity: 1;
    left: 10px;
  }

  .p-fp-slider--type3:hover .p-fp-slider--type3__arrow--next {
    opacity: 1;
    right: 10px;
  }
}

@media (max-width: 1024px) {
  .p-fp-slider--type3 {
    height: 450px;
  }
}

@media (max-width: 767px) {
  .p-fp-slider--type3 {
    height: 240px;
  }
}


/* ----------------------------------------------------------------------
  Project - Page Header
---------------------------------------------------------------------- */

.p-page-header {
  height: 460px;
  background: #333;
  overflow: hidden;
  position: relative;
}

.p-page-header__inner {
  position: relative;
  height: 100%;
  color: #fff;
  text-align: center;
}

.p-page-header__content {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
}

.p-page-header__headline {
  font-size: var(--tcd-headline-font-size);
  font-family: var(--tcd-headline-font-type);
  line-height: 1.6;
  margin: -0.3em 0;
}

.p-page-header__description {
  font-size: 16px;
  line-height: 2;
  margin: -0.5em 0;
}

*+.p-page-header__description {
  margin-top: calc(30px - 0.5em);
}

.p-page-header__overlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: #000;
}

.p-page-header__image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}

*+.p-page-header__search {
  margin-top: 40px;
}

.p-page-header__botttom {
  padding-top: 120px;
  text-align: center;
}

.p-page-header__botttom-desc {
  font-size: 16px;
  line-height: 2.4;
  margin: -0.7em 0;
}

.p-page-header--text {
  text-align: center;
  padding-top: 120px;
}

.c-breadcrumb+.p-page-header--text {
  border-top: none;
}

/* シンプル */
.p-page-header--simple {
  margin-bottom: 60px;
}

.p-page-header--simple__headline {
  font-size: 24px;
  text-align: center;
  line-height: 1.6;
  margin: -0.3em 0;
}

@media not all and (max-width: 767px) {
  .p-page-header--archive {
    height: 460px;
  }

  .p-page-header--taxonomy {
    height: 250px;
  }
}

@media (max-width: 767px) {
  .c-breadcrumb+.p-page-header {
    margin-top: -1px;
  }

  .p-page-header--archive {
    height: 200px;
  }

  .p-page-header--taxonomy {
    height: 120px;
  }

  *+.p-page-header__description {
    margin-top: calc(15px - 0.5em);
  }

  .p-page-header__botttom {
    padding-top: 40px;
  }

  .p-page-header__botttom-desc {
    line-height: 2.2;
    margin: -0.6em 0;
  }

  .p-page-header--text {
    padding-top: 40px;
  }

  .p-page-header--simple {
    margin-bottom: 40px;
  }

  .p-page-header--simple__headline {
    font-size: 22px;
  }
}

/* ----------------------------------------------------------------------
  Project - Post
---------------------------------------------------------------------- */

/* 投稿アーカイブ */
.p-archive--post {
  gap: 40px;
}

.p-archive--post-item {
  width: calc((100% - 40px) / 2);
}

.p-archive--post-item__link {
  padding: 15px;
  background: #f7f7f7;
}

.p-archive--post-item__image {
  margin-right: 40px;
}

.p-archive--post-item__image-bg {
  width: 220px;
  height: 220px;
}

.p-archive--post-item__content {
  flex: 1 1 0;
  margin-right: 25px;
}

.p-archive--post-item__category {
  margin-left: -1px;
  margin-bottom: 20px;
}

.p-archive--post-item__title {
  font-size: 18px;
  line-height: 1.8;
  height: 3.6em;
  margin: -0.4em 0;
}

.p-archive--post-item__date {
  margin-top: 20px;
}

@media (max-width:992px) {
  .p-archive--post-item__image {
    margin-right: 20px;
  }

  .p-archive--post-item__image-bg {
    width: 130px;
    height: 130px;
  }

  .p-archive--post-item__content {
    margin-right: 0;
  }

  .p-archive--post-item__title {
    font-size: 14px;
  }
}

@media (max-width:767px) {
  .p-archive--post {
    gap: 15px;
  }

  .p-archive--post-item {
    width: 100%;
  }

  .p-archive--post-item__date {
    margin-top: 15px;
  }
}

/* 著者アーカイブ */
.p-author-profile--archive {
  margin-bottom: 120px;
  background: #f7f7f7;
  padding: 50px;
}

.p-author-profile--archive__image {
  width: 120px;
  text-align: center;
}

.p-author-profile--archive__image-bg {
  width: 120px;
  border-radius: 50%;
}

.p-author-profile--archive__content {
  width: calc(100% - 120px);
  padding-left: 50px;
}

.p-author-profile--archive__title {
  font-size: 22px;
  line-height: 1.8;
  margin: -0.4em 0;
}

.p-author-profile--archive__desc {
  font-size: 14px;
  line-height: 2.2;
  margin: calc(30px - 0.6em) 0 -0.6em;
}

.p-author-profile--archive__icons {
  margin-top: 30px;
}

@media (max-width:767px) {
  .p-author-profile--archive {
    padding: 40px 20px;
    margin-bottom: 40px;
  }

  .p-author-profile--archive__image {
    width: 100%;
  }

  .p-author-profile--archive__image-bg {
    width: 110px;
  }

  .p-author-profile--archive__title {
    font-size: 16px;
    margin: calc(30px - 0.4em) 0 -0.4em;
    text-align: center;
  }

  .p-author-profile--archive__content {
    width: 100%;
    padding: 0;
  }

  .p-author-profile--archive__desc {
    font-size: 14px;
    line-height: 2.2;
    margin: calc(30px - 0.6em) 0 -0.6em;
  }

  .p-author-profile--archive__icons {
    margin-top: 30px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}


/* ----------------------------------------------------------------------
 ブログアーカイブにカテゴリーを表示する
---------------------------------------------------------------------- */

 /* swiperの矢印ナビ */
 #blog_category_sort_wrap .swiper-nav-button { width:50px; height:50px; border:none; z-index:200; }
 #blog_category_sort_wrap .swiper-button-prev { left:-25px; right:auto; }
 #blog_category_sort_wrap .swiper-button-next { left:auto; right:-25px; }
 #blog_category_sort_wrap .swiper-button-next:after,
 #blog_category_sort_wrap .swiper-button-prev:after { display:none; }
 #blog_category_sort_wrap .swiper-button-next:before, .swiper-button-prev:before {
   font-family:'design_plus'; font-size:24px; top:2px; position:relative; color:#000;
   -webkit-font-smoothing: antialiased; transition: color 0.25s ease !important;
 }
 #blog_category_sort_wrap .swiper-button-prev:before { content:'\e90f'; left:0px; }
 #blog_category_sort_wrap .swiper-button-next:before { content:'\e910'; right:0px;}
 #blog_category_sort_wrap .swiper-button-disabled { opacity:0 !important; pointer-events:auto !important; }
 @media(hover: hover) {
	#blog_category_sort_wrap .swiper-nav-button:hover:before { color: var(--tcd-accent-color); }
 } 

/*カテゴリー一覧*/
#blog_category_sort_wrap { width:1100px; margin:0px auto 0; position:relative; text-align:center; }
#blog_category_sort_wrap + .p-archive{
	margin-top: 50px;
}
#blog_category_sort:after { content:''; display:block; width:1px; height:70px; background:#ddd; position:absolute; right:0; top:0; z-index:2; }
#blog_category_sort:before { content:''; display:block; width:1px; height:70px; background:#ddd; position:absolute; left:0; top:0; z-index:2; }
#blog_category_sort .item { margin:0; width:calc(25% + 1px) !important; }
#blog_category_sort.small_size .item { flex: 1 1 0%; width:auto; }
#blog_category_sort .item a { font-size:16px; height:70px; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; border-top:1px solid #ddd; border-bottom:1px solid #ddd; padding:0 20px; position:relative; width: 100%;}
#blog_category_sort .item a p { line-height:1.4; max-height:2.8em; overflow:hidden; visibility:visible; }
#blog_category_sort .item a span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
#blog_category_sort .item a:after { content:''; display:block; width:1px; height:100%; position:absolute; right:0; top:0; background:#ddd; }
#blog_category_sort .item.active_menu a { background:var(--c); border-color:var(--tcd-accent-color) !important; color:#fff; position:relative; pointer-events:none; }
#blog_category_sort .item.active_category { background-color: var(--tcd-accent-color);border-color:var(--tcd-accent-color) !important;}
#blog_category_sort .item.active_category a { color: #fff;}
#blog_category_sort .item.active_menu { position:relative; z-index:5; }
#blog_category_sort .item.active_menu a { background:var(--tcd-accent-color); border-color:var(--tcd-accent-color) !important; color:#fff; position:relative; pointer-events:none; }
#blog_category_sort .item.active_category { background-color: var(--tcd-accent-color);border-color:var(--tcd-accent-color) !important;}
#blog_category_sort .item.active_category a { color: #fff;}
#blog_category_sort_wrap .swiper-button-next:before, #blog_category_sort_wrap .swiper-button-prev:before { color:#000; font-size:18px; }
#blog_category_sort_wrap .swiper-button-prev { left:-50px; right:auto; top:31px; z-index:10; }
#blog_category_sort_wrap .swiper-button-next { left:auto; right:-50px; top:31px; z-index:10; }
@media(hover: hover) {
  #blog_category_sort_wrap .swiper-button-next:hover:before, #blog_category_sort_wrap .swiper-button-prev:hover:before { color: var(--tcd-accent-color); }
  #blog_category_sort .item a:hover { color: var(--tcd-accent-color); }
  #blog_category_sort .item.active_category a:hover { color:#fff; opacity: .6; }
}

#blog_category_sort_wrap .category_center { justify-content: center;}
#blog_category_sort_wrap .item_width { flex: none !important; width: calc(100% / 4) !important;}
#blog_category_sort_wrap .small_size::before { display: none;}
#blog_category_sort_wrap .small_size::after { display: none;}
#blog_category_sort_wrap .category_center .item:first-child { border-left: 1px solid #ddd;}
#blog_category_sort_wrap .mobile_button_width { justify-content: center;}

@media screen and (max-width:1200px) {
    #blog_category_sort_wrap { width:100%; }
    #blog_category_sort { overflow:visible; }
    #blog_category_sort:after, #blog_category_sort:before { display:none !important; }
    #blog_category_sort_wrap .swiper-nav-button { display:none; }
    #blog_category_sort .item { width:233px !important; }
    #blog_category_sort.small_size .item { flex: 0 0 auto; width:auto; }
    #blog_category_sort .item a { border-right:1px solid #ddd; }
    #blog_category_sort .item:first-of-type a { border-left:1px solid #ddd; }
    #blog_category_sort .item a:after { display:none; }
    body:not(.home):not(.single-post) .style_list { width:auto; margin:0 100px -30px; }
}

  @media screen and (max-width:1000px) {
    #blog_category_sort .item { width:200px !important; }
    #blog_category_sort .item a { height:50px; line-height:50px; font-size:14px; }
}
@media screen and (max-width:600px) {
    #blog_category_sort .item { width:160px !important; }
}



/* ----------------------------------------------------------------------
  Project - single post
---------------------------------------------------------------------- */

/* 全体 */
.p-single {}

/* ヘッダー */
.p-single__header {
  position: relative;
}

.p-single__header-content {}

.p-single__header-category {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 23px;
}

.p-single__header-title {
  font-size: var(--tcd-single-headline-font-size);
  font-family: var(--tcd-single-headline-font-type);
  line-height: 1.5;
  margin: -0.25em 0;
}

.p-single__header-meta {
  margin-top: 20px;
}

*+.p-single__header-meta__item {
  margin-left: 20px;
}

.p-single__header-image {
  margin-top: 45px;
}

.p-single__header-image img {
  width: 100%;
}

.p-single__header-caption {
  font-size: 16px;
  line-height: 1.8;
  margin: calc(20px - 0.4em) 0 -0.4em;
}

@media not all and (max-width:767px) {
  .p-single__header-image .p-single__header-category {
    display: none;
  }
}

@media (max-width:767px) {
  .p-single__header {}

  .p-single__header-category {
    margin-bottom: 20px;
  }

  .p-single__header-content {
    padding: 0;
    border: none;
  }

  .p-single__header-title {
    line-height: 1.4;
    margin-top: -0.2em;
  }

  *+.p-single__header-meta__item {
    margin-left: 10px;
  }

  .p-single__header-image {
    position: relative;
    margin: 40px -20px 0;
  }

  .p-single__header-image .p-single__header-category {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0 20px;
    z-index: 1;
  }
}

/* 各コンテンツの余白 */
*+.p-single__margin {
  margin-top: 50px;
}

@media (max-width: 767px) {
  *+.p-single__margin {
    margin-top: 40px;
  }
}

/* 本文 */


/* コピーボタン */
.p-copy-title-url {
  text-align: center;
}

.p-copy-title-url__button {
  font-size: 14px;
  background: #fff;
  border: 3px solid #ccc;
  cursor: pointer;
  line-height: 54px;
  min-width: 300px;
  padding: 0 15px;
  transition-property: background-color, color;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

.p-copy-title-url__button.copied {
  background: #ccc;
  color: #fff;
  pointer-events: none;
}

@media (hover: hover) and (pointer: fine) {
  .p-copy-title-url__button:hover {
    color: rgba(0, 0, 0, 0.5) !important;
  }
}

@media (max-width:767px) {
  *+.p-copy-title-url {
    margin-top: 40px;
  }

  .p-copy-title-url__button {
    border-width: 2px;
    font-size: 12px;
    line-height: 46px;
    min-width: 250px;
  }
}

/* 記事下タグクラウド */
.p-single-tagcloud {}

.p-single-tagcloud__list {
  margin: -6px 0 0 -6px;
}

.p-single-tagcloud__item {
  margin: 6px 0 0 6px;
}

.p-single-tagcloud__link {
  display: block;
  line-height: 35px;
  height: 35px;
  padding: 0px 12px;
  font-size: 14px;
  background: #eeeeee;
  border-radius: 5px;
}

@media (hover: hover) and (pointer: fine) {
  .p-single-tagcloud__link:hover {
    background: var(--tcd-accent-color);
    color: #fff;
  }
}

@media (max-width: 767px) {
  .p-single-tagcloud {
    margin-top: 40px;
  }
}

/* プロフィール */
.p-author-profile {
  position: relative;
  padding: 30px;
  background: rgba(var(--tcd-bg-color, 245, 245, 245), 1);
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-align-items: center;
  -webkit-align-items: center;
  align-items: center;
}

.p-author-profile__image {
  display: block;
  width: 110px;
  height: 110px;
  border-radius: 100%;
  overflow: hidden;
}

.p-author-profile__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-author-profile__content {
  width: calc(100% - 110px);
  padding-left: 30px;
}

.p-author-profile__title {
  font-size: 18px;
  line-height: 1.6;
  margin: -0.3em 0 calc(15px - 0.3em);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  visibility: visible;
  font-weight: 600;
}

.p-author-profile__desc {
  font-size: 14px;
  line-height: 1.8;
  margin: -0.4em 0;
  max-height: 3.6em;
}

.p-author-profile__icons {
  margin-top: 15px;
}

.p-author-profile__icons li:not(:last-of-type) {
  margin-right: 0.5em;
}

@media (hover: hover) and (pointer: fine) {
  .p-author-profile__title a:hover {
    color: rgba(0, 0, 0, 0.5);
  }

  .p-author-profile__title a:hover span {
    border-color: rgba(0, 0, 0, 0.5);
  }
}

@media (max-width:767px) {
  .p-author-profile {
    padding: 20px;
  }

  .p-author-profile__image {
    width: 90px;
    height: 90px;
  }

  .p-author-profile__content {
    width: calc(100% - 90px);
    padding-left: 20px;
  }

  .p-author-profile__title {
    font-size: 14px;
  }

  .p-author-profile__desc {
    font-size: 12px;
  }

  .p-author-profile .c-sns-icons--type1 {
    font-size: 16px;
  }
}

/* 次の記事・前の記事 */
.p-page-nav {
  font-size: 16px;
}

.p-page-nav__inner {
  display: flex;
}

.p-page-nav__item {
  display: flex;
  align-items: center;
  width: 50%;
  height: 120px;
  padding: 0 30px;
  color: #000;
  border: 1px solid #ddd;
}

.p-page-nav__item--prev {
  padding-left: 25px;
}

.p-page-nav__item--next {
  padding-right: 25px;
}

.p-page-nav__arrow {
  font-size: 30px;
  color: inherit;
}

.p-page-nav__arrow--prev {
  margin-right: 20px;
}

.p-page-nav__arrow--next {
  margin-left: 20px;
}

.p-page-nav__item--next:only-child {
  margin-left: auto;
  border-left: 1px solid #ddd;
}

.p-page-nav__item--prev+.p-page-nav__item--next {
  border-left: none;
}

.p-page-nav__title {
  display: flex;
  justify-content: center;
  line-height: 1.7;
  max-height: 3.4em;
  width: 100%;
}

.p-page-nav__title-sp {
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .p-page-nav__item:hover {
    color: rgba(0, 0, 0, 0.5);
  }
}

@media (max-width: 767px) {
  .p-page-nav {
    font-size: 14px;
  }

  .p-page-nav__item {
    height: 50px;
    padding: 0;
    border: 1px solid #ddd;
  }

  .p-page-nav__item--prev {
    padding-right: 0;
  }

  .p-page-nav__item--next {
    padding-left: 0;
  }

  .p-page-nav__title-pc {
    display: none;
  }

  .p-page-nav__title-sp {
    display: block;
    font-size: 12px;
    width: 100%;
    text-align: center;
    padding-right: 20px;
  }

  .p-page-nav__arrow--prev {
    margin-right: -1em;
  }

  .p-page-nav__arrow--next {
    margin-left: -1em;
  }

  .p-page-nav__arrow--prev~.p-page-nav__title-sp {
    padding-right: 0;
    padding-left: 20px;
  }
}

/* 追加コンテンツ */


/* 関連記事 */
.p-related-post {}

.p-related-post__list {
  margin: 1px 0 0 1px;
}

.p-related-post__item {
  width: calc(100% / 2 + 1px);
  margin: -1px 0 0 -1px;
}

.p-related-post__item-link {
  padding: 15px;
  border: 1px solid #ddd;
}

.p-related-post__item-image {
  margin-right: 30px;
}

.p-related-post__item-image__bg {
  width: 140px;
  height: 140px;
}

.p-related-post__item-content {
  flex: 1 1 0;
  margin-right: 15px;
}

.p-related-post__item-content__title {
  font-size: 16px;
  line-height: 1.8;
  max-height: 5.4em;
  font-weight: normal;
}

@media (max-width: 767px) {
  .p-related-post__item-link {
    padding: 20px;
  }

  .p-related-post__item-image {
    margin-right: 20px;
  }

  .p-related-post__item-image__bg {
    width: 120px;
    height: 120px;
  }

  .p-related-post__item-content {
    margin-right: 0;
  }

  .p-related-post__item-content__title {
    font-size: 14px;
  }
}

@media (max-width: 599px) {
  .p-related-post__list {
    margin: 1px 0 0 0;
  }

  .p-related-post__item {
    width: 100%;
    margin: -1px 0 0 0;
  }
}

/* コメント */
.p-single-comment {}

@media (max-width: 767px) {
  .p-single-comment {}
}

/* 追加コンテンツ */
.p-single-banner{
  font-size: var(--tcd-single-content-font-size);
  line-height: var(--tcd-line-height);
  font-family: var(--tcd-single-content-font-type);
}

/* ----------------------------------------------------------------------
  Project - NEWS
---------------------------------------------------------------------- */

.p-archive--news {
  margin: 1px 0 0 1px;
}

/* loop */
.p-archive--news-wrapper {
  padding: 10px 25px 25px 10px;
  background: var(--tcd-accent-color);
}

.p-archive--news-wrapper:not(.is-show) {
  display: none !important;
}

.p-archive--news-loop {
  position: relative;
  margin: 1px 0 0 1px;
}

.p-archive--news-item {
  position: relative;
  width: calc(100% / 2 + 1px);
  margin: -1px 0 0 -1px;
}

.p-archive--news-item__link {
  width: 100%;
  padding: 15px;
  border: 1px solid #ddd;
}

.p-archive--news-item__image {
  width: 200px;
  height: 200px;
}

.p-archive--news-item__image-bg {
  width: 100%;
  height: 100%;
}

.p-archive--news-item__content {
  flex: 1 1 0;
  padding: 0 40px;
  margin-right: -15px;
  background: #fff;
}

.p-archive--news-item__title {
  font-size: 18px;
  line-height: 1.8;
  margin: -0.4em 0;
  height: 3.6em;
}

.p-archive--news-item__date {
  margin-bottom: 15px;
}

/* no image */
.p-archive--news-item.is-no-image .p-archive--news-item__link {
  padding: 30px;
}

.p-archive--news-item.is-no-image .p-archive--news-item__content {
  padding: 0;
  margin-right: 0;
}

@media (max-width: 992px) {
  .p-archive--news-item__image {
    width: 130px;
    height: 130px;
  }

  .p-archive--news-item__content {
    padding: 0 20px;
  }

  .p-archive--news-item__title {
    font-size: 14px;
    max-height: 3.6em;
    height: auto;
  }

  /* no image */
  .p-archive--news-item.is-no-image .p-archive--news-item__link {
    padding: 20px;
  }

  .p-archive--news-item.is-no-image .p-archive--news-item__title {
    height: 3.6em;
  }
}

@media (max-width: 599px) {
  .p-archive--news-item {
    width: 100%;
  }
}



/* ----------------------------------------------------------------------
  Project - single news
---------------------------------------------------------------------- */

.p-single--news__header {}

.p-single--news__header-content {}

.p-single--news__header-title {
  margin-top: -0.25em;
}

.p-single--news__header-meta {
  margin: 0 0 20px;
}

@media not all and (max-width: 767px) {
  .p-single--news__header-category {
    padding: calc(13px - 0.2em) 15px;
  }

  .p-single--news__header-image .p-single--news__header-category {
    display: none;
  }
}

@media (max-width: 767px) {
  .p-single--news:not(.is-no-image) .p-single--news__header-content .p-single--news__header-category {
    display: none;
  }

  .p-single--news.is-no-image .p-single--news__header-category {}

  .p-single--news__header-image {
    margin-top: 40px;
  }

  .p-single--news__header-image .p-single--news__header-category {
    position: absolute;
    top: 20px;
    margin: 0 19px;
    margin-bottom: 0px;
  }
}

/* 新着記事 */
.p-recent-news {}

.p-recent-news__list {}

@media not all and (max-width: 767px) {
  .p-recent-news .p-archive--news-item__image {
    width: 140px;
    height: 140px;
  }

  .p-recent-news .p-archive--news-item__content {
    padding: 0 30px;
  }

  .p-recent-news .p-archive--news-item__title {
    font-size: 16px;
  }
}

@media (max-width: 767px) {
  .p-recent-news {}
}


/* ----------------------------------------------------------------------
  Project - news ticker
---------------------------------------------------------------------- */

.p-news-ticker {
  position: relative;
  width: 100%;
  margin-top: -70px;
  border-bottom: 1px solid #fff;
  z-index: 5;
}

.p-news-ticker__inner {
  max-width: 710px;
  height: 71px;
  background: #fff;
}

.p-news-ticker__list {
  flex: 1 1 0;
  height: 100%;
}

.p-news-ticker__wrapper {
  height: 100%;
}

.p-news-ticker__item {
  height: 100%;
  padding: 0 30px;
  font-size: 16px;
  opacity: 0;
  transition: opacity 1s ease;
}

.p-news-ticker__item-inner {
  align-items: center;
}

.p-news-ticker__date {
  margin-right: 20px;
}

.p-news-ticker__title {
  flex: 1 1 0;
  font-size: 16px;
  line-height: 1.4;
  margin: -0.2em 0;
  font-weight: normal;
}

.p-news-ticker__link {}

.p-news-ticker__item.is-active {
  opacity: 1;
}

.p-news-ticker__button {
  width: 160px;
  height: 70px;
  color: #fff;
  background: #000;
}

@media (hover: hover) and (pointer: fine) {

  .p-news-ticker__link:hover,
  .p-news-ticker__button:hover {
    color: #888888;
  }
}

@media (max-width: 767px) {
  .p-news-ticker {
    margin-top: 0;
    border-bottom-color: #ddd;
  }

  .p-news-ticker__inner {
    max-width: 100%;
    height: 80px;
  }

  .p-news-ticker__item {
    padding: 0;
    opacity: 1;
  }

  .p-news-ticker__title {
    width: 100%;
    flex: initial;
    font-size: 14px;
    margin: 0;
  }

  .p-news-ticker__date {
    width: 100%;
    margin: 0 0 8px;
  }

  .p-news-ticker__button {
    display: none !important;
  }
}


/* ----------------------------------------------------------------------
  Project - front page section
---------------------------------------------------------------------- */

.p-cb {
  overflow: hidden;
  margin-top: -2px;
  position: relative;
  z-index: 5;
}

.p-cb__section:not(.p-cb--banner),
.p-cb__section:not(.p-cb--banner)+.p-cb--banner {
  margin-top: 120px;
}

.p-cb__section:last-of-type:not(.p-cb--banner) {
  margin-bottom: 150px;
}

@media (max-width: 767px) {

  .p-cb__section:not(.p-cb--banner),
  .p-cb__section:not(.p-cb--banner)+.p-cb--banner {
    margin-top: 40px;
  }

  .p-cb__section:last-of-type:not(.p-cb--banner) {
    margin-bottom: 40px;
  }
}

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

.p-cb__header-title {
  font-size: var(--tcd-headline-font-size);
  font-family: var(--tcd-headline-font-type);
  line-height: 1.6;
  margin: -0.3em 0;
}

.p-cb__header-sub-title {
  font-size: 16px;
  line-height: 2;
  margin: -0.5em 0;
}

*+.p-cb__header-sub-title {
  margin-top: calc(25px - 0.5em);
}

.p-cb__header-desc {
  font-size: 16px;
  line-height: 2.4;
  margin: -0.7em 0;
}

*+.p-cb__header-desc {
  font-size: 16px;
  line-height: 2.4;
  margin-top: calc(60px - 0.7em);
}

.p-cb__button {
  text-align: center;
  margin-top: 60px;
}

@media not all and (max-width: 767px) {
  .p-cb__header {
    padding-bottom: 60px;
  }

  .p-cb__header .p-cb__header-desc {
    margin-bottom: calc(60px - 0.7em);
  }
}

@media (max-width: 767px) {
  .p-cb__header {
    padding-bottom: 40px;
  }

  *+.p-cb__header-sub-title {
    margin-top: calc(15px - 0.5em);
  }

  .p-cb__header-desc {
    line-height: 2.2;
    margin: -0.5em 0;
  }

  *+.p-cb__header-desc {
    margin-top: calc(40px - 0.5em);
  }

  .p-cb__button {
    margin-top: 40px;
  }
}


/* ----------------------------------------------------------------------
  Project - front page - page type
---------------------------------------------------------------------- */

.p-fp-main-page {
  padding: 100px 0 150px;
}

@media (max-width: 767px) {
  .p-fp-main-page {
    padding: 40px 0;
  }
}

/* ----------------------------------------------------------------------
  Project - front page banner
---------------------------------------------------------------------- */

.p-cb--banner {
  position: relative;
  height: 460px;
  overflow: hidden;
  background: #333;
}

.p-cb--banner__content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 3;
}

.p-cb--banner__inner {
  color: #fff;
  text-align: center;
}

.p-cb--banner__button {
  color: #fff !important;
  background: transparent;
  border: 1px solid #fff;
  transition-property: background, border;
}

@media (hover: hover) and (pointer: fine) {
  .p-cb--banner__button:hover {
    border-color: var(--tcd-accent-color);
  }
}

*+.p-cb--banner__button {
  margin-top: 40px;
}

.p-cb--banner__image {
  width: 100%;
}

.p-cb--banner__image-bg {
  width: 100%;
  height: 460px;
}

.p-cb--banner__image-bg[data-orientation="up"],
.p-cb--banner__image-bg[data-orientation="down"] {
  width: 80%;
  margin: 0 10%;
}

@media (max-width: 767px) {
  .p-cb--banner {
    height: 240px;
  }

  .p-cb--banner__image-bg {
    width: 100%;
    height: 240px;
  }

  *+.p-cb--banner__button {
    margin-top: 20px;
  }
}


/* ----------------------------------------------------------------------
  Project - front page posts
---------------------------------------------------------------------- */

.p-fp-posts {}

/* ----------------------------------------------------------------------
  Project - front page news slider
---------------------------------------------------------------------- */

.p-fp-news {
  overflow: hidden;
}

.p-fp-news__tab {}

.p-fp-news__tab-labels {}

.p-fp-news__tab-labels-item {
  cursor: pointer;
}

.p-fp-news__tab-labels-link {
  transition: background 0.3s ease;
}

.p-fp-news__tab-area {
  background: var(--tcd-accent-color);
  padding: 25px;
  margin-top: -1px;
  position: relative;
}

.p-fp-news__tab-area__item.splide {
  visibility: visible;
}

.p-fp-news__tab-area__item:not(.is-show) {
  display: none;
}

.splide.is-initialized:not(.is-active) .p-fp-news__tab-area__item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-fp-news__arrow.c-arrow--prev {
  left: -90px;
}

.p-fp-news__arrow.c-arrow--next {
  right: -81px;
}

.p-fp-news:not(.is-slider) .p-fp-news__tab-area {}

.p-fp-news:not(.is-slider) .p-fp-news__tab-area__item-track {
  margin: -15px 0 0 -15px;
}

.p-fp-news:not(.is-slider) .p-fp-news__tab-area__item-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  overflow: initial;
}

.p-fp-news:not(.is-slider) .splide__arrows {
  display: none;
}

@media (max-width: 1150px) {
  .p-fp-news.is-slider .p-fp-news__inner {
    padding: 0 30px;
  }
}

@media not all and (max-width: 767px) {

  /* slider */
  .p-fp-news.is-slider .p-fp-news__tab-area__item-list {
    overflow: initial;
  }

  .p-fp-news.is-slider .p-fp-news__tab-area__item-slide.splide__slide {
    width: calc(((100% + 15px) / 3) - 15px);
    margin: 0 15px 0 0;
  }

  .p-fp-news.is-slider .p-fp-news__tab-area__item-slide.is-no-image {
    width: calc(((100% + 15px) / 2) - 15px);
  }
}

@media (max-width: 767px) {
  .p-fp-news__inner {
    padding: 0;
    width: 100%;
  }

  .p-fp-news__tab {}

  .p-fp-news__tab-area {
    padding: 20px;
  }

  .p-fp-news:not(.is-slider) .p-fp-news__tab-area__item-track {
    margin: -20px 0 0 -20px;
  }

  /* slider */
  .p-fp-news.is-slider .p-fp-news__inner {
    padding: 0;
  }

  .p-fp-news.is-slider .p-fp-news__tab-area {
    padding: 20px 0;
  }

  .p-fp-news.is-slider .p-fp-news__tab-area__item-slide:first-child {
    margin-left: 20px;
  }

  .p-fp-news.is-slider .p-fp-news__tab-area__item-slide {
    width: 260px;
    margin: 0 0 0 20px;
  }

  .p-fp-news.is-slider .p-archive--news-item__image {
    height: 180px;
  }
}


/* ----------------------------------------------------------------------
  Project - Page
---------------------------------------------------------------------- */

/* LP */
.p-single--lp--narrow {
  max-width: 710px;
}

.p-single--lp--normal {
  max-width: 840px;
}

.p-single--lp--wide {}

@media not all and (max-width: 767px) {
  .p-single--lp {
    margin: 0 auto;
  }
}

@media (max-width: 767px) {
  .p-single--lp {}
}

/* FAQ */
.p-body .p-faq-list {
  margin-bottom: 2em;
  background: #fff;
}

.p-body .p-faq-list__item {
  border: 1px solid #ddd;
}

.p-body *+.p-faq-list__item {
  margin-top: -1px;
}

.p-body .p-faq-list__title {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.6;
  padding: calc(30px - 0.3em) 70px calc(30px - 0.3em) 30px;
  margin: 0 !important;
  cursor: pointer;
  position: relative;
  transition: color 0.4s ease;
}

.p-body .p-faq-list__title-label {
  display: block;
  margin: -0.7em 0;
}

.p-body .p-faq-list__title-icon {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  overflow: hidden;
}

.p-body .p-faq-list__title-icon:before,
.p-body .p-faq-list__title-icon:after {
  content: '';
  display: block;
  width: 1px;
  height: 12px;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.p-body .p-faq-list__title-icon:before {
  transition: height 0.3s ease;
}

.p-body .p-faq-list__title-icon:after {
  transform: rotate(90deg);
}

.p-body .p-faq-list__content {
  height: 0;
  overflow: hidden;
  transition: height 0.3s cubic-bezier(0.54, 0.07, 0.38, 0.9);
}

.p-body .p-faq-list__desc {
  font-size: 16px;
  line-height: 2.4;
  padding: calc(40px - 0.7em) 40px;
  background: #f7f7f7;
  border-top: 1px solid #ddd;
}

.p-body .p-faq-list__desc p {
  margin-bottom: 0;
}

/* .p-body .p-faq-list__desc p { transition:opacity 0.7s ease; opacity:0; } */
/* .p-body .p-faq-list__title.is-active { color:var(--tcd-accent-color); } */
.p-body .p-faq-list__title.is-active .p-faq-list__title-icon:before {
  height: 0;
}

/* .p-body .p-faq-list__title.is-active + .p-faq-list__content p { opacity:1; transition:opacity 1s ease; } */
@media (max-width: 767px) {
  .p-body .p-faq-list__title {
    font-size: 14px;
    padding: 17px 45px 17px 20px;
  }

  .p-body .p-faq-list__title-label {
    line-height: 1.6;
    margin: -0.3em 0;
  }

  .p-body .p-faq-list__title-icon {
    right: 20px;
  }

  .p-body .p-faq-list__desc {
    font-size: 14px;
    padding: 20px;
  }
}





/* ----------------------------------------------------------------------
  Project - 404
---------------------------------------------------------------------- */

.p-404-container .l-container__inner {
  padding: 0;
  max-width: initial;
  width: 100%;
}

.p-404-container .l-main {
  width: 100%;
}

.p-404-page {
  width: 100%;
  height: calc(100vh - 140px);
  position: relative;
}

.p-404-page__contents {
  text-align: center;
  position: relative;
  z-index: 3;
}

.p-404-page__headline {
  font-size: 42px;
  line-height: 1.5;
  margin: -0.25em 0;
}

.p-404-page__desc {
  font-size: 16px;
  line-height: 2.2;
  margin: -0.6em 0;
}

*+.p-404-page__desc {
  margin-top: calc(35px - 0.6em);
}

.p-404-page__desc a {
  color: rgba(var(--tcd-link-color, 21, 120, 214), 1);
}

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

.p-404-page__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
}

.p-404-page__image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.p-404-page__arrow {
  position: absolute;
}

.p-404-page--light {
  color: #000;
  background: rgba(var(--tcd-bg-color, 246, 246, 246), 1);
}

.p-404-page--dark {
  color: #fff;
  background: #333;
}

.p-404-page__search {
  max-width: 500px;
  width: 100%;
  border-radius: 50px;
  overflow: hidden;
  background: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: -webkit-inline-flex;
  display: inline-flex;
}

*+.p-404-page__search {
  margin-top: 40px;
}

@media (max-width: 767px) {
  .p-404-page {
    height: calc(100vh - 160px);
  }

  .p-404-page__headline {
    font-size: 24px;
  }

  .p-404-page__desc {
    font-size: 14px;
  }

  *+.p-404-page__desc {
    margin-top: calc(25px - 0.6em);
  }

  *+.p-404-page__search {
    margin-top: 25px;
  }

  *+.p-404-page__post-tags {
    margin-top: 20px;
  }
}


/* ----------------------------------------------------------------------
  Utility
---------------------------------------------------------------------- */

@media not all and (max-width: 767px) {
  .is-device-sp {
    display: none !important;
  }
}

@media (max-width: 767px) {
  .is-device-pc {
    display: none !important;
  }
}

/* flex */
.u-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.u-flex-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.u-flex-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.u-flex-align-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.u-flex-justify-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/* clearfix */
.u-clearfix::after {
  display: block;
  clear: both;
  content: "";
}

/* visually hidden */
.u-visually-hidden {
  position: fixed !important;
  top: 0px !important;
  left: 0px !important;
  width: 4px !important;
  height: 4px !important;
  opacity: 0 !important;
  overflow: hidden !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  visibility: visible !important;
}

/* button reset */
.u-button-reset {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}

/* no scroll bar */
.u-hidden-scroll-bar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.u-hidden-scroll-bar::-webkit-scrollbar {
  display: none;
}

/* ----------------------------------------------------------------------
 ブロックエディターのYotutubeのレスポンシブ対応
---------------------------------------------------------------------- */
.wp-block-embed { margin:0 0 2em 0; }

/* ----------------------------------------------------------------------
 Distinationページ
---------------------------------------------------------------------- */
.child-category-list ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, 250px);
    gap: 30px;
    padding: 0;
    margin: 0;
    justify-content: start;
}

.child-category-list li.category-card {
    list-style: none;
}

.category-image-wrapper {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    width: 250px;
    height: 125px;
    margin: 0;
}

.category-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.category-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    transition: background 0.3s;
}

.category-image-wrapper:hover .category-overlay {
    background: rgba(0, 0, 0, 0.6);
}

.category-fallback {
    padding: 40px 10px;
    text-align: center;
    background-color: #eee;
    border-radius: 8px;
    font-weight: bold;
    width: 250px;
    height: 125px;
}

/* ページタイトル用 */
.page-title {
    font-size: 2rem;
    margin-bottom: 20px;
}

/* ▼ スマホ対応（画面幅が768px以下のとき） */
@media (max-width: 768px) {
    .child-category-list ul {
        grid-template-columns: repeat(2, 1fr);  /* スマホで2列 */
        justify-content: center;
        gap: 15px;
    }

    .category-image-wrapper,
    .category-fallback {
        width: 100%;             /* 親グリッド列幅に合わせる */
        height: auto;
        aspect-ratio: 2 / 1;     /* 横2:縦1の比率で高さを自動に */
    }

    .category-image-wrapper img {
        height: 100%;
        object-fit: cover;
    }
}

.custom-fullwidth-header {
  margin-bottom: 10px;
  text-align: center;
}

body.page-id-360 .custom-no-padding,
body.page-id-376 .custom-no-padding {
  padding-top: 0 !important;
}

/* 投稿ページのアイキャッチ画像を非表示にする */
body.single-post img.wp-post-image:first-of-type {
  display: none !important;
}

/* お問い合わせページ */
.text-danger {
  color: #dc3545 !important;
}

.wpcf7 input[type="submit"] {
  width: 100%;
  display: block;
  box-sizing: border-box;
}

/* アイテムのカテゴリーボタンを非表示にする */
.c-post-category {
  display: none !important;
}</pre></body></html>