@charset "utf-8";
/*
Theme Name:BIRTH
Theme URI:https://tcd-theme.com/tcd057
Description: WordPress theme "BIRTH" is a template developed for a medical website. The white base design make you feel relaxed. Take advantage of the features that allow you to smoothly create medical subjects and FAQ contents.
Author:TCD
Author URI:https://tcd-theme.com/
Version:2.1.1
Text Domain:tcd-birth
*/


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

/* ----------------------------------------------------------------------
 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; font-size:14px; line-height:1; width:100%; }
.pc .admin-bar { padding-top:33px; }
a { 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;
}
.clear { clear:both; }
.hide { display:none; }


/* レイアウト */
#main_contents { background:#fff; width:100%; position:relative; z-index:10; }
#main_col {
  width:1180px; min-width:1180px; margin:90px auto 150px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
body.single-post #main_col {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

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

body.page-template-default #main_col {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

body.page-template-page-notitle #main_col {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

#left_col { width:830px; float:left; }
#side_col { width:300px; float:right; margin-top:10px; }
.layout2 #left_col { float:right; }
.layout2 #side_col { order: -1; }
.pc .no_side_content #left_col { width:auto; float:none; }


/* ボタン */
.design_button a {
  display:inline-block; height:55px; line-height:55px; min-width:220px; padding:0 20px; background:#afcfd2; color:#fff; text-align:center;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.design_button a:hover { background:#6598a1; color:#fff; }


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

/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */
.index_content { background:#fff; width:1180px; padding:90px 30px 0; margin:0 auto 0px; }
.index_content:first-of-type { position:relative; top:-80px; margin:0 auto -80px; }
.index_content:last-of-type { margin-bottom:150px;}
.index_content img { max-width:100%; height:auto; display:block; }
.no_header_slider .index_content:first-of-type { top:0; margin:0 auto; }


/* ３点ボックス */
#index_3box.index_content:first-of-type { padding-top:30px; }
#index_3box { padding-top:100px; display: -webkit-box; display: -ms-flexbox; display: flex; }
#index_3box .box {
  /*float:left;*/ width:33.33333%; width:-webkit-calc(100% / 3); width:-moz-calc(100% / 3); width:calc(100% / 3);
  border-right:1px solid #fff;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#index_3box .title { font-size:16px; }
#index_3box .title a { display:block; font-weight:normal; height:58px; line-height:58px; text-align:center; background:#afcfd2; color:#fff; }
#index_3box .title a:hover { background:#6598a1; }
#index_3box .image { width:100%; display:block; position:relative; z-index:2; overflow:hidden; }
#index_3box img { width:100%; height:auto; display:block; -webkit-backface-visibility:hidden; backface-visibility:hidden; }


/* イントロ */
#index_intro { }
#index_intro .headline { text-align:center; line-height:1.5; margin:0; font-weight:500; }
#index_intro .desc { text-align:center; line-height:3.0; margin:0px 0 0 0; }
#index_intro .image { width:100%; height:380px; position:relative; margin:85px 0 0 0; }
#index_intro .button {
  display:inline-block; height:55px; line-height:55px; min-width:220px; padding:0 20px; text-align:center;
  margin:auto; position:absolute; top:0; bottom:0;
  left:50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-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;
}


/* お知らせ */
#index_news { }
#index_news .headline { text-align:center; line-height:1.5; margin:0; font-weight:500; }
#index_news .sub_title { text-align:center; font-size:16px; line-height:1.0; margin:0; }
#index_news_list { margin:60px 0 40px; }
#index_news_list article { float:left; background:#f5f5f5; width:380px; height:150px; margin:0 20px 0 0; overflow:hidden; }
#index_news_list article:nth-child(3n) { margin:0; }
#index_news_list .image { width:150px; height:150px; display:block; float:left; position:relative; z-index:2; overflow:hidden; }
#index_news_list .image img { width:100%; height:auto; display:block; -webkit-backface-visibility:hidden; backface-visibility:hidden; aspect-ratio: 1 / 1; object-fit: cover;}
#index_news_list .title_area {
  float:left; position:relative; height:150px;
  width:-webkit-calc(100% - 150px); width:-moz-calc(100% - 150px); width:calc(100% - 150px);
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#index_news_list .no_image .title_area { width:100%; }
#index_news_list .title_area_inner {
  position:absolute; left:40px; right:40px;
  top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);
}
#index_news_list .title { font-weight:normal; line-height:1.8; }
#index_news_list .title a { display:block; }
#index_news_list .date { font-size:14px; color:#999; margin-top:1em; }
#index_news .button { text-align:center; }


/* ワイドコンテンツ */
#index_wide_content { width:100%; min-width:1180px; height:440px; position:relative; margin:100px 0 0 0; }
#index_wide_content .headline_area {
  position:absolute; text-align:center; width:100%;
  top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);
}

#index_wide_content .headline { text-align:center; color:#6598a0; line-height:1.5; margin:0; font-weight:500; }
#index_wide_content .button {
  display:inline-block; height:55px; line-height:55px; min-width:220px; padding:0 20px; text-align:center; margin:30px 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;
}


/* 診療科目 */
#index_course { }
#index_course .headline { text-align:center; line-height:1.5; margin:0; font-weight:500; }
#index_course .desc { text-align:center; line-height:3.0; margin:0px 0 0 0; }
#index_course_list {
  margin:87px 0 0 0; border-top:1px solid #ddd; border-left:1px solid #ddd;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  -ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
  -ms-justify-content:space-between; -webkit-justify-content:space-between; justify-content:space-between;
}
#index_course_list li {
  float:left; width:50%; border-right:1px solid #ddd; border-bottom:1px solid #ddd;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#index_course_list.type2 li {
  width:33.3333%; width:-webkit-calc(100% / 3); width:-moz-calc(100% / 3); width:calc(100% / 3);
}
#index_course_list a {
  display:block; padding:38px 38px 28px; background:#fff; height: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;
}
#index_course_list a:hover { background:#f9f9f9; }
#index_course_list .image { margin:0 0 43px 0; }
#index_course_list .image img{ width: 100%; }
#index_course_list .title { text-align:center; font-size:24px; font-weight:500; margin:0 0 25px 0; }
#index_course_list .short_desc { line-height:2.7; }
#index_course .button { text-align:center; margin:40px 0 0 0; }


/* ブログ */
#index_blog { width:100%; min-width:1180px; background:#f5f5f5; margin:100px 0 0 0; }
#index_blog_inner { width:1180px; margin:0 auto; padding:48px 0 60px; }
#index_blog .headline { text-align:center; line-height:1.5; margin:0; font-weight:500; }
#index_blog .sub_title { text-align:center; font-size:16px; line-height:1.0; margin:0; }
#index_blog .button { text-align:center; margin:40px 0 0 0; }
/* スライダー部分 */
#index_blog_list { margin:60px 0 0 0; position:relative; height:342px; border:1px solid #ddd; }
#index_blog_list .item {
  width:25%; height:340px; border-right:1px solid #ddd; padding:15px; background:#fff;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#index_blog_list .image { width:100%; display:block; margin:0 0 15px 0; position:relative; z-index:2; overflow:hidden; }
#index_blog_list img { width:100%; height:auto; display:block; -webkit-backface-visibility:hidden; backface-visibility:hidden;object-fit: cover;aspect-ratio: 264 / 163;}
#index_blog_list .title { font-size:16px; font-weight:normal; line-height:1.7; margin:0 0 10px 0; }
#index_blog_list .title a { display:block; -ms-word-wrap: break-word; word-wrap: break-word;}
#index_blog_list li { float:left; font-size:14px; color:#999; }
#index_blog_list li:first-of-type { border-right:1px solid #ddd; padding:0 5px 0 0; margin:0 5px 0 0; }
#index_blog_list li.category a { color:#999; display:none; }
#index_blog_list li.category a:first-of-type { display:inline; }
#index_blog_list .slick-arrow {
  width:15px; height:15px; position:absolute; overflow:hidden; cursor:pointer; background:none !important;
  -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -ms-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out;
}
#index_blog_list .slick-arrow span { text-indent:-200px; display:block; }
#index_blog_list .slick-arrow:before {
  font-family:'design_plus'; color:#555; font-size:15px; font-weight:bold; display:block; position:absolute;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#index_blog_list .slick-prev:before { content:'\e90f'; }
#index_blog_list .slick-next:before { content:'\e910'; }
#index_blog_list .slick-arrow:hover:before { color:#666; }
#index_blog_list .slick-prev { top:162px; left:-40px; }
#index_blog_list .slick-next { top:162px; right:-40px; }

