@charset "UTF-8";

/* ----------------------------------------------------------------------
 WordPress プリセットスタイル
---------------------------------------------------------------------- */
/* alignment */
.post_content .alignright { float:right; }
.post_content .alignleft { float:left; }
.post_content .aligncenter { display:block; margin-left:auto; margin-right:auto; margin-bottom:7px; }
.post_content blockquote.alignleft, .post_content img.alignleft { margin:7px 24px 7px 0; }
.post_content .wp-caption.alignleft { margin:7px 14px 7px 0; }
.post_content blockquote.alignright, .post_content img.alignright { margin:7px 0 7px 24px; }
.post_content .wp-caption.alignright { margin:7px 0 7px 14px; }
.post_content blockquote.aligncenter, .post_content img.aligncenter, .post_content .wp-caption.aligncenter { margin-top:7px; margin-bottom:7px; }

/* text and headline */
.post_content p { line-height:2.4; margin:0 0 2.4em 0; word-wrap:break-word; }
.post_content h1, .post_content h2, .post_content h3, .post_content h4, .post_content h5, .post_content h6 { clear:both; line-height:1.2; font-weight:400; margin:0 0 10px 0; padding:10px 0 0 0; }
.post_content h1 { font-size:150%; }
.post_content h2 { font-size:140%; }
.post_content h3 { font-size:130%; padding-top:20px; }
.post_content h4 { font-size:120%; }
.post_content h5 { font-size:110%; }
.post_content h6 { font-size:100%; }

/* image */
.post_content img[class*="align"], .post_content img[class*="wp-image-"], .post_content img[class*="attachment-"], .post_content img.size-full, .post_content img.size-large, .post_content .wp-post-image, .post_content img
 { height:auto; max-width:100%; }

/* list */
.post_content li, .post_content dt, .post_content dd { line-height:2.2; }
.post_content ul, .post_content ol, .post_content dl { margin-bottom:24px; }
.post_content ol { list-style:decimal outside none; margin-left:1.5em; }
.post_content ul { list-style:circle outside none; margin-left:1.3em; }
.post_content li > ul, .post_content li > ol { margin-bottom:0; }
.post_content dt { font-weight:bold; }
.post_content dd { margin-bottom:1em; }

