@charset "utf-8";
/*
Theme Name:LOTUS_child_v4
template:lotus_tcd039
Theme URI:https://tcd-theme.com/tcd039
Description:WordPress theme "Lotus" is the first TCD theme for salon store websites. The transparent design and smooth animations make you relaxed. Take advantage of the beautiful menu list that you can create just by adding items.
Author:TCD
Author URI:https://tcd-theme.com/
Text Domain:tcd-lotus
Version:3.1.2
*/


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

@font-face {
  font-family: 'tiktok_x_icon';
  src: url('fonts/tiktok_x_icon.eot?v=1.1');
  src: url('fonts/tiktok_x_icon.eot?v=1.1#iefix') format('embedded-opentype'),
    url('fonts/tiktok_x_icon.woff?v=1.1') format('woff'),
    url('fonts/tiktok_x_icon.ttf?v=1.1') format('truetype'),
    url('fonts/tiktok_x_icon.svg?v=1.1#tiktok_x_icon') format('svg');
  font-weight: normal;
  font-style: normal;
}


/* アイコンフォント */
.icon-arrow-right:before {
  content: "\e910";
}

.icon-file-text:before {
  content: "\f15c";
}

.icon-share-alt:before {
  content: "\f1e0";
}

.icon-phone:before {
  content: "\f095";
}

.icon-envelope:before {
  content: "\f0e0";
}

.icon-tag:before {
  content: "\f02b";
}

.icon-pencil:before {
  content: "\f040";
}

.icon-close:before {
  content: "\e91a";
  font-family: 'design_plus';
}





/* ----------------------------------------------------------------------
 reset css
---------------------------------------------------------------------- */
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;
}

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

html {
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

ul,
ol {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

a:focus {
  outline: none;
}

ins {
  text-decoration: none;
}

mark {
  font-style: italic;
  font-weight: 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 #ccc;
  margin: 1em 0;
  padding: 0;
}

button,
input,
select,
textarea {
  outline: 0;
  -webkit-box-sizing: border-box;
  -moz-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;
}

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

img {
  -ms-interpolation-mode: bicubic;
}

/* clearfix */
.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  font-size: 0.1em;
  line-height: 0;
  visibility: hidden;
  overflow: hidden;
}

.clearfix {
  display: inline-block;
}

/* exlude MacIE5 \*/
* html .clearfix {
  height: 1%
}

.clearfix {
  display: block;
}

/* end MacIE5 */




/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
body {
  font-family: Arial, sans-serif;
  color: #333;
  line-height: 1;
  width: 100%;
  min-width: 1250px;
}

.pc .admin-bar {
  padding-top: 33px;
}

a {
  color: #333;
  text-decoration: none;
}

a,
a:before,
a:after,
input {
  -webkit-transition-property: background-color, color;
  -webkit-transition-duration: 0.2s;
  -webkit-transition-timing-function: ease;
  -moz-transition-property: background-color, color;
  -moz-transition-duration: 0.2s;
  -moz-transition-timing-function: ease;
  -o-transition-property: background-color, color;
  -o-transition-duration: 0.2s;
  -o-transition-timing-function: ease;
  transition-property: background-color, color;
  transition-duration: 0.2s;
  transition-timing-function: ease;
}

a:hover {
  text-decoration: underline;
}

.clear {
  clear: both;
}

.hide {
  display: none;
}


/* レイアウト */
#main_contents {
  background: #fff;
  width: 100%;
  position: relative;
  z-index: 10;
}

#main_col {
  width: 1250px;
  margin: 50px auto 50px;
  padding: 0 50px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#left_col {
  width: 800px;
  float: left;
}

#side_col {
  width: 300px;
  float: right;
}




/* ----------------------------------------------------------------------
 固定ページテンプレート
---------------------------------------------------------------------- */
.pc .page_content_headline {
  margin: -30px 0 60px;
  text-align: center;
}

.pc .page_content_headline_menu {
  margin: -30px 0 54px;
  text-align: center;
}

.pc .page_content_headline h2,
.pc .page_content_headline_menu h2 {
  font-size: 45px;
  margin: 0;
  line-height: 180%;
}

.pc .page_content_headline .post_content {
  margin: 15px 0 0 0;
}

.page_content_headline p {
  line-height: 2.5;
  margin: 0 0 2em 0;
}

.pc .page_content_image {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 0 60px;
}

.pc .page_content_image_menu {
  width: 100%;
  height: auto;
  display: block;
  margin: 50px 0 85px;
}

.pc .page_content2 {
  margin: 0 0 40px 0;
}

.pc .page_content2 .headline {
  font-size: 34px;
  margin: 0 0 30px 0;
  line-height: 180%;
  text-align: center;
}

.pc .page_content2 .post_content {
  width: 550px;
  float: left;
}

.pc .page_content2 .post_content.right {
  float: right;
}

.page_content2 p {
  line-height: 2.5;
  margin: 0 0 2em 0;
}

.pc .page_image_list {
  margin: 0 0 60px 0;
}

.pc .page_image_list li {
  float: left;
  width: 33.3333%;
  width: -webkit-calc(100% / 3);
  width: -moz-calc(100% / 3);
  width: calc(100% / 3);
}

.pc .page_image_list li img {
  display: block;
  width: 100%;
  height: auto;
}

.pc .page_content3_inner {
  width: 550px;
  float: left;
}

.pc .page_content3_inner.right {
  float: right;
}

.pc .page_content3 .headline {
  font-size: 34px;
  margin: 0 0 30px 0;
  line-height: 180%;
  text-align: center;
}

.pc .page_content3 .post_content {
  margin: 0 0 40px 0;
}

.pc .page_content3 .image {
  display: block;
}

.page_content3 p {
  line-height: 2.5;
  margin: 0 0 2em 0;
}


/* テンプレート３ */
.pc .tcd-w_page_menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.pc .tcd-w_page_menu li {
  width: 550px;
  margin: 0 50px 50px 0;
  position: relative;
  font-size: 14px;
  padding-bottom: 70px;
}

.pc .tcd-w_page_menu li:nth-child(even) {
  margin: 0 0 50px 0;
}

.pc .tcd-w_page_menu .image {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 0 30px 0;
}

.pc .tcd-w_page_menu .name {
  margin: 0 0 25px 0;
  max-height: 70px;
  width: 550px;
  position: relative;
  padding: 40px 0;
}

.pc .tcd-w_page_menu .name h3 {
  width: 100%;
  text-align: center;
  font-size: 24px;
  display: inline;
  line-height: 180%;
  font-weight: 500;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.pc .tcd-w_page_menu .desc {
  line-height: 2.5;
  margin: 0 0 20px 0;
}

.pc .tcd-w_page_menu .price {
  background: #f7f2ee;
  padding: 18px;
  line-height: 180%;
  text-align: center;
  color: #333;
  position: absolute;
  bottom: 0;
  width: 100%;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.pc .menu_type2 .tcd-w_page_menu {
  display: block;
}

.pc .menu_type2 .tcd-w_page_menu li {
  display: block;
  width: 100%;
  margin: 0 0 50px 0;
  padding: 0;
}

.pc .menu_type2 .tcd-w_page_menu .image {
  width: 550px;
  height: auto;
  margin: 0;
  float: left;
}

.pc .menu_type2 .tcd-w_page_menu .info {
  width: 550px;
  float: right;
}

.pc .menu_type2 .tcd-w_page_menu .name {
  margin: 0 0 25px 0;
  max-height: auto;
  width: auto;
  position: relative;
  padding: 0;
}

.pc .menu_type2 .tcd-w_page_menu .name h3 {
  text-align: left;
  font-size: 24px;
  display: block;
  line-height: 180%;
  font-weight: 500;
  position: relative;
  top: 0;
  -webkit-transform: translateY(0%);
  -ms-transform: translateY(0%);
  transform: translateY(0%);
}

.pc .menu_type2 .tcd-w_page_menu li:nth-child(even) .image {
  float: right;
}

.pc .menu_type2 .tcd-w_page_menu li:nth-child(even) .info {
  float: left;
}

.pc .menu_type2 .tcd-w_page_menu .price {
  position: relative;
  bottom: auto;
}


/* テンプレート２ */
.pc .page_content_image2 {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 0 5px;
}

.pc .page_image_list2 {
  margin: 0 0 50px 0;
}

.pc .page_image_list2 li {
  float: left;
  width: 380px;
  margin: 0 5px 0 0;
}

.pc .page_image_list2 li.right {
  margin: 0;
}

.pc .page_image_list2 li img {
  display: block;
  width: 100%;
  height: auto;
}

.pc .page_content_address {
  margin: 0 0 5px 0;
}

.pc .page_content_logo {
  margin: 0 auto 20px;
  display: block;
}

.pc .page_address {
  text-align: center;
}

.pc .page_google_map iframe {
  width: 100%;
  height: 440px;
  margin: 0 0 50px 0;
}

.pc .page_google_map2 {
  margin: 0 0 50px 0;
}

.pc .page_google_map2 .dp-google-map {
  width: 100% !important;
}

.pc .page_map_info .post_content {
  width: 350px;
  float: left;
  margin: 0 50px 0 0;
}

.pc .page_map_info .post_content.right {
  margin: 0;
}

.page_map_info p {
  line-height: 2.5;
  margin: 0 0 2em 0;
}

.page_google_map2 .qt_googlemap_embed {
  width: 100%;
  height: 440px;
}


/* ----------------------------------------------------------------------
 アーカイブページ
---------------------------------------------------------------------- */
/* ヘッダー画像 */
#header_image {
  width: 100%;
  min-width: 1150px;
  height: auto;
  position: relative;
}

#header_image .image {
  width: 100%;
}

#header_image .image img {
  width: 100%;
  height: auto;
  display: block;
}

#header_image .caption {
  width: 1150px;
  margin: 0 auto;
}

#header_image .caption .title {
  position: absolute;
  text-decoration: none;
  display: block;
  font-size: 30px;
  top: 50%;
  top: -webkit-calc(50% + 30px);
  top: -moz-calc(50% + 30px);
  top: calc(50% + 30px);
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#header_image.no_image {
  height: 320px;
  background: #eee;
}


/* ヘッダーのキャッチフレーズ */
#archive_header {
  margin: 0 0 45px;
}

#archive_headline {
  font-size: 34px;
  margin: 0;
}

#category_desc {
  font-size: 15px;
  line-height: 250%;
  margin: 20px 0 0 0;
}


/* ページング */
.page_navi {
  margin: 0;
}

.page_navi ul {
  margin: 0;
}

.page_navi li {
  float: left;
  margin: 0 8px 8px 0;
}

.page_navi a,
.page_navi a:hover,
.page_navi span {
  font-size: 12px;
  padding: 15px 18px;
  line-height: 100%;
  margin: 0;
  background: #eee;
  display: block;
}

.page_navi a:hover {
  color: #fff;
  background: #222;
  text-decoration: none;
}

.page_navi span.dots {
  background: none;
}

.page_navi span.current {
  color: #fff;
  background: #aaa;
}

.page_navi p.back {
  margin: 0;
}

.page_navi p.back a {
  background: #fff;
  color: #333;
  border: 1px solid #ddd;
  text-decoration: none;
  display: inline-block;
  width: 200px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  font-size: 14px;
  position: relative;
  padding: 0;
}

.page_navi p.back a:hover {
  color: #fff;
}

.page_navi p.back a:hover:before {
  color: #fff;
}


/* アーカイブページのアニメーション */
.pc #main_col #index_blog_list .animation_element {
  opacity: 0;
}

.pc #main_col #index_blog_list .animation_element.active {
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
  -webkit-animation: moveUp 0.65s ease forwards 0.5s;
  animation: moveUp 0.65s ease forwards 0.5s;
}

@-webkit-keyframes moveUp {
  0% {}

  100% {
    -webkit-transform: translateY(0);
    opacity: 1;
  }
}

@keyframes moveUp {
  0% {}

  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}




/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */

/* トップページのアニメーション */
.pc .home .animation_element {
  opacity: 0;
}

.pc .home .animation_element.active {
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
  -webkit-animation: moveUp 0.65s ease forwards 0.5s;
  animation: moveUp 0.65s ease forwards 0.5s;
}

.pc .home .animation_element.first {
  opacity: 1;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}


/* スライダー */
#header_slider {
  width: 100%;
  height: auto;
  position: relative;
  min-width: 1150px;
  margin-top: -60px;
}

#header_slider .item {
  width: 100%;
  height: 650px;
  min-width: 1150px;
}

#header_slider .item img {
  width: 100%;
  height: auto;
  display: block;
}

#header_slider .item .overlay span:before {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  z-index: 2;
  position: absolute;
  left: 0px;
  top: 0px;
}

/* プログレスバー */
#progressBar {
  position: absolute;
  bottom: 0;
  z-index: 2;
  width: 100%;
  backface-visibility: hidden;
}

#bar {
  width: 0%;
  max-width: 100%;
  height: 6px;
  background: rgba(255, 255, 255, 0.5);
  backface-visibility: hidden;
}

/* スライダーのキャッチコピー */
#header_slider .caption {
  position: absolute;
  text-align: center;
  z-index: 5;
  width: 1150px;
  margin: auto;
  left: 0;
  right: 0;
  top: 50%;
  top: -webkit-calc(50% + 30px);
  top: -moz-calc(50% + 30px);
  top: calc(50% + 30px);
  -webkit-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#header_slider .caption .title {
  line-height: 125%;
}