/* Google Maps */
#index_gmap .headline { text-align:center; line-height:1.5; margin:0; font-weight:normal; }
#index_gmap .sub_title { text-align:center; font-size:16px; line-height:1.0; margin:0 0 60px; }
#index_gmap .button { text-align:center; margin:40px 0 0 0; }
#index_gmap .p-access__map { width: 100%; height: 500px; margin-bottom: 40px; }
#index_gmap .p-access__custom-overlay-inner { display: -webkit-box; display: -ms-flexbox; display: flex; position: absolute; top: -94px; left: -40px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 80px !important; height: 80px !important; border-radius: 50%; font-size: 18px; text-align: center; }
#index_gmap .p-access__custom-overlay-inner::after { display: block; position: absolute; right: 0; bottom: -15px; left: 0; width: 0; height: 0; margin: auto; border-width: 16px 5px 0 5px; border-style: solid; content: ""; }


/* 会社情報 */
#index_company { padding-top:100px; }
#index_company .left_area { width:560px; float:left; margin:0 0 0 0; }
#index_company .right_area { width:560px; float:right; margin:0 0 0 0; }
#index_company .image { margin:0 0 17px 0; }
#index_company .desc { line-height:2.5; }
#index_company li { float:left; width:30px; }
#index_company li a { display:block; position:relative; text-decoration:none; }
#index_company li a span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
#index_company li a:before {
  font-family:'design_plus'; color:#7f7f7f; font-size:13px; display:block; position:absolute; top:10px; left:0px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#index_company li a:hover:before { color:#000; }
#index_company li.twitter a:before { font-family: 'tiktok_x_icon'; content: "\e901"; }
#index_company li.facebook a:before { content:"\e902"; }
#index_company li.insta a:before { content:"\ea92"; top:10px; }
#index_company li.pint a:before { content:"\e905"; }
#index_company li.mail a:before { content:"\f0e0"; }


/* スケジュール */
#schedule_table {
  margin:0;
  table-layout:fixed;
  border-collapse:collapse; border-spacing:0; width:100%;
  border-top:1px solid #ccc; border-left:1px solid #ccc;
}
#schedule_table caption { background:#ccc; color:#fff; height:50px; line-height:50px; margin-bottom:-1px; font-weight:normal; }
#schedule_table thead { background:#fafafa; }
#schedule_table td, #schedule_table th {
  padding:20px 10px; text-align:center; vertical-align:middle; font-weight:normal;
  border-right:1px solid #ccc; border-bottom:1px solid #ccc;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#schedule_table .header { width:180px; background:#fff; }
#schedule_table .color { background:#eff5f6; }


/* フリースペース */
.index_free_space {}


/* 見出しセット */
.index_headline_set .headline { text-align:center; line-height:1.5; margin:0; font-weight:500; }
.index_headline_set .desc { text-align:center; line-height:3.0; margin:0px 0 0 0; }


/* スライダー */
#header_slider { width:100%; min-width:1180px; padding-top:56.85%; overflow:hidden; position:relative; background:#fff; }
#header_slider .item { opacity:0; width:100%; position:relative; -webkit-backface-visibility:hidden; backface-visibility:hidden; overflow: hidden; }
#header_slider .image { width:100%; height:100%; position:absolute; top:0px; left:0px; z-index:1; }
#header_slider .caption {
  width:100%; z-index:3; padding:0 20px; text-align:center; margin-top:-40px;
  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;
}
#header_slider .caption .title { line-height:1.3; -ms-word-wrap: break-word; word-wrap: break-word; position:relative; font-weight:500; }
#header_slider .link { display:block; width:100%; height:100%; position:absolute; top:0px; left:0px; z-index:4; }
#header_slider .overlay { width:100%; height:100%; position:absolute; top:0px; left:0px; z-index:2; }
#header_slider video { position:absolute; top:0; display:block; height:100%; width:auto; max-width:inherit; }
#header_slider .image-entity { width:100%; height:auto; opacity:0; }
.youtube-player { position:absolute; top:0; opacity:0; pointer-events:none; }


/* 縦書き */
#header_slider .caption.type2 {
  width:100%; padding:0; margin:0; height:-webkit-calc(100% - 80px); height:-moz-calc(100% - 80px); height:calc(100% - 80px);
  position:relative; top:0; -webkit-transform: translateY(0%); -ms-transform: translateY(0%); transform: translateY(0%);
}
#header_slider .caption.type2 .title {
  text-align:left; padding:50px 0; display:inline-block;
  top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);
  -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl;
}


/* アニメーションの設定 */
#header_slider .caption { opacity:0; }
#header_slider .slick-active .caption {
  -webkit-animation: opacityAnimation 1.0s ease forwards 1.0s;
  animation: opacityAnimation 1.0s ease forwards 1.0s;
}
#header_slider .first_active .caption {
  -webkit-animation: opacityAnimation 1.0s ease forwards 2.0s !important;
  animation: opacityAnimation 1.0s ease forwards 2.0s !important;
}
#header_slider .animation_type1.animate .image {
  -webkit-backface-visibility:hidden; backface-visibility:hidden;
  -webkit-animation: zoomOut 35.0s ease forwards;
  animation: zoomOut 35.0s ease forwards;
}
#header_slider .animation_type2.animate .image {
  -webkit-backface-visibility:hidden; backface-visibility:hidden;
  -webkit-animation: zoomIn 35.0s ease forwards;
  animation: zoomIn 35.0s ease forwards;
}


/* アニメーション　透過 */
@-webkit-keyframes opacityAnimation {
  0% { }
  100% { opacity: 1; }
}
@keyframes opacityAnimation {
  0% { }
  100% { opacity: 1; }
}
/* アニメーション　ズームアウト */
@-webkit-keyframes zoomOut {
  0% { transform: scale(1.0) rotate(0.0001deg); }
  100% { transform: scale(1.3); }
}
@keyframes zoomOut {
  0% { transform: scale(1.0) rotate(0.0001deg); }
  100% { transform: scale(1.3); }
}
/* アニメーション　ズームイン */
@-webkit-keyframes zoomIn {
  0% { transform: scale(1.3) rotate(0.0001deg); }
  100% { transform: scale(1.0); }
}
@keyframes zoomIn {
  0% { transform: scale(1.3) rotate(0.0001deg); }
  100% { transform: scale(1.0); }
}




/* ----------------------------------------------------------------------
 アーカイブ・固定ページの見出し　共通パーツ
---------------------------------------------------------------------- */
#page_header { width:100%; min-width:1180px; height:440px; position:relative; text-align:center; }
#page_header .square_headline {
  background:#fff; display:inline-block; position:relative; padding:0 15px; height:200px; width:auto; min-width:200px;
  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;
}
#page_header .square_headline_inner {
  position:relative; top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);
}
#page_header .title { line-height:1.5; font-size:28px; }
#page_header .sub_title { margin:5px 0 0 0; font-size:16px; }
#page_header.no_image { background:#f2f2f2; position:relative; }

#archive_catch { text-align:center; }
#archive_catch .catch { font-size:28px; line-height:1.5;}
#archive_catch .desc { line-height:2.7; margin-top:12px;}

/*** safariで中央に配置されない不具合修正 ***/
body:not(.home) #page_header{
  display: flex;
  justify-content: center;
}


/* ----------------------------------------------------------------------
 診療科目　アーカイブページ
---------------------------------------------------------------------- */
/* リスト */
#course_list { margin-top:90px; }
.single-course #course_list { margin-top:100px; }
#course_list .headline { height:60px; line-height:60px; padding:0 35px; color:#fff; font-size:22px; font-weight:normal; }
#course_list .course { margin:0 0 100px 0; }
#course_list ol {
  border:1px solid #ddd; border-top:none; overflow:hidden;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  -ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
  -ms-justify-content:space-between; -webkit-justify-content:space-between; justify-content:space-between;
}
#course_list li {
  width:50%; float:left; margin:0 0 -1px 0; padding-top:1px; border-right:1px solid #ddd; border-bottom:1px solid #ddd;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#course_list li:nth-child(2n) { border-right:none; }
#course_list li a {
  display:block; padding:38px; background:#fff; height: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;
}
#course_list li a:hover { background:#f9f9f9; }
#course_list .image { width:150px; height:150px; object-fit: cover;display:block; float:left; margin:0 38px 0 0; }
#course_list .image img { width:100%; height:auto; display:block; }
#course_list .right_area { }
#course_list .title { font-size:22px; margin:-3px 0 10px 0; display:block; line-height:1.4; font-weight:normal; }
#course_list .excerpt { line-height:2.4; margin-bottom:-10px; }




/* ----------------------------------------------------------------------
 診療科目　詳細ページ
---------------------------------------------------------------------- */
#single_course { margin-top:100px; }