/* table */
.post_content table { margin:0 0 24px 0; /*width:100% !important;*/ }
.post_content td, .post_content th { border:1px solid #bbb; padding:10px 15px; line-height:2.2; }
.post_content th { background:#ddd; font-weight:normal; }
/* table style */
.post_content table.table_no_border th, .post_content table.table_no_border td { border:none; padding-left:0; }
.post_content table.table_border_horizontal th, .post_content table.table_border_horizontal td { border-left:none; border-right:none; padding-left:0; }

/* block quote */
.post_content blockquote { margin:0 0 25px 0; padding:27px 30px 0; border:1px solid #ccc; box-shadow:0px 4px 0px 0px #f2f2f2; position:relative; }
.post_content blockquote:before { content:'"'; font-style:italic; font-size:30px; font-weight:normal; line-height:40px; width:30px; height:30px; position:absolute; top:5px; left:10px; color:#5cbcd7; }
.post_content blockquote:after { content:'"'; font-style:italic; font-size:30px; font-weight:normal; text-align:left; line-height:60px; width:30px; height:30px; position:absolute; bottom:7px; right:-2px; color:#5cbcd7; }
.post_content blockquote cite { border-top:1px dotted #aaa; display:block; padding:20px 0 0 0; font-style:italic; text-align:right; font-size:90%; }

/* captions */
.post_content .wp-caption { margin-bottom:24px; background:#fff; border:1px solid #ccc; padding:5px; max-width:100%; -webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -ms-box-sizing:border-box; -o-box-sizing:border-box; box-sizing:border-box; }
.post_content .wp-caption-text { text-align:center; font-size:12px; font-style:italic; line-height:1.5; margin:9px auto; }
.post_content .wp-caption img[class*="wp-image-"] { display:block; margin:0 auto; }

/* gallery */
.gallery { margin-bottom:20px; }
.gallery a img { border:0 !important; }
.gallery-item { float:left; margin:0 4px 4px 0; overflow:hidden; position:relative; }
.gallery-columns-1 .gallery-item { max-width:100%; }
.gallery-columns-2 .gallery-item { max-width:48%; max-width:-webkit-calc(50% - 4px); max-width:calc(50% - 4px); }
.gallery-columns-3 .gallery-item { max-width:32%; max-width:-webkit-calc(33.3% - 4px); max-width:calc(33.3% - 4px); }
.gallery-columns-4 .gallery-item { max-width:23%; max-width:-webkit-calc(25% - 4px); max-width:calc(25% - 4px); }
.gallery-columns-5 .gallery-item { max-width:19%; max-width:-webkit-calc(20% - 4px); max-width:calc(20% - 4px); }
.gallery-columns-6 .gallery-item { max-width:15%; max-width:-webkit-calc(16.7% - 4px); max-width:calc(16.7% - 4px); }
.gallery-columns-7 .gallery-item { max-width:13%; max-width:-webkit-calc(14.28% - 4px); max-width:calc(14.28% - 4px); }
.gallery-columns-8 .gallery-item { max-width:11%; max-width:-webkit-calc(12.5% - 4px); max-width:calc(12.5% - 4px); }
.gallery-columns-9 .gallery-item { max-width:9%; max-width:-webkit-calc(11.1% - 4px); max-width:calc(11.1% - 4px); }
.gallery-columns-10 .gallery-item { max-width:7%; max-width:-webkit-calc(9.4% - 0px); max-width:calc(9.4% - 0px); }
.gallery-columns-1 .gallery-item:nth-of-type(1n), .gallery-columns-2 .gallery-item:nth-of-type(2n), .gallery-columns-3 .gallery-item:nth-of-type(3n), .gallery-columns-4 .gallery-item:nth-of-type(4n), .gallery-columns-5 .gallery-item:nth-of-type(5n), .gallery-columns-6 .gallery-item:nth-of-type(6n), .gallery-columns-7 .gallery-item:nth-of-type(7n), .gallery-columns-8 .gallery-item:nth-of-type(8n), .gallery-columns-9 .gallery-item:nth-of-type(9n), .gallery-columns-10 .gallery-item:nth-of-type(10n) { margin-right:0; }
.gallery-caption { background-color:rgba(0, 0, 0, 0.7); -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -ms-box-sizing:border-box; -o-box-sizing:border-box; box-sizing:border-box; color:#fff; font-size:12px; line-height:1.5; margin:0; max-height:50%; opacity:0; padding:6px 8px; position:absolute; bottom:0; left:0; text-align:left; width:100%; }
.gallery-caption:before { content:""; height:100%; min-height:49px; position:absolute; top:0; left:0; width:100%; }
.gallery-item:hover .gallery-caption { opacity:1; }
.gallery-columns-7 .gallery-caption, .gallery-columns-8 .gallery-caption, .gallery-columns-9 .gallery-caption, .gallery-columns-10 .gallery-caption { display:none; }

/* etc */
.post_content .wp-smiley { border:0; margin-bottom:0; margin-top:0; padding:0; }
.post_content address { margin:0 0 24px 0; line-height:2.2; }
.post_content pre { border-left:5px solid #7fc120; font-size:12px; margin:0 0 27px 0; line-height:25px; background:url(img/common/pre.gif) repeat left top; padding:0 17px; overflow:auto; }
.post_content .sticky { }
.post_content .mejs-container { margin:12px 0 25px; }
/* ----------------------------------------------------------------------
クラシックエディターのテーブルの横スクロール対応
---------------------------------------------------------------------- */
@media (max-width: 767px) {
  .post_content .s_table{ overflow: auto; white-space: nowrap; margin-bottom: 2em; }
  .post_content .s_table table { margin-bottom: 0; }
  }
  
/* ----------------------- TCD Advanced Style -------------------------- */


@font-face {
    font-family: 'design_plus';
    src: url('../fonts/design_plus.eot?v=1.4');
    src: url('../fonts/design_plus.eot?v=1.4#iefix') format('embedded-opentype'),
         url('../fonts/design_plus.woff?v=1.4') format('woff'),
         url('../fonts/design_plus.ttf?v=1.4') format('truetype'),
         url('../fonts/design_plus.svg?v=1.4#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;
}

/* ----------------------------------------------------------------------
 Column layout - カラムレイアウト
---------------------------------------------------------------------- */
.post_content .post_row { margin-left:-15px; margin-right:-15px; }
.post_content .post_col, .post_content .post_col-2, .post_content .post_col-3 { position:relative; min-height:1px; width:100%; padding-right:15px; padding-left:15px; float:left; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; margin-bottom:2em; }
.post_content .post_col-2 { margin-bottom:0; }
@media screen and (min-width:768px){
	.post_content .post_col-2 { width:50%; /* 2カラム */ }
	.post_content .post_col-3 { width:33.33333%; }
}
@media screen and (min-width:1024px){
	.post_content .post_col-2 { width:50%; /* 2カラム */ }
	.post_content .post_col-3 { width:33.33333%; }
}
.post_content .post_row:before, .post_content .post_row:after { content: " "; display: table; }
.post_content .post_row:after { clear: both; }


/* ----------------------------------------------------------------------
 headline - 見出しのスタイル
---------------------------------------------------------------------- */
.post_content .style3a, .post_content .style3b, .post_content .style4a, .post_content .style4b, .post_content .style5a, .post_content .style5b, .post_content .style6 { line-height:1.6; } 
/* h3 */
.post_content .style3a { margin:3em 0 1.5em; padding:1.1em .2em 1em; font-size:22px; font-weight:400; border-top:1px solid #222; border-bottom:1px solid #222; }
.post_content .style3b { margin:3em 0 1.5em; padding:1.1em .9em 1em; font-size:22px; font-weight:400; border-top:2px solid #222; border-bottom:1px solid #ddd; background:#fafafa; box-shadow:0px 1px 2px #f7f7f7; }
/* h4 */
.post_content .style4a { margin:2.5em 2px 1.2em; padding:.3em 0 .3em .8em; font-size:18px; font-weight:400; border-bottom:none; border-left:2px solid #222; }
.post_content .style4b { margin:2.5em 0 1.2em; padding:.9em 0 .8em; font-size:18px; font-weight:400; border-bottom:1px dotted #aaa; }
/* h5 */
.post_content .style5a { margin:2em 0 1em; padding:.5em .8em .3em 1em; font-weight:700; font-size:18px; background:#f5f5f5; box-shadow:0px 2px 0px 0px #f2f2f2; }
.post_content .style5b { margin:2em 0 1em; padding:.5em .8em .4em 1em; font-weight:400; font-size:18px; color:#fff; background:#222; border-radius:4px; box-shadow:0px 2px 0px 0px #f2f2f2; }
/* h6 */
.post_content .style6 { position:relative; margin:2em 0 1em; padding:.5em .8em .8em 1.3em; color:#222; font-weight:bold; font-size:16px; }
.post_content .style6:before { position:absolute; width:12px; height:12px; top:.5em; left:.2em; background:#222; content:""; }
.post_content .news_headline1{ position:relative; margin:80px 0 25px 0; padding:.5em; border-left:8px solid #444; line-height:1.2; font-size:1.2em; }
.post_content .news_headline1:after { content:""; position:absolute; bottom:0px; left:0; height:0; width:100%; border-bottom:1px dotted #ddd; }
.post_content .news_headline2{ margin:40px 0 20px 0; padding:0 .5em; border-left:6px solid #545454; line-height:26px; font-size:1.1em;}
.post_content .balloon { clear:both; display:block; position:relative; margin:50px 0 22px; padding:.5em 18px .5em; width:auto; min-width:115px; color:#fff; text-align:left; font-size:20px; font-weight:400; background:#222; z-index:0; border-bottom:0; }
.post_content .balloon:after { content:""; position:absolute; bottom:-10px; left:30px; margin-left:-10px; display:block; width:0px; height:0px; border-style:solid; border-width:10px 10px 0 10px; border-color:#222 transparent transparent transparent; }


/* ----------------------------------------------------------------------
 flame - 囲み枠
---------------------------------------------------------------------- */
.well { min-height:20px; padding:19px; margin-bottom:20px; background-color:#f5f5f5; border:1px solid #e3e3e3; border-radius:4px; -webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05); box-shadow:inset 0 1px 1px rgba(0,0,0,0.05); line-height:1.8; }
.well2 { margin:1em 0 30px; padding:1em 1.5em; line-height:1.8; border:1px solid #cdcdcd; background:#fcfcfc; box-shadow: 0 1px 3px 0 rgba(195,195,195,0.3); }
.well3 { margin:2em 0 2.5em; padding:1em 1.5em;line-height:1.8; border:1px dashed #cdcdcd; background:#fcfcfc;  box-shadow: 0 1px 3px 0 rgba(195,195,195,0.3); }
.wl_red { background-color: #f2dede; border-color: #ebccd1; color: #a94442; }
.wl_yellow { background-color: #fcf8e3; border-color: #faebcc; color: #8a6d3b; }
.wl_blue { background-color: #d9edf7; border-color: #bce8f1; color: #31708f; }
.wl_green { background-color: #dff0d8; border-color: #d6e9c6; color: #3c763d; }


/* ----------------------------------------------------------------------
 ol - 番号付きリスト
---------------------------------------------------------------------- */
.post_content .styled_ol { counter-reset: item; list-style-type: none; margin-left:0; margin-bottom:2em; }
.post_content .styled_ol li { display:-webkit-box; display:-webkit-flex; display:flex; margin-bottom:0.4em; }
.post_content .styled_ol li:before {
  counter-increment: item; content: counter(item);
  display:-webkit-box; display:-webkit-flex; display:flex;
  -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center;
  width:1.5em; min-width: 1.5em; height: 1.5em; background:#000;
  color: #fff; border-radius: 50%; line-height: 1; margin-top: 0.3em; margin-right: 0.7em;
}


/* ----------------------------------------------------------------------
 button - CSSボタンのスタイル
---------------------------------------------------------------------- */
.post_content .q_button { min-width:200px; max-width:90%; background-color:#535353; display:inline-block; vertical-align:middle; padding:.6em 1.3em .5em; font-weight:400; font-size:100%; color:#fff !important; margin:0; text-decoration:none; text-align:center; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; transition:all 0.3s ease-in-out 0s; box-shadow:0 1px 3px rgba(0,0,0,.15); }
.post_content .q_button:hover, .post_content .q_button:focus { text-decoration:none; color:#fff; background-color:#7d7d7d; box-shadow:0 2px 2px rgba(0,0,0,.15) inset; }
.q_button_wrap{ text-align:center; margin: 2em auto; }
/* Button option */
.post_content .rounded { border-radius:6px; }
.post_content .pill { border-radius:50px; }
.post_content .sz_full { min-width:100px; max-width:100%; display:block; font-size:110%; padding:1em 1.5em .9em; }
.post_content .sz_l { min-width:350px; max-width:90%; font-size:110%; padding:.8em 1.5em .7em; }
@media screen and (max-width: 479px) {
 .post_content .sz_l { min-width:320px; max-width:95%; }
}
.post_content .sz_s { min-width:100px; max-width:90%; font-size:85%; padding:.4em 1em .3em; }
.post_content .bt_red{ background:#c01f0e; color:#fff; }
.post_content .bt_red:hover, .post_content .bt_red:focus { background-color:#d33929; color:#fff; }
.post_content .bt_yellow{ background:#f1c40f; color:#fff; }
.post_content .bt_yellow:hover, .post_content .bt_yellow:focus { background-color:#f9d441; color:#fff; }
.post_content .bt_blue{ background:#2980b9; color:#fff; }
.post_content .bt_blue:hover, .post_content .bt_blue:focus { background-color:#3a91c9; color:#fff; }
.post_content .bt_green{ background:#27ae60; color:#fff; }
.post_content .bt_green:hover, .post_content .bt_green:focus { background-color:#39c574; color:#fff; }


/* ----------------------------------------------------------------------
Youtube responsive - Youtube動画のレスポンシブ表示
---------------------------------------------------------------------- */
.ytube { position:relative; height:0; margin-top:20px; margin-bottom:20px; padding-bottom:56.25%; padding-top:30px; overflow:hidden; }
.ytube iframe { position:absolute; top:0; right:0; width:100% !important; height:100% !important; }


/* ----------------------------------------------------------------------
Table responsive - テーブルのレスポンシブ表示
---------------------------------------------------------------------- */
.rps_table { line-height:2.0; }
@media only screen and (max-width:480px) {
  .rps_table tr { display:block; margin-bottom:1.5em; }
  .rps_table th, .rps_table td{ display:list-item; list-style-type:none; border:none; }
}


/* ----------------------------------------------------------------------
 Cardlink style - カードリンクのスタイル
---------------------------------------------------------------------- */
/*
.cardlink { padding:12px 12px 12px 12px; margin:10px 0; border:1px solid #ddd; word-wrap:break-word; max-width:100%; background:#fafafa; }
.cardlink_thumbnail { float:left; margin-right:20px; }
.cardlink_content { line-height:1.6; }
.cardlink .timestamp { display-inline; margin:0; padding:0; vertical-align:top; color:#666; line-height:1.6; font-size:12px; }
.cardlink .timestamp:before {
  font-family:'design_plus'; content:'\e94e';
  font-size:12px; color:#222; display:block; float:left; margin:0 8px 0 0;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.cardlink_title { font-size:16px; margin:0 0 5px; }
.cardlink_title a { font-weight:bold; color:#000; text-decoration:none; }
.cardlink_title a:hover { text-decoration:underline; }
.cardlink_excerpt { color:#333; font-size:13px; overflow:hidden; line-height:1.8; }
.cardlink_footer { clear:both; }
.clear { clear:both; }
@media screen and (max-width: 767px) {
  .cardlink_thumbnail { float:none; }
}
@media screen and (max-width: 479px) {
  .cardlink_excerpt { float:none; }
}
*/
.cardlink {
  word-wrap:break-word; margin:0 0; padding:20px; border:1px solid #ddd; background:#fff;
  display:flex; flex-wrap:wrap; align-items:center;margin-bottom: 20px;
}
.cardlink + .cardlink { margin-top:-20px; }
.cardlink .image { margin-right:25px; }
.cardlink .image img { width:130px; height:130px; -o-object-fit:cover; object-fit:cover; display:block; }
.cardlink .content { width:calc(100% - 155px); padding-top:5px; }
.cardlink .title_area { }
.cardlink .meta { display:flex; flex-wrap:wrap; margin:0 0 5px 0; }
.cardlink .meta > p { color:#222; font-size:14px; line-height:1; margin:0 15px 10px 0; position:relative; }
.cardlink .meta > p.date:before { font-family:'design_plus2'; content:'\e903'; font-size:16px; margin:0 5px 0 0; top:1.5px; position:relative; }
.cardlink .meta > p.modified_date { margin-right:0; }
.cardlink .meta > p.modified_date:before { font-family:'design_plus2'; content:'\e91f'; font-size:16px; margin:0 5px 0 0; top:1.5px; position:relative; }
.cardlink .title { margin:-3px 0 5px 0 !important; font-size:16px; font-weight:600; line-height:1.7; padding-top:0; }
.cardlink .title a { text-decoration:none; display:block; }
.cardlink .title a:hover { text-decoration:underline; }
.cardlink .desc { font-size:14px; line-height:1.7; margin:0 0 0 0 !important; max-height:3.4em; overflow:hidden; visibility:visible; }
.cardlink .desc span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
@media screen and (max-width: 800px) {
  .cardlink { padding:12px; }
  .cardlink .image { margin-right:15px; }
  .cardlink .image img { width:110px; height:110px; }
  .cardlink .content { width:calc(100% - 125px); }
  .cardlink .title { font-size:14px; margin:0 !important; line-height:1.4; max-height:4.2em; overflow:hidden; visibility:visible; }
  .cardlink .title a { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
  .cardlink .desc { display:none; }
}
@media screen and (max-width: 500px) {
  .cardlink .meta > p { font-size:12px; margin-right:10px; }
}


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


/* ----------------------------------------------------------------------
 font-size - フォントサイズ
---------------------------------------------------------------------- */
.text70{font-size:70%}      /* フォントサイズ70% */
.text80{font-size:80%}
.text90{font-size:90%}
.text100{font-size:100%}
.text110{font-size:110%}
.text120{font-size:120%}
.text130{font-size:130%}
.text140{font-size:140%}
.text150{font-size:150%}
.text160{font-size:160%}
.text170{font-size:170%}
.text180{font-size:180%}
.text190{font-size:190%}
.text200{font-size:200%}
.text210{font-size:210%}
.text220{font-size:220%}
.b{font-weight:700}     /* 太字 */
.u{text-decoration:underline}     /* 下線 */
.del{text-decoration:line-throug} /* 打ち消し線 */


/* ----------------------------------------------------------------------
 font-color - フォントカラー
---------------------------------------------------------------------- */
.red{color:red}     /* 赤色 */
.blue{color:#2ca9e1}    /* 青色 */
.green{color:#82ae46}   /* 緑色 */
.orange{color:#ff7d00}    /* 橙色 */
.yellow{color:#fff000}    /* 黄色 */
.pink{color:#ff0084}    /* ピンク */
.gray{color:#999999}    /* グレー */


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


/* ----------------------------------------------------------------------
 text-align - 配置
---------------------------------------------------------------------- */
.align1{text-align:center !important} /* 中央寄せ */
.align2{text-align:right !important}  /* 右寄せ */
.align3{text-align:left !important} /* 左寄せ */


/* ----------------------------------------------------------------------
 float - 回り込み
---------------------------------------------------------------------- */
.r-flo{float:right;margin:10px} /* 右に回り込み */
.l-flo{float:left;margin:10px}  /* 左に回り込み */
.f-clear{clear:both}      /* 回り込みの解除 */


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


/* ----------------------------------------------------------------------
 text-style - テキストスタイル
---------------------------------------------------------------------- */
.att {padding-left:1em;text-indent:-1em;} /* 注意書き等で二行目以降を字下げ */
.att_box { margin:2em 0 2.5em; padding:1em 1.2em; line-height:2.0; border:1px dotted #cccccc; background:#fcfcfc; box-shadow:0px 4px 0px 0px #f7f7f7; } /* テキストボックス */


/* ----------------------------------------------------------------------
 margin - 要素の外側の余白
---------------------------------------------------------------------- */
.m0{margin:0 !important}    /* margin 0px を指定するクラス */
.mt0{margin-top:0 !important}   /* margin-top0px を指定するクラス */
.mr0{margin-right:0 !important}   /* margin-right0px を指定するクラス*/
.mb0{margin-bottom:0 !important}  /* margin-bottom0px を指定するクラス*/
.ml0{margin-left:0 !important}    /* margin-left0px を指定するクラス*/

.m5{margin:5px !important}
.mt5{margin-top:5px !important}
.mr5{margin-right:5px !important}
.mb5{margin-bottom:5px !important}
.ml5{margin-left:5px !important}

.m10{margin:10px !important}
.mt10{margin-top:10px !important}
.mr10{margin-right:10px !important}
.mb10{margin-bottom:10px !important}
.ml10{margin-left:10px !important}

.m15{margin:15px !important}
.mt15{margin-top:15px !important}
.mr15{margin-right:15px !important}
.mb15{margin-bottom:15px !important}
.ml15{margin-left:15px !important}

.m20{margin:20px !important}
.mt20{margin-top:20px !important}
.mr20{margin-right:20px !important}
.mb20{margin-bottom:20px !important}
.ml20{margin-left:20px !important}

.m25{margin:25px !important}
.mt25{margin-top:25px !important}
.mr25{margin-right:25px !important}
.mb25{margin-bottom:25px !important}
.ml25{margin-left:25px !important}

.m30{margin:30px !important}
.mt30{margin-top:30px !important}
.mr30{margin-right:30px !important}
.mb30{margin-bottom:30px !important}
.ml30{margin-left:30px !important}

.m35{margin:35px !important}
.mt35{margin-top:35px !important}
.mr35{margin-right:35px !important}
.mb35{margin-bottom:35px !important}
.ml35{margin-left:35px !important}

.m40{margin:40px !important}
.mt40{margin-top:40px !important}
.mr40{margin-right:40px !important}
.mb40{margin-bottom:40px !important}
.ml40{margin-left:40px !important}

.m45{margin:45px !important}
.mt45{margin-top:45px !important}
.mr45{margin-right:45px !important}
.mb45{margin-bottom:45px !important}
.ml45{margin-left:45px !important}

.m50{margin:50px !important}
.mt50{margin-top:50px !important}
.mr50{margin-right:50px !important}
.mb50{margin-bottom:50px !important}
.ml50{margin-left:50px !important}

.m55{margin:55px !important}
.mt55{margin-top:55px !important}
.mr55{margin-right:55px !important}
.mb55{margin-bottom:55px !important}
.ml55{margin-left:55px !important}

.m60{margin:60px !important}
.mt60{margin-top:60px !important}
.mr60{margin-right:60px !important}
.mb60{margin-bottom:60px !important}
.ml60{margin-left:60px !important}

.m65{margin:65px !important}
.mt65{margin-top:65px !important}
.mr65{margin-right:65px !important}
.mb65{margin-bottom:65px !important}
.ml65{margin-left:65px !important}

.m70{margin:70px !important}
.mt70{margin-top:70px !important}
.mr70{margin-right:70px !important}
.mb70{margin-bottom:70px !important}
.ml70{margin-left:70px !important}

.m75{margin:75px !important}
.mt75{margin-top:75px !important}
.mr75{margin-right:75px !important}
.mb75{margin-bottom:75px !important}
.ml75{margin-left:75px !important}

.m80{margin:80px !important}
.mt80{margin-top:80px !important}
.mr80{margin-right:80px !important}
.mb80{margin-bottom:80px !important}
.ml80{margin-left:80px !important}


/* ----------------------------------------------------------------------
 padding - 要素の内側の余白
---------------------------------------------------------------------- */
.p0{padding:0 !important}   /* padding-0px を指定するクラス */
.pt0{padding-top:0 !important}    /* padding-top0px を指定するクラス */
.pr0{padding-right:0 !important}  /* padding-right0px を指定するクラス */
.pb0{padding-bottom:0 !important} /* padding-bottom0px を指定するクラス */
.pl0{padding-left:0 !important}   /* padding-left0px を指定するクラス */

.p5{padding:5px !important}
.pt5{padding-top:5px !important}
.pr5{padding-right:5px !important}
.pb5{padding-bottom:5px !important}
.pl5{padding-left:5px !important}

.p10{padding:10px !important}
.pt10{padding-top:10px !important}
.pr10{padding-right:10px !important}
.pb10{padding-bottom:10px !important}
.pl10{padding-left:10px !important}

.p15{padding:15px !important}
.pt15{padding-top:15px !important}
.pr15{padding-right:15px !important}
.pb15{padding-bottom:15px !important}
.pl15{padding-left:15px !important}

.p20{padding:20px !important}
.pt20{padding-top:20px !important}
.pr20{padding-right:20px !important}
.pb20{padding-bottom:20px !important}
.pl20{padding-left:20px !important}

.p25{padding:25px !important}
.pt25{padding-top:25px !important}
.pr25{padding-right:25px !important}
.pb25{padding-bottom:25px !important}
.pl25{padding-left:25px !important}

.p30{padding:30px !important}
.pt30{padding-top:30px !important}
.pr30{padding-right:30px !important}
.pb30{padding-bottom:30px !important}
.pl30{padding-left:30px !important}

.p35{padding:35px !important}
.pt35{padding-top:35px !important}
.pr35{padding-right:35px !important}
.pb35{padding-bottom:35px !important}
.pl35{padding-left:35px !important}

.p40{padding:40px !important}
.pt40{padding-top:40px !important}
.pr40{padding-right:40px !important}
.pb40{padding-bottom:40px !important}
.pl40{padding-left:40px !important}

.p45{padding:45px !important}
.pt45{padding-top:45px !important}
.pr45{padding-right:45px !important}
.pb45{padding-bottom:45px !important}
.pl45{padding-left:45px !important}

.p50{padding:50px !important}
.pt50{padding-top:50px !important}
.pr50{padding-right:50px !important}
.pb50{padding-bottom:50px !important}
.pl50{padding-left:50px !important}

.p55{padding:55px !important}
.pt55{padding-top:55px !important}
.pr55{padding-right:55px !important}
.pb55{padding-bottom:55px !important}
.pl55{padding-left:55px !important}

.p60{padding:60px !important}
.pt60{padding-top:60px !important}
.pr60{padding-right:60px !important}
.pb60{padding-bottom:60px !important}
.pl60{padding-left:60px !important}

.p65{padding:65px !important}
.pt65{padding-top:65px !important}
.pr65{padding-right:65px !important}
.pb65{padding-bottom:65px !important}
.pl65{padding-left:65px !important}

.p70{padding:70px !important}
.pt70{padding-top:70px !important}
.pr70{padding-right:70px !important}
.pb70{padding-bottom:70px !important}
.pl70{padding-left:70px !important}

.p75{padding:75px !important}
.pt75{padding-top:75px !important}
.pr75{padding-right:75px !important}
.pb75{padding-bottom:75px !important}
.pl75{padding-left:75px !important}

.p80{padding:80px !important}
.pt80{padding-top:80px !important}
.pr80{padding-right:80px !important}
.pb80{padding-bottom:80px !important}
.pl80{padding-left:80px !important}

/* クイックタグ追加分 */
h2.styled_h2 { font-size:26px; font-weight:600; line-height:1.4; margin: 3em 0 1.3em 0; text-align:center; }
h3.styled_h3 { font-size:22px; font-weight:600; line-height:1.6; margin: 3em 0 1.3em 0; }
h4.styled_h4 { font-size:20px; font-weight:600; line-height:1.6; margin: 2.3em 0 1em 0; }
h5.styled_h5 { font-size:18px; font-weight:600; line-height:1.6; margin: 2.3em 0 1em 0; }
h6.styled_h6 { font-size:16px; font-weight:600; line-height:1.6; margin: 2.3em 0 1em 0; }
@media screen and (max-width: 800px) {
  h2.styled_h2 { font-size:20px; margin: 2.5em 0 1em 0; }
  h3.styled_h3 { font-size:18px; margin: 2.3em 0 1em 0; }
  h4.styled_h4 { font-size:16px; margin: 2.2em 0 1em 0; }
  h5.styled_h5 { font-size:16px; margin: 2.2em 0 1em 0; }
  h6.styled_h6 { font-size:14px; margin: 2.2em 0 1em 0; }
}
@media screen and (max-width: 600px) {
  h2.styled_h2 { margin: 2.3em 0 1em 0; }
  h3.styled_h3 { margin: 2em 0 1em 0; }
  h4.styled_h4 { margin: 2em 0 1em 0; }
  h5.styled_h5 { margin: 2em 0 1em 0; }
  h6.styled_h6 { margin: 2em 0 1em 0; }
}


/* ----------------------------------------------------------------------
 ヘッダーメッセージ
---------------------------------------------------------------------- */
#header_message {
	position:relative; z-index:999; width:100%; box-sizing:border-box;
	display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
  min-height:50px; text-align: center; font-size:14px; font-weight:600; padding:15px 20px;
}
#header_message .label { display:block; color:inherit; line-height:1.4; padding:0 20px; }
#header_message a.label:hover { text-decoration: underline; }
@media (max-width: 767px) {
  #header_message { min-height:40px; font-size:12px; }
}


/* ----------------------------------------------------------------------
 汎用スタイルの追加
 https://tcd-theme.com/2023/09/utility-classes.html
---------------------------------------------------------------------- */
.post_content .a_break { display: inline-block; }
@media (max-width: 767px) {
  .post_content .is-pc { display:none!important; }
}
@media not all and (max-width: 767px) {
  .post_content .is-sp { display:none!important; }
}
.post_content .e_link {
  display: inline-block; position: relative; padding-right:1em;
}
.post_content .e_link:after {
  font-family: 'design_plus'; content: '\e92a'; font-size: 100%; display: block;
  position: absolute; transition:none; margin-top:-0.1em;
  right:0; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%);
}
.post_content img.frame {
  border: 1px solid #d2d2d2;
  -webkit-box-shadow: 0 6px 6px -6px #cccccc;
  -moz-box-shadow: 0 6px 6px -6px #cccccc;
  box-shadow: 0 6px 6px -6px #cccccc;
}
@charset "UTF-8";
/* ----------------------- 利用している箇所あり -------------------------- */
[class^="icon-"], [class*=" icon-"] {
  font-family: "design_plus" !important;
  line-height: 1;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  speak: none;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ----------------------- Share button -------------------------- */

.single_share li a [class^="icon-"]{
  display: none;
}

/*** 共通 ***/
.single_share ul { display:flex; flex-wrap:wrap; margin:0 -3px -3px 0; }
.single_share li:not(.default) { flex: 1 1 0%; margin:0 3px 3px 0; max-width:100px; }

.single_share li:not(.default) a { display:flex; flex-wrap:wrap; justify-content:center; text-align:center; position:relative; border-radius:3px; align-items:center; cursor: pointer;}

.single_share a:before { font-family:'design_plus'; display:block; color:#fff; margin-right:5px; position:relative; transition: color 0.25s ease; -webkit-font-smoothing: antialiased; }

.single_share .ttl { font-size: 12px;position: relative;font-family: Arial; }

/*** サイズ違い ***/
.single_share .share-type1 a,
.single_share .share-type2 a { line-height: 30px;}

.single_share .share-type3 ul,
.single_share .share-type4 ul { margin:0 -5px -5px 0; }
.single_share .share-type3 li,
.single_share .share-type4 li { flex: 0 0 auto; width:calc(25% - 5px); margin:0 5px 5px 0; max-width:inherit; }
.single_share .share-type3 a,
.single_share .share-type4 a {  height: 40px;}

.single_share .share-type3 a { line-height:42px; }
.single_share .share-type4 a { line-height:40px; }

/** カラー or モノクロ ***/
.single_share .share-type1 a,
.single_share .share-type3 a { background:#000; color:#fff;}

.single_share .share-type2 a,
.single_share .share-type4 a { background:#f2f2f2; color:#000; border:1px solid #ddd; }

.single_share .share-type2 a:before,
.single_share .share-type4 a:before { color:#000; }

/*** 各シェアアイコン ***/

.single_share .twitter a:before { font-family: 'tiktok_x_icon'; content: "\e901"; font-size:12px; top:-1px; }
.single_share .facebook a:before { font-family: 'tiktok_x_icon'; content: "\e902";  font-size:18px; top:-1px; }
.single_share .hatebu a:before { content:'\e908'; font-size:14px; top:0px; }
.single_share .pocket a:before { content:'\e90a'; font-size:16px; top:0px; }
.single_share .rss a:before { content:'\e90b'; font-size:12px; top:-0.5px; }
.single_share .feedly a:before { content:'\e907'; font-size:15px; top:-1px; }
.single_share .pinterest a:before { content:'\e905'; font-size:16px; top:-0.5px; }

.single_share .share-type1 .twitter a,
.single_share .share-type3 .twitter a { background:#000; border-color:#000; }
.single_share .share-type1 .facebook a,
.single_share .share-type3 .facebook a { background:#35629a; border-color:#35629a; }
.single_share .share-type1 .hatebu a,
.single_share .share-type3 .hatebu a { background:#3c7dd1; border-color:#3c7dd1; }
.single_share .share-type1 .pocket a,
.single_share .share-type3 .pocket a { background:#ee4056; border-color:#ee4056; }
.single_share .share-type1 .rss a,
.single_share .share-type3 .rss a { background:#ffb53c; border-color:#ffb53c; }
.single_share .share-type1 .feedly a,
.single_share .share-type3 .feedly a { background:#6cc655; border-color:#6cc655; }
.single_share .share-type1 .pinterest a,
.single_share .share-type3 .pinterest a { background:#d4121c; border-color:#d4121c; }

@media(hover: hover) {
  .single_share .share-type1 .twitter a:hover,
  .single_share .share-type3 .twitter a:hover { background:#666; }
  .single_share .share-type1 .facebook a:hover,
  .single_share .share-type3 .facebook a:hover { background:#1f3669;}
  .single_share .share-type1 .hatebu a:hover,
  .single_share .share-type3 .hatebu a:hover { background:#0270ac; }
  .single_share .share-type1 .pocket a:hover,
  .single_share .share-type3 .pocket a:hover { background:#c53648; }
  .single_share .share-type1 .rss a:hover,
  .single_share .share-type3 .rss a:hover { background:#e09900;}
  .single_share .share-type1 .feedly a:hover,
  .single_share .share-type3 .feedly a:hover { background:#5ca449; }
  .single_share .share-type1 .pinterest a:hover,
  .single_share .share-type3 .pinterest a:hover { background:#a42f35; }
  .single_share .share-type1 a:hover,
  .single_share .share-type3 a:hover { color:#fff; }
  
  .single_share .share-type2 .twitter a:hover,
  .single_share .share-type4 .twitter a:hover { background:#000; border-color:#000; }
  .single_share .share-type2 .facebook a:hover,
  .single_share .share-type4 .facebook a:hover { background:#35629a; border-color:#35629a; }
  .single_share .share-type2 .hatebu a:hover,
  .single_share .share-type4 .hatebu a:hover { background:#3c7dd1; border-color:#3c7dd1; }
  .single_share .share-type2 .pocket a:hover,
  .single_share .share-type4 .pocket a:hover { background:#ee4056; border-color:#ee4056; }
  .single_share .share-type2 .rss a:hover,
  .single_share .share-type4 .rss a:hover { background:#ffb53c; border-color:#ffb53c; }
  .single_share .share-type2 .feedly a:hover,
  .single_share .share-type4 .feedly a:hover { background:#6cc655; border-color:#6cc655; }
  .single_share .share-type2 .pinterest a:hover,
  .single_share .share-type4 .pinterest a:hover { background:#d4121c; border-color:#d4121c; }
  .single_share .share-type2 a:hover,
  .single_share .share-type4 a:hover { color:#fff; }
  .single_share .share-type2 a:hover:before,
  .single_share .share-type4 a:hover:before { color:#fff; }
}

@media screen and (max-width:800px) {
  .single_share .share-type1 .ttl,
  .single_share .share-type2 .ttl { display:none; }
  .single_share .share-type3 .ttl,
  .single_share .share-type4 .ttl { display:inline; }
  
  .single_share .share-type3 a,
  .single_share .share-type4 a { height:35px; line-height:37px; }
  
  .single_share .share-type4 a { line-height:35px; }
  
  .single_share a:before { margin:0; }
  .single_share .share-type3 a:before,
  .single_share .share-type4 a:before { margin-right:5px; }
  
  
.single_share .twitter a:before { top:0px }
.single_share .facebook a:before { top:-1px;  }
.single_share .hatebu a:before { top:0px; }
.single_share .pocket a:before { top:0px; }
.single_share .rss a:before { top:-1px; }
.single_share .feedly a:before {  top:-1.5px; }

}
@media screen and (max-width:500px) {
	.single_share .ttl { max-width:inherit; }
  .single_share .share-type3 li,
  .single_share .share-type4 li { width:calc(50% - 5px); max-width:inherit; }
}

.single_share .share-type5 ul { display:flex; flex-wrap:wrap; margin:0 -3px -10px 0; }
.single_share .share-type5 li { margin:0 3px 3px 0; }
.single_share .share-type5 li.pocket_button { width:90px !important; }
@charset "utf-8";

/* ----------------------------------------------------------------------
 レイアウト
---------------------------------------------------------------------- */
html { max-width:100vw; }

@media only screen and (max-width:1329px) {
  body { min-width:300px; }
  #left_col { width:-webkit-calc(100% - 3.3333% - 300px); width:-moz-calc(100% - 3.3333% - 300px); width:calc(100% - 3.3333% - 300px); }
  #side_col { width:300px; }
  #main_col, .inner { width:90.22556%; /* 1200/1330 */ }
}

@media only screen and (max-width:1024px) {
  body { font-size:12px; }
  #left_col, #side_col { width:initial; width:auto; }
  #left_col, #side_col { float:none !important; }
  #main_col, .inner { width:initial; width:auto; padding:0 20px; }
  #main_col { /*margin:30px 0 33px;*/ margin:16px 0 33px; }
  #side_col { margin:30px 0 0 0; }
}

/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  body { font-size:12px; }
}

/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
@media only screen and (max-width:1329px) {
  .fix_top.header_fix #header_top { width:100%; min-width:initial; min-width: auto; }
}

@media only screen and (max-width:1024px) {
  #header { position:relative; border-top:0!important; }
  #header_top { overflow:initial; }
  #header_top .inner { height:60px; min-height:initial; min-width: auto; }

  /* ロゴ */
  #header_logo, #header_logo_fix { max-height:60px; }
  #header_logo .logo, #header_logo_fix .logo { line-height:60px; }
  #header_logo #logo_text .logo, #header_logo_fix #logo_text_fixed .logo { font-size:26px; }
  #header_logo img, #header_logo_fix img { max-height:50px; }
  #header_logo .desc { display:none; }

  /* メニューボタン */
  a.menu_button {
    position:absolute; right:0px; z-index:9; text-align: center;
    display:inline-block; color:#000; width:60px; height:60px; line-height:60px; text-decoration:none;
  }
  a.menu_button span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
  a.menu_button:before {
    content:'\f0c9'; font-family:'design_plus'; color:#fff; 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 { display:none; clear:both; width:100%; margin:0; top:60px; left:0; position:absolute; z-index:9; background:#b69e84; max-height:-webkit-calc(100vh - 60px); max-height:calc(100vh - 60px); overflow-y:auto; }
  #global_menu ul { margin:0; width:100%; text-align:left; }
  #global_menuli, #global_menu > ul > li { display:block; width:100%; }
  #global_menu ul li:last-child { border-bottom:none; }
  #global_menu ul ul { display:none; }
  #global_menu a, #global_menu > ul > li > a {
    position:relative; display:block; margin:0; padding:9.5px 14px; height:auto; min-height:40px; line-height:1.6; overflow:hidden; text-decoration:none; font-size:13px; border-bottom:1px solid rgba(255,255,255,.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;
  }
  #global_menu a:hover { background:#92785f; }
  #global_menu ul ul a { padding-left:28px; background:rgba(255,255,255,.1); }
  #global_menu ul ul ul a { padding-left:42px; background:rgba(255,255,255,.2); }
  #global_menu ul ul ul ul a { padding-left:55px; background:rgba(255,255,255,.3); }
  #global_menu li.menu-item-has-children { position:relative; }
  #global_menu .child_menu_button { display:block; position:absolute; text-align:center; width:60px; height:39px; right:0px; top:1px; z-index:5; cursor:pointer; }
  #global_menu .child_menu_button .icon:before {
    content:'\e90e'; font-family:'design_plus'; font-size:13px; color:#eee; text-align:center;
    display:block; width:20px; height:20px; line-height:20px;
    position:absolute; left:20px; top:10px;
    -webkit-transition:transform 0.5s ease; -moz-transition:transform 0.5s ease; -ms-transition:transform 0.5s ease; -o-transition:transform 0.5s ease; transition:transform 0.5s ease;
  }
  #global_menu .child_menu_button.active .icon:before, #global_menu .child_menu_button:hover .icon:before { color:#fff; border-color:#fff; }
  #global_menu li.menu-item-has-children.open > .child_menu_button .icon:before {
    -webkit-transform:rotateX(180deg); -moz-transform:rotateX(180deg); -ms-transform:rotateX(180deg); -o-transform:rotateX(180deg); transform:rotateX(180deg);
  }

  /* ヘッダー固定 */
  .mobile_fix_top.header_fix #header {
    position:fixed; width:100%; top:0; left:0; z-index:999;
    -webkit-transform:translateY(0%); -moz-transform:translateY(0%); -ms-transform:translateY(0%); -o-transform:translateY(0%); transform:translateY(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;
    animation:slideDown 0.5s ease; -ms-animation:slideDown 0.5s ease; -webkit-animation:slideDown 0.5s ease; -moz-animation:slideDown 0.5s ease; 
  }
  .mobile_fix_top.header_fix #header_top { background:rgba(0,0,0,1); }
  .mobile_fix_top.header_fix #header.active #header_top { background:rgba(0,0,0,1); }

  .mobile_fix_top.header_fix #logo_image_fixed, .mobile_fix_top.header_fix #logo_text_fixed { display:block; }
  .mobile_fix_top.header_fix #logo_image, .mobile_fix_top.header_fix #logo_text { display:none; }

  /* ヘッダー検索 */
  #header_top a.search_button {
    position:absolute; right:45px; z-index:99; text-align: center;
    display:inline-block; color:#fff; width:60px; height:60px; line-height:60px; text-decoration:none;
  }
  #header_top a.search_button span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
  #header_top a.search_button:before {
    content:'\e915'; font-family:'design_plus'; color:#fff; 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;
  }

  #header_search, #index_header_search { width:100%; padding:25px 0; }
  #header_search { display:none; position:absolute; top:60px; left:0; z-index:9; }
  #header_search form, #index_header_search form { display:block; }
  .header_search_inputs, form.columns-5 .header_search_inputs { width:100%; margin:0 0 12px 0; }
  .header_search_button, form.columns-5 .header_search_button { width:100%; margin:25px 0 0 0; text-align:center; }
  .header_search_inputs input { height:40px; padding:14px 16px; font-size:14px; }

  .header_search_inputs select { height:40px; padding:0 16px; font-size:14px; opacity:1; -webkit-appearance:none; -moz-appearance:none; background: white url(../fonts/angle-down.svg) no-repeat right 16px center / 12px }
  .header_search_button input { height:45px; font-size:14px; }
  #header_search_submit { width:220px; background:#000; }
  .header_search_keywords { position:relative; }
  .header_search_keywords #header_search_keywords { padding-right:56px; }
  .header_search_keywords ul.search_keywords_operator { width:42px; height:50px;  }
  .header_search_keywords ul.search_keywords_operator li { height:20px; line-height:20px; font-size:12px; }
  .header_search_inputs .chosen-container-single .chosen-single { padding-left:16px; height:50px; line-height:50px; }
  .header_search_inputs .chosen-container-single .chosen-single div b:before { line-height:50px; }

  /* パンくずリンク */
  #breadcrumb { padding:13px 0; height:initial; height: auto; font-size:12px; line-height:1.7; }
  #breadcrumb ul { white-space:initial; }
  #breadcrumb li.home a:before { font-size:12px; color:#999; }
  #breadcrumb li { font-size:12px; }
  #breadcrumb li:after { font-size:9px; bottom:0; }
}

/* ----------------------------------------------------------------------
 サイドコンテンツ
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  .side_widget { margin:0 0 28px 0; font-size:12px; }
  .side_headline,.widget_block .wp-block-heading { margin:0 0 12px 0; font-size:20px; line-height:1.4; }
  .side_widget + .side_widget .side_headline { margin-top:-4px; }
  .side_widget ul { margin:0 0 0 14px; }
  .side_widget li ul { margin: 0 0 0 10px; }

  /* バナーリスト */
  ul.banner_list li, .widget ul.banner_list li { margin:0 0 8px 0; }
  ul.banner_list li .caption { font-size:20px; }

  /* ランキング */
  .tcdw_ranking_list_widget .image { width:120px; height:120px; }
  .tcdw_ranking_list_widget .info { margin:0 0 0 138px; height:120px; }
	.tcdw_ranking_list_widget .rank {
		width: 44px; padding: 0 10px; line-height: 21px; height: 21px; 
	}
	.tcdw_ranking_list_widget .title { max-height:none; font-size:14px; }

  /* アイコンメニュー */
  .tcdw_icon_menu_list_widget li { font-size:14px; }

	/* デザインされた記事一覧 */
	.styled_post_list1_widget { font-size:14px; }
	.styled_post_list1 .title { max-height:none; }
	.styled_post_list1 .info { height:auto; }
	.styled_post_list1 .date { position:static; font-size:10px; }
}

/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  #footer_contents { padding:40px 0 0 0; }
  #footer_info { padding:18px 0 0 0; }

  /* logo */
  #footer_logo .logo { font-size:26px; line-height:1.2; }

  /* footer bottom menu */
  #footer_bottom_menu { display:block; margin:16px 0 0 0; }
  #footer_bottom_menu ul { display:inline; font-size:0; }
  #footer_bottom_menu li { display:inline-block; font-size:12px; line-height:2; }
  #footer_bottom_menu li:after { content:"|"; display:inline-block; padding:0 0.5em; }
  #footer_bottom_menu li:last-child:after { content:""; }

  /* SNSボタン */
  #footer_social_link { display:block; margin:12px 0 0 0; width:initial; width:auto; text-align:center; position:static;
    -webkit-transform:none; -moz-transform:none; -ms-transform:none; -o-transform:none; transform:none;
  }
  #footer_social_link li { margin:0 8px; }

  /* コピーライト */
  #copyright { margin:32px -20px 0 -20px; padding:17px 20px; width:initial; width:auto; font-size:10px; line-height:1.6; text-align:center; background:#000; position:static;
    -webkit-transform:none; -moz-transform:none; -ms-transform:none; -o-transform:none; transform:none;
  }
  #copyright span { display:none; }

  /* ページ上部へ戻るボタン */
  #return_top { display:none; position:fixed; bottom:0; right:0; }
  #return_top a { display:block; width:50px; height:50px; border-radius:0; }
  #return_top a:before {
    font-family:'design_plus'; color:#fff; font-size:16px; display:block; position:absolute; top:50%; left:50%; margin:-0.4em 0 0 -0.5em;
    -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
  }

  /* フッターウィジェット */
  #footer_widget { margin:0 0 10px 0; padding:10px 0; text-align:left;   grid-template-columns: 1fr 1fr 1fr; }
  .footer_headline { margin:0 0 14px 0; font-size:20px; line-height:1.4; }

  /* エリア・カテゴリーメニュー */
  #footer_nav { padding:30px 0 24px 0; }
  #footer_nav .footer_nav_cols .footer_nav_1 { width:initial; width:auto; float:none; }
  #footer_nav .footer_nav_cols .footer_nav_2 { width:initial; width:auto; float:none; margin-top:22px; }
  #footer_nav .headline { margin:0 0 12px 0; padding:0 12px; min-width:46px; line-height:21px; border-radius:10.5px; }
  #footer_nav li { font-size:12px; line-height:2; }
  #footer_nav .footer_nav_type1 li { min-width:25% !important; }
}

@media only screen and (max-width:767px) {
  #footer_info { padding:10px 0 0 0; }

  /* フッターウィジェット */
  #footer_widget { display:block; padding:0 ; border-bottom:none; }
  .footer_widget { width:100% !important;}
  .footer_widget +   .footer_widget{ margin-top: 30px; }
  .footer_widget.widget_nav_menu { width:49% !important; }
  .footer_widget ul.banner_list li { margin:0 0 9px 0; }

  /* エリア・カテゴリーメニュー */
  #footer_nav .footer_nav_type1 li { min-width:33% !important; }
}

@media only screen and (max-width:480px) {
  /* エリア・カテゴリーメニュー */
  #footer_nav .footer_nav_type1 li { min-width:50% !important; }
}

/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  /* お知らせ・ニュースティッカー */
  #index_news { display:none; }
  #index_news_mobile { display:block; margin:0; height:65px; line-height:65px; overflow:hidden; position:relative; border-bottom:1px solid #ddd; position:relative; padding: 5px;}
  #index_news_mobile ol { margin:0; padding:0; position:absolute;width: 100%; }
  #index_news_mobile ol li { height:65px; font-size:15px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; display: flex; flex-wrap: wrap; align-items: center;}
  #index_news_mobile ol li a { line-height: 1em; text-decoration:none; overflow:hidden; text-overflow:ellipsis; width: calc(100% - 40px);}
  #index_news_mobile .entry-date { font-size:14px; color:#b69e84; text-decoration:none !important; }
  #index_news_mobile .mobile_title { margin-top: 10px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
  .news-mobile_archive_link { display: block; margin:30px 0 0 0; text-align:center; }
  .news-mobile_archive_link a { display:inline-block; padding:0 30px; line-height:45px; font-size:14px; text-decoration:none; color:#fff !important; background:#aaa; position:relative; border-radius: 25px;min-width: 220px;box-sizing: border-box;  min-height: 45px; }
  /*#index_news_mobile .archive_link a:after { content:'\e910'; font-family:'design_plus'; display:inline-block; line-height:1; margin-top:-0.5em; position:absolute; top:50%; right:8px; }*/
  .news-mobile_archive_link a:hover { background:#b69e84; }

  /* カテゴリーリスト */
  .cb_content-category_list { margin-bottom:80px; }
  .cb_content-category_list ul li { margin:0 0 12px 0; padding:0; width:49.333%; float:left; }
  .cb_content-category_list ul li:nth-child(even) { float:right; }
}

@media only screen and (max-width:767px) {
  .home-default #main_col { margin-top:30px; }

  /* スライダー */
  #header_slider  { margin-bottom:-1px; }
  #header_slider .caption { padding:30px 20px; }
  #header_slider .slick-arrow { display:none !important; }
  #header_slider .item:before { content:''; display:block; padding-top:125%; }
  #header_slider .item img { width:100%; height:100%; position:absolute; top:0; bottom:0; left:0;right:0;margin: auto; max-width: inherit; object-fit: cover; }
  /*#header_slider .item img { width:100%;  height: calc( 100vh - 60px - 200px ); object-fit: cover }*/
  #header_slider .caption .headline { font-size:28px; line-height:1.4; }
  #header_slider .caption .catchphrase { margin:8px 0 0 0; font-size:12px; line-height:2; text-align:left; }
  #header_slider .caption .button { margin:12px 0 0 0; padding:0 40px; min-width:220px; height:43px; line-height:43px; font-size:14px; border-radius:22px; }

  #header_slider.slider_video, .slider_video_wrapper .slider_video_container{ height:calc(100vh - 60px); }
  .slider_video_wrapper:before{ padding-top:calc(100vh - 60px); }
  .slider_video_mobile{ height:100% !important; }

  /* コンテンツビルダー */
  .cb_content { margin:0 0 30px 0; }
  .cb_content .cb_headline { margin:2em 0 7px 0; font-size:20px; line-height:1.4; }
  .cb_content .cb_desc { line-height:2; text-align:left; }

  /* 紹介コンテンツ */
  .cb_content-introduce { margin-bottom:30px; }

  /* カルーセルスライダー */
  .cb_content-carousel { padding:26px 0 30px 0; }
  .cb_content-carousel .cb_headline { text-align:center; }
  .cb_content-carousel .carousel { margin:20px -10px 0; padding:0; }
  .cb_content-carousel .item { margin:0 10px; width:initial; width:auto; }
  .cb_content-carousel .slick-list { -webkit-clip-path:inset(0 10px 0 10px); clip-path:inset(0 10px 0 10px); }
  .cb_content-carousel .slick-arrow { display:none !important; }
  .cb_content-carousel .image .title { padding:10px 18px; line-height:1.5; font-size:14px; font-weight:300; }
  .cb_content-carousel .excerpt { display:none; }

  /* カテゴリーリスト */
  .cb_content-category_list { margin-bottom:30px; }
  .cb_content-category_list ul { margin:26px 0 0 0; padding:0; }
  .cb_content-category_list ul li { margin:0 0 6px 0; padding:0; width:initial; width:auto; float:none !important; }
  .cb_content-category_list ul li:last-child { margin-bottom:0; }
  .cb_content-category_list ul li a { height:120px; }
  .cb_content-category_list ul li .info h3 { margin:0 0 4px 0; font-size:116.666%; font-weight:700; font-size:14px; }
  .cb_content-category_list ul li.has_image .image { width:120px; height:120px; }
  .cb_content-category_list ul li.has_image .info { font-size:12px; left:120px; width:50%; width:-webkit-calc(100% - 115px); width:calc(100% - 115px); }

  /* ブログ記事一覧 */
  .cb_content-blog_list #post_list { margin:26px 0 0 0; }
  .cb_content-blog_list .archive_link { margin:16px 0 0 0; text-align:center; }
  /*.cb_content-blog_list .archive_link a { display:inline-block; padding:0 30px; min-width:100px; line-height:40px; text-decoration:none; color:#fff; background:#aaa; position:relative; }*/
  .cb_content-blog_list .archive_link a { 
  display: inline-block;
  padding: 0 30px;
  line-height: 45px;
  font-size: 14px;
  border-radius: 25px;
  min-width: 220px;
  box-sizing: border-box;
  min-height: 45px;
  }
}

/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
  /* ヘッダー画像 */
  #header_image:before { content:''; display:block; padding-top:72%; }
  #header_image img { width:auto; min-width:100%; height:100%; position:absolute; top:0; bottom:0; left:50%; max-width: inherit;
    -webkit-transform:translateX(-50%); -mox-transform:translateX(-50%); -ms-transform:translateX(-50%); -o-transform:translateX(-50%); transform:translateX(-50%);
  }
  #header_image .caption { font-size:20px !important; z-index:2; }
  #header_image .caption_bar { font-size:18px; line-height:1.4; padding:11px 20px 10px; }

  .page #post_title { margin:0 0 16px; font-size:20px; line-height:1.5; }
}

/* ----------------------------------------------------------------------
 アーカイブページ
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  #archive_headline { font-size:20px; line-height:1.4; }
  #archive_desc { margin:10px 0 0 0; }

  /* 共通カテゴリー・日付 */
  ul.meta li { margin:0 3px 0 0; font-size:12px; }
	ul.meta li.cat a, ul.meta li.cat span { margin:0 4px 4px 0; padding:0 8px; min-width:44px; line-height:21px; border-radius:10.5px; }
}

@media only screen and (min-width:768px) and (max-width:1024px) {
  /* 一覧 3列 */
  #post_list { margin:40px 0 0 0; }
  #post_list .article .title { margin:8px 0 0 0; font-size:14px; height:3.4em; }
  #post_list .article { width:30%; width:-webkit-calc((100% - 40px) / 3); width:-moz-calc((100% - 40px) / 3); width:calc((100% - 40px) / 3); margin:0 20px 28px 0 !important; }
  #post_list .article:nth-child(3n) { margin-right:0 !important; }
  ul.meta li.date { margin:6px 0 0 0; }

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

@media only screen and (max-width:767px) {
  /* 一覧 2列 */
  #post_list { margin:30px 0 0 0; }
  #post_list .article { width:45%; width:-webkit-calc(50% - 10px); width:-moz-calc(50% - 10px); width:calc(50% - 10px); margin:0 10px 20px 0; }
  #post_list .article:nth-child(2n) { margin-left:10px; margin-right:0; }
  #post_list .article .title { margin:8px 0 0 0; font-size:14px; line-height:1.5; height:4.5em; -webkit-line-clamp:3; }
  #post_list .article .meta { margin:8px 0 0 0; }
  ul.meta li.date { margin:6px 0 0 0; }

  /* ページング */
  /*.page_navi { display:none; }*/
  .page_navi2 { display:block; }
  .page_navi2 ul.page-numbers li { display:none; }
  .page_navi2 ul.page-numbers li.prev, .page_navi2 ul.page-numbers li.next { display:inline-block; margin-bottom:0; }
  .page_navi2 ul.page-numbers li.disable { opacity:0.5; }
  
  .page_navi p.back a{
    display: inline-block;
    padding: 0 30px;
    line-height: 45px;
    font-size: 14px;
    text-decoration: none;
    color: #fff;
    background: #aaa;
    position: relative;
    border-radius: 25px;
    min-width: 220px;
    box-sizing: border-box;
    min-height: 45px;
  }
  
  .page_navi ul.page-numbers .prev, .page_navi ul.page-numbers .next{
    display: none;
  }
  .page_navi + .page_navi2 ul.page-numbers .prev,  .page_navi + .page_navi2 ul.page-numbers .next{
    display: none;
  }
}



/* ----------------------------------------------------------------------
 カテゴリーアーカイブ・検索結果
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  .archive_header { padding:15px 0 13px 0; border-bottom:1px solid #ddd; }
  .archive_header .inner { display:block; }
  .archive_header .headline { margin:0; padding:0; font-size:20px; line-height:1.4; font-weight:700; }
  .archive_header .desc { margin:0.5em 0 0 0; line-height:2; }

  .archive_filter { margin:-12px -20px 11px -20px; padding:0 20px; background:transparent; border:none; }
  .archive_filter_headline { margin:26px 0 11px 0; font-size:16px; line-height:1.4; font-family:inherit !important; font-weight:300 !important; }
  .archive_filter.is-open .archive_filter_headline:after { margin-left: 8px; vertical-align: -1px; }
  .archive_filter.is-close .archive_filter_headline:after { margin-left: 8px; vertical-align: -0.5px; }
  .archive_filter_headline2 { margin:0 0 12px 0; }
  .archive_filter_headline2 span { padding:0 12px; min-width:46px; line-height:21px; border-radius:10.5px; }
  .archive_filter label { padding:0 10px 9px 0; min-width:25%; }
  .archive_filter label input { margin:0 4px 0 0; }
  .archive_filter .button { margin:6px auto 0; width:200px; }
  .archive_filter .button input { height:40px; color:#fff; border-radius:20px; }

  .archive_sort { margin:0 0 20px 0; }
  .archive_sort dt { float:none; width:100%; margin:0 0 9px 0; font-size:16px; line-height:1.4; text-align:left; color:#b69e84; background:transparent !important; }
  .archive_sort dd { width:33.3333%; }
  .archive_sort dd a { line-height:40px; }
  .archive_sort dd:first-of-type a { border-left:1px solid #ddd; }

  .custom_search_results .page_navi2 { display:block; margin:20px 0 15px 0; }

  /* 一覧 */
  #post_list2 { margin:20px -20px; }
  #post_list2 .article { border:none; border-bottom:1px solid #ddd; }
  #post_list2 .article:first-child { border-top:1px solid #ddd; }
  #post_list2 .article a { display:block; padding:17px 20px; text-decoration:none; }
  #post_list2 .article .image { float:left; width:45.625%; overflow:hidden; position:relative; padding-bottom:29%; }
  #post_list2 .article .image:before { content:''; display:block; /*padding-top:64.285%;*/ padding-top:0;  }
  #post_list2 .article .image img { display:block; width:100%; height:auto; position:absolute; top:0; left:0; }
  #post_list2 .article .info { float:right; width:48.125%; color:#000; }
  #post_list2 .article .meta { margin:0 0 4px 0; }
  #post_list2 .article .title { margin:0; font-size:14px; line-height:1.5; font-weight:400; }
  #post_list2 .article .excerpt { display:none; }
}

@media only screen and (max-width:480px) {
  .archive_filter label { min-width:33.333%; }
  #post_list2 .article .meta li span:nth-child(n+2) { display:none; }
}

/* ----------------------------------------------------------------------
 記事
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  .single-post #main_col, .single-introduce #main_col { margin-top:0; }
  #article_header { margin:0 -20px; padding:20px; border-width:0 0 1px 0; }

  /* カテゴリー */
  #post_meta_top { margin:0 0 4px 0; }
  .single-introduce #post_meta_top{
    margin-top: 10px;
  }

  /* アイキャッチ画像 */
  #post_image { margin:-1px -20px 24px; }

  /* 記事タイトル */
  #post_title { margin:0 0 24px; font-size:16px; line-height:1.5; font-weight:700; }
  /* 日付 */
  #post_date { margin:8px 0 0 0; color:#999; line-height:1; font-size:12px; }

  /* 記事本文 */
  .post_content { font-size: 14px; line-height:2.2; }

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

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

  /* メタ情報 */
  #post_meta_bottom { margin:28px 0; padding:0; background:transparent; }
  #post_meta_bottom li { display:block; margin:0 0 4px 0; padding:0 0 0 26px; border-right:none; font-size:12px; }
  #post_meta_bottom li:before { font-size:13px; }

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

  /* 広告 */
  #single_banner_area { margin:20px 0; text-align:center; }
  #single_banner_area .single_banner_left { float:none; padding:0 0 15px 0; margin:0 auto; }
  #single_banner_area .single_banner_right { float:none; padding:0 0 15px 0; margin:0 auto; }
  #single_banner_area img { max-width:100%; height:auto; display:inline; }

  /* 広告2 */
  #single_banner_area_bottom { margin:20px 0; text-align:center; }
  #single_banner_area_bottom .single_banner_left { float:none; padding:0 0 15px 0; margin:0 auto; }
  #single_banner_area_bottom .single_banner_right { float:none; padding:0; margin:0 auto; }
  #single_banner_area_bottom img { max-width:100%; height:auto; display:inline; }

  /* 広告（ショートコードver） */
  #single_banner_area2 { margin:0 0 20px 0; text-align:center; }
  #single_banner_area2 .single_banner_left { float:none; padding:0 0 15px 0; margin:0 auto; }
  #single_banner_area2 .single_banner_right { float:none; padding:0 0 5px 0; margin:0 auto; }
  #single_banner_area2 img { max-width:100%; height:auto; display:inline; }

  /* 関連記事 */
  #related_post .headline { margin:0 0 11px 0; font-size:16px; font-weight:300; line-height:1.6; }
}

@media only screen and (min-width:768px) and (max-width:1024px) {
  /* 関連記事 */
  #related_post ol { border:none; }
  #related_post li { width:33.3333%; border:none; }
  #related_post li a { padding:0 7px 18px; }
  #related_post li:nth-child(3n+1) a { padding:0 14px 18px 0; }
  #related_post li:nth-child(3n+3) a { padding:0 0 18px 14px; }
  #related_post li:nth-last-child(-n+3) a { padding-bottom:0; }
  #related_post li .image { margin:0 0 10px 0; }
  #related_post li .title { font-size:14px; line-height:1.5; font-weight:300; height:initial; height: auto; max-height:4.5em; }
}

@media only screen and (max-width:767px) {
  /* 次の記事、前の記事 */
  #previous_next_post_image { margin:28px 0; }
  #previous_next_post_image a { display:block; height:46px; line-height:46px; text-align:center; overflow:hidden; }
  #previous_next_post_image .title { display:none; }
  #previous_next_post_image .image { display:none; }
  #previous_next_post_image .prev_post a { padding:0 0 0 32px; }
  #previous_next_post_image .next_post a { padding:0 32px 0 0; }
  #previous_next_post_image a:before { font-size:16px; width:16px; }
  #previous_next_post_image .prev_post a:before { left:16px !important; }
  #previous_next_post_image .next_post a:before { right:16px !important; }
  #previous_next_post_image .prev_post a:after { content:attr(data-mobile-title); font-size:12px; }
  #previous_next_post_image .next_post a:after { content:attr(data-mobile-title); font-size:12px; }

  /* 関連記事 */
  #related_post { margin:30px 0 0 0; }
  #related_post ol { border:none; }
  #related_post li { width:50%; border:none !important; }
  #related_post li a { padding:0 10px 18px 0; }
  #related_post li:nth-child(even) a { padding:0 0 18px 10px; }
  #related_post li:nth-last-child(-n+2) a { padding-bottom:0; }
  #related_post li .image { margin:0 0 10px 0; }
  #related_post li .title { font-size:14px; line-height:1.5; font-weight:300; height:initial; height: auto; min-height:3em; max-height:4.5em; }
}

/* ----------------------------------------------------------------------
 紹介
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  /* 紹介詳細 */
  .introduce_shoulder_copy, #introduce_slider, .single-introduce #article #post_image { margin-left:-20px; margin-right:-20px; }
}

@media only screen and (max-width:767px) {
  /* 紹介ヘッダー */
  #introduce_header { margin:30px 0 10px 0; }
  #introduce_header .headline { /*margin:0 0 2px 0;*/ margin:0 0 7px 0; font-size:16px; line-height:1.4; }
  #introduce_header p { margin:0; line-height:2.2; }
  #introduce_header .post_col { margin-bottom:20px; font-size:14px; }

  /* 紹介一覧 */
  #introduce_list { margin:30px 0 0 0; }
  #introduce_header + #introduce_list { margin-top:0; }
  .introduce_list_row { margin:0; }
  .introduce_list_col { width:initial; width:auto; margin:0 0 18px 0; padding:0 0 18px 0; float:none; font-size:14px; border-bottom:1px solid #ddd;
  -webkit-transition:none; -moz-transition:none; -ms-transition:none; -o-transition:none; transition:none;
  }
	.introduce_list_row:last-child .introduce_list_col { margin-bottom:18px; }
  .introduce_list_col a { height:initial; height: auto; }
  .introduce_list_col .image, .introduce_list_col.show_info .image { width:41%; padding-top:41%; height:initial; height: auto; float:left; }
  .introduce_list_col .info, .introduce_list_col.show_info .info { display:block; width:55%; width:-webkit-calc(59% - 18px); width:-moz-calc(59% - 18px); width:calc(59% - 18px); height:initial; height: auto; float:right; position:static; }
  .introduce_list_col .info .meta { margin-bottom:6px; }
  .introduce_list_col .info .title { margin:0; font-size:14px; font-weight:400; line-height:1.5; max-height:none!important; }
  .introduce_list_col .info .excerpt { display:none; }
  .introduce_list_col .info .more { display:none; }
  .introduce_list_col.show_info { width:initial; width:auto; }
  /*
	.introduce_list_row:nth-of-type(odd) .introduce_list_col:nth-of-type(even) .image { float:right !important; }
  .introduce_list_row:nth-of-type(odd) .introduce_list_col:nth-of-type(even) .info { float:left !important; }
  .introduce_list_row:nth-of-type(even) .introduce_list_col:nth-of-type(odd) .image { float:right !important; }
  .introduce_list_row:nth-of-type(even) .introduce_list_col:nth-of-type(odd) .info { float:left !important; }
	*/
  .introduce_list_row:last-of-type .introduce_list_col:last-of-type { margin-bottom:0; padding-bottom:0; border-bottom:none; }

  #infscr-loading { margin:30px 0 0 0; }
  #load_post { margin:30px 0 0 0; }
  #load_post a { padding:0 20px; min-width:150px; line-height:40px; }

  /* 紹介詳細 */
  .introduce_shoulder_copy { margin:-1px -20px 20px; padding:12px 20px; font-size:14px; line-height:1.4; }
  #introduce_slider { /*margin:0 -20px 30px;*/ margin:0 -20px 20px; position:relative; }
  #introduce_slider .item .caption { margin:0; padding:12px 20px; font-size:12px; line-height:1.6; border-top:0; }
  #introduce_slider .slick-dots { text-align:center; position:absolute; bottom:16px; left:0; right:0; }
  #introduce_slider .slick-dots li { display:inline-block; margin:0 3px; }
  .single-introduce #article #post_image { margin:0 -20px 30px; }
  .introduce_shoulder_copy + #introduce_slider, .single-introduce #article .introduce_shoulder_copy + #post_image { margin-top:-20px; }
  .single-introduce #article #post_title { margin:0 0 30px 0; }
  .single-introduce #article #post_date { /*margin:-25px 0 30px 0;*/ margin:-25px 0 11px 0; }
  .introduce_archive_banner_link .catch { margin:0; padding:20px; font-size:20px; line-height:1.4; font-weight:400; }
  .introduce_archive_banner_link-2col a { display:block; height:initial; height: auto; min-height:100px; position:relative; }
  .introduce_archive_banner_link-2col a span { width:100%; }
  .introduce_archive_banner_link-2col .catch { padding:0 20px; text-align:center; position:absolute; top:50%; left:0; z-index:2;
    text-shadow: 4px 4px 5px rgba(0,0,0,0.8), -4px 4px 5px rgba(0,0,0,0.8), 4px -4px 5px rgba(0,0,0,0.8), -4px -4px 5px rgba(0,0,0,0.8);
    -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); -ms-transform:translateY(-50%); -o-transform:translateY(-50%); transform:translateY(-50%);
  }
  .introduce_archive_banner_link-2col .image { width:100%; height:initial; height: auto; overflow:hidden; position:static; }
  .introduce_archive_banner_link-2col .image img { width:100%; height:auto; position:static;
    -webkit-transform:none; -moz-transform:none; -ms-transform:none; -o-transform:none; transform:none;
  }
}

/* ----------------------------------------------------------------------
 お知らせ
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  .article_inner { padding:0; border:none; }
  #recent_news li .title { font-size: 14px;}
}

@media only screen and (max-width:767px) {
  /* お知らせ一覧 */
  #recent_news li a { padding: 15px 0; }
	#recent_news .show_date li .title { margin-bottom:5px;}
  #recent_news .show_date li .date { font-size:12px; line-height:1.6;/*position:absolute; top:50%; right:18px;*/ position:static; margin:0; }
  #recent_news .show_date li a{
    flex-flow: column;
    align-items: baseline;
  }
  #recent_news .show_date li .title { margin-bottom: 0; margin-top: 5px; }
  /*.post-type-archive-news #recent_news ol { margin:0; padding:0; border:none; }*/
  /*.post-type-archive-news #recent_news li { border-bottom:1px solid #ddd; }
  .post-type-archive-news #recent_news li:last-child { border-bottom:none; }*/
  /*.post-type-archive-news #recent_news li a { padding:11px 0 !important; line-height:1.6; }*/
  /*.post-type-archive-news #recent_news .show_date li .date { margin:0 0 6px 0; color:#999; font-size:83.33%; line-height:1.6; color:#b69e84; position:static; }*/
  .post-type-archive-news .page_navi { display:block; }

  /* お知らせ詳細 */
  .single-news #article #post_title { margin:0 0 24px 0; font-weight:700; }
  .single-news #article #post_date { margin:-12px 0 24px 0; font-size:12px; }
  .single-news #recent_news { margin-top:30px; }
  .single-news #recent_news .headline { margin:0 0 10px 0; font-size:16px; line-height: 1.6; }
  .single-news #recent_news .archive_link { margin-top:16px; }

  /* 次の記事、前の記事 */
  #previous_next_post { margin:28px 0; }
  #previous_next_post a { display:block; height:50px; line-height:50px; text-align:center; overflow:hidden; }
  #previous_next_post .title { display:none; }
  #previous_next_post .prev_post a { padding:0 0 0 32px; }
  #previous_next_post .next_post a { padding:0 32px 0 0; }
  #previous_next_post a:before { font-size:16px; width:16px; }
  #previous_next_post .prev_post a:before { left:16px; }
  #previous_next_post .next_post a:before { right:16px; }
  #previous_next_post .prev_post a:after { content:attr(data-mobile-title); font-size:12px; }
  #previous_next_post .next_post a:after { content:attr(data-mobile-title); font-size:12px; }
}

/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
@media only screen and (max-width:1024px) {
  #comment_headline { margin:0 0 10px 0; font-size:16px; font-weight:300; line-height:1.6; }
	#submit_comment { height:48px; }
}

@media only screen and (max-width:767px) {
  #comment_area, #trackback_area { margin:0; }

  /* コメント・トラックバックのタブ */
  #comment_header { position:relative; margin:30px 0 15px; }
  #comment_header ul { margin:0; }
  #comment_header ul li { float:none; text-align:center; margin:0; width:100%; }
  #comment_header ul li a, #comment_header ul li p { padding:7px; }
  #comment_header ul li.comment_switch_active a:after, #comment_header #comment_closed p:after { display:none; }

  /* コメントの基本部分 */
  .comment { padding:10px 10px 0; }

  /* フォーム部分 */
  .comment_form_wrapper { border:1px solid #ccc; margin:0 0 25px; padding:15px; background:#fff; }
}

/* ----------------------------------------------------------------------
 WordPress プリセットスタイル
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
  .post_content p { line-height:2.2; margin:0 0 2.2em 0; }

  /* パスワード保護 */
  .c-pw__btn { padding:10px 12px; }
  .c-pw__box { padding:18px 20px; margin-bottom:30px; }
  .c-pw__box-input { width:180px; margin-bottom:6px; }
}


/* ----------------------------------------------------------------------
 pagebuilder
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
  .post_content .pb_catchcopy { font-size:20px; line-height:1.5; }
  .post_content .pb_headline { font-size:20px; line-height:1.5; }
}

@media only screen and (max-width:1024px) {
body.single-post #main_col {
  display: block;
}

body.single-news #main_col {
  display: block;
}

body.page-template-lp #main_col {
  display: block;
}
body.single-introduce #main_col {
  display: block;
}

body.page-template-default #main_col {
  display: block;
}
}