#header_slider .caption .button {
  font-size: 16px;
  text-decoration: none;
  padding: 0 25px;
  width: 160px;
  height: 50px;
  line-height: 50px;
  display: inline-block;
  margin: 15px 0 0 0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/* スライダーのキャッチコピーのアニメーション */
.pc #header_slider .caption .title,
.pc #header_slider .caption .button {
  opacity: 0;
  background-color: #f57b7b44;
  /* 追加：X軸 Y軸 ぼかし幅 広がり幅 色 */
  box-shadow: 0 0 20px 10px #f57b7b44;
}


@media screen and (max-width: 770px) {
  #header_slider .caption .title {
    background-color: #f57b7b44;
    /* 追加：X軸 Y軸 ぼかし幅 広がり幅 色 */
    box-shadow: 0 0 20px 10px #f57b7b44;
  }
}

.pc #header_slider .owl-item.active .caption .title {
  -webkit-animation: opacityAnimation 1.0s ease forwards 1.0s;
  animation: opacityAnimation 1.0s ease forwards 1.0s;
}

.pc #header_slider .owl-item.active .caption .button {
  -webkit-animation: opacityAnimation 1.0s ease forwards 2.0s;
  animation: opacityAnimation 1.0s ease forwards 2.0s;
}

.pc #header_slider .first_active .caption .title {
  -webkit-animation: opacityAnimation 1.0s ease forwards 2.0s !important;
  animation: opacityAnimation 1.0s ease forwards 2.0s !important;
}

.pc #header_slider .first_active .caption .button {
  -webkit-animation: opacityAnimation 1.0s ease forwards 3.0s !important;
  animation: opacityAnimation 1.0s ease forwards 3.0s !important;
}

@-webkit-keyframes opacityAnimation {
  0% {}

  100% {
    opacity: 1;
  }
}

@keyframes opacityAnimation {
  0% {}

  100% {
    opacity: 1;
  }
}

/* コンテンツ１ */
#index_content1_top {
  position: relative;
  padding: 35px 0 0 0;
  margin: 0 0 30px 0;
  background: #eee;
}

#index_content1_top_inner {
  width: 1150px;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}

#index_content1_top img {
  display: block;
}

#index_content1 {
  position: relative;
  margin: 0 0 50px 0;
}

#index_content1_inner {
  width: 1150px;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}

.index_box_list {
  padding: 0;
  display: flex;
  display: -webkit-flex;
  display: -webkit-box;
}

.index_box_list .box {
  width: 360px;
  margin: 0 35px 0 0;
  padding: 0;
  position: relative;
}

.index_box_list .box.box3 {
  margin: 0;
}

.index_box_list .image {
  width: 360px;
  height: 240px;
  display: block;
  margin: 0;
  overflow: hidden;
}

.index_box_list .image img {
  width: 360px;
  height: 240px;
  display: block;
  -webkit-transition: all 0.35s ease-in-out;
  -moz-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

.index_box_list .image a:hover img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}

#index_content1 .index_box_list .image {
  display: none;
}

.index_box_list .headline {
  font-size: 34px;
  margin: 0 0 20px 0;
  text-align: center;
}

.index_box_list .desc {
  font-size: 14px;
  margin: 0;
  line-height: 250%;
}


/* コンテンツ２ */
#index_content2 {
  width: 1150px;
  margin: 0 auto 10px;
}

#index_content2 .image {
  margin: 0 0 50px 0;
}

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

#index_content2 .catchphrase {
  text-align: center;
}

#index_content2 .catchphrase .headline {
  font-size: 40px;
  line-height: 200%;
  margin: 0 0 5px 0;
}

#index_content2 .catchphrase .desc {
  font-size: 14px;
  line-height: 200%;
  margin: 0 0 35px 0;
}


/* アーカイブのボタン */
.index_archive_link a {
  background: #ccc;
  color: #fff;
  text-decoration: none;
  display: block;
  margin: 0 auto;
  width: 180px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  position: relative;
  font-size: 14px;
}

.index_archive_link a:hover {
  color: #fff;
}


/* お知らせ */
#index_news_headline_top {
  display: none;
}

#index_news {
  width: 100%;
  min-width: 1150px;
  background: #f9f8f4;
}

#index_news_inner {
  width: 1150px;
  margin: 0 auto 100px;
  padding: 80px 0;
  position: relative;
}

#index_news_banner {
  width: 550px;
  float: left;
}

#index_news_banner .banner1 {
  margin: 0 0 50px 0;
}

#index_news_banner .image {
  margin: 0 0 10px 0;
}

#index_news_banner .desc {
  line-height: 200%;
  margin: 0;
  font-size: 14px;
}

#index_news_list {
  float: right;
  width: 550px;
  position: relative;
  padding: 75px 0 0 0;
}

#index_news_list .headline {
  position: absolute;
  top: 0px;
  left: 0px;
}

#index_news_list ol {
  border-top: 1px dotted #ccc;
  padding: 20px 0 0 0;
  margin: 0;
}

#index_news_list li {
  border-bottom: 1px dotted #ccc;
  padding: 0 0 15px 0;
  margin: 0 0 20px 0;
}

#index_news_list li .date {
  line-height: 100%;
  margin: 0 0 5px 0;
  font-weight: bold;
  font-size: 14px;
}

#index_news_list li .title {
  line-height: 200%;
  margin: 0;
  display: block;
  font-size: 14px;
  font-weight: 500;
}


/* ブログ */
/* moreボタンを右上から【記事一覧の一番下・中央】へ移動 */
#index_blog {
  margin-top: 90px;
  position: relative;
  padding-bottom: 80px !important;
  /* ボタンを置くためのスキマを下に作る */
}

#index_blog .index_archive_link {
  position: absolute !important;
  top: auto !important;
  left: 50% !important;
  bottom: 10px !important;
  /* 一番下から10pxのパディング位置 */
  transform: translateX(-50%) !important;
  /* きっちり中央寄せにする */
  right: auto !important;
  margin: 0 !important;
}

#index_blog_headline {
  position: absolute;
  top: 0px;
  left: 0px;
}

#index_blog_list {
  font-size: 0;
}

#index_blog_list li {
  display: inline-block;
  vertical-align: top;
  width: 360px;
  margin: 0 35px 30px 0;
}

#index_blog_list li:nth-child(3n) {
  margin-right: 0;
}

#index_blog_list li ul {
  margin: 0 0 15px 0;
}

#index_blog_list li li {
  width: auto;
  margin: 0;
  font-size: 12px;
}

#index_blog_list li .image {
  width: 360px;
  height: 240px;
  display: block;
  margin: 0 0 20px 0;
  overflow: hidden;
}

#index_blog_list li .image img {
  width: 360px;
  height: 240px;
  display: block;
  -webkit-transition: all 0.35s ease-in-out;
  -moz-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#index_blog_list li .image:hover img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}

#index_blog_list li .title {
  line-height: 160%;
  margin: 0 0 20px 0;
  display: block;
  font-size: 15px;
  font-weight: 400;
}

#index_blog_list li .category_sp {
  margin: 0 0 0 12px;
  padding: 0 0 0 10px;
  border-left: 1px solid #aaa;
}

#index_blog_list li .category {
  margin: 0;
  padding: 0;
  border-left: none;
}

#index_blog_list li .category_sp a,
#index_blog_list li .category a {
  display: inline-block;
  padding: 0;
  text-decoration: none;
}

#index_blog_list li .date {
  padding: 0 0 0 20px;
  position: relative;
}

#index_blog_list li .date:before {
  font-family: 'design_plus';
  content: '\e94e';
  font-size: 14px;
  color: #999;
  display: block;
  position: absolute;
  left: 0px;
  top: 0px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* フリースペース */
.index_freespace_inner {
  width: 1150px;
  padding: 90px 0;
  margin: 0 auto;
}


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

/* ロゴ */
.pc #header_logo #logo_text,
.pc #header_logo #logo_image {
  width: 1250px;
  text-align: center;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.pc #header_logo .logo {
  font-size: 20px;
  margin: 0;
}

.pc #header_logo .logo a {
  text-decoration: none;
}

.pc #header_logo .desc {
  font-size: 12px;
  margin: 20px 0 0 0;
}


/* トップページ */
.pc .home #header_top {
  width: 100%;
  min-width: 1250px;
  height: 150px;
  background: #fff;
  border-bottom: 1px solid #ddd;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 100;
}

.pc .home #header_logo {
  width: 1250px;
  height: 150px;
  margin: 0 auto;
  position: relative;
}

.pc .header_fix #header {
  position: fixed;
  width: 100%;
  height: 60px;
  top: 0px;
  left: 0px;
  z-index: 200;
  background: #fff;
  border-bottom: 1px solid #ddd;
  box-shadow: 0 0 0px 0 rgba(0, 0, 0, 0.3);
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  animation: slideDown 0.5s ease;
  -ms-animation: slideDown 0.5s ease;
  -webkit-animation: slideDown 0.5s ease;
  -moz-animation: slideDown 0.5s ease;
}

.pc .home.header_fix #header_top {
  display: none;
}

.pc .home.header_fix #header_bottom {
  width: 1250px;
  margin: 0 auto;
  height: 60px;
  position: relative;
}

.pc .home.header_fix {
  padding-top: 210px;
}

.pc .home #logo_text_fixed,
.pc .home #logo_image_fixed {
  display: none;
}

.pc .home.header_fix #logo_text_fixed,
.pc .home.header_fix #logo_image_fixed {
  display: block;
  height: 60px;
  line-height: 60px;
  position: absolute;
  left: 50px;
  z-index: 100;
}

.pc .home.header_fix #logo_image_fixed img {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  max-width: inherit;
}

.pc .home.header_fix #global_menu {
  background: none;
}

@-webkit-keyframes slideDown {
  0% {
    top: -50px;
  }

  100% {
    top: 0px;
  }
}

@keyframes slideDown {
  0% {
    top: -50px;
  }

  100% {
    top: 0px;
  }
}


/* トップページ以外 */
.pc .not_home #header {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 60px;
  z-index: 200;
  background: rgba(255, 255, 255, 0.7);
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition-property: background-color;
  -webkit-transition-duration: 0.8s;
  -webkit-transition-timing-function: ease;
  -moz-transition-property: background-color;
  -moz-transition-duration: 0.8s;
  -moz-transition-timing-function: ease;
  -o-transition-property: background-color;
  -o-transition-duration: 0.8s;
  -o-transition-timing-function: ease;
  transition-property: background-color;
  transition-duration: 0.8s;
  transition-timing-function: ease;
}

.pc .not_home.fix_top #header {
  position: fixed;
}

.pc .not_home.header_fix2 #header {
  background: #fff;
  border-bottom: 1px solid #ddd;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
}

.pc .not_home #header_top {
  display: none;
}

.pc .not_home #header_bottom {
  width: 1250px;
  margin: 0 auto;
  height: 60px;
  position: relative;
}

.pc .not_home #logo_text_fixed,
.pc .not_home #logo_image_fixed {
  display: block;
  height: 60px;
  line-height: 60px;
  left: 50px;
  position: absolute;
  z-index: 100;
}

.pc .not_home #logo_image_fixed img {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  max-width: inherit;
}


/* グローバルメニュー */
.pc #global_menu {
  z-index: 20;
  position: relative;
}

/*.pc .home #global_menu { background:rgba(255,255,255,0.7); }*/
.pc #global_menu>ul {
  height: 60px;
  font-size: 0;
  position: relative;
  text-align: center;
  margin: 0 auto;
}

.pc #global_menu>ul>li {
  font-size: 1%;
  position: relative;
  display: inline-block;
}

.pc #global_menu>ul>li>a {
  font-size: 14px;
  text-decoration: none;
  height: 60px;
  line-height: 60px;
  display: block;
  padding: 0 2px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.pc #global_menu>ul>li>a:hover {}

.pc #global_menu ul ul {
  display: none;
  width: 200px;
  position: absolute;
  top: 60px;
  left: 0px;
  margin: 0;
  padding: 0;
}

.pc #global_menu ul ul ul {
  left: 100%;
  top: 0;
  margin: 0;
  border: none;
}

.pc #global_menu ul ul li {
  line-height: 150%;
  padding: 0;
  margin: 0;
  text-align: left;
  position: relative;
  display: block;
}

.pc #global_menu ul ul a {
  display: block;
  font-size: 11px;
  background: #222;
  border: none;
  position: relative;
  padding: 14px 20px 12px 20px;
  height: auto;
  line-height: 160%;
  margin: 0;
  text-align: left;
  box-shadow: none;
  color: #fff;
}

.pc #global_menu ul ul a:hover {
  text-decoration: none;
  border: none;
  color: #fff;
}

.pc #global_menu ul ul li.menu-item-has-children>a:before {
  margin: 0;
  display: block;
  top: 20px;
  right: 10px;
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0px 4px 4px;
  border-color: transparent transparent transparent #fff;
}

.pc #global_menu ul ul {
  top: 60px;
  bottom: auto;
}

.pc #global_menu ul ul ul {
  top: 0;
  bottom: auto;
}

.pc #global_menu li li.current-menu-item>a {
  color: #fff;
}


/* パンくずリンク */
#bread_crumb {
  margin: 30px 0 0 0;
  height: 60px;
  line-height: 60px;
  min-width: 1150px;
  overflow: hidden;
}