/* タイトルエリア */
#course_title_area { height:60px; line-height:60px; position:relative; background:#f9f0f0; }
#course_title_area .category {
  font-size:22px; padding:0 34px; min-width:220px; color:#fff; display:inline-block; float:left; text-align:center;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#course_title_area  .title { font-size:22px; font-weight:normal; padding:0 34px; float:left; }


/* アイキャッチ画像 */
#course_image { height:360px; }


/* アイキャッチ画像以下のコンテンツ */
#curse_main_content { border:1px solid #ddd; border-top:none; padding:95px 60px 80px; }


/* キャッチフレーズ */
#curse_main_content .catch { font-size:36px; color:#000; font-weight:500; text-align:center; line-height:1.5; margin:0 0 10px 0; }
#curse_main_content .desc { font-size:14px; line-height:2.7; width:840px; margin:0 auto 20px; }


/* コンテンツ一覧 */
#course_content_list { margin:90px 0 0; }
#course_content_list .item { margin:0 0 80px 0;}
#course_content_list .image { float:left; width:500px; }
#course_content_list .desc { float:right; width:500px; line-height:2.5; margin-top:-10px; }
#course_content_list .even .image { float:right; }
#course_content_list .even .desc { float:left; }


/* 次・前のページリンク */
#course_next_prev_link { text-align:center; margin-top:70px; }
#course_next_prev_link div { display:inline-block; margin:0 3px; }
#course_next_prev_link a { display:block; width:220px; height:55px; line-height:55px; text-align:center; background:#ccc; color:#fff; }
#course_next_prev_link a:hover { background:#65989f; }




/* ----------------------------------------------------------------------
 お知らせ
---------------------------------------------------------------------- */
/* アーカイブページ */
#archive_news_list { margin:100px 0 0 0; position:relative; border:1px solid #ddd; overflow:hidden; }
#archive_news_list .item {
  float:left; width:50%; height:200px; border:1px solid #ddd; border-top:none; border-left:none; margin:0 0 -1px 0; padding:18px; 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;
}
#archive_news_list .item:nth-child(2n) { border-right:none; }
#archive_news_list .image { width:260px; height:auto; display:block; position:relative; z-index:2; overflow:hidden; }
#archive_news_list img { width:100%; height:auto; display:block; -webkit-backface-visibility:hidden; backface-visibility:hidden;}
#archive_news_list .title { font-size:16px; font-weight:normal; line-height:1.7; margin:0 0 9px 0; }
#archive_news_list .title a { display:block; }
#archive_news_list .date { font-size:14px; color:#999; }
#archive_news_list .title_area {
  padding: 0px 40px 0 300px;
  position:absolute; top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);
}
#archive_news_list .no_image .title_area { padding:0 18px; }
@media screen and (min-width: 701px) {
  #archive_news_list img { max-height: 160px;object-fit: cover;}
}

/* 詳細ページ */
.single-news #post_meta_top li:first-of-type:after { display:none; }
#single_news_list { margin:50px 0 0 0; position:relative; }
#single_news_list .headline { margin:0; font-weight:400; background:#afcfd2; height:50px; line-height:50px; color:#fff; padding:0 24px; z-index:1; }
#single_news_list .link { display:block; position:absolute; top:0px; right:0px; height:50px; line-height:50px; padding:0 35px 0 20px; color:#fff; z-index:2; }
#single_news_list .link:before {
  content:''; width:15px; height:20px;
  font-family:'design_plus'; color:#fff; font-size:12px; display:block;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  content:'\e910'; position:absolute; top:0px; right:14px;
}
#single_news_list ol { position:relative; border:1px solid #ddd; border-top:none; overflow:hidden; }
#single_news_list li a { display:block; border-bottom:1px solid #ddd; height:48px; line-height:48px; padding:0 24px; }
#single_news_list li:last-of-type a { border:none; }
#single_news_list li .date { float:left; font-size:14px; color:#999; width:90px; }
#single_news_list li .title { float:right; font-weight:normal; width:-webkit-calc(100% - 90px); width:-moz-calc(100% - 90px); width:calc(100% - 90px); }
#single_news_list li a:hover { background:#f9f9f9; }




/* ----------------------------------------------------------------------
 よくある質問と答え
---------------------------------------------------------------------- */
#archive_faq_list { margin:100px 0 0 0; border-bottom:1px solid #ddd; }
#archive_faq_list .item { border:1px solid #ddd; border-bottom:none; background:#fff; }
#archive_faq_list .question { font-size:16px; line-height:2; padding:18px 70px 18px 40px; font-weight:normal; position:relative; cursor:pointer; }
#archive_faq_list .question:hover, #archive_faq_list .question.active, #archive_faq_list .question:hover:before, #archive_faq_list .question.active:before { color:#65989f; }
#archive_faq_list .question:before {
  content:'\e90e'; font-family:'design_plus'; color:#666; font-size:12px; display:block; width:18px; height:18px;
  position:absolute; right:28px; top:25px; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#archive_faq_list .question.active:before { content:'\e911'; }
#archive_faq_list .answer { padding:32px 40px 3px; background:#f6f9f9; display:none; border-top:1px solid #ddd; }




/* ----------------------------------------------------------------------
 アーカイブページ
---------------------------------------------------------------------- */
#blog_list { margin:100px 0 0 0; position:relative; }
#blog_list .item {
  float:left; width:25%; height:340px; border:1px solid #ddd; margin:0 -1px -1px 0; padding:18px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#blog_list .image { width:100%; display:block; position:relative; z-index:2; overflow:hidden; }
#blog_list img { width:100%; height:auto; display:block; -webkit-backface-visibility:hidden; backface-visibility:hidden;}
#blog_list .title { font-size:16px; font-weight:normal; line-height:1.7; margin:13px 0 5px 0; word-wrap: break-word;}
#blog_list .title a { display:block; }
#blog_list .meta { max-height:60px; overflow:hidden; }
#blog_list li { display:inline; line-height:1.7; font-size:12px; color:#999; position:relative; }
#blog_list li:first-of-type { padding:0 9px 0 0; margin:0 3px 0 0; }
#blog_list li:first-of-type:after { content:''; display:block; position:absolute; right:0px; top:3px; width:1px; height:10px; background:#999; }
#blog_list li.category a { }
#blog_list li.category a:first-of-type { display:inline; }
.no_post { text-align:center; margin:50px 0 0 0; }

@media screen and (min-width: 701px) {
  #blog_list img { aspect-ratio: 257 / 169;object-fit: cover;}
}

/* ページング */
.page_navi { margin:40px 0 0 0; }
.page_navi ul { margin:0; font-size:0; }
.page_navi li { display:inline; margin:0 5px 5px 0; }
.page_navi a, .page_navi a:hover, .page_navi span { font-size:14px; margin:0; background:#f5f5f5; color:#333; display:inline-block; box-sizing:border-box; width:40px; height:40px; line-height: 40px; text-align:center; }
.page_navi a:hover { color:#fff; background:#000; border-color:#000; }
.page_navi span.dots { background:none; }
.page_navi span.current { color:#fff; background:#000; border-color:#000; }

.page_navi .next span, .page_navi .prev span { display:none; }
.page_navi .next:before, .page_navi .prev:before {
  font-family:'design_plus'; color:#333; font-size:11px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.page_navi .prev:before { content:'\e90f'; }
.page_navi .next:before { content:'\e910'; }
.page_navi .prev:hover:before, .page_navi .next:hover:before { color:#fff; }

@media screen and (max-width:750px) {
  .page_navi ul { text-align:center; }
  .page_navi { margin:40px 20px 0; }
  .page_navi a, .page_navi span { width: 40px; height: 40px; }
}



/* ----------------------------------------------------------------------
 記事
---------------------------------------------------------------------- */
.post_content { }
.post_content a:hover, .custom-html-widget a:hover { text-decoration:underline; }

/* 記事タイトル */
#post_title { font-size:40px; line-height:1.3; color:#000; margin:5px 0 10px 0; -ms-word-wrap: break-word;word-wrap: break-word;}
body.page #post_title { text-align:center; margin:-30px 0 50px 0; }
.pc .no_side_content #post_title { text-align:center; }


/* カテゴリ― */
#post_meta_top { margin:0 0 45px 0; }
#post_meta_top li { display:inline; line-height:1.7; font-size:14px; color:#999; position:relative; }
#post_meta_top li:first-of-type { padding:0 9px 0 0; margin:0 3px 0 0; }
#post_meta_top li:first-of-type:after { content:''; display:block; position:absolute; right:0px; top:3px; width:1px; height:10px; background:#999; }
#post_meta_top a { color:#999; }


/* アイキャッチ画像*/
#post_image { padding:0; margin:0 0 38.8px 0; position:relative; }
#post_image img { width:100%; height:auto; display:block; margin:0; z-index:1; }


/* SNSボタン */
#single_share_top { margin: 45px 0; }
#single_share_bottom { margin:20px 0 45px;}

/* ページ分割 */
#post_pagination { margin:0 0 40px 0; padding:12px 0 0 0; clear:both; font-size:0; text-align:center; }
#post_pagination h5 { margin:0 0 10px 0; font-size:12px; }
#post_pagination a, #post_pagination p { font-size:12px; display:inline-block; background:#fff; margin:0 0 0 -1px; width:40px; height:40px; line-height:40px; text-align:center; text-decoration:none; color:#333; border:1px solid #ccc; }
#post_pagination p { background:#000; color:#fff; border-color:#000; position:relative; }
#post_pagination a:hover { color:#fff; }


/* ページ分割（続きを読むver） */
#p_readmore { text-align:center; padding:12px 0 0 0; }
#p_readmore .button {
  background:#000; color:#fff; display:inline-block; height:50px; line-height:50px; min-width:220px; padding:0 40px; text-decoration:none;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#p_readmore .button:hover { background:#999; }


/* メタ情報 */
#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:1.8; 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; width:13px; height:13px; line-height:13px; display:block;
  position:absolute; top:0; left:0px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#post_meta_bottom li.post_author:before { content:'\e90d'; top:1px; }
#post_meta_bottom li.post_category:before { content:'\e92f'; }
#post_meta_bottom li.post_tag:before { content:'\e935'; top:2px; }
#post_meta_bottom li.post_comment:before { content:'\e916'; font-size:16px; top:1px; }


/* 次の記事、前の記事 */
#previous_next_post { margin:0; }
#previous_next_post .prev_post, #previous_next_post .next_post { float:left; width:50%; }
#previous_next_post a {
  width:100%; display:block; border:1px solid #ddd; line-height:1.8; height:97px; position:relative; display:table; background:#fff;
  -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 div:last-of-type a { border-left:none; }
#previous_next_post div:only-of-type a { border-left:1px solid #ddd; }
#previous_next_post .next_post a { padding:0 60px 0 25px; }
#previous_next_post .prev_post a { padding:0 25px 0 60px; }
#previous_next_post a span { display:table-cell; vertical-align:middle; ; height:50px; overflow:hidden; -ms-word-wrap: break-word; word-wrap: break-word; }
#previous_next_post span.nav { display:none; }
#previous_next_post a:hover { background:#f7f7f7; }
#previous_next_post .prev_post a:before {
  content:''; width:15px; height:20px;
  font-family:'design_plus'; color:#111; font-size:16px; display:block;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  content:'\e90f'; position:absolute; top:-6px; bottom:0px; left:20px; margin:auto;
}
#previous_next_post .next_post a:before {
  content:''; width:15px; height:20px;
  font-family:'design_plus'; color:#111; font-size:16px; display:block;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  content:'\e910'; position:absolute; top:-6px; bottom:0px; right:20px; margin:auto;
}


/* 広告 */
#single_banner_top { margin:5px 0 30px; text-align:center; padding:30px 20px; }
#single_banner_bottom { margin:50px 0 ; text-align:center; padding:30px 20px; }
#single_banner_shortcode { margin:0 0 30px 0; padding:10px 0 0 0; text-align:center; }

.single_banner_area .single_banner_left {
  width:50%; float:left; padding:0 10px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.single_banner_area .single_banner_right {
  width:50%; float:right; padding:0 10px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.single_banner_area img { max-width:100%; height:auto; display:block; margin:0 auto; }
.single_banner_area.one_banner .single_banner_left { float:none; margin:0 auto; }
.single_banner_area.one_banner img { margin:0 auto; }


/* 関連記事 */
#related_post { margin:50px 0 0 0; }
#related_post .headline { margin:0; font-weight:400; background:#afcfd2; height:50px; line-height:50px; color:#fff; padding:0 24px;  }
#related_post ol { position:relative; width:-webkit-calc(100% + 2px); width:-moz-calc(100% + 2px); width:calc(100% + 2px); display: flex; flex-wrap: wrap; }
#related_post li {
  height:auto; min-height: 260px; margin:0 -1px -1px 0; border:1px solid #ddd; padding:22px;
  width:33.33333%; width:-webkit-calc(100% / 3); width:-moz-calc(100% / 3); width:calc(100% / 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;
}
#related_post .image { display:block; width:100%; height:auto; position:relative; overflow:hidden; z-index:2; margin:0 0 15px 0; }
#related_post .image img { display:block; width:100%; height:auto; -webkit-backface-visibility:hidden; backface-visibility:hidden; }
#related_post .title { line-height:1.9; font-weight:normal; -ms-word-wrap: break-word; word-wrap: break-word; }
#related_post .title a { display:block; }




/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */

/* プロフィールページ */
#profile_page_top { }
#profile_page_top .user_avatar { overflow:hidden; width:200px; height:200px; display:block; margin:0px auto 30px; border-radius:130px; }
#profile_page_top .user_avatar img { width:100%; height:auto; display:block; }
#profile_page_top .user_name { font-size:21px; margin:0 0 25px 0; text-align:center; font-weight:400; }
#profile_page_top .user_sns { text-align:center; margin-bottom:33px; padding:0; font-size:0; }
#profile_page_top li { display:inline-block; vertical-align:top; margin:0; padding:0; line-height:100%; font-size:11px; background:none; width:30px; }
#profile_page_top li a { position:relative; text-decoration:none; }
#profile_page_top li a span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
#profile_page_top li a:before {
  font-family:'design_plus'; color:#333; font-size:12px; display:block; position:absolute; top:10px; left:-5px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#profile_page_top li.twitter_button a:before { font-family: 'tiktok_x_icon'; content: "\e901"; }
#profile_page_top li.facebook_button a:before { content:"\e902"; }
#profile_page_top li.insta_button a:before { content:"\ea92"; top:10px; }
#profile_page_top li.pint_button a:before { content:"\e905"; }
#profile_page_top li.mail_button a:before { content:"\f0e0"; }
#profile_page_top li.twitter_button a:hover:before { color:#000; }
#profile_page_top li.facebook_button a:hover:before { color:#3B5998; }
#profile_page_top li.insta_button a:hover:before { color:#8a3ab9; }
#profile_page_top li.pint_button a:hover:before { color:#c92228; }
#profile_page_top li.mail_button a:hover:before { color:#16b9dc; }


/* 404ページ */
#header_image_for_404 { width:100%; margin:0 auto; position:relative; overflow:hidden; }
#header_image_for_404 img { width:100%; height:auto; display:block; }
#header_image_for_404 .caption { margin:0; width:100%; padding:0 30px; line-height:1.5; text-align:center; color:#fff; position:absolute; top:50%; left:50%; opacity:0;
  -webkit-transform:translate(-50%, -50%); -mox-transform:translate(-50%, -50%); -ms-transform:translate(-50%, -50%); -o-transform:translate(-50%, -50%); transform:translateY(-50%, -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;
}
#header_image_for_404 .caption p + p {
	margin-top: 0.5em;
}
#header_image_for_404.animate .caption {
  -webkit-animation: opacityAnimation 1.0s ease forwards 1.5s !important;
  animation: opacityAnimation 1.0s ease forwards 1.5s !important;
}


/* 広告 */
#page_banner { margin:50px 0; text-align:center; font-size:0; }
#page_banner img { max-width:100%; height:auto; display:block; margin:0 auto; }
#page_banner .page_banner {
  width:50%; display:inline-block; border:1px solid #ddd; padding:40px; text-align:center;
  width:-webkit-calc(50% - 15px); width:-moz-calc(50% - 15px); width:calc(50% - 15px);
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#page_banner .banner_left { margin:0 15px 0 0; }
#page_banner .banner_right { margin:0 0 0 15px; }
#page_banner.one_banner .banner_left, #page_banner.one_banner .banner_right { margin:0; }


/* ページナビゲーション */
#previous_next_page { text-align:center; margin:12px 0 70px 0; font-size:0; }
#previous_next_page a {
  font-size:14px; display:inline-block; vertical-align:top; text-decoration:none; text-align:center; padding:0 25px; height:50px; line-height:50px; min-width:180px; background:#ccc; color:#fff; position:relative; margin:0 5px;
  -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_page a:after {
  font-family:'design_plus'; content:'\e910'; color:#fff; display:block; position:absolute; top:1px; right:16px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#previous_next_page a.prev:after { content:'\e90f'; right:auto; left:16px; }




/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
#header {
  height:90px; width:100%; min-width:1180px; position:relative; z-index:20;
  -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_inner { height:90px; width:1180px; margin:0 auto; position:relative; }


/* ロゴ */
.pc #logo_text, .pc #logo_image {
  display:inline; position:absolute; left:0; top:50%;
  -webkit-transform:translateY(-50%); -ms-transform:translateY(-50%); transform:translateY(-50%);
}
#logo_image .logo { }
.pc #logo_image img.pc_logo_image { display:block; margin:0 auto; max-height:80px; width:auto; }
.pc #logo_image img.mobile_logo_image { display:none; }
.pc #logo_text h2 { line-height:1; font-weight:normal; }
.pc #logo_text a { text-decoration:none; }
.pc .header_fix #header #logo_text, .pc .header_fix #header #logo_image { display:none; }

@media screen and (max-width: 1280px) {
.pc #header .logo { display: none; }
.mobile #logo_text {
  position: absolute;
  top: 50%;
  left: 20px;
  margin: auto;
  -webkit-transform: translate(0%, -50%);
  -moz-transform: translate(0%, -50%);
  -o-transform: translate(0%, -50%);
  transform: translate(0%, -50%); }
}

/* ヘッダーボタン */
#header_button { float:right; margin:18px 0 0 46px; }
#header_button a { min-width:180px; height:50px; line-height:50px; }


/* グローバルメニュー */
.pc #global_menu { height:90px; font-size:0; float:right; }
.pc #global_menu > ul { display:inline-block; height:90px; font-size:0; position:relative; vertical-align:top; }
.pc #global_menu > ul > li { font-size:1%; position:relative; display:inline-block; height:90px; line-height:90px; margin:0 0 0 46px; }

.pc #global_menu > ul > li > a {
  font-size:14px; text-decoration:none; height:90px; line-height:90px; display:block;
  -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.active > a, .pc #global_menu > ul > li.current-menu-item > a { }
.pc #global_menu a:hover { }

.pc #global_menu ul ul { display:none; width:210px; position:absolute; top:90px; left:-24px; 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:1.5; padding:0; margin:0; text-align:left; position:relative; display:block; }
.pc #global_menu ul ul a { font-size:14px; background:#222; color:#fff !important; display:block; border:none; position:relative; padding:14px 25px; height:auto; line-height:1.6; margin:0; text-align:left; }
.pc #global_menu ul ul a:hover { text-decoration:none; border:none; }

.pc #global_menu ul ul li.menu-item-has-children > a:before {
  font-size:12px; font-family:'design_plus'; content:'\e910'; color:#fff; display:block; position:absolute; right:15px; top:19px; height:14px; line-height:14px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.pc #global_menu>ul>li:last-child ul li.menu-item-has-children > a{
  padding: 14px 25px 14px 32px;
}
.pc #global_menu>ul>li:last-child ul li.menu-item-has-children > a:before{
  content: '\e90f';right: auto;left: 15px;
}
.pc #global_menu>ul>li:last-child ul li.menu-item-has-children ul{
  left: auto;
  right: 100%;
}


/* その他 */
.pc #menu_button { display:none; }
.pc #global_menu ul.main_menu { display:none; }


/* 固定ヘッダー */
.pc .header_fix { padding-top:90px; }/* #header_inner height + #header margin bottom */
.pc .header_fix #header {
  position:fixed; top:0px; left:0px; z-index:200; background:#fff; height:50px; width:100%;
  box-shadow:0 1px 5px 0 rgba(0,0,0,0.2);
  animation: slideDown 0.5s ease; -ms-animation: slideDown 0.5s ease; -webkit-animation: slideDown 0.5s ease; -moz-animation: slideDown 0.5s ease;
}
.pc .header_fix #header_inner { height:50px; }
@-webkit-keyframes slideDown {
  0% { top:-50px; }
  100% { top:0px; }
}
@keyframes slideDown {
  0% { top:-50px; }
  100% { top:0px; }
}


/* 固定ヘッダーのグローバルメニュー */
.pc .header_fix #header_button { display:none; }
.pc .header_fix #global_menu { bottom:-1px; float:none; }
.pc .header_fix #global_menu > ul > li { height:50px; line-height:50px; margin:0; }
.pc .header_fix #global_menu > ul > li > a { margin:0; height:50px; line-height:50px; }
.pc .header_fix #global_menu ul ul { top:50px; left:0; width:100%; }
.pc .header_fix #global_menu ul ul ul { top:0; left:100%; }
.pc .header_fix #global_menu { width:100%; }
.pc .header_fix #global_menu > ul { display: -webkit-box; -webkit-box-pack: justify; display: -webkit-flex; display: -ms-flex; display: flex; }
.pc .header_fix #global_menu > ul > li {  flex:1; -webkit-box-flex: 1; text-align:center; }


/* パンくずリンク */
#bread_crumb { width:100%; min-width:1180px; background:#afcfd2; }
#bread_crumb ul { margin:0 auto; width:1180px; padding:17px 0 14px 0; }
#bread_crumb li { color:#fff; display:inline; font-size:14px; padding:0 0 0 17px; margin:0 5px 0 0; line-height:1.6; position:relative; }
#bread_crumb li:before {
  font-family:'design_plus'; content:'\e910'; color:#fff; font-size:9px; width:9px; height:9px; line-height:9px;
  display:block; position:absolute; left:0; top:4px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#bread_crumb li.home { padding:0 0 0 5px;}
#bread_crumb li.home a {
  position:relative; width:14px; height:18px; word-wrap: break-word;
  text-indent:-300%; overflow:hidden; display:block; float:left;
  -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:after {
  font-family:'design_plus'; content:'\e90c'; width:14px; height:14px; line-height:14px;
  text-indent:0; display:block; position:absolute; top:3px; left:0px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#bread_crumb li.home a:hover:after { color:#6698a1; }
#bread_crumb li.home:before { display:none; }
#bread_crumb li a { color:#fff; }
#bread_crumb li a:hover { color:#6698a1; }
#bread_crumb li.category a:after { content:','; }
#bread_crumb li.category a:last-of-type:after, #bread_crumb li.category a:only-of-type:after { display:none; }




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

/* 連絡先 */
#footer_contact_area { background:#f5f5f5; width:100%; min-width:1180px; padding:60px 0; margin-bottom:60px; }
#footer_contact_area_inner {
  width:1180px; margin:0 auto;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  -ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
  -ms-justify-content:space-between; -webkit-justify-content:space-between; justify-content:space-between;
}
.footer_contact_content {
  width:50%; position:relative; padding:40px; background:#fff; border:1px solid #ddd;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.footer_contact_content:last-of-type { border-left:none; }
.footer_contact_content:only-of-type { border-left:1px solid #ddd; margin:0 auto; }
#footer_tel > div, #footer_contact > div { position:relative; /*top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);*/ }
#footer_tel { border-right:1px solid #ddd; }
#footer_tel .headline {
  line-height:2; position:absolute;
  top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);
}
#footer_tel .right_area { float:right; }
#footer_tel .number { font-size:38px; margin-top:-3px; }
#footer_tel .number span { font-size:24px; }
#footer_tel .time { margin:13px 0 0 0; }
#footer_contact .headline {
  line-height:2; position:absolute;
  top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);
}
#footer_contact .button { float:right; text-align:center; margin:0; }


/* フッター３点コンテンツ */
#footer_content { width:100%; min-width:1180px; padding:0 0 60px; }
#footer_content_inner { width:1180px; margin:0 auto; }
#footer_content .item { height:130px; width:380px; position:relative; float:left; margin:0 20px 0 0; }
#footer_content .item:nth-child(3n) { margin:0; }
#footer_content .image { display:block; width:130px; height:130px; float:left; position:relative; z-index:2; overflow:hidden; }
#footer_content .image img { width:100%; height:auto; display:block; -webkit-backface-visibility:hidden; backface-visibility:hidden;aspect-ratio: 1 / 1;object-fit: cover;}
#footer_content .title {
  float:left; display:block; width:-webkit-calc(100% - 130px); width:-moz-calc(100% - 130px); width:calc(100% - 130px); height:130px; 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;
}
#footer_content .title span {
  width:100%; padding:0 40px; 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;
}


/* フッターメニュー */
#footer_menu { text-align:center; border-top:1px solid #ddd; height:60px; line-height:60px; }
#footer_menu ul { font-size:0; line-height:1; margin:23px 0 0 0;}
#footer_menu li { font-size:14px; display:inline-block; }
#footer_menu li a { display:block; margin:0 10px 0 0; padding:0 12px 0 0; border-right:1px solid #666; }
#footer_menu li:last-of-type a { border:none; margin:0; padding:0; }


/* コピーライト */
#copyright { background:#65989f; text-align:center; font-size:12px; min-height:60px;  color:#fff; line-height:50px; }
#copyright a {  color:#fff; text-decoration: underline; }
#copyright a:hover{ color:rgba(255, 255, 255, 0.6); }

/* ページ上部へ戻るボタン */
#return_top { display:block; }
#return_top a { display:block; height:60px; width:60px; line-height:60px; text-decoration:none; background:rgba(0,0,0,0.2); z-index:100; position:relative; }
#return_top span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
#return_top a:before {
  font-family:'design_plus'; color:#fff; font-size:12px; display:block; position:absolute; width:18px; height:18px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#return_top a:before { content:'\e911'; left:24px; top:2px; }
#return_top {
  position:fixed; right:0px; bottom:0px; z-index:999;
  -webkit-transform: translate3d(0,100%,0); transform: translate3d(0,100%,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); }


/* 固定コンテンツ */
#fixed_footer_content {
  position:fixed; bottom:0; left:0; width:100%; height:120px; color:#fff; padding:40px; z-index:9999;
  -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-transform: translate3d(0,100%,0); transform: translate3d(0,100%,0);
  -webkit-transition: -webkit-transform 0.35s; transition: transform 0.35s;
}
#fixed_footer_content.active { -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0); }
#fixed_footer_content a { color:#fff; text-decoration:none; }
#fixed_footer_content .content_left {
  position:absolute; left:40px; top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);
  width:-webkit-calc(100% - 530px); width:-moz-calc(100% - 530px); width:calc(100% - 530px);
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
#fixed_footer_content .has_image .content_left { width:-webkit-calc(100% - 840px); width:-moz-calc(100% - 840px); width:calc(100% - 840px); }
#fixed_footer_content .button {
  position:absolute; right:55px; top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);
  min-width:300px; height:55px; line-height:55px; text-align:center; display:inline-block; padding:0 40px 0 10px; font-size:16px;
}
#fixed_footer_content .button:after {
  font-family:'design_plus'; content:'\e910'; color:#fff; font-size:14px; display:block; position:absolute; top:1px; right:16px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#fixed_footer_content .image {
  position:absolute; right:55px; max-width:728px;
  top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);
}
#fixed_footer_content .image img { width:100%; max-width:100%; height:auto; display:block; }
#fixed_footer_content .close {
  position:absolute; right:5px; top:50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%);
  display:block; width:40px; height:40px; border-radius:100%;
}
#fixed_footer_content span { display:none; }
#fixed_footer_content .close:before {
  font-family:'design_plus'; color:#fff; font-size:20px; display:block;
  content:'\e91a'; position:absolute; top:10px; left:10px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#fixed_footer_content .close:hover { background:rgba(255,255,255,0.1); }
#fixed_footer_content .catch { font-size:21px; margin:0; line-height:1.5; }
#fixed_footer_content .desc { font-size:14px; margin:5px 0 0 0; line-height:2; }
#fixed_footer_content .pr { background:#fff; color:#333; display:inline; font-size:12px; margin:5px 15px 0 0; padding:0 12px; border-radius:2px; height:20px; line-height:20px; float:left; }
#fixed_footer_content .pr1 { display:none; }

#fixed_footer_content .free {
  width:100%; padding-right:100px; position:absolute; left:40px; 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;
}
#fixed_footer_content .post_content p { margin:0; line-height:1.6; }




/* ----------------------------------------------------------------------
 サイドコンテンツ
---------------------------------------------------------------------- */
/* 基本設定 */
.side_widget { margin:0 0 48px 0; position:relative; }
.side_widget:last-child, .side_widget:only-child  { margin:0; }
.side_headline, .widget_block .wp-block-heading { font-size:16px; margin:0; padding:0 20px; font-weight:400; color:#fff; background:#afcfd2; height:50px; line-height:50px; }
.side_widget ul { margin:0; }
/*.side_widget li ul { margin:10px 0 0 0; }*/
.side_widget li { line-height:2; padding:2px 0; margin:0 0 10px 0; }
.side_widget a { text-decoration:none; }
.side_widget a:hover { }
.side_widget img { height:auto; max-width:100%; }
.widget_block .wp-block-heading{ margin-bottom: 20px; }

.widget_archive .side_headline,
.widget_categories .side_headline,
.widget_text  .side_headline,
.widget_meta  .side_headline,
.widget_recent_comments  .side_headline,
.widget_search  .side_headline,
.widget_pages .side_headline
 { margin:0 0 20px 0; }

/* 広告 */
.tcd_ad_widget { margin:0 0 50px 0; border:none; padding:0; background:none; }
.tcd_ad_widget img { height:auto; max-width:100%; margin:0 auto; display:block; }


/* カレンダー */
.widget_calendar .side_headline { margin:0 0 30px 0; }
#wp-calendar { margin:0 auto; width:100%; font-size:14px; border-collapse:separate; table-layout:fixed; }
#wp-calendar th, #wp-calendar td { color:#333; padding:2px; line-height:3.4; 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 14px;  font-size:14px;}
#wp-calendar thead th, #wp-calendar tfoot td { border:none; padding:0; line-height:2; }
#wp-calendar #prev, #wp-calendar #next { line-height:3; }
#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; }
.widget_calendar .wp-calendar-nav{padding:14px 0 7px; font-size: 14px; }

/* デザインされた記事一覧１ */
.styled_post_list1 { margin:0; padding:0; border:1px solid #ddd; border-top:none; overflow:hidden; }
.styled_post_list1 li {
  width:50%; height:230px; float:left; margin:0 0 -1px 0; overflow:hidden; padding:14px; background:none; border-right:1px solid #ddd; border-bottom:1px solid #ddd;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.styled_post_list1 li:nth-child(2n) { border-right:none; }
.styled_post_list1.show_date li { height:250px; }
.styled_post_list1 .image { width:100%; height:auto; display:block; overflow:hidden; position:relative; z-index:2; }
.styled_post_list1 .image img { display:block; -webkit-backface-visibility:hidden; backface-visibility:hidden; }
.styled_post_list1 .title { font-size:14px; margin:10px 0 0 0; display:block; line-height:1.8; -ms-word-wrap: break-word; word-wrap: break-word; position:relative; }
.styled_post_list1 .title:hover { text-decoration:none; }
.styled_post_list1 .date { margin:5px 0 0 0; position:relative; display:block; line-height:1; color:#999; font-size:12px; }


/* デザインされた記事一覧２ */
.styled_post_list2 { margin:0; padding:0; border:1px solid #ddd;  overflow:hidden; }
.side_headline + .styled_post_list2 {border-top:none;}
.styled_post_list2 li {
  margin:0 0 -1px 0; overflow:hidden; padding:14px; background:none; border-bottom:1px solid #ddd;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
}
.styled_post_list2 .image { /*float:left;*/ width:120px; height:120px; margin:0 14px 0 0; display:block; overflow:hidden; position:relative; z-index:2; }
.styled_post_list2 .image img { display:block; -webkit-backface-visibility:hidden; backface-visibility:hidden; aspect-ratio: 1 / 1;object-fit: cover;}
.styled_post_list2 .info {
  -webkit-box-flex: 1; -ms-flex: 1; flex: 1;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
}
.styled_post_list2 .title { font-size:14px; margin:0; display:block; line-height:1.8; -ms-word-wrap: break-word; word-wrap: break-word; position:relative; }
.styled_post_list2 .date { margin:5px 0 0 0; position:relative; display:block; line-height:1; color:#999; font-size:12px; }


/* タブ記事 */
.widget_tab_post_list_button a {
  display:inline-block; height:55px; line-height:55px; width:50%; text-align:center; border:1px solid #ddd; background:#f9f9f9; float:left; margin-bottom:-1px; font-size:14px; position:relative; text-decoration:none;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
}
.widget_tab_post_list_button a:hover { color:#fff; background:#65989f; border-color:#65989f; }
.widget_tab_post_list_button a.tab1 { border-right:0; }
.widget_tab_post_list_button a.active { background:#fff; border-bottom:1px solid #fff; }
.widget_tab_post_list_button a.active:hover { color:#666; background:#fff !important; border-color:#ddd !important; border-bottom:1px solid #fff !important; }
.widget_tab_post_list { border:1px solid #ddd; font-size:0; padding:20px 0 0 0; }
.widget_tab_post_list li {
  margin:0 0 -1px 0; overflow:hidden; padding:14px; background:none; border-bottom:1px solid #ddd;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
}
.widget_tab_post_list2 { display:none; }
.widget_tab_post_list .info {
  -webkit-box-flex: 1; -ms-flex: 1; flex: 1;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
}
.widget_tab_post_list .title { font-size:14px; margin:0; display:block; line-height:1.8; -ms-word-wrap: break-word; word-wrap: break-word; position:relative; }
.widget_tab_post_list .date { color:#999; font-size:12px; }
.widget_tab_post_list .image { /*float:left;*/ width:120px; height:120px; margin:0 14px 0 0; display:block; overflow:hidden; position:relative; z-index:2; }
.widget_tab_post_list .image img { display:block; -webkit-backface-visibility:hidden; backface-visibility:hidden; aspect-ratio: 1 / 1;object-fit: cover;}


/* カスタムメニュー */
.tcdw_menu_widget .menu1, .tcdw_menu_widget .menu2 { width:50%; float:left; font-size:12px; }
.tcdw_menu_widget .menu_headline { margin:0 0 15px 0; font-size:16px; font-weight:bold; }
.tcdw_menu_widget li:last-child { margin-bottom:0; }


/* プロフィール */
.tcd_user_profile_widget { border:1px solid #ddd; padding:30px 30px 30px; }
.tcd_user_profile_widget .user_avatar { overflow:hidden; width:130px; height:130px; display:block; margin:0px auto 25px; border-radius:130px; }
.tcd_user_profile_widget .user_avatar img { width:100%; height:auto; display:block; }
.tcd_user_profile_widget .user_desc { line-height:2.3; margin:0 0 30px 0; }
.tcd_user_profile_widget .button { text-align:center; margin:0 0 30px 0; }
.tcd_user_profile_widget .button a { display:inline-block; height:45px; line-height:45px; padding:0 30px; background:#222; color:#fff; text-decoration:none; border-radius:5px; }
.tcd_user_profile_widget .user_sns { text-align:center; margin:0; padding:0; font-size:0; }
.tcd_user_profile_widget li { display:inline-block; vertical-align:top; margin:0; padding:0; line-height:100%; font-size:11px; background:none; width:30px; }
.tcd_user_profile_widget li a { position:relative; text-decoration:none; }
.tcd_user_profile_widget li a span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
.tcd_user_profile_widget li a:before {
  font-family:'design_plus'; color:#333; font-size:12px; display:block; position:absolute; top:10px; left:-5px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.tcd_user_profile_widget li.twitter_button a:before { font-family: 'tiktok_x_icon'; content: "\e901"; }
.tcd_user_profile_widget li.facebook_button a:before { content:"\e902"; }
.tcd_user_profile_widget li.insta_button a:before { content:"\ea92"; top:10px; }
.tcd_user_profile_widget li.pint_button a:before { content:"\e905"; }
.tcd_user_profile_widget li.mail_button a:before { content:"\f0e0"; }
.tcd_user_profile_widget li.twitter_button a:hover:before { color:#000; }
.tcd_user_profile_widget li.facebook_button a:hover:before { color:#3B5998; }
.tcd_user_profile_widget li.insta_button a:hover:before { color:#8a3ab9; }
.tcd_user_profile_widget li.pint_button a:hover:before { color:#c92228; }
.tcd_user_profile_widget li.mail_button a:hover:before { color:#16b9dc; }

.tcd_user_profile_widget li.tiktok_button a::before { font-family: 'tiktok_x_icon'; content: "\e900"; }
.tcd_user_profile_widget li.tiktok_button a:hover::before { color:#999; }
.tcd_user_profile_widget li.line_button a::before { content: "\e909"; }
.tcd_user_profile_widget li.line_button a:hover::before { color:#00B900; }
.tcd_user_profile_widget li.note_button a { width: 18px; }
.tcd_user_profile_widget li.note_button a::before {
    content: '';
    display: inline-block;
    width: 1em;
    height: 1em;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' 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");
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    -webkit-mask-position: center;
}
.tcd_user_profile_widget li.note_button a:hover::before { color:#999; }

/* ドロップダウンカテゴリーメニュー */
.tcd_category_list { margin:0; }
.tcd_category_list li { margin:0; padding:0; background:none; position:relative; }
.tcd_category_list a {
  display:block; padding:0 5px 0 20px; height:50px; line-height:50px; overflow:hidden; border:1px solid #ddd; margin:-1px 0 0 0; text-decoration:none; background:#fff; 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;
}
.tcd_category_list > li:first-child > a { border-top:none; }
.tcd_category_list a:hover { background:#f5f5f5; color:#333; }
.tcd_category_list li a .count { display:none; float:right; top:5px; position:relative; height:40px; line-height:40px; background:#ccc; color:#fff; padding:0 8px; min-width:24px; text-align:center; font-size:11px; }
.tcd_category_list li a:hover .count{ background:#d80c49; }
.tcd_category_list.show_count li a .count { display:block; }
.tcd_category_list li li a { padding-left:28px; }
.tcd_category_list li li li a { padding-left:42px; }
.tcd_category_list li li li li a { padding-left:56px; }

.tcd_category_list ul {
  display:none; margin:0 !important; padding:0 !important; background:none;
  z-index:9; position:relative;
}
.tcd_category_list ul ul { width:100%; position:relative;}
.tcd_category_list ul li { margin:0; padding:0; }
.tcd_category_list ul li a {  }
.tcd_category_list ul ul li a { }
.tcd_category_list ul ul ul li a { }
.tcd_category_list ul ul ul ul li a { }


/* カスタムメニュー（ドロップダウンver）*/
.tcdw_custom_drop_menu_widget .side_headline { margin:0 0 -1px 0; z-index:2; position:relative; }
.tcdw_custom_drop_menu { margin:0; padding:0; }
.tcdw_custom_drop_menu li { margin:0; padding:0; background:none; position:relative; }
.tcdw_custom_drop_menu a {
  display:block; padding:0 15px; height:55px; line-height:55px; overflow:hidden; border:1px solid #ddd; margin:-1px 0 0 0; text-decoration:none; background:#fff; 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;
}
.tcdw_custom_drop_menu li:first-child > a { border-top:none; }
.tcdw_custom_drop_menu a:after {
  font-family:'design_plus'; content:'\e910'; color:#aaa; font-size:12px; display:block; position:absolute; top:2px; right:15px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.tcdw_custom_drop_menu a:hover { background:#014760; color:#fff; }
.tcdw_custom_drop_menu a:hover:after { color:#fff; }
.tcdw_custom_drop_menu > li.parent_menu.active > a:after { content:'\e911'; }

.tcdw_custom_drop_menu li ul {
  display:none; margin:0 !important; padding:0 !important; background:none;
  z-index:9; position:relative;
}
.tcdw_custom_drop_menu li ul ul { width:100%; position:relative;}
.tcdw_custom_drop_menu li ul li { margin:0; padding:0; }
.tcdw_custom_drop_menu li ul li a { height:auto; line-height:1.5; padding:18px 25px; background:#f6f6f6; }
.tcdw_custom_drop_menu li ul li a:after { display:none; }
.tcdw_custom_drop_menu li ul ul li a { background:#ddd; }
.tcdw_custom_drop_menu li ul ul ul li a { background:#ccc; }
.tcdw_custom_drop_menu li ul ul ul ul li a { background:#bbb; }


/* 検索 */
.widget_search label { display:none; }
#searchform {
  border:1px solid #ddd; background:#fbfbfb; height: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;
}
#searchform #s {
  border:none; background:none; padding:0 10px; margin:0; width:calc(100% - 50px); height: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;
}
#searchform #searchsubmit {
  border:none; background:none; width:50px; height:50px; z-index:200; position:relative;
  cursor:pointer; display:block; text-indent:-300%; overflow:hidden;
}
#searchform .submit_button  { position:relative; width:50px; height:50px; float:right; top:-1px;   transition-property:background-color, color; transition-duration:0.2s; transition-timing-function:ease;}
#searchform .submit_button:before {
  text-indent:0; display:block; width:50px; height:50px; line-height:50px; text-align:center; cursor:pointer; z-index:1;
  position:absolute; font-family:'design_plus'; color:#333; font-size:18px; content:'\e915'; right:0px; top:1px;
}
#searchform .submit_button:hover:before { color:#fff; }
#searchform .submit_button:hover { background:#333; }


/* アーカイブ、カテゴリードロップダウンメニュー */
.widget_archive, .widget_categories, .tcdw_archive_list_widget { }
.widget_archive ul  { margin:0; padding:0; }
.widget_archive ul li { }
.widget_archive select, .widget_categories select, .tcd_archive_dropdown select { border:1px solid #ddd; padding:12px 10px; width:100%; margin:0; }
.widget_archive select { border:1px solid #ddd; padding:12px; }
.widget_archive label, .widget_categories label { display:none; }
.widget_archive select option, .widget_categories select option, .tcd_archive_dropdown option { background:#fff; color:#333; }
.widget_categories li { }


/* アーカイブ一覧 */
.tcdw_archive_list_widget .side_headline { display:none; }
.p-widget-dropdown { height: 45px; line-height: 45px; position: relative; }
.p-widget-dropdown::after { color: #666; content: "\e90e"; font-family: "design_plus"; position: absolute; top: 0; right: 17px; z-index: 1; }
.p-widget-dropdown select { padding-right:33px; position: relative; z-index: 2; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
.p-widget-dropdown select::-ms-expand { display: none; }

.p-dropdown { font-size: 14px; }
.p-dropdown__title { -webkit-box-sizing: border-box; box-sizing: border-box; position: relative; height: 50px; padding: 0 18px; border: 1px solid #ddd; background: #fff; line-height: 50px; }
.p-dropdown__title::after { position: absolute; right: 17px; font-family: "design_plus"; content: "\e90e"; }
.p-dropdown__title:hover { cursor: pointer; }
.p-dropdown__title.is-active::after { content: "\e911"; }
.p-dropdown__list { display: none; }
.p-widget .p-dropdown .p-dropdown__list { margin: 0; }
.p-dropdown__list li { border: 1px solid #ddd; border-top: 0; line-height: 1.5; margin:0; padding:0; }
.p-dropdown__list li a { display: block; padding: 14px 18px; }
.p-dropdown__list li a:hover { background: #f6f6f6; color: #000; }


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


/* アクセス数ランキング */
.ranking_list_widget .side_headline { margin:0 0 -1px 0; z-index:2; position:relative; }
.ranking_list_widget ol { margin:0; padding:0; }
.ranking_list_widget li { padding:6px 0 15px; margin:0; }
.ranking_list_widget .num {
  float:left; position:relative; height:40px; width:40px; display:block; background:#ccc; color:#fff; padding:0 0 0 7px; font-weight:bold; font-size:13px; margin: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;
}
.ranking_list_widget .num:after {
  position:absolute; display:block; content:''; width:0; right:0px; top:0px;
  height:0; border-style: solid; border-width:0 0 40px 40px; border-color:transparent transparent #fff transparent;
}
.ranking_list_widget .title { margin:13px 0 0 0; }

/* デフォルトのRSS */
.widget_rss .rss-widget-feed { display:none; }
.widget_rss .rss-widget-title { text-decoration: none; color: inherit; }
.widget_rss li { border-bottom:1px solid #ddd; margin:0 0 -1px 0; padding:20px 30px 15px; font-size:14px;}
.widget_rss li:last-of-type { border:none; }
.widget_rss ul li { padding:20px 0px; border-bottom:1px solid #ddd; margin-top:-1px; display:-webkit-box; display:-ms-flexbox; display:flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.widget_rss ul li:not(:first-child) { border-top:1px solid #ddd; }
.widget_rss ul li .rss-date { -ms-flex-order:1; order:1; color:#999; font-size:13px; line-height:1; margin-right:10px; padding:0 0 0 22px; position:relative; }
.widget_rss ul li .rss-date:before {font-family: 'design_plus';
  content: '\e94e';font-size:16px; position:absolute; top:-2px; left:0px; -webkit-font-smoothing: antialiased; }
.widget_rss ul li cite { -ms-flex-order:2; order:2; color:#999; font-size:13px; line-height:1; }
.widget_rss ul li .rsswidget { -ms-flex-order:3; order:3; display:block; width:100%; margin:0; }
.widget_rss ul li .rssSummary { -ms-flex-order:4; order:4; color:#999; font-size:13px; margin: -0.35em 0; }
.widget_rss .rss-date { position:relative; font-family:Arial; }
.widget_rss .rsswidget ~ .rss-date, .widget_rss .rsswidget ~ cite { margin-bottom:10px; }
.widget_rss .rsswidget ~ .rssSummary { margin-top:calc(10px - 0.35em); }

/* デフォルトのタグ一覧 */
.widget_tag_cloud .tagcloud {
	margin:20px 0 0 0; padding:0; position:relative;
  display:-webkit-box; display:-webkit-flex; display:flex;
  -webkit-flex-wrap:wrap; flex-wrap:wrap;
}
.widget_tag_cloud .tagcloud a { margin:0 6px 6px 0; font-size:14px !important; display:block; background:#fff; padding:0px 20px; border-radius:5px; height:36px; line-height:36px; border: 1px solid #ddd;}
.widget_tag_cloud .tagcloud a:hover { background:#000; color:#fff; }

/* デフォルトの最近の記事 */
.widget_recent_entries li { border-bottom:1px solid #ddd; padding: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; font-size:14px; 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 ul li { margin:0; padding:0; line-height:1; }
.widget_categories ul li a { display:inline-block; line-height:1.6; padding:10px 0; }
.widget_categories ul li { color:#999; }
.widget_categories .widget_headline + ul { margin:-12px 0 -14px; }

/* デフォルトの固定ページ */
.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 .post_content { line-height: 1.6; }

/* デフォルトのブロック */
.widget_block {  line-height:1.6; }

/* デフォルトのアーカイブとカテゴリー　ドロップダウンメニュー */
.widget_archive select, .widget_categories select {
	border:1px solid #ddd; background:#fff;  width:100%; height:60px; padding:0 18px; font-size:14px; 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 .select_wrap,.widget_categories .select_wrap{
  position: relative;
}
.widget_archive .select_wrap:before, .widget_categories .select_wrap:before {
  font-family:'design_plus'; content:'\e90e'; text-align:center; text-indent:0;
  display:block; font-size:14px; width:14px; height:14px; line-height:14px;
  position:absolute; right:15px; top:25px;
}


/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
/* 基本設定 */
#comments { font-size:12px; margin:0; }
#comment_headline { font-size:16px; margin:50px 0 20px 0; }
#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:12px; padding:18px 15px; line-height:1.6; display:block; color:#333; text-decoration:none; background:#f2f2f2; }
#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:#afcfd2; }
#comment_header ul li.comment_switch_active a:after, #comment_header #comment_closed p:after {
  position:absolute; bottom:-17px; left:-webkit-calc(50% - 5px); left:-moz-calc(50% - 5px); left:calc(50% - 5px);
  content:""; width:0; height:0; border-width:10px; border-style:solid; border-color:#afcfd2 transparent transparent transparent;
}
#comment_header ul li.comment_switch_active a:hover { }


/*  コメントの基本部分 */
.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:12px; color:#757676; margin:10px 0 0 0; }

.comment-act { background:url(img/common/arrow3.gif) no-repeat left; font-size:12px; 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:12px; 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:12px; color:#757676; margin:0 0 7px 0px; }
.trackback_title { margin:2px 0 8px 0; margin:0 0 10px 0px; line-height:1.6; }

#trackback_url_area { margin:0; }
#trackback_url_area label { display:block; margin:0 0 10px 0; font-size:12px; }
#trackback_url_area input { border:1px solid #ccc; background:#fafafa; padding:10px; width:100%; font-size:12px; -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:1; }
#comment_user_login span { margin:0 0 0 40px; }

#comment_login { margin:0; padding:3px 30px 10px 30px; }
#comment_login p { margin:0; padding:12px 0 11px 36px; line-height:1; }
#comment_login a { margin:0 0 0 20px; padding:0 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;font-size: 14px; padding: .2em .5em;}
#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:14px; color:#888;}
#guest_info span { 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:16px; overflow:auto; padding: .2em .5em;}
#comment_textarea textarea:focus { border:1px solid #e48898; }

#submit_comment_wrapper { text-align:center; }
#submit_comment {
  background:#ccc; 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:1.6; }


/* ----------------------------------------------------------------------
 ブロックエディターの埋め込みブロック対応
---------------------------------------------------------------------- */
.wp-block-embed { margin-bottom:2em; }

/* パスワード保護 */
.c-pw__desc, .c-pw__desc p { line-height:2.5; }
.c-pw__desc p { margin-bottom:16px; }
.c-pw__btn { box-sizing: border-box; color: #fff; display: inline-block; padding: 13px 20px; font-size:14px; text-align:center; line-height:1; }
.c-pw__btn:hover { background: #333; color: #fff; }
.c-pw__btn--register { min-width: 160px; margin-bottom:32px; }
.c-pw__btn--submit { min-width: 100px; border:0; cursor:pointer; }
.c-pw .c-pw__btn:hover { text-decoration: none; }
.c-pw__box { border:1px solid #ddd; background:#f5f5f5; padding: 25px 36px; display:inline-block; margin-bottom:40px; box-sizing: border-box; }
.c-pw__box .c-pw__box-desc { line-height:1.2; margin-bottom: 20px; }
.c-pw__box-label { margin-right: 14px; }
.c-pw__box-input { border:1px solid #ddd; box-shadow:none; height:40px; width:250px; margin-right: 13px; flex: 1; box-sizing: border-box; padding: 0 10px; }

.post_content .c-pw__btn, .post_content .c-pw__btn:hover { color: #fff; }

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

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

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

/* スクロール */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 70px;
}
html:has(.l-header--fixed) {
	scroll-padding-top: 100px;
}
@media (max-width: 1199px) {
	html:has(.l-header--fixed) {
		scroll-padding-top: 100px;
	}
}