@charset "UTF-8";
/* for the Kinta Naeba */
/*
Theme Name:CANON
Theme URI:https://tcd-theme.com/tcd109/
Description:WordPress theme “CANON” is a template developed for hotel, wedding, and bridal websites. It is designed to take advantage of a luxurious and dynamic design, and includes custom post types for introducing guest rooms and services.
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.1.2
Text Domain:tcd-canon
*/
/* ------------------------------------------------------------------------------------
 web fonts　ウェブフォントファイルを変更した場合はv=1.0の数字を変更（キャッシュ対策）
------------------------------------------------------------------------------------ */
@font-face {
  font-family: "normal_icon";
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  src: url("fonts/normal_icon.woff?v=1.3") format("woff");
}
@font-face {
  font-family: "sns_icon";
  font-weight: normal;
  font-style: normal;
  font-display: swap;
  src: url("fonts/sns_icon.woff?v=1.0") format("woff");
}
/* ----------------------------------------------------------------------
 reset css
---------------------------------------------------------------------- */
* {
  box-sizing: border-box;
  word-wrap: break-word;
  word-break: break-word;
}
*::before, *::after {
  box-sizing: border-box;
  word-wrap: break-word;
  word-break: break-word;
}

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 {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
}

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

.icon_type_google {
  font-family: "normal_icon";
  font-weight: 100;
}
#header .icon_type_google {
  font-size: 25px;
  vertical-align: middle;
}

.fa-solid::before {
  margin-right: 3px;
}

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

ul, ol {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

a:focus {
  outline: none;
}

ins {
  text-decoration: none;
}

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

del {
  text-decoration: line-through;
}

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

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

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

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

input, textarea {
  background-image: -webkit-linear-gradient(hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0));
  -webkit-appearance: none;
  border-radius: 0;
  /* Removing the inner shadow, rounded corners on iOS inputs */
}

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

select, option {
  color: #000;
  -webkit-text-fill-color: #000;
  /* iOSでの文字色を黒に設定 */
  -webkit-appearance: none;
  /* デフォルトのスタイルを無効にする */
}

button {
  appearance: none;
  -webkit-appearance: none;
}
button::-moz-focus-inner {
  border: 0;
  padding: 0;
}

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

iframe {
  max-width: 100%;
}

svg {
  display: block;
}

*:focus {
  outline: none;
}

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

/* clearfix */
.clearfix::after {
  display: block;
  clear: both;
  content: "";
}

/* chromeで画像を縮小した際にぼやけるのを防止 */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: 0.001dpcm) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}
/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
html {
  height: 100%;
  position: relative;
  overflow-x: hidden;
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}

body {
  min-height: 100%;
  line-height: 1;
  width: 100%;
  position: relative;
  overscroll-behavior-y: none;
  -webkit-font-smoothing: antialiased;
  background: var(--kinta-page-bg);
  color: var(--kinta-text-color);
}
body.admin-bar {
  /*! padding-top:32px; */
}

a {
  color: var(--kinta-link-color);
  text-decoration: none;
  text-decoration-thickness: 1px !important;
}

.post_content a:not([class]), .widget_block a:not([class]), .textwidget a:not([class]) {
  color: var(--kinta-link-color);
  text-decoration-line: underline;
  text-decoration-color: var(--kinta-link-color);
}
@media (hover: hover) {
  .post_content a:not([class]):hover, .post_content a:not([class]):focus, .widget_block a:not([class]):hover, .widget_block a:not([class]):focus, .textwidget a:not([class]):hover, .textwidget a:not([class]):focus {
    transition: color 0.2s;
    color: var(--kinta-link-color-hover);
  }
}

a {
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
a:before, a:after {
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

input {
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.clear {
  clear: both;
}

.hide {
  display: none;
}

.post_content {
  word-wrap: break-word;
}

a[href^="tel:"] {
  pointer-events: none;
  text-decoration: none !important;
}

.mobile_device a[href^="tel:"] {
  pointer-events: auto;
}

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

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

/* レイアウト */
#container {
  position: relative;
  z-index: 1;
  overscroll-behavior-y: none;
  overflow: hidden;
}

body.single-post #container {
  background: #f5f5f5;
}
body:not(.single):not(.page):not(.search):not(.error404) #container {
  border-top: 1px solid #ddd;
}

#main_content {
  width: 1000px;
  margin: 0 auto;
  padding: 0 0 150px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

body.show_sidebar_left #main_content {
  flex-direction: row-reverse;
}

#main_col {
  width: 100%;
}

body.hide_sidebar #main_col {
  margin: 0 auto;
}
body.single-post #main_col {
  width: 100%;
}
body.single-post.show_sidebar #main_col {
  width: calc(100% - 290px);
}

#side_col {
  width: 250px;
  position: relative;
}

/* 文字サイズとフォントタイプ */
body, input, textarea {
  font-size: var(--content_font_size);
  font-family: var(--content_font_type);
}

.rich_font, .p-vertical {
  font-size: var(--catch_font_size);
  font-family: var(--catch_font_type);
}

.rich_font_type1 {
  font-family: var(--font_family_type1);
  font-weight: 600;
}

.rich_font_type2 {
  font-family: var(--font_family_type2);
  font-weight: 600;
}

.rich_font_type3 {
  font-family: var(--font_family_type3);
  font-weight: 500;
}

@media screen and (max-width: 1200px) {
  .rich_font, .p-vertical {
    font-size: calc(var(--catch_font_size) + var(--catch_font_size_sp) / 2);
  }
}
@media screen and (max-width: 800px) {
  body {
    font-size: var(--content_font_size_sp);
  }
  .rich_font, .p-vertical {
    font-size: var(--catch_font_size_sp);
  }
}
/* ----------------------------------------------------------------------
 共通パーツ
---------------------------------------------------------------------- */
/* メインカラーを文字に適用 */
.main_color {
  color: var(--main_color) !important;
}

/* デザインボタン */
a.design_button {
  height: 60px;
  line-height: 1.5;
  padding: 0 1.5em;
  text-align: center;
  position: relative;
  overflow: hidden;
  font-size: 16px;
  z-index: 1;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  box-shadow: 1px 1px 3px rgba(64, 64, 64, 0.5);
  width: 100%;
  max-width: min(400px, 100vw - 50px);
  color: var(--kinta-link-button-color) !important;
  background: var(--kinta-link-button-bg) !important;
  border: 1px solid var(--kinta-link-button-border) !important;
  transition: color 0.2s ease 0s, background 0.2s ease 0s, opacity 1s ease 0s !important;
  text-shadow: 0px 0px 3px rgba(var(--kinta-link-button-border, 0.5));
  text-decoration: none !important;
}
@media screen and (max-width: 800px) {
  a.design_button {
    max-width: min(550px, 100vw - 50px);
    margin: 0 auto;
    display: flex;
  }
}
@media (hover: hover) {
  a.design_button:hover, a.design_button:focus {
    color: var(--kinta-link-button-color-hover) !important;
    background: var(--kinta-link-button-bg-hover) !important;
    border: 1px solid var(--kinta-link-button-border-hover) !important;
  }
}

/* スクロールアニメーション */
.inview {
  position: relative;
  transform: translate3d(0, 50px, 0);
  opacity: 0;
  transition: opacity 1.4s ease 0s, transform 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0s;
}
.inview.animate {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

body.no_page_animation .inview {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

/* swiperの矢印ナビ */
.swiper-nav-button {
  width: 50px;
  height: 50px;
  border: none;
  z-index: 200;
  transition: opacity 0.75s ease;
}

.swiper-button-prev {
  left: -25px;
  right: auto;
}

.swiper-button-next {
  left: auto;
  right: -25px;
}
.swiper-button-next:after {
  display: none;
}

.swiper-button-prev:after {
  display: none;
}

.swiper-button-next:before {
  font-family: "normal_icon";
  font-size: 22px;
  top: 2px;
  position: relative;
  color: #000;
  -webkit-font-smoothing: antialiased;
  transition: color 0.25s ease !important;
}

.swiper-button-prev:before {
  font-family: "normal_icon";
  font-size: 22px;
  top: 2px;
  position: relative;
  color: #000;
  -webkit-font-smoothing: antialiased;
  transition: color 0.25s ease !important;
  content: "\e90f";
  left: 0px;
}

.swiper-button-next:before {
  content: "\e910";
  right: 0px;
}

.swiper-button-disabled {
  opacity: 0 !important;
  pointer-events: auto !important;
}

@media (hover: hover) {
  .swiper-nav-button:hover:before {
    color: #aaa;
  }
}
/* swiperのドットナビ */
.swiper-pagination {
  z-index: 10;
  position: absolute;
  top: auto;
  bottom: 0px;
  left: auto;
}
.swiper-pagination span {
  background: var(--kinta-block-light-bg);
  border: none;
  width: 10px;
  height: 10px;
  opacity: 1;
  margin: 0 8px !important;
  transition: background 0.25s ease;
}
.swiper-pagination span.swiper-pagination-bullet-active {
  background: #fff;
  pointer-events: none;
}

@media (hover: hover) {
  .swiper-pagination span:hover {
    background: #fff;
  }
}
/* サムネイルver */
.sc_image_carousel_nav {
  text-align: center;
  margin-top: -30px;
}
@media screen and (max-width: 800px) {
  .sc_image_carousel_nav .sc_image_carousel_nav .swiper-slide.swiper-slide-thumb-active {
    transform: scale(1.3);
  }
}
.sc_image_carousel_nav .swiper-wrapper {
  display: inline-flex;
  -webkit-user-select: none;
  user-select: none;
  width: auto;
  position: relative;
}
.sc_image_carousel_nav .swiper-slide {
  background: var(--kinta-block-light-bg);
  border: none;
  width: 10px !important;
  height: 10px;
  opacity: 1;
  margin: 0 8px !important;
  border-radius: 100%;
  cursor: pointer;
  transition: background 0.25s ease;
}
.sc_image_carousel_nav .swiper-slide.swiper-slide-thumb-active {
  transform: scale(1.4);
  background: #fff;
}

@media (hover: hover) {
  .sc_image_carousel_nav .swiper-slide:hover {
    background: #fff;
  }
}
/* ----------------------------------------------------------------------
 トップページ ヘッダースライダー
---------------------------------------------------------------------- */
#header_slider_container {
  width: 100%;
  height: calc(100vh - 130px);
  position: relative;
  overflow: hidden;
}
#header_slider_container.height_type2 {
  height: auto;
  aspect-ratio: 16/9;
  max-height: calc(100vh - 130px);
}

@keyframes headerSliderZoom {
  from {
    transform: scale(0.95);
  }
  to {
    transform: scale(1.15);
  }
}
/* スライダーエリア */
#header_slider {
  height: 100%;
  width: 100%;
  position: relative;
  overflow: hidden;
  transform: scale(1);
  opacity: 0;
}
#header_slider.force-display {
  opacity: 1;
}
#header_slider.swiper-initialized {
  transition: opacity 500ms;
  opacity: 1;
}
#header_slider .swiper-slide-next .item_inner {
  transform: scale(1);
  transition: all 10s;
}
#header_slider .swiper-slide-visible .item_inner, #header_slider .swiper-slide-prev .item_inner {
  transform: scale(1.05);
  transition: all 10s;
}
#header_slider .swiper-wrapper {
  height: 100%;
  width: 600px;
  position: relative;
}
#header_slider .item {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  will-change: transform;
}
#header_slider .item_inner {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  will-change: transform;
}
#header_slider .bg_image {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: 1;
  will-change: transform;
}
#header_slider .bg_image img {
  width: 100%;
  height: 100%;
  display: block;
  margin: 0;
  object-fit: cover;
}
#header_slider .bg_image .mobile {
  display: none;
}

/* コンテンツ */
#header_slider_fixed_content {
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  overflow: hidden;
  z-index: 3;
  pointer-events: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.header_slider_content {
  color: #fff;
  position: absolute;
  z-index: 100;
  text-align: center;
  width: 100%;
  padding: 0 80px;
}
.header_slider_content .catch {
  line-height: 1.4;
  position: relative;
}
.header_slider_content .desc {
  line-height: 2.4;
  font-weight: 500;
  font-size: 16px;
}
.header_slider_content .catch + .desc {
  margin: 30px 0 0 0;
}
.header_slider_content .button {
  font-size: 16px;
  width: 280px;
  height: 70px;
  line-height: 70px;
  background: none;
  background: var(--main_color);
  color: #fff;
  display: block;
  cursor: pointer;
  text-align: center;
  margin: 0 auto;
  pointer-events: auto;
}
.header_slider_content * + .button {
  margin-top: 50px;
}
.header_slider_content .logo {
  text-align: center;
}
.header_slider_content .logo img {
  display: block;
  margin: 0 auto;
  max-width: calc(100% - 100px);
  height: auto;
}
.header_slider_content .logo img.mobile {
  display: none;
}

@media (hover: hover) {
  .header_slider_content .button:hover {
    background: var(--main_color_light);
    color: #fff;
  }
}
body.use_page_animation .header_slider_content > * {
  opacity: 0;
  transition: opacity 0.5s ease 1s;
}
body.use_page_animation .header_slider_content .logo {
  filter: blur(30px);
}
body.use_page_animation.start_first_animation .header_slider_content > *:nth-child(1) {
  opacity: 1;
  animation: content_animation 1s ease forwards 0.5s;
  transition: opacity 1s ease 0.5s, border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease;
}
body.use_page_animation.start_first_animation .header_slider_content > *:nth-child(2) {
  opacity: 1;
  animation: content_animation 1s ease forwards 0.7s;
  transition: opacity 1s ease 0.7s, border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease;
}
body.use_page_animation.start_first_animation .header_slider_content > *:nth-child(3) {
  opacity: 1;
  animation: content_animation 1s ease forwards 0.9s;
  transition: opacity 1s ease 0.9s, border-color 0.25s ease, color 0.25s ease, background-color 0.25s ease;
}
body.use_page_animation.start_first_animation .header_slider_content > .logo {
  filter: blur(0px);
  animation: none !important;
  transition: opacity 0.5s ease 0.5s, filter 1.4s ease 0.5s !important;
}

@keyframes content_animation {
  0% {
    transform: translate3d(0, 30px, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
/* ズームアウトアニメーション --------------------------------------------------------- */
#header_slider.animation_type_zoom_out .item.p-effect-slidein .bg_image, #header_slider.animation_type_zoom_out .item.p-effect-slidein.p-effect-reverse .bg_image {
  transform: translate3d(0, 0, 0);
  transition-property: transform;
}
#header_slider.animation_type_zoom_out .item.p-effect-slideout .bg_image {
  transform: translate3d(0, 0, 0);
  transition-property: transform;
}
#header_slider.animation_type_zoom_out .item.p-effect-reverse .bg_image {
  transform: translate3d(0, 0, 0);
}
#header_slider.animation_type_zoom_out .item.p-effect-slideout.p-effect-reverse .bg_image {
  transform: translate3d(0, 0, 0);
  transition-property: transform;
}
#header_slider.animation_type_zoom_out .bg_image img {
  transform: scale(1.4);
}
#header_slider.animation_type_zoom_out .item.p-effect-slidein .bg_image img, #header_slider.animation_type_zoom_out .item.p-effect-slideout .bg_image img {
  transform: scale(1);
  transition: transform 10s linear 0s;
}
#header_slider.animation_type_zoom_in .item.p-effect-slidein .bg_image, #header_slider.animation_type_zoom_in .item.p-effect-slidein.p-effect-reverse .bg_image {
  transform: translate3d(0, 0, 0);
  transition-property: transform;
}
#header_slider.animation_type_zoom_in .item.p-effect-slideout .bg_image {
  transform: translate3d(0, 0, 0);
  transition-property: transform;
}
#header_slider.animation_type_zoom_in .item.p-effect-reverse .bg_image {
  transform: translate3d(0, 0, 0);
}
#header_slider.animation_type_zoom_in .item.p-effect-slideout.p-effect-reverse .bg_image {
  transform: translate3d(0, 0, 0);
  transition-property: transform;
}
#header_slider.animation_type_zoom_in .bg_image img {
  transform: scale(1);
}
#header_slider.animation_type_zoom_in .item.p-effect-slidein .bg_image img, #header_slider.animation_type_zoom_in .item.p-effect-slideout .bg_image img {
  transform: scale(1.2);
  transition: transform 10s linear 0s;
}
#header_slider .bg_video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  pointer-events: none;
}
#header_slider .bg_youtube {
  width: 100%;
  height: 100%;
  max-width: none;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}
#header_slider .overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
}
#header_slider .swiper-pagination {
  top: auto;
  bottom: 30px;
  z-index: 3;
}

/* ズームインアニメーション ----------------------------------------------------------- */
/* 動画 */
/* ナビゲーション */
#header_slider_container:has(#news_ticker) .swiper-pagination {
  bottom: 100px;
}

#header_slider .swiper-pagination span {
  background: var(--kinta-block-light-bg);
  transition: background 0.25s ease;
}
#header_slider .swiper-pagination-bullet-active {
  background: #fff !important;
  transform: scale(1.4);
}

@media (hover: hover) {
  #header_slider .swiper-pagination span:hover {
    background: #fff;
  }
}
/* ニュースティッカー */
#news_ticker {
  position: absolute;
  overflow: hidden;
  left: 0;
  bottom: 0;
  z-index: 5;
  width: 100%;
  height: 70px;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}

#news_ticker_inner {
  width: 800px;
  height: 70px;
  margin: 0 auto;
  position: relative;
  display: flex;
  flex-wrap: wrap;
}

body.use_page_animation #news_ticker_inner {
  opacity: 0;
  transition: opacity 1s ease 0.5s;
}
body.use_page_animation.start_first_animation #news_ticker_inner {
  opacity: 1;
}

#news_ticker_carousel {
  width: 800px;
  height: 70px;
  margin: 0;
}

#news_ticker .item {
  opacity: 0;
  height: 70px;
  position: relative;
  line-height: 70px;
  color: #fff;
}
#news_ticker .item:first-child {
  opacity: 1;
}
#news_ticker .item .content {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}
#news_ticker .date {
  flex: 0 0 auto;
  font-size: 14px;
  font-weight: 500;
  transition: color 0.25s ease;
  display: block;
  position: relative;
  padding: 0 0 0 20px;
  margin: 0 20px 0 0;
}
#news_ticker .date:before {
  font-family: "normal_icon";
  content: "\e903";
  font-size: 18px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-font-smoothing: antialiased;
}
#news_ticker .title {
  font-size: 16px;
  transition: color 0.25s ease;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  visibility: visible;
}
#news_ticker .item.no_date .title {
  width: 100%;
}

@media (hover: hover) {
  #news_ticker a:hover {
    color: rgba(255, 255, 255, 0.6);
  }
}
/* ----------------------------------------------------------------------
 コンテンツビルダー
---------------------------------------------------------------------- */
#content_builder {
  position: relative;
  z-index: 2;
  overflow: hidden;
}
#content_builder .link_button {
  margin-top: 50px;
  text-align: center;
}

.cb_white_bg + .cb_white_bg {
  padding-top: 0;
  scroll-margin-top: 70px;
}

#content_builder section:last-child {
  padding-bottom: 150px;
}

/* ヘッダー */
.cb_header {
  margin: 0 auto 70px;
  text-align: center;
}
.cb_header .catch {
  margin-top: -10px;
  font-size: var(--catch_font_size);
  font-family: var(--catch_font_type);
  line-height: 1.4;
  font-weight: 500;
}
.cb_header .headline {
  margin-top: -10px;
  font-size: var(--catch_font_size);
  font-family: var(--catch_font_type);
  line-height: 1.4;
  font-weight: 500;
}
.cb_header .headline.no_japanese {
  font-size: calc(var(--catch_font_size) + 10px);
}
.cb_header .sub_title {
  line-height: 1.5;
  margin-top: 15px;
  font-size: 18px;
}
.cb_header .desc {
  line-height: 2.4;
  font-size: 16px;
}
.cb_header .desc .mobile {
  display: none;
}
.cb_header * + .desc {
  margin-top: 40px;
}
.cb_header a {
  color: var(--content_link_color);
}

@media (hover: hover) {
  .cb_header a:hover {
    text-decoration: underline;
  }
}
/* 画像スライダー */
.cb_image_slider {
  padding: 120px 0;
  scroll-margin-top: -50px;
}
.cb_image_slider .sc_image_carousel_container {
  margin: 0 auto 50px;
}

/* コンテンツカルーセル */
.cb_content_carousel {
  padding: 120px 0;
  position: relative;
  scroll-margin-top: -50px;
}

.cb_white_bg + .cb_content_carousel {
  margin-top: -40px;
}

.cb_content_carousel_container {
  width: 1000px;
  margin: 0 auto;
  position: relative;
  text-align: center;
}

.cb_content_carousel_main {
  display: inline-flex !important;
  width: auto;
}
.cb_content_carousel_main .animate_background {
  display: flex;
  flex-wrap: wrap;
}
.cb_content_carousel_main .image_wrap {
  width: 50%;
  height: 200px;
  position: relative;
  overflow: hidden;
}
.cb_content_carousel_main .image_wrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
.cb_content_carousel_main .no_link {
  pointer-events: none;
}
.cb_content_carousel_main .content {
  width: 50%;
  height: 200px;
  padding: 0 25px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  border: 1px solid #ddd;
  border-left: none;
}
.cb_content_carousel_main .swiper-slide-active .content {
  border-right: none;
}
.cb_content_carousel_main .swiper-slide-active:only-child .content {
  border-right: 1px solid #ddd;
}
.cb_content_carousel_main .sub_title {
  font-size: 16px;
  margin: 0 0 10px 0;
  line-height: 1.4;
  max-height: 2.8em;
  font-weight: 500;
  overflow: hidden;
  visibility: visible;
}
.cb_content_carousel_main .sub_title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.cb_content_carousel_main .title {
  margin-bottom: -10px;
  font-size: 24px;
  font-family: var(--catch_font_type);
  line-height: 1.4;
  max-height: 2.8em;
  font-weight: 500;
  overflow: hidden;
  visibility: visible;
}
.cb_content_carousel_main .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.cb_content_carousel .swiper-button-prev {
  left: -65px;
  top: 74px;
  margin: 0;
}
.cb_content_carousel .swiper-button-next {
  right: -65px;
  top: 74px;
  margin: 0;
}

/* 2カラム */
.cb_two_column {
  padding: 120px 0;
  scroll-margin-top: -50px;
}
.cb_two_column .item_list {
  width: 1000px;
  margin: 0 auto;
  position: relative;
}
.cb_two_column .item {
  display: flex;
  flex-wrap: wrap;
  background: #f5f5f5;
}
.cb_two_column .item.no_link {
  pointer-events: none;
}
.cb_two_column .item:nth-child(2n) {
  flex-direction: row-reverse;
}
.cb_two_column .image_wrap {
  width: 50%;
  height: auto;
  aspect-ratio: 500/350;
  position: relative;
  overflow: hidden;
}
.cb_two_column .image_wrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
.cb_two_column .content {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 70px;
}
.cb_two_column .content .headline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  line-height: 1.4;
}
.cb_two_column .content .title {
  font-size: 34px;
  font-family: var(--catch_font_type);
  font-weight: 500;
  text-align: center;
  margin: 0 20px 0 0;
}
.cb_two_column .content .sub_title {
  font-weight: 500;
  font-size: 16px;
}
.cb_two_column .content .desc {
  line-height: 2.4;
  font-size: 16px;
}
.cb_two_column .content .headline + .desc {
  margin-top: 20px;
}

/* 3カラム */
.cb_three_column {
  padding: 120px 0;
  position: relative;
  scroll-margin-top: -50px;
}

.cb_white_bg + .cb_three_column {
  margin-top: -40px;
}

.three_column_carousel_container {
  width: 1000px;
  margin: 0 auto;
  position: relative;
  text-align: center;
}

.three_column_carousel {
  display: inline-flex !important;
  width: auto;
}
.three_column_carousel .item:last-of-type {
  margin-right: 0 !important;
}
.three_column_carousel .image_wrap {
  width: 100%;
  height: auto;
  aspect-ratio: 330/520;
  position: relative;
  overflow: hidden;
}
.three_column_carousel .image_wrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
.three_column_carousel .no_link {
  pointer-events: none;
}
.three_column_carousel .title {
  font-size: 32px;
  font-family: var(--catch_font_type);
  line-height: 1.4;
  font-weight: 500;
  text-align: center;
  margin: 30px 0 -10px;
  padding: 0 30px;
}

.cb_three_column .swiper-button-prev {
  left: -60px;
  margin-top: -50px;
}
.cb_three_column .swiper-button-next {
  right: -60px;
  margin-top: -50px;
}

/* ブログ一覧 */
.cb_blog_list {
  background: #f5f5f5;
  padding: 120px 0;
  scroll-margin-top: -50px;
}
.cb_blog_list .cb_header {
  margin-bottom: 75px;
}

.index_post_list_wrap {
  position: relative;
  width: 1000px;
  margin: 0 auto;
}

.index_post_list {
  display: none;
  pointer-events: none;
}
.index_post_list.active {
  display: block;
  pointer-events: auto;
}

.cb_blog_list .swiper-button-prev {
  left: -65px;
  top: 100px;
}
.cb_blog_list .swiper-button-next {
  right: -65px;
  top: 100px;
}
.cb_blog_list .category_sort_button_wrap {
  margin-bottom: 35px;
}

.index_post_carousel_wrap {
  opacity: 0;
  position: relative;
}

.index_post_carousel {
  text-align: center;
}
.index_post_carousel .blog_list {
  display: inline-flex;
  width: auto;
}
.index_post_carousel .item {
  text-align: left;
}
.index_post_carousel .item:last-of-type {
  margin-right: 0 !important;
}

.index_post_list.active .index_post_carousel_wrap {
  animation: index_post_list_animate 1s ease forwards 0s;
}

@keyframes index_post_list_animate {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* フリースペース */
.cb_free_space {
  position: relative;
  padding: 120px 0;
  width: 1000px;
  margin: 0 auto;
  scroll-margin-top: -50px;
}
.cb_free_space.wide_content {
  width: auto;
}

/* 固定ページを表示する場合 */
#front_page_contents {
  padding: 120px 0;
}
#front_page_contents .post_content {
  margin: 0 auto;
}

/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */
#page_contents {
  padding: 120px 0 150px;
}

body.page #page_contents .post_content {
  width: 1000px;
  margin: 0 auto;
}
body.hide_sidebar #bread_crumb + #page_contents {
  padding-top: 70px;
}

/* ボタン */
.q_button_wrap {
  margin-top: 60px;
}

p + .q_button_wrap {
  margin-top: 55px;
}

/* デザイン見出し1 */
.post_content .design_headline1 {
  text-align: center;
  font-size: 36px !important;
  margin: 73px 0 40px 0;
  margin-bottom: 40px !important;
  font-family: var(--catch_font_type);
}
.post_content .design_headline1 + p:not(:has(img)) {
  margin-top: -7px;
}
.post_content .design_headline1 + p:has(img) {
  margin-top: 110px;
}
.post_content .post_row + .design_headline1 {
  margin-top: 110px;
}
.post_content .design_headline1:first-child {
  margin-top: -5px !important;
}
.post_content .design_headline2 {
  font-size: 26px !important;
  display: table;
  padding: 0 0 35px 0;
  font-family: var(--catch_font_type);
  position: relative;
}

/* デザイン見出し2 */
.design_headline2 {
  font-size: 26px !important;
  display: table;
  padding: 0 0 35px 0;
  font-family: var(--catch_font_type);
  position: relative;
  margin: 0 auto 80px;
}
.design_headline2:after {
  content: "";
  display: block;
  height: 5px;
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  background: #000;
}

.post_content .design_headline2 {
  margin: 115px auto 80px;
}

.design_headline2.inview {
  transform: translate3d(0, 0, 0);
  opacity: 1;
  transition: none;
}
.design_headline2.inview:after {
  width: 0px;
  transition: width 0.5s ease 0.2s;
}
.design_headline2.inview.animate:after {
  width: 100%;
}

/* デザイン見出し3 */
.design_headline3 {
  font-size: 34px !important;
  margin: 45px 0 35px 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  position: relative;
}

p:has(img) + .design_headline3 {
  margin-top: -20px !important;
}

.post_col p:has(img) + .design_headline3 {
  margin-top: 45px !important;
}

.design_headline3 .title {
  font-family: var(--catch_font_type);
}
.design_headline3 .sub_title {
  flex: 0 0 auto;
  font-size: 16px;
  margin: 0 0 0 20px;
  font-family: var(--content_font_type);
}

/* レイアウトタイプB */
/* ショートコード用　2カラムレイアウト */
.sc_two_column {
  width: 100%;
  position: relative;
  margin: 70px 0 20px;
  display: flex;
  flex-wrap: wrap;
}
.sc_two_column .item {
  width: calc(50% - 25px);
  margin: 0 50px 50px 0 !important;
}
.sc_two_column .item:nth-child(2n) {
  margin-right: 0 !important;
}
.sc_two_column .desc {
  margin-top: 20px;
}

/* 2カラムレイアウト */
.post_content .post_col p:has(img) {
  margin-bottom: 20px;
}
.post_content .post_col img {
  width: 100%;
  height: auto;
}
.post_content .design_headline1 + .post_row {
  margin-top: -10px;
}
.post_content .design_headline2 + .post_row {
  margin-top: 0;
}

/* アクセスページ */
.access_page_table td:first-child {
  width: 250px;
  vertical-align: middle;
  text-align: center;
}

.access_page_map_headline {
  margin: 0 0 10px 0 !important;
}

.access_page_gray_bg {
  margin-top: 110px !important;
}
.access_page_gray_bg .q_button_wrap {
  margin-bottom: 20px;
}

/* ウェルネス */
.wellness_page_top_content {
  margin-top: 110px !important;
}
.wellness_page_top_content h3:has(img) {
  margin: -30px 0 -5px 0 !important;
}
.wellness_page_top_content p:has(img) {
  margin: 0 -80px 70px !important;
}

.wellness_page_table td:nth-child(1) {
  width: 210px;
}
.wellness_page_table td:nth-child(2), .wellness_page_table td:nth-child(3), .wellness_page_table td:nth-child(5) {
  width: 230px;
}

.s_table:has(.wellness_page_table) + p {
  margin-top: -30px !important;
}

/* LP */
body.page-template-page-tcd-lp #page_contents {
  padding-left: 80px;
  padding-right: 80px;
}

@media screen and (min-width: 1101px) {
  #lp_style1_content {
    border: 1px solid #ddd;
    max-width: 1000px;
    margin: 120px auto;
    box-shadow: 0 0 20px 5px rgba(0, 0, 0, 0.1);
  }
  body #lp_style1_content {
    margin-top: 0;
  }
  #header_message + #container #lp_style1_content {
    margin-top: 70px;
  }
  #lp_style1_content #page_header {
    margin: -1px -1px 0;
    width: calc(100% + 2px);
  }
  #lp_style1_content #page_contents {
    padding: 110px 50px 120px;
  }
}
.lp_bottom_content {
  margin-top: 110px !important;
}
.lp_bottom_content h3 {
  margin-bottom: 20px !important;
}
.lp_bottom_content .q_button_wrap {
  margin-top: 0px !important;
}

/* ----------------------------------------------------------------------
 ページヘッダー
---------------------------------------------------------------------- */
#page_header {
  width: 100%;
  height: auto;
  aspect-ratio: 1450/200;
  position: relative;
  overflow: hidden;
}

#page_header .headline {
  width: 350px;
  min-height: 4em !important;
  height: auto !important;
  text-align: center;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  line-height: 1.5;
  font-size: var(--headline_font_size);
  font-family: var(--headline_font_type);
  font-weight: 500;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  color: var(--kinta-block-dark-color);
  background: var(--kinta-block-dark-bg);
  border: 1px solid var(--kinta-block-dark-border);
  background-color: rgba(var(--kinta-block-dark-bg-rgb), 0.8);
  box-shadow: 0px 0px 6px rgba(102, 102, 102, 0.2666666667);
}
#page_header .headline .sub-title {
  display: block;
}
#page_header .headline .sub-title + .title {
  display: block;
  font-weight: 400;
  font-size: 16px;
}

#page_header .headline span {
  opacity: 0;
  transition: opacity 1.5s ease 0s;
}
#page_header:not(:has(.image)) .headline {
  margin-top: 120px;
}
#page_header:not(:has(.image)) .headline span {
  opacity: 1 !important;
}
#page_header .image {
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0;
  transition: opacity 1.5s ease 0s;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
#page_header .overlay {
  opacity: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  transition: opacity 1.5s ease 0s;
}
#page_header .image.mobile {
  display: none;
}

body.start_first_animation #page_header .image, body.no_page_animation #page_header .image, body.start_first_animation #page_header .overlay, body.no_page_animation #page_header .overlay, body.start_first_animation #page_header .headline span, body.no_page_animation #page_header .headline span {
  opacity: 1;
}
body.page #page_header + #main_content {
  margin-top: 120px;
}
body.page-template-page-tcd-lp #page_header {
  height: 600px;
  aspect-ratio: unset;
}
body.page-template-page-tcd-lp.large_header_height #page_header {
  height: auto;
  aspect-ratio: unset;
}
body.page-template-page-tcd-lp.large_header_height #page_header .image {
  position: relative;
  max-height: 100vh;
}
body.page-template-page-tcd-lp #page_header.layout_type3 {
  height: 100vh !important;
  height: 100dvh !important;
}
body.page-template-page-tcd-lp #page_header.layout_type3 .image {
  position: absolute;
}

/* LP用 */
#page_header .content {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
#page_header .content.layout_type3, #page_header .content.layout_type4 {
  align-items: center;
  text-align: center;
}
#page_header .content.layout_type5, #page_header .content.layout_type6 {
  align-items: flex-end;
  text-align: right;
}

body.page-template-page-tcd-lp #page_header.layout_type1 .content {
  width: 100%;
  padding: 0 50px;
}
body:has(#header) #container:has(#page_header.layout_type1) {
  border-top: 1px solid #ddd;
}

#page_header .catch, #page_header .sub_catch {
  color: #fff;
  line-height: 1.6;
  font-weight: 500;
}
#page_header .catch .mobile, #page_header .sub_catch .mobile {
  display: none;
}
#page_header .catch + .sub_catch, #page_header .sub_catch + .catch {
  margin-top: 5px;
}
#page_header .catch + .link_button {
  margin-top: 35px;
}
#page_header .sub_catch + .link_button {
  margin-top: 45px;
}
#page_header .content * {
  opacity: 0;
}

body.start_first_animation #page_header .content *:nth-child(1) {
  opacity: 1;
  transition: opacity 1.5s ease 0.4s;
}
body.start_first_animation #page_header .content *:nth-child(2) {
  opacity: 1;
  transition: opacity 1.5s ease 0.8s;
}
body.start_first_animation #page_header .content *:nth-child(3) {
  opacity: 1;
  transition: opacity 1.5s ease 1.2s;
}
body.no_page_animation #page_header .content * {
  opacity: 1 !important;
}

/* 画像が無い場合 */
#page_headline {
  margin: 0px auto 120px;
  background: var(--main_color);
  color: #fff;
  width: 180px;
  height: 180px;
  text-align: center;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 30px;
  line-height: 1.5;
  font-size: var(--headline_font_size);
  font-family: var(--headline_font_type);
  font-weight: 500;
  transition: opacity 1.5s ease 0s;
}

body.page #page_headline {
  margin-top: 120px;
}

#bread_crumb + #page_headline {
  margin-top: 99px;
}

/* 見出し・説明文 */
#page_header_desc {
  width: 1000px;
  margin: 0 auto;
  text-align: center;
}
#page_header_desc .catch {
  margin-top: -8px;
  font-size: var(--catch_font_size);
  font-family: var(--catch_font_type);
  line-height: 1.4;
  font-weight: 500;
}
#page_header_desc .catch + .desc {
  margin-top: 40px;
}
#page_header_desc .catch + .desc + .desc {
  margin-top: 40px;
}
#page_header_desc .desc {
  line-height: 2.4;
  font-size: 16px;
}
#page_header_desc .desc.mobile {
  display: none;
}

@media (hover: hover) {
  #page_header_desc .desc a:hover {
    text-decoration: underline;
  }
}
/* ----------------------------------------------------------------------
ギャラリーアーカイブ
---------------------------------------------------------------------- */
#archive_gallery {
  padding: 90px 0 150px;
}

#gallery_category_list .content {
  border-bottom: 1px solid #ddd;
  padding: 120px 0;
}
#gallery_category_list .content:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}
#gallery_category_list .header {
  margin: 0 80px;
  width: calc(100% - 160px);
  position: relative;
  overflow: hidden;
}
#gallery_category_list .image {
  width: 100%;
  height: auto;
  z-index: 1;
}
#gallery_category_list .headline_area {
  background: #fff;
  z-index: 2;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  min-width: 400px;
  padding: 60px 70px;
  text-align: center;
}
#gallery_category_list .headline {
  font-size: 40px;
  font-family: var(--gallery_title_font_type);
  line-height: 1;
  font-weight: 500;
}
#gallery_category_list .sub_title {
  font-size: 18px;
  margin-top: 25px;
  line-height: 1;
}
#gallery_category_list .desc {
  line-height: 2.4;
  text-align: center;
  width: 1000px;
  margin: 70px auto 0;
}
#gallery_category_list .desc .mobile {
  display: none;
}
#gallery_category_list .link_button {
  text-align: center;
  margin-top: 65px;
}

/* ----------------------------------------------------------------------
 サービスアーカイブ
---------------------------------------------------------------------- */
#archive_service {
  padding: 90px 0 150px;
}

#archive_service #page_header_desc {
  margin-bottom: 0;
}

.service_list {
  width: 1000px;
  margin: 0 auto;
}
.service_list .item {
  margin: 0 0 -1px 0;
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #ddd;
  padding: 50px;
}
.service_list .image_wrap {
  width: 475px;
  height: 235px;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.service_list .image_wrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
.service_list .content {
  width: calc(100% - 475px);
  padding-left: 50px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.service_list .title {
  font-size: 34px;
  font-family: var(--gallery_title_font_type);
  font-weight: 500;
  line-height: 1.6;
}
.service_list .sub_title {
  font-size: 16px;
  line-height: 1;
  margin: 0 0 10px 0;
}

@media (hover: hover) {
  .service_list .item a:hover {
    color: rgba(0, 0, 0, 0.6);
  }
}
/* ----------------------------------------------------------------------
 サービス詳細ページ
---------------------------------------------------------------------- */
#service_header {
  text-align: center;
  padding: 120px 0 60px;
}
#service_header .title {
  margin-top: -8px;
  font-size: 52px;
  font-family: var(--gallery_title_font_type);
  line-height: 1.4;
  font-weight: 500;
}
#service_header .sub_title {
  font-size: 16px;
  line-height: 1;
  margin: 0 0 18px 0;
}

#single_service {
  padding-bottom: 120px;
}
#single_service .post_content {
  width: 1000px;
  margin: 0 auto;
}

#service_logo {
  margin: 0 0 70px 0;
}

/* シェフプロフィール */
.chef_profile {
  display: flex;
  flex-wrap: wrap;
  margin: 120px 0 !important;
}
.chef_profile .left {
  width: 270px;
  text-align: center;
}
.chef_profile .left p:has(img) {
  margin-bottom: 22px !important;
}
.chef_profile .left p:not(:has(img)) {
  line-height: 2;
}
.chef_profile .right {
  width: calc(100% - 270px);
  padding: 0 0 0 60px;
}

/* おすすめコース */
.featured_course {
  margin: 120px 0 !important;
  padding: 55px !important;
  display: flex;
  flex-wrap: wrap;
}
.featured_course:last-of-type {
  margin-bottom: 0 !important;
}
.featured_course h2 {
  width: 100%;
  margin: 0 0 60px 0 !important;
  font-family: var(--catch_font_type);
}
.featured_course .left {
  width: 400px;
}
.featured_course .right {
  width: calc(100% - 400px);
  padding-left: 50px;
}
.featured_course .q_button_wrap {
  text-align: left;
}

/* サービス一覧 */
#service_post_list .post_list {
  width: 1000px;
  margin: 0 auto 120px;
  display: flex;
  flex-wrap: wrap;
}
#service_post_list .post_list .item {
  height: auto;
  border: 1px solid #ddd;
  margin: 0 -1px -1px 0;
  background: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  position: relative;
  z-index: 1;
  padding: 40px;
  aspect-ratio: 1/1;
}
#service_post_list .post_list.layout_type1 .item {
  width: 33.3333333333%;
}
#service_post_list .post_list.layout_type2 .item {
  width: 25%;
}
#service_post_list .post_list.layout_type3 .item {
  width: 20%;
}
#service_post_list .post_list .title {
  font-size: 24px;
  font-family: var(--gallery_title_font_type);
  font-weight: 500;
  width: 100%;
}
#service_post_list .post_list .sub_title {
  font-size: 16px;
  line-height: 1;
  margin: 0 0 15px 0;
  width: 100%;
}
#service_post_list .post_list .item.active {
  pointer-events: none;
  z-index: 2;
}
#service_post_list .post_list .item.active:after {
  content: "";
  width: calc(100% + 2px);
  height: 5px;
  background: #000;
  position: absolute;
  left: -1px;
  bottom: -1px;
}

/* ----------------------------------------------------------------------
 ブログアーカイブページ
---------------------------------------------------------------------- */
#archive_blog {
  background: #f5f5f5;
  padding: 120px 0 150px;
}

body.author #archive_blog {
  padding-top: 20px;
  border-top: none !important;
}

/* カテゴリーソートボタン */
.category_sort_button_wrap {
  width: 1000px;
  margin: 0 auto 35px;
  position: relative;
  z-index: 1;
}

#page_header_desc + .category_sort_button_wrap {
  margin-top: 110px;
}

.category_sort_button_slider {
  position: relative;
  width: auto;
  text-align: center;
}

.category_sort_button {
  -webkit-user-select: none;
  user-select: none;
  width: auto;
  position: relative;
  z-index: 2;
}
.category_sort_button .item {
  flex: 0 0 auto !important;
  height: 70px;
  order: 2;
  margin-bottom: 1px;
}
.category_sort_button .item.active_menu a {
  pointer-events: none;
  background: var(--main_color);
  border-color: var(--main_color);
  color: #fff;
}
.category_sort_button a {
  display: block;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  line-height: 1.3;
  padding: 5px 15px 0;
  background: #fff;
  border: 1px solid #ddd;
  border-left-color: transparent;
}
.category_sort_button .swiper-slide-active a {
  border-left-color: #ddd;
  transition: border-color 0 ease 1s;
}

@media screen and (min-width: 1101px) {
  body.category .category_sort_button_wrap.small_size .category_sort_button, body.tax-news_category .category_sort_button_wrap.small_size .category_sort_button {
    display: inline-flex !important;
  }
  body:not(.category):not(.tax-news_category) .category_sort_button_wrap.small_size .category_sort_button .item {
    flex: 1 1 0% !important;
    width: auto !important;
  }
}
@media (hover: hover) {
  .category_sort_button a:hover {
    color: rgba(0, 0, 0, 0.6);
  }
}
.category_sort_button_wrap .swiper-button-next:before {
  color: #000;
  font-size: 18px;
}
.category_sort_button_wrap .swiper-button-prev {
  left: -65px;
  right: auto;
  top: 32px;
}
.category_sort_button_wrap .swiper-button-prev:before {
  color: #000;
  font-size: 18px;
}
.category_sort_button_wrap .swiper-button-next {
  left: auto;
  right: -65px;
  top: 32px;
}

@media (hover: hover) {
  .category_sort_button_wrap .swiper-button-next:hover:before, .category_sort_button_wrap .swiper-button-prev:hover:before {
    color: #aaa;
  }
}
/* 記事一覧 */
#archive_blog .blog_list {
  width: 1000px;
  margin: 0 auto -35px;
}

#page_header_desc + .blog_list {
  margin-top: 110px;
}

.blog_list:not(.swiper-wrapper) {
  display: flex;
  flex-wrap: wrap;
}
.blog_list .item {
  position: relative;
  display: flex;
  flex-direction: column;
  height: auto;
}
.blog_list .item:not(.swiper-slide) {
  width: calc(33.3333333333% - 24px);
  margin: 0 35px 35px 0;
}
.blog_list .item:nth-child(3n):not(.swiper-slide) {
  margin-right: 0;
}
.blog_list .animate_background {
  display: block;
}
.blog_list .image_wrap {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
  z-index: 2;
  aspect-ratio: 310/200;
}
.blog_list .image_wrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
.blog_list .content {
  padding: 23px 30px 22px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  background: #fff;
}
.blog_list .content_inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.blog_list .title {
  font-size: 18px;
  line-height: 1.8;
  max-height: 3.6em;
  overflow: hidden;
  visibility: visible;
}
.blog_list .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.blog_list .date_list {
  margin: 22px 0 0;
}
.blog_list .category_list {
  line-height: 1.5;
  max-height: 3em;
  overflow: hidden;
  visibility: visible;
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #999;
}
.blog_list .item .category_list {
  margin-top: 15px;
}
.blog_list .category {
  font-size: 14px;
  color: #999;
  display: inline;
}
.blog_list .category:after {
  content: " ,";
  margin: 0 5px 0 0;
}
.blog_list .category:last-of-type:after {
  display: none;
}

@media (hover: hover) {
  .blog_list a:hover {
    color: rgba(0, 0, 0, 0.6);
  }
  .blog_list .category a:hover {
    color: rgba(var(--main_color_hex), 0.6);
  }
}
/* ページナビ */
.page_navi {
  margin: 80px 0 0 0;
  z-index: 10;
  position: relative;
}
.page_navi ul {
  margin: 0;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.page_navi li {
  margin: 0 -1px 0 0;
}
.page_navi li:last-of-type {
  margin: 0;
}
.page_navi a, .page_navi .current {
  font-family: "Arial";
  background: #fff;
  border: 1px solid #ddd;
  color: #000;
  font-size: 14px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  display: inline-block;
  text-align: center;
}
.page_navi .dots {
  font-family: "Arial";
  background: #fff;
  border: 1px solid #ddd;
  color: #000;
  font-size: 14px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  display: inline-block;
  text-align: center;
  display: block;
  text-indent: -100px;
  overflow: hidden;
  position: relative;
  line-height: 1;
}
.page_navi .dots:before {
  text-indent: 0;
  display: block;
  color: #000;
  content: "\e942";
  font-family: "normal_icon";
  font-size: 30px;
  right: 9px;
  top: 12px;
  position: absolute;
}
.page_navi .current {
  color: #fff !important;
  background: var(--main_color);
  border-color: var(--main_color);
}
.page_navi .next, .page_navi .prev {
  position: relative;
}
.page_navi .next span, .page_navi .prev span {
  display: none;
}
.page_navi .next:before {
  font-family: "normal_icon";
  font-size: 12px;
  top: 0;
  position: relative;
  -webkit-font-smoothing: antialiased;
  transition: none !important;
}
.page_navi .prev:before {
  font-family: "normal_icon";
  font-size: 12px;
  top: 0;
  position: relative;
  -webkit-font-smoothing: antialiased;
  transition: none !important;
  content: "\e90f";
  left: 0px;
}
.page_navi .next:before {
  content: "\e910";
  right: 0px;
}

@media (hover: hover) {
  .page_navi a:hover {
    background: var(--main_color);
    border-color: var(--main_color);
    color: #fff;
  }
}
/* 検索結果 */
body.search #page_header_desc {
  margin-bottom: 110px;
}
body.search #page_header_desc .catch {
  font-size: 30px;
}
body.author #container {
  border-top: 1px solid #ddd;
}

/* 投稿者アーカイブ */
#author_archive_header {
  padding: 60px;
  margin: 0 auto 80px;
  width: 1000px;
  background: #fff;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
#author_archive_header .name_area {
  text-align: center;
  flex: 0 0 auto;
}
#author_archive_header .name_area img {
  width: 130px;
  height: 130px;
  border-radius: 100%;
  margin: 0 0 20px 0;
}
#author_archive_header .name {
  font-size: 20px;
  line-height: 1.4;
  font-weight: 500;
}
#author_archive_header .sns_button_list {
  margin-top: 22px;
  justify-content: center;
}
#author_archive_header .sns_button_list li {
  margin: 0 7px 5px;
}
#author_archive_header .desc {
  padding-left: 60px;
}
#author_archive_header .desc p {
  line-height: 2.4;
}
#author_archive_header .desc a {
  color: var(--content_link_color);
}

@media (hover: hover) {
  #author_archive_header .desc a:hover {
    text-decoration: underline;
  }
}
/* ----------------------------------------------------------------------
 ブログ詳細ページ
---------------------------------------------------------------------- */
body.single-post #article {
  background: #fff;
  padding: 50px;
}

/* タイトルエリア */
#single_post_header {
  margin-bottom: 50px;
  position: relative;
}
#single_post_header .category {
  display: inline-block;
  max-width: 100%;
  color: #fff;
  position: absolute;
  top: -50px;
  left: 0px;
  background: var(--main_color);
  height: 40px;
  line-height: 40px;
  min-width: 100px;
  padding: 0 20px;
  margin: 0;
  overflow: hidden;
  overflow-x: auto;
  scrollbar-width: thin;
  text-align: center;
}
#single_post_header .category ul {
  display: inline-flex;
  flex-wrap: nowrap;
  margin: 0;
  text-align: center;
  overflow: visible;
  position: relative;
}
#single_post_header .category ul:after {
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  height: 1px;
  width: 20px;
}
#single_post_header .category li {
  position: relative;
  white-space: nowrap;
  margin: 0 5px 0 0;
}
#single_post_header .category li:last-of-type {
  margin-right: 0;
}
#single_post_header .category a {
  font-size: 14px;
  display: block;
  color: #fff;
}
#single_post_header .category a:after {
  content: ",";
  margin: 0 0 0 5px;
}
#single_post_header .category li:last-of-type a:after {
  display: none;
}
#single_post_header .title {
  font-size: var(--single_title_font_size);
  font-family: var(--single_title_font_type);
  font-weight: 600;
  line-height: 1.5;
  margin: 0 0 20px 0;
}
#single_post_header:has(.category) .title {
  padding-top: 20px;
}
#single_post_header .image {
  margin-top: 30px;
  position: relative;
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
  aspect-ratio: 900/580;
}
#single_post_header .image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}

@media (hover: hover) {
  #single_post_header .category a:hover {
    color: rgba(255, 255, 255, 0.5);
  }
}
/* 本文 */
@media (hover: hover) {
  .post_content a:hover {
    text-decoration: underline;
  }
}
/* SNSボタン */
#single_share_top {
  margin: 50px 0 50px;
  padding: 0;
}

#single_share_bottom {
  margin: 50px 0 0;
}

/* コピーボタン */
.single_copy_title_url {
  text-align: center;
}

.single_copy_title_url_btn {
  font-family: var(--content_font_type);
  font-size: 14px;
  color: #000;
  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;
}
.single_copy_title_url_btn.copied {
  background: #ccc;
  color: #fff;
  pointer-events: none;
}

@media (hover: hover) {
  .single_copy_title_url_btn:hover {
    color: rgba(0, 0, 0, 0.6) !important;
  }
}
#single_copy_title_url_top {
  margin: 0 0 40px 0;
}

#single_copy_title_url_btm {
  margin: 40px 0 0;
}

/* ページ分割 */
#post_pagination {
  margin: 40px 0 50px;
  padding: 0;
  clear: both;
  font-size: 0;
  text-align: center;
}
#post_pagination a {
  margin: 0 -1px -1px 0;
  font-family: "Arial";
  background: #fff;
  border: 1px solid #ddd;
  color: #000 !important;
  font-size: 14px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  display: inline-block;
  text-align: center;
  text-decoration: none;
}
#post_pagination p {
  margin: 0 -1px -1px 0;
  font-family: "Arial";
  background: #fff;
  border: 1px solid #ddd;
  color: #000 !important;
  font-size: 14px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  display: inline-block;
  text-align: center;
  text-decoration: none;
  color: #fff !important;
  background: var(--main_color);
  border-color: var(--main_color);
}

@media (hover: hover) {
  #post_pagination a:hover {
    background: var(--main_color_light);
    border-color: var(--main_color_light);
    color: #fff !important;
  }
}
/* メタ情報 */
#post_tag_list {
  display: flex;
  flex-wrap: wrap;
  margin: 50px 0 -5px;
}
#post_tag_list a {
  background: #f6f6f6;
  display: inline-block;
  height: 35px;
  line-height: 35px;
  padding: 0 15px;
  margin: 0 5px 5px 0;
  border-radius: 4px;
  font-size: 14px;
}

@media (hover: hover) {
  #post_tag_list a:hover {
    background: var(--main_color);
    color: #fff !important;
  }
}
/* バナー */
#blog_free_space {
  margin-top: 50px;
}

#featured_plan {
  padding: 60px;
}
#featured_plan h3 {
  font-size: 24px;
  margin: 0 0 20px 0;
}

/* プロフィール */
.author_profile {
  background: #f5f5f5;
  margin: 50px 0 0;
  position: relative;
  padding: 35px 40px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.author_profile .avatar_area {
  display: block;
  width: 120px;
  height: 120px;
  border-radius: 100%;
  position: relative;
}
.author_profile .image_wrap {
  display: block;
  width: 120px;
  height: 120px;
  border-radius: 100%;
  position: relative;
  overflow: hidden;
  z-index: 2;
}
.author_profile .image_wrap img {
  display: block;
  width: 100%;
  height: 100% !important;
  z-index: 2;
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
}
.author_profile .info {
  height: 100%;
  width: calc(100% - 120px);
  position: relative;
}
.author_profile .info_inner {
  padding: 0 0 0 40px;
}
.author_profile .name {
  font-size: 18px;
  margin: 0 0 5px 0;
  font-weight: 600;
  line-height: 1.4;
}
.author_profile .desc {
  line-height: 2;
  margin: 0;
  font-size: 14px;
  max-height: 4em;
  overflow: hidden;
  visibility: visible;
}
.author_profile .desc span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.author_profile .desc a {
  color: var(--content_link_color);
}
.author_profile .sns_button_list {
  text-align: left;
  margin-top: 10px;
}

@media (hover: hover) {
  .author_profile .name a:hover {
    color: rgba(0, 0, 0, 0.5);
  }
  .author_profile .desc a:hover {
    text-decoration: underline;
  }
}
/* ナビゲーション */
#next_prev_post {
  margin: 80px 0 0;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#next_prev_post .item {
  background: #fff;
  height: 140px;
  width: calc(50% - 15px);
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
#next_prev_post .item.next_post:nth-of-type(1) {
  margin-left: 50%;
  flex-direction: row-reverse;
}
#next_prev_post .image_wrap {
  width: 140px;
  height: 140px;
  overflow: hidden;
  position: relative;
  z-index: 2;
}
#next_prev_post .item:nth-of-type(2) {
  flex-direction: row-reverse;
}
#next_prev_post .image_wrap img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#next_prev_post .content {
  width: calc(100% - 140px);
}
#next_prev_post .no_image .content {
  width: 100%;
  padding: 0 15px;
}
#next_prev_post .title {
  position: relative;
  padding: 0 40px;
  font-weight: 500;
  margin-top: 2px;
  font-size: 16px;
  line-height: 1.6;
  max-height: 3.2em;
  overflow: hidden;
  visibility: visible;
  word-wrap: break-word;
  word-break: break-all;
  transition: color 0.2s ease;
}
#next_prev_post .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#next_prev_post .nav {
  display: none;
}

@media (hover: hover) {
  #next_prev_post a:hover .title {
    color: rgba(0, 0, 0, 0.5);
  }
}
/* 関連記事 */
#single_related_post {
  margin: 80px 0 0 0;
  position: relative;
}
#single_related_post .headline {
  text-align: center;
  line-height: 1;
  font-size: 50px;
  font-family: var(--headline_font_type);
  font-weight: 500;
  margin-top: -5px;
}
#single_related_post.type2 .headline {
  font-size: 40px;
}
#single_related_post:not(:has(.sub_title)) .headline {
  margin-bottom: 75px;
}
#single_related_post .sub_title {
  font-size: 18px;
  text-align: center;
  line-height: 1;
  margin: 25px 0 75px;
}

#related_post_carousel_wrap {
  position: relative;
}

#related_post_carousel {
  text-align: center;
}
#related_post_carousel .blog_list {
  width: auto;
  display: inline-flex;
}
#related_post_carousel .blog_list .item {
  text-align: left;
}
#related_post_carousel .blog_list .item:last-of-type {
  margin-right: 0 !important;
}

#single_related_post .swiper-button-prev {
  left: -65px;
  top: 96px;
}
#single_related_post .swiper-button-next {
  right: -65px;
  top: 96px;
}
#single_related_post .link_button {
  text-align: center;
  margin-top: 80px;
}

/* 広告 */
#single_banner_top {
  margin: 0 auto 50px;
}

#single_banner_bottom {
  margin: 50px auto 0px;
}

#single_banner_shortcode {
  margin: 15px auto 45px;
}

#single_free_space {
  margin: 80px auto 0;
}

body.single-news #single_free_space {
  margin-top: 50px;
}

img.single_banner_image {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}

.single_banner {
  line-height: 2.4;
}
.single_banner img {
  max-width: 100%;
  height: auto;
}
.single_banner a img {
  -webkit-transition: filter 0.3s ease;
  transition: filter 0.3s ease;
}

@media (hover: hover) {
  .single_banner a:hover img {
    filter: brightness(80%);
  }
}
/* 添付画像 */
body.attachment #page_contents {
  padding-top: 120px;
}

@media screen and (max-width: 800px) {
  body.attachment #page_contents {
    padding-top: 40px;
  }
}
/* グローバルメニュー用スクロールバー */
#scroll_container {
  opacity: 0;
  pointer-events: none;
  width: calc(100% - 60px);
  height: 12px;
  position: absolute;
  top: -2px;
  left: 0;
  overflow: hidden;
  overflow-x: auto;
  scrollbar-width: thin;
  z-index: 100;
}
#scroll_container.non_active {
  display: none;
}

#scroll_container_inner {
  height: 100%;
  width: 200px;
}

#header .menu_area .bottom:hover #scroll_container {
  opacity: 0.9;
  pointer-events: auto;
}

#scroll_container {
  scrollbar-color: rgba(0, 0, 0, 0.3) rgba(0, 0, 0, 0.1);
  scrollbar-width: thin;
}
#scroll_container::-webkit-scrollbar {
  width: 10px;
}
#scroll_container::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.1);
}
#scroll_container::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.3);
  border-radius: 6px;
}

body.header_fix #scroll_container {
  scrollbar-color: rgba(255, 255, 255, 0.3) rgba(255, 255, 255, 0.2);
}
body.header_fix #scroll_container::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.2);
}
body.header_fix #scroll_container::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.3);
}

/* 言語ボタン */
#lang_button {
  background: transparent;
  width: 120px;
  z-index: 100;
  position: absolute;
  top: -70px;
  right: 0;
  font-size: 14px;
}
#lang_button i.fa-solid {
  display: block;
  font-size: 22px;
  opacity: 0.8;
  text-align: center;
}
#lang_button i.fa-solid::before {
  display: block;
  text-align: center;
  border-bottom: 5px;
}
#lang_button .active_menu {
  border-left: 1px solid rgba(255, 255, 255, 0.2666666667);
  display: block;
  padding: 0 10px;
  width: 100%;
  height: 70px;
  line-height: 1.4;
  text-align: center;
  z-index: 2;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  word-wrap: break-word;
  white-space: nowrap;
  color: var(--kinta-link-button-color) !important;
  background: var(--kinta-link-button-bg) !important;
  border: 1px solid var(--kinta-link-button-border) !important;
  transition: color 0.2s ease 0s, background 0.2s ease 0s, opacity 1s ease 0s !important;
  text-shadow: 0px 0px 3px rgba(var(--kinta-link-button-border, 0.5));
  text-decoration: none !important;
}
@media (hover: hover) {
  #lang_button .active_menu:hover, #lang_button .active_menu:focus {
    color: var(--kinta-link-button-color-hover) !important;
    background: var(--kinta-link-button-bg-hover) !important;
    border: 1px solid var(--kinta-link-button-border-hover) !important;
  }
}

body.header_fix #lang_button {
  position: relative;
  top: 0;
  right: 0;
  width: 69px;
  font-size: 12px;
}

#lang_button .sub_menu {
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  display: none;
}
#lang_button .sub_menu a {
  display: block;
  background: var(--kinta-dark-brown);
  border-left: 1px solid rgba(255, 255, 255, 0.2666666667);
  width: 100%;
  height: 70px;
  line-height: 1.4;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  word-wrap: break-word;
  padding: 0 10px;
  white-space: nowrap;
  color: var(--kinta-link-button-color) !important;
  background: var(--kinta-link-button-bg) !important;
  border: 1px solid var(--kinta-link-button-border) !important;
  transition: color 0.2s ease 0s, background 0.2s ease 0s, opacity 1s ease 0s !important;
  text-shadow: 0px 0px 3px rgba(var(--kinta-link-button-border, 0.5));
  text-decoration: none !important;
}
@media (hover: hover) {
  #lang_button .sub_menu a:hover, #lang_button .sub_menu a:focus {
    color: var(--kinta-link-button-color-hover) !important;
    background: var(--kinta-link-button-bg-hover) !important;
    border: 1px solid var(--kinta-link-button-border-hover) !important;
  }
}

/* ドロワーメニュー */
#drawer_menu {
  display: none;
  position: fixed;
  top: 0px;
  right: 0;
  width: 400px;
  height: 100vh;
  height: 100dvh;
  overflow: auto;
  z-index: 99999;
  color: var(--kinta-mobile-menu-color);
  background: var(--kinta-mobile-menu-bg);
  border: 1px solid var(--kinta-mobile-menu-border);
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-overflow-scrolling: touch;
  pointer-events: none;
  transform: translate3d(100%, 0, 0);
}
#drawer_menu.color_type2 {
  background: var(--main_color);
}

#drawer_menu_button {
  display: none;
}

#drawer_menu_overlay {
  opacity: 0;
  pointer-events: none;
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  transition: opacity 0.5s ease;
}

/* ヘッダーメッセージ */
#header_message {
  position: relative;
  z-index: 20;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  min-height: 50px;
  text-align: center;
  font-size: 14px;
  font-weight: 600;
  padding: 15px 20px;
}

body.hide_page_header_bar #header_message {
  width: 100%;
  margin-left: 0;
}

#header_message .label {
  display: block;
  color: inherit;
  line-height: 1.4;
  padding: 0 20px;
}

@media (hover: hover) {
  #header_message a.label:hover {
    text-decoration: underline;
  }
}
/* ----------------------------------------------------------------------
 メガメニュー
---------------------------------------------------------------------- */
.pc .megamenu_button + ul {
  display: none !important;
}

/* 共通項目 */
.megamenu {
  background: #f5f5f5;
  display: none;
  pointer-events: none;
  width: 100%;
  position: absolute;
  top: 130px;
  left: 0;
  overflow: hidden;
  z-index: 2;
  border-top: 1px solid #ddd;
}
.megamenu.active_mega_menu {
  display: block;
  pointer-events: auto;
  z-index: 3;
}

body.header_fix .megamenu {
  top: 70px;
  border-top: none;
}

.megamenu .header {
  width: 100%;
  background: #fff;
  border-bottom: 1px solid #ddd;
  overflow: hidden;
}

body.header_fix .megamenu .header {
  box-shadow: inset 0px 10px 10px -5px rgba(0, 0, 0, 0.2) !important;
}

.megamenu .header_inner {
  width: 1000px;
  height: 70px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.megamenu .header .headline {
  font-size: 32px;
  font-family: var(--headline_font_type);
  font-weight: 500;
  margin: 0 30px 0 0;
}
.megamenu .header .catch {
  font-size: 16px;
  font-family: var(--catch_font_type);
}

body.megamenu_dark_color .megamenu {
  background: var(--main_color);
}
body.megamenu_dark_color .megamenu .header {
  border-bottom: none;
  background: #f5f5f5;
  box-shadow: inset 0px 10px 10px -5px rgba(100, 100, 100, 0.1);
}
body.megamenu_dark_color .megamenu .swiper-nav-button:before {
  color: #fff;
}

@media (hover: hover) {
  body.megamenu_dark_color .megamenu .swiper-nav-button:hover:before {
    color: rgba(255, 255, 255, 0.5);
  }
}
/* メガメニューA　ブログカルーセル */
.megamenu_post_carousel_wrap {
  width: 1000px;
  margin: 0 auto;
  position: relative;
}

.megamenu_post_carousel {
  padding-top: 50px;
}
.megamenu_post_carousel .animate_background {
  display: block;
  background: #fff;
}
.megamenu_post_carousel .image_wrap {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
  z-index: 2;
  aspect-ratio: 310/200;
}
.megamenu_post_carousel .image_wrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
.megamenu_post_carousel .content {
  padding: 0 20px;
  height: 80px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.megamenu_post_carousel .title {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
  display: block;
  max-height: 3.6em;
  overflow: hidden;
  visibility: visible;
}
.megamenu_post_carousel .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.megamenu_post_carousel .category {
  height: 70px;
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.megamenu_post_prev {
  left: -65px;
  top: 145px;
}

.megamenu_post_next {
  right: -65px;
  top: 145px;
}

body.megamenu_dark_color .megamenu_post_carousel .category {
  color: #fff;
}

@media (hover: hover) {
  body.megamenu_dark_color .megamenu_post_carousel .category:hover {
    color: rgba(255, 255, 255, 0.5);
  }
}
/* メガメニューB　お知らせカルーセル */
.megamenu_news_carousel_wrap {
  width: 1000px;
  margin: 0 auto;
  position: relative;
}

.megamenu_news_carousel {
  padding-top: 50px;
  margin-bottom: 50px;
}
.megamenu_news_carousel .item {
  background: #fff;
  padding: 20px 20px 15px;
  height: auto !important;
}
.megamenu_news_carousel .image_wrap {
  margin-bottom: 20px;
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
  z-index: 2;
  aspect-ratio: 1/1;
}
.megamenu_news_carousel .image_wrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
.megamenu_news_carousel .date_list {
  margin-bottom: 5px;
}
.megamenu_news_carousel .date_list .date {
  transition: all 0.25s ease;
}
.megamenu_news_carousel .title {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
  display: block;
  max-height: 3.6em;
  overflow: hidden;
  visibility: visible;
  transition: all 0.25s ease;
}
.megamenu_news_carousel .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.megamenu_news_prev {
  left: -65px;
  top: 205px;
}

.megamenu_news_next {
  right: -65px;
  top: 205px;
}

.megamenu_b .megamenu_news_prev, .megamenu_b .megamenu_news_next {
  top: 105px;
}

body.megamenu_dark_color .megamenu_news_carousel .item {
  background: rgba(255, 255, 255, 0.1);
}
body.megamenu_dark_color .megamenu_news_carousel .title, body.megamenu_dark_color .megamenu_news_carousel .date_list .date {
  color: #fff;
}

@media (hover: hover) {
  body.megamenu_dark_color .megamenu_news_carousel a:hover .title, body.megamenu_dark_color .megamenu_news_carousel a:hover .date_list .date {
    color: rgba(255, 255, 255, 0.5);
  }
}
/* メガメニューC ルームカテゴリー */
.megamenu_gallery_carousel_wrap {
  width: 1000px;
  padding: 50px 0 40px;
  margin: 0 auto;
  position: relative;
}

.megamenu_gallery_carousel .animate_background {
  display: block;
}
.megamenu_gallery_carousel .image_wrap {
  margin: 0 0 20px 0;
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
  z-index: 2;
  aspect-ratio: 310/130;
}
.megamenu_gallery_carousel .image_wrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
.megamenu_gallery_carousel .title {
  font-size: 30px;
  font-family: var(--catch_font_type);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
}
.megamenu_gallery_carousel .desc {
  margin-top: 15px;
  font-size: 14px;
  font-weight: 500;
  line-height: 2.4;
  display: block;
  max-height: 7.2em;
  overflow: hidden;
  visibility: visible;
}
.megamenu_gallery_carousel .desc span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.megamenu_gallery_carousel .desc:not(.mega_desc) br {
  display: none;
}

.megamenu_gallery_prev {
  left: -65px;
  top: 110px;
}

.megamenu_gallery_next {
  right: -65px;
  top: 110px;
}

body.megamenu_dark_color .megamenu_c a {
  color: #fff;
}

@media (hover: hover) {
  body.megamenu_dark_color .megamenu_c a:hover {
    color: rgba(255, 255, 255, 0.5);
  }
}
/* メガメニューD サービス */
.megamenu_service_carousel_wrap {
  width: 1000px;
  padding: 50px 0 40px;
  margin: 0 auto;
  position: relative;
}

.megamenu_service_carousel .animate_background {
  display: block;
}
.megamenu_service_carousel .image_wrap {
  margin: 0 0 30px 0;
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
  z-index: 2;
  aspect-ratio: 210/170;
}
.megamenu_service_carousel .image_wrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
.megamenu_service_carousel .title {
  font-size: 20px;
  font-family: var(--catch_font_type);
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  transition: all 0.25s ease;
}
.megamenu_service_carousel .sub_title {
  font-size: 14px;
  text-align: center;
  margin: 0 0 10px 0;
  transition: all 0.25s ease;
}
.megamenu_service_carousel .desc {
  margin-top: 15px;
  font-size: 14px;
  font-weight: 500;
  line-height: 2.4;
  display: block;
  max-height: 7.2em;
  overflow: hidden;
  visibility: visible;
  transition: all 0.25s ease;
}
.megamenu_service_carousel .desc span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.megamenu_service_prev {
  left: -65px;
  top: 135px;
}

.megamenu_service_next {
  right: -65px;
  top: 135px;
}

body.megamenu_dark_color .megamenu_d a {
  color: #fff;
}

@media (hover: hover) {
  body.megamenu_dark_color .megamenu_d a:hover {
    color: rgba(255, 255, 255, 0.5);
  }
}
/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
#footer {
  color: var(--kinta-footer-color);
  background: var(--kinta-footer-bg);
  border: 1px solid var(--kinta-footer-border);
  padding: 70px 0 0;
}

@media (hover: hover) {
  #footer a:hover {
    color: rgba(255, 255, 255, 0.5);
  }
}
/* フッターバナー */
#footer_banner_wrap {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
}
#footer_banner_wrap .footer_banner {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
}
#footer_banner_wrap .item {
  flex: 1 1 0%;
}
#footer_banner_wrap .image_wrap {
  width: calc(100% + 1px);
  height: auto;
  position: relative;
  overflow: hidden;
  z-index: 2;
  aspect-ratio: 362/180;
}
#footer_banner_wrap .image_wrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
#footer_banner_wrap .title {
  font-family: var(--single_title_font_type);
  font-size: 16px;
  padding: 0 20px;
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 70px;
}
#footer_banner_wrap.use_animation .footer_banner {
  transform: translate3d(0, 0, 0);
}
#footer_banner_wrap.use_animation .footer_banner:first-child {
  animation: footer_banner_animation 90s linear infinite;
}
#footer_banner_wrap.use_animation .footer_banner:nth-child(2) {
  animation: footer_banner_animation2 90s -60s linear infinite;
}
#footer_banner_wrap.use_animation .footer_banner:nth-child(3) {
  animation: footer_banner_animation3 90s -30s linear infinite;
}

@media screen and (min-width: 1301px) {
  #footer_banner_wrap:not(.use_animation) {
    width: 100% !important;
  }
  #footer_banner_wrap:not(.use_animation) .footer_banner {
    width: 100% !important;
  }
  #footer_banner_wrap:not(.use_animation) .footer_banner:nth-child(2), #footer_banner_wrap:not(.use_animation) .footer_banner:nth-child(3) {
    display: none;
  }
}
/* アニメーション */
body:not(.hide_side_icon_button) #footer_banner_wrap.use_animation .footer_banner {
  animation-play-state: paused !important;
}

@media (hover: hover) {
  #footer_banner_wrap.use_animation:hover .footer_banner {
    animation-play-state: paused !important;
  }
}
@keyframes footer_banner_animation {
  0% {
    transform: translate3d(200%, 0, 0);
  }
  100% {
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes footer_banner_animation2 {
  0% {
    transform: translate3d(100%, 0, 0);
  }
  100% {
    transform: translate3d(-200%, 0, 0);
  }
}
@keyframes footer_banner_animation3 {
  0% {
    transform: translate3d(0%, 0, 0);
  }
  100% {
    transform: translate3d(-300%, 0, 0);
  }
}
/* ロゴ */
#footer_logo {
  text-align: center;
  position: relative;
  margin-bottom: 70px;
}
#footer_logo img {
  display: block;
  margin: 0 auto;
  transition: all 0.25s ease;
}
#footer_logo img.mobile {
  display: none;
}
#footer_logo a .logo_text {
  font-weight: 500;
  line-height: 1.2;
  word-wrap: break-word;
}
#footer_logo img.mobile {
  display: none;
}
#footer_logo a {
  color: #fff;
}

@media (hover: hover) {
  #footer_logo a:hover img {
    opacity: 0.5;
  }
}
@media (hover: hover) {
  #footer_logo a:hover {
    color: rgba(255, 255, 255, 0.5);
  }
}
/* メニュー */
#footer_menu {
  width: 1000px;
  margin: 0 auto 70px;
  display: flex;
  flex-wrap: wrap;
}
#footer_menu nav {
  flex: 1 1 0%;
}
#footer_menu li {
  margin-bottom: 25px;
  line-height: 1.5;
  font-size: 14px;
}
#footer_menu li:last-of-type {
  margin-bottom: 0;
}
#footer_menu li a {
  display: block;
}

@media (hover: hover) {
  #footer_nav li a:hover {
    color: rgba(255, 255, 255, 0.5);
  }
}
/* 住所 */
#footer_info {
  text-align: center;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding: 20px 0;
}
#footer_info p {
  line-height: 2;
  font-size: 14px;
  width: 1000px;
  margin: 0 auto;
}

/* SNS */
#footer_bottom {
  position: relative;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  height: 70px;
}

#footer_sns {
  position: absolute;
  left: 25px;
  top: calc(50% + 5px);
  transform: translateY(-50%);
}
#footer_sns.color_type1 a:before {
  color: #fff;
}

/* コピーライト */
#copyright {
  line-height: 1.5;
  top: 50%;
  transform: translateY(-50%);
  position: relative;
  font-size: 14px;
  text-align: center;
}

body.page-template-page-tcd-lp #copyright.lp_copyright {
  line-height: 1;
  height: 70px;
  line-height: 70px;
  top: auto;
  transform: none;
  border-top: 1px solid #ddd;
}

/* フッターバー */
.p-footer-bar {
  display: none;
}

/* SNSボタン（全箇所共通） */
.sns_button_list {
  z-index: 20;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -5px;
}
.sns_button_list li {
  font-size: 12px;
  margin: 0 15px 5px 0;
  position: relative;
}
.sns_button_list li:last-of-type {
  margin-right: 0;
}
.sns_button_list li a {
  display: block;
  text-align: center;
  position: relative;
  overflow: hidden;
  width: 18px;
  height: 18px;
}
.sns_button_list li a span {
  display: none;
}
.sns_button_list li a:before {
  font-family: "sns_icon", "normal_icon";
  font-size: 16px;
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease;
  -webkit-font-smoothing: antialiased;
}
.sns_button_list.color_type1 li a:before {
  color: #000;
}
.sns_button_list li.line a:before {
  content: "\e909";
  font-size: 18px;
}
.sns_button_list li.twitter a:before {
  content: "\e950";
  font-size: 15px;
}
.sns_button_list li.facebook a:before {
  content: "\e944";
  font-size: 18px;
}
.sns_button_list li.insta a:before {
  content: "\ea92";
  font-size: 15px;
}
.sns_button_list li.pinterest a:before {
  content: "\e905";
  font-size: 18px;
}
.sns_button_list li.youtube a {
  width: 19px;
}
.sns_button_list li.youtube a:before {
  content: "\ea9d";
  font-size: 18px;
}
.sns_button_list li.tiktok a:before {
  content: "\e94d";
}
.sns_button_list li.contact a:before {
  content: "\e900";
  font-size: 20px;
}
.sns_button_list li.rss a:before {
  content: "\e90b";
  font-size: 14px;
  margin-left: 1px;
}
.sns_button_list li.user_url a:before {
  content: "\e942";
  margin-left: 0.7px;
}
.sns_button_list.color_type2 li {
  margin: 0 15px 5px 0;
}
.sns_button_list.color_type2 li a {
  width: 25px;
  height: 25px;
}
.sns_button_list.color_type2 li a:before {
  font-size: 24px;
}
.sns_button_list.color_type2 li.line a:before {
  color: #00B900;
}
.sns_button_list.color_type2 li.twitter a:before {
  color: #000;
  font-size: 19px;
}
.sns_button_list.color_type2 li.facebook a:before {
  color: #1877f2;
  font-size: 26px;
}
.sns_button_list.color_type2 li.insta a:before {
  color: #e4405f;
  font-size: 23px;
}
.sns_button_list.color_type2 li.pinterest a:before {
  color: #bd081c;
  font-size: 24px;
}
.sns_button_list.color_type2 li.youtube a:before {
  color: #f00;
}
.sns_button_list.color_type2 li.tiktok a:before {
  color: #000;
  font-size: 20px;
}
.sns_button_list.color_type2 li.contact a:before {
  color: #00729f;
}
.sns_button_list.color_type2 li.rss a:before {
  color: orange;
  font-size: 19px;
}
.sns_button_list.color_type2 li.user_url a:before {
  color: #00729f;
}

@media (hover: hover) {
  .sns_button_list li a:hover:before {
    opacity: 0.5;
  }
}
/* フッターバー */
#dp-footer-bar {
  position: fixed;
  right: 0px;
  bottom: 0px;
  z-index: 999;
  width: 100%;
}

.open_menu #dp-footer-bar {
  display: none;
}

.dp-footer-bar-type1 #dp-footer-bar {
  opacity: 0;
  -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
  transition: opacity 0.35s, transform 0.35s;
}
.dp-footer-bar-type1 #dp-footer-bar.active {
  opacity: 1;
}

.dp-footer-bar-type2 #dp-footer-bar {
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
}
.dp-footer-bar-type2 #dp-footer-bar.active {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

/* フッターバー　アイコン無しタイプ */
#dp-footer-bar {
  height: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
#dp-footer-bar a {
  height: 50px;
  line-height: 50px;
  display: block;
  text-align: center;
  font-size: 12px;
  padding: 0 20px;
  text-decoration: none !important;
  -webkit-flex: 1 1 0%;
  flex: 1 1 0%;
}

/* ----------------------------------------------------------------------
 ウィジェット
---------------------------------------------------------------------- */
/* 基本設定 */
.widget_content {
  margin: 0 0 40px 0;
  position: relative;
  font-size: 14px;
}
.widget_content:last-of-type {
  margin-bottom: 0;
}
.widget_content ul {
  margin: 0;
}
.widget_content li {
  line-height: 2;
  padding: 2px 0;
  margin: 0 0 10px 0;
}
.widget_content a {
  text-decoration: none;
}
.widget_content img {
  height: auto;
  max-width: 100%;
}

.widget_headline {
  font-weight: 600;
  font-size: 16px;
  line-height: 1.5;
  margin: 0 0 15px 0;
  position: relative;
}

/* タブ記事 */
.tab_post_list_widget {
  position: relative;
  background: #fff;
}

.widget_tab_post_list_button {
  position: relative;
  z-index: 10;
  display: flex;
  flex-wrap: wrap;
}
.widget_tab_post_list_button div {
  font-size: 14px;
  height: 60px;
  line-height: 60px;
  flex: 1 1 0%;
  text-align: center;
  cursor: pointer;
  border: 1px solid #ddd;
  font-weight: 600;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  visibility: visible;
  display: block;
  position: relative;
  transition: all 0.25s ease;
}
.widget_tab_post_list_button div.active {
  pointer-events: none;
  border-bottom: 1px solid #fff;
}
.widget_tab_post_list_button div:last-of-type {
  border-left: none;
}

@media (hover: hover) {
  .widget_tab_post_list_button div:hover {
    color: #aaa;
  }
}
.widget_tab_post_list {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  border: 1px solid #ddd;
  border-top: none;
}
.widget_tab_post_list.active {
  opacity: 1;
  pointer-events: initial;
  position: relative;
  top: 0;
  left: 0px;
  width: auto;
  z-index: 10;
}
.widget_tab_post_list li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid #ddd;
  line-height: 1;
}
.widget_tab_post_list li:last-of-type {
  border-bottom: none;
}
.widget_tab_post_list a {
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  height: 100px;
}
.widget_tab_post_list .image_wrap {
  display: block;
  width: 101px;
  height: 101px;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.widget_tab_post_list .image_wrap .image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.widget_tab_post_list .title_area {
  width: calc(100% - 101px);
  padding: 20px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.widget_tab_post_list .title {
  font-size: 14px;
  line-height: 1.6;
  max-height: 4.8em;
  word-break: break-all;
  overflow: hidden;
}
.widget_tab_post_list .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.widget_tab_post_list .date {
  font-size: 14px;
  font-weight: 500;
  margin: 0 0 10px 0;
  display: block;
  color: #999;
  position: relative;
}
.widget_tab_post_list .date:before {
  font-family: "normal_icon";
  content: "\e903";
  font-size: 17px;
  margin: 0 5px 0 0;
  position: relative;
  top: 1.5px;
  -webkit-font-smoothing: antialiased;
}
.widget_tab_post_list li.no_post {
  padding: 20px !important;
  font-size: 14px;
  line-height: 2;
}
.widget_tab_post_list.no_image a {
  display: block;
}
.widget_tab_post_list.no_image .title_area {
  width: auto;
  display: block;
  height: auto;
  padding: 0;
}

.no_tab + .widget_tab_post_list {
  border: none !important;
}
.no_tab + .widget_tab_post_list li {
  padding: 0;
  border: none;
}
.no_tab + .widget_tab_post_list .title_area {
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
  padding: 0 20px;
}
.no_tab + .widget_tab_post_list li:first-of-type .title_area {
  border-top: 1px solid #ddd;
}

@media (hover: hover) {
  .widget_tab_post_list a:hover {
    color: rgba(0, 0, 0, 0.6) !important;
  }
}
/* お知らせスライダー */
.news_slider_widget {
  position: relative;
}

.widget_news_carousel {
  position: relative;
  background: var(--main_color);
}

.news_slider_widget a {
  display: block;
}
.news_slider_widget .image_wrap {
  margin: 0;
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  overflow: hidden;
  aspect-ratio: 250/160;
}
.news_slider_widget .image {
  object-fit: cover;
  width: 100%;
  height: 100% !important;
  display: block;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.news_slider_widget .content {
  padding: 20px;
}
.news_slider_widget .title {
  color: #fff;
  font-size: 14px;
  line-height: 1.6;
  max-height: 3.2em;
  overflow: hidden;
  visibility: visible;
  font-weight: 500;
}
.news_slider_widget .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.news_slider_widget .swiper-pagination {
  position: relative;
  top: 0;
  margin: 20px 0 0 0;
}
.news_slider_widget .swiper-pagination span {
  margin: 0 4px !important;
}

/* 客室スライダー */
.gallery_slider_widget, .service_slider_widget {
  position: relative;
}

.widget_gallery_carousel {
  position: relative;
}
.widget_gallery_carousel a {
  display: block;
}
.widget_gallery_carousel .image_wrap {
  margin: 0;
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  overflow: hidden;
  aspect-ratio: 250/160;
}
.widget_gallery_carousel .image {
  object-fit: cover;
  width: 100%;
  height: 100% !important;
  display: block;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.widget_gallery_carousel .content {
  padding: 20px;
  border: 1px solid #ddd;
  color: #000;
  transition: color 0.25s ease;
}

.gallery_slider_widget .widget_gallery_carousel .content {
  border-bottom: none;
}

.service_slider_widget .widget_gallery_carousel .content {
  border-top: none;
  padding: 12px 20px;
}

.widget_gallery_carousel .sub_title {
  font-size: 12px;
  text-align: center;
  line-height: 1.5;
  margin: 2px 0 7px 0;
}
.widget_gallery_carousel .title {
  font-size: 14px;
  line-height: 1.6;
  max-height: 3.2em;
  overflow: hidden;
  visibility: visible;
  font-weight: 500;
  text-align: center;
}
.widget_gallery_carousel .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.widget_gallery_carousel_pagination {
  position: relative;
  top: 0;
  margin: 25px 0 0 0;
}
.widget_gallery_carousel_pagination span {
  margin: 0 4px !important;
}

@media (hover: hover) {
  .widget_gallery_carousel .item:hover .content {
    color: #999 !important;
  }
}
/* バナー */
.widget_banner a {
  display: block;
  color: #000 !important;
  text-decoration: none !important;
  background: #fff;
}
.widget_banner .image_wrap {
  width: 100%;
  height: auto;
  aspect-ratio: 250/160;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.widget_banner .image_wrap img {
  object-fit: cover;
  width: 100%;
  height: 100% !important;
  display: block;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.widget_banner .title {
  height: 60px;
  line-height: 60px;
  border: 1px solid #ddd;
  border-top: none;
  display: block;
  text-align: center;
}

@media (hover: hover) {
  .widget_banner a:hover {
    color: #999 !important;
  }
}
/* 検索 */
.widget_search label {
  display: none;
}

#searchform {
  background: #fff;
  height: 60px;
  border: 1px solid #ddd;
}
#searchform #s {
  border: none;
  background: none;
  padding: 0 20px;
  margin: 0;
  width: calc(100% - 50px);
  height: 60px;
}
#searchform #searchsubmit {
  border: none;
  background: none;
  width: 50px;
  height: 60px;
  z-index: 200;
  position: relative;
  cursor: pointer;
  display: block;
  text-indent: -300px;
  overflow: hidden;
}
#searchform .submit_button {
  position: relative;
  width: 50px;
  height: 60px;
  float: right;
  top: 0px;
}
#searchform .submit_button:before {
  text-indent: 0;
  display: block;
  width: 50px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  cursor: pointer;
  z-index: 1;
  position: absolute;
  font-family: "normal_icon";
  color: #333;
  font-size: 16px;
  content: "\e94c";
  right: 2px;
  top: 1px;
  font-weight: 600;
  transition: color 0.2s ease;
  -webkit-font-smoothing: antialiased;
}

@media (hover: hover) {
  #searchform .submit_button:hover:before {
    color: rgba(0, 0, 0, 0.5) !important;
  }
}
/* デフォルトのタグ一覧 */
.widget_tag_cloud .tagcloud {
  margin: 0 0 -6px 0;
  padding: 0;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.widget_tag_cloud .tagcloud a {
  margin: 0 6px 6px 0;
  font-size: 14px !important;
  display: block;
  background: #f6f6f6;
  padding: 0px 20px;
  border-radius: 4px;
  height: 36px;
  line-height: 36px;
}

@media (hover: hover) {
  .widget_tag_cloud .tagcloud a:hover {
    background: var(--main_color) !important;
    color: #fff !important;
  }
}
/* デフォルトの最近の記事 */
.widget_recent_entries li {
  padding: 15px 20px;
  margin: 0;
  border: 1px solid #ddd;
  border-bottom: none;
  display: flex;
  flex-direction: column;
}
.widget_recent_entries li:last-of-type {
  border-bottom: 1px solid #ddd;
}
.widget_recent_entries li a {
  display: block;
  font-size: 14px;
  line-height: 1.8;
  width: 100%;
  order: 2;
}
.widget_recent_entries li a br {
  display: none;
}
.widget_recent_entries .post-date {
  position: relative;
  color: #999;
  font-size: 14px;
  margin: -5px 0 5px 0;
  display: block;
  width: 100%;
  order: 1;
  padding-left: 20px;
}
.widget_recent_entries .post-date:before {
  font-family: "normal_icon";
  content: "\e903";
  font-size: 18px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  -webkit-font-smoothing: antialiased;
}

body.mobile_device .widget_recent_entries .post-date:before {
  margin-top: 1px;
}

/* デフォルトのカテゴリー */
.widget_categories ul:first-of-type {
  position: relative;
  border-bottom: 1px solid #ddd;
}
.widget_categories ul:first-of-type ul {
  border: none;
}
.widget_categories li {
  margin: 0;
  padding: 0;
  position: relative;
}
.widget_categories li a {
  display: block;
  background: #fff;
  border: 1px solid #ddd;
  border-bottom: none;
  padding: 0 20px;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 60px;
  line-height: 60px;
}
.widget_categories li li a {
  padding-left: calc(20px + 1em);
}
.widget_categories li li li a {
  padding-left: calc(20px + 2em);
}
.widget_categories li .title {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  visibility: visible;
}
.widget_categories li .post-count {
  background: #f2f2f2;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 100%;
  text-align: center;
  font-size: 12px;
  position: absolute;
  right: 10px;
  top: 11px;
  pointer-events: none;
}

@media (hover: hover) {
  .widget_categories li a:hover {
    color: rgba(0, 0, 0, 0.6) !important;
  }
}
/* デフォルトのアーカイブ */
.widget_archive ul:first-of-type {
  position: relative;
  border-bottom: 1px solid #ddd;
}
.widget_archive ul:first-of-type ul {
  border: none;
}
.widget_archive li {
  margin: 0;
  padding: 0;
  position: relative;
}
.widget_archive li a {
  display: block;
  background: #fff;
  border: 1px solid #ddd;
  border-bottom: none;
  padding: 0 20px;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 60px;
  line-height: 60px;
}
.widget_archive li li a {
  padding-left: calc(20px + 1em);
}
.widget_archive li li li a {
  padding-left: calc(20px + 2em);
}
.widget_archive li .post-count {
  background: #f2f2f2;
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 100%;
  text-align: center;
  font-size: 12px;
  position: absolute;
  right: 10px;
  top: 11px;
}

@media (hover: hover) {
  .widget_archive li a:hover {
    color: rgba(0, 0, 0, 0.6) !important;
  }
}
/* デフォルトの固定ページ */
.widget_pages ul:first-of-type {
  position: relative;
  border-bottom: 1px solid #ddd;
}
.widget_pages ul:first-of-type ul {
  border: none;
}
.widget_pages li {
  margin: 0;
  padding: 0;
  position: relative;
}
.widget_pages li a {
  display: block;
  background: #fff;
  border: 1px solid #ddd;
  border-bottom: none;
  padding: 0 30px;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 60px;
  line-height: 60px;
}
.widget_pages li li a {
  padding-left: calc(30px + 1em);
}
.widget_pages li li li a {
  padding-left: calc(30px + 2em);
}

@media (hover: hover) {
  .widget_pages li a:hover {
    color: rgba(0, 0, 0, 0.6) !important;
  }
}
/* デフォルトのナビ　*/
.widget_nav_menu ul:first-of-type {
  position: relative;
  border-bottom: 1px solid #ddd;
}
.widget_nav_menu ul:first-of-type ul {
  border: none;
}
.widget_nav_menu li {
  margin: 0;
  padding: 0;
  position: relative;
}
.widget_nav_menu li a {
  display: block;
  background: #fff;
  border: 1px solid #ddd;
  border-bottom: none;
  padding: 0 20px;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 60px;
  line-height: 60px;
}
.widget_nav_menu li li a {
  padding-left: calc(20px + 1em);
}
.widget_nav_menu li li li a {
  padding-left: calc(20px + 2em);
}

@media (hover: hover) {
  .widget_nav_menu li a:hover {
    color: rgba(0, 0, 0, 0.6) !important;
  }
}
/* デフォルトのメタウィジェット */
.widget_meta ul:first-of-type {
  position: relative;
  border-bottom: 1px solid #ddd;
}
.widget_meta ul:first-of-type ul {
  border: none;
}
.widget_meta li {
  margin: 0;
  padding: 0;
  position: relative;
}
.widget_meta li a {
  display: block;
  background: #fff;
  border: 1px solid #ddd;
  border-bottom: none;
  padding: 0 30px;
  overflow: hidden;
  position: relative;
  width: 100%;
  height: 60px;
  line-height: 60px;
}
.widget_meta li li a {
  padding-left: calc(30px + 1em);
}
.widget_meta li li li a {
  padding-left: calc(30px + 2em);
}

@media (hover: hover) {
  .widget_meta li a:hover {
    color: rgba(0, 0, 0, 0.6) !important;
  }
}
/* デフォルトのコメントウィジェット */
.widget_recent_comments li {
  font-size: 14px;
  line-height: 1.8;
  border: 1px solid #ddd;
  border-bottom: none;
  margin: 0;
  padding: 15px 20px;
}
.widget_recent_comments li:last-of-type {
  margin-bottom: 0;
  border-bottom: 1px solid #ddd;
}
.widget_recent_comments li > a {
  display: block;
}
.widget_recent_comments .comment-author-link a {
  color: #999;
}
.widget_recent_comments .comment-author-link a:hover {
  color: #ccc;
}
.widget_recent_comments li br {
  display: none;
}

/* デフォルトのブロック */
.widget_block {
  font-size: 16px;
  line-height: 2.4;
}
.widget_block .wp-block-archives-list li a, .widget_block .wp-block-categories-list li a {
  color: #000 !important;
}

#footer .widget_block a {
  text-decoration: underline;
}

@media (hover: hover) {
  .widget_block a:hover {
    text-decoration: underline;
  }
  .widget_block .wp-block-archives-list li a:hover, .widget_block .wp-block-categories-list li a:hover {
    color: rgba(0, 0, 0, 0.6) !important;
    text-decoration: none;
  }
}
/* デフォルトのテキストウィジェット */
.widget_text .textwidget {
  font-size: 14px;
  line-height: 2.4;
}

#footer .widget_text .textwidget a {
  text-decoration: underline;
}

@media (hover: hover) {
  .widget_text .textwidget a:hover {
    text-decoration: underline;
  }
}
/* デフォルトのアーカイブとカテゴリー　ドロップダウンメニュー */
.widget_archive form, .widget_categories form {
  position: relative;
}

.widget_archive select, .widget_categories select {
  border: 1px solid #ddd;
  background: #fff;
  width: 100%;
  height: 60px;
  padding: 0 20px;
  font-size: 14px;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.widget_archive .screen-reader-text, .widget_categories .screen-reader-text {
  display: block;
  clip: auto;
  clip-path: none;
  pointer-events: none;
  height: 60px;
  width: 50px;
  margin: 0;
  position: absolute;
  right: 5px;
  text-indent: -300px;
}

.widget_archive .screen-reader-text:before, .widget_categories .screen-reader-text:before {
  font-family: "normal_icon";
  content: "\e90e";
  text-align: center;
  text-indent: 0;
  display: block;
  font-size: 14px;
  width: 14px;
  height: 14px;
  line-height: 14px;
  z-index: 10;
  position: absolute;
  right: 20px;
  top: 25px;
  -webkit-font-smoothing: antialiased;
}

/* カレンダー */
#calendar_wrap {
  padding: 0;
  margin: -6px 0 -20px;
}

#wp-calendar {
  margin: 0 auto;
  width: 100%;
  font-size: 14px;
  border-collapse: collapse;
  table-layout: fixed;
}
#wp-calendar caption {
  padding: 7px 0;
  font-size: 16px;
  font-weight: 600;
}
#wp-calendar thead th, #wp-calendar tfoot td {
  padding: 12px 10px;
  line-height: 2;
}
#wp-calendar thead th {
  font-weight: 500;
}
#wp-calendar tbody th, #wp-calendar tbody td {
  padding: 0;
  margin: 0;
  line-height: 1;
  text-align: center;
}
#wp-calendar tbody span {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
#wp-calendar tbody a {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  border-radius: 100%;
  background: #f6f6f6;
  color: #000;
  width: calc(100% - 6px);
  margin-left: 3px;
}
#wp-calendar tbody td[colspan] span {
  aspect-ratio: unset;
}

@media (hover: hover) {
  #wp-calendar tbody a:hover {
    color: #fff;
    background: var(--main_color) !important;
  }
  #footer #wp-calendar tbody a:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.4) !important;
  }
}
.wp-calendar-nav {
  font-size: 14px;
  padding: 20px 0;
  width: 100%;
}
.wp-calendar-nav .wp-calendar-nav-prev {
  width: 40%;
  float: left;
}
.wp-calendar-nav .wp-calendar-nav-next {
  width: 40%;
  float: right;
  text-align: right;
}

/* デフォルトのギャラリー */
.widget_media_gallery .gallery-item {
  margin-top: 0 !important;
}

/* RSS */
.widget_rss .rss-widget-feed {
  display: none;
}
.widget_rss ul li {
  font-size: 14px;
  margin: 0;
  padding: 20px 20px 15px;
  border: 1px solid #ddd;
  border-bottom: none;
  display: flex;
  flex-wrap: wrap;
}
.widget_rss ul li:last-of-type {
  border-bottom: 1px solid #ddd;
}
.widget_rss ul li .rss-date {
  -ms-flex-order: 1;
  order: 1;
  color: #999;
  font-size: 13px;
  line-height: 1;
  margin-right: 10px;
}
.widget_rss ul li cite {
  -ms-flex-order: 2;
  order: 2;
  color: #999;
  font-size: 13px;
  line-height: 1;
}
.widget_rss ul li .rsswidget {
  -ms-flex-order: 3;
  order: 3;
  display: block;
  width: 100%;
  margin: 0;
  line-height: 1.6;
}
.widget_rss ul li .rssSummary {
  -ms-flex-order: 4;
  order: 4;
  color: #999;
  font-size: 13px;
  margin: -0.35em 0;
  line-height: 1.6;
}
.widget_rss .rss-date {
  position: relative;
  font-family: Arial;
}
.widget_rss .rsswidget ~ .rss-date, .widget_rss .rsswidget ~ cite {
  margin-bottom: 10px;
}
.widget_rss .rsswidget ~ .rssSummary {
  margin-top: calc(10px - 0.35em);
}

/* ----------------------------------------------------------------------
 404ページ
---------------------------------------------------------------------- */
body.search-no-results.header_fix, body.error404.header_fix {
  padding-top: 70px;
}
body.search-no-results.header_fix #header {
  animation: none !important;
}
body.error404.header_fix #header {
  animation: none !important;
}
body.error404 #footer, body.error404 #footer_banner_wrap, body.error404 #return_top, body.error404 #side_icon_button {
  display: none;
}
body.search-no-results #footer, body.search-no-results #footer_banner_wrap, body.search-no-results #return_top, body.search-no-results #side_icon_button {
  display: none;
}
body.error404 #copyright, body.search-no-results #copyright {
  display: none;
}

#no_search_result {
  height: calc(100vh - 70px);
  height: calc(100dvh - 70px);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  position: relative;
}
#no_search_result .content {
  z-index: 100;
  width: 100%;
  margin-top: 0px;
}
#no_search_result.has_image .content {
  color: #fff;
}
#no_search_result.has_image .content p a {
  color: #fff !important;
  text-decoration: underline;
}
#no_search_result .headline {
  text-align: center;
  margin: 0 0 40px 0;
  font-size: 42px;
  font-family: var(--headline_font_type);
}
#no_search_result .desc {
  text-align: center;
  margin: 0 auto 50px;
  width: 800px;
}
#no_search_result .desc:last-child {
  margin-bottom: 0;
}
#no_search_result .overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 2;
}
#no_search_result .bg_image {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 1;
}
#no_search_result form {
  height: 50px;
  width: 400px;
  position: relative;
  margin: 0 auto;
}
#no_search_result .input_area input {
  position: absolute;
  left: 0px;
  width: 100%;
  height: 50px;
  border: none;
  color: var(--kinta-block-input-color);
  background: var(--kinta-block-input-bg);
  border: 1px solid var(--kinta-block-input-border);
  transition: color 0.2s ease 0s, background 0.2s ease 0s, opacity 1s ease 0s;
  z-index: 1;
  padding: 0 60px 0 25px;
  border-radius: 50px;
  z-index: 1;
}
#no_search_result .input_area input:focus {
  color: var(--kinta-block-input-color-hover);
  background: var(--kinta-block-input-bg-hover);
  border: 1px solid var(--kinta-block-input-border-hover);
}
#no_search_result .search_button input {
  position: absolute;
  right: 0px;
  top: 0px;
  border: none;
  background: none;
  width: 50px;
  height: 50px;
  z-index: 2;
  cursor: pointer;
}
#no_search_result .search_button label {
  position: absolute;
  right: 0px;
  top: 0px;
  z-index: 10;
  width: 50px;
  height: 50px;
  display: block;
  pointer-events: none;
}
#no_search_result .search_button label:before {
  display: block;
  font-family: "normal_icon";
  color: #000;
  font-size: 14px;
  content: "\e94c";
  top: 19px;
  right: 20px;
  position: absolute;
  transition: color 0.2s ease;
  -webkit-font-smoothing: antialiased;
}
#no_search_result.has_bg_image .content {
  color: #fff;
}
#no_search_result.has_bg_image .input_area input {
  background: #fff;
}
#no_search_result .tag_list {
  text-align: center;
  width: 730px;
  margin: 60px auto;
}
#no_search_result .desc + .tag_list {
  margin-top: 50px;
}
#no_search_result .wp-tag-cloud {
  display: inline-flex;
  flex-wrap: wrap;
  margin: 0 0 -5px;
}
#no_search_result .wp-tag-cloud li {
  margin: 0 2px 4px;
  display: block;
}
#no_search_result .wp-tag-cloud a {
  background: #f3f3f3;
  height: 35px;
  line-height: 35px;
  display: block;
  border-radius: 4px;
  padding: 0 15px;
  font-size: 14px !important;
}
#no_search_result.has_image .wp-tag-cloud a {
  background: none;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.5);
}
#no_search_result .copyright {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 99999;
  width: 100%;
  line-height: 1.5;
  border-top: 1px solid #ddd;
  text-align: center;
  padding: 19px 20px;
  font-size: 14px;
}
#no_search_result.has_image .copyright {
  border-color: rgba(255, 255, 255, 0.2);
  color: #fff;
}
#no_search_result.has_image .copyright a {
  color: #fff;
  text-decoration: underline;
}

@media (hover: hover) {
  #no_search_result.has_image .content p a:hover {
    color: rgba(255, 255, 255, 0.5) !important;
  }
  #no_search_result .search_button:hover label:before {
    color: rgba(0, 0, 0, 0.6);
  }
}
@media (hover: hover) {
  #no_search_result .wp-tag-cloud a:hover {
    background: #000;
    border-color: #000;
    color: #fff;
  }
  #no_search_result.has_image .wp-tag-cloud a:hover {
    background: none;
    border: 1px solid rgba(255, 255, 255, 0.5);
    color: rgba(255, 255, 255, 0.5);
  }
}
@media (hover: hover) {
  #no_search_result.has_image .copyright a:hover {
    color: rgba(255, 255, 255, 0.5);
  }
}
/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
/* 基本設定 */
#comments {
  margin: 80px 0 0 0;
  position: relative;
}
#comments .headline {
  text-align: center;
  font-size: 26px;
  line-height: 1;
  margin: 0 auto 80px;
  font-family: var(--headline_font_type);
}

/* コメント・トラックバックのタブ */
#comment_header {
  position: relative;
  margin: 0 0 20px;
}

#comment_tab {
  margin: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  overflow: hidden;
}
#comment_tab li {
  text-align: center;
  margin: 0;
  -webkit-flex: 1 1 0%;
  flex: 1 1 0%;
}
#comment_tab li a, #comment_tab li p {
  font-size: 12px;
  padding: 15px 15px;
  line-height: 1.6;
  display: block;
  text-decoration: none;
  background: #fff;
  color: #000;
}
#comment_tab li.active a {
  background: var(--main_color);
  color: #fff;
  position: relative;
}

@media (hover: hover) {
  #comment_tab li a:hover {
    color: #fff !important;
    background: var(--main_color_light);
  }
}
#comment_header #comment_closed p {
  color: #fff;
  position: relative;
}

#comment_tab li.active a {
  pointer-events: none;
}

/*  コメントの基本部分 */
.commentlist {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.comment {
  margin: 0 0 20px;
  padding: 20px 20px 0;
  background: #fff;
  border: 1px solid #ddd;
}

#comments .post_content {
  margin: 0;
  padding: 5px 0 0 0;
  background: none;
}

/* コメントの情報部分 */
.comment-meta {
  position: relative;
  margin: 0 0 10px 0;
}

.comment-meta-left {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

#comments .avatar {
  margin: 0 15px 0 0;
  width: 50px;
  height: 50px;
  border-radius: 100%;
}

a.admin-url, a.guest-url {
  text-decoration: underline;
}

.comment-name-date {
  margin: 0;
  font-size: 14px;
}

.comment-date {
  color: #888;
  margin: 10px 0 0 0;
}

.comment-act {
  font-size: 14px;
  position: absolute;
  top: 5px;
  right: 0px;
  padding: 0;
  margin: 0;
}
.comment-act li {
  display: inline;
  margin: 0;
}

.comment-reply a {
  border-right: 1px solid #aaa;
  padding: 0 10px 0 0;
  margin: 0 6px 0 0;
}
.comment-reply a:visited {
  border-right: 1px solid #aaa;
  padding: 0 10px 0 0;
  margin: 0 6px 0 0;
}

.comment-edit a {
  border-left: 1px solid #aaa;
  padding: 0 0 0 10px;
  margin: 0 0 0 6px;
}
.comment-edit a:visited {
  border-left: 1px solid #aaa;
  padding: 0 0 0 10px;
  margin: 0 0 0 6px;
}

/* コメント本文 */
#comments .post_content p {
  margin: 0 0 15px 0;
  line-height: 1.8;
}
#comments .post_content blockquote span {
  margin: 0 0 -1em 0;
  display: block;
}

/* メッセージ、警告文 */
.comment-note {
  display: block;
  font-size: 11px;
  margin: 0 0 1em 0;
  color: #33a8e5;
  border: 1px solid #94ddd4;
  padding: 10px 15px;
  background: #d6f4f0;
}

.comment_closed {
  border: 1px solid #ccc;
  text-align: center;
  margin: 0 35px 15px 0;
  padding: 15px;
  background: #fefefe;
}

.no_comment {
  padding-bottom: 15px;
}

.comment_message {
  margin: 0 0 25px 0;
}

/* トラックバック */
.commentlist .ping-link {
  margin: 0 0 25px 0;
}
.commentlist .ping-meta {
  margin: 0 0 15px 0;
}

#trackback_url_area {
  margin: 0 0 25px 0;
}
#trackback_url_area label {
  font-size: 11px;
  display: block;
  margin: 0 0 5px 0;
}
#trackback_url_area input {
  border: 1px solid #ddd;
  padding: 5px 10px;
  width: 100%;
}

/* ページナビ */
#comment_pager {
  margin: 0 0 10px;
  height: 24px;
}
#comment_pager a, #comment_pager span {
  display: inline;
  float: left;
  margin: 0 10px 0 0;
}
#comment_pager .current {
  text-decoration: underline;
}

/* コメントフォーム */
.comment_form_wrapper {
  margin: 0 0 0px;
  padding: 20px;
  border: 1px solid #ddd;
  background: #fff;
}

.comment .comment_form_wrapper {
  margin: 0 0 20px;
}

#cancel_comment_reply a {
  background: #eee;
  margin: 0 0 1em 0;
  padding: 15px;
  border-radius: 50px;
  text-align: center;
  display: block;
}

@media (hover: hover) {
  #cancel_comment_reply a:hover {
    background: var(--main_color);
    color: #fff !important;
  }
}
#comment_user_login p {
  padding: 10px 0;
  margin: 0;
  line-height: 1;
  font-size: 14px;
}
#comment_user_login span {
  margin: 0 0 0 40px;
}

#comment_login {
  margin: 0;
  padding: 3px 30px 10px 30px;
}
#comment_login p {
  margin: 0;
  padding: 12px 0 11px 36px;
  line-height: 1;
}
#comment_login a {
  margin: 0 0 0 20px;
  padding: 0;
}

#guest_info {
  padding: 0;
  width: 100%;
}
#guest_info div {
  margin: 0 0 12px 0;
  text-align: left;
}
#guest_info input {
  margin: 0;
  padding: 5px 10px;
  border: 1px solid #ccc;
  width: 100%;
  background: #fff;
}
#guest_info input:focus {
  border: 1px solid var(--main_color);
}
#guest_info label {
  display: block;
  margin: 0 0 10px 0;
  padding: 0;
  font-size: 12px;
}
#guest_info span {
  margin: 0 10px 0 0;
}

#comment_textarea textarea {
  margin: 15px 0 0;
  width: 100%;
  height: 150px;
  font-size: 16px;
  line-height: 1.8;
  overflow: auto;
  padding: 10px;
  background: #fff;
  color: #000;
  border: 1px solid #ccc;
}
#comment_textarea textarea:focus {
  border: 1px solid var(--main_color);
}

#submit_comment_wrapper {
  text-align: center;
}

#submit_comment {
  color: #fff;
  background: var(--main_color);
  border: none;
  cursor: pointer;
  font-size: 14px;
  width: 200px;
  height: 50px;
  margin: 20px auto 0;
  display: block;
  border-radius: 50px;
  transition: all 0.2s ease;
}

@media (hover: hover) {
  #submit_comment:hover {
    background: var(--main_color_light);
    color: #fff;
  }
}
#input_hidden_field {
  display: none;
}

/* パスワード保護 */
.password_protected {
  text-align: center;
  margin: 0 38px 30px;
  padding: 10px 20px;
  color: #fff;
  background: #3db4b2;
  border-radius: 5px;
}
.password_protected p {
  font-size: 12px;
  margin: 0;
  line-height: 1.6;
}

/* ----------------------------------------------------------------------
　アニメーションの設定
---------------------------------------------------------------------- */
/* 下から上へスライド */
@keyframes tcd_slide_up {
  0% {
    opacity: 0;
    bottom: -30px;
  }
  100% {
    opacity: 1;
    bottom: 0;
  }
}
/* ズームアウト */
@keyframes tcd_zoom_out {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.3);
  }
}
/* ズームイン */
@keyframes tcd_zoom_in {
  0% {
    transform: scale(1.3);
  }
  100% {
    transform: scale(1);
  }
}
/* フェードイン */
@keyframes tcd_fade_in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* フェードアウト */
@keyframes tcd_fade_out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
/* 右に移動 */
@keyframes tcd_move_right {
  0% {
    opacity: 0;
    right: 30px;
  }
  100% {
    opacity: 1;
    right: 0;
  }
}
/* 左に移動 */
@keyframes tcd_move_left {
  0% {
    opacity: 0;
    left: 30px;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}
/* 下に移動 */
@keyframes tcd_move_down {
  0% {
    opacity: 0;
    top: -30px;
  }
  100% {
    opacity: 1;
    top: 0;
  }
}
/* 上に移動 */
@keyframes tcd_move_up {
  0% {
    opacity: 0;
    bottom: -30px;
  }
  100% {
    opacity: 1;
    bottom: 0;
  }
}
/* ポップアップ */
@keyframes tcd_pop_up {
  0% {
    transform: scale(0.1);
    opacity: 0;
  }
  100% {
    transform: none;
    opacity: 1;
  }
}
/* ----------------------------------------------------------------------
 WordPress プリセットスタイル
---------------------------------------------------------------------- */
.post_content *:first-child {
  margin-top: 0;
}
.post_content *:last-child {
  margin-bottom: 0;
}
.post_content .alignright {
  float: right;
}
.post_content .alignleft {
  float: left;
}
.post_content .aligncenter {
  display: block;
  margin: 0 auto 2em;
  text-align: center;
}
.post_content blockquote.alignleft, .post_content img.alignleft, .post_content .wp-caption.alignleft {
  margin: 0 2em 2em 0;
}
.post_content blockquote.alignright, .post_content img.alignright, .post_content .wp-caption.alignright {
  margin: 0 0 2em 2em;
}
.post_content blockquote.aligncenter, .post_content img.aligncenter, .post_content .wp-caption.aligncenter {
  margin-bottom: 2em;
}
.post_content p {
  line-height: 2.4;
  margin: 0 0 2em 0;
}
.post_content h1, .post_content h2, .post_content h3, .post_content h4, .post_content h5, .post_content h6 {
  clear: both;
  line-height: 1.4;
  padding: 0;
  font-weight: 600;
}
.post_content h1 {
  font-size: 150%;
  margin: 0 0 30px 0;
  text-align: center;
}
.post_content h2 {
  font-size: 140%;
  margin: 0 0 30px 0;
  text-align: center;
}
.post_content h3 {
  font-size: 130%;
  margin: 0 0 30px 0;
}
.post_content h4 {
  font-size: 120%;
  margin: 0 0 30px 0;
}
.post_content h5 {
  font-size: 110%;
  margin: 0 0 30px 0;
}
.post_content h6 {
  font-size: 100%;
  margin: 0 0 30px 0;
}
.post_content img[class*=align], .post_content img[class*=wp-image-], .post_content img[class*=attachment-], .post_content img.size-full, .post_content img.size-large {
  height: auto;
  max-width: 100%;
  display: block;
}
.post_content .wp-post-image, .post_content img {
  height: auto;
  max-width: 100%;
  display: block;
}
.post_content p:has(img) {
  line-height: 1;
  margin-bottom: 50px;
}
.post_content p + p:has(img) {
  margin-top: 110px;
}

/* alignment */
/* text and headline */
/* image */
body.single-post .post_content p + p:has(img), body.single-news .post_content p + p:has(img) {
  margin-top: 0px;
}

.post_content .q_button_wrap + p:has(img) {
  margin-top: 120px;
}
.post_content li, .post_content dt, .post_content dd {
  line-height: 2.2;
}
.post_content ul, .post_content ol, .post_content dl {
  margin-bottom: 2em;
}
.post_content ol {
  list-style: decimal outside none;
  margin-left: 1.5em;
}
.post_content ul {
  list-style: circle outside none;
  margin-left: 1.3em;
}
.post_content li > ul, .post_content li > ol {
  margin-bottom: 0;
}
.post_content dt {
  font-weight: bold;
}
.post_content dd {
  margin-bottom: 1em;
}
.post_content table {
  margin: 0 0 50px 0;
  width: 100% !important;
  border-collapse: collapse !important;
  table-layout: auto;
  word-break: break-all;
  word-wrap: break-all;
}
.post_content .s_table table {
  margin-bottom: 50px;
}
.post_content td {
  border: 1px solid #ddd !important;
  padding: 18px 25px 16px !important;
  line-height: 2.2;
  background: #fff;
}
.post_content th {
  border: 1px solid #ddd !important;
  padding: 18px 25px 16px !important;
  line-height: 2.2;
  background: #fff;
  background: #f7f7f7;
  font-weight: normal;
}
.post_content table.table_no_border th, .post_content table.table_no_border td {
  border: none;
  padding-left: 0;
}
.post_content table.table_border_serumtal th, .post_content table.table_border_serumtal td {
  border-left: none;
  border-right: none;
  padding-left: 0;
}
.post_content blockquote {
  position: relative;
  color: rgba(0, 0, 0, 0.6);
  margin-bottom: 50px;
  padding: 2em 2.4em;
  box-shadow: none;
  background: rgba(0, 0, 0, 0.02);
  border: none;
  border-left: 3px solid #000;
}
.post_content blockquote:before {
  line-height: 40px;
  top: 5px;
  left: 10px;
}
.post_content blockquote:after {
  text-align: left;
  line-height: 60px;
  bottom: 10px;
  right: -2px;
}
.post_content blockquote:before, .post_content blockquote:after {
  content: '"';
  font-style: italic;
  font-size: 30px;
  font-weight: normal;
  color: #000;
  width: 30px;
  height: 30px;
  position: absolute;
}
.post_content blockquote p {
  line-height: 1.8;
}
.post_content blockquote cite {
  text-align: right;
  display: block;
  border-top: 1px dotted #000;
  margin: 2em 0 0;
  padding: 1em 0 0;
  font-size: 14px;
}
.post_content .wp-caption {
  margin-bottom: 2em;
  background: #fff;
  border: 1px solid #ddd;
  padding: 10px;
  max-width: 100%;
}
.post_content .wp-caption-text {
  text-align: center;
  line-height: 1.5;
  margin: 0 auto;
  padding: 20px 0 10px;
  font-size: 14px;
}
.post_content .wp-caption img[class*=wp-image-] {
  display: block;
  margin: 0 auto 0;
}

@media screen and (max-width: 1100px) {
  .post_content p + p:has(img) {
    margin-top: 90px;
  }
  .post_content .q_button_wrap + p:has(img) {
    margin-top: 100px;
  }
}
@media screen and (max-width: 800px) {
  .post_content p:has(img) {
    margin-bottom: 40px;
  }
  .post_content p + p:has(img) {
    margin-top: 30px;
  }
  .post_content .q_button_wrap + p:has(img) {
    margin-top: 40px;
  }
  body.single-post .post_content p + p:has(img), body.single-news .post_content p + p:has(img) {
    margin-top: 0px;
  }
}
/* list */
/* table */
@media screen and (max-width: 800px) {
  .post_content table {
    margin: 0 0 35px 0;
  }
}
/* table style */
/* blockquote */
/* captions */
/* gallery */
.gallery {
  margin-bottom: 50px;
}
.gallery img {
  border: 0 !important;
  display: block;
  margin: 0;
}

.gallery-item {
  float: left;
  margin: 0 4px 4px 0;
  overflow: hidden;
  position: relative;
}

.gallery-columns-1, .gallery-columns-2, .gallery-columns-3, .gallery-columns-4, .gallery-columns-5, .gallery-columns-6, .gallery-columns-7, .gallery-columns-8, .gallery-columns-9, .gallery-columns-10 {
  margin: 0 -4px -4px 0 !important;
}

.gallery-columns-1 .gallery-item {
  max-width: 100%;
}

.gallery-columns-2 .gallery-item {
  max-width: calc(50% - 4px);
}

.gallery-columns-3 .gallery-item {
  max-width: calc(33.3333333333% - 4px);
}

.gallery-columns-4 .gallery-item {
  max-width: calc(25% - 4px);
}

.gallery-columns-5 .gallery-item {
  max-width: calc(20% - 4px);
}

.gallery-columns-6 .gallery-item {
  max-width: calc(16.6666666667% - 4px);
}

.gallery-columns-7 .gallery-item {
  max-width: calc(14.2857142857% - 4px);
}

.gallery-columns-8 .gallery-item {
  max-width: calc(12.5% - 4px);
}

.gallery-columns-9 .gallery-item {
  max-width: calc(11.1111111111% - 4px);
}

.gallery-columns-10 .gallery-item {
  max-width: calc(10% - 4px);
}

.gallery-caption {
  background-color: rgba(0, 0, 0, 0.7);
  color: #fff;
  font-size: 12px;
  line-height: 1.5;
  margin: 0;
  pointer-events: none;
  padding: 6px 8px;
  position: absolute;
  bottom: 0;
  left: 0;
  text-align: left;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  transform: translate3d(0, 100%, 0);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}

.gallery-item:hover .gallery-caption {
  transform: translate3d(0, 0, 0);
}

.gallery-columns-7 .gallery-caption, .gallery-columns-8 .gallery-caption, .gallery-columns-9 .gallery-caption, .gallery-columns-10 .gallery-caption {
  display: none;
}

@media screen and (max-width: 800px) {
  .gallery {
    margin-bottom: 35px;
  }
  .gallery-caption {
    display: none;
  }
}
/* etc */
.post_content .wp-smiley {
  border: 0;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}
.post_content address {
  margin: 0 0 24px 0;
  line-height: 2.2;
}
.post_content pre {
  border-left: 5px solid var(--main_color);
  font-size: 12px;
  margin: 0 0 27px 0;
  line-height: 30px;
  background: repeating-linear-gradient(#eee 0, #eee 30px, #fafafa 30px, #fafafa 60px);
  padding: 0 17px;
  overflow: auto;
}
.post_content .mejs-container {
  margin: 12px 0 25px;
}

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

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

.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 {
  color: red;
  font-size: 12px;
}

@media (max-width: 800px) {
  .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;
  }
}
/* Cardlink style - カードリンクのスタイル */
.cardlink {
  margin: 2em 0 !important;
}

/* Google Mapの設定 */
.p-btn {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  min-width: 180px;
  height: 50px;
  padding: 0 15px;
  border-radius: 0;
  color: #fff;
  font-size: 14px;
  line-height: 50px;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .p-btn {
    height: 45px;
    font-size: 12px;
    line-height: 45px;
  }
}
/* ブロックエディタ */
.wp-block-social-links a {
  color: #fff !important;
}

.has-small-font-size {
  font-size: 0.8125em !important;
}

.has-normal-font-size, .has-regular-font-size {
  font-size: 1em !important;
}

.has-medium-font-size {
  font-size: 1.25em !important;
}

.has-large-font-size {
  font-size: 2.25em !important;
}

.has-huge-font-size, .has-larger-font-size {
  font-size: 2.625em !important;
}

.has-text-align-left {
  text-align: left !important;
}

.has-text-align-right {
  text-align: right !important;
}

.wp-block-embed, .wp-block-columns {
  margin-bottom: 50px;
}

.wp-block-image {
  margin-bottom: 20px;
}

.wp-block-gallery {
  margin-bttom: 20px;
}

@media (max-width: 800px) {
  .wp-block-embed, .wp-block-image, .wp-block-columns {
    margin-bottom: 35px;
  }
}
/* ブロックエディターのテーブルブロックの調整 */
.wp-block-table {
  overflow: visible !important;
  margin-bottom: 50px;
}
.wp-block-table table {
  margin-bottom: 0;
}
.wp-block-table .wp-element-caption {
  padding: 30px 0 0;
  text-align: center;
}
.wp-block-table.is-style-stripes {
  border-bottom: none !important;
}
.wp-block-table.is-style-stripes td, .wp-block-table.is-style-stripes th {
  background-color: transparent;
  border: none !important;
}
.wp-block-table .has-background td, .wp-block-table .has-background th {
  background-color: transparent;
  border: none !important;
}

/* レスポンシブ説明文 */
.responsive_desc {
  margin-bottom: 2em;
}
.responsive_desc .mobile {
  display: none;
}

@media (max-width: 800px) {
  .responsive_desc .pc {
    display: none;
  }
  .responsive_desc .mobile {
    display: block;
  }
}
/* グレー背景のボックス */
.gray_bg {
  background: #f5f5f5;
  padding: 80px;
  margin: 70px 0;
}
.gray_bg + .post_row {
  margin-top: 80px;
}
.gray_bg .speech_balloon:last-child {
  margin-bottom: 0 !important;
}
.gray_bg .sc .speech_balloon {
  margin-bottom: 2.5em !important;
}
.gray_bg .sc:last-child .speech_balloon {
  margin-bottom: 0 !important;
}
.gray_bg .qt_google_map:last-child {
  margin-bottom: 0 !important;
}
.gray_bg .sc .qt_google_map {
  margin-bottom: 35px !important;
}
.gray_bg .sc:last-child .qt_google_map {
  margin-bottom: 0 !important;
}

@media screen and (max-width: 1300px) {
  .gray_bg {
    padding: 50px;
  }
}
@media screen and (max-width: 800px) {
  .gray_bg {
    margin-bottom: 35px;
    margin-top: 35px;
    padding: 30px;
  }
  .gray_bg + .post_row {
    margin-top: 40px;
  }
}
/* 縦書き */
.vertical_text {
  writing-mode: vertical-rl;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  margin: 50px 0 !important;
  padding: 0 !important;
  text-align: left !important;
  line-height: 1.5 !important;
}

@media (max-width: 800px) {
  .vertical_text {
    margin: 40px 0 !important;
  }
}
/* タブコンテンツ */
.qt_tab_content_wrap {
  position: relative;
  margin-bottom: 2em;
}

.qt_tab_content_header {
  display: flex;
  flex-wrap: wrap;
}
.qt_tab_content_header .item {
  cursor: pointer;
  flex: 1 1 0%;
  text-align: center;
  height: 70px;
  line-height: 70px;
  font-size: 16px;
  border-bottom: 3px solid #ddd;
  color: #999;
  transition: color 0.25s ease, border-color 0.25s ease;
  font-weight: 600;
}
.qt_tab_content_header .item.active {
  pointer-events: none;
  border-color: #000;
  color: #000;
}

@media (hover: hover) {
  .qt_tab_content_header .item:hover {
    color: #000;
  }
}
.qt_tab_content_main {
  position: relative;
  background: #fafafa;
}

.qt_tab_content {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
  padding: 3em;
}
.qt_tab_content.active {
  opacity: 1;
  visibility: visible;
  position: relative;
  transition: opacity 0.3s linear 0s;
}
.qt_tab_content img {
  display: block;
  margin: 0 auto;
}
.qt_tab_content .desc {
  text-align: center;
  margin: 10px 0 -10px;
}

@media (max-width: 800px) {
  p + .qt_tab_content_wrap {
    margin-top: -20px;
  }
  .qt_tab_content {
    padding: 2em;
  }
  .qt_tab_content .desc {
    margin: 10px 0 -5px;
  }
}
/* デザインテーブル */
.post_content .design_table {
  border: none !important;
}
.post_content .design_table th, .post_content .design_table td {
  border-color: rgba(255, 255, 255, 0.5) !important;
}
.post_content .design_table tr:first-child td {
  background: #238c00;
  color: #fff;
  font-weight: 600 !important;
}
.post_content .design_table.red_color tr:first-child td {
  background: #d93600;
}
.post_content .design_table.blue_color tr:first-child td {
  background: #008c8c;
}
.post_content .design_table tr:nth-child(even) td {
  background: #f6f6f6 !important;
}

@media screen and (max-width: 1000px) {
  .post_content .design_table td {
    padding: 10px 25px;
    font-size: 14px;
  }
}
@media screen and (max-width: 800px) {
  .post_content .design_table {
    width: 580px !important;
    margin: 0 auto;
  }
}
/* ----------------------------------------------------------------------
 シェアボタン
---------------------------------------------------------------------- */
.share_button_list ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -3px -3px 0;
}
.share_button_list.large_size ul {
  margin: 0 -5px -5px 0;
}
.share_button_list li {
  flex: 1 1 0%;
  margin: 0 3px 3px 0;
  max-width: 100px;
}
.share_button_list.large_size li {
  flex: 0 0 auto;
  width: calc(25% - 5px);
  margin: 0 5px 5px 0;
  max-width: inherit;
}
.share_button_list a {
  display: block;
  text-align: center;
  position: relative;
  height: 30px;
  background: #000;
  color: #fff;
  border-radius: 3px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  line-height: 32px;
}
.share_button_list.mono a {
  line-height: 30px;
  background: #f2f2f2;
  color: #000;
  border: 1px solid #ddd;
}
.share_button_list.large_size a {
  height: 40px;
  line-height: 42px;
}
.share_button_list.large_size.mono a {
  line-height: 40px;
}
.share_button_list .label {
  font-size: 12px;
  position: relative;
  font-family: Arial;
}
.share_button_list a:before {
  font-family: "sns_icon";
  display: block;
  color: #fff;
  margin-right: 5px;
  position: relative;
  transition: color 0.25s ease;
  -webkit-font-smoothing: antialiased;
}
.share_button_list.mono a:before {
  color: #000;
}
.share_button_list .twitter_button a:before {
  content: "\e950";
  font-size: 12px;
  top: -1px;
}
.share_button_list .facebook_button a:before {
  content: "\e944";
  font-size: 18px;
  top: -1px;
}
.share_button_list .hatena_button a:before {
  content: "\e908";
  font-size: 14px;
  top: 0px;
}
.share_button_list .pocket_button a:before {
  content: "\e90a";
  font-size: 16px;
  top: 0px;
}
.share_button_list .rss_button a:before {
  content: "\e90b";
  font-size: 12px;
  top: 0px;
}
.share_button_list .feedly_button a:before {
  content: "\e907";
  font-size: 15px;
  top: 0px;
}
.share_button_list .pinterest_button a:before {
  content: "\e905";
  font-size: 16px;
  top: 0px;
}
.share_button_list .line_button a:before {
  content: "\e909";
  font-size: 16px;
  top: 0px;
}
.share_button_list.color .twitter_button a {
  background: #000;
  border-color: #000;
}
.share_button_list.color .facebook_button a {
  background: #35629a;
  border-color: #35629a;
}
.share_button_list.color .hatena_button a {
  background: #3c7dd1;
  border-color: #3c7dd1;
}
.share_button_list.color .pocket_button a {
  background: #ee4056;
  border-color: #ee4056;
}
.share_button_list.color .rss_button a {
  background: #ffb53c;
  border-color: #ffb53c;
}
.share_button_list.color .feedly_button a {
  background: #6cc655;
  border-color: #6cc655;
}
.share_button_list.color .pinterest_button a {
  background: #d4121c;
  border-color: #d4121c;
}
.share_button_list.color .line_button a {
  background: #00B900;
  border-color: #00B900;
}

@media (hover: hover) {
  .share_button_list.color .twitter_button a:hover {
    background: #666;
  }
  .share_button_list.color .facebook_button a:hover {
    background: #1f3669;
  }
  .share_button_list.color .hatena_button a:hover {
    background: #0270ac;
  }
  .share_button_list.color .pocket_button a:hover {
    background: #c53648;
  }
  .share_button_list.color .rss_button a:hover {
    background: #e09900;
  }
  .share_button_list.color .feedly_button a:hover {
    background: #5ca449;
  }
  .share_button_list.color .pinterest_button a:hover {
    background: #a42f35;
  }
  .share_button_list.color .line_button a:hover {
    background: #009100;
    border-color: #009100;
  }
  .share_button_list.mono .twitter_button a:hover {
    background: #000;
    border-color: #000;
  }
  .share_button_list.mono .facebook_button a:hover {
    background: #35629a;
    border-color: #35629a;
  }
  .share_button_list.mono .hatena_button a:hover {
    background: #3c7dd1;
    border-color: #3c7dd1;
  }
  .share_button_list.mono .pocket_button a:hover {
    background: #ee4056;
    border-color: #ee4056;
  }
  .share_button_list.mono .rss_button a:hover {
    background: #ffb53c;
    border-color: #ffb53c;
  }
  .share_button_list.mono .feedly_button a:hover {
    background: #6cc655;
    border-color: #6cc655;
  }
  .share_button_list.mono .pinterest_button a:hover {
    background: #d4121c;
    border-color: #d4121c;
  }
  .share_button_list.mono .line_button a:hover {
    background: #00B900;
    border-color: #00B900;
  }
  .share_button_list.mono a:hover {
    color: #fff;
  }
  .share_button_list.mono a:hover:before {
    color: #fff;
  }
}
@media screen and (max-width: 800px) {
  .share_button_list .label {
    display: none;
  }
  .share_button_list.large_size .label {
    display: inline;
  }
  .share_button_list.large_size a {
    height: 35px;
    line-height: 37px;
  }
  .share_button_list.large_size.mono a {
    line-height: 35px;
  }
  .share_button_list a:before {
    margin: 0;
  }
  .share_button_list.large_size a:before {
    margin-right: 5px;
  }
  .share_button_list .twitter_button a:before {
    top: 0px;
  }
  .share_button_list .facebook_button a:before, .share_button_list.large_size .facebook_button a:before {
    top: -1px;
  }
  .share_button_list .hatena_button a:before, .share_button_list .pocket_button a:before {
    top: 0px;
  }
  .share_button_list .feedly_button a:before {
    top: -1.5px;
  }
  .share_button_list .rss_button a:before {
    top: -1px;
  }
}
@media screen and (max-width: 500px) {
  .share_button_list li {
    max-width: inherit;
  }
  .share_button_list.large_size li {
    width: calc(50% - 5px);
    max-width: inherit;
  }
}
.share_button_list_default ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -3px -10px 0;
}
.share_button_list_default li {
  margin: 0 3px 3px 0;
}
.share_button_list_default li.pocket_button {
  width: 90px !important;
}

/* ----------------------------------------------------------------------
 Contact form 7
---------------------------------------------------------------------- */
.wpcf7 .wpcf7-submit {
  -webkit-transition: all 0.3s;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 225px;
  height: 48px;
  margin: 30px auto 0;
  border: none !important;
  outline: none;
  background-color: #333333;
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s;
}
.wpcf7 .wpcf7-previous {
  -webkit-transition: all 0.3s;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  position: relative;
  width: 225px;
  height: 48px;
  margin: 30px auto 0;
  border: none !important;
  outline: none;
  background-color: #333333;
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s;
}
.wpcf7 .wpcf7-previous + br {
  display: none;
}
.wpcf7 form .wpcf7-response-output {
  margin: 2em 0.5em 2em;
  padding: 0;
  border: none;
  text-align: center;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
  color: #dc3232;
  font-size: 1em;
}

@media (hover: hover) {
  .wpcf7 .wpcf7-submit:hover, .wpcf7 .wpcf7-previous:hover {
    background-color: #666666;
  }
}
/* CANON theme */
/**
 * スマホ用固定フッターバーの設定
 */
.p-footer-bar {
  display: block;
}

body.show_footer_bar {
  padding-bottom: 50px;
}
body.show_footer_bar.page-template-page-tcd-lp {
  padding-bottom: 0;
}

/* フッターバー */
.p-footer-bar {
  opacity: 0;
  transition: opacity 0.5s ease;
  position: fixed;
  bottom: 0;
  z-index: 1000;
  height: 50px;
  width: 100%;
  pointer-events: none;
  box-shadow: 0 0 10px 1px rgba(0, 0, 0, 0.2);
}
.p-footer-bar.is-active {
  opacity: 1;
}

.p-footer-bar__inner {
  overflow: hidden;
}

.p-footer-bar__list {
  width: 100%;
  display: flex;
}

.p-footer-bar__item {
  flex: 1 1 0%;
}

.p-footer-bar__item-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  height: 50px;
  padding-bottom: 8px;
  color: inherit;
  transition: opacity 0.3s ease;
}

/* アニメーション - スライドイン */
html:not(.show-drawer) .p-footer-bar.is-active {
  pointer-events: auto;
}

/* タイプ 2 - ダークカラー */
.p-footer-bar--type2 {
  color: #fff;
  font-size: 10px;
  background: #000;
}
.p-footer-bar--type2 .p-footer-bar__item:not(:first-of-type) {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}

/* タイプ 3 - ライトカラー */
.p-footer-bar--type3 {
  color: #000;
  font-size: 10px;
  background: #fafafa;
  border-top: 1px solid #ddd;
}
.p-footer-bar--type3 .p-footer-bar__item:not(:first-of-type) {
  border-left: 1px solid #ddd;
}

/* タイプ 4 - アイコン無し */
.p-footer-bar--type4 {
  color: #fff;
  font-size: 12px;
  background: #000;
}
.p-footer-bar--type4 .p-footer-bar__item-link {
  padding-bottom: 0;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

/* ホバー */
@media (hover: hover) and (pointer: fine) {
  .p-footer-bar__item-link:hover {
    opacity: 0.7;
  }
}
/* アイコン */
.p-footer-bar .icon_type_google {
  font-family: "normal_icon";
  font-size: 18px;
  margin: 0 0 5px 0;
  font-weight: 100;
}
.p-footer-bar .icon_type_sns {
  font-family: "sns_icon";
  font-size: 14px;
  margin: 0 0 5px 0;
  font-weight: 400;
}
.p-footer-bar .icon_type_sns.User {
  font-size: 20px;
}
.p-footer-bar .icon_type_sns.Twitter {
  font-size: 12px;
}
.p-footer-bar .icon_type_sns.Facebook {
  font-size: 17px;
}
.p-footer-bar .icon_type_sns.LINE {
  font-size: 16px;
}

/* モーダル */
.p-footer-bar__modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.p-footer-bar__modal:not(.is-active) {
  display: none;
}

.p-footer-bar__modal-share {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 150px;
}

.p-footer-bar__modal-share-item {
  width: 50px;
}
.p-footer-bar__modal-share-item a {
  display: block;
}
.p-footer-bar__modal-share-item + .p-footer-bar__modal-share-item {
  margin-left: 5px;
}

.p-footer-bar__modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.p-footer-bar__modal-share-item img:not(.c-logo__image) {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
body {
  touch-action: manipulation;
}
body.home.admin-bar {
  padding-top: 30px;
}
body.admin-bar.header_fix #header {
  margin-top: 32px;
}
body.admin-bar #drawer_menu {
  padding-top: 32px;
}

@media screen and (max-width: 1300px) {
  html {
    scroll-padding-top: 90px;
  }
}
@media screen and (max-width: 800px) {
  body.admin-bar {
    padding-top: 46px;
  }
  body.show_footer_bar {
    padding-bottom: 48px;
  }
  * {
    -webkit-tap-highlight-color: transparent;
  }
  br.mobile_break {
    display: block;
  }
}
/* レイアウト */
@media screen and (max-width: 1100px) {
  #main_content {
    width: auto;
    margin: 0 50px;
    padding: 0 0 100px;
    display: block;
  }
  #main_col, body.single-post.show_sidebar #main_col {
    width: 100%;
  }
  #side_col {
    width: 650px;
    margin: 100px auto -40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (max-width: 800px) {
  body.single-post #container {
    background: #fff;
  }
  #main_content {
    margin: 0 20px;
    padding: 0 0 40px;
  }
  #side_col {
    margin-top: 40px;
  }
}
@media screen and (max-width: 710px) {
  #side_col {
    width: auto;
  }
}
@media screen and (max-width: 600px) {
  #side_col {
    display: block;
  }
}
/* admin bar利用時 */
@media screen and (max-width: 780px) {
  body.home.admin-bar {
    padding-top: 45px;
  }
}
@media screen and (max-width: 600px) {
  body.admin-bar.open_header #header, body.admin-bar.close_header #header {
    top: 0px !important;
  }
}
/* ----------------------------------------------------------------------
 共通パーツ
---------------------------------------------------------------------- */
/* デザインボタン */
@media screen and (max-width: 1200px) {
  a.design_button {
    min-width: 240px;
    height: 60px;
  }
}
@media screen and (max-width: 800px) {
  a.design_button {
    min-width: 220px;
    height: 50px;
    font-size: 14px;
  }
}
/* ----------------------------------------------------------------------
 トップページ ヘッダースライダー
---------------------------------------------------------------------- */
#header_slider_container.height_type2 {
  height: 650px;
}

@media screen and (max-width: 1300px) {
  #header_slider_container {
    height: calc(100vh - 60px);
    height: calc(100svh - 60px);
  }
  #header_slider_container.height_type2 {
    max-height: calc(100vh - 60px);
    min-height: 600px;
  }
}
@media screen and (max-width: 1200px) {
  .header_slider_content .desc {
    line-height: 2;
  }
  .header_slider_content .catch + .desc {
    margin: 20px 0 0 0;
  }
  .header_slider_content .button {
    width: 240px;
    height: 60px;
    line-height: 60px;
    font-size: 14px;
  }
  .header_slider_content * + .button {
    margin-top: 30px;
  }
  .header_slider_pagination {
    display: none;
  }
}
@media screen and (max-width: 1000px) {
  #header_slider_container.header_content_type2.height_type2 {
    height: 600px !important;
  }
  .header_slider_content .logo img {
    max-width: 230px;
  }
  .header_slider_content .logo img.pc {
    display: none;
  }
  .header_slider_content .logo img.mobile {
    display: block;
  }
}
@media screen and (max-width: 800px) {
  #header_slider_container {
    height: calc(100vh - 60px) !important;
    height: calc(100svh - 60px) !important;
  }
  .header_slider_content {
    padding: 0 20px;
  }
  .header_slider_content .desc {
    line-height: 2;
  }
  .header_slider_content .catch + .desc {
    margin: 15px 0 0 0;
  }
  .header_slider_content .button {
    width: 220px;
    height: 50px;
    line-height: 50px;
  }
  .header_slider_content * + .button {
    margin-top: 20px;
  }
}
/* ニュースティッカー */
@media screen and (max-width: 1000px) {
  #news_ticker_inner, #news_ticker_carousel {
    width: auto;
  }
  #news_ticker .item {
    line-height: 1;
  }
  #news_ticker .item .content {
    display: block;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 70px;
  }
  #news_ticker .date {
    margin: 0 0 10px 0;
  }
  #news_ticker .date:before {
    font-size: 16px;
  }
  #news_ticker .title {
    font-size: 14px;
  }
}
/* ----------------------------------------------------------------------
 コンテンツビルダー
---------------------------------------------------------------------- */
@media screen and (max-width: 1300px) {
  .cb_white_bg + .cb_white_bg {
    scroll-margin-top: -5px;
  }
  .cb_white_bg + .cb_white_bg:not(:has(.cb_header)) {
    scroll-margin-top: 10px;
  }
}
@media screen and (max-width: 1100px) {
  #content_builder section:last-child {
    padding-bottom: 120px;
  }
  .cb_header {
    width: auto;
    margin: 0 50px 90px;
  }
  .cb_header .headline {
    font-size: calc((var(--catch_font_size) + var(--catch_font_size_sp)) / 2);
  }
  .cb_header .sub_title {
    font-size: 16px;
  }
}
@media screen and (max-width: 800px) {
  #content_builder section:last-child {
    padding-bottom: 40px;
  }
  .cb_header {
    margin: 0 0 35px;
  }
  .cb_header .headline {
    margin-top: -8px;
    font-size: var(--catch_font_size_sp);
    font-weight: 600;
  }
  .cb_header .sub_title {
    font-size: 14px;
    margin-top: 5px;
  }
  .cb_header .desc {
    line-height: 2;
    margin-bottom: -5px;
  }
  .cb_header .headline + .desc {
    margin-top: 15px;
  }
  .cb_header .sub_title + .desc {
    margin-top: 30px;
  }
  .cb_header .desc .mobile {
    display: block;
  }
  .cb_header .desc .pc {
    display: none;
  }
  #content_builder .link_button {
    margin-top: 40px;
  }
}
/* 画像スライダー */
@media screen and (max-width: 1300px) {
  .cb_image_slider {
    scroll-margin-top: -40px;
  }
}
@media screen and (max-width: 1100px) {
  .cb_image_slider {
    padding: 100px 0;
  }
}
@media screen and (max-width: 800px) {
  .cb_image_slider {
    padding: 40px 0;
  }
  .cb_image_slider .cb_header {
    margin-right: 30px;
    margin-left: 30px;
  }
  .cb_image_slider .sc_image_carousel_container {
    margin: 30px 0px 40px;
  }
}
/* デザインコンテンツ */
@media screen and (max-width: 1300px) {
  .cb_design_content {
    scroll-margin-top: -30px;
  }
  .cb_design_content .content {
    padding: 50px 50px 50px 130px;
  }
  .cb_design_content .content .catch {
    font-size: 24px;
  }
}
@media screen and (max-width: 1100px) {
  .dc_image_carousel_container {
    width: auto;
  }
  .dc_image_carousel_pagination {
    position: relative;
    bottom: auto !important;
    margin-top: 30px;
    left: auto !important;
  }
  .cb_design_content .main_content.layout_type2 .dc_image_carousel_pagination {
    left: auto !important;
  }
  .dc_image_carousel_pagination span {
    background: #ddd;
  }
  .dc_image_carousel_pagination span.swiper-pagination-bullet-active {
    background: var(--main_color);
  }
  .dc_image_carousel_pagination .swiper-pagination-bullet-active {
    transform: scale(1.3);
  }
}
@media screen and (max-width: 1100px) and (hover: hover) {
  .dc_image_carousel_pagination span:hover {
    background: var(--main_color);
  }
}
/*
@media screen and (max-width: 800px) {
  .cb_design_content {
    padding: 40px 0;

    .cb_header {
      margin-right: 30px;
      margin-left: 30px;
    }

    .content {
      .catch {
        font-size: 18px;
        font-weight: 600;
      }

      .desc {
        line-height: 2;
      }

      .catch + .desc {
        margin-top: 20px;
      }
    }
  }
}
*/
@media screen and (max-width: 600px) {
  .dc_image_carousel .item {
    max-height: unset;
  }
}
/* 2カラム */
@media screen and (max-width: 1100px) {
  .cb_two_column {
    padding: 100px 50px;
  }
  .cb_two_column .item_list {
    width: auto;
  }
  .cb_two_column .content .title {
    font-size: 30px;
  }
}
@media screen and (max-width: 1000px) {
  .cb_two_column .content {
    padding: 50px;
  }
}
@media screen and (max-width: 800px) {
  .cb_two_column {
    padding: 40px 20px;
  }
  .cb_two_column .item {
    display: block;
  }
  .cb_two_column .image_wrap {
    width: auto;
    height: auto;
    aspect-ratio: 500/350;
    position: relative;
    overflow: hidden;
  }
  .cb_two_column .content {
    width: auto;
    padding: 30px;
  }
  .cb_two_column .content .desc {
    line-height: 2;
    font-size: 16px;
  }
  .cb_two_column .content .headline + .desc {
    margin-top: 20px;
  }
}
/* 3カラム */
@media screen and (max-width: 1200px) {
  .cb_three_column .swiper-nav-button {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  .cb_three_column {
    padding: 100px 50px;
  }
  .cb_white_bg + .cb_three_column {
    margin-top: -20px;
  }
  .three_column_carousel_container {
    width: auto;
  }
  .three_column_carousel .title {
    font-size: 24px;
    margin-bottom: 0;
  }
  #content_builder .cb_three_column .link_button {
    margin-top: 70px;
  }
}
@media screen and (max-width: 1000px) {
  .three_column_carousel .title {
    font-size: 20px;
  }
}
@media screen and (max-width: 800px) {
  .cb_three_column {
    padding: 40px 20px;
  }
  .cb_white_bg + .cb_three_column {
    margin-top: 0px;
  }
  .three_column_carousel_wrap {
    overflow: visible;
  }
  .three_column_carousel .item {
    width: 205px !important;
  }
  .three_column_carousel .title {
    font-size: 20px;
    margin-top: 20px;
  }
  #content_builder .cb_three_column .link_button {
    margin-top: 35px;
  }
}
/* コンテンツカルーセル */
@media screen and (max-width: 1200px) {
  .cb_content_carousel .swiper-nav-button {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  .cb_content_carousel {
    padding: 100px 50px;
  }
  .cb_content_carousel_container {
    width: auto;
  }
  .cb_content_carousel_wrap {
    overflow: visible;
  }
  .cb_content_carousel_main .item {
    width: 400px !important;
  }
  .cb_content_carousel_main .image_wrap {
    width: 50%;
    height: auto;
    aspect-ratio: 250/200;
  }
  .cb_content_carousel_main .content {
    height: auto;
  }
  .cb_content_carousel_main .sub_title {
    font-size: 14px;
    margin-bottom: 5px;
  }
  .cb_content_carousel_main .title {
    font-size: 20px;
  }
  .cb_content_carousel_main .item .content {
    border-right: none;
  }
  .cb_content_carousel_main .item:last-of-type .content {
    border-right: 1px solid #ddd;
  }
}
@media screen and (max-width: 1100px) {
  .cb_white_bg + .cb_content_carousel {
    margin-top: -20px;
  }
}
@media screen and (max-width: 800px) {
  .cb_content_carousel {
    padding: 40px 20px;
  }
  .cb_white_bg + .cb_content_carousel {
    margin-top: 0px;
  }
  .cb_content_carousel_main .item {
    width: 300px !important;
  }
  .cb_content_carousel_main .title {
    font-size: 16px;
  }
}
/* ブログ一覧 */
@media screen and (max-width: 1300px) {
  .cb_blog_list {
    scroll-margin-top: -30px;
  }
}
@media screen and (max-width: 1200px) {
  .cb_blog_list .swiper-nav-button {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  .cb_blog_list {
    padding: 100px 50px;
  }
  .cb_blog_list .category_sort_button_wrap {
    margin: 0 0 40px;
  }
  .index_post_list_wrap {
    width: auto;
  }
  .index_post_carousel {
    overflow: visible;
  }
  .index_post_carousel_wrap .blog_list {
    width: auto;
    margin: 0;
  }
  .index_post_carousel_wrap .blog_list .item {
    width: 350px !important;
  }
}
@media screen and (max-width: 800px) {
  .cb_blog_list {
    padding: 40px 20px;
  }
  .cb_blog_list .cb_header {
    margin-bottom: 35px;
  }
  .cb_blog_list .category_sort_button_wrap {
    margin: 0 0 20px;
  }
  .index_post_carousel_wrap .blog_list .item {
    width: 270px !important;
  }
}
/* フリースペース */
.cb_free_space {
  scroll-margin-top: -60px;
}

@media screen and (max-width: 1000px) {
  .cb_free_space {
    width: auto;
    padding-left: 50px;
    padding-right: 50px;
  }
}
@media screen and (max-width: 800px) {
  .cb_free_space {
    padding: 40px 20px;
  }
  .cb_free_space.wide_content {
    padding: 40px 0;
  }
}
/* 固定ページを表示する場合 */
#front_page_contents.layout_type1 {
  margin: 0 100px;
}

@media screen and (max-width: 1100px) {
  #front_page_contents {
    padding: 100px 0;
  }
  #front_page_contents.layout_type1 {
    margin: 0 50px;
  }
}
@media screen and (max-width: 800px) {
  #front_page_contents {
    padding: 40px 0;
  }
  #front_page_contents.layout_type1 {
    margin: 0 20px;
  }
}
/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
  #page_contents {
    padding: 100px 0 100px;
    margin: 0 50px;
  }
  body.page #page_contents .post_content {
    width: auto;
  }
}
@media screen and (max-width: 800px) {
  #page_contents {
    padding: 40px 0 40px;
    margin: 0 20px;
  }
}
@media screen and (max-width: 600px) {
  #page_contents {
    padding: 40px 0;
    margin: 0 10px;
  }
}
/* デザイン見出し1 */
@media screen and (max-width: 1100px) {
  .post_content .design_headline1 {
    font-size: 30px !important;
  }
  .post_content .design_headline1 + p:has(img) {
    margin-top: 90px;
  }
  .post_content .post_row + .design_headline1 {
    margin-top: 90px;
  }
}
@media screen and (max-width: 800px) {
  .post_content .design_headline1 {
    font-size: 20px !important;
    margin: 35px 0 35px 0;
    margin-bottom: 25px !important;
    font-weight: 600;
  }
  .post_content .design_headline1 + p:has(img) {
    margin-top: 35px;
  }
  .post_content .post_row + .design_headline1 {
    margin-top: 35px;
  }
}
/* デザイン見出し2 */
@media screen and (max-width: 1100px) {
  .post_content .design_headline2, .design_headline2 {
    font-size: 22px !important;
  }
  .post_content .design_headline2 {
    margin: 85px auto 50px;
  }
}
@media screen and (max-width: 800px) {
  .post_content .design_headline2 {
    font-size: 18px !important;
    padding: 0 0 20px 0;
  }
  .design_headline2 {
    font-size: 18px !important;
    padding: 0 0 20px 0;
    margin: 0 auto 40px;
  }
  .post_content .design_headline2 {
    margin: 30px auto 40px;
    font-weight: 600;
  }
  .post_content p:has(img) + .design_headline2 {
    margin-top: 40px;
  }
}
/* デザイン見出し3 */
@media screen and (max-width: 1100px) {
  .design_headline3 {
    font-size: 30px !important;
  }
}
@media screen and (max-width: 800px) {
  .design_headline3 {
    margin: 25px 0 20px 0 !important;
  }
  .post_col p:has(img) + .design_headline3 {
    margin-top: 25px !important;
  }
  p:has(img) + .design_headline3 {
    margin-top: -5px !important;
  }
}
/* ボタン */
@media screen and (max-width: 800px) {
  .q_button_wrap {
    margin-top: 35px;
  }
  p + .q_button_wrap {
    margin-top: 30px;
  }
}
/* 2カラムレイアウト */
@media screen and (max-width: 800px) {
  .post_row + p:has(img) {
    margin-top: 40px;
  }
}
/* ショートコード用　画像スライダー */
@media screen and (max-width: 1100px) {
  .sc_image_carousel_container {
    width: 100%;
    margin: 50px auto 50px;
  }
  .sc_image_carousel_container.layout_type1 {
    margin-right: 50px;
    margin-left: 50px;
    width: calc(100% - 100px);
  }
  .sc_image_carousel_container.layout_type1 .sc_image_carousel_wrap {
    height: auto;
    aspect-ratio: 1000/550;
  }
  .sc_image_carousel_container.layout_type2 .sc_image_carousel .item {
    aspect-ratio: 1000/550;
    width: calc(100% - 100px);
    height: auto;
    margin: 0 -6% !important;
  }
  .sc_image_carousel_container + .post_content > h1:first-child, .sc_image_carousel_container + .post_content > h2:first-child, .sc_image_carousel_container + .post_content > h3:first-child {
    margin-top: 100px !important;
  }
}
@media screen and (max-width: 800px) {
  .sc_image_carousel_container {
    margin: 30px auto 30px;
  }
  #page_contents .sc_image_carousel_container {
    margin-left: -20px;
    margin-right: -20px;
    width: calc(100% + 40px);
  }
  .sc_image_carousel_container.layout_type1 {
    margin-right: 0px;
    margin-left: 0px;
    width: 100%;
  }
  .sc_image_carousel_container.layout_type2 .sc_image_carousel .item {
    width: calc(100% - 60px);
    margin: 0 -5.5% !important;
  }
  .sc_image_carousel_pagination {
    margin: 30px auto 0;
  }
  .sc_image_carousel_container + .post_content > h1:first-child, .sc_image_carousel_container + .post_content > h2:first-child, .sc_image_carousel_container + .post_content > h3:first-child {
    margin-top: 40px !important;
  }
}
/* 2カラムレイアウト */
@media screen and (max-width: 800px) {
  .post_content .post_col p {
    font-size: 14px;
  }
}
/* アクセスページ */
@media screen and (max-width: 1100px) {
  .access_page_gray_bg {
    margin-top: 100px !important;
  }
}
@media screen and (max-width: 800px) {
  .access_page_map_headline {
    margin: -20px 0 10px 0 !important;
  }
  .access_page_gray_bg {
    margin-top: 40px !important;
  }
  .access_page_table td:first-child {
    width: 100px;
  }
}
/* ウェルネス */
@media screen and (max-width: 1300px) {
  .wellness_page_top_content h3:has(img) {
    margin: 0 0 -5px 0 !important;
  }
  .wellness_page_top_content p:has(img) {
    margin: 0 -50px 70px !important;
  }
}
@media screen and (max-width: 1100px) {
  .wellness_page_top_content {
    margin-top: 90px !important;
  }
  .wellness_page_top_content h3 img {
    width: 140px;
  }
  .wellness_page_table {
    font-size: 14px;
  }
  .wellness_page_table td:nth-child(1) {
    width: 150px;
  }
  .wellness_page_table td:nth-child(2), .wellness_page_table td:nth-child(3) {
    width: 25%;
  }
  .wellness_page_table td:nth-child(4) {
    width: 80px;
  }
  .wellness_page_table td:nth-child(5) {
    width: 25%;
  }
}
@media screen and (max-width: 800px) {
  .wellness_page_top_content {
    margin-top: 30px !important;
    font-size: 14px;
  }
  .wellness_page_top_content h3:has(img) {
    margin: 0 0 -15px 0 !important;
  }
  .wellness_page_top_content p:has(img) {
    margin: 0 -30px 30px !important;
  }
  .wellness_page_top_content h4 {
    margin-top: 0px;
    font-weight: 600;
  }
  .wellness_page_top_content p + .q_button_wrap {
    margin-top: -5px;
  }
  .s_table:has(.wellness_page_table) + p {
    margin-top: -20px !important;
    font-size: 14px;
  }
}
/* LP */
@media screen and (max-width: 1100px) {
  body.page-template-page-tcd-lp #page_contents {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 800px) {
  body.page-template-page-tcd-lp.hide_page_header #page_contents {
    padding-top: 40px;
  }
  body.page .post_content table + .q_button_wrap {
    margin-top: 40px;
  }
  .lp_bottom_content {
    margin-top: 35px !important;
    font-size: 14px;
  }
  .lp_bottom_content h3 {
    font-size: 16px;
    margin-bottom: 10px !important;
    font-weight: 600;
  }
  .lp_bottom_content .q_button_wrap {
    margin-top: -10px !important;
  }
  .lp_gray_bg_list {
    font-size: 14px;
  }
  .lp_gray_bg_list h5 {
    font-weight: 600;
  }
}
/* ----------------------------------------------------------------------
 ページヘッダー
---------------------------------------------------------------------- */
body.page-template-page-tcd-lp.normal_header_height #page_header {
  height: 500px !important;
}

@media screen and (max-width: 1200px) {
  body.page-template-page-tcd-lp.normal_header_height #page_header {
    height: 450px !important;
  }
  body.page-template-page-tcd-lp #page_header.layout_type3 {
    height: 100vh !important;
    height: 100dvh !important;
  }
  #page_header .headline {
    font-size: calc((var(--headline_font_size) + var(--headline_font_size_sp)) / 2);
    width: 300px;
    height: 100px;
    padding: 20px 10px;
  }
  #page_header_desc .catch {
    font-size: calc((var(--catch_font_size) + var(--catch_font_size_sp)) / 2);
    margin-top: 0;
  }
  #page_headline {
    margin: 0px auto 100px;
    padding: 20px 10px;
    font-size: calc((var(--headline_font_size) + var(--headline_font_size_sp)) / 2);
  }
}
@media screen and (max-width: 1100px) {
  body.page-template-page-tcd-lp #page_header.layout_type1 {
    margin: 50px 50px 0;
    width: calc(100% - 100px);
  }
  #page_header .content {
    width: 100% !important;
    padding: 0 50px;
  }
  body.page-template-page-tcd-lp #page_header.layout_type1 {
    margin: 0;
    width: 100%;
  }
  body:has(#header) #container:has(#page_header.layout_type1) {
    border-top: none;
  }
  body.page-template-page-tcd-lp #page_header.layout_type1 .content {
    padding: 0 50px;
  }
  #page_header_desc {
    width: auto;
    margin: 0 20px;
  }
  body.search #page_header_desc {
    margin-bottom: 90px;
  }
  body.search #page_header_desc .catch {
    font-size: 25px;
  }
  body.page #page_header + #main_content {
    margin-top: 90px;
  }
}
@media screen and (max-width: 1000px) {
  #page_header {
    height: 160px;
    aspect-ratio: unset;
  }
  #page_header.headline {
    font-size: var(calc(--headline_font_size_sp));
    width: 250px;
    height: 90px;
  }
  body.page-template-page-tcd-lp.normal_header_height #page_header {
    height: 400px !important;
  }
  body.page-template-page-tcd-lp #page_header.layout_type3 {
    height: 100vh !important;
    height: 100dvh !important;
  }
}
@media screen and (max-width: 800px) {
  body.page-template-page-tcd-lp.normal_header_height #page_header {
    height: 250px !important;
  }
  body.page-template-page-tcd-lp #page_header.layout_type3 {
    height: 100vh !important;
    height: 100dvh !important;
  }
  #page_header .content {
    padding: 0 20px;
    align-items: center !important;
    text-align: center !important;
  }
  body.page-template-page-tcd-lp #page_header.layout_type1 .content {
    padding: 0 20px;
  }
  #page_header .catch {
    font-weight: 600;
  }
  body.mobile_device #page_header .catch {
    font-weight: 500;
  }
  #page_header .catch .pc, #page_header .sub_catch .pc {
    display: none;
  }
  #page_header .catch .mobile, #page_header .sub_catch .mobile {
    display: block;
  }
  #page_header .catch + .link_button {
    margin-top: 15px;
  }
  #page_header .sub_catch + .link_button {
    margin-top: 25px;
  }
  #page_header .headline {
    font-size: var(--headline_font_size_sp);
    width: 250px;
    height: 100px;
  }
  #page_header .image.pc {
    display: none;
  }
  #page_header .image.mobile {
    display: block;
  }
  #page_header_desc {
    margin: 0 20px;
  }
  body.search #page_header_desc {
    margin-bottom: 30px;
  }
  body.search #page_header_desc .catch {
    font-size: 20px;
  }
  #page_header_desc .catch {
    font-size: var(--catch_font_size_sp);
    font-weight: 600;
  }
  #page_header_desc .catch + .desc {
    margin-top: 17px;
  }
  #page_header_desc .catch + .desc + .desc {
    margin-top: 17px;
  }
  #page_header_desc .desc {
    line-height: 2;
  }
  #page_header_desc .desc.pc {
    display: none;
  }
  #page_header_desc .desc.mobile {
    display: block;
  }
  #page_headline {
    font-size: var(--headline_font_size_sp);
    width: 110px;
    height: 110px;
    margin: 0px auto 30px;
  }
  body.page #page_headline, #bread_crumb + #page_headline {
    margin-top: 40px;
  }
  body.page #page_header + #main_content {
    margin-top: 35px;
  }
}
/* ----------------------------------------------------------------------
 サービスアーカイブ
---------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
  #archive_service {
    padding: 100px 0 100px;
  }
  #archive_service #page_header_desc {
    margin-bottom: 90px;
  }
  .service_list {
    width: auto;
    margin: 0 50px;
  }
  .service_list .item {
    padding: 30px;
  }
  .service_list .image_wrap {
    width: 50%;
    height: auto;
    aspect-ratio: 475/235;
  }
  .service_list .content {
    width: 50%;
    padding-left: 30px;
  }
  .service_list .title {
    font-size: 28px;
  }
}
@media screen and (max-width: 800px) {
  #archive_service {
    padding: 40px 0 40px;
  }
  #archive_service #page_header_desc {
    margin-bottom: 30px;
  }
  .service_list {
    margin: 0 20px;
  }
  .service_list .item {
    padding: 20px;
    display: block;
  }
  .service_list .image_wrap {
    width: auto;
  }
  .service_list .content {
    width: auto;
    padding: 30px 0 0px;
  }
  .service_list .title {
    font-size: 18px;
  }
  .service_list .sub_title {
    font-size: 14px;
    margin: 0 0 5px 0;
  }
}
/* ----------------------------------------------------------------------
 サービス詳細ページ
---------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
  #service_header {
    padding: 100px 0 60px;
  }
  #service_header .title {
    font-size: 40px;
  }
  #service_header .sub_title {
    margin: 0 0 10px 0;
  }
  #single_service {
    padding-bottom: 100px;
  }
  #single_service .post_content {
    width: auto;
    margin: 0 50px;
  }
  .chef_profile {
    margin: 100px 0 !important;
    display: block;
  }
  .chef_profile .left {
    margin: 0 auto 30px;
  }
  .chef_profile .right {
    width: auto;
    padding: 0;
  }
  .featured_course {
    margin: 100px 0 !important;
    display: block;
  }
  .featured_course h2 {
    margin-bottom: 50px !important;
  }
  .featured_course .left {
    width: 400px;
    margin: 0 auto 50px;
  }
  .featured_course .right {
    width: auto;
    padding-left: 0px;
  }
  .featured_course .q_button_wrap {
    text-align: center;
  }
  #service_post_list .post_list {
    width: auto;
    margin: 0 50px 100px;
  }
  #service_post_list .post_list .item {
    padding: 20px;
  }
  #service_post_list .post_list .title {
    font-size: 18px;
  }
  #service_post_list .post_list .sub_title {
    font-size: 14px;
    margin: 0 0 10px 0;
  }
}
@media screen and (max-width: 800px) {
  #service_header {
    padding: 30px 0;
    margin-bottom: 35px;
    border-bottom: 1px solid #ddd;
  }
  #service_header .title {
    font-size: 30px;
  }
  #single_service {
    padding-bottom: 40px;
  }
  #single_service .post_content {
    margin: 0 20px;
  }
  #restaurant_logo {
    margin-bottom: -10px !important;
  }
  #restaurant_logo img {
    width: 120px;
    height: auto;
  }
  .chef_profile {
    margin: 40px 0 !important;
    font-size: 14px;
  }
  .chef_profile img {
    margin: 0 auto;
  }
  .chef_profile .left {
    margin: 0 auto 20px;
    width: auto;
  }
  .chef_profile .right {
    margin-bottom: -5px;
  }
  .featured_course {
    margin: 40px 0 !important;
    padding: 30px !important;
    font-size: 14px;
  }
  .featured_course h2 {
    margin-bottom: 25px !important;
    font-size: 18px;
    font-weight: 600;
  }
  .featured_course .left {
    margin: 0 auto 25px;
    width: auto;
  }
  .featured_course .left img {
    margin: 0 auto;
  }
  .featured_course p + .q_button_wrap {
    margin-top: -10px !important;
  }
  #service_post_list .post_list {
    width: auto;
    margin: 0 20px 40px;
  }
  #service_post_list .post_list.layout_mobile_type1 .item {
    width: 100%;
  }
  #service_post_list .post_list.layout_mobile_type2 .item {
    width: 50%;
  }
  #service_post_list .post_list.layout_mobile_type3 .item {
    width: 33.3333333333%;
  }
  #service_post_list .post_list .title {
    font-size: 16px;
  }
}
@media screen and (max-width: 500px) {
  .chef_profile img {
    width: 100%;
  }
}
/* ----------------------------------------------------------------------
 お知らせアーカイブ
---------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
  #archive_news {
    padding: 90px 0 100px;
  }
  #archive_news .news_list {
    width: auto;
    margin: 0 50px;
  }
  #page_header_desc + .news_list {
    margin-top: 90px;
  }
}
@media screen and (max-width: 1000px) {
  #archive_news .news_list {
    display: block;
  }
  .news_list .item:not(.swiper-slide) {
    width: auto;
    margin: 0 0 -1px 0;
  }
}
@media screen and (max-width: 800px) {
  #archive_news {
    padding: 30px 0 40px;
  }
  #archive_news .news_list {
    margin: 0 20px;
  }
  #page_header_desc + .news_list {
    margin-top: 33px;
  }
  .news_list .item {
    padding: 20px;
  }
  .news_list .animate_background {
    width: 110px;
    height: 110px;
  }
  .news_list .content {
    width: calc(100% - 110px);
    padding-left: 20px;
  }
  .news_list .category {
    margin-top: 15px;
  }
  .news_list .date_list {
    margin-bottom: 7px;
  }
  .news_list .title {
    font-size: 14px;
  }
}
@media screen and (max-width: 500px) {
  .news_list .item:has(.update) .category {
    display: none;
  }
}
/* ----------------------------------------------------------------------
 お知らせ詳細
---------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
  #single_news_header .title {
    font-size: calc((var(--single_title_font_size) + var(--single_title_font_size_sp)) / 2);
  }
}
@media screen and (max-width: 800px) {
  #single_news_header {
    padding: 20px 0 0 0;
    margin-bottom: 40px;
  }
  #single_news_header .date_list {
    margin-bottom: 5px;
  }
  #single_news_header .title {
    font-size: var(--single_title_font_size_sp);
  }
  #single_news_header .category {
    margin-top: 10px;
  }
  #single_news_header .image {
    margin: 20px -20px 0;
    width: calc(100% + 40px);
  }
}
/* 関連記事 */
@media screen and (max-width: 800px) {
  #related_news {
    margin-top: 40px;
  }
  #related_news .headline {
    font-size: 18px;
    margin-bottom: 40px;
  }
  #related_news .post_list .item {
    padding: 20px;
  }
  #related_news .post_list .animate_background {
    width: 110px;
    height: 110px;
  }
  #related_news .post_list .content {
    width: calc(100% - 110px);
    padding-left: 20px;
  }
  #related_news .post_list .category {
    margin-top: 10px;
  }
  #related_news .post_list .date_list {
    margin-bottom: 2px;
  }
}
/* ----------------------------------------------------------------------
 ブログアーカイブページ
---------------------------------------------------------------------- */
@media screen and (max-width: 1200px) {
  .category_sort_button_wrap .swiper-nav-button {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  #archive_blog {
    padding: 90px 0 100px;
    overflow: hidden;
  }
  .category_sort_button_wrap {
    width: auto;
    margin: 0 50px 35px;
  }
  #page_header_desc + .category_sort_button_wrap {
    margin-top: 80px;
  }
  .category_sort_button_slider {
    overflow: visible;
  }
  .category_sort_button {
    display: inline-flex !important;
  }
  .category_sort_button .item {
    height: 60px;
    line-height: 60px;
    flex: 0 0 auto !important;
    width: auto !important;
    font-size: 14px;
  }
  .category_sort_button a {
    border-left: none;
    padding-top: 3px;
    min-width: 100px;
  }
  .category_sort_button .item:first-of-type a {
    border-left: 1px solid #ddd;
  }
  #archive_blog .blog_list {
    width: auto;
    margin: 0 50px -35px;
  }
  #page_header_desc + .blog_list {
    margin-top: 90px;
  }
  .blog_list .item:not(.swiper-slide) {
    width: calc(50% - 18px);
  }
  .blog_list .item:nth-child(3n):not(.swiper-slide) {
    margin-right: 35px;
  }
  .blog_list .item:nth-child(2n):not(.swiper-slide) {
    margin-right: 0px;
  }
  body.author #archive_blog {
    padding-top: 30px;
  }
  #author_archive_header {
    margin: 10px 50px 50px;
    width: auto;
    padding: 40px;
  }
  #author_archive_header .name_area img {
    width: 90px;
    height: 90px;
    margin-bottom: 15px;
  }
  #author_archive_header .name {
    font-size: 18px;
  }
  #author_archive_header .sns_button_list {
    margin-top: 15px;
  }
  #author_archive_header .desc {
    font-size: 14px;
    padding-left: 40px;
  }
  #author_archive_header .desc p {
    line-height: 2;
  }
}
@media screen and (max-width: 800px) {
  #archive_blog {
    padding: 30px 0 40px;
  }
  .category_sort_button_wrap {
    width: auto;
    margin: 0 20px 40px;
  }
  #page_header_desc + .category_sort_button_wrap {
    margin-top: 30px;
  }
  .category_sort_button .item {
    height: 50px;
    line-height: 50px;
  }
  #archive_blog .blog_list {
    margin: 0 20px -20px;
  }
  #page_header_desc + .blog_list {
    margin-top: 33px;
  }
  .blog_list .item:not(.swiper-slide) {
    width: calc(50% - 10px);
    margin: 0 20px 20px 0;
  }
  .blog_list .item:nth-child(3n):not(.swiper-slide) {
    margin-right: 20px;
  }
  .blog_list .item:nth-child(2n):not(.swiper-slide) {
    margin-right: 0px;
  }
  .blog_list .content {
    padding: 15px 20px 13px;
  }
  .blog_list .title {
    font-size: 16px;
  }
  .blog_list .date_list {
    margin: 16px 0 0;
  }
  .blog_list .date_list + .category_list {
    margin-top: -5px;
  }
  .blog_list .item .category_list {
    margin-top: 7px;
  }
  .date_list .date:before, .date_list .update:before {
    font-size: 16px;
    top: calc(50% - 1px);
  }
  .page_navi {
    margin-top: 40px;
  }
  .page_navi a, .page_navi .current {
    font-size: 12px;
    width: 40px;
    height: 40px;
    line-height: 40px;
  }
  .page_navi .dots {
    font-size: 12px;
    width: 40px;
    height: 40px;
    line-height: 40px;
  }
  .page_navi .dots:before {
    font-size: 25px;
    right: 7px;
    top: 2px;
  }
  .page_navi .next:before, .page_navi .prev:before {
    font-size: 11px;
    top: 1px;
  }
  body.author #archive_blog {
    padding-top: 0px;
    border-top: none !important;
  }
  body.author #bread_crumb {
    border-bottom: none;
  }
  #author_archive_header {
    margin: 0 20px 40px;
    padding: 30px 30px 25px;
    display: block;
  }
  #author_archive_header .desc {
    padding-left: 0px;
    margin-top: 20px;
  }
}
@media screen and (max-width: 600px) {
  #archive_blog .blog_list {
    display: block;
    margin-bottom: 0;
  }
  .blog_list .item:not(.swiper-slide) {
    width: auto;
    margin-right: 0 !important;
  }
  .blog_list .item:nth-child(3n):not(.swiper-slide) {
    margin-right: 0;
  }
  #archive_blog .blog_list .item:last-of-type {
    margin-bottom: 0;
  }
  .page_navi a.next, .page_navi a.prev {
    display: none;
  }
}
/* ----------------------------------------------------------------------
 ページ上部　ヘッダー
---------------------------------------------------------------------- */
@media screen and (max-width: 1300px) {
  #header {
    height: 60px !important;
    width: 100%;
    position: sticky !important;
    display: block;
    color: var(--kinta-mobile-header-color);
    background: var(--kinta-mobile-header-bg);
    border: 1px solid var(--kinta-mobile-header-border);
    animation: none !important;
  }
  #header .menu_area {
    display: none;
  }
  #header.mobile_logo_position_left {
    text-align: left;
    padding-left: 20px;
  }
  body.start_scroll #header {
    box-shadow: 0 0 8px rgba(102, 102, 102, 0.7333333333);
  }
  body.header_fix {
    padding-top: 0;
  }
}
/* サイドボタン */
@media screen and (max-width: 1300px) {
  #side_icon_button {
    display: none;
  }
}
/* メガメニュー */
@media screen and (max-width: 1300px) {
  .megamenu {
    display: none !important;
  }
}
/* メッセージ */
@media screen and (max-width: 1300px) {
  #header_message {
    width: 100%;
    margin: 0;
  }
}
@media screen and (max-width: 1200px) {
  #header_message {
    padding: 10px 0;
    z-index: 2000;
  }
  #header_message .post_content {
    width: auto !important;
    margin: 0 20px !important;
  }
  #header_message.show_close_button .post_content {
    margin: 0 40px !important;
  }
}
@media screen and (max-width: 750px) {
  #header_message .post_content {
    line-height: 1.8;
  }
  #header_message.show_close_button .post_content {
    margin: 0 35px !important;
  }
}
/* ----------------------------------------------------------------------
 モバイル用ドロワーメニュー
---------------------------------------------------------------------- */
/* ドロワーメニュー開閉ボタン */
@media screen and (max-width: 1300px) {
  #drawer_menu_button {
    width: 60px;
    height: 60px;
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    cursor: pointer;
  }
  #drawer_menu_button span {
    width: 22px;
    height: 2px;
    background: var(--kinta-mobile-menu-color);
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    transition: all 0.4s ease;
  }
  #drawer_menu_button span:nth-child(1) {
    top: 23px;
  }
  #drawer_menu_button span:nth-child(2) {
    top: 29px;
  }
  #drawer_menu_button span:nth-child(3) {
    top: 35px;
  }
}
/* ドロワーメニュー */
@media screen and (max-width: 1300px) {
  #drawer_menu {
    display: block;
  }
  .open_drawer_menu #drawer_menu {
    transform: translate3d(0, 0, 0);
    pointer-events: auto;
  }
  .open_drawer_menu #drawer_menu_overlay {
    opacity: 1;
    pointer-events: auto;
  }
}
@media only screen and (max-width: 600px) {
  #drawer_menu {
    width: 100%;
  }
  .open_menu #container {
    transform: translate3d(-100%, 0, 0);
  }
}
/* 閉じるボタン */
#drawer_menu .header {
  position: relative;
  width: 100%;
  height: 60px;
}

#drawer_mneu_close_button {
  cursor: pointer;
  display: block;
  width: 50px;
  height: 60px;
  position: absolute;
  top: 5px;
  right: 0px;
  z-index: 10;
}
#drawer_mneu_close_button:before {
  color: #000;
  font-family: "normal_icon";
  content: "\e91a";
  font-size: 20px;
  display: block;
  top: 17px;
  left: 12px;
  position: absolute;
}

#drawer_menu.color_type2 #drawer_mneu_close_button:before {
  color: #fff;
}

/* グローバルメニュー */
#mobile_menu {
  width: auto;
  margin: 0 20px;
}
#mobile_menu ul {
  margin: 0;
}
#mobile_menu li ul {
  display: none;
}
#mobile_menu a {
  position: relative;
  display: block;
  margin: 0;
  padding: 0 50px 0 20px;
  height: 50px;
  line-height: 50px;
  overflow: hidden;
  text-decoration: none;
  background: #fff;
  color: #000 !important;
  font-size: 14px;
  transition: none;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  visibility: visible;
}

#drawer_menu.color_type2 #mobile_menu a {
  background: var(--main_color);
  color: #fff !important;
}

#mobile_menu li {
  position: relative;
}
#mobile_menu li li a {
  font-size: 14px;
  height: 50px;
  line-height: 50px;
}
#mobile_menu .child_menu_button {
  display: block;
  position: absolute;
  text-align: center;
  width: 50px;
  height: 50px;
  right: 0px;
  top: 0px;
  z-index: 9;
  cursor: pointer;
}
#mobile_menu .child_menu_button:after {
  font-family: "normal_icon";
  content: "\e145";
  font-size: 20px;
  display: block;
  color: #000;
  position: absolute;
  top: 14px;
  left: 12px;
  font-weight: 400;
}

/* グローバルメニュー（子メニュー） */
#drawer_menu.color_type2 #mobile_menu .child_menu_button:after {
  color: #fff;
}

#mobile_menu li.open > .child_menu_button:after {
  content: "\e943";
  top: 14px;
}
#mobile_menu li.open > a {
  border-bottom: none;
}
#mobile_menu li li a {
  background: #f6f6f6;
  position: relative;
}

#drawer_menu.color_type2 #mobile_menu li li a {
  background: rgba(255, 255, 255, 0.2);
}

#mobile_menu > ul > li.open > ul > li:last-child a {
  border: none;
}
#mobile_menu li li.menu-item-has-children > a:after {
  display: none;
}
/* SNS */
#mobile_sns {
  margin: 30px 40px -10px;
  justify-content: center;
}

#drawer_menu.color_type2 #mobile_sns.color_type1 li a:before {
  color: #fff;
}

/* 検索フォーム */
#drawer_menu_search {
  margin: 13px 20px 0;
  position: relative;
  width: auto;
}
#drawer_menu_search .input_area {
  background: #f6f6f6;
  width: 100%;
  height: 50px;
  border-radius: 50px;
  position: relative;
}
#drawer_menu_search .input_area input {
  font-size: 14px;
  border: none;
  background: none;
  height: 50px;
  width: calc(100% - 50px);
  position: absolute;
  left: 0px;
  top: 2px;
  padding: 0 10px 0 25px;
  color: #000;
}
#drawer_menu_search .button_area {
  width: 50px;
  height: 50px;
  position: absolute;
  right: 0px;
  top: 0px;
}
#drawer_menu_search .button_area input {
  width: 50px;
  height: 50px;
  border: none;
  background: none;
  cursor: pointer;
}
#drawer_menu_search .button_area:before {
  display: block;
  text-align: center;
  cursor: pointer;
  z-index: 1;
  pointer-events: none;
  position: absolute;
  font-family: "normal_icon";
  color: #000;
  font-size: 16px;
  content: "\e94c";
  left: 14px;
  top: 19px;
  -webkit-transition: color 0.25s ease;
  transition: color 0.25s ease;
}

/* ボタン */
#drawer_header_button {
  margin: 0px 20px 13px;
  display: flex;
  flex-wrap: wrap;
}
#drawer_header_button a {
  color: #000;
  border: 1px solid #ddd;
  border-right: none;
  flex: 1 1 0%;
  text-align: center;
  height: 50px;
  line-height: 1.4;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  font-size: 14px;
}
#drawer_header_button a:last-of-type {
  border-right: 1px solid #ddd;
}

#drawer_menu.color_type2 #drawer_header_button a {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
}

/* 言語ボタン */
#drawer_lang_button {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 30px 10px;
}
#drawer_lang_button li {
  margin: 0 10px;
}
#drawer_lang_button i.fa-solid {
  display: none;
}

#drawer_menu.color_type2 #drawer_lang_button a {
  color: #fff;
}

/* ----------------------------------------------------------------------
 ブログ詳細ページ
---------------------------------------------------------------------- */
/* タイトルエリア */
@media screen and (max-width: 1100px) {
  #single_post_header .title {
    font-size: calc((var(--single_title_font_size) + var(--single_title_font_size_sp)) / 2);
  }
}
@media screen and (max-width: 800px) {
  body.single-post #article {
    padding: 30px 0 0;
  }
  #single_post_header {
    margin-bottom: 40px;
  }
  #single_post_header .category {
    position: relative;
    top: auto;
    height: 35px;
    line-height: 35px;
    margin: 0;
  }
  #single_post_header .category a {
    font-size: 12px;
  }
  #single_post_header .title {
    font-size: var(--single_title_font_size_sp);
    margin: 0 0 15px 0;
  }
  #single_post_header:has(.category) .title {
    padding-top: 13px;
  }
  #single_post_header .image {
    margin: 20px -20px 0;
    width: calc(100% + 40px);
  }
}
/* SNSボタン */
@media screen and (max-width: 800px) {
  #single_share_top {
    margin: 40px 0 40px 0;
  }
  #single_share_bottom {
    margin: 40px 0 0;
  }
}
/* コピーボタン */
@media screen and (max-width: 800px) {
  #single_copy_title_url_top {
    margin: 0 0 35px;
  }
  #single_copy_title_url_btm {
    margin: 40px 0 0;
  }
  .single_copy_title_url_btn {
    border-width: 2px;
    line-height: 46px;
    min-width: 250px;
  }
}
/* ページ分割 */
@media screen and (max-width: 800px) {
  #post_pagination {
    margin-top: 35px;
    margin-bottom: 35px;
  }
  #post_pagination a, #post_pagination p {
    font-size: 12px;
    width: 40px;
    height: 40px;
    line-height: 40px;
  }
}
/* 広告 */
@media screen and (max-width: 800px) {
  #single_banner_top {
    width: auto;
    padding: 0;
    margin: 0 0 40px 0;
  }
  #single_banner_bottom {
    width: auto;
    margin: 40px 0 -5px;
  }
  #single_banner_shortcode {
    padding: 0 0 20px;
  }
  #single_free_space {
    margin-top: 40px !important;
  }
  .single_banner {
    line-height: 2;
  }
}
/* ナビゲーション */
@media screen and (max-width: 800px) {
  #next_prev_post .item {
    height: 60px;
    border: 1px solid #ddd;
    width: 50%;
  }
  #next_prev_post .item:first-of-type {
    border-right: none;
  }
  #next_prev_post .item:only-of-type {
    border-right: 1px solid #ddd;
  }
  #next_prev_post .nav {
    display: block;
  }
  #next_prev_post .title, #next_prev_post .image_wrap {
    display: none;
  }
  #next_prev_post .content {
    width: 100%;
  }
  #next_prev_post .nav {
    position: relative;
    text-align: center;
    width: 100%;
    font-weight: 500;
    font-size: 14px;
    line-height: 1;
    margin-top: 1px;
  }
  #next_prev_post .prev_post:before {
    font-family: normal_icon;
    content: "\e90f";
    position: absolute;
    top: 25px;
    left: 15px;
    font-size: 14px;
  }
  #next_prev_post .next_post:before {
    font-family: normal_icon;
    content: "\e910";
    position: absolute;
    top: 25px;
    right: 15px;
    font-size: 14px;
  }
}
@media screen and (max-width: 800px) {
  #next_prev_post {
    margin-top: 40px;
  }
}
/* メタ情報 */
@media screen and (max-width: 800px) {
  #post_tag_list {
    margin: 40px 0 -5px;
  }
  #post_tag_list a {
    font-size: 12px;
  }
}
/* プロフィール */
@media screen and (max-width: 800px) {
  .author_profile {
    margin: 40px 0 0;
    padding: 15px 20px;
  }
  .author_profile .avatar_area, .author_profile .image_wrap {
    width: 90px;
    height: 90px;
  }
  .author_profile .info {
    width: calc(100% - 90px);
  }
  .author_profile .info_inner {
    padding: 0 0 0 20px;
  }
  .author_profile .name {
    font-size: 16px;
    margin: 5px 0 10px 0;
  }
  .author_profile .desc {
    font-size: 14px;
    max-height: 3.4em;
    line-height: 1.7;
  }
  .author_profile .desc span {
    -webkit-line-clamp: 2;
  }
}
/* 関連記事 */
@media screen and (max-width: 1200px) {
  #single_related_post .swiper-nav-button {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  #single_related_post .headline {
    font-size: 40px;
  }
  #single_related_post .sub_title {
    font-size: 16px;
    margin: 20px 0 75px;
  }
  #related_post_carousel_wrap {
    margin: 0;
  }
  #related_post_carousel {
    overflow: visible;
  }
  #related_post_carousel .blog_list .item {
    width: 310px !important;
  }
}
@media screen and (max-width: 800px) {
  #single_related_post {
    background: #f6f6f6;
    margin: 40px -20px;
    padding: 40px 0;
  }
  #related_post_carousel_wrap {
    margin: 0 20px;
  }
  #single_related_post .headline {
    font-size: 34px !important;
  }
  #single_related_post:not(:has(.sub_title)) .headline {
    margin-bottom: 35px;
  }
  #single_related_post .sub_title {
    font-size: 14px;
    margin: 15px 0 35px;
  }
  #related_post_carousel .blog_list .item {
    width: 280px !important;
  }
  #single_related_post .link_button {
    margin-top: 40px;
  }
}
/* ----------------------------------------------------------------------
 その他のページ
---------------------------------------------------------------------- */
/* 404ページ*/
#page_404_header .content {
  padding: 0 60px;
}

@media screen and (max-width: 1100px) {
  #page_404_header {
    height: calc(100vh - 60px);
    height: calc(100dvh - 60px);
  }
  #page_404_header .content {
    padding: 0 40px;
  }
}
@media screen and (max-width: 800px) {
  #page_404_header .headline {
    font-size: 30px;
  }
  #page_404_header .content {
    padding: 0 20px;
  }
  #page_404_header .desc {
    line-height: 2;
    margin-top: 30px;
  }
}
/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
/* フッターバナー */
@media screen and (max-width: 1300px) {
  #footer_banner_wrap .footer_banner {
    transform: translate3d(0, 0, 0);
  }
  #footer_banner_wrap .footer_banner:first-child {
    animation: footer_banner_animation 90s linear infinite;
  }
  #footer_banner_wrap .footer_banner:nth-child(2) {
    animation: footer_banner_animation2 90s -60s linear infinite;
  }
  #footer_banner_wrap .footer_banner:nth-child(3) {
    animation: footer_banner_animation3 90s -30s linear infinite;
  }
  body:not(.hide_side_icon_button) #footer_banner_wrap .footer_banner {
    animation-play-state: paused !important;
  }
}
/* フッター */
@media screen and (max-width: 1300px) {
  #footer_banner_wrap .item {
    flex: 0 1 300px !important;
    width: 300px !important;
  }
  #footer_banner_wrap .title {
    font-size: 14px;
    height: 60px;
  }
}
@media screen and (max-width: 1100px) {
  #footer {
    padding: 50px 0 0 0;
  }
  #footer_logo {
    margin: 0 auto;
    padding: 20px 0;
  }
  #footer_logo img.pc {
    display: none;
  }
  #footer_logo img.mobile {
    display: block;
  }
  #footer_menu {
    width: auto;
    margin: 0;
    overflow: hidden;
  }
  #footer_menu nav {
    flex: 1 1 50%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    padding: 50px;
    margin: 0 0 -1px 0;
  }
  #footer_info p {
    width: auto;
    padding: 0 50px;
  }
}
@media screen and (max-width: 800px) {
  #footer {
    padding: 40px 0 0 0;
  }
  #footer_logo {
    padding: 0 20px 40px;
  }
  #footer_menu {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  #footer_menu nav {
    padding: 38px 20px;
  }
  #footer_menu li {
    margin-bottom: 15px;
  }
  #footer_menu nav:only-child ul {
    text-align: center;
  }
}
/* 住所 */
@media screen and (max-width: 1100px) {
  #footer_bottom {
    height: auto;
    border: none;
  }
  #footer_info {
    padding: 16px 20px;
  }
  #footer_info p {
    width: auto;
    padding: 0;
  }
}
/* SNS */
@media screen and (max-width: 1100px) {
  #footer_sns {
    display: flex;
    justify-content: center;
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    z-index: 4;
    padding: 18px 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }
  #footer_sns li {
    margin: 0 7px 4px;
  }
  #footer_sns.color_type1 li a:before {
    color: #fff;
  }
}
/* コピーライト */
@media screen and (max-width: 1100px) {
  #copyright {
    width: auto;
    transform: relative;
    top: auto;
    transform: none;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    padding: 19px 20px;
  }
  body.page-template-page-tcd-lp #copyright.lp_copyright {
    padding: 19px 20px;
    height: auto;
    line-height: 1.5;
  }
}
/* ----------------------------------------------------------------------
 ウィジェット
---------------------------------------------------------------------- */
/* 基本設定 */
@media screen and (max-width: 1100px) {
  #side_col .widget_content {
    width: calc(50% - 25px);
    max-width: 300px;
  }
  #side_col .widget_content:last-of-type {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 800px) {
  .widget_headline {
    font-size: 16px;
  }
  #side_col .widget_content {
    width: calc(50% - 10px);
    margin-bottom: 40px;
  }
  .widget_content {
    font-size: 14px;
  }
}
@media screen and (max-width: 600px) {
  #side_col .widget_content {
    width: auto;
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
  }
}
/* アーカイブ　ドロップダウン */
@media screen and (max-width: 800px) {
  .p-dropdown__title {
    height: 60px;
    line-height: 60px;
  }
  .widget_archive select, .widget_categories select {
    padding: 0 20px;
  }
}
/* デフォルトのカテゴリー */
@media screen and (max-width: 800px) {
  .widget_categories li a {
    height: 50px;
    line-height: 50px;
    padding: 0 20px;
  }
  .widget_categories li li a {
    padding-left: calc(20px + 1em);
  }
  .widget_categories li li li a {
    padding-left: calc(20px + 2em);
  }
  .widget_categories li .post-count {
    top: 9px;
    width: 35px;
    height: 35px;
    line-height: 35px;
    font-size: 11px;
  }
}
/* デフォルトのアーカイブ */
@media screen and (max-width: 800px) {
  .widget_archive li a {
    height: 50px;
    line-height: 50px;
    padding: 0 20px;
  }
  .widget_archive li li a {
    padding-left: calc(20px + 1em);
  }
  .widget_archive li li li a {
    padding-left: calc(20px + 2em);
  }
  .widget_archive li .post-count {
    top: 9px;
    width: 35px;
    height: 35px;
    line-height: 35px;
    font-size: 11px;
  }
}
/* デフォルトの固定ページ */
@media screen and (max-width: 800px) {
  .widget_pages li a {
    padding: 0 20px;
    height: 50px;
    line-height: 50px;
  }
  .widget_pages li li a {
    padding-left: calc(20px + 1em);
  }
  .widget_pages li li li a {
    padding-left: calc(20px + 2em);
  }
}
/* デフォルトのナビ　*/
@media screen and (max-width: 800px) {
  .widget_nav_menu li a {
    height: 50px;
    line-height: 50px;
    padding: 0 20px;
  }
  .widget_nav_menu li li a {
    padding-left: calc(20px + 1em);
  }
  .widget_nav_menu li li li a {
    padding-left: calc(20px + 2em);
  }
}
/* デフォルトのメタウィジェット */
@media screen and (max-width: 800px) {
  .widget_meta li a {
    padding: 0 20px;
    height: 50px;
    line-height: 50px;
  }
  .widget_meta li li a {
    padding-left: calc(20px + 1em);
  }
  .widget_meta li li li a {
    padding-left: calc(20px + 2em);
  }
}
/* 検索 */
@media screen and (max-width: 800px) {
  #searchform {
    height: 60px;
  }
  #searchform #s {
    padding: 0 20px;
    height: 60px;
    width: calc(100% - 60px);
  }
  #searchform #searchsubmit {
    width: 60px;
    height: 60px;
  }
  #searchform .submit_button {
    width: 60px;
    height: 60px;
    top: 0px;
  }
  #searchform .submit_button:before {
    width: 60px;
    height: 60px;
    line-height: 60px;
    font-size: 14px;
    right: -2px;
    top: 1px;
  }
}
/* デフォルトの最近の記事 */
@media screen and (max-width: 800px) {
  .widget_recent_entries li {
    padding: 20px 20px 15px;
  }
  .widget_recent_entries li a {
    font-size: 14px;
  }
}
/* デフォルトのコメントウィジェット */
@media screen and (max-width: 800px) {
  .widget_recent_comments li {
    font-size: 14px;
    padding: 20px 20px 15px;
  }
}
/* デフォルトの固定ページ */
@media screen and (max-width: 800px) {
  .widget_pages li {
    font-size: 14px;
  }
  .widget_pages li a {
    height: 50px;
    line-height: 50px;
  }
}
/* デフォルトのナビ */
@media screen and (max-width: 800px) {
  .widget_nav_menu li {
    font-size: 14px;
  }
  .widget_nav_menu li a {
    height: 50px;
    line-height: 50px;
  }
}
/* デフォルトのブロック */
@media screen and (max-width: 800px) {
  .widget_block {
    font-size: 14px;
  }
}
/* デフォルトのテキストウィジェット */
@media screen and (max-width: 800px) {
  .widget_text .textwidget {
    font-size: 14px;
  }
  .widget_text .textwidget p {
    line-height: 2;
  }
}
/* デフォルトのアーカイブとカテゴリー　ドロップダウンメニュー */
@media screen and (max-width: 800px) {
  .widget_archive select, .widget_categories select {
    height: 60px;
    font-size: 14px;
  }
  .widget_archive .screen-reader-text, .widget_categories .screen-reader-text {
    height: 60px;
  }
  .widget_archive .screen-reader-text:before, .widget_categories .screen-reader-text:before {
    top: 27px;
    right: 18px;
  }
}
/* RSS */
@media screen and (max-width: 800px) {
  .widget_rss li {
    padding: 20px 20px 15px;
    font-size: 14px;
  }
}
/* ----------------------------------------------------------------------
 404ページ
---------------------------------------------------------------------- */
@media screen and (max-width: 1300px) {
  body.search-no-results.header_fix, body.error404.header_fix {
    padding-top: 60px;
  }
  body.search-no-results #no_search_result {
    border-top: 1px solid #ddd;
  }
  #no_search_result {
    height: calc(100vh - 60px);
    height: calc(100dvh - 60px);
  }
  #no_search_result:not(.has_image) {
    border-top: 1px solid #ddd;
  }
  #no_search_result .desc {
    padding: 0 50px;
    width: auto;
  }
}
@media screen and (max-width: 1100px) {
  #no_search_result .tag_list {
    width: auto;
    padding: 0 50px;
  }
}
@media screen and (max-width: 800px) {
  #no_search_result .headline {
    font-size: 24px;
    margin-bottom: 30px;
  }
  #no_search_result .desc {
    padding: 0 20px;
    line-height: 2;
    margin-bottom: 35px;
  }
  #no_search_result .tag_list {
    padding: 0 20px;
    margin-top: 40px;
  }
  #no_search_result .desc + .tag_list {
    margin-top: 30px;
  }
  #no_search_result .wp-tag-cloud a {
    font-size: 12px !important;
  }
}
@media screen and (max-width: 600px) {
  #no_search_result .search_form {
    padding: 0 20px;
  }
  #no_search_result form {
    max-width: 400px;
    width: 100%;
  }
}
/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
@media screen and (max-width: 800px) {
  #comments {
    margin: 40px 0 0 0;
  }
  #comments .headline {
    font-size: 18px;
    margin-bottom: 40px;
  }
  #comment_tab li a, #comment_tab li p {
    background: #f6f6f6;
  }
}
/* ----------------------------------------------------------------------
 その他
---------------------------------------------------------------------- */
/*  WordPress プリセットスタイル */
@media screen and (max-width: 800px) {
  .post_content p {
    line-height: 2;
  }
  body.page .post_content > p:first-child {
    margin-top: -5px;
  }
  .post_content li, .post_content dt, .post_content dd {
    line-height: 1.8;
  }
  .post_content td, .post_content th {
    line-height: 1.8;
    padding: 14px 15px !important;
    font-size: 14px;
  }
  .post_content .wp-caption-text {
    font-size: 12px;
  }
}
@media screen and (max-width: 800px) {
  .s_table {
    margin-right: -20px;
    margin-left: -20px;
    padding: 0 0 0 20px;
  }
  .s_table table {
    overflow: visible;
    position: relative;
  }
  .s_table table:after {
    content: "";
    position: absolute;
    top: 0;
    left: 100%;
    height: 1px;
    width: 20px;
  }
}
/* CANON モバイル用スタイルシート */
/* ----------------------- TCD Advanced Style -------------------------- */
/* ----------------------------------------------------------------------
 Column layout - カラムレイアウト
---------------------------------------------------------------------- */
.post_row {
  line-height: 2.4;
  margin: 70px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.post_col {
  flex: 1 1 0%;
}

.post_col-2 {
  margin-right: 50px;
  width: calc(50% - 25px);
}

.post_col-3 {
  margin-right: 25px;
}

.post_col:last-of-type {
  margin-right: 0;
}
.post_col p:last-of-type {
  margin-bottom: -10px;
}

@media screen and (max-width: 1100px) {
  .post_col-2 {
    margin-right: 30px;
    width: calc(50% - 15px);
  }
  .post_col:last-of-type {
    margin-right: 0;
  }
}
@media screen and (max-width: 800px) {
  .post_row {
    margin: 30px 0;
  }
  .post_col-2 {
    margin-right: 20px;
    width: calc(50% - 10px);
  }
  .post_col:last-of-type {
    margin-right: 0;
  }
}
@media screen and (max-width: 600px) {
  .post_row {
    display: block;
    line-height: 2;
  }
  .post_col {
    margin-bottom: 2em;
  }
  .post_col-2 {
    margin-right: 0px;
    width: auto;
  }
  .post_col-3 {
    margin-right: 0px;
  }
}
/* ----------------------------------------------------------------------
 headline - 見出しのスタイル
---------------------------------------------------------------------- */
.post_content .style3a, .post_content .style3b, .post_content .style4a, .post_content .style4b, .post_content .style5a, .post_content .style5b, .post_content .style6 {
  font-weight: 500;
  line-height: 1.6;
}

/* h2 */
.style2a {
  margin: 65px 0 30px !important;
  padding: 0 0 0.9em !important;
  border-bottom: 3px solid #000;
  font-size: 26px !important;
}

.style2b {
  margin: 65px 0 30px !important;
  padding: 0.48em 1em 0.47em !important;
  background: #000;
  color: #fff;
  font-size: 26px !important;
}

/* h3 */
.style3a {
  margin: 65px 0 30px !important;
  padding: 1.2em 0.15em !important;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  font-size: 22px !important;
}

.style3b {
  margin: 65px 0 30px !important;
  padding: 1.1em 1.4em 1.15em !important;
  border: 1px solid #ddd;
  border-top: 3px solid #000;
  background: #fafafa;
  font-size: 22px !important;
}

/* h4 */
.style4a {
  margin: 65px 0 30px !important;
  padding: 0.4em 0 0.4em 1.2em !important;
  border-left: 3px solid #000;
  font-size: 20px !important;
  font-weight: 500;
}

.style4b {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
  margin: 65px 0 30px !important;
  padding: 0.8em 1.5em 0.8em !important;
  border-left: #000 3px solid;
  font-size: 20px !important;
}
.style4b:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 2px);
  border: 1px solid #ddd;
  border-left: none;
  content: "";
}

/* h5 */
.style5a {
  margin: 65px 0 30px !important;
  padding: 0.85em 1.5em 0.8em !important;
  border: 1px solid #ddd;
  background: #fafafa;
  font-size: 18px !important;
}

.style5b {
  margin: 65px 0 30px !important;
  padding: 0.85em 1.5em 0.8em !important;
  background: #000;
  color: #fff;
  font-size: 18px !important;
}

/* h6 */
.style6 {
  position: relative;
  margin: 65px 0 30px !important;
  padding: 0 0.8em 0 1.3em !important;
  color: #000;
  font-size: 16px !important;
  font-weight: 700;
}
.style6:before {
  position: absolute;
  top: 0.35em;
  left: 0;
  width: 12px;
  height: 12px;
  background: #000;
  content: "";
}

.balloon {
  display: block;
  z-index: 0;
  position: relative;
  width: auto;
  min-width: 115px;
  margin: 50px 0 22px;
  padding: 0.5em 18px 0.5em;
  clear: both;
  border-bottom: 0;
  background: #222;
  color: #fff;
  font-size: 20px;
  font-weight: 400;
  text-align: left;
}
.balloon:after {
  display: block;
  position: absolute;
  bottom: -10px;
  left: 30px;
  width: 0px;
  height: 0px;
  margin-left: -10px;
  border-width: 10px 10px 0 10px;
  border-style: solid;
  border-color: #222 transparent transparent transparent;
  content: "";
}

@media screen and (max-width: 800px) {
  .style2a {
    margin: 30px 0 20px !important;
    padding: 0 0 0.6em !important;
    font-size: 20px !important;
  }
  .style2b {
    margin: 30px 0 20px !important;
    padding: 0.42em 0.7em 0.41em !important;
    background: #000;
    color: #fff;
    font-size: 20px !important;
  }
  .style3a {
    margin: 30px 0 20px !important;
    padding: 0.6em 0.15em !important;
    font-size: 18px !important;
  }
  .style3b {
    margin: 30px 0 20px !important;
    padding: 0.5em 0.5em 0.45em 0.6em !important;
    font-size: 18px !important;
  }
  .style4a {
    margin: 30px 0 20px !important;
    padding: 0.4em 0 0.4em 0.8em !important;
    border-left: 2px solid #000;
    font-size: 16px !important;
  }
  .style4b {
    margin: 30px 0 20px !important;
    padding: 0.8em 1em 0.75em !important;
    border-left: #000 2px solid;
    font-size: 16px !important;
  }
  .style5a, .style5b {
    margin: 30px 0 20px !important;
    padding: 0.8em 1em 0.75em !important;
    font-size: 15px !important;
  }
}
/* デフォルト見出し+クイックタグ見出しのスタイル */
.post_content h1 {
  font-size: 36px;
  font-weight: 500;
  line-height: 1.4;
  margin: 120px 0 1.3em 0;
  text-align: center;
}
.post_content h2 {
  font-size: 30px;
  font-weight: 500;
  line-height: 1.4;
  margin: 3em 0 1.3em 0;
  text-align: center;
}
.post_content h3 {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.6;
  margin: 3em 0 1.3em 0;
}
.post_content h4 {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.6;
  margin: 2.5em 0 1em 0;
}
.post_content h5 {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.6;
  margin: 2.5em 0 1em 0;
}
.post_content h6 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
  margin: 2.5em 0 1em 0;
}
.post_content > *:first-child {
  margin-top: 0 !important;
}

/* ページコンテンツの先頭に見出しが表示される場合はmargin-topを0にする */
body.mobile_device h1, body.mobile_device h2, body.mobile_device h3, body.mobile_device h4, body.mobile_device h5, body.mobile_device h6 {
  font-weight: 500 !important;
}

@media screen and (max-width: 1100px) {
  .post_content h1 {
    font-size: 28px;
  }
  .post_content h2 {
    font-size: 26px;
  }
  .post_content h3 {
    font-size: 24px;
  }
  .post_content h4 {
    font-size: 20px;
  }
  .post_content h5, .post_content h6 {
    font-size: 18px;
  }
}
@media screen and (max-width: 800px) {
  .post_content h1 {
    font-size: 22px;
    margin: 100px 0 1em 0;
  }
  .post_content h2 {
    font-size: 22px;
    margin: 2.5em 0 1em 0;
  }
  .post_content h3 {
    font-size: 20px;
    margin: 2.3em 0 1em 0;
  }
  .post_content h4 {
    font-size: 18px;
    margin: 2.2em 0 1em 0;
  }
  .post_content h5, .post_content h6 {
    font-size: 18px;
    margin: 2.2em 0 1em 0;
  }
}
@media screen and (max-width: 600px) {
  .post_content h1 {
    margin: 80px 0 1em 0;
  }
  .post_content h2 {
    margin: 2.3em 0 1em 0;
  }
  .post_content h3, .post_content h4, .post_content h5, .post_content h6 {
    margin: 2em 0 1em 0;
  }
}
/* Vertical */
.p-vertical {
  width: 100%;
  margin: 70px 0;
  font-size: 36px;
  line-height: 1.4;
  text-align: center;
}
.p-vertical p {
  display: inline-block;
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  text-align: left;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

@media screen and (max-width: 800px) {
  .p-vertical {
    margin: 33px 0;
    font-size: 24px;
    line-height: 1.3;
  }
}
/* ----------------------------------------------------------------------
 Underline - アンダーライン
---------------------------------------------------------------------- */
.q_underline {
  background-image: -webkit-linear-gradient(left, transparent 50%, #fff799 50%);
  background-image: -moz-linear-gradient(left, transparent 50%, #fff799 50%);
  background-image: linear-gradient(to right, transparent 50%, #fff799 50%);
  background-position: 0 0.8em;
  background-repeat: repeat-x;
  background-size: 200% 0.5em;
  border: none;
  border-bottom-color: transparent;
  -webkit-transition: background 2s ease;
  -ms-transition: background 2s ease;
  transition: background 2s ease;
}
.q_underline.is-active {
  background-position: -100% 0.8em;
}

/* ----------------------------------------------------------------------
 Speech balloon - スピーチ
---------------------------------------------------------------------- */
.q_frame + .speech_balloon {
  margin-top: 2.8em;
}

.speech_balloon {
  margin-bottom: 2.5em !important;
  display: flex;
  align-items: flex-start;
}

.speech_balloon_user {
  flex: 0 0 auto;
  margin-right: 36px;
  min-width: 80px;
  text-align: center;
}

.speech_balloon_user_image {
  border-radius: 50%;
  height: 80px !important;
  width: 80px;
  object-fit: cover;
  margin: 0 !important;
}

.speech_balloon_user_name {
  font-size: 87.5%;
  line-height: 1.2;
  margin-top: 12px;
}
.speech_balloon_user_name:only-child {
  display: flex;
  align-items: center;
  margin-top: 0;
  min-height: 80px;
}

.speech_balloon_text {
  flex: 1 1 auto;
  margin-bottom: 3em;
  position: relative;
}

.speech_balloon_text_inner {
  background: #fff;
  border: 2px solid #ddd;
  border-radius: 10px;
  line-height: 2;
  min-height: 80px;
  padding: 22px 28px;
  position: relative;
}
.speech_balloon_text_inner > *:last-child {
  margin-bottom: 0 !important;
}

.speech_balloon.right {
  flex-direction: row-reverse;
}
.speech_balloon.right .speech_balloon_user {
  margin-left: 36px;
  margin-right: 0;
}

.speech_balloon_text .before, .speech_balloon_text .after {
  border-color: transparent;
  border-style: solid;
  pointer-events: none;
  height: 0;
  margin-top: -10px;
  width: 0;
  position: absolute;
  right: 100%;
  top: 40px;
}
.speech_balloon_text .before {
  border-left-color: inherit;
  border-width: 8px 0 8px 10px;
}
.speech_balloon_text .after {
  border-right-color: inherit;
  border-width: 8px 10px 8px 0;
}

.speech_balloon.left .before {
  transform: rotate(180deg);
}
.speech_balloon.left .after {
  margin-right: -3px;
}
.speech_balloon.right .before {
  left: 100%;
}
.speech_balloon.right .after {
  left: 100%;
  transform: rotate(180deg);
  margin-left: -3px;
}

/* ----------------------------------------------------------------------
 Google Map
---------------------------------------------------------------------- */
.qt_google_map {
  width: 100%;
  height: 500px;
  background: #ddd;
  margin: 0 0 35px 0 !important;
}
.qt_google_map:last-child {
  margin-bottom: 0 !important;
}
.qt_google_map .qt_googlemap_embed {
  width: 100%;
  height: 500px;
}
.qt_google_map .pb_googlemap_custom-overlay-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: -80px;
  left: -50px;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100px !important;
  height: 100px !important;
  border-radius: 50%;
  font-size: 16px;
  text-align: center;
  padding: 0 15px;
  box-sizing: border-box;
  font-weight: 600;
}
.qt_google_map .pb_googlemap_custom-overlay-inner::after {
  display: block;
  position: absolute;
  right: 0;
  bottom: -15px;
  left: 0;
  width: 0;
  height: 0;
  margin: auto;
  border-width: 16px 5px 0 5px;
  border-style: solid;
  content: "";
}

@media screen and (max-width: 800px) {
  .qt_google_map {
    height: 320px;
  }
  .qt_google_map .qt_googlemap_embed {
    height: 320px;
  }
  .qt_google_map .pb_googlemap_custom-overlay-inner {
    transform: scale(0.8);
    left: -60px;
    top: -80px;
  }
}
/* ----------------------------------------------------------------------
 flame - 囲み枠
---------------------------------------------------------------------- */
.q_frame {
  line-height: 1.8;
  position: relative;
  padding: 1.3em 2em;
  margin-bottom: 2em;
  border: 1px solid #ddd;
}

* + .q_frame {
  margin-top: 2em;
}

.q_frame + .sc {
  margin-top: 2.5em;
}

.q_frame_label {
  max-width: calc(100% - 2em);
  line-height: 1.4;
  font-weight: 600;
  display: inline-block;
  padding: 0 1em;
  background: inherit;
  position: absolute;
  top: -0.7em;
  left: 1em;
}

@media (max-width: 800px) {
  .q_frame {
    padding: 1em 1.5em;
  }
  .q_frame_label {
    padding: 0 0.5em;
  }
}
.well {
  margin-bottom: 30px;
  padding: 1.1em 2em;
  border: 1px solid #ddd;
  border-radius: 6px;
  background-color: #fafafa;
}

.well2 {
  margin-bottom: 30px;
  padding: 1.1em 2em;
  border: 1px solid #ddd;
}

.well3 {
  margin-bottom: 30px;
  padding: 1.1em 2em;
  border: 1px dashed #ddd;
  background: #fafafa;
}

.wl_red {
  border-color: #ebccd1;
  background-color: #f2dede;
  color: #a94442 !important;
}

.wl_yellow {
  border-color: #faebcc;
  background-color: #fcf8e3;
  color: #8a6d3b !important;
}

.wl_blue {
  border-color: #bce8f1;
  background-color: #d9edf7;
  color: #31708f !important;
}

.wl_green {
  border-color: #d6e9c6;
  background-color: #dff0d8;
  color: #3c763d !important;
}

@media screen and (max-width: 800px) {
  .well, .well2, .well3 {
    padding: 0.9em 0.8em 0.9em 1em;
  }
}
/* ----------------------------------------------------------------------
 ol - 番号付きリスト
---------------------------------------------------------------------- */
/* リストデザイン */
.q_styled_ol {
  counter-reset: item;
  list-style-type: none;
  margin-left: 0 !important;
  margin-bottom: 2em;
}
.q_styled_ol li {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  margin-bottom: 0.4em;
}
.q_styled_ol li:before {
  counter-increment: item;
  content: counter(item);
  display: -webkit-box;
  display: -webkit-flex;
  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: 1.5em;
  min-width: 1.5em;
  height: 1.5em;
  background: var(--main_color);
  color: #fff;
  border-radius: 50%;
  line-height: 1;
  margin-top: 0.3em;
  margin-right: 0.7em;
}

@media screen and (max-width: 800px) {
  .q_styled_ol li:before {
    margin-top: 0.1em;
  }
}
/* ----------------------------------------------------------------------
 button - CSSボタンのスタイル
---------------------------------------------------------------------- */
.q_custom_button {
  max-width: 100%;
  line-height: 1.5;
  padding: 0 1.5em;
  text-decoration: none !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-inline-flex;
  display: inline-flex;
  -ms-justify-content: center;
  -webkit-justify-content: center;
  justify-content: center;
  -ms-align-items: center;
  -webkit-align-items: center;
  align-items: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  font-size: 16px;
  z-index: 1;
  font-weight: 600;
  color: #fff;
  border-width: 1px;
  border-style: solid;
  text-decoration: none;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.q_custom_button:before {
  content: "";
  display: block;
  width: 100%;
  height: calc(100% + 2px);
  position: absolute;
  top: -1px;
  z-index: -1;
  transition-property: background-color, left, opacity;
  transition-duration: 0.5s;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}
.q_custom_button:hover {
  color: #fff;
  text-decoration: none !important;
}

@media (max-width: 800px) {
  .q_custom_button {
    max-height: 50px;
    font-size: 14px;
  }
}
/* Button option */
.rounded {
  border-radius: 6px;
}

.pill {
  border-radius: 70px;
}

.bt_red {
  background: #c01f0e;
  border-color: #c01f0e;
  color: #fff;
}
.bt_red:hover, .bt_red:focus {
  background-color: #d33929;
  border-color: #d33929;
  color: #fff;
}

.bt_yellow {
  background: #f1c40f;
  border-color: #f1c40f;
  color: #fff;
}
.bt_yellow:hover, .bt_yellow:focus {
  background-color: #f9d441;
  border-color: #f9d441;
  color: #fff;
}

.bt_blue {
  background: #2980b9;
  border-color: #2980b9;
  color: #fff;
}
.bt_blue:hover, .bt_blue:focus {
  background-color: #3a91c9;
  border-color: #3a91c9;
  color: #fff;
}

.bt_green {
  background: #27ae60;
  border-color: #27ae60;
  color: #fff;
}
.bt_green:hover, .bt_green:focus {
  background-color: #39c574;
  border-color: #39c574;
  color: #fff;
}

/* クイックタグのデザインボタン */
.q_button_wrap {
  text-align: center;
  margin-bottom: 55px;
}

@media screen and (max-width: 800px) {
  .q_button_wrap {
    text-align: center;
    margin-bottom: 35px;
  }
}
/* ----------------------------------------------------------------------
Youtube responsive - Youtube動画のレスポンシブ表示
---------------------------------------------------------------------- */
.ytube {
  position: relative;
  height: 0;
  margin-top: 20px;
  margin-bottom: 2em;
  padding-bottom: 56.25%;
  padding-top: 30px;
  overflow: hidden;
}
.ytube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

/* ----------------------------------------------------------------------
Table responsive - テーブルのレスポンシブ表示
---------------------------------------------------------------------- */
.rps_table {
  line-height: 2;
}

@media only screen and (max-width: 600px) {
  .rps_table tr {
    display: block;
    margin-bottom: 1.5em;
  }
  .rps_table th {
    display: list-item;
    list-style-type: none;
    border: none;
  }
  .rps_table td {
    display: list-item;
    list-style-type: none;
    border: none;
    border-top: none;
  }
}
/* ----------------------------------------------------------------------
テーブル　その他
---------------------------------------------------------------------- */
.table_no_border {
  border: none !important;
}
.table_no_border th, .table_no_border td {
  padding-left: 0;
  border: none;
}

.table_border_horizontal {
  border-left: none !important;
}
.table_border_horizontal th, .table_border_horizontal td {
  padding-left: 0;
  border-right: none;
  border-left: none;
}

/* ----------------------------------------------------------------------
 Cardlink style - カードリンクのスタイル
---------------------------------------------------------------------- */
.cardlink {
  word-wrap: break-word;
  margin: 15px 0 50px;
  padding: 20px;
  border: 1px solid #ddd;
  background: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.cardlink + .cardlink {
  margin-top: -20px;
}
.cardlink .image {
  margin-right: 25px;
  display: block;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.cardlink .image img {
  width: 130px;
  height: 130px;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}
.cardlink .content {
  width: calc(100% - 155px);
  padding-top: 5px;
}
.cardlink .meta {
  display: flex;
  flex-wrap: wrap;
}
.cardlink .meta > p {
  color: #222;
  font-size: 14px;
  line-height: 1;
  margin: 0 10px 10px 0;
  position: relative;
  padding: 0 0 0 20px;
}
.cardlink .meta > p.date:before {
  font-family: "normal_icon";
  content: "\e903";
  font-size: 18px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
}
.cardlink .meta > p.modified_date {
  margin-right: 0;
  padding: 0 0 0 20px;
}
.cardlink .meta > p.modified_date:before {
  font-family: "normal_icon";
  content: "\e91f";
  font-size: 18px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
}
.cardlink .title {
  margin: -3px 0 5px 0 !important;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.7;
}
.cardlink .title a {
  text-decoration: none;
  display: block;
  color: var(--main_color) !important;
}
.cardlink .title a:hover {
  text-decoration: underline;
}
.cardlink .desc {
  font-size: 14px;
  line-height: 1.7;
  margin: 0 0 0 0 !important;
  max-height: 3.4em;
  overflow: hidden;
  visibility: visible;
}
.cardlink .desc span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

@media screen and (max-width: 800px) {
  .cardlink {
    padding: 12px;
    margin: 30px 0 35px !important;
  }
  .cardlink .image {
    margin-right: 15px;
  }
  .cardlink .image img {
    width: 110px;
    height: 110px;
  }
  .cardlink .content {
    width: calc(100% - 125px);
  }
  .cardlink .title {
    font-size: 14px;
    margin: 0 !important;
    line-height: 1.4;
    max-height: 4.2em;
    overflow: hidden;
    visibility: visible;
  }
  .cardlink .title a {
    display: -webkit-inline-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .cardlink .desc {
    display: none;
  }
}
@media screen and (max-width: 500px) {
  .cardlink .meta > p {
    font-size: 12px;
    margin-right: 10px;
  }
}
/* ----------------------------------------------------------------------
 QUADRAから追加分
---------------------------------------------------------------------- */
.post_content .is-sp {
  display: none !important;
}

.a_break {
  display: inline-block;
}

@media screen and (max-width: 800px) {
  .post_content .is-pc {
    display: none !important;
  }
  .post_content .is-sp {
    display: block !important;
  }
  .a_break {
    display: block;
  }
}
.post_content .underline {
  text-decoration: underline;
}
.post_content .underline:hover {
  text-decoration: underline;
}
.post_content .e_link {
  display: inline-block;
  position: relative;
  padding: 0 20px 0 0;
}
.post_content .e_link:after {
  font-family: "normal_icon";
  content: "\e920";
  position: absolute;
  right: 0;
  top: 1px;
}
.post_content img.frame {
  border: 1px solid #d2d2d2;
  margin-bottom: -12px;
  box-shadow: 0 6px 6px -6px #cccccc;
}

@media screen and (max-width: 800px) {
  .post_content .s_table {
    overflow: auto;
    white-space: nowrap;
    margin-bottom: 2em;
    scrollbar-width: thin;
  }
  .post_content .s_table table {
    margin-bottom: 0 !important;
  }
}
/* ----------------------------------------------------------------------
 Contactform - お問い合わせフォーム
---------------------------------------------------------------------- */
.wpcf7 {
  width: 100%;
  margin: 0 0 2.5em !important;
  padding: 0;
  border: 1px solid #ddd;
  background: #fafafa;
  font-size: 14px;
}
.wpcf7 form {
  margin: 1.5em 1.5em 0;
}
.wpcf7 p {
  margin-bottom: 1em;
  font-size: 16px;
}
.wpcf7 input, .wpcf7 textarea {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  padding: 8px;
  border: 1px solid #ccc;
  line-height: 1.2;
}
.wpcf7 select {
  width: auto;
  max-width: 97%;
  padding: 8px;
  border: 1px solid #ccc;
}
.wpcf7 input[type=checkbox], .wpcf7 input[type=radio] {
  width: auto;
  max-width: 97%;
  padding: 8px;
  border: 1px solid #ccc;
}
.wpcf7 select, .wpcf7 .wpcf7-list-item-label {
  font-size: 14px;
  line-height: 1.2;
}
.wpcf7 .wpcf7-list-item {
  display: block;
}
.wpcf7 textarea {
  height: 300px;
}
.wpcf7 input:focus, .wpcf7 textarea:focus {
  border: 1px solid #bbb;
  outline: none;
}
.wpcf7 .wpcf7-submit, .wpcf7 .wpcf7-previous {
  background-color: var(--main_color);
  display: block;
  position: relative;
  width: 225px;
  height: 48px;
  margin: 30px auto 0;
  border: none !important;
  outline: none;
  color: #fff;
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s;
}
.wpcf7 .wpcf7-submit:before, .wpcf7 .wpcf7-submit:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.wpcf7 .wpcf7-submit:hover {
  background-color: var(--main_color_light);
}
.wpcf7 .wpcf7-previous:hover {
  background-color: var(--main_color_light);
}
.wpcf7 .wpcf7-submit .wpcf7-not-valid {
  background: pink;
}
.wpcf7 .wpcf7-submit .wpcf7-response-output {
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  margin: 10px 0 0;
  padding: 8px 35px 8px 14px;
  border-radius: 4px;
}
.wpcf7 .wpcf7-submit .wpcf7-validation-errors {
  border: 1px solid #EED3D7;
  background-color: #F2DEDE;
  color: #B94A48;
}
.wpcf7 .wpcf7-submit .wpcf7-mail-sent-ok {
  border: 1px solid #BCE8F1;
  background-color: #D9EDF7;
  color: #3A87AD;
}
.wpcf7 .wpcf7-previous + br {
  display: none;
}
.wpcf7 form .wpcf7-response-output {
  margin: 2em 0.5em 2em;
  padding: 0;
  border: none;
  text-align: center;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
  color: #dc3232;
  font-size: 1em;
}

/* ----------------------------------------------------------------------
 font-size - フォントサイズ
---------------------------------------------------------------------- */
.text70 {
  font-size: 70%;
}

/* フォントサイズ70% */
.text80 {
  font-size: 80%;
}

.text90 {
  font-size: 90%;
}

.text100 {
  font-size: 100%;
}

.text110 {
  font-size: 110%;
}

.text120 {
  font-size: 120%;
}

.text130 {
  font-size: 130%;
}

.text140 {
  font-size: 140%;
}

.text150 {
  font-size: 150%;
}

.text160 {
  font-size: 160%;
}

.text170 {
  font-size: 170%;
}

.text180 {
  font-size: 180%;
}

.text190 {
  font-size: 190%;
}

.text200 {
  font-size: 200%;
}

.text210 {
  font-size: 210%;
}

.text220 {
  font-size: 220%;
}

.b {
  font-weight: 700;
}

/* 太字 */
.u {
  text-decoration: underline;
}

/* 下線 */
.del {
  text-decoration: line-throug;
}

/* 打ち消し線 */
/* ----------------------------------------------------------------------
 font-color - フォントカラー
---------------------------------------------------------------------- */
.red {
  color: red;
}

/* 赤色 */
.blue {
  color: #2ca9e1;
}

/* 青色 */
.green {
  color: #82ae46;
}

/* 緑色 */
.orange {
  color: #ff7d00;
}

/* 橙色 */
.yellow {
  color: #fff000;
}

/* 黄色 */
.pink {
  color: #ff0084;
}

/* ピンク */
.gray {
  color: #999999;
}

/* グレー */
/* ----------------------------------------------------------------------
 background-color - 背景色
---------------------------------------------------------------------- */
.bg-yellow {
  padding: 2px;
  background-color: #ff0;
}

/* 黄色の文字背景 */
.bg-blue {
  padding: 2px;
  background-color: #4ab0f5;
}

/* 青色の文字背景 */
.bg-red {
  padding: 2px;
  background-color: red;
}

/* 赤色の文字背景 */
/* ----------------------------------------------------------------------
 text-align - 配置
---------------------------------------------------------------------- */
.align1 {
  text-align: center !important;
}

/* 中央寄せ */
.align2 {
  text-align: right !important;
}

/* 右寄せ */
.align3 {
  text-align: left !important;
}

/* 左寄せ */
/* ----------------------------------------------------------------------
 float - 回り込み
---------------------------------------------------------------------- */
.r-flo {
  float: right;
  margin: 10px;
}

/* 右に回り込み */
.l-flo {
  float: left;
  margin: 10px;
}

/* 左に回り込み */
.f-clear {
  clear: both;
}

/* 回り込みの解除 */
/* ----------------------------------------------------------------------
 hover - 画像リンクマウスオーバー時の不透明度
---------------------------------------------------------------------- */
a img.fade {
  background: none !important;
  outline: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
a:hover img.fade {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha( opacity=70 )";
  background: none !important;
}

/* ----------------------------------------------------------------------
 text-style - テキストスタイル
---------------------------------------------------------------------- */
.att {
  padding-left: 1em;
  text-indent: -1em;
}

/* 注意書き等で二行目以降を字下げ */
.att_box {
  margin: 2em 0 2.5em;
  padding: 1em 1.2em;
  line-height: 2;
  border: 1px dotted #cccccc;
  background: #fcfcfc;
  box-shadow: 0px 4px 0px 0px #f7f7f7;
}

/* テキストボックス */
/* ----------------------------------------------------------------------
 margin - 要素の外側の余白
---------------------------------------------------------------------- */
.m0 {
  margin: 0 !important;
}

/* margin 0px を指定するクラス */
.mt0 {
  margin-top: 0 !important;
}

/* margin-top0px を指定するクラス */
.mr0 {
  margin-right: 0 !important;
}

/* margin-right0px を指定するクラス*/
.mb0 {
  margin-bottom: 0 !important;
}

/* margin-bottom0px を指定するクラス*/
.ml0 {
  margin-left: 0 !important;
}

/* margin-left0px を指定するクラス*/
.m5 {
  margin: 5px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mr5 {
  margin-right: 5px !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.ml5 {
  margin-left: 5px !important;
}

.m10 {
  margin: 10px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mr10 {
  margin-right: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.ml10 {
  margin-left: 10px !important;
}

.m15 {
  margin: 15px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mr15 {
  margin-right: 15px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.ml15 {
  margin-left: 15px !important;
}

.m20 {
  margin: 20px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mr20 {
  margin-right: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.ml20 {
  margin-left: 20px !important;
}

.m25 {
  margin: 25px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.mr25 {
  margin-right: 25px !important;
}

.mb25 {
  margin-bottom: 25px !important;
}

.ml25 {
  margin-left: 25px !important;
}

.m30 {
  margin: 30px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mr30 {
  margin-right: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.ml30 {
  margin-left: 30px !important;
}

.m35 {
  margin: 35px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mr35 {
  margin-right: 35px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.ml35 {
  margin-left: 35px !important;
}

.m40 {
  margin: 40px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mr40 {
  margin-right: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.ml40 {
  margin-left: 40px !important;
}

.m45 {
  margin: 45px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.mr45 {
  margin-right: 45px !important;
}

.mb45 {
  margin-bottom: 45px !important;
}

.ml45 {
  margin-left: 45px !important;
}

.m50 {
  margin: 50px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mr50 {
  margin-right: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.ml50 {
  margin-left: 50px !important;
}

.m55 {
  margin: 55px !important;
}

.mt55 {
  margin-top: 55px !important;
}

.mr55 {
  margin-right: 55px !important;
}

.mb55 {
  margin-bottom: 55px !important;
}

.ml55 {
  margin-left: 55px !important;
}

.m60 {
  margin: 60px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mr60 {
  margin-right: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.ml60 {
  margin-left: 60px !important;
}

.m65 {
  margin: 65px !important;
}

.mt65 {
  margin-top: 65px !important;
}

.mr65 {
  margin-right: 65px !important;
}

.mb65 {
  margin-bottom: 65px !important;
}

.ml65 {
  margin-left: 65px !important;
}

.m70 {
  margin: 70px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mr70 {
  margin-right: 70px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.ml70 {
  margin-left: 70px !important;
}

.m75 {
  margin: 75px !important;
}

.mt75 {
  margin-top: 75px !important;
}

.mr75 {
  margin-right: 75px !important;
}

.mb75 {
  margin-bottom: 75px !important;
}

.ml75 {
  margin-left: 75px !important;
}

.m80 {
  margin: 80px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mr80 {
  margin-right: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.ml80 {
  margin-left: 80px !important;
}

/* ----------------------------------------------------------------------
 padding - 要素の内側の余白
---------------------------------------------------------------------- */
.p0 {
  padding: 0 !important;
}

/* padding-0px を指定するクラス */
.pt0 {
  padding-top: 0 !important;
}

/* padding-top0px を指定するクラス */
.pr0 {
  padding-right: 0 !important;
}

/* padding-right0px を指定するクラス */
.pb0 {
  padding-bottom: 0 !important;
}

/* padding-bottom0px を指定するクラス */
.pl0 {
  padding-left: 0 !important;
}

/* padding-left0px を指定するクラス */
.p5 {
  padding: 5px !important;
}

.pt5 {
  padding-top: 5px !important;
}

.pr5 {
  padding-right: 5px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

.pl5 {
  padding-left: 5px !important;
}

.p10 {
  padding: 10px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pr10 {
  padding-right: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pl10 {
  padding-left: 10px !important;
}

.p15 {
  padding: 15px !important;
}

.pt15 {
  padding-top: 15px !important;
}

.pr15 {
  padding-right: 15px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

.pl15 {
  padding-left: 15px !important;
}

.p20 {
  padding: 20px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pr20 {
  padding-right: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pl20 {
  padding-left: 20px !important;
}

.p25 {
  padding: 25px !important;
}

.pt25 {
  padding-top: 25px !important;
}

.pr25 {
  padding-right: 25px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

.pl25 {
  padding-left: 25px !important;
}

.p30 {
  padding: 30px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pr30 {
  padding-right: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pl30 {
  padding-left: 30px !important;
}

.p35 {
  padding: 35px !important;
}

.pt35 {
  padding-top: 35px !important;
}

.pr35 {
  padding-right: 35px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

.pl35 {
  padding-left: 35px !important;
}

.p40 {
  padding: 40px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pr40 {
  padding-right: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pl40 {
  padding-left: 40px !important;
}

.p45 {
  padding: 45px !important;
}

.pt45 {
  padding-top: 45px !important;
}

.pr45 {
  padding-right: 45px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

.pl45 {
  padding-left: 45px !important;
}

.p50 {
  padding: 50px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pr50 {
  padding-right: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pl50 {
  padding-left: 50px !important;
}

.p55 {
  padding: 55px !important;
}

.pt55 {
  padding-top: 55px !important;
}

.pr55 {
  padding-right: 55px !important;
}

.pb55 {
  padding-bottom: 55px !important;
}

.pl55 {
  padding-left: 55px !important;
}

.p60 {
  padding: 60px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pr60 {
  padding-right: 60px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pl60 {
  padding-left: 60px !important;
}

.p65 {
  padding: 65px !important;
}

.pt65 {
  padding-top: 65px !important;
}

.pr65 {
  padding-right: 65px !important;
}

.pb65 {
  padding-bottom: 65px !important;
}

.pl65 {
  padding-left: 65px !important;
}

.p70 {
  padding: 70px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pr70 {
  padding-right: 70px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pl70 {
  padding-left: 70px !important;
}

.p75 {
  padding: 75px !important;
}

.pt75 {
  padding-top: 75px !important;
}

.pr75 {
  padding-right: 75px !important;
}

.pb75 {
  padding-bottom: 75px !important;
}

.pl75 {
  padding-left: 75px !important;
}

.p80 {
  padding: 80px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pr80 {
  padding-right: 80px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pl80 {
  padding-left: 80px !important;
}

/* 日付（他のページでも使用） */
.date_list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -10px;
  position: relative;
}
.date_list .date {
  color: var(--kinta-secondary-text-color);
  position: relative;
  font-size: 14px;
  margin-right: 10px;
  margin-bottom: 10px;
  /*
  &:before {
    font-family: 'normal_icon';
    content: '\e903';
    font-size: 18px;
    position: absolute;
    top: calc(50%);
    transform: translateY(-50%);
    left: 0;
    -webkit-font-smoothing: antialiased;
  }
  */
}
.date_list .update {
  color: #999;
  position: relative;
  font-size: 14px;
  padding-left: 20px;
  margin-bottom: 10px;
}
.date_list .update:before {
  font-family: "normal_icon";
  content: "\e91f";
  font-size: 18px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  -webkit-font-smoothing: antialiased;
}

body.mobile_device .date_list .date:before, body.mobile_device .date_list .update:before {
  margin-top: 1px;
}

/* ショートコード用　画像スライダー */
:root {
  --kinta-sc-slider-width: 850px;
  --kinta-sc-slider-height: 550px;
  --kinta-sc-slider-aspect: 850 / 550;
}

.sc_image_carousel_container {
  max-width: var(--kinta-sc-slider-width);
  position: relative;
  margin: 50px auto 50px;
}

.sc_image_carousel_wrap {
  width: 100%;
}

.sc_image_carousel_container.layout_type1 .sc_image_carousel_wrap {
  height: var(--kinta-sc-slider-height);
}

.sc_image_carousel .item {
  position: relative;
  transform-origin: center;
}
.sc_image_carousel .item img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}

.sc_image_carousel_pagination {
  position: relative;
  top: auto !important;
  bottom: auto !important;
  left: auto !important;
  margin: 50px auto 0;
  height: 16px;
}
.sc_image_carousel_pagination .swiper-pagination-bullet {
  transition: background 0.25s ease;
}
.sc_image_carousel_pagination .swiper-pagination-bullet-active {
  transform: scale(1.4);
}

@media (hover: hover) {
  .sc_image_carousel_pagination .swiper-pagination-bullet:hover {
    background: #000;
  }
}
.sc_image_carousel_container + .post_content > h1:first-child, .sc_image_carousel_container + .post_content > h2:first-child, .sc_image_carousel_container + .post_content > h3:first-child {
  margin-top: 120px !important;
}
.sc_image_carousel_container.layout_type2 .sc_image_carousel_wrap {
  overflow: visible;
}
.sc_image_carousel_container.layout_type2 .sc_image_carousel .item {
  max-width: var(--kinta-sc-slider-width);
  height: auto;
  aspect-ratio: var(--kinta-sc-slider-aspect);
  position: relative;
  transform: scale(0.7);
  transition: transform 0.25s ease;
  margin: 0 -57px !important;
}
.sc_image_carousel_container.layout_type2 .sc_image_carousel .item.swiper-slide-active {
  transform: scale(1);
}

/* ショートコード用　画像スライダー */
@media screen and (max-width: 1100px) {
  .sc_image_carousel_container {
    width: 100%;
    margin: 50px auto 50px;
  }
  .sc_image_carousel_container.layout_type1 {
    margin-right: 50px;
    margin-left: 50px;
    width: calc(100% - 100px);
  }
  .sc_image_carousel_container.layout_type1 .sc_image_carousel_wrap {
    height: auto;
    aspect-ratio: var(--kinta-sc-slider-aspect);
  }
  .sc_image_carousel_container.layout_type2 .sc_image_carousel .item {
    aspect-ratio: var(--kinta-sc-slider-aspect);
    width: calc(100% - 100px);
    height: auto;
    margin: 0 -6% !important;
  }
  .sc_image_carousel_container + .post_content > h1:first-child, .sc_image_carousel_container + .post_content > h2:first-child, .sc_image_carousel_container + .post_content > h3:first-child {
    margin-top: 100px !important;
  }
}
@media screen and (max-width: 800px) {
  .sc_image_carousel_container {
    margin: 30px auto 30px;
  }
  #page_contents .sc_image_carousel_container {
    margin-left: -20px;
    margin-right: -20px;
    width: calc(100% + 40px);
  }
  .sc_image_carousel_container.layout_type1 {
    margin-right: 0px;
    margin-left: 0px;
    width: 100%;
  }
  .sc_image_carousel_container.layout_type2 .sc_image_carousel .item {
    width: calc(100% - 60px);
    margin: 0 -5.5% !important;
  }
  .sc_image_carousel_pagination {
    margin: 30px auto 0;
  }
  .sc_image_carousel_container + .post_content > h1:first-child, .sc_image_carousel_container + .post_content > h2:first-child, .sc_image_carousel_container + .post_content > h3:first-child {
    margin-top: 40px !important;
  }
}
#body #page_contents .sc-small {
  width: 120%;
  margin: 0 -10%;
}
#body #page_contents .sc-small .sc_image_carousel_container {
  --kinta-sc-slider-width: 400px;
  --kinta-sc-slider-height: 300px;
  --kinta-sc-slider-aspect: 400 / 300;
  max-width: initial;
  width: 100%;
}
@media screen and (max-width: 800px) {
  #body #page_contents .sc-small .sc_image_carousel_container {
    margin: 0 auto !important;
  }
}
#body #page_contents .sc-small .sc_image_carousel_container .sc_image_carousel_wrap {
  /* max-width: var(--kinta-sc-slider-width); */
}
#body #page_contents .sc-small .sc_image_carousel_container.layout_type2 .sc_image_carousel .item {
  width: 100% !important;
  margin-left: 0px;
  transform: translateX(-40px) scale(1);
  margin: 0 20px 0 0 !important;
}
#body #page_contents .sc-small .sc_image_carousel_container.layout_type2 .sc_image_carousel .item.swiper-slide {
  transition: transform 0.25s ease, opacity 0.25s, visibility 0.25s;
  visibility: hidden;
  opacity: 0;
}
#body #page_contents .sc-small .sc_image_carousel_container.layout_type2 .sc_image_carousel .item.swiper-slide-prev, #body #page_contents .sc-small .sc_image_carousel_container.layout_type2 .sc_image_carousel .item.swiper-slide-active, #body #page_contents .sc-small .sc_image_carousel_container.layout_type2 .sc_image_carousel .item.swiper-slide-next {
  visibility: visible;
  opacity: 1;
}
#body #page_contents .sc-small .sc_image_carousel_container.layout_type2 .sc_image_carousel .item.swiper-slide-active {
  transform: scale(1.2) translateX(0);
  z-index: 10;
}
#body #page_contents .sc-small .sc_image_carousel_container.layout_type2 .sc_image_carousel .item.swiper-slide-active ~ .swiper-slide {
  transform: translateX(40px);
}

@media screen and (min-width: 801px) {
  .kinta-archive-list .kinta-archive-content {
    position: relative;
    padding: 30px;
    max-width: 1000px;
    width: 100%;
    margin: 75px auto 75px;
    grid-gap: 30px;
    display: grid;
    grid-template: "slider description" auto "slider navigation" 25%/50% auto;
  }
  .kinta-archive-list .kinta-archive-content:nth-child(odd) {
    grid-template: "description slider" auto "navigation slider" 25%/auto 50%;
  }
  .kinta-archive-list .kinta-archive-content:nth-child(odd) .kinta-location {
    left: calc(50% + 5px);
  }
  .kinta-archive-list a[id] {
    position: absolute;
    top: 0;
  }
  .kinta-archive-list .kinta-location {
    position: absolute;
    left: 35px;
    top: 35px;
    height: 80px;
    width: 80px;
    z-index: 15;
  }
  .kinta-archive-list .content {
    grid-area: description;
    display: flex;
    flex-direction: column;
  }
  .kinta-archive-list .content .title {
    max-width: min(100vw - 50px, 100%);
    display: block;
    font-size: 28px;
    font-weight: bold;
    padding: 10px 20px;
    margin: 0 auto 20px;
    border-bottom: 1px solid var(--kinta-light-border);
    font-size: 24px;
    margin: 0 0 10px 0;
  }
  body.en-GB .kinta-archive-list .content .title {
    padding: 10px;
  }
}
@media screen and (min-width: 801px) and (max-width: 800px) {
  .kinta-archive-list .content .title {
    font-size: 22px;
  }
}
@media screen and (min-width: 801px) and (max-width: 600px) {
  .kinta-archive-list .content .title {
    padding: 10px;
  }
}
@media screen and (min-width: 801px) {
  .kinta-archive-list .content .desc, .kinta-archive-list .content .slider-description {
    position: relative;
    font-size: 16px;
    line-height: 1.5;
    flex-grow: 1;
    margin: 0 10px;
    width: 100%;
    font-size: 15px;
  }
  .kinta-archive-list .content .desc .fa-solid, .kinta-archive-list .content .slider-description .fa-solid {
    opacity: 0.85;
  }
}
@media screen and (min-width: 801px) and (max-width: 600px) {
  .kinta-archive-list .content .desc, .kinta-archive-list .content .slider-description {
    font-size: 14px;
  }
}
@media screen and (min-width: 801px) {
  .kinta-archive-list .content .desc a.link-button, .kinta-archive-list .content .slider-description a.link-button {
    position: absolute;
    white-space: nowrap;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
  }
  .kinta-archive-list .kinta-archive-slider {
    display: contents;
  }
  .kinta-archive-list .kinta-archive-slider .slides {
    width: 100%;
    grid-area: slider;
    position: relative;
    aspect-ratio: 1/1;
    overflow: hidden;
  }
  .kinta-archive-list .kinta-archive-slider .slides img {
    width: 100%;
    object-fit: cover;
    height: 100%;
  }
  .kinta-archive-list .kinta-archive-slider .navigation {
    grid-area: navigation;
    width: 100%;
    overflow: hidden;
    transition: 0.3s opacity;
  }
  .kinta-archive-list .kinta-archive-slider .navigation .swiper-slide {
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.5333333333);
    position: relative;
    cursor: pointer;
    aspect-ratio: 2/1;
  }
  .kinta-archive-list .kinta-archive-slider .navigation .swiper-slide img {
    width: 100%;
    object-fit: cover;
    height: 100%;
    z-index: 1;
  }
  .kinta-archive-list .kinta-archive-slider .navigation .swiper-slide-thumb-active img {
    opacity: 0.4;
  }
}
@media screen and (min-width: 1101px) {
  .kinta-archive-list .kinta-location {
    height: 110px;
    width: 110px;
  }
  .kinta-archive-list .content .title {
    font-size: 28px;
  }
  .kinta-archive-list .content .desc, .kinta-archive-list .content .slider-description {
    font-size: 16px;
  }
}
@media screen and (max-width: 800px) {
  .kinta-archive-list .kinta-archive-content {
    max-width: 940px;
    margin: 120px auto 0;
    padding: 0 10px;
  }
  .kinta-archive-list .kinta-archive-content:first-child {
    margin-top: 120px;
  }
  .kinta-archive-list .kinta-archive-slider {
    position: relative;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 100%;
    border-radius: 5px;
    box-shadow: 0px 0px 6px rgba(102, 102, 102, 0.2666666667);
    align-items: stretch;
  }
  .kinta-archive-list .kinta-archive-slider .slides {
    position: relative;
    max-width: 100%;
    min-width: 100%;
    border-radius: 0;
    height: 100%;
    aspect-ratio: 3/2;
    overflow: hidden;
  }
  .kinta-archive-list .kinta-archive-slider .slides img {
    width: 100%;
    object-fit: cover;
    height: 100%;
  }
  .kinta-archive-list .kinta-archive-slider:has(.kinta-location) .navigation {
    padding: 5px;
  }
  .kinta-archive-list .kinta-archive-slider .navigation {
    padding: 10px 5px;
    max-width: 100%;
    min-width: 100%;
    background: var(--kinta-slider-bg);
    overflow: hidden;
    transition: 0.3s opacity;
  }
  .kinta-archive-list .kinta-archive-slider .navigation .swiper-slide {
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.5333333333);
    position: relative;
    cursor: pointer;
    aspect-ratio: 2.2/1;
    background: var(--kinta-text-color);
  }
  .kinta-archive-list .kinta-archive-slider .navigation .swiper-slide img {
    width: 100%;
    object-fit: cover;
    height: 100%;
    z-index: 1;
  }
  .kinta-archive-list .kinta-archive-slider .navigation .swiper-slide-thumb-active img {
    opacity: 0.4;
  }
  .kinta-archive-list .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: calc(100% - 40px);
    margin: 0 20px;
    padding: 10px 10px;
    height: 200px;
    text-align: left;
    margin: 30px auto 30px;
    border-radius: 0 0 5px 5px;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .kinta-archive-list .content {
    justify-content: flex-start;
    padding-top: 40px;
    padding-bottom: 0;
    width: 100%;
    margin: 0;
  }
}
@media screen and (max-width: 800px) {
  .kinta-archive-list .content h4 {
    max-width: min(100vw - 50px, 740px);
    display: block;
    font-size: 28px;
    font-weight: bold;
    padding: 10px 20px;
    margin: 0 auto 20px;
    border-bottom: 1px solid var(--kinta-light-border);
    width: 100%;
    margin-top: -20px;
  }
  body.en-GB .kinta-archive-list .content h4 {
    padding: 10px;
  }
}
@media screen and (max-width: 800px) and (max-width: 800px) {
  .kinta-archive-list .content h4 {
    font-size: 22px;
  }
}
@media screen and (max-width: 800px) and (max-width: 600px) {
  .kinta-archive-list .content h4 {
    padding: 10px;
  }
}
@media screen and (max-width: 800px) {
  .kinta-archive-list .content .desc, .kinta-archive-list .content .slider-description {
    font-size: 16px;
    line-height: 1.5;
    margin: 0 auto;
    width: 100%;
    max-width: calc(min(100vw - 80px, 740px) - 40px);
  }
  .kinta-archive-list .content .desc .fa-solid, .kinta-archive-list .content .slider-description .fa-solid {
    opacity: 0.85;
  }
}
@media screen and (max-width: 800px) and (max-width: 600px) {
  .kinta-archive-list .content .desc, .kinta-archive-list .content .slider-description {
    font-size: 14px;
  }
}
@media screen and (max-width: 800px) and (max-width: 600px) {
  .kinta-archive-list .content .desc, .kinta-archive-list .content .slider-description {
    max-width: calc(min(100vw - 50px, 850px) - 20px);
  }
}
@media screen and (max-width: 800px) {
  .kinta-archive-list .content:has(a.link-button) {
    height: 280px;
  }
  .kinta-archive-list .content .title > span {
    position: relative;
    display: flex;
    gap: 10px;
    align-items: end;
  }
  .kinta-archive-list .kinta-location {
    position: absolute;
    left: unset;
    left: 5px;
    height: 90px;
    width: 90px;
    top: 5px;
    z-index: 15;
  }
  .kinta-archive-list .location {
    height: 110px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    left: 50%;
    transform: translate(0, 0);
  }
  .kinta-archive-list a.link-button {
    margin-top: 40px;
  }
}
@media screen and (max-width: 600px) {
  .kinta-archive-list .kinta-archive-slider .slides {
    aspect-ratio: 3/2.5;
  }
}
/* デザインコンテンツ */
.cb_design_content {
  max-width: min(1200px, 100vw - 20px);
  margin: 100px auto;
}
.cb_design_content .main_content {
  display: flex;
}
.cb_design_content .main_content.layout_type2 .dc_image_carousel_container {
  order: 2;
}
@media screen and (max-width: 600px) {
  .cb_design_content .main_content {
    padding-top: 20px;
  }
}
.cb_design_content .main_content .content {
  background: transparent;
  aspect-ratio: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: calc(100% - 40px);
  margin: 0 20px;
  padding: 10px 10px;
  height: 200px;
  text-align: left;
}
@media screen and (max-width: 800px) {
  .cb_design_content .main_content .content {
    justify-content: flex-start;
    padding-top: 40px;
    padding-bottom: 0;
    width: 100%;
    margin: 0;
  }
}
.cb_design_content .main_content .content h4 {
  max-width: min(100vw - 50px, 740px);
  display: block;
  font-size: 28px;
  font-weight: bold;
  padding: 10px 20px;
  margin: 0 auto 20px;
  border-bottom: 1px solid var(--kinta-light-border);
  width: 100%;
  margin-top: -20px;
}
body.en-GB .cb_design_content .main_content .content h4 {
  padding: 10px;
}
@media screen and (max-width: 800px) {
  .cb_design_content .main_content .content h4 {
    font-size: 22px;
  }
}
@media screen and (max-width: 600px) {
  .cb_design_content .main_content .content h4 {
    padding: 10px;
  }
}
.cb_design_content .main_content .content .desc, .cb_design_content .main_content .content .slider-description {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 auto;
  width: 100%;
  max-width: calc(min(100vw - 80px, 740px) - 40px);
}
.cb_design_content .main_content .content .desc .fa-solid, .cb_design_content .main_content .content .slider-description .fa-solid {
  opacity: 0.85;
}
@media screen and (max-width: 600px) {
  .cb_design_content .main_content .content .desc, .cb_design_content .main_content .content .slider-description {
    font-size: 14px;
  }
}
@media screen and (max-width: 600px) {
  .cb_design_content .main_content .content .desc, .cb_design_content .main_content .content .slider-description {
    max-width: calc(min(100vw - 50px, 850px) - 20px);
  }
}
@media screen and (max-width: 600px) {
  .cb_design_content .main_content .content {
    height: auto;
    padding-top: 0;
  }
}
@media screen and (max-width: 600px) {
  .cb_design_content .main_content .content h4 {
    width: calc(100vw - 40px);
    margin: 0;
    transform: translate(-50%, -100%);
    position: absolute;
    left: 50%;
    top: 0;
    text-align: center;
  }
}

.dc_image_carousel_container {
  width: 50%;
}

.dc_image_carousel .item {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
}
.dc_image_carousel .item img {
  width: 100%;
  height: auto;
}

.dc_image_carousel_pagination .swiper-pagination-bullet-active {
  transform: scale(1.4);
}

.cb_image_slider .slider-description-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: min(100vw - 60px, 810px);
  margin: 0 auto;
  padding: 60px 10px 60px;
  text-align: left;
}
@media screen and (max-width: 800px) {
  .cb_image_slider .slider-description-content {
    padding: 30px 10px;
  }
}
.cb_image_slider .slider-description-content h4 {
  max-width: min(100vw - 50px, 740px);
  display: block;
  font-size: 28px;
  font-weight: bold;
  padding: 10px 20px;
  margin: 0 auto 20px;
  border-bottom: 1px solid var(--kinta-light-border);
  width: 100%;
  margin-top: -20px;
}
body.en-GB .cb_image_slider .slider-description-content h4 {
  padding: 10px;
}
@media screen and (max-width: 800px) {
  .cb_image_slider .slider-description-content h4 {
    font-size: 22px;
  }
}
@media screen and (max-width: 600px) {
  .cb_image_slider .slider-description-content h4 {
    padding: 10px;
  }
}
.cb_image_slider .slider-description-content .desc, .cb_image_slider .slider-description-content .slider-description {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 auto;
  width: 100%;
  max-width: calc(min(100vw - 50px, 850px) - 60px);
}
.cb_image_slider .slider-description-content .desc .fa-solid, .cb_image_slider .slider-description-content .slider-description .fa-solid {
  opacity: 0.85;
}
@media screen and (max-width: 600px) {
  .cb_image_slider .slider-description-content .desc, .cb_image_slider .slider-description-content .slider-description {
    font-size: 14px;
  }
}
@media screen and (max-width: 600px) {
  .cb_image_slider .slider-description-content .desc, .cb_image_slider .slider-description-content .slider-description {
    max-width: calc(min(100vw - 50px, 850px) - 40px);
  }
}

#content_builder .kinta-content-swiper .swiper-slide-active {
  position: relative;
}
#content_builder .kinta-content-swiper .swiper-slide-active .content {
  opacity: 1;
  transition: all 0.2s;
}
#content_builder .kinta-content-swiper .content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: calc(100% - 40px);
  margin: 0 20px;
  padding: 10px 10px;
  height: 200px;
  text-align: left;
  pointer-events: none;
  transition: all 0.2s;
  opacity: 0;
  position: absolute;
  top: calc(100% + 40px);
}
@media screen and (max-width: 800px) {
  #content_builder .kinta-content-swiper .content {
    justify-content: flex-start;
    padding-top: 40px;
    padding-bottom: 0;
    width: 100%;
    margin: 0;
  }
}
#content_builder .kinta-content-swiper .content h4 {
  max-width: min(100vw - 50px, 740px);
  display: block;
  font-size: 28px;
  font-weight: bold;
  padding: 10px 20px;
  margin: 0 auto 20px;
  border-bottom: 1px solid var(--kinta-light-border);
  width: 100%;
  margin-top: -20px;
}
body.en-GB #content_builder .kinta-content-swiper .content h4 {
  padding: 10px;
}
@media screen and (max-width: 800px) {
  #content_builder .kinta-content-swiper .content h4 {
    font-size: 22px;
  }
}
@media screen and (max-width: 600px) {
  #content_builder .kinta-content-swiper .content h4 {
    padding: 10px;
  }
}
#content_builder .kinta-content-swiper .content .desc, #content_builder .kinta-content-swiper .content .slider-description {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 auto;
  width: 100%;
  max-width: calc(min(100vw - 80px, 740px) - 40px);
}
#content_builder .kinta-content-swiper .content .desc .fa-solid, #content_builder .kinta-content-swiper .content .slider-description .fa-solid {
  opacity: 0.85;
}
@media screen and (max-width: 600px) {
  #content_builder .kinta-content-swiper .content .desc, #content_builder .kinta-content-swiper .content .slider-description {
    font-size: 14px;
  }
}
@media screen and (max-width: 600px) {
  #content_builder .kinta-content-swiper .content .desc, #content_builder .kinta-content-swiper .content .slider-description {
    max-width: calc(min(100vw - 50px, 850px) - 20px);
  }
}
@media screen and (max-width: 800px) {
  #content_builder .kinta-content-swiper .content {
    top: calc(100% + 40px);
  }
}
#content_builder .kinta-content-swiper .link_button {
  margin-top: 310px;
}

/* 文字サイズとフォントタイプ */
body, input, textarea {
  font-size: var(--content_font_size);
  font-family: var(--content_font_type);
}

.rich_font, .p-vertical {
  font-size: var(--catch_font_size);
  font-family: var(--catch_font_type);
}

.rich_font_type1 {
  font-family: var(--font_family_type1);
  font-weight: 600;
}

.rich_font_type2 {
  font-family: var(--font_family_type2);
  font-weight: 600;
}

.rich_font_type3 {
  font-family: var(--font_family_type3);
  font-weight: 500;
}

@media screen and (max-width: 1200px) {
  .rich_font, .p-vertical {
    font-size: calc(var(--catch_font_size) + var(--catch_font_size_sp) / 2);
  }
}
@media screen and (max-width: 800px) {
  body {
    font-size: var(--content_font_size_sp);
  }
  .rich_font, .p-vertical {
    font-size: var(--catch_font_size_sp);
  }
}
/* グローバルメニュー */
#global_menu {
  height: 59px;
  z-index: 2;
  position: relative;
  flex: 1 1 auto;
  width: 1000px;
  text-align: center;
}
#global_menu > ul {
  position: relative;
  display: inline-flex;
  flex-wrap: nowrap;
}
#global_menu > ul > li {
  white-space: nowrap;
  position: relative;
  line-height: 1;
  text-align: center;
  font-size: 16px;
}
#global_menu > ul > li > a {
  color: #000;
  text-decoration: none;
  height: 59px;
  line-height: 59px;
  padding: 0 25px;
  display: block;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1300px) {
  #global_menu > ul > li > a {
    padding: 0 20px;
  }
}

body.header_fix #global_menu > ul > li > a {
  height: 70px;
  line-height: 70px;
  color: #fff;
}

#global_menu > ul > li.current-menu-item > a {
  color: var(--kinta-sticky-header-menu-color-hover) !important;
}
#global_menu > ul > li > a:after {
  content: "";
  height: 5px;
  width: 0;
  background: var(--kinta-header-menu-color-hover);
  position: absolute;
  left: calc(var(--global-menu-under-bar) / 2);
  bottom: 0;
  transition: width 0.25s ease;
}

body.header_fix #global_menu:has(.active_megamenu_button) li.current-menu-item > a, body.header_fix #global_menu:has(.active) li.current-menu-item > a {
  color: #fff;
}
#global_menu ul ul {
  background: #f5f5f5;
  display: none;
  width: 240px;
  position: absolute;
  top: 59px;
  left: 10px;
  margin: 0;
  padding: 0;
  z-index: 100;
}

body.megamenu_dark_color #global_menu ul ul {
  background: var(--main_color);
}
body.header_fix #global_menu ul ul {
  top: 70px;
}

#global_menu ul ul ul {
  display: block;
  position: relative;
  left: auto;
  top: auto !important;
}
#global_menu ul ul li {
  line-height: 1.5;
  font-size: 14px;
  padding: 0;
  margin: 0;
  text-align: left;
  position: relative;
  display: block;
}
#global_menu ul ul a {
  color: #000;
  display: block;
  position: relative;
  padding: 17px 30px 15px;
  height: auto;
  line-height: 1.6;
  margin: 0;
}
#global_menu ul ul ul a {
  padding-left: calc(1em + 30px);
}
#global_menu ul ul ul ul a {
  padding-left: calc(2em + 30px);
}
#global_menu ul ul ul ul ul a {
  padding-left: calc(3em + 30px);
}

body.megamenu_dark_color #global_menu ul ul a {
  color: #fff;
}

#global_menu {
  --global-menu-under-bar: 60px;
}
#global_menu > ul > li.current-menu-item > a:after, #global_menu > ul > li.active > a:after, #global_menu > ul > li.active_megamenu_button > a:after {
  width: calc(100% - var(--global-menu-under-bar));
}
#global_menu:has(.active_megamenu_button) li.current-menu-item > a:after, #global_menu:has(.active) li.current-menu-item > a:after {
  width: 0;
}
#global_menu:has(.active_megamenu_button) li.current-menu-item.active_megamenu_button > a:after {
  width: calc(100% - var(--global-menu-under-bar));
}

@media (hover: hover) {
  #global_menu > ul > li > a:hover:after {
    width: calc(100% - var(--global-menu-under-bar)) !important;
  }
  body.megamenu_light_color #global_menu ul ul a:hover {
    text-decoration: none;
    background: var(--main_color);
    color: #fff;
  }
  body.megamenu_dark_color #global_menu ul ul a:hover {
    text-decoration: none;
    background: rgba(255, 255, 255, 0.2);
  }
}
#global_menu > ul > li > a, body.header_fix #global_menu > ul > li > a {
  color: var(--kinta-header-menu-color);
  background: var(--kinta-header-menu-bg);
  border: 1px solid var(--kinta-header-menu-border);
  font-size: 18px;
}
#global_menu > ul > li > a[data-description], body.header_fix #global_menu > ul > li > a[data-description] {
  font-size: 12px;
  line-height: 20px;
}
#global_menu > ul > li > a[data-description]::before, body.header_fix #global_menu > ul > li > a[data-description]::before {
  font-size: 18px;
  display: block;
  line-height: 30px;
}
#global_menu > ul > li > a[data-description]::before, body.header_fix #global_menu > ul > li > a[data-description]::before {
  content: attr(data-description);
}

body.header_fix #header {
  backdrop-filter: blur(5px);
  background: rgba(var(--kinta-sticky-header-bg-rgb), 0.9) !important;
}
body.header_fix #lang_button {
  background: transparent;
}
body.header_fix #global_menu > ul > li > a {
  color: var(--kinta-header-menu-color);
}
body.header_fix #global_menu > ul > li > a[data-description] {
  padding-top: 5px;
}
body.header_fix #global_menu > ul > li > a::after {
  --main_color: var(--kinta-sticky-header-menu-color-hover);
  bottom: 1px;
}

@keyframes header_animation {
  0% {
    transform: translate3d(0, -100%, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}
@keyframes header_animation_reverse {
  0% {
    transform: translate3d(0, 0, 0);
  }
  100% {
    transform: translate3d(0, -100%, 0);
  }
}
/* ----------------------------------------------------------------------
　ページ上部　ヘッダー
---------------------------------------------------------------------- */
#header {
  z-index: 100;
  position: relative;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 130px;
  border: 0;
  color: var(--kinta-header-color);
  background: var(--kinta-header-bg);
  border-bottom: 1px solid var(--kinta-header-border);
  display: flex;
  flex-wrap: nowrap;
}

body.page-template-page-tcd-lp.hide_global_menu #header {
  display: block;
}
body.header_fix {
  padding-top: 130px;
}
body.header_fix #header {
  height: 70px;
  position: fixed;
  color: var(--kinta-sticky-header-color);
  background: var(--kinta-sticky-header-bg);
  border-bottom: 1px solid var(--kinta-sticky-header-border);
  animation: header_animation 0.3s ease forwards;
}
body.header_fix.active_scroll #header {
  animation: none !important;
  transform: translate3d(0, 0, 0);
}

#header .menu_area {
  height: 100%;
  flex: 1 1 auto;
  position: relative;
}

body.header_fix #header .menu_area {
  height: 70px;
}

#header .menu_area .top {
  height: 70px;
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  padding-right: 120px;
}

body.header_fix #header .menu_area .top {
  display: none;
}

#header .menu_area .bottom {
  height: 60px;
  position: relative;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
}

body.header_fix #header .menu_area .bottom {
  height: 70px;
  border-top: none;
}

/* ヘッダロゴ */
#header_logo:has(.kinta-header-logo), #header_logo a:has(.kinta-header-logo) {
  display: inline !important;
}
#header_logo .kinta-header-logo {
  display: block;
  padding: 10px;
  width: 330px;
  height: 100%;
  max-height: 110px;
  max-width: 330px;
  background: var(--kinta-header-color);
  mask-image: url(/wp-content/uploads/kinta/logo.svg);
  mask-position: center;
  mask-size: contain;
  mask-repeat: no-repeat;
  margin: 5px 0;
}
@media screen and (max-width: 1500px) {
  #header_logo .kinta-header-logo {
    position: absolute;
    max-width: 180px;
    max-height: 50px;
  }
}
body.header_fix #header_logo .kinta-header-logo {
  background: var(--kinta-sticky-header-color);
  max-height: 50px;
}
@media screen and (max-width: 1650px) {
  body.header_fix #header_logo .kinta-header-logo {
    max-width: 220px;
  }
}
@media screen and (max-width: 1600px) {
  body.header_fix #header_logo .kinta-header-logo {
    max-width: 200px;
  }
}
@media screen and (max-width: 1500px) {
  body.header_fix #header_logo .kinta-header-logo {
    position: relative;
  }
}
body.hide_logo #header_logo {
  display: none !important;
}
body.header_fix #header_logo img {
  display: none;
}
body.header_fix #header_logo img.scroll {
  display: block;
  height: 100%;
}
body.header_fix #header_logo.mobile, body.header_fix #header_logo.scroll {
  display: none;
}
@media screen and (max-width: 1100px) {
  #header_logo.pc {
    display: none !important;
  }
  #header_logo.mobile {
    display: block !important;
  }
}

/* 検索フォーム */
#header_search {
  overflow: hidden;
  height: 70px;
  width: 440px;
  z-index: 10;
  position: relative;
}
#header_search form {
  position: relative;
  width: 100%;
  height: 100%;
}
#header_search .input_area {
  position: absolute;
  top: 0;
  right: 70px;
  width: 370px;
  height: 100%;
  padding: 0 0 0 15px;
  z-index: 1;
}
#header_search .input_area input {
  border: none;
  height: 40px;
  width: 100%;
  margin: 15px 0 0 0;
  padding: 0 25px;
  color: var(--kinta-block-input-color);
  background: var(--kinta-block-input-bg);
  border: 1px solid var(--kinta-block-input-border);
  transition: color 0.2s ease 0s, background 0.2s ease 0s, opacity 1s ease 0s;
  border-radius: 40px;
}
#header_search .input_area input:focus {
  color: var(--kinta-block-input-color-hover);
  background: var(--kinta-block-input-bg-hover);
  border: 1px solid var(--kinta-block-input-border-hover);
}
#header_search .search_button {
  position: absolute;
  right: 0px;
  top: 0px;
  z-index: 100;
}
#header_search .search_button input {
  display: block;
  width: 70px;
  height: 70px;
  cursor: pointer;
  background: none;
  border: none;
}
#header_search .search_button:before {
  display: block;
  font-family: "normal_icon";
  color: #000;
  font-size: 16px;
  content: "\e94c";
  pointer-events: none;
  font-weight: 500;
  left: 50%;
  top: calc(50% + 2px);
  transform: translate(-50%, -50%);
  position: absolute;
  transition: color 0.2s ease;
}
#header_search .search_button:hover:before {
  color: rgba(0, 0, 0, 0.6) !important;
}

/* ボタン */
#header_button {
  font-size: 16px;
  display: flex;
  flex-wrap: wrap;
}
#header_button a {
  height: 70px;
  line-height: 70px;
  padding: 0 30px;
  min-width: 180px;
  text-align: center;
  color: var(--kinta-primary-button-color) !important;
  background: var(--kinta-primary-button-bg) !important;
  border: 1px solid var(--kinta-primary-button-border) !important;
  transition: color 0.2s ease 0s, background 0.2s ease 0s, opacity 1s ease 0s !important;
  text-shadow: 0px 0px 3px rgba(var(--kinta-primary-button-border, 0.5));
  text-decoration: none !important;
  border-left: 1px solid rgba(255, 255, 255, 0.1333333333) !important;
}
@media (hover: hover) {
  #header_button a:hover, #header_button a:focus {
    color: var(--kinta-primary-button-color-hover) !important;
    background: var(--kinta-primary-button-bg-hover) !important;
    border: 1px solid var(--kinta-primary-button-border-hover) !important;
  }
}

#page_header_desc ul.kinta-list-link-selector, #page_contents ul.kinta-list-link-selector {
  list-style: none !important;
  display: flex;
  flex-wrap: wrap;
  width: calc(100% + 150px);
  margin: 0 -75px;
  justify-content: center;
}
@media screen and (max-width: 1100px) {
  #page_header_desc ul.kinta-list-link-selector, #page_contents ul.kinta-list-link-selector {
    width: 100%;
    margin: 0;
  }
}
#page_header_desc ul.kinta-list-link-selector li, #page_contents ul.kinta-list-link-selector li {
  padding: 0 20px;
  border: 0;
}
@media screen and (max-width: 1100px) {
  #page_header_desc ul.kinta-list-link-selector li, #page_contents ul.kinta-list-link-selector li {
    padding: 0 15px;
  }
}
#page_header_desc ul.kinta-list-link-selector li a, #page_contents ul.kinta-list-link-selector li a {
  color: var(--kinta-link-color);
  transition: color 0.2s ease 0s, background 0.2s ease 0s, opacity 1s ease 0s;
  text-decoration: none;
  font-size: 15px;
}
@media (hover: hover) {
  #page_header_desc ul.kinta-list-link-selector li a:hover, #page_header_desc ul.kinta-list-link-selector li a:focus, #page_contents ul.kinta-list-link-selector li a:hover, #page_contents ul.kinta-list-link-selector li a:focus {
    --kinta-link-color: var(--kinta-link-color-hover) ;
  }
}
@media screen and (max-width: 1100px) {
  #page_header_desc ul.kinta-list-link-selector li a, #page_contents ul.kinta-list-link-selector li a {
    padding: 10px 5px;
  }
}
@media screen and (max-width: 800px) {
  #page_header_desc ul.kinta-list-link-selector li a, #page_contents ul.kinta-list-link-selector li a {
    font-size: 14px;
  }
}
#page_header_desc ul.kinta-list-link-selector li a::after, #page_contents ul.kinta-list-link-selector li a::after {
  margin-left: 10px;
  font: var(--fa-font-solid);
  content: "\f107";
}

#page_contents ul.kinta-list-link-selector {
  margin-bottom: 50px;
}

/* ページ内のブロック表示 */
.kinta-white-block {
  color: var(--kinta-block-white-color);
  background: var(--kinta-block-white-bg);
  border: 1px solid var(--kinta-block-white-border);
  box-shadow: 0px 0px 6px rgba(102, 102, 102, 0.2666666667);
  border-radius: 5px;
  padding: 20px;
}

#body .kinta-block-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: min(100vw - 60px, 810px);
  margin: 0 auto;
  padding: 30px 10px 60px;
  text-align: left;
}
@media screen and (max-width: 800px) {
  #body .kinta-block-content {
    padding: 30px 10px;
  }
}
#body .kinta-block-content h4 {
  max-width: min(100vw - 50px, 740px);
  display: block;
  font-size: 28px;
  font-weight: bold;
  padding: 10px 20px;
  margin: 0 auto 20px;
  border-bottom: 1px solid var(--kinta-light-border);
  width: 100%;
  margin-top: -20px;
}
body.en-GB #body .kinta-block-content h4 {
  padding: 10px;
}
@media screen and (max-width: 800px) {
  #body .kinta-block-content h4 {
    font-size: 22px;
  }
}
@media screen and (max-width: 600px) {
  #body .kinta-block-content h4 {
    padding: 10px;
  }
}
#body .kinta-block-content .desc, #body .kinta-block-content .slider-description {
  font-size: 16px;
  line-height: 1.5;
  margin: 0 auto;
  width: 100%;
  max-width: calc(min(100vw - 80px, 740px) - 40px);
}
#body .kinta-block-content .desc .fa-solid, #body .kinta-block-content .slider-description .fa-solid {
  opacity: 0.85;
}
@media screen and (max-width: 600px) {
  #body .kinta-block-content .desc, #body .kinta-block-content .slider-description {
    font-size: 14px;
  }
}
@media screen and (max-width: 600px) {
  #body .kinta-block-content .desc, #body .kinta-block-content .slider-description {
    max-width: calc(min(100vw - 50px, 850px) - 20px);
  }
}
@media screen and (max-width: 450px) {
  #body .kinta-block-content h4 {
    font-size: 18px;
    padding: 10px;
  }
}

#body .kinta-heading {
  max-width: min(100vw - 50px, 740px);
  display: block;
  font-weight: bold;
  padding: 10px 20px;
  margin: 0 auto 20px;
  border-bottom: 1px solid var(--kinta-light-border);
}
body.en-GB #body .kinta-heading {
  padding: 10px;
}
@media screen and (max-width: 800px) {
  #body .kinta-heading {
    font-size: 22px;
  }
}
@media screen and (max-width: 600px) {
  #body .kinta-heading {
    padding: 10px;
  }
}

#body .kinta-description {
  max-width: calc(min(100vw - 80px, 740px) - 40px);
  margin: 0 auto;
}
@media screen and (max-width: 600px) {
  #body .kinta-description {
    max-width: calc(min(100vw - 50px, 850px) - 20px);
  }
}

#body .kinta-description.no-title {
  font-size: 16px;
  line-height: 1.5;
  max-width: calc(min(100vw - 50px, 850px) - 60px);
  margin: 0 auto;
}
#body .kinta-description.no-title .fa-solid {
  opacity: 0.85;
}
@media screen and (max-width: 600px) {
  #body .kinta-description.no-title {
    font-size: 14px;
  }
}
@media screen and (max-width: 600px) {
  #body .kinta-description.no-title {
    max-width: calc(min(100vw - 50px, 850px) - 40px);
  }
}

#body .kinta-button-links .wp-block-group__inner-container {
  grid-gap: 20px;
  text-align: center;
}

#body .wp-block-group:has(.wp-block-image) {
  margin-bottom: 30px;
}

a.link-button {
  color: var(--kinta-link-button-color) !important;
  background: var(--kinta-link-button-bg) !important;
  border: 1px solid var(--kinta-link-button-border) !important;
  transition: color 0.2s ease 0s, background 0.2s ease 0s, opacity 1s ease 0s !important;
  text-shadow: 0px 0px 3px rgba(var(--kinta-link-button-border, 0.5));
  text-decoration: none !important;
  margin: 0 auto;
  padding: 10px 30px;
  display: block;
  text-align: center;
  max-width: min(350px, 95vw);
}
@media (hover: hover) {
  a.link-button:hover, a.link-button:focus {
    color: var(--kinta-link-button-color-hover) !important;
    background: var(--kinta-link-button-bg-hover) !important;
    border: 1px solid var(--kinta-link-button-border-hover) !important;
  }
}
a.link-button.small {
  max-width: min(250px, 95vw);
}
a.link-button.link-icon::after {
  margin-left: 0.5em;
  font: var(--fa-font-solid);
  content: "\f35d";
}

/* パンくずリンク */
#bread_crumb {
  position: relative;
  z-index: 3;
  background: var(--kinta-breadcrumbs-bg);
  color: var(--kinta-breadcrumbs-color);
  border-bottom: 1px solid var(--kinta-breadcrumbs-border);
}
#bread_crumb ul {
  width: 1000px;
  height: 60px;
  line-height: 60px;
  margin: 0 auto !important;
  padding: 0 5px;
  display: flex;
  flex-wrap: nowrap;
}
@media screen and (max-width: 1100px) {
  #bread_crumb ul {
    padding: 0 30px;
  }
}

#bread_crumb li {
  flex: 0 0 auto;
  font-size: 14px;
  padding: 0 22px 0 10px;
  position: relative;
}
#bread_crumb li:after {
  font-family: "normal_icon";
  content: "\e910";
  font-size: 11px;
  display: block;
  position: absolute;
  right: 0px;
  top: 0px;
  -webkit-font-smoothing: antialiased;
}
#bread_crumb li:last-of-type {
  flex: 0 1 auto;
  padding-right: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  visibility: visible;
}
#bread_crumb li:last-of-type:after {
  display: none;
}
#bread_crumb li a {
  color: var(--kinta-link-color);
  transition: color 0.2s ease 0s, background 0.2s ease 0s, opacity 1s ease 0s;
  display: inline;
}
@media (hover: hover) {
  #bread_crumb li a:hover, #bread_crumb li a:focus {
    --kinta-link-color-color: var(--kinta-link-color-color-hover) ;
  }
}
#bread_crumb li.category {
  flex: 0 1 auto;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  visibility: visible;
}
#bread_crumb li.category a:after {
  content: " ,";
}
#bread_crumb li.category a:last-of-type:after {
  display: none;
}
#bread_crumb li.home {
  flex: 0 0 35px !important;
  padding: 0;
}
#bread_crumb li.home a {
  position: relative;
}
#bread_crumb li.home a span {
  display: none;
}
#bread_crumb li.home a:before {
  font-family: "normal_icon";
  content: "\e90c";
  font-size: 12px;
  display: inline-block;
  top: -1px;
  position: relative;
  -webkit-font-smoothing: antialiased;
}

@media (hover: hover) {
  #bread_crumb li a:hover {
    color: rgba(0, 0, 0, 0.6);
  }
}
@media (hover: hover) {
  #bread_crumb li.home a:hover:before {
    color: rgba(0, 0, 0, 0.6);
  }
}
/* パンくずリンク */
/*
@media screen and (max-width: 1300px) {
  body {
    &.blog #bread_crumb, &.archive #bread_crumb {
      scroll-margin-top: -30px;
    }
  }
}

@media screen and (max-width: 1100px) {
  #bread_crumb {
    padding: 0 50px;

    ul {
      width: auto !important;
      height: 50px;
      line-height: 50px;
    }
  }

  body {
    &.single-gallery #bread_crumb ul {
      margin: 20px 0;
    }

    &.blog #bread_crumb, &.archive #bread_crumb {
      padding: 20px 50px 0;
    }

    &.blog #bread_crumb ul, &.archive #bread_crumb ul {
      margin: 0 auto -15px;
    }

    &.tax-gallery_category #bread_crumb {
      padding: 0 50px;

      ul {
        margin: 20px auto;
      }
    }
  }
}

@media screen and (max-width: 800px) {
  #bread_crumb {
    height: 50px;
    padding: 0 20px;
    overflow: auto;
    overflow-y: hidden;
    scrollbar-width: thin;
    border-bottom: 1px solid #ddd;

    ul {
      overflow: visible;
      height: 50px;
      line-height: 52px;
      margin: 0;
    }
  }

  body {
    &.single-gallery #bread_crumb ul {
      margin: 0;
    }

    &.blog #bread_crumb, &.archive #bread_crumb {
      padding: 0 20px;
    }

    &.blog #bread_crumb ul, &.archive #bread_crumb ul {
      margin: 0 auto;
    }
  }

  #bread_crumb li {
    font-size: 12px;

    &.category {
      flex: 0 0 auto;
      overflow: visible;
      text-overflow: clip;
      white-space: normal;
    }

    &:last-of-type {
      flex: 0 0 auto;
      padding-right: 20px;
      overflow: visible;
      text-overflow: clip;
      white-space: normal;
    }
  }
}
*/
.arrow-link {
  display: inline-block;
  position: relative;
  text-decoration: none !important;
  color: var(--kinta-link-color);
  padding: 0 20px 0 10px;
  line-height: 2.4;
}
.arrow-link::after {
  content: "";
  position: absolute;
  bottom: 5px;
  left: 0;
  margin: 0;
  width: 100%;
  height: 10px;
  border-bottom: 1px solid var(--kinta-link-color);
  border-right: 1px solid var(--kinta-link-color);
  transform: skew(45deg);
}
@media (hover: hover) {
  .arrow-link:hover, .arrow-link:focus {
    --kinta-link-color: var(--kinta-link-color-hover);
  }
}

@media screen and (min-width: 451px) {
  br.xs {
    display: none;
  }
}

@media screen and (min-width: 601px) {
  br.s {
    display: none;
  }
}

@media screen and (min-width: 801px) {
  br.m {
    display: none;
  }
}

#page_contents .post_content:has(.wpcf7) {
  max-width: 850px;
}

#page_contents .post_content .wpcf7 {
  max-width: 850px;
  margin: 0 auto;
  color: var(--kinta-block-white-color);
  background: var(--kinta-block-white-bg);
  border: 1px solid var(--kinta-block-white-border);
  box-shadow: 0px 0px 6px rgba(102, 102, 102, 0.2666666667);
  border-radius: 5px;
}
#page_contents .post_content .wpcf7 p {
  line-height: 1.6;
}
#page_contents .post_content .wpcf7 p:has(span) br {
  display: none;
}
#page_contents .post_content .wpcf7 select, #page_contents .post_content .wpcf7 option {
  -webkit-appearance: auto;
}
#page_contents .post_content .wpcf7 input[type=submit] {
  color: var(--kinta-primary-button-color) !important;
  background: var(--kinta-primary-button-bg) !important;
  border: 1px solid var(--kinta-primary-button-border) !important;
  transition: color 0.2s ease 0s, background 0.2s ease 0s, opacity 1s ease 0s !important;
  text-shadow: 0px 0px 3px rgba(var(--kinta-primary-button-border, 0.5));
  text-decoration: none !important;
}
@media (hover: hover) {
  #page_contents .post_content .wpcf7 input[type=submit]:hover, #page_contents .post_content .wpcf7 input[type=submit]:focus {
    color: var(--kinta-primary-button-color-hover) !important;
    background: var(--kinta-primary-button-bg-hover) !important;
    border: 1px solid var(--kinta-primary-button-border-hover) !important;
  }
}
#page_contents .post_content .wpcf7 label {
  display: flex;
  align-items: center;
  line-height: 1.2;
}
#page_contents .post_content .wpcf7 form > p > label {
  margin: 20px 0 5px;
  font-weight: 700;
}
#page_contents .post_content .wpcf7 span.row {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 10px 5px;
  width: 100%;
  white-space: nowrap;
  flex-wrap: wrap;
}
#page_contents .post_content .wpcf7 span.row.separate > .column:not(:last-child)::after {
  content: "/";
  margin: 0 5px;
}
@media screen and (max-width: 600px) {
  #page_contents .post_content .wpcf7 span.row.separate > .column:not(:last-child)::after {
    content: "";
  }
}
#page_contents .post_content .wpcf7 span.row .large {
  width: 0;
  flex-grow: 1;
}
@media screen and (max-width: 600px) {
  #page_contents .post_content .wpcf7 span.row .large {
    width: 100%;
  }
}
@media screen and (max-width: 600px) {
  #page_contents .post_content .wpcf7 span.row:has(.column) {
    flex-direction: column;
    align-items: start;
  }
}
#page_contents .post_content .wpcf7 input[type=text], #page_contents .post_content .wpcf7 input[type=number], #page_contents .post_content .wpcf7 input[type=date], #page_contents .post_content .wpcf7 input[type=tel], #page_contents .post_content .wpcf7 input[type=email], #page_contents .post_content .wpcf7 input[type=radio], #page_contents .post_content .wpcf7 select {
  color: var(--kinta-block-input-color);
  background: var(--kinta-block-input-bg);
  border: 1px solid var(--kinta-block-input-border);
  transition: color 0.2s ease 0s, background 0.2s ease 0s, opacity 1s ease 0s;
  border-radius: 5px;
  margin: 0 5px 0 0;
}
#page_contents .post_content .wpcf7 input[type=text]:focus, #page_contents .post_content .wpcf7 input[type=number]:focus, #page_contents .post_content .wpcf7 input[type=date]:focus, #page_contents .post_content .wpcf7 input[type=tel]:focus, #page_contents .post_content .wpcf7 input[type=email]:focus, #page_contents .post_content .wpcf7 input[type=radio]:focus, #page_contents .post_content .wpcf7 select:focus {
  color: var(--kinta-block-input-color-hover);
  background: var(--kinta-block-input-bg-hover);
  border: 1px solid var(--kinta-block-input-border-hover);
}
#page_contents .post_content .wpcf7 input[type=text]:not(:first-child), #page_contents .post_content .wpcf7 input[type=number]:not(:first-child), #page_contents .post_content .wpcf7 input[type=date]:not(:first-child), #page_contents .post_content .wpcf7 input[type=tel]:not(:first-child), #page_contents .post_content .wpcf7 input[type=email]:not(:first-child), #page_contents .post_content .wpcf7 input[type=radio]:not(:first-child), #page_contents .post_content .wpcf7 select:not(:first-child) {
  margin-left: 5px;
}
#page_contents .post_content .wpcf7 input[type=text], #page_contents .post_content .wpcf7 input[type=number] {
  width: 100px;
}
#page_contents .post_content .wpcf7 input[type=date], #page_contents .post_content .wpcf7 input[type=tel], #page_contents .post_content .wpcf7 input[type=email] {
  width: 200px;
}
#page_contents .post_content .wpcf7 input.medium {
  width: 400px;
}
@media screen and (max-width: 600px) {
  #page_contents .post_content .wpcf7 input.medium {
    width: 100%;
  }
}
#page_contents .post_content .wpcf7 input.full {
  width: 100%;
}
#page_contents .post_content .wpcf7 select {
  width: auto;
  min-width: 80px;
}
#page_contents .post_content .wpcf7 .wpcf7-not-valid-tip {
  font-size: 90%;
}
#page_contents .post_content .wpcf7 span.required {
  display: inline;
}
#page_contents .post_content .wpcf7 span.required::before {
  font-size: 10px;
  padding: 2px 10px;
  border-radius: 5px;
  background: #ff6666;
  color: #ffffff;
  content: "必須";
  margin-right: 5px;
  font-weight: 400;
}
html[lang=en-GB] #page_contents .post_content .wpcf7 span.required::before {
  content: "Required";
}
#page_contents .post_content .wpcf7 .attension {
  font-size: 90%;
  display: block;
}
#page_contents .post_content .wpcf7 .wpcf7-form-control.wpcf7-radio {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
#page_contents .post_content .wpcf7 .wpcf7-form-control.wpcf7-radio .wpcf7-list-item {
  margin-left: 0;
}
#page_contents .post_content .wpcf7 .wpcf7 select, #page_contents .post_content .wpcf7 .wpcf7-list-item-label {
  font-size: inherit;
}
#page_contents .post_content .wpcf7 .wpcf7-list-item.first {
  margin-left: 0;
}
#page_contents .post_content .wpcf7 .wpcf7-list-item.first:has([value=未選択]) {
  pointer-events: none;
  tab-index: -1;
  position: absolute;
  width: 0;
  height: 0;
  visibility: hidden;
}
#page_contents .post_content .wpcf7 span:has([data-name=transit-type]) {
  display: flex;
  align-items: center;
}
#page_contents .post_content .wpcf7 span:has([data-name=transit-type]) [data-name=transit-type], #page_contents .post_content .wpcf7 span:has([data-name=transit-type]) .wpcf7-form-control.wpcf7-radio {
  display: contents;
}
#page_contents .post_content .wpcf7 span:has([data-name=transit-type]) [data-name=car] {
  order: 1;
}
html[lang=en-GB] #page_contents .post_content .wpcf7 span:has([data-name=transit-type]) [data-name=car]::before {
  content: "(Number of cars: ";
}
#page_contents .post_content .wpcf7 span:has([data-name=transit-type]) [data-name=car]::after {
  content: "台";
}
html[lang=en-GB] #page_contents .post_content .wpcf7 span:has([data-name=transit-type]) [data-name=car]::after {
  content: ")";
}
#page_contents .post_content .wpcf7 span:has([data-name=transit-type]) .wpcf7-list-item:nth-child(2) {
  order: 0;
}
#page_contents .post_content .wpcf7 span:has([data-name=transit-type]) .wpcf7-list-item {
  order: 2;
}

body.start_scroll #side_icon_button {
  transform: translate3d(0, calc(-50vh + 50%), 0);
}
body.start_scroll.hide_side_icon_button #side_icon_button {
  transform: translate3d(calc(100% + 10px), calc(-50vh + 50%), 0);
}

#side_icon_button.position_fix {
  transform: translate3d(0, 0, 0) !important;
}

body.hide_side_icon_button #side_icon_button {
  transform: translate3d(calc(100% + 10px), calc(-50vh + 50%), 0) !important;
}
body.hide_side_icon_button #side_icon_button.position_fix {
  transform: translate3d(0, 0, 0) !important;
}

#side_icon_button {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 100;
  transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1);
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  transform: translate3d(calc(100% + 10px), calc(-50vh + 50%), 0);
}
#side_icon_button a {
  display: block;
  width: 80px;
  height: 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  border-bottom: 1px solid rgba(var(--kinta-dark-block-color-rgb), 5);
  color: var(--kinta-link-button-color) !important;
  background: var(--kinta-link-button-bg) !important;
  border: 1px solid var(--kinta-link-button-border) !important;
  transition: color 0.2s ease 0s, background 0.2s ease 0s, opacity 1s ease 0s !important;
  text-shadow: 0px 0px 3px rgba(var(--kinta-link-button-border, 0.5));
  text-decoration: none !important;
}
#side_icon_button a:last-of-type {
  border-bottom: none;
}
@media (hover: hover) {
  #side_icon_button a:hover, #side_icon_button a:focus {
    color: var(--kinta-link-button-color-hover) !important;
    background: var(--kinta-link-button-bg-hover) !important;
    border: 1px solid var(--kinta-link-button-border-hover) !important;
  }
}
#side_icon_button a:has(.icon.Bed) {
  color: var(--kinta-primary-button-color) !important;
  background: var(--kinta-primary-button-bg) !important;
  border: 1px solid var(--kinta-primary-button-border) !important;
  transition: color 0.2s ease 0s, background 0.2s ease 0s, opacity 1s ease 0s !important;
  text-shadow: 0px 0px 3px rgba(var(--kinta-primary-button-border, 0.5));
  text-decoration: none !important;
}
@media (hover: hover) {
  #side_icon_button a:has(.icon.Bed):hover, #side_icon_button a:has(.icon.Bed):focus {
    color: var(--kinta-primary-button-color-hover) !important;
    background: var(--kinta-primary-button-bg-hover) !important;
    border: 1px solid var(--kinta-primary-button-border-hover) !important;
  }
}
#side_icon_button .label {
  font-size: 12px;
  line-height: 1.4;
  padding: 0 15px;
}
#side_icon_button .icon {
  font-family: "normal_icon";
  font-size: 22px;
  margin: 0 0 5px 0;
  font-weight: 100;
}
#side_icon_button .icon.icon_type_sns {
  font-family: "sns_icon";
  font-size: 18px;
  font-weight: 400;
}
#side_icon_button .icon.Bed, #side_icon_button .icon.Bar {
  font-size: 25px;
}
#side_icon_button .icon.HotSpring {
  font-size: 23px;
}
#side_icon_button .icon.User {
  font-size: 24px;
}
#side_icon_button .icon.Bookmark {
  font-size: 22px;
}
#side_icon_button .icon.Twitter {
  font-size: 16px;
}
#side_icon_button .icon.Facebook {
  font-size: 21px;
}
#side_icon_button .icon.LINE {
  font-size: 20px;
}
#side_icon_button .icon.no_icon {
  display: none;
}

body.page.page_map #page_contents {
  margin: 0;
}
@media screen and (max-width: 600px) {
  body.page.page_map #page_contents {
    margin: 0 10px;
  }
}
body.page.page_map #page_contents .post_content {
  max-width: min(1200px, 100% - 20px);
  width: 100%;
}

.floormaps {
  position: relative;
  display: flex;
  gap: 10px;
  width: 100%;
  justify-content: space-between;
}
@media screen and (max-width: 1100px) {
  .floormaps {
    justify-content: space-around;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 600px) {
  .floormaps {
    flex-direction: column;
    gap: 60px;
  }
}

.floor-images {
  width: 100%;
  display: flex;
  order: 1;
  position: relative;
}
.floor-images .floor-image-group {
  display: contents;
}
@media screen and (max-width: 1100px) {
  .floor-images {
    margin-top: 50px;
    gap: 40px;
    justify-content: space-around;
    order: 3;
  }
  .floor-images .floor-image-group {
    display: flex;
    justify-content: space-around;
    flex-direction: column;
    gap: 20px;
  }
}
@media screen and (max-width: 600px) {
  .floor-images {
    display: block;
  }
  .floor-images .floor-image-group {
    gap: 40px;
  }
}

.floor-image {
  visibility: hidden;
  position: absolute;
  left: 50%;
  top: 50%;
  opacity: 0;
  transform: translate(-50%, -50%);
  width: 100%;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  transition: opacity 0.5s;
}
.floor-image.active {
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 1100px) {
  .floor-image {
    left: 0;
    top: 0;
    transform: unset;
    opacity: 1;
    visibility: visible;
    position: static;
    display: flex;
    justify-content: space-around;
    aspect-ratio: 3/2;
  }
}
.floor-image > span {
  font-size: 20px;
  display: inline-block;
  width: 100%;
  text-align: center;
  margin-bottom: 10px;
}
.floor-image img {
  object-fit: contain;
  width: 100%;
}

.floormap {
  width: 0;
  width: 310px;
  min-width: 310px;
  flex-grow: 0;
}
@media screen and (max-width: 800px) {
  .floormap {
    width: 270px;
    min-width: 270px;
  }
}
@media screen and (max-width: 600px) {
  .floormap {
    margin: 0 auto;
    width: calc(100% - 40px);
  }
}
.floormap ul.rooms {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  flex-wrap: nowrap;
  gap: 5px;
}
@media screen and (max-width: 600px) {
  .floormap ul.rooms {
    display: flex;
    flex-wrap: wrap;
  }
}
.floormap ul.rooms li {
  white-space: nowrap;
}
.floormap.tower {
  order: 2;
}
.floormap.tower ul.rooms {
  grid-template-columns: 1fr 1fr;
}
.floormap div.icon-image {
  position: relative;
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  gap: 0;
  line-height: 1;
}
.floormap div.icon-image img {
  max-width: 100px;
  z-index: 1;
}
.floormap div.icon-image span {
  z-index: 1;
}
.floormap div.icon-image::after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  background-color: var(--kinta-block-light-bg);
}
.floormap.main div.icon-image::after {
  height: 86.6025403784px;
  width: 100%;
  clip-path: polygon(50% 0, 100% 100%, 0 100%);
  z-index: 0;
}
.floormap.tower div.icon-image::after {
  height: 86.6025403784px;
  width: 60%;
  height: 100px;
  background-color: var(--kinta-block-light-bg);
}
.floormap.main div.item::after, .floormap.tower div.item:last-child::after {
  font: var(--fa-font-solid);
  content: "\e289";
  position: absolute;
  bottom: 10px;
  left: 15px;
  font-size: 20px;
}
.floormap.tower div.item:not(:last-child)::after {
  position: absolute;
  display: flex;
  font: var(--fa-font-solid);
  content: "\e16d";
  align-items: center;
  justify-content: center;
  font-size: 20px;
  right: 10px;
  height: 100%;
  width: 5px;
  top: 0;
  background: rgba(var(--kinta-text-color-rgb), 0.1);
}
.floormap div.item {
  padding-right: 20px;
  background-color: var(--kinta-block-light-bg);
  position: relative;
  color: var(--kinta-block-light-color);
  background: var(--kinta-block-light-bg);
  border: 1px solid var(--kinta-block-light-border);
  height: 120px;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 1101px) and (hover: hover) {
  .floormap div.item {
    transition: background-color 0.3s;
    cursor: pointer;
  }
}
@media screen and (min-width: 1101px) and (hover: hover) {
  .floormap div.item:hover, .floormap div.item:focus {
    background-color: var(--kinta-block-medium-bg);
    border-color: var(--kinta-block-medium-bg);
  }
}
@media screen and (min-width: 1101px) and (hover: hover) {
  .floormap div.item.active {
    background-color: var(--kinta-block-medium-bg);
    border-color: var(--kinta-block-medium-bg);
  }
}
.floormap div.item:not(:last-child) {
  border-bottom: 1px solid rgba(var(--kinta-dark-border-rgb), 0.5);
}
@media screen and (max-width: 800px) {
  .floormap div.item {
    height: 100px;
  }
}
.floormap div.item span.floor {
  min-width: 50px;
  max-width: 50px;
  font-size: 22px;
  text-align: center;
}
.floormap div.item ul {
  margin: 0;
  list-style: none;
}
.floormap div.item ul.facilities {
  min-width: 30%;
  flex-direction: column;
  flex-wrap: wrap;
  display: flex;
  align-items: start;
  gap: 0px 20px;
  line-height: 1.2;
  max-height: 120px;
  height: auto;
}
@media (hover: hover) {
  .floormap div.item ul.facilities a:hover, .floormap div.item ul.facilities a:focus {
    font-weight: bold;
    text-decoration: none;
  }
}
@media screen and (max-width: 1100px) {
  .floormap div.item ul.facilities {
    gap: 0px 30px;
  }
}
@media screen and (max-width: 800px) {
  .floormap div.item ul.facilities {
    gap: 0px 20px;
    max-height: 100px;
  }
}
.floormap div.item ul.facilities > li {
  line-height: 2;
  display: inline-flex;
  align-items: center;
}

.room-type {
  display: inline-block;
  white-space: nowrap;
  line-height: 1.1;
}
.room-type::after {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  padding: 3px;
  border: 1px solid currentColor;
  border-radius: 5px;
  margin: 0 0 0 5px;
  width: 4em;
  text-align: center;
}
@media screen and (max-width: 1100px) {
  .room-type::after {
    font-size: 10px;
  }
}
.room-type.tower::after {
  content: "和室";
  color: var(--kinta-japanese-room-color);
}
body.en-GB .room-type.tower::after {
  content: "JP";
}
.room-type.main_a::after {
  content: "和室A";
  color: var(--kinta-japanese-room-color);
}
body.en-GB .room-type.main_a::after {
  content: "JP(A)";
}
.room-type.main_b::after {
  content: "和室B";
  color: var(--kinta-japanese-room-color);
}
body.en-GB .room-type.main_b::after {
  content: "JP(B)";
}
.room-type.main_dx::after, .room-type.tower_dx::after {
  content: "和洋室";
  color: var(--kinta-western-room-color);
}
body.en-GB .room-type.main_dx::after, body.en-GB .room-type.tower_dx::after {
  content: "JP&BR";
}

.post_content ul.room-type-legend {
  list-style: none;
  margin: 0;
  padding: 0;
}
.post_content ul.room-type-legend li {
  margin: 15px 0 0 0;
  padding: 0;
}
.post_content ul.room-type-legend li a {
  display: flex;
  align-items: center;
  gap: 5px;
  text-decoration: underline;
  line-height: 1.5;
}
.post_content ul.room-type-legend li .room-type {
  margin: 0 5px 0 0;
}
@media (hover: hover) {
  .post_content ul.room-type-legend li:hover, .post_content ul.room-type-legend li:focus {
    text-decoration: none;
  }
}

#baguetteBox-slider figure img {
  background-color: var(--kinta-page-bg);
}

/* FAQ */
.faq_list {
  width: 100%;
  max-width: 100%;
  margin: 0 auto 35px;
}
.faq_list .headline {
  font-size: 24px;
  color: #7ea0c8;
  margin-bottom: 45px;
  padding: 0;
  text-align: center;
}
.faq_list .item {
  position: relative;
  margin-bottom: 1px;
}
.faq_list .title {
  color: var(--kinta-faq-title-color);
  background: var(--kinta-faq-title-bg);
  border: 1px solid var(--kinta-faq-title-border);
  transition: color 0.2s ease 0s, background 0.2s ease 0s, opacity 1s ease 0s;
  text-decoration: none !important;
  cursor: pointer;
  margin: 0;
  font-weight: 500;
  font-size: 16px !important;
  line-height: 1.8;
  padding: 27px 40px 25px 30px;
  margin-bottom: 0;
  position: relative;
  border-bottom-color: var(--kinta-faq-description-border);
}
@media (hover: hover) {
  .faq_list .title:hover, .faq_list .title:focus {
    color: var(--kinta-faq-title-color-hover);
    background: var(--kinta-faq-title-bg-hover);
    border: 1px solid var(--kinta-faq-title-border-hover);
  }
}
.faq_list .title span {
  display: block;
  margin: -0.4em 0;
}
.faq_list .title:before {
  content: "";
  display: block;
  position: absolute;
  top: 35px;
  right: 25px;
  height: 1px;
  width: 11px;
  background: currentColor;
}
.faq_list .title:after {
  content: "";
  display: block;
  position: absolute;
  top: 30px;
  right: 30px;
  height: 11px;
  width: 1px;
  background: currentColor;
}
.faq_list .title.active:after {
  display: none;
}
.faq_list .desc_area {
  height: 0;
  overflow: hidden;
  transition: height 0.2s cubic-bezier(0.54, 0.07, 0.38, 0.9);
}
.faq_list .desc {
  color: var(--kinta-faq-description-color);
  background: var(--kinta-faq-description-bg);
  border: 1px solid var(--kinta-faq-description-border);
  font-size: 16px;
  line-height: 2.6;
  padding: 20px 30px;
  transition: opacity 0.7s ease;
  opacity: 0;
}
.faq_list .desc span {
  display: block;
}
.faq_list .desc span.payment-flex {
  display: flex;
  justify-content: space-around;
  align-items: start;
  margin-top: 30px;
  flex-wrap: wrap;
}
.faq_list .desc span.payment-flex > * {
  max-height: 200px;
  margin: 0 auto;
}
.faq_list .title.active + .desc_area > .desc {
  opacity: 1;
  transition: opacity 1s ease;
}

@media (max-width: 800px) {
  .faq_list .title {
    font-size: 14px !important;
    padding: 20px 50px 18px 20px;
  }
  .faq_list .desc {
    padding: 20px;
    font-size: 14px;
    line-height: 2;
  }
  .faq_list .title:before {
    top: 27px;
    right: 15px;
  }
  .faq_list .title:after {
    top: 22px;
    right: 20px;
  }
}
.post_content .faq_list img.faq-image {
  max-width: max(400px, 80%);
  margin: 10px auto;
}

#footer {
  --kinta-link-color: var(--kinta-footer-color);
}

#footer_info {
  border-top: 0;
  max-width: 850px;
  margin: 0 auto;
}
#footer_info > div {
  width: 100%;
}
#footer_info > div .info {
  display: inline-block;
  margin: 0 auto;
  text-align: left;
  line-height: 1.2;
}
@media screen and (max-width: 450px) {
  #footer_info > div .info {
    text-align: center;
  }
}
#footer_info .address {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 10px 20px;
  margin: 0 auto;
}
@media screen and (max-width: 450px) {
  #footer_info .address {
    flex-direction: column;
  }
}

#footer_logo {
  max-width: 450px;
  margin: 0 auto;
}
#footer_logo img {
  width: 100%;
  height: auto;
}

#footer_bottom {
  border-top: 0;
  height: 25px;
}

.policy-link {
  margin-top: 4rem;
  display: inline-block;
  text-decoration: underline;
  font-size: 0.8em;
}

/* お知らせ */
.cb_news_list {
  padding: 120px 0;
  scroll-margin-top: -50px;
}
.cb_news_list .cb_header {
  margin-bottom: 75px;
}

.cb_news_carousel_wrap {
  width: min(1000px, 100% - 150px);
  margin: 0 auto;
  position: relative;
  text-align: center;
}

.cb_news_list .news_list {
  flex-wrap: nowrap;
  display: inline-flex !important;
  width: auto;
}
.cb_news_list .news_list .item {
  margin: 1px 0 !important;
  height: auto;
  text-align: left;
}
.cb_news_list .swiper-button-prev {
  left: -65px;
}
.cb_news_list .swiper-button-next {
  right: -65px;
}

/* ----------------------------------------------------------------------
 お知らせアーカイブ
---------------------------------------------------------------------- */
/* 記事一覧 */
#archive_news {
  padding: 120px 0 150px;
}

#archive_news .news_list {
  max-width: min(850px, 100% - 20px);
  width: 100%;
  margin: 0 auto;
}
#archive_news .news_list .item {
  margin-bottom: 25px;
}

#page_header_desc + .news_list {
  margin-top: 110px;
}

.news_list .item {
  display: flex;
  flex-wrap: wrap;
  padding: 10px 20px;
}
@media screen and (min-width: 1101px) {
  .news_list .item.swiper-slide-active {
    border-right: 1px solid var(--kinta-light-border);
  }
}
.news_list .item a {
  width: 100%;
}
.news_list .item:not(.swiper-slide) {
  width: 50%;
  margin: 0 -1px -1px 0;
}
@media screen and (max-width: 800px) {
  .news_list .item:not(.swiper-slide) {
    width: auto;
  }
}
.news_list .item:nth-child(2n):not(.swiper-slide) {
  margin-right: 0;
}
.news_list .image_wrap {
  width: 100%;
  height: 100%;
}
.news_list .image_wrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
.news_list .content {
  width: calc(100% - 180px);
  padding-left: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.news_list .item .content {
  width: auto;
  padding-left: 0;
}
.news_list .date_list {
  margin-bottom: 5px;
}
.news_list .title {
  font-size: 16px;
  line-height: 1.6;
  max-height: 3.2em;
  overflow: hidden;
  visibility: visible;
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  text-decoration: underline;
}
@media (hover: hover) {
  .news_list a:hover, .news_list a:focus, .news_list .title:hover, .news_list .title:focus {
    --kinta-link-color: var(--kinta-link-color-hover);
    text-decoration: none;
  }
}

/* ----------------------------------------------------------------------
 お知らせ詳細
---------------------------------------------------------------------- */
#single_news_header {
  margin: 50px 0;
  position: relative;
}
#single_news_header .title {
  font-size: var(--single_title_font_size);
  font-family: var(--single_title_font_type);
  font-weight: 600;
  line-height: 1.5;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--kinta-light-border);
}
#single_news_header .image {
  margin-top: 30px;
  position: relative;
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
  aspect-ratio: 900/580;
}
#single_news_header .image img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
#single_news_header .date_list {
  margin: 0;
}

@media (hover: hover) {
  #single_news_header .category a:hover {
    color: rgba(0, 0, 0, 0.6);
  }
}
/* ナビゲーション */
#next_prev_post2 {
  margin: 60px 0 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 25px 10px;
  justify-content: space-between;
  border-top: 1px solid var(--kinta-light-border);
  padding: 20px 10px 0;
}
#next_prev_post2 .item {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  font-size: 16px;
}
#next_prev_post2 .item.prev_post {
  margin-right: auto;
}
#next_prev_post2 .item.prev_post::before {
  font-family: "normal_icon";
  content: "\e90f";
  margin-right: 10px;
}
#next_prev_post2 .item.next_post {
  justify-content: flex-end;
  margin-left: auto;
}
#next_prev_post2 .item.next_post::after {
  font-family: "normal_icon";
  content: "\e910";
  margin-left: 10px;
}
#next_prev_post2 .title span {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#next_prev_post2 .nav {
  display: none;
}

/* 関連記事 */
#related_news {
  margin-top: 50px;
}
#related_news .headline {
  font-size: 24px;
  text-align: center;
  margin-bottom: 50px;
  font-family: var(--headline_font_type);
}
#related_news .post_list .item {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #ddd;
  padding: 30px;
  margin: 0 0 -1px 0;
  position: relative;
}
#related_news .post_list .animate_background {
  width: 280px;
  height: 180px;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
#related_news .post_list .image_wrap {
  width: 100%;
  height: 100%;
}
#related_news .post_list .image_wrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
#related_news .post_list .content {
  width: calc(100% - 280px);
  padding-left: 30px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#related_news .post_list .item .content {
  width: auto;
  padding-left: 0;
}
#related_news .post_list .date_list {
  margin-bottom: 15px;
}
#related_news .post_list .title {
  font-size: 16px;
  line-height: 1.6;
  max-height: 3.2em;
  overflow: hidden;
  visibility: visible;
}
#related_news .post_list .title a {
  display: -webkit-inline-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
#related_news .post_list .category {
  margin-top: 25px;
}
#related_news .post_list .category a {
  font-size: 14px;
  display: inline;
  color: #999;
}
#related_news .post_list .category a:after {
  content: " ,";
  margin: 0 5px 0 0;
}
#related_news .post_list .category a:last-of-type:after {
  display: none;
}

@media (hover: hover) {
  #related_news .post_list .item a:hover {
    color: rgba(0, 0, 0, 0.6);
  }
}
/* お知らせ */
/*
@media screen and (max-width: 1200px) {
  .cb_news_list .swiper-nav-button {
    display: none;
  }
}

@media screen and (max-width: 1100px) {
  .cb_news_list {
    padding: 100px 50px;
  }

  .cb_news_carousel_wrap {
    width: auto;
  }

  .cb_news_carousel {
    overflow: visible;
  }

  .cb_news_list .news_list .item {
    width: 500px !important;
    border-right: none;

    &:last-of-type {
      border-right: 1px solid #ddd;
    }
  }
}

@media screen and (max-width: 800px) {
  .cb_news_list {
    padding: 40px 20px;

    .cb_header {
      margin-bottom: 35px;
    }

    .news_list .item {
      width: 380px !important;
    }
  }
}

@media screen and (max-width: 500px) {
  .cb_news_list .news_list .item {
    width: 320px !important;
  }
}


 */
.instagram-post iframe {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 上部へ戻る*/
#return_top {
  position: fixed;
  bottom: 15px;
  right: 15px;
  height: 45px;
  width: 45px;
  display: flex;
  justify-content: center;
  align-items: end;
  padding-bottom: 5px;
  text-decoration: none;
  z-index: 1000;
  visibility: hidden;
  opacity: 0;
  color: var(--kinta-block-light-color);
  background: var(--kinta-block-light-bg);
  box-shadow: 0px 0px 6px rgba(102, 102, 102, 0.2666666667);
  transition: all 0.3s !important;
}
#return_top span {
  font-size: 10px;
}
body.start_scroll #return_top {
  opacity: 1;
  visibility: visible;
}
@media (hover: hover) {
  body.start_scroll #return_top:hover, body.start_scroll #return_top:focus {
    opacity: 0.5;
  }
}
#return_top:before {
  transition: all 0.3s !important;
  font-family: "normal_icon";
  content: "\e910";
  font-size: 20px;
  display: block;
  width: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-90deg);
}

/* ----------------------------------------------------------------------
 ギャラリーカテゴリー
---------------------------------------------------------------------- */
#gallery_category_header {
  width: 100%;
  height: 560px;
  position: relative;
  overflow: hidden;
}
#gallery_category_header img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  z-index: 1;
}

#gallery_category {
  padding: 120px 0 110px;
}
#gallery_category .header {
  text-align: center;
  width: 1000px;
  margin: 0 auto 110px;
}
#gallery_category .headline {
  font-size: 50px;
  font-family: var(--gallery_title_font_type);
  line-height: 1;
  font-weight: 500;
}
#gallery_category .sub_title {
  font-size: 18px;
  margin-top: 25px;
  line-height: 1;
}
#gallery_category .desc {
  line-height: 2.4;
  margin: 45px 0 0;
}
#gallery_category .desc .mobile {
  display: none;
}
#gallery_category .post_content {
  width: 1000px;
  margin: 0 auto;
}
#gallery_category .post_content.mobile {
  display: none;
}
#gallery_category .sc_image_carousel_container {
  margin-bottom: 135px;
}

/* カルーセル */
/* ギャラリー一覧 */
#category_gallery_list {
  padding: 120px 0 135px;
}

#single_gallery_post_list #category_gallery_list:first-child {
  padding: 0 0 110px;
}
#single_gallery_post_list #category_gallery_list:only-child {
  padding: 0 0 135px;
}

#category_gallery_list .design_headline1 {
  margin-top: 0;
}

.gallery_list {
  display: flex;
  flex-wrap: wrap;
  width: 1000px;
  margin: 0 auto -70px;
  position: relative;
}

#archive_gallery #page_header_desc + .gallery_list {
  margin-top: 110px;
}

.gallery_list .item:not(.swiper-slide) {
  width: calc(50% - 25px);
  margin: 0 50px 70px 0;
}
.gallery_list .item:nth-child(2n):not(.swiper-slide) {
  margin-right: 0;
}
.gallery_list .animate_background {
  display: block;
}
.gallery_list .image_wrap {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
  z-index: 2;
  aspect-ratio: 474/235;
}
.gallery_list .image_wrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
.gallery_list .title {
  font-size: 20px;
  line-height: 1.8;
  margin: 20px 0 0 0;
}
.gallery_list .desc {
  line-height: 2.4;
  margin: 10px 0 0 0;
}

@media (hover: hover) {
  .gallery_list a:hover {
    color: rgba(0, 0, 0, 0.6);
  }
}
/* ----------------------------------------------------------------------
 ギャラリー詳細ページ
---------------------------------------------------------------------- */
#gallery_header {
  margin: 0 auto;
  max-width: 1100px;
}
#gallery_header .top {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
}
#gallery_header .category {
  margin: -1px 0 0 -1px;
  flex: 0 0 auto;
  font-size: 22px;
  font-family: var(--headline_font_type);
  font-weight: 500;
  display: block;
  padding: 0 50px;
  height: 100px;
  line-height: 100px;
  background: var(--main_color);
  color: #fff;
  min-width: 240px;
  text-align: center;
}
#gallery_header .title {
  padding: 30px 10px;
  width: 100%;
  line-height: 1.5;
  flex: 0 0 auto;
  font-size: 2rem;
  border-bottom: 1px solid var(--kinta-light-border);
}
#gallery_header .catch {
  padding: 0 30px;
  line-height: 1.5;
  flex: 0 1 auto;
  margin-left: auto;
  font-family: var(--catch_font_type);
}
#gallery_header .catch_mobile {
  display: none;
}
#gallery_header .image {
  width: 100%;
  height: auto;
  margin-top: -1px;
}
#gallery_header .image img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}
#gallery_header .spec_list {
  list-style: disc;
  padding-left: 10px;
  margin: 30px 0 30px 30px;
}
#gallery_header .spec_list li {
  padding: 5px;
}
#gallery_header .button {
  margin: 0 -1px -1px 0;
  flex: 0 0 auto;
  display: block;
  padding: 0 50px;
  height: 70px;
  line-height: 70px;
  background: var(--main_color);
  color: #fff;
  min-width: 240px;
  text-align: center;
}
#gallery_header .bottom.layout_type2 .button {
  position: absolute;
  right: 0;
  top: -70px;
}

#gallery_header_button {
  display: none;
}

@media (hover: hover) {
  #gallery_header .category:hover, #gallery_header .button:hover {
    background: var(--main_color_light);
  }
}
#single_gallery {
  padding-bottom: 120px;
}
#single_gallery .post_content {
  width: 1000px;
  margin: 0 auto;
}

/* プラン一覧 */
#gallery_category_plan_list {
  background: #f5f5f5;
  padding: 120px 0;
}

#single_gallery_post_list #gallery_category_plan_list:last-child, #single_gallery_post_list #gallery_category_plan_list:only-child {
  padding-bottom: 150px;
}

#gallery_category_plan_list #single_related_post {
  margin-top: 0;
}
#gallery_category_plan_list #related_post_carousel_wrap {
  width: 1000px;
  margin: 0 auto;
}

/* ギャラリー一覧 */
#recent_gallery_list {
  padding: 120px 0 140px;
}

#single_gallery_post_list #recent_gallery_list:first-child {
  padding: 0 0 110px;
}
#single_gallery_post_list #recent_gallery_list:only-child {
  padding-top: 0;
  padding-bottom: 140px;
}

#recent_gallery_carousel_wrap {
  width: 1000px;
  margin: 0 auto;
  position: relative;
}

#recent_gallery_list .post_list .animate_background {
  display: block;
}
#recent_gallery_list .post_list .image_wrap {
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
  z-index: 2;
  aspect-ratio: 474/235;
}
#recent_gallery_list .post_list .image_wrap img {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
}
#recent_gallery_list .post_list .title {
  font-size: 20px;
  line-height: 1.8;
  margin: 20px 0 0 0;
}
#recent_gallery_list .post_list .desc {
  line-height: 2.4;
  margin: 10px 0 0 0;
}
#recent_gallery_list .swiper-button-prev {
  left: -65px;
  top: 115px;
}
#recent_gallery_list .swiper-button-next {
  right: -65px;
  top: 115px;
}

@media (hover: hover) {
  #recent_gallery_list .post_list a:hover {
    color: rgba(0, 0, 0, 0.6);
  }
}
/* ----------------------------------------------------------------------
 ギャラリーアーカイブ
---------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
  #archive_gallery {
    padding: 90px 0 100px;
  }
  #gallery_category_list {
    margin-top: -10px;
  }
  #gallery_category_list .content {
    padding: 100px 0;
  }
  #gallery_category_list .header {
    margin: 0 50px;
    width: calc(100% - 100px);
  }
  #gallery_category_list .headline_area {
    min-width: 350px;
    padding: 50px;
  }
  #gallery_category_list .headline {
    font-size: 30px;
  }
  #gallery_category_list .sub_title {
    font-size: 16px;
    margin-top: 20px;
  }
  #gallery_category_list .desc {
    width: auto;
  }
}
@media screen and (max-width: 800px) {
  #archive_gallery {
    padding: 30px 0 40px;
  }
  #gallery_category_list .content {
    padding: 40px 0 0;
    border: none;
  }
  #gallery_category_list .header {
    margin: 0;
    width: 100%;
  }
  #gallery_category_list .headline_area {
    min-width: 180px;
    padding: 30px 25px;
  }
  #gallery_category_list .headline {
    font-size: 20px;
  }
  #gallery_category_list .sub_title {
    font-size: 14px;
    margin-top: 10px;
  }
  #gallery_category_list .desc {
    line-height: 2;
    margin: 35px 20px 0;
  }
  #gallery_category_list .desc .pc {
    display: none;
  }
  #gallery_category_list .desc .mobile {
    display: block;
  }
  #gallery_category_list .link_button {
    margin-top: 35px;
  }
}
@media screen and (max-width: 600px) {
  #gallery_category_list .header {
    min-height: 200px;
  }
  #gallery_category_list .image {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
  }
}
/* ----------------------------------------------------------------------
 ギャラリーカテゴリー
---------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
  #gallery_category {
    padding: 90px 0 90px;
  }
  #gallery_category .header {
    width: auto;
    margin: 0 50px 90px;
  }
  #gallery_category .headline {
    font-size: 32px;
  }
  #gallery_category .sub_title {
    font-size: 16px;
    margin-top: 15px;
  }
  #gallery_category .post_content {
    width: auto;
    margin: 0 50px;
  }
  #gallery_category .sc_image_carousel_container {
    margin-bottom: 90px;
  }
  #category_gallery_list {
    padding: 100px 0 90px;
  }
  #single_gallery_post_list #category_gallery_list:only-child {
    padding: 0 0 90px;
  }
  .gallery_list {
    width: auto;
    margin: 0 50px -50px;
  }
  #archive_gallery #page_header_desc + .gallery_list {
    margin-top: 90px;
  }
  .gallery_list .item:not(.swiper-slide) {
    width: calc(50% - 15px);
    margin: 0 30px 50px 0;
  }
  .gallery_list .item:nth-child(2n):not(.swiper-slide) {
    margin-right: 0;
  }
  .gallery_list .desc {
    margin-top: 10px;
  }
}
@media screen and (max-width: 800px) {
  #gallery_category {
    padding: 30px 0 35px;
  }
  #gallery_category .header {
    margin: 0 20px 30px;
  }
  #gallery_category .desc {
    line-height: 2;
    margin: 30px 0 0;
  }
  #gallery_category .desc .pc {
    display: none;
  }
  #gallery_category .desc .mobile {
    display: block;
  }
  #gallery_category .post_content {
    margin: 0 20px;
  }
  #gallery_category .post_content.pc {
    display: none;
  }
  #gallery_category .post_content.mobile {
    display: block;
  }
  #gallery_category .sc_image_carousel_container {
    margin-bottom: 30px;
  }
  #category_gallery_list {
    padding: 40px 0 30px;
  }
  #single_gallery_post_list #category_gallery_list:first-child, #single_gallery_post_list #category_gallery_list:only-child {
    padding: 0 0 30px;
  }
  .gallery_list {
    margin: 0 20px -32px;
  }
  #archive_gallery #page_header_desc + .gallery_list {
    margin-top: 30px;
  }
  .gallery_list .item:not(.swiper-slide) {
    width: calc(50% - 10px);
    margin: 0 20px 32px 0;
  }
  .gallery_list .item:nth-child(2n):not(.swiper-slide) {
    margin-right: 0;
  }
  .gallery_list .title {
    font-size: 18px;
    margin: 15px 0 0 0;
  }
  .gallery_list .desc {
    line-height: 2;
    margin: 5px 0 0 0;
    font-size: 14px;
  }
}
@media screen and (max-width: 600px) {
  .gallery_list {
    display: block;
  }
  .gallery_list .item:not(.swiper-slide) {
    width: auto;
    margin: 0 0 30px 0;
  }
}
/* ----------------------------------------------------------------------
 ギャラリー詳細ページ
---------------------------------------------------------------------- */
@media screen and (max-width: 1100px) {
  #gallery_header {
    margin: 0 10px 40px;
  }
  #gallery_header .category {
    font-size: 18px;
    padding: 0 30px;
    height: 80px;
    line-height: 80px;
    min-width: unset;
  }
  #gallery_header .catch {
    display: none;
  }
  #gallery_header .catch_mobile {
    display: block;
    border-left: 1px solid #ddd;
    border-right: 1px solid #ddd;
    line-height: 1.6;
    padding: 27px 30px;
  }
  #gallery_header .button {
    display: none;
  }
  #gallery_header_button {
    display: block;
    text-align: center;
    margin: -50px 0 90px;
  }
  #single_gallery {
    padding-bottom: 100px;
  }
  #single_gallery .post_content {
    width: auto;
    margin: 0 50px;
  }
}
@media screen and (max-width: 800px) {
  #gallery_header {
    position: relative;
    z-index: 10;
  }
  #gallery_header .category {
    font-size: 16px;
    padding: 0 20px;
    height: 60px;
    line-height: 60px;
  }
  #gallery_header .title {
    font-size: 18px;
  }
  #gallery_header .catch_mobile {
    padding: 20px 20px;
    font-size: 14px;
  }
  #gallery_header .bottom {
    height: 60px;
  }
  #gallery_header_button {
    margin: 40px 0 40px;
  }
  #single_gallery {
    padding-bottom: 40px;
    margin: 0;
  }
  #single_gallery .post_content {
    width: auto;
    margin: 0 20px;
  }
}
/* プラン一覧 */
@media screen and (max-width: 1100px) {
  #gallery_category_plan_list {
    padding: 100px 0;
  }
  #single_gallery_post_list #gallery_category_plan_list:last-child, #single_gallery_post_list #gallery_category_plan_list:only-child {
    padding-bottom: 100px;
  }
  #gallery_category_plan_list:only-child {
    padding-bottom: 100px;
  }
  #gallery_category_plan_list #related_post_carousel_wrap {
    width: auto;
    margin: 0 50px;
  }
}
@media screen and (max-width: 800px) {
  #gallery_category_plan_list {
    padding: 0;
  }
  #gallery_category_plan_list #single_related_post {
    margin: 0;
  }
  #single_gallery_post_list #gallery_category_plan_list:last-child, #single_gallery_post_list #gallery_category_plan_list:only-child {
    padding-bottom: 0px;
  }
  #gallery_category_plan_list:only-child {
    padding-bottom: 40px;
  }
  #gallery_category_plan_list #related_post_carousel_wrap {
    margin: 0 20px;
  }
}
/* ギャラリー一覧 */
@media screen and (max-width: 1200px) {
  #recent_gallery_list .swiper-nav-button {
    display: none;
  }
}
@media screen and (max-width: 1100px) {
  #recent_gallery_list {
    padding: 100px 0 100px;
  }
  #single_gallery_post_list #recent_gallery_list:first-child {
    padding: 0 0 100px;
  }
  #recent_gallery_carousel_wrap {
    width: auto;
    margin: 0 50px;
  }
  #recent_gallery_carousel {
    overflow: visible;
  }
  #recent_gallery_list .item {
    width: 400px;
  }
}
@media screen and (max-width: 800px) {
  #recent_gallery_list {
    padding: 80px 0 40px;
  }
  #single_gallery_post_list #recent_gallery_list:first-child {
    padding: 0 0 40px;
  }
  #recent_gallery_carousel_wrap {
    width: auto;
    margin: 0 20px;
  }
  #recent_gallery_list .post_list .title {
    font-size: 16px;
    margin-top: 15px;
  }
  #recent_gallery_list .post_list .desc {
    line-height: 2;
    margin: 5px 0 0 0;
    font-size: 14px;
  }
}
@media screen and (max-width: 600px) {
  #recent_gallery_list {
    padding: 40px 0 30px;
  }
  #single_gallery_post_list #recent_gallery_list:first-child {
    padding: 0 0 30px;
  }
  #recent_gallery_list .post_list {
    display: block;
    transform: none !important;
  }
  #recent_gallery_list .item {
    margin-bottom: 35px;
    width: auto;
  }
  #recent_gallery_list .item:last-of-type {
    margin-bottom: 0;
  }
}
.baguetteBox-slider #previous-button, .baguetteBox-slider #next-button {
  background: var(--kinta-dark-gray);
}

.cb_design_content .main_content .content h4.catch {
  line-height: 1.2;
}

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

.design_button.display-flex {
  display: flex;
  margin: 0 auto;
}

.kinta-location {
  position: relative;
  display: block;
  padding-top: 60px;
  width: 120px;
  height: 120px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.kinta-location br {
  display: none;
}
@media screen and (max-width: 800px) {
  .kinta-location {
    padding-top: 50px;
    width: 100px;
    height: 100px;
  }
  .kinta-location .location {
    height: 50px;
  }
}
.kinta-location.main {
  background-image: url(/wp-content/uploads/kinta/logo_icon_main.svg?1.0);
}
.kinta-location.tower {
  background-image: url(/wp-content/uploads/kinta/logo_icon_tower.svg?1.0);
}

#lang_button {
  background: transparent;
}
html[lang=ja] #lang_button > a {
  display: none !important;
}
html[lang=ja] #lang_button .sub_menu {
  top: 0 !important;
  display: flex !important;
}
html[lang=en-GB] #lang_button > a {
  display: flex !important;
}
html[lang=en-GB] #lang_button .sub_menu {
  display: none !important;
}

html #body a:has(.primary) {
  color: var(--kinta-primary-button-color);
  background: var(--kinta-primary-button-bg);
  border: 1px solid var(--kinta-primary-button-border);
}

img[width="0"] {
  width: 100%;
}

img[height="0"] {
  height: auto;
}

#footer {
  padding-top: 50px;
}

.cb_header h3.headline::before {
  content: "";
  display: block;
  width: 1px;
  margin: 0 auto 20px;
  height: 100px;
  background: var(--kinta-medium-border);
}

@media screen and (max-width: 1500px) {
  body.header_fix #header .menu_area {
    right: 0;
  }
  body.header_fix #global_menu {
    --global-menu-under-bar: 40px;
  }
  body.header_fix #global_menu > ul > li > a {
    padding: 0 20px;
    font-size: 18px;
  }
  body.header_fix #global_menu > ul > li > a[data-description] {
    font-size: 12px;
  }
  body.header_fix #global_menu > ul > li > a[data-description]::before {
    font-size: 18px;
  }
}
*[data-lang] {
  display: none;
}

html[lang=ja] span[data-lang=ja], html[lang=en-GB] span[data-lang=en] {
  display: inline;
}

html[lang=ja] div[data-lang=ja], html[lang=en-GB] div[data-lang=en] {
  display: block;
}

/* 客室 アーカイブページ */
div.desc.post_content p:empty {
  display: none;
}
div.desc.post_content .room-archives-nav {
  display: flex;
  align-items: start;
}
div.desc.post_content .room-archives-nav dt {
  text-align: left;
  margin-bottom: 0.5em;
}
div.desc.post_content .room-archives-nav dd {
  text-align: left;
  margin-bottom: 0.5em;
}
div.desc.post_content .room-archives-nav br {
  display: none;
}

/* リンクボタン */
body .link-button {
  width: 100%;
}
body .link-button > .wp-block-button__link {
  height: 60px;
  line-height: 1.5;
  padding: 0 1.5em;
  text-align: center;
  position: relative;
  overflow: hidden;
  font-size: 1.125em;
  z-index: 1;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  box-shadow: 1px 1px 3px rgba(64, 64, 64, 0.5);
  width: 100%;
  max-width: min(400px, 100vw - 50px);
  color: var(--kinta-link-button-color) !important;
  background: var(--kinta-link-button-bg) !important;
  border: 1px solid var(--kinta-link-button-border) !important;
  transition: color 0.2s ease 0s, background 0.2s ease 0s, opacity 1s ease 0s !important;
  text-shadow: 0px 0px 3px rgba(var(--kinta-link-button-border, 0.5));
  text-decoration: none !important;
  border-radius: initial;
  padding: 0 10px;
}
@media screen and (max-width: 800px) {
  body .link-button > .wp-block-button__link {
    max-width: min(550px, 100vw - 50px);
    margin: 0 auto;
    display: flex;
  }
}
@media (hover: hover) {
  body .link-button > .wp-block-button__link:hover, body .link-button > .wp-block-button__link:focus {
    color: var(--kinta-link-button-color-hover) !important;
    background: var(--kinta-link-button-bg-hover) !important;
    border: 1px solid var(--kinta-link-button-border-hover) !important;
  }
}

body .link-icon > .wp-block-button__link::after {
  margin-left: 0.5em;
  font: var(--fa-font-solid);
  content: "\f35d";
}