.blog #bread_crumb {
  margin-bottom: -25px !important;
}

.page #main_col {
  margin-top: 45px;
}

#bread_crumb ul {
  width: 1150px;
  margin: 0 auto;
}

#bread_crumb li.home {
  padding: 0;
}

#bread_crumb li.home a {
  float: left;
  height: 15px;
  width: 13px;
  line-height: 15px;
  display: block;
  position: relative;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#bread_crumb li.home a span {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  display: block;
}

#bread_crumb li.home a:before {
  font-family: 'design_plus';
  color: #999;
  font-size: 14px;
  display: block;
  position: absolute;
  top: 23px;
  left: 0px;
  width: 17px;
  height: 17px;
  line-height: 17px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#bread_crumb li.home:after {
  display: none;
}

#bread_crumb li.home a:before {
  content: '\e90c';
}

#bread_crumb li.home a:hover:before {
  color: #fff;
}

#bread_crumb li {
  color: #999;
  font-size: 12px;
  display: inline;
  padding: 0 15px 0 0;
  margin: 0 0 0 15px;
  line-height: 160%;
  position: relative;
}

#bread_crumb li:after {
  font-family: 'design_plus';
  content: '\e910';
  color: #999;
  font-size: 9px;
  display: block;
  position: absolute;
  left: -20px;
  top: -1px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#bread_crumb li a {
  color: #aaa;
}




/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
#footer_top {
  background: #f9f8f4;
  min-width: 1150px;
  margin-top: 5px;
}

#footer_top_inner {
  width: 1150px;
  margin: 0 auto;
  padding: 55px 0 30px;
  text-align: center;
}


/* logo */
#footer_logo {
  margin: 0 0 70px 0;
}

#footer_logo .logo {
  font-size: 34px;
  margin: 0;
}

#footer_logo .desc {
  font-size: 12px;
  margin: 20px 0 0 0;
}


/* menu list */
#footer_menu {
  margin: 0;
}

.footer_menu {
  display: inline-block;
  margin: 0;
  width: 100%;
  vertical-align: top;
}

.footer_menu li {
  text-align: left;
  margin: 0 0 0px 0 !important;
  font-size: 12px;
  line-height: 180%;
}

.footer_menu li:first-child {
  margin: 0 0 25px 0;
}

.footer_menu li:last-child {
  margin: 0;
}

.footer_menu a {
  display: block;
  transition: .3s ease-in-out;
  color: #666;
}

.footer_menu a:hover {
  text-decoration: underline !important;
}

.footer_menu li:first-child a,
.footer_menu li:only-child a {
  font-size: 14px;
}


/* 住所 */
#footer_address {
  position: relative;
  width: 100%;
  min-width: 1150px;
  margin: 0 auto;
  height: 60px;
  line-height: 60px;
  color: #fff;
  text-align: center;
}


/* メニューとコピーライトエリア */
#footer_bottom {
  background: #f7ad9cb4;
  width: 100%;
  min-width: 1150px;
  height: 60px;
}

#footer_bottom_inner {
  width: 1150px;
  margin: 0 auto;
  height: 60px;
  position: relative;
}


/* SNSボタン */
#footer_social_link {
  position: absolute;
  top: 12px;
}

#footer_social_link li {
  float: left;
  margin: 0 5px 0 0;
  position: relative;
}

#footer_social_link li a {
  display: block;
  text-indent: -200px;
  overflow: hidden;
  width: 30px;
  height: 30px;
  position: relative;
  -webkit-transition-property: none;
  -moz-transition-property: none;
  -o-transition-property: none;
}

#footer_social_link li:before {
  font-family: 'design_plus';
  color: #fff;
  font-size: 17px;
  display: block;
  position: absolute;
  top: 10px;
  left: 9px;
  width: 17px;
  height: 17px;
  line-height: 17px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#footer_social_link li.twitter:before {
  font-family: 'tiktok_x_icon';
  content: "\e901";
}

#footer_social_link li.facebook:before {
  content: '\e902';
}

#footer_social_link li.insta:before {
  content: '\ea92';
  top: 11px;
}

#footer_social_link li.pint:before {
  content: '\e905';
  top: 11px;
}

#footer_social_link li.flickr:before {
  content: '\eaa4';
  top: 11px;
}

#footer_social_link li.tumblr:before {
  content: '\eab9';
  top: 11px;
}

#footer_social_link li.rss:before {
  content: '\e90b';
}

#footer_social_link li.twitter:hover:before {
  color: #222;
  opacity: .8;
}

#footer_social_link li.facebook:hover:before {
  color: #3B5998;
}

#footer_social_link li.insta:hover:before {
  color: #8a3ab9;
}

#footer_social_link li.rss:hover:before {
  color: #ffcc00;
}

#footer_social_link li.pint:hover:before {
  color: #bd081c;
}

#footer_social_link li.flickr:hover:before {
  color: #ff0084;
}

#footer_social_link li.tumblr:hover:before {
  color: #34526f;
}


/* コピーライト */
#copyright {
  position: absolute;
  right: 0px;
  top: 24px;
  font-size: 12px;
  color: #158009;
}

#copyright a {
  color: #158009;
}


/* ページ上部へ戻るボタン */
#return_top {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 10;
  -webkit-transform: translate3d(0, 220%, 0);
  transform: translate3d(0, 220%, 0);
  -webkit-transition: -webkit-transform 0.35s;
  transition: transform 0.35s;
}

#return_top.active {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

#return_top a {
  position: relative;
  display: block;
  height: 60px;
  width: 60px;
  text-decoration: none;
  background: rgba(0, 0, 0, 0.2);
  border-radius: 100%;
}

#return_top span {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  display: block;
}

#return_top a:hover {
  opacity: 1;
}

#return_top a:before {
  font-family: 'design_plus';
  color: #fff;
  font-size: 18px;
  display: block;
  position: absolute;
  width: 23px;
  height: 23px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#return_top a:before {
  content: '\e911';
  top: 22px;
  left: 21px;
}


/* news sns btn */
.user_sns {
  text-align: center;
  padding: 0 12px;
  position: relative;
  margin: 0 0;
}

.user_sns li {
  display: inline;
  margin: 0 2px;
  line-height: 100%;
}

.pc .user_sns.type2 {
  text-align: left;
  margin: 0 -10px 0 0;
}

.pc .user_sns.type2 li {
  display: block;
  float: left;
  margin: 0 8px 0 0;
}

.user_sns li a {
  color: #222;
  border: 1px solid transparent;
  border-radius: 100%;
  width: 23px;
  height: 23px;
  position: relative;
  display: inline-block;
  overflow: hidden;
}

.user_sns li a:hover {
  /* background:#432000;*/
}

.user_sns li span {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  display: block;
}

.user_sns li a:before {
  font-family: 'design_plus';
  color: #222;
  font-size: 11px;
  display: block;
  position: absolute;
  top: 5px;
  left: 5px;
  width: 11px;
  height: 11px;
  line-height: 11px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.user_sns li.twitter a:before {
  font-family: 'tiktok_x_icon';
  content: "\e901";
}

.user_sns li.facebook a:before {
  content: '\e902';
}

.user_sns li.insta a:before {
  content: '\ea92';
}

.user_sns li.pint a:before {
  content: '\f231';
  font-size: 13px;
  top: 6px;
}

.user_sns li.tumblr a:before {
  content: '\eab9';
}

.user_sns li.flickr a:before {
  content: '\eaa4';
}

.user_sns li.rss a:before {
  content: '\e90b';
}

.user_sns li a:hover:before {
  color: #fff;
}


/* footer widget (new footer menu) */
/*.footer_widget { display:inline-block; margin:0; width:150px; vertical-align:top; }
.footer_widget li { text-align:left; margin:0 0 15px 0; font-size:12px; line-height:180%; }
.footer_widget h3 { margin:0 0 25px 0; font-weight: normal; font-size: 14px;}
.footer_widget li:last-child { margin:0; }
.footer_widget a { display:block; transition:.3s ease-in-out; color:#666; }
.footer_widget a:hover { text-decoration:underline !important; }*/



/**
* スマホ用固定フッターバーの設定
*/
.footer-bar02 {
  background: #ffffff;
  border-top: 1px solid #ddd;
  display: table;
  font-size: 12px;
  position: fixed;
  bottom: 0;
  table-layout: fixed;
  text-align: center;
  width: 100%;
  z-index: 9998;
}

.footer-bar02 a {
  display: block;
  padding: 15px 0;
}

.footer-bar02-item {
  display: table-cell;
  vertical-align: middle;
}

.footer-bar02-item+.footer-bar02-item {
  border-left: 1px solid #ddd;
}

.footer-bar02-item:only-child .footer-bar02-icon {
  display: block;
  position: relative;
}

.footer-bar02-item:only-child .footer-bar02-icon:before {
  position: absolute;
  right: 15px;
}

.footer-bar02-icon:before {
  display: block;
  font-family: "design_plus";
  font-size: 16px;
  margin-bottom: .5em;
}

.modal-overlay {
  background: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
}

.modal-content {
  margin: auto;
  position: fixed;
  bottom: 20%;
  left: 0;
  right: 0;
  width: 209px;
  z-index: 9999;
}

.modal-close:before {
  color: #fff;
  font-size: 32px;
  position: absolute;
  bottom: 20%;
  right: 0;
  text-align: center;
  width: 50px;
}

.share {
  text-align: center;
}

.share-button {
  background: none;
  display: inline-block;
  vertical-align: center;
  width: 50px;
  height: 50px;
}

.share-button+.share-button {
  margin-left: 3px;
}

.share-button a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}

.share-button a:before {
  font-size: 24px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  width: 24px;
  height: 24px;
}



/* ----------------------------------------------------------------------
 記事
---------------------------------------------------------------------- */

#article {
  position: relative;
}


/* アイキャッチ画像 */
#post_image {
  padding: 0;
  margin: 0 0 50px 0;
}

#post_image img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0;
}


/* カテゴリー */
#post_meta_top {
  margin: 0 0 20px 0;
}

#post_meta_top li {
  float: left;
  margin: 0;
  font-size: 12px;
}

#post_meta_top .category {
  margin: 0;
  padding: 0;
}

#post_meta_top .date+.category {
  margin: 0 0 0 12px;
  padding: 0 0 0 10px;
  border-left: 1px solid #aaa;
}

#post_meta_top .category a {
  display: inline-block;
  padding: 0;
  text-decoration: none;
}

#post_meta_top .date {
  padding: 0 0 0 20px;
  position: relative;
}

#post_meta_top .date:before {
  font-family: 'design_plus';
  content: '\e94e';
  font-size: 14px;
  color: #999;
  display: block;
  position: absolute;
  left: 0px;
  top: 0px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* 記事タイトル */
#post_title {
  padding: 0;
  margin: 0 0 20px;
  font-size: 21px;
  line-height: 160%;
}


/*  記事本文*/
.post_content {}


/* SNSボタン */
#single_share_top {
  margin: 0 0 50px;
}

#single_share_top #share_top1 {
  padding-top: 0;
}


/* ページ分割 */
#post_pagination {
  margin: 0 0 50px 0;
  clear: both;
}

#post_pagination h5 {
  margin: 0 0 10px 0;
  font-size: 12px;
}

#post_pagination a,
#post_pagination p {
  float: left;
  display: inline-block;
  background: #eee;
  margin: 0 5px 0 0;
  width: 35px;
  height: 35px;
  line-height: 35px;
  text-align: center;
  text-decoration: none;
  color: #333;
  font-size: 12px;
}

#post_pagination p {
  background: #666;
  color: #fff;
}

#post_pagination a:hover {
  color: #fff;
}


/* メタ情報 */
#post_meta_bottom {
  margin: 0 0 50px;
  background: #fafafa;
  padding: 25px;
}

#post_meta_bottom li {
  display: inline;
  margin: 0 10px 0 0;
  padding: 0 15px 0 20px;
  border-right: 1px solid #ddd;
  font-size: 12px;
  line-height: 180%;
  position: relative;
}

#post_meta_bottom li:last-child {
  border: none;
  margin: 0;
}

#post_meta_bottom li:before {
  font-family: 'design_plus';
  color: #aaa;
  font-size: 13px;
  display: block;
  position: absolute;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#post_meta_bottom li.post_category:before {
  content: '\e92f';
  top: -2px;
  left: 0px;
}

#post_meta_bottom li.post_tag:before {
  content: '\e935';
  top: -1px;
  left: 0px;
}

#post_meta_bottom li.post_author:before {
  content: '\e90d';
  top: -2px;
  left: 0px;
}

#post_meta_bottom li.post_comment:before {
  content: '\e916';
  font-size: 16px;
  top: -2px;
  left: 0px;
}


/* 次の記事、前の記事 */
#previous_next_post {
  margin: 0 0 50px 0;
}

#previous_next_post .prev_post,
#previous_next_post .next_post {
  float: left;
  width: 400px;
  margin-right: -1px;
}

#previous_next_post .next_post {}

#previous_next_post a {
  display: block;
  border: 1px solid #ddd;
  padding: 20px;
  line-height: 130%;
  height: 150px;
  color: #333;
  text-decoration: none;
  position: relative;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#previous_next_post img {
  width: 110px;
  height: 110px;
  float: left;
  margin: 0 20px 0 0;
  border-radius: 100%;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

#previous_next_post .title {
  display: block;
  font-size: 14px;
  line-height: 180%;
  max-height: 75px;
  overflow: hidden;
  padding: 0;
  margin: 18px 0 0 0;
}

#previous_next_post a:hover {}

#previous_next_post a:hover img {
  opacity: 0.2;
}

#previous_next_post a:hover:before {
  font-family: 'design_plus';
  color: #333;
  font-size: 30px;
  display: block;
  position: absolute;
  top: 68px;
  left: 62px;
  z-index: 10;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#previous_next_post .prev_post a:hover:before {
  content: '\e90f';
  left: 59px;
}

#previous_next_post .next_post a:hover:before {
  content: '\e910';
}


/* 広告 */
#single_banner_area {
  margin: 0 0 50px;
  text-align: center;
}

#single_banner_area .single_banner_left {
  display: inline-block;
  margin: 0 10px 0 0;
}

#single_banner_area .single_banner_right {
  display: inline-block;
  margin: 0 0 0 10px;
}

#single_banner_area img {
  max-width: 100%;
  height: auto;
  display: block;
}

#single_banner_area.one_banner .single_banner_left {
  float: none;
  margin: 0 auto;
}

#single_banner_area.one_banner img {
  margin: 0 auto;
}


/* 広告（タイトル下部） */
#single_banner_area_bottom {
  margin: 0 0 50px;
  text-align: center;
}

#single_banner_area_bottom .single_banner_left {
  display: inline-block;
  margin: 0 10px 0 0;
}

#single_banner_area_bottom .single_banner_right {
  display: inline-block;
  margin: 0 0 0 10px;
}

#single_banner_area_bottom img {
  max-width: 100%;
  height: auto;
  display: block;
}

#single_banner_area_bottom.one_banner .single_banner_left {
  float: none;
  margin: 0 auto;
}

#single_banner_area_bottom.one_banner img {
  margin: 0 auto;
}


/* 広告（ショートコードver） */
#single_banner_area2 {
  margin: 0 0 30px 0;
  text-align: center;
}

#single_banner_area2 .single_banner_left {
  display: inline-block;
  margin: 0 10px 0 0;
}

#single_banner_area2 .single_banner_right {
  display: inline-block;
  margin: 0 0 0 10px;
}

#single_banner_area2 img {
  max-width: 100%;
  height: auto;
  display: block;
}

#single_banner_area2.one_banner .single_banner_left {
  float: none;
  margin: 0 auto;
}

#single_banner_area2.one_banner img {
  margin: 0 auto;
}


/* 関連記事 */
#related_post {
  margin: 0;
}

#related_post .headline {
  height: 55px;
  line-height: 55px;
  font-size: 14px;
  margin: 0 0 40px 0;
  background: #f9f8f4;
  padding: 0 20px;
}

#related_post ol {
  margin: 0 0 20px 0;
  position: relative;
  font-size: 0;
}

#related_post li {
  width: 240px;
  margin: 0 40px 30px 0;
  display: inline-block;
  vertical-align: top;
}

#related_post li:nth-child(3n) {
  margin-right: 0;
}

#related_post li .image {
  margin: 0 0 15px 0;
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
}

#related_post li a.image img {
  width: 100%;
  height: auto;
  -webkit-transition: all 0.35s ease-in-out;
  -moz-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

#related_post li .image:hover img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}

#related_post li .desc {}

#related_post li .title {
  font-size: 14px;
  line-height: 160%;
  font-weight: 400;
}

#related_post li .title a {
  display: block;
}




/* ----------------------------------------------------------------------
 お知らせ
---------------------------------------------------------------------- */
/* リンクボタン */
#previous_next_page {
  text-align: center;
  padding: 50px 0;
  font-size: 0;
}

#previous_next_page a {
  background: #fff;
  color: #333;
  text-decoration: none;
  display: inline-block;
  width: 200px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  font-size: 14px;
  position: relative;
  text-shadow: none;
  border: 1px solid #ddd;
  margin: 0 -1px 0 0;
  position: relative;
}

#previous_next_page a:before {
  font-family: 'design_plus';
  content: '\e910';
  font-size: 16px;
  color: #ccc;
  display: block;
  position: absolute;
  right: 13px;
  top: 2px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#previous_next_page a.prev:before {
  content: '\e90f';
  right: auto;
  left: 13px;
}

#previous_next_page a:hover {
  color: #fff;
}

#previous_next_page a:hover:before {
  color: #fff;
}

#article #previous_next_page {
  padding-top: 40px;
}


/* お知らせ一覧 */
#recent_news {
  margin: 0;
}

#recent_news .headline {
  height: 55px;
  line-height: 55px;
  font-size: 14px;
  margin: 0;
  background: #333;
  color: #fff;
  padding: 0 20px;
}

#recent_news ol {
  border: 1px solid #ccc;
  border-top: none;
}

#recent_news li {
  border-bottom: 1px dotted #ccc;
  padding: 20px;
}

#recent_news li:last-child {
  border: none;
}

#recent_news .image {
  float: left;
  width: 110px;
  height: 110px;
  display: block;
  margin: 0 20px 0 0;
  overflow: hidden;
  border-radius: 100%;
  position: relative;
  z-index: 2;
}

#recent_news .image img {
  width: 100%;
  height: auto;
  display: block;
  -webkit-transition: all 0.35s ease-in-out;
  -moz-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

#recent_news .image:hover img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}

#recent_news .content {
  float: left;
  width: 625px;
  position: relative;
  height: 110px;
  overflow: auto;
}

#recent_news .no_image .content {
  float: none;
  width: 100%;
  height: auto;
  padding: 15px 0;
}

#recent_news .title {
  line-height: 160%;
  margin: 0;
  display: block;
  font-size: 16px;
  font-weight: 400;
}

#recent_news .title a {
  display: block;
}

#recent_news .no_date .title {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

#recent_news .date {
  padding: 0 0 20px 0;
  position: relative;
  font-size: 12px;
  margin: 15px 0 0 0;
}

#recent_news .date:before {
  font-family: 'design_plus';
  content: '\e94e';
  font-size: 14px;
  color: #999;
  display: block;
  float: left;
  margin: 0 5px 0 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}




/* ----------------------------------------------------------------------
 サイドコンテンツ
---------------------------------------------------------------------- */

/* 基本設定 */
.side_widget {
  margin: 0 0 50px 0;
  font-size: 12px;
  position: relative;
}

.side_widget:last-child,
.side_widget:only-child {
  margin: 0;
}

.side_headline {
  height: 55px;
  line-height: 55px;
  font-size: 14px;
  margin: 0 0 20px 0;
  background: #333;
  color: #fff;
  padding: 0 20px;
}

.side_widget ul {
  margin: 0;
}

.side_widget li ul {
  margin: 10px 0 0 0;
}

.side_widget li {
  line-height: 200%;
  padding: 2px 0;
  margin: 0 0 10px 0;
}

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


/* 広告 */
.ml_ad_widget {
  margin: 0 0 60px 0;
  border: none;
  padding: 0;
  background: none;
}

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


/* カレンダー */
.widget_calendar {
  border: 1px solid #ddd;
  padding: 15px;
}

.widget_calendar .side_headline {
  margin: -16px -16px 20px;
  position: relative;
}

#wp-calendar {
  margin: 0 auto;
  width: 100%;
  font-size: 11px;
  border-collapse: separate;
  table-layout: fixed;
}

#wp-calendar th,
#wp-calendar td {
  color: #333;
  padding: 2px;
  line-height: 340%;
  text-align: center;
}

#wp-calendar td a {
  display: block;
  margin: 0;
  padding: 0;
  text-decoration: none;
  color: #333;
  background-color: #eee;
}

#wp-calendar td a:hover {
  text-decoration: none;
  color: #fff;
  background: #ccc;
}

#wp-calendar caption {
  padding: 7px 0;
}

#wp-calendar thead th,
#wp-calendar tfoot td {
  border: none;
  padding: 0;
  line-height: 200%;
}

#wp-calendar #prev,
#wp-calendar #next {
  line-height: 300%;
}

#wp-calendar #prev a,
#wp-calendar #next a {
  text-decoration: none;
  background: none;
  color: #333;
}

#wp-calendar #prev a:hover,
#wp-calendar #next a:hover {
  color: #fff;
  background: #ccc;
}

#wp-calendar td#today {
  font-weight: bold;
}

/* デザインされた記事一覧１ */
.styled_post_list1_widget {
  border: 1px solid #ddd;
  padding: 15px 0;
}

.styled_post_list1_widget .side_headline {
  margin: -16px 0px 20px;
  position: relative;
}

.styled_post_list1 {
  margin: 0;
}

.styled_post_list1 li {
  margin: 0 0 20px 0;
  padding: 0 15px 15px;
  background: none;
  border-bottom: 1px solid #ddd;
}

.styled_post_list1 li:last-child {
  margin: 0;
  padding: 0 15px 5px;
  border: none;
}

.styled_post_list1 ul li {
  display: inline;
  line-height: 160%;
  border: none;
}

.styled_post_list1 ul li:last-child {
  border-left: 1px solid #ccc;
  margin: 0 0 0 5px;
  padding: 0 0 0 7px;
}

.styled_post_list1 ul li:only-child {
  border: none;
  margin: 0;
  padding: 0;
}

.styled_post_list1 .title {
  font-size: 14px;
  margin: 0;
  padding: 0;
  display: block;
  font-weight: 400;
  line-height: 180%;
}

.styled_post_list1 .date {
  margin: 0 0 8px 0;
  position: relative;
  display: block;
}

.styled_post_list1 .date:before {
  font-family: 'design_plus';
  content: '\e94e';
  font-size: 14px;
  color: #999;
  display: block;
  float: left;
  margin: 1px 5px 0 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.styled_post_list1 .image {
  float: left;
  display: block;
  margin: 0 25px 0 0;
  overflow: hidden;
  width: 100px;
  height: 100px;
  border-radius: 100%;
  position: relative;
  z-index: 2;
}

.styled_post_list1 .image img {
  width: 100px;
  height: 100px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transition: all 0.35s ease-in-out;
  -moz-transition: all 0.35s ease-in-out;
  transition: all 0.35s ease-in-out;
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

.styled_post_list1 .image:hover img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -ms-transform: scale(1.2);
  -o-transform: scale(1.2);
  transform: scale(1.2);
}


/* 開閉式カテゴリー一覧 */
.tcdw_category_list_widget {
  border: 1px solid #ddd;
  border-bottom: none;
}

.tcdw_category_list_widget .side_headline {
  margin: 0;
}

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

.collapse_category_list li ul {
  margin: 0;
  padding: 0;
}

.collapse_category_list li {
  margin: 0;
  padding: 0;
}

.collapse_category_list li li {
  margin: 0;
  padding: 0;
}

.collapse_category_list li a {
  border-bottom: 1px solid #ddd;
  display: block;
  padding: 12px 20px;
  margin: 0;
  text-decoration: none;
  position: relative;
  color: #333;
  overflow: hidden;
  -webkit-transition-property: none;
  -moz-transition-property: none;
  -o-transition-property: none;
}

.collapse_category_list li a .count {
  float: right;
  top: 0px;
  position: relative;
  background: #f2f2f2;
  padding: 0 10px;
  min-width: 15px;
  text-align: center;
  font-size: 11px;
  border-radius: 2px;
}

.collapse_category_list li li a .count {
  background: #ddd;
}

.collapse_category_list li li li a .count {
  background: #aaa;
}

.collapse_category_list .parent_category a.active {
  margin: 0;
}

.collapse_category_list .children {
  display: none;
  margin-top: -4px;
}

.collapse_category_list .children a {
  padding-left: 22px;
  background-color: #eee;
  margin: 0;
}

.collapse_category_list ul .children a {
  padding-left: 33px;
  background-color: #bbb;
  color: #fff;
}

.collapse_category_list li a:before {
  content: '';
  display: block;
  position: absolute;
  left: -7px;
  top: 50%;
  top: -webkit-calc(50% - 4px);
  top: calc(50% - 4px);
  top: calc(50% - 4px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4.5px 0 4.5px 6px;
  border-color: transparent transparent transparent orange;
  -webkit-transition: -webkit-left 0.35s;
  transition: left 0.35s;
}

.collapse_category_list li a:hover:before {
  left: 8px;
}

.collapse_category_list li a:hover .count {
  background-color: orange;
  color: #fff;
}


/* 検索 */
.widget_search label {
  display: none;
}

.widget_search #search-box,
.widget_search #s,
.side_widget.google_search #s {
  width: 260px;
  height: 40px;
  margin: 0;
  border: none;
  background: #f2f2f2;
  padding: 0 10px;
}

.widget_search #search-btn input,
.widget_search #searchsubmit {
  border: none;
  width: 40px;
  height: 40px;
  background: #000 url(img/common/icon_search.png) no-repeat center;
  cursor: pointer;
  display: block;
  float: right;
  text-indent: -300%;
  overflow: hidden;
}

.side_widget.google_search #searchsubmit {
  font-family: 'design_plus';
  color: #ddd;
  font-size: 18px;
  border: none;
  width: 40px;
  height: 40px;
  background: #222;
  cursor: pointer;
  display: block;
  float: right;
  overflow: hidden;
}

.widget_search #search-btn input:hover,
.widget_search #searchsubmit:hover,
.side_widget.google_search #searchsubmit:hover {
  background-color: #666;
}

.pc .three_column .widget_search #search-box,
.pc .three_column .widget_search #s,
.pc .three_column .side_widget.google_search #s {
  width: 176px;
}


/* アーカイブ、カテゴリードロップダウンメニュー */
.widget_archive,
.widget_categories,
.tcdw_archive_list_widget {
  background: #fff;
}

.widget_archive {
  border-bottom: none;
  padding: 0;
}

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

.widget_archive ul li,
.widget_categories ul li {
  margin: -17px 0 15px;
  display: block;
  padding: 12px 0px;
  margin: 0;
  text-decoration: none;
  position: relative;
  color: #333;
  overflow: hidden;
  -webkit-transition-property: none;
  -moz-transition-property: none;
  -o-transition-property: none;
}

.widget_archive ul li+li,
.widget_categories ul li+li {
  border-top: 1px solid #ddd;
}

.widget_archive .side_headline,
.widget_categories .side_headline,
.tcdw_archive_list_widget .side_headline {
  position: relative;
}

.widget_archive select,
.widget_categories select,
.tcdw_archive_list_widget select {
  border: 1px solid #ddd;
  padding: 12px 10px;
  width: 100%;
  margin: 0;
  font-size: 14px;
}

.widget_archive select {
  border: none;
  border-bottom: 1px solid #ddd;
  padding: 12px;
}

.widget_archive label,
.widget_categories label {
  display: none;
}

.widget_archive select option,
.widget_categories select option,
.tcdw_archive_list_widget option {
  background: #fff;
  color: #333;
}


/* デフォルトの最近の記事 */
.widget_recent_entries li {
  border-bottom: 1px dotted #ccc;
  padding: 0 0 15px 0;
}

.widget_recent_entries li:last-child {
  border: none;
  padding: 0;
}




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

/* 基本設定 */
#comments {
  font-size: 12px;
  margin: 0;
}

#comment_headline {
  height: 55px;
  line-height: 55px;
  font-size: 14px;
  margin: 0 0 40px 0;
  background: #f9f8f4;
  padding: 0 20px;
}

#comment_area,
#trackback_area {
  margin: 15px 0 20px;
  padding: 0 0 5px 0;
}

#trackback_area {
  display: none;
}


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

#comment_header ul {
  margin: 0;
}

#comment_header ul li {
  float: left;
  text-align: center;
  margin: 0;
  width: 50%;
}

#comment_header ul li a,
#comment_header ul li p {
  font-size: 11px;
  padding: 15px 15px;
  line-height: 180%;
  display: block;
  color: #333;
  text-decoration: none;
  border: 1px solid #ccc;
}

#comment_header ul li a:hover {
  color: #fff !important;
  background: #333;
}

#comment_header ul li.comment_switch_active a,
#comment_header #comment_closed p {
  color: #fff;
  position: relative;
  background: #333;
}

#comment_header ul li.comment_switch_active a:after,
#comment_header #comment_closed p:after {
  position: absolute;
  bottom: -17px;
  left: 195px;
  content: "";
  width: 0;
  height: 0;
  border-width: 10px;
  border-style: solid;
  border-color: #333 transparent transparent transparent;
}


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

.comment {
  border: 1px solid #ccc;
  color: #777;
  margin: 0 0 15px;
  padding: 15px 20px 0;
  background: #fff;
}

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

.admin-comment {}


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

.comment-meta-left {
  float: left;
  width: 400px;
}

#comments .avatar {
  float: left;
  margin: 0 10px 0 0;
  background: #fff;
  width: 40px;
  height: 40px;
}

.comment-name-date {
  padding: 3px 0 0 0;
  height: 37px;
}

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

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

.comment-name-date {
  margin: 0;
}

.comment-date {
  font-size: 11px;
  color: #757676;
  margin: 10px 0 0 0;
}

.comment-act {
  background: url(img/common/arrow3.gif) no-repeat left;
  font-size: 11px;
  position: absolute;
  right: 0px;
  padding: 0 0 0 10px;
  margin: 5px 0 0 0;
}

.comment-act li {
  display: inline;
  margin: 0;
}

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

.comment-edit a,
.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;
}

#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;
}


/* トラックバック */
.trackback_time {
  font-size: 11px;
  color: #757676;
  margin: 0 0 7px 0px;
}

.trackback_title {
  margin: 2px 0 8px 0;
  margin: 0 0 10px 0px;
  line-height: 160%;
}

#trackback_url_area {
  margin: 0;
}

#trackback_url_area label {
  display: block;
  margin: 0 0 10px 0;
  font-size: 11px;
}

#trackback_url_area input {
  border: 1px solid #ccc;
  background: #fafafa;
  padding: 10px;
  width: 100%;
  font-size: 11px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}


/* ページナビ */
#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 {
  border: 1px solid #ccc;
  margin: 0 0 0px;
  padding: 15px;
  background: #fff;
}

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

#cancel_comment_reply {
  background: url(img/common/arrow3.gif) no-repeat left center;
  margin: 0 0 1em 0;
  padding: 0 0 0 10px;
}

#comment_user_login p {
  padding: 0 0 0 1px;
  margin: 0;
  line-height: 100%;
}

#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: 100%;
}

#comment_login a {
  margin: 0 0 0 20px;
  padding: 0 0 0 20px;
  background: url(img/common/arrow3.gif) no-repeat 10px 3px;
}

#guest_info {
  padding: 0;
  width: 100%;
}

#guest_info div {
  margin: 0 0 12px 0;
  text-align: left;
}

#guest_info input {
  margin: 0;
  padding: 5px 0;
  border: 1px solid #ccc;
  width: 100%;
  background: #fff;
  color: #777;
}

#guest_info input:focus {
  border: 1px solid #e48898;
}

#guest_info label {
  display: block;
  margin: 0 0 5px 0;
  padding: 0 0 0 0;
  font-size: 11px;
  color: #888;
}

#guest_info span {
  color: #666;
  margin: 0 10px 0 0;
}

#comment_textarea textarea {
  margin: 15px 0 0;
  width: 100%;
  height: 150px;
  border: 1px solid #ccc;
  background: #fff;
  color: #777;
  font-size: 11px;
  overflow: auto;
}

#comment_textarea textarea:focus {
  border: 1px solid #e48898;
}

#submit_comment_wrapper {
  text-align: center;
}

#submit_comment {
  background: #aaa;
  border: none;
  cursor: pointer;
  color: #fff;
  font-size: 14px;
  width: 200px;
  height: 50px;
  margin: 15px auto 0;
  display: block;
  -webkit-transition: background-color 200ms ease-in-out;
  -moz-transition: background-color 200ms ease-in-out;
  -o-transition: background-color 200ms ease-in-out;
  -ms-transition: background-color 200ms ease-in-out;
  transition: background-color 200ms ease-in-out;
}

#submit_comment:hover {
  background: #e48898;
}

#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: 160%;
}


/* 検索結果 */
.search-no-results .no_post {
  margin-bottom: 30px;
}



/* ----------------------------------------------------------------------
 ソーシャルボタン
---------------------------------------------------------------------- */
@font-face {
  font-family: 'icomoon';
  src: url('fonts/icomoon.eot?evfvw0');
  src: url('fonts/icomoon.eot?evfvw0#iefix') format('embedded-opentype'),
    url('fonts/icomoon.ttf?evfvw0') format('truetype'),
    url('fonts/icomoon.woff?evfvw0') format('woff'),
    url('fonts/icomoon.svg?evfvw0#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"],
[class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-feedly:before {
  content: "\e907";
}

.icon-hatebu:before {
  content: "\e908";
}

.icon-line:before {
  content: "\e909";
}

.icon-pocket:before {
  content: "\e90a";
}

.icon-google-plus:before {
  content: "\e900";
}

.icon-google-plus2:before {
  content: "\e901";
}

.icon-facebook:before {
  font-family: 'tiktok_x_icon';
  content: "\e902";
}

.icon-facebook2:before {
  content: "\e903";
}

.icon-twitter:before {
  font-family: 'tiktok_x_icon';
  content: "\e901";
}

.icon-rss:before {
  content: "\e90b";
}

.icon-rss2:before {
  content: "\e906";
}

.icon-pinterest:before {
  content: "\e905";
}

.icon-line:before {
  content: "\e909";
}

.icon-note:before {
  content: '';
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 100 100'%3E%3Cpath d='M10 10.4968C25.408 10.4968 46.504 9.70479 61.648 10.1208C81.952 10.6408 89.624 19.5048 89.888 41.3448C90.152 53.7208 89.888 89.1048 89.888 89.1048H67.896C67.896 58.1368 68.008 53.0168 67.896 43.2568C67.632 34.6568 65.2 30.5768 58.584 29.7928C51.592 29.0088 31.992 29.6808 31.992 29.6808V89.1448H10V10.4968Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  top: 0px;
}

#share_top1 ul li a,
#share_top2 ul li a,
#share_btm1 ul li a,
#share_btm2 ul li a {
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}

/*--------------------------------
share_top1（Style1）
---------------------------------*/
#share_top1 {
  width: 100%;
  margin: 0;
  padding: 10px 0 0 0;
}

#share_top1 h2 {
  color: #666666;
  font-weight: 400;
}

#share_top1 ul {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

#share_top1 ul li {
  flex: 1 1 0%;
  max-width: 100px;
}

#share_top1 ul li a {
  width: 100%;
  min-width: 27px;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3px;
  font-size: 12px;
  font-weight: 400;
  color: #fff !important;
  background: #fafafa;
  border-radius: 3px;
  height: 30px;
  box-shadow: 0 1px 0 rgba(0, 0, 0, .03);
  text-shadow: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#share_top1 ul li a i {
  color: #fff;
  font-size: 1.3em;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, .1);
}

#share_top1 ul li a .ttl {}

#share_top1 ul li a .share-count {
  font-size: 9px;
  color: #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#share_top1 ul li>a:hover {
  -webkit-transform: translate3d(0, 1px, 0);
  transform: translate3d(0, 1px, 0)
}

@media screen and (max-width:480px) {
  #share_top1 {
    width: 100%;
  }

  #share_top1 ul {
    margin-bottom: 15px;
  }

  #share_top1 ul li>a span {
    display: none;
  }
}

/*--------------------------------
share_btm1（Style3）
---------------------------------*/
#share_btm1 {}

#share_btm1 .sns {
  margin: 0;
  text-align: center;
}

#share_btm1 ul {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

#share_btm1 li {
  width: calc(50% - 5px);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.post #share_btm1 ul li {
  list-style: none;
  background-image: none;
  padding: 0;
}

#share_btm1 ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: #fff;
  border-radius: 3px;
  height: 35px;
  text-decoration: none;
}

#share_btm1 ul li a i {
  font-size: 140%;
}

#share_btm1 ul li a .ttl {
  font-size: 12px;
}

#share_btm1 ul li a .share-count {
  font-size: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#share_btm1 ul li a:hover {
  -webkit-transform: translate3d(0px, 2px, 1px);
  -moz-transform: translate3d(0px, 2px, 1px);
  transform: translate3d(0px, 2px, 1px);
}

@media only screen and (min-width:480px) {
  #share_btm1 {
    width: 100%;
    margin: 0;
  }

  #share_btm1 li {
    width: calc(25% - 5px);
  }

  #share_btm1 li a {
    font-size: 12px;
  }
}

/*------------- share_top1 & share_btm1 button_color -------------*/
/* X */
#share_top1 ul li.twitter a,
#share_btm1 ul li.twitter a {
  color: #fff;
  background-color: #000;
}

#share_top1 ul li.twitter a:hover,
#share_btm1 ul li.twitter a:hover {
  background-color: #222;
}

/* Facebook */
#share_top1 ul li.facebook a,
#share_btm1 ul li.facebook a {
  background-color: #35629a;
}

#share_top1 ul li.facebook a:hover,
#share_btm1 ul li.facebook a:hover {
  background-color: #1f3669;
}

/* Google+ */
#share_top1 ul li.googleplus a,
#share_btm1 ul li.googleplus a {
  background-color: #dd4b39;
}

#share_top1 ul li.googleplus a:hover,
#share_btm1 ul li.googleplus a:hover {
  background-color: #b94031;
}

#share_top1 ul li.googleplus a i {
  top: 4px;
}

/* Hatena */
#share_top1 ul li.hatebu>a,
#share_btm1 ul li.hatebu a {
  background-color: #3c7dd1;
}

#share_top1 ul li.hatebu>a:hover,
#share_btm1 ul li.hatebu a:hover {
  background-color: #0270ac;
}

/* Pocket */
#share_top1 ul li.pocket a,
#share_btm1 ul li.pocket a {
  background-color: #ee4056;
}

#share_top1 ul li.pocket a:hover,
#share_btm1 ul li.pocket a:hover {
  background-color: #c53648;
}

/* rss */
#share_top1 ul li.rss a,
#share_btm1 ul li.rss a {
  background-color: #ffb53c;
}

#share_top1 ul li.rss a:hover,
#share_btm1 ul li.rss a:hover {
  background-color: #e09900;
}

/* Feedly */
#share_top1 ul li.feedly a,
#share_btm1 ul li.feedly a {
  background-color: #6cc655;
}

#share_top1 ul li.feedly>a:hover,
#share_btm1 ul li.feedly>a:hover {
  background-color: #5ca449;
}

/* Pinterest */
#share_top1 ul li.pinterest a,
#share_btm1 ul li.pinterest a {
  background-color: #d4121c;
}

#share_top1 ul li.pinterest a:hover,
#share_btm1 ul li.pinterest a:hover {
  background-color: #a42f35;
}

#share_top1 ul li.line_button a,
#share_btm1 ul li.line_button a {
  background-color: #00B900;
}

#share_top1 ul li.line_button a:hover,
#share_btm1 ul li.line_button a:hover {
  background-color: #009100;
}

#share_top1 ul li.note_button a,
#share_btm1 ul li.note_button a {
  background: #fff;
  border: 1px solid #ddd;
  color: #000;
  box-sizing: content-box;
  top: -1px;
}

#share_top1 ul li.note_button a:hover,
#share_btm1 ul li.note_button a:hover {
  background: #eee;
  border-color: #ddd;
}

#share_top1 ul li.note_button a .ttl,
#share_btm1 ul li.note_button a .ttl {
  color: #000;
}

#share_top1 ul li.note_button a:hover .ttl,
#share_btm1 ul li.note_button a:hover .ttl {
  color: #000;
}


/*--------------------------------
share_top2（Style2）
---------------------------------*/
#share_top2 {
  width: 100%;
  margin: 0;
}

#share_top2 h2 {
  color: #444;
  font-weight: 400;
}

#share_top2 ul.type2 {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

#share_top2 ul.type2 li {
  flex: 1 1 0%;
  max-width: 100px;
}

#share_top2 ul.type2 li a {
  width: 100%;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3px;
  font-size: 12px;
  font-weight: 400;
  border-radius: 3px;
  height: 30px;
  color: #222 !important;
  background: #fafafa !important;
  border: 1px solid rgba(0, 0, 0, .1);
  box-shadow: 0 1px 0 rgba(0, 0, 0, .03);
  text-shadow: none;
}

#share_top2 ul.type2 li a i {
  color: #222;
  font-size: 1.3em;
  text-shadow: 1px 1px 0 rgba(255, 255, 255, .1);
}

#share_top2 ul.type2 li a .ttl {}

#share_top2 ul.type2 li a .share-count {
  color: #444;
  font-size: 9px;
  padding: 0;
  line-height: 25px;
  margin: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

#share_top2 ul.type2 li a:hover,
#share_top2 ul.type2 li a:hover i,
#share_top2 ul.type2 li a:hover .share-count {
  color: #fff !important;
}

#share_top2 ul.type2 li a:hover {
  border-color: rgba(255, 255, 255, .1);
}

@media screen and (max-width:480px) {
  #share_top2 {
    width: 100%;
    margin: 0;
  }

  #share_top2 ul.type2 {
    margin-bottom: 15px;
  }

  #share_top2 ul.type2 li>a span.ttl {
    display: none;
  }
}

/*--------------------------------
share_btm2（Style4）
---------------------------------*/
#share_btm2 {
  text-align: center;
}

#share_btm2 .sns {
  margin: 0;
}

#share_btm2 ul.type4 {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

#share_btm2 ul.type4 li {
  width: calc(50% - 5px);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

.post #share_btm2 ul li {
  list-style: none;
  background-image: none;
  padding: 0;
}

#share_btm2 ul.type4 li a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  text-decoration: none;
  border-radius: 3px;
  height: 35px;
  color: #222 !important;
  background: #fafafa !important;
  border: 1px solid rgba(0, 0, 0, .1);
  box-shadow: 0 1px 0 rgba(0, 0, 0, .03);
  text-shadow: none;
}

#share_btm2 ul.type4 li a i {
  font-size: 140%;
  color: #222 !important;
}

#share_btm2 ul.type4 li a .ttl {
  font-size: 12px;
}

#share_btm2 ul.type4 li a .share-count {
  font-size: 10px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  color: #222 !important;
}

#share_btm2 ul.type4 li a:hover,
#share_btm2 ul.type4 li a:hover i,
#share_btm2 ul.type4 li a:hover .share-count {
  color: #fff !important;
}

@media only screen and (min-width:480px) {
  #share_btm2 {
    width: 100%;
    margin: 0;
  }

  #share_btm2 ul.type4 li {
    width: calc(25% - 5px);
  }
}

/*------------- share_top2 & share_btm4 button_color -------------*/
/* X */
#share_top2 ul.type2 li.twitter a,
#share_btm2 ul.type4 li.twitter a {
  color: #222 !important;
  background-color: #fafafa !important;
}

#share_top2 ul.type2 li.twitter a:hover,
#share_btm2 ul.type4 li.twitter a:hover {
  color: #fff !important;
  background-color: #000 !important;
}

/* Facebook */
#share_top2 ul.type2 li.facebook a,
#share_btm2 ul.type4 li.facebook a {
  color: #222 !important;
  background-color: #fafafa !important;
}

#share_top2 ul.type2 li.facebook a:hover,
#share_btm2 ul.type4 li.facebook a:hover {
  color: #fff !important;
  background-color: #35629a !important;
}

/* Google+ */
#share_top2 ul.type2 li.googleplus a,
#share_btm2 ul.type4 li.googleplus a {
  color: #222 !important;
  background-color: #fafafa !important;
}

#share_top2 ul.type2 li.googleplus a:hover,
#share_btm2 ul.type4 li.googleplus a:hover {
  color: #fff !important;
  background-color: #dd4b39 !important;
}

#share_top2 ul.type2 li.googleplus a i,
#share_btm2 ul.type4 li.googleplus a i {
  top: 4px;
}

/* Hatena */
#share_top2 ul.type2 li.hatebu a,
#share_btm2 ul.type4 li.hatebu a {
  color: #222 !important;
  background-color: #fafafa !important;
}

#share_top2 ul.type2 li.hatebu a:hover,
#share_btm2 ul.type4 li.hatebu a:hover {
  color: #fff !important;
  background-color: #3c7dd1 !important;
}

/* Pocket */
#share_top2 ul.type2 li.pocket a,
#share_btm2 ul.type4 li.pocket a {
  color: #222 !important;
  background-color: #fafafa !important;
}

#share_top2 ul.type2 li.pocket a:hover,
#share_btm2 ul.type4 li.pocket a:hover {
  color: #fff !important;
  background-color: #ee4056 !important;
}

/* rss */
#share_top2 ul.type2 li.rss a,
#share_btm2 ul.type4 li.rss a {
  color: #222 !important;
  background-color: #fafafa !important;
}

#share_top2 ul.type2 li.rss a:hover,
#share_btm2 ul.type4 li.rss a:hover {
  color: #fff !important;
  background-color: #ff8c00 !important;
}

/* Feedly */
#share_top2 ul.type2 li.feedly a,
#share_btm2 ul.type4 li.feedly a {
  color: #222 !important;
  background-color: #fafafa !important;
}

#share_top2 ul.type2 li.feedly a:hover,
#share_btm2 ul.type4 li.feedly a:hover {
  color: #fff !important;
  background-color: #6cc655 !important;
}

/* Pinterest */
#share_top2 ul.type2 li.pinterest a,
#share_btm2 ul.type4 li.pinterest a {
  color: #222 !important;
  background-color: #fafafa !important;
}

#share_top2 ul.type2 li.pinterest a:hover,
#share_btm2 ul.type4 li.pinterest a:hover {
  color: #fff !important;
  background-color: #d4121c !important;
}

#share_top2 ul.type2 li.line_button a,
#share_btm2 ul.type4 li.line_button a {
  color: #222 !important;
  background-color: #fafafa !important;
}

#share_top2 ul.type2 li.line_button a:hover,
#share_btm2 ul.type4 li.line_button a:hover {
  color: #fff !important;
  background-color: #00B900 !important;
}

#share_top2 ul.type2 li.note_button a,
#share_btm2 ul.type4 li.note_button a {
  color: #222 !important;
  background-color: #fafafa !important;
}

#share_top2 ul.type2 li.note_button a:hover,
#share_btm2 ul.type4 li.note_button a:hover {
  color: #fff !important;
  background-color: #000000 !important;
}

#share_top2 ul.type2 li.note_button a:hover .icon-note:before,
#share_btm2 ul.type4 li.note_button a:hover .icon-note:before {
  content: '';
  display: inline-block;
  width: 0.9em;
  height: 0.9em;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 100 100'%3E%3Cpath d='M10 10.4968C25.408 10.4968 46.504 9.70479 61.648 10.1208C81.952 10.6408 89.624 19.5048 89.888 41.3448C90.152 53.7208 89.888 89.1048 89.888 89.1048H67.896C67.896 58.1368 68.008 53.0168 67.896 43.2568C67.632 34.6568 65.2 30.5768 58.584 29.7928C51.592 29.0088 31.992 29.6808 31.992 29.6808V89.1448H10V10.4968Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  top: 0px;
}


/*--------------------------------
share_top5（公式ボタン）
---------------------------------*/
#share5_top {
  margin: 20px 0 0;
}

#share5_btm {
  margin: 0 0 30px;
}

.sns_default_top {
  margin: 0;
  padding: 0;
  overflow: hidden;
  list-style: none;
}

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

.sns_default_top ul li {
  display: inline-block;
  margin: 0 5px 3px 0;
  line-height: 1 !important;
  overflow: hidden;
  vertical-align: top;
}

.sns_default_top ul li.twitter_button {
  width: 77px;
}

.sns_default_top ul li.fbshare_button:hover {
  text-decoration: none;
}

.sns_default_top ul li.google_button {
  width: 58px;
}

.sns_default_top ul li.pocket_button {
  width: 88px;
}

@media only screen and (max-width: 480px) {
  .sns_default_top {}

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

  .sns_default_top ul li {
    margin-bottom: 6px;
  }

  .sns_default_top ul li.twitter_button {
    margin-left: 0;
  }
}

/* ----------------------------------------------------------------------
 デフォルトで実装されているウィジェットのスタイル調整
---------------------------------------------------------------------- */

/* デフォルトのRSS */
.widget_rss h2:before {
  font-family: 'design_plus';
  content: '\e90b';
  font-size: 13px;
  display: inline-block;
  margin: 0 7px 0 0;
  vertical-align: -1px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.widget_rss h2 a img {
  display: none;
}

.widget_rss h2 a {
  color: inherit;
}

.widget_rss li {
  border-bottom: 1px solid #ddd;
  padding: 0 0 15px 0;
  margin-bottom: 15px;
}

.widget_rss li:last-child {
  border: none;
  padding: 0;
  margin: 0;
}

.widget_rss .rss-date {
  position: relative;
  color: #999;
  display: inline-block;
  margin-left: 8px;
}

.widget_rss .rss-date:before {
  font-size: 14px;
  font-family: 'design_plus';
  content: '\e94e';
  font-size: 13px;
  display: inline-block;
  margin: 0 7px 0 0;
  vertical-align: -1px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.widget_rss .rssSummary,
.widget_rss cite {
  font-size: 80%;
  color: #999;
}

/* デフォルトのタグ一覧 */
.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;
  display: block;
  background: #f9f8f4;
  padding: 0px 20px;
  border-radius: 5px;
  height: 36px;
  line-height: 36px;
}

.widget_tag_cloud .tagcloud a:hover {
  text-decoration: none;
  opacity: .6;
  color: inherit;
}

/* デフォルトの最近の記事 */
.widget_recent_entries li {
  border-bottom: 1px solid #ddd;
  padding: 0 0 15px 0;
  margin-bottom: 15px;
}

.widget_recent_entries li:last-child {
  border: none;
  padding: 0;
  margin: 0;
}

.widget_recent_entries li a {
  display: block;
}

.widget_recent_entries .post-date {
  position: relative;
  color: #999;
  display: block;
  margin-top: 3px;
}

.widget_recent_entries .post-date:before {
  font-family: 'design_plus';
  content: '\e94e';
  font-size: 13px;
  display: inline-block;
  margin: 0 7px 0 0;
  vertical-align: -1px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


/* デフォルトのカテゴリー */
.category_list_widget ul {
  margin: 0;
}

.category_list_widget ul ul {
  margin-left: 1em;
}

.category_list_widget ul li {
  margin: 0;
  padding: 0;
  line-height: 1;
}

.category_list_widget ul li a {
  display: block;
  line-height: 1.6;
  padding: 10px 0;
}

.category_list_widget .widget_headline+ul {
  margin: -12px 0 -14px;
}

.widget_categories ul {
  margin: 0;
}

.widget_categories ul ul {
  margin-left: 1em;
}

.widget_categories .widget_headline+ul {
  margin: -12px 0 -14px;
}

/* デフォルトのアーカイブとカテゴリー　ドロップダウンメニュー */
.widget_archive select,
.widget_categories select {
  border: 1px solid #ddd;
  background: #fff;
  width: 100%;
  height: 60px;
  padding: 0 18px;
  cursor: pointer;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -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;
  left: calc(100% - 50px);
  text-indent: -100vw;
}

.widget_archive .screen-reader-text:before,
.widget_categories .screen-reader-text:before {
  font-family: 'design_plus';
  content: '\e90e';
  text-align: center;
  text-indent: 0;
  display: block;
  width: 14px;
  height: 14px;
  line-height: 14px;
  position: absolute;
  right: 15px;
  top: 25px;
}


/* デフォルトの固定ページ */
.widget_pages ul {
  margin: 0;
}

.widget_pages ul ul {
  margin-left: 1em;
}

.widget_pages ul li {
  margin: 0;
  padding: 0;
  line-height: 1;
}

.widget_pages ul li a {
  display: block;
  line-height: 1.6;
  padding: 10px 0;
}

.widget_pages .widget_headline+ul {
  margin: -12px 0 -14px;
}


/* デフォルトのナビ　*/
.widget_nav_menu ul {
  margin: 0;
}

.widget_nav_menu ul ul {
  margin-left: 1em;
}

.widget_nav_menu ul li {
  margin: 0;
  padding: 0;
  line-height: 1;
}

.widget_nav_menu ul li a {
  display: block;
  line-height: 1.6;
  padding: 10px 0;
}

.widget_nav_menu .widget_headline+ul {
  margin: -12px 0 -14px;
}


/* デフォルトのコメントウィジェット */
.widget_recent_comments li {
  color: #999;
}

/* テキストウィジェット */
.widget_text {
  line-height: 2.5;
}

.widget_text p {
  margin: 0 0 2em 0;
}

.widget_text ul {
  list-style: circle outside none;
  margin-left: 1.3em;
}

.widget_text ol {
  list-style: decimal outside none;
  margin-left: 1.5em;
}

.widget_textt li,
.widget_text dt,
.widget_textdd {
  line-height: 2.2;
}

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


/* ----------------------------------------------------------------------
 ブロックエディターのYotutubeのレスポンシブ対応
---------------------------------------------------------------------- */
.wp-block-embed {
  margin: 0 0 2em 0;
}

/* ----------------------------------------------------------------------
 上付き文字、下付き文字
---------------------------------------------------------------------- */
sup {
  vertical-align: super;
  font-size: smaller;
}

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

/* ----------------------------------------------------------------------
 長いURLなどがはみ出る現象
---------------------------------------------------------------------- */
.post_content p {
  word-wrap: break-word;
}

/** ブロックエディターのテーブルブロックの調整 **/
.wp-block-table.is-style-stripes td,
.wp-block-table .has-background td {
  background-color: transparent;
}

.entry-date {
  font-family: 'Arial';
}

.styled_post_list1 .date {
  font-family: 'Arial';
}

/* スクロール */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 40px;
}

html:has(.fix_top) {
  scroll-padding-top: 80px;
}

@media (max-width: 1199px) {
  html {
    scroll-padding-top: 20px !important;
  }

  html:has(.mobile_header_fix) {
    scroll-padding-top: 80px !important;
  }
}

body.single-post #main_col {
  display: flex;
  gap: 20px;
}

body.single-post.layout2 #left_col {
  order: 2;
}

body.single-news #main_col {
  display: flex;
  gap: 20px;
}

body.single-news.layout2 #left_col {
  order: 2;
}

body.page-template-default .flex_layout {
  display: flex;
  gap: 20px;
}

body.page-template-default.layout2 #left_col {
  order: 2;
}

body.page-template-page-notitle #main_col {
  display: flex;
  gap: 20px !important;
}

body.page-template-page-notitle.layout2 #left_col {
  order: 2;
}

.rich_font_logo:hover {
  text-decoration: none !important;
}



/**
 * ==========================================================================
 * 追加カスタムCSS（PC・スマホ完全分離 / 整理整頓版）
 * ==========================================================================
 */

/* ==========================================
   【1】 ローダー・アニメーション
   ========================================== */
#site_loader_overlay {
  position: fixed;
  background: #fff;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  z-index: 99999;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 1;
  transition: opacity 0.3s;
}

#site_loader_spinner {
  width: 60px;
  height: 60px;
  border-radius: 100%;
  border: 4px solid #ccc;
  border-top-color: #666;
  box-sizing: border-box;
  position: absolute;
  animation: loading 1.2s linear infinite;
}

#site_loader_logo {
  width: 34px;
  height: auto;
  position: absolute;
  z-index: 100000;
  animation: fadeInScale 0.8s ease-out forwards;
}

@keyframes loading {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

@keyframes fadeInScale {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* ==========================================
   【2】 汎用見出し・テキスト・パーツ（★PC基準: 30px / 左揃え）
   ========================================== */
/* グラデーションテキスト */
.headline,
.color_headline,
.pb_headline,
.pb_headline .pb_font_family_2 {
  background: linear-gradient(135deg, #ffc3a0 0%, #ff85a1 50%, #e6a7c0 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
  display: inline-block;
  font-weight: 700;
  padding-bottom: 0.1em;
  line-height: 1.4;
}

/* 各種タイトル（PC: 30px / 左寄せ） */
.custom_headline,
.mphead,
.shopinfo,
.snshead {
  font-size: 30px !important;
  text-align: left !important;
  margin-bottom: 30px;
}

/* 同意ボックス */
.policy-simple-box {
  white-space: pre-wrap;
  height: 150px;
  overflow-y: scroll;
  border: 1px solid #ccc;
  padding: 10px;
  font-size: 12px;
  line-height: 1.6;
  color: #666;
  background: #f9f9f9;
  margin: 20px 0;
}

/* SNSアイコン */
.insta-link svg {
  width: 50px;
  height: auto;
  color: #E1306C;
  transition: transform 0.2s;
}

.insta-link svg:hover {
  transform: scale(1.1);
}

/* 背景・店舗情報 */
.shopbackground {
  background-color: #fff;
}

.information {
  max-width: 1200px;
  margin: 50px auto;
  padding: 0 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  justify-content: space-between;
  text-align: left;
  line-height: 1.8;
}

.topnewsblog {
  margin-top: 30px;
  padding-bottom: 50px;
  padding-top: 50px;
}

#recent_news ol {
  border: none !important;
}

/* ==========================================
   【3】 ヘッダー・メインキャッチ・店舗バナー
   ========================================== */
/* ヘッダー画像 */
#header_image {
  height: 300px !important;
  position: relative !important;
  width: 100% !important;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  overflow: hidden !important;
  z-index: 1;
}

.header_custom_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 2;
}

#header_image .caption {
  position: relative;
  z-index: 3;
  width: 1250px !important;
  max-width: 95% !important;
  margin: 0 auto !important;
  padding-left: 50px !important;
  box-sizing: border-box !important;
}

#header_image .caption h1.title,
#header_image .caption p {
  position: static !important;
  margin: 0 !important;
  transform: none !important;
  width: auto !important;
  line-height: 1.2 !important;
}

#header_image .caption h1.title {
  font-size: 36px !important;
  font-weight: 500;
}

#header_image .caption p {
  font-size: 1.2rem !important;
  color: #fff;
  text-transform: uppercase;
  margin-top: 10px !important;
  letter-spacing: 0.2em;
}

#header_image .image {
  display: none !important;
}

/* TOP背景固定セクション */
.bg_fixed_section {
  position: relative;
  width: 100%;
  max-width: 100% !important;
  min-height: 600px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed !important;
  overflow: hidden;
}

/* キャッチフレーズ */
#index_content2 .catchphrase {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  padding: 60px 40px;
  max-width: 900px;
  width: 90%;
  margin: 0 auto;
  text-align: center;
  z-index: 10;
}

#index_content2 .catchphrase .color_headline {
  color: #ffffff;
  font-size: 2.5rem;
  text-shadow: 0 2px 15px rgba(0, 0, 0, 0.5);
  margin-bottom: 20px;
  text-align: center;
}

#index_content2 .desc {
  color: #ffffff;
  line-height: 2;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.5);
  text-align: center;
}

/* 店舗バナー */
.shop_banner {
  width: 100%;
  height: 100%;
  max-width: 1200px;
  margin: 120px auto;
  padding: 0 20px;
  box-sizing: border-box;
  display: block !important;
}

.shop_banner a {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.shop_banner img {
  width: 100%;
  height: 100% !important;
  max-width: 100%;
  object-fit: cover;
  vertical-align: bottom;
  transition: transform 0.3s ease;
}

.shop_banner img:hover {
  transform: scale(1.05);
}

/* バナー見出し (PC: 30px / 左寄せ) */
.shop_banner h2.shop_headline {
  font-size: 30px !important;
  text-align: left !important;
  margin: 20px 0 !important;
  font-weight: bold !important;
  display: block !important;
  background: linear-gradient(135deg, #ffc3a0 0%, #ff85a1 50%, #e6a7c0 100%) !important;
  background-clip: text !important;
  -webkit-background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}

/* 共通ボタン */
.btn-container {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 20px auto 30px;
}

a.shopintroBtn {
  display: inline-block;
  width: 60%;
  height: 50px;
  line-height: 50px;
  padding: 0 10px;
  margin: 0 auto;
  text-align: center;
  text-decoration: none;
  color: #FFFFFF;
  font-weight: bold;
  font-size: 16px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: linear-gradient(135deg, #FFDFB4 0%, #FFB4C0 100%);
  box-shadow: 0 4px 15px rgba(255, 180, 192, 0.4);
  transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
}

a.shopintroBtn:hover {
  text-decoration: none;
  filter: brightness(1.06);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 180, 192, 0.6);
  cursor: pointer;
}

/* ==========================================
   【4】 テーブル・フォーム (PC)
   ========================================== */
table {
  width: 100% !important;
}

td {
  vertical-align: top !important;
}

td h6.custom_h6 {
  font-weight: bold;
}

td ul {
  padding-left: 1.5em !important;
}

td li {
  margin-bottom: 3px !important;
}

/* Contact Form 7 */
.modern-form br {
  display: none !important;
}

.modern-form .form-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  padding: 18px 0 !important;
  border-bottom: 1px solid #eee !important;
  width: 100% !important;
}

.modern-form .form-label {
  width: 200px !important;
  min-width: 200px !important;
  flex-shrink: 0 !important;
  font-weight: bold;
}

.modern-form .form-field {
  flex-grow: 1 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px;
}

.modern-form input[type="text"],
.modern-form input[type="email"],
.modern-form input[type="tel"],
.modern-form select,
.modern-form textarea {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 10px !important;
  border: 1px solid #ddd !important;
  background-color: #fafafa !important;
  transition: all 0.3s ease;
}

.modern-form [name="your-name"],
.modern-form [name="your-furigana"],
.modern-form [name="your-email"],
.modern-form [name="your-email-confirm"],
.modern-form [name="your-subject"] {
  max-width: 450px !important;
}

.modern-form [name="your-zip"],
.modern-form [name="your-tel"],
.modern-form [name="your-fax"],
.modern-form select {
  max-width: 250px !important;
}

.modern-form [name="your-city"],
.modern-form [name="your-address"] {
  max-width: 650px !important;
}

.modern-form input:hover,
.modern-form select:hover,
.modern-form textarea:hover {
  background-color: #f0f8ff !important;
  border-color: #0073aa !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}

.modern-form input[type="submit"] {
  background: linear-gradient(to right, #e91e63 50%, #2e7d32 50%);
  background-size: 200% 100%;
  background-position: left bottom;
  transition: all 0.5s ease-in-out;
  color: #fff !important;
  font-weight: bold;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  margin: 0 auto;
  padding: 10px 30px;
}

.modern-form input[type="submit"]:hover {
  background-position: right bottom;
}

.label-required {
  background-color: #e74c3c;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: bold;
  padding: 2px 6px;
  border-radius: 3px;
  margin-left: 8px;
  vertical-align: middle;
}

.label-optional {
  background-color: #95a5a6;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: bold;
  padding: 2px 6px;
  border-radius: 3px;
  margin-left: 8px;
  vertical-align: middle;
}

/* ==========================================
   【5】 コンテンツ（ギャラリー ブライダル）
   ========================================== */
/* ギャラリー */
/* ==========================================
   【5】 コンテンツ（ギャラリー ブライダル）
   ========================================== */
/* ギャラリー */
.gallery {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, 370px) !important;
  justify-content: center !important;
  gap: 15px !important;
}

.gallery .gallery-item,
.gallery .gallery-item img {
  width: 370px !important;
  height: 300px !important;
  object-fit: cover !important;
}

.gallery .gallery-item,
.fs-gallery-item {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.gallery .gallery-item.is-animated,
.fs-gallery-item.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

.fs-gallery-wrapper {
  width: 100%;
  margin: 0 auto;
  padding: 0 !important;
  box-sizing: border-box;
}

.fs-gallery-container {
  width: 100% !important;
  position: relative;
  overflow: hidden;
}

.fs-gallery-sizer {
  width: 33.3333% !important;
}

.fs-gallery-gutter {
  width: 0 !important;
}

.fs-gallery-item {
  width: 33.3333% !important;
  margin-bottom: 0 !important;
  float: left;
  overflow: hidden !important;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  object-fit: cover !important;
}

.fs-gallery-item img {
  width: 100% !important;
  height: auto !important;
  display: block;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: transform 0.5s ease-out !important;
  padding: 6px;
}

.fs-gallery-item:hover img {
  transform: scale(1.1) !important;
}

/* ==========================================
   ▼ スマホ用（画面幅767px以下）の追加コード ▼
   ========================================== */
@media screen and (max-width: 767px) {

  /* .gallery (Gridレイアウト) に対する縦並び指定 */
  .gallery {
    grid-template-columns: 1fr !important;
    /* 縦1列に変更 */
    gap: 4px !important;
    /* ご希望の隙間 4px */
    padding: 0 15px !important;
    /* スマホ画面端の余白 */
  }

  .gallery .gallery-item,
  .gallery .gallery-item img {
    width: 100% !important;
    /* 画面幅いっぱいに広げる */
    height: 300px !important;
    /* 高さは維持 */
  }

  /* .fs-gallery-item (Floatレイアウト) に対する縦並び指定 */
  .fs-gallery-item {
    width: 100% !important;
    /* 33.3333% から 100% に変更 */
    float: none !important;
    /* 横並びを解除 */
    margin-bottom: 4px !important;
    /* 画像の下に隙間 4px */
  }

  /* 画像のパディングを削除して隙間を均一化 */
  .fs-gallery-item img {
    padding: 0 !important;
    height: 300px !important;
    /* coverを効かせるために高さを指定 */
  }
}

/* 1日の流れ */
.custom-flow-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 40px;
  width: 100%;
  box-sizing: border-box;
}

.cf-time {
  width: 15%;
  min-width: 80px;
  text-align: center;
  flex-shrink: 0;
}

.cf-time img {
  width: 70px;
  height: auto;
}

.cf-text {
  flex-grow: 1;
  width: 45%;
  padding: 0 30px;
  font-size: 15px;
  line-height: 1.8;
  color: #333;
  box-sizing: border-box;
}

.cf-note {
  display: block;
  font-size: 13px;
  color: #666;
  margin-top: 10px;
}

.cf-image {
  width: 40%;
  flex-shrink: 0;
}

.cf-image img {
  width: 100%;
  height: auto;
  border-radius: 5px;
  display: block;
}

/* スタッフ */
.custom-staff-section {
  display: flex;
  align-items: center;
  padding: 50px 0;
  border-bottom: 2px double #f3e3de;
  width: 100%;
  box-sizing: border-box;
}

.cs-image {
  width: 45%;
  flex-shrink: 0;
}

.cs-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.cs-content {
  width: 55%;
  padding-left: 30px;
  box-sizing: border-box;
}

.cs-bubble {
  background: #f9f9f9;
  padding: 30px;
  border-radius: 12px;
  border-left: 5px solid #f6e0e0f7;
}

/* 代表紹介 */
.intro-profile-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 30px;
  margin-bottom: 40px;
}

.ip-img-col {
  flex: 0 0 231px;
  text-align: center;
}

.ip-img-col img {
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}

.ip-text-col {
  flex: 1;
  min-width: 300px;
  line-height: 1.8;
  color: #333;
}

.ip-text-col p:first-child {
  margin-top: 0;
}

.ip-text-col p {
  margin-bottom: 1.2em;
}

/* ==========================================
   【6】 フッター & 固定バー (PC)
   ========================================== */
ul.dp-footer-bar,
ul.footer_bar {
  display: flex !important;
  flex-direction: row !important;
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

li.dp-footer-bar-item,
li.footer_bar_item {
  flex: 1 !important;
  width: 50% !important;
  display: block !important;
  visibility: visible !important;
}

li.dp-footer-bar-item:nth-child(1) a,
li.footer_bar_item:nth-child(1) a,
li.dp-footer-bar-item:nth-child(2) a,
li.footer_bar_item:nth-child(2) a {
  display: block !important;
  background-color: #ff85a2e9 !important;
  color: #fff !important;
  text-align: center !important;
}

@media screen and (min-width: 601px) {
  #footer_menu #footer-menu1 ul.menu {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    max-width: 760px !important;
    margin: 0 auto !important;
    padding: 20px 0 !important;
    row-gap: 20px !important;
  }

  #footer_menu #footer-menu1 ul.menu li {
    flex: 0 0 33.3333% !important;
    max-width: 33.3333% !important;
    box-sizing: border-box !important;
    display: block !important;
    text-align: left !important;
    padding: 0 10% !important;
    margin: 0 !important;
  }

  #footer_menu #footer-menu1 ul.menu li a {
    display: inline-block !important;
    width: 200px !important;
    box-sizing: border-box !important;
  }
}


/* ==========================================================================
   📱 レスポンシブ (タブレット・モバイル用ナビ等)
   ========================================================================== */
@media screen and (max-width: 1200px) {
  .menu_button {
    background: linear-gradient(135deg, #f65c95 0%, #e05d73 100%) !important;
  }

  a.menu_button:before {
    font-family: 'design_plus';
    color: #fcfcfc !important;
    display: block;
    position: absolute;
    top: 17px;
    left: 19px;
    font-size: 18px;
    width: 24px;
    height: 24px;
    line-height: 24px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  #global_menu a {
    position: relative !important;
    display: block !important;
    margin: 0 !important;
    padding: 8px 8px 8px 18px !important;
    height: 60px !important;
    line-height: 50px !important;
    overflow: hidden !important;
    text-decoration: none !important;
    color: #fff !important;
    background: linear-gradient(to right, #e95b8b 0%, #eb7f8f 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
    font-size: 13px !important;
    box-sizing: border-box !important;
  }

  #global_menu .sub-menu {
    display: block !important;
    max-height: 0;
    opacity: 1;
    overflow: hidden !important;
    background: #8a434f !important;
    transition: max-height 1.5s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1) !important;
  }

  #global_menu li.menu-item-has-children.open>.sub-menu {
    max-height: 500px !important;
    opacity: 1 !important;
  }

  #global_menu .sub-menu a {
    background: transparent !important;
    color: #ffdce0 !important;
    padding-left: 35px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  }

  #global_menu .child_menu_button .icon:before {
    transition: transform 0.4s ease !important;
    display: inline-block;
    color: #fff !important;
    border-color: rgba(255, 255, 255, 0.5) !important;
  }

  #global_menu li.menu-item-has-children.open>.child_menu_button .icon:before {
    content: '-' !important;
    transform: rotate(180deg);
  }
}

@media screen and (max-width: 1024px) {

  .fs-gallery-sizer,
  .fs-gallery-item {
    width: 50% !important;
  }

  .fs-gallery-gutter {
    width: 0 !important;
  }
}


/* ==========================================================================
   📱 スマホ専用一括指定（max-width: 767px）★重要★
   ========================================================================== */
/* ==========================================
   店舗情報（PC・共通スタイル）
   ========================================== */
/* カラムのレイアウト */
.information .info_col {
  flex: 1;
  min-width: 300px;
}

/* 削除したインラインスタイルの代わり (h4の装飾) */
.information .info_col h4 {
  border-bottom: 1px solid #eeebd1;
  margin-bottom: 15px;
  padding-bottom: 5px;
  font-weight: bold;
  font-size: 18px;
}

/* 注意書きのスタイル */
.information .info_col .info_note {
  font-size: 14px;
  color: #666;
}


/* ==========================================================================
   スマホ専用一括指定（max-width: 767px）
   ========================================================================== */
@media screen and (max-width: 767px) {

  /* 全てのタイトルを一括でスマホ最適化（重複排除・完全統合） */
  .headline,
  .color_headline,
  .pb_headline,
  .pb_headline .pb_font_family_2,
  .mphead,
  .shopinfo,
  .snshead,
  .custom_headline,
  .shop_banner h2.shop_headline,
  h2#index_blog_headline {
    font-size: 20px !important;
    text-align: center !important;
    margin-top: 40px !important;
    margin-bottom: 10px !important;
    display: block !important;
  }

  .index_box_list .desc {
    font-size: 14px;
    margin: 0;
    line-height: 250%;
    text-align: center;
    margin-bottom: 20px;
  }

  /* インフォメーションエリア全体の中央揃え*/
  .information {
    flex-direction: column;
    text-align: center !important;
    gap: 40px;
  }

  .information .info_col {
    width: 100%;
    min-width: auto;
  }

  /* h4のスマホ最適化（中央揃え / 上下マージン余裕） */
  .information .info_col h4 {
    text-align: center !important;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
  }

  /* フッターメニュー：親要素の幅を100%に強制（テーマの50%指定を解除） */
  #footer_wrapper #footer_menu .footer_menu {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }

  /* フッターメニュー：Flexboxで横並び設定 */
  #footer_wrapper #footer_menu .footer_menu ul.menu {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* フッターメニュー：各項目を50%幅にして2カラム化*/
  #footer_wrapper #footer_menu .footer_menu ul.menu li {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 10px 5px !important;
    display: block !important;
  }

  #footer_wrapper #footer_menu .footer_menu ul.menu li a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  /* ヘッダー画像 & スライダー調整 */
  #header_image {
    height: 200px !important;
  }

  #header_image .caption {
    align-items: center !important;
    text-align: center !important;
    padding-left: 0 !important;
  }

  #header_slider .caption .title {
    background-color: #f57b7b44;
    box-shadow: 0 0 20px 10px #f57b7b44;
  }

  /* 背景固定解除 & キャッチフレーズ調整 */
  .bg_fixed_section {
    background-attachment: scroll !important;
    min-height: 450px;
    padding: 50px 20px !important;
    box-sizing: border-box !important;
  }

  #index_content2 .catchphrase {
    width: 85% !important;
    margin: 0 auto !important;
    padding: 35px 20px;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(8px);
  }

  #index_content2 .catchphrase .color_headline {
    font-size: 1.6rem;
    margin-bottom: 15px;
  }

  #index_content2 .desc {
    font-size: 0.95rem;
    line-height: 1.7;
    text-align: center !important;
  }

  /* アーカイブリンク＆フリースペース */
  #index_blog .index_archive_link {
    top: auto;
    left: auto;
    right: auto;
    bottom: 0 !important;
    margin: auto;
  }

  .index_freespace_inner {
    width: 100%;
    box-sizing: border-box;
    padding: 5px !important;
  }

  /* 店舗バナー・インフォメーション */
  .shop_banner {
    max-width: 100%;
    padding: 0 15px;
    margin: 60px auto;
  }

  /* テーブルのブロック化 */
  table.pb_simple_table,
  table.pb_simple_table tbody,
  table.pb_simple_table tr,
  table.pb_simple_table th,
  table.pb_simple_table td {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    /* ← ここを修正 */
  }

  table.pb_simple_table tr {
    margin-bottom: 5px !important;
    border: none !important;
  }

  table.pb_simple_table th {
    padding: 10px 15px 5px !important;
    text-align: center !important;
    font-size: 14px !important;
    border: none !important;
    white-space: nowrap !important;
    /* ← ここを修正 */
  }

  table.pb_simple_table td {
    padding: 5px 15px 15px !important;
    text-align: left !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    word-break: break-all !important;
    overflow-wrap: break-word !important;
    white-space: normal !important;
  }

  table.pb_simple_table td ul {
    margin: 0 !important;
    padding-left: 1.5em !important;
  }

  table.pb_simple_table td li {
    margin-bottom: 3px !important;
    font-size: 14px !important;
    line-height: 1.0 !important;
  }

  /* 1日の流れ */
  .custom-flow-item {
    display: block !important;
    margin-bottom: 50px !important;
  }

  .cf-time,
  .cf-text,
  .cf-image {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 0 15px 0 !important;
    text-align: center;
  }

  .cf-text {
    text-align: left !important;
    font-size: 15px !important;
  }

  .cf-time img {
    width: 65px !important;
  }

  /* スタッフコメント */
  .custom-staff-section {
    display: block !important;
    padding: 30px 0 !important;
  }

  .cs-image,
  .cs-content {
    width: 100% !important;
    padding: 0 !important;
  }

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

  .cs-bubble {
    padding: 20px !important;
  }

  /* 代表紹介 */
  .intro-profile-row {
    display: block;
    gap: 0;
  }

  .ip-img-col {
    width: 160px;
    margin: 0 auto 20px;
  }

  .ip-text-col {
    width: 100%;
    min-width: 0;
    padding: 0 10px;
    box-sizing: border-box;
  }

  /* ギャラリー1列化（旧640px用） */
  .fs-gallery-sizer,
  .fs-gallery-item {
    width: 100% !important;
  }

}

/* スマホ用(767px以下) ここまで */

/* ==========================================================================
   📱 小型スマホ専用（max-width: 600px）※フォーム・フッターなど
   ========================================================================== */
@media screen and (max-width: 600px) {

  /* (他のコードはそのまま) */

  /* ★ フッターメニューを強制的に2カラムにする ★ */
  div#footer_menu div#footer-menu1.footer_menu {
    text-align: left !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }

  /* Flexboxで横並びにする（ここが一番重要） */
  div#footer_menu div#footer-menu1 ul.menu {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    padding: 0 15px !important;
    margin: 0 !important;
  }

  /* 50%の幅を持たせて2カラムにする */
  div#footer_menu div#footer-menu1 ul.menu li {
    flex: 0 0 50% !important;
    max-width: 50% !important;
    width: 50% !important;
    /* ← 念のため追加 */
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 10px 5px !important;
    clear: none !important;
    display: block !important;
  }

  /* リンクのブロック化 */
  div#footer_menu div#footer-menu1 ul.menu li a {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
}


.funeral-photo-sougi img {
  margin: 4px;
}


/* th（見出し）の折り返しを禁止する */
table.pb_simple_table th {
  white-space: nowrap !important;
  /* テキストを1行にする */
  width: auto !important;
  /* 文字の長さに合わせて枠の幅を自動調整 */
}

/* td（中身）のテキストは枠に合わせて折り返す */
table.pb_simple_table td {
  white-space: normal !important;
  word-break: break-word !important;
  /* 英語やURLのはみ出しを防止 */
}