@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 2em 0; }
.post_content h1, .post_content h2, .post_content h3, .post_content h4, .post_content h5, .post_content h6 { clear:both; line-height:1.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; 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; 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; }
.post_content .dp-google-map img{ max-width: none; }

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

/* ----------------------------------------------------------------------
クラシックエディターのテーブルの横スクロール対応
---------------------------------------------------------------------- */
@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.2');
    src: url('../fonts/design_plus.eot?v=1.2#iefix') format('embedded-opentype'),
         url('../fonts/design_plus.woff?v=1.2') format('woff'),
         url('../fonts/design_plus.ttf?v=1.2') format('truetype'),
         url('../fonts/design_plus.svg?v=1.2#design_plus') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
  font-family: 'tiktok_x_icon';
  src: url('../fonts/tiktok_x_icon.eot?v=1.0');
  src: url('../fonts/tiktok_x_icon.eot?v=1.0#iefix') format('embedded-opentype'),
       url('../fonts/tiktok_x_icon.woff?v=1.0') format('woff'),
       url('../fonts/tiktok_x_icon.ttf?v=1.0') format('truetype'),
       url('../fonts/tiktok_x_icon.svg?v=1.0#tiktok_x_icon') format('svg');
  font-weight: normal;
  font-style: normal;
}

/* ----------------------------------------------------------------------
 Column layout - カラムレイアウト
---------------------------------------------------------------------- */
.post_content .post_row { margin-left:-15px; margin-right:-15px; line-height: 2; margin-bottom: 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; margin: 20px 0; border: 1px solid #ddd; word-wrap: break-word; max-width: 100%; background: #fafafa; }
.cardlink_thumbnail { float: left; margin-right: 20px; width:120px; }
.cardlink_content { line-height: 1.6; }
.cardlink_timestamp { display: inline; margin: 0; padding: 0; vertical-align: top; color: #222; line-height: 1.6; font-size: 12px; }
.cardlink_title { font-size: 14px; margin: 0 0 5px; }
.cardlink_title { color: red; }
.cardlink_title br { display: none; }
.cardlink_title a { font-weight: bold; color: #000; text-decoration: none; }
.cardlink_title a:hover { text-decoration: underline; }
.cardlink_excerpt { color: #333; font-size: 12px; overflow: hidden; line-height: 1.8; }
.cardlink_footer { clear: both; }
.clear { clear: both; }
.cardlink_title{
	font-weight: 600;
	}
	
	.cardlink{
		display: flex;
		align-items: center;
	}
	
	.cardlink_thumbnail{
            flex: 0 0 120px;
            aspect-ratio: 1;
	}
@media only screen and (max-width: 767px) {
	.cardlink_thumbnail { flex: 0 0 120px; aspect-ratio: 1;}
	.cardlink_timestamp { line-height: 2.4; vertical-align: middle; }
	.cardlink_excerpt { float: none; display: none;}
}

.cardlink_thumbnail img {
	width: 100%;
	object-fit: cover;
}



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

/* ----------------------------------------------------------------------
 汎用スタイルの追加
 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 -------------------------- */

.share-top  { margin-bottom: 20px;}
.share-btm  { margin: 30px 0; }

@media screen and (max-width:800px) {
  .share-top  { margin:20px 0 20px 0; }
  .share-btm { margin:20px 0; }
}

.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; min-height: 32px; }

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

.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; }
.single_share .share-type1 .line_button a,
.single_share .share-type3 .line_button a { background:#00B900; border-color:#00B900; }
.single_share .share-type1 .note_button a,
.single_share .share-type3 .note_button a { background:#fff; border:1px solid #ddd; color:#000; box-sizing:content-box; top: -1px; }

@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 .line_button a:hover,
  .single_share .share-type3 .line_button a:hover { background:#009100; }
  .single_share .share-type1 .note_button a:hover,
  .single_share .share-type3 .note_button a:hover { background:#eee; border-color:#ddd; color:#000; }
  .single_share .share-type1 a:hover,
  .single_share .share-type3 a:hover { color:#fff; text-decoration:none; }
  
  .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 .line_button a:hover,
  .single_share .share-type4 .line_button a:hover { background:#00B900; border-color:#00B900; }
  .single_share .share-type2 .note_button a:hover,
  .single_share .share-type4 .note_button a:hover { background:#000000; border-color:#000000; }
  .single_share .share-type2 .note_button a:hover:before,
  .single_share .share-type4 .note_button a:hover:before {
    content: '';
    display: inline-block;
    width: 0.9em;
    height: 0.9em;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 100 100'%3E%3Cpath d='M10 10.4968C25.408 10.4968 46.504 9.70479 61.648 10.1208C81.952 10.6408 89.624 19.5048 89.888 41.3448C90.152 53.7208 89.888 89.1048 89.888 89.1048H67.896C67.896 58.1368 68.008 53.0168 67.896 43.2568C67.632 34.6568 65.2 30.5768 58.584 29.7928C51.592 29.0088 31.992 29.6808 31.992 29.6808V89.1448H10V10.4968Z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center; top:0px;
  }
  .single_share .share-type2 a:hover,
  .single_share .share-type4 a:hover { color:#fff; text-decoration:none; }
  .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";

/* ----------------------------------------------------------------------
 レイアウト
---------------------------------------------------------------------- */
@media only screen and (max-width:1279px) {
  body { min-width:320px; }
  #left_col { width:-webkit-calc(100% - 4.3478% - 300px); width:-moz-calc(100% - 4.3478% - 300px); width:calc(100% - 4.3478% - 300px); }
  #side_col { width:300px; }
  #main_col, .header_inner, #bread_crumb ul, #header_slider, #header_image,
  #footer_top .footer_inner, #footer_bottom .footer_inner, #footer_widget .footer_inner { width:89.84375%; }
}

@media only screen and (max-width:991px) {
  #left_col, #side_col, #header_slider, #header_image,
  #footer_top .footer_inner, #footer_bottom .footer_inner { width:100%; }
  #left_col, #side_col { float:none !important; }
  #main_col, .header_inner, #bread_crumb ul, #footer_widget .footer_inner { width:initial; width: auto; padding:0 22px; }
  #main_col { margin-bottom:50px; }
}

@media only screen and (max-width:767px) {
  #main_col { margin-bottom:0; }
}

/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
  /* 共通ヘッドライン（背景あり） */
  .headline_bg_l { /* padding:15px 22px; */ padding:15px; font-size:16.5px; }
  .headline_bg_l span { font-size:12px; position:relative; top:-1.5px; margin-left:7.5px; }
  .headline_bg_l a { font-size:12px; margin-top:3px; }
  .headline_bg_l a:after { font-size:12px; }
  .headline_bg { padding:16.25px 22px; font-size:14px; }
  .headline_bg a { font-size:12px; margin-top:2px; padding:0 18px 0 0; }
  .headline_bg a:after { font-size:12px; }
}


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

@media only screen and (max-width:1279px) {
  .header_fix.fix_top #header { width:100%; min-width:initial; min-width: auto; }
}

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

  /* メニューボタン */
  a.menu_button {
    position:absolute; right:0px; z-index:9; text-align: center;
    display:inline-block; font-size:11px; 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 {
    font-family:'design_plus'; color:#000; 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;
  }
  a.menu_button:before { content:'\f0c9'; }
  a.menu_button.active { background:rgba(226,190,166,.8); }

  /* ロゴ */
  #header_logo img { max-height:50px; }

  /* グローバルメニュー */
  #global_menu { display:none; clear:both; width:100%; margin:0; top:60px; left:0; position:absolute; z-index:9; background:#e3d0c3; -webkit-box-shadow:1px 2px 1.5px rgba(0, 0, 0, 0.1); -moz-box-shadow:1px 2px 1.5px rgba(0, 0, 0, 0.1); box-shadow:1px 2px 1.5px rgba(0, 0, 0, 0.1); }
  #global_menu ul { margin:0; width:100%; text-align:left; }
  #global_menu li, #global_menu > ul > li { display:block; width:100%; border-bottom:1px solid rgba(255,255,255,.5); }
  #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:0px 14px; height:50px; line-height:50px; overflow:hidden; text-decoration:none;
    color:#fff !important; font-size:13px;
    -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 { color:#fff; background:#c2aa99; }
  #global_menu ul ul a { padding-left:28px; background:rgba(255,255,255,.15); }
  #global_menu ul ul ul a { padding-left:42px; background:rgba(255,255,255,.3); }
  #global_menu ul ul ul ul a { padding-left:55px; background:rgba(255,255,255,.45); }
  #global_menu li.menu-item-has-children { position:relative; }
  #global_menu .child_menu_button { display:block; position:absolute; text-align:center; width:60px; height:49px; right:0px; top:1px; z-index:5; cursor:pointer; }
  #global_menu .child_menu_button .icon:before {
    content:'+'; font-size:13px; color:#fff; text-align:center;
    display:block; width:20px; height:20px; line-height:20px; border:1px solid #eee; border-radius:100%;
    position:absolute; left:20px; top:15px;
  }
  #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 { content:'-'; }
  #global_menu li.menu-item-has-children.open > ul { display:block; }

  /* ヘッダー固定 */
  .mobile_fix_top.header_fix #header {
    position:fixed; width:100%; top:0px; left:0px; z-index:200; background:rgba(226,190,166,.8);  border-top:none !important;
    -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_logo #logo_image_fixed, .mobile_fix_top.header_fix #header_logo #logo_text_fixed { display:block; }
  .mobile_fix_top.header_fix #header_logo #logo_image, .mobile_fix_top.header_fix #header_logo #logo_text { display:none; }
  .mobile_fix_top.header_fix #header_logo .logo a { color:#fff; text-decoration:none; }
  .mobile_fix_top.header_fix #header a.menu_button.active { background-color:transparent !important; }
  .mobile_fix_top.header_fix a.menu_button:before { color:#fff; }
  .mobile_fix_top.header_fix #global_menu a { color:#fff; }

  /* パンくずリンク */
  #bread_crumb { margin:10px 0 15px 0; height:initial; height: auto; font-size:11px; line-height:1.6; }
  #bread_crumb li.home a:before { font-size:11px; }
  #bread_crumb li { font-size:11px; }
  #bread_crumb li:after { font-size:9px; bottom:0; }
}


/* ----------------------------------------------------------------------
 サイドコンテンツ
---------------------------------------------------------------------- */
@media only screen and (max-width:991px) {
  .side_widget { margin:0 0 30px 0; font-size:12px; }
  .side_headline { margin:0 0 18px 0; padding:15px 22px; }
  .side_widget ul { margin:0 0 0 14px; }
  .side_widget li ul { margin:8px 0 0 10px; }

  /* デザインされた記事一覧１ */
  /* .styled_post_list1 li { padding:7px 0; } */
  .styled_post_list1 .image { float:left; width:80px; height:80px; overflow:hidden; }
  .styled_post_list1 .info { margin:0 0 0 90px; padding:10px 0 0 0; height:70px; }
  .styled_post_list1 .date { color:inherit; }
  .styled_post_list1_tabs li { background:#f7f7f7; }

  /* 開閉式カテゴリー一覧 */
  /* .tcdw_category_list_widget .side_headline { margin-bottom:5px; } */
  .collapse_category_list { margin:0 !important; }
  /*.collapse_category_list li { border-bottom:none; } */
  /* .collapse_category_list li li { border-top:none } */
  .collapse_category_list li a { padding:10px 10px 10px 14px; }
  .collapse_category_list ul { margin:0 !important; }
  .collapse_category_list .children a { padding-left:24px; }
  .collapse_category_list .children .children a { padding-left:34px; }

  /* コースバナーリスト */
  .tcdw_course_list_widget .course_list { margin:0 !important; }
  .tcdw_course_list_widget .course_list li .caption { padding:7px 20px; font-size:16.5px; }

  /* バナーリスト */
  .side_widget.tcdw_banner_list_widget .side_headline { font-size:16.5px; }
  .side_widget.tcdw_banner_list_widget .desc { line-height:2; }
  .side_widget.tcdw_banner_list_widget .desc p { margin:0 0 1em 0; }
  ul.banner_list { margin:0 !important; }
  .side_widget.tcdw_banner_list_widget ul.banner_list { margin-top:18px; }
  ul.banner_list li .caption { font-size:16.5px; }
}


/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */
@media only screen and (max-width:991px) {
  /* logo */
  #footer_logo .logo { font-size:24px; }

  /* 住所 */
  #footer_address { font-size:12px; }
  #footer_address span { display:block; margin:0 !important; }

  /* SNSボタン */
  #footer_social_link { position:static; margin:20px 0; }
  #footer_social_link li a { width:22px; height:22px; }

  #footer_social_link li:before { color:#000; font-size:15px; top:4px; left:3px; }

  /* コピーライト */
  #copyright { padding:15px 10px; font-size:10px; }
  #copyright span { display:none; }

  /* ページ上部へ戻るボタン */
  #return_top a { width:45px; height:45px; }
  #return_top a:before { font-size:14px; }

  /* フッターウィジェット */
  #footer_widget .footer_inner { padding-top:30px; padding-bottom:1px; text-align:left; }
  .footer_headline { margin:0 0 12px 0; }
  .footer_widget { width:46%; margin:0 2% 30px 2%; }
  .footer_widget.widget_nav_menu { width:23%; margin:0 0 30px 2%; }
}

@media only screen and (max-width:767px) {
  /* フッターウィジェット */
  .footer_widget { width:100%; margin:0 0 30px 0; }
  .footer_widget.widget_nav_menu { width:49%; margin:0 0 30px 1%; }
  .footer_widget .collapse_category_list { border-top:none; }
}


/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */
@media only screen and (max-width:991px) {
  /* スライダー */
  #header_slider .slick-dots { bottom:14px !important; }
	#header_slider .slick-arrow { display:none!important; }
	#header_slider .caption .button { margin-top:2px; }

  /* Topics */
  #index_topics { margin:0 -22px 30px -22px; height:60px; overflow:hidden; }
  #index_topics .headline { display:none; }
  #index_topics ol li { margin:0 22px; height:60px; line-height:1.6; font-size:12px; }
  #index_topics ol li a { display:block; height:60px; position:relative; }
  #index_topics ol li a span { display:block; max-height:3.2em; overflow:hidden; position:absolute; top:50%;
    -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); -ms-transform:translateY(-50%); -o-transform:translateY(-50%); transform:translateY(-50%);
  }
  #index_topics ol .entry-date { margin-right:1em; }

  /* コンテンツ1 */
  #index_content1 .caption .headline { font-size:20px; line-height:1.4; }
  #index_content1 .caption { font-size:12px; line-height:2; }
}

/* スライダー動画をデバイス縦幅に合わせて表示したい場合 */
/*
@media screen and (max-width:767px){
  #header_slider, .vegas-video{ height:calc(100vh - 120px) !important; }
  .slick-list, .slick-track, .slider_video_wrapper{ height:100%; }
}
*/

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

  /* コンテンツ1 */
  #index_content1 { margin:30px 0; }
  #index_content1.columns-2, #index_content1.columns-3 { display:block; }
  #index_content1.columns-2 .box { width:100%; }
  #index_content1.columns-3 .box { width:100%; }
  #index_content1 .box { margin-bottom:20px; }
  #index_content1 .caption { font-size:12px !important; line-height:2; }
  #index_content1 .image .caption { width:60%; height:72%; padding:12px 16px; overflow:hidden; background:rgba(255,255,255,0.8); position:absolute; top:14%; left:8%; }
  #index_content1 .noimage .caption { width:100%; height:auto; padding:0; position:static; }
  #index_content1 .caption .headline { font-size:20px !important; line-height:1.4; }
  #index_content1 .caption p { margin:0 0 2em 0; }

  /* コンテンツ2 */
  #index_content2 { margin:30px 0; text-align:center; }
  #index_content2 .headline { margin:0 0 8px 0; font-size:20px !important; line-height:1.5; }
  #index_content2 .desc { font-size:12px; line-height:2; margin:0 0 2em 0;}

  /* コース */
  #index_course { margin:30px 0; }
  #index_course li { margin:0 0 5px 0; padding:0; width:100%; }
  #index_course li.noimage .image:after { font-size:12px; }
  #index_course li .caption { padding:7px 20px; font-size:16.5px; }

  /* お知らせ/キャンペーン */
  #index_news { margin:30px 0; }
  #index_news.columns-2 { display:block; }
  #index_news.columns-2 .index_news { width:100%; }
  #index_news ol { margin:0 0 18px 0; }
  #index_news li { line-height:1.6; }
  #index_news .date { display:block; padding:12px 15px 6px; font-size:10px; font-weight:300; position:static;
    -webkit-transform:none; -moz-transform:none; -ms-transform:none; -o-transform:none; transform:none;
  }
  #index_news .title a { display:block; padding:0 15px 12px; text-decoration:none; position:relative; }
  #index_news .no_date .title a { padding-top:12px; }

  /* お客様の声 */
  #index_voice { margin:30px 0; }
  #index_voice li { display:block; width:100%; }
  #index_voice li a { padding:15px 18px; min-height:100px; }
  #index_voice li .image { margin:0 18px 15px 0; }
  #index_voice li .info { height:auto; overflow:initial; }
  #index_voice li .info p { margin:0; clear:left; max-height:6em; overflow:hidden; }
  #index_voice li .info .voice_name { margin-top:50px;
    -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); -ms-transform:translateY(-50%); -o-transform:translateY(-50%); transform:translateY(-50%);
  }
  #index_voice li .info .voice_name span { display:block; }
  #index_voice li.has_post_thumbnail .info { margin-left:0; width:initial; width: auto; float:none; }

  /* ブログ */
  #index_blog { margin:30px 0; padding:0 22px 90px 22px; position:relative; }
  #index_blog .headline { margin:0; padding:30px 0; font-size:24px; font-weight:400; line-height:1.4; text-align:center; }
  a.index_blog_button { float:none; padding:15px 22px; min-width:120px; line-height:1; font-size:12px; text-align:center; position:absolute; bottom:30px; left:50%;
    -webkit-transform:translateX(-50%); -moz-transform:translateX(-50%); -ms-transform:translateX(-50%); -o-transform:translateX(-50%); transform:translateX(-50%);
  }
  a.index_blog_button span { position:relative; }
  a.index_blog_button span:after { font-size:12px; margin:-0.45em 0 0 0; }

  #index_blog_list { margin:0; padding:0; }
  #index_blog_list > li { width:100%; margin:0 0 25px 0; }
  #index_blog_list > li:nth-child(3n+1) { margin-left:0; }
  #index_blog_list li .info { padding:15px 15px 22px; }
  #index_blog_list li .title { font-size:14px; line-height:2; height:auto }
  #index_blog_list li .meta { margin-top:8px; }
  #index_blog_list li .meta li { margin:0 10px 0 0; font-size:10px; }
  #index_blog_list li .meta .category span { min-width:60px; padding:0 10px; }
  #index_blog_list li .meta .date { font-size:10px; }

  /* 営業日 */
  #index_business_day { margin:30px 0; }
  
    /* フリースペース */
    #index_freespace { margin:30px 0; }
    #index_freespace .headline { margin:0 0 8px 0; font-size:20px !important; line-height:1.5; text-align:center; }
    #index_freespace .desc { font-size:12px; line-height:2; margin:0 0 2em 0;text-align:center;  }
}

/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
  /* コンテントヘッダー */
  .page_content_header { margin:0 0 30px 0; }
  .page_content_header img { display:block; width:100%; height:auto; }
	.content_header { margin-bottom:1px; }
}


/* ----------------------------------------------------------------------
 アーカイブページ
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
  /* ヘッドライン */
  #archive_headline { margin:0 -22px; padding:15px 22px; }

  /* アーカイブ */
  #archive_wrapper { margin:0 -22px 50px -22px; padding:0 22px 25px 22px; }
  #post_list { padding:5px 0; }
  #post_list > li { width:100%; margin:25px 0; display:block; }
  #post_list li .info { padding:15px 18px 22px; background:#fff; }
  #post_list li .title { font-size:14px; line-height:2; height:auto; }
  #post_list li .meta li { font-size:10px; }
  #post_list li .meta .category span { padding:0 10px; min-width:60px; }
  #post_list li .meta .date { font-size:10px; }

  /* ページング */
  #archive_wrapper .page_navi { margin:0; padding-bottom:5px; }
}


/* ----------------------------------------------------------------------
 記事
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
  #article { margin:0 0 30px 0; }

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

  /* 日付・カテゴリー */
  #post_meta_top li.category a { min-width:60px; min-height:28px; padding:0 10px; font-size:10px; }
  #post_meta_top li.date { font-size:10px; }

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

  /* 記事本文 */
  .post_content { font-size:14px; }
	.post_content table { margin-bottom:20px; }

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

  /* メタ情報 */
  #post_meta_bottom { margin:0 0 30px; padding:0; background:transparent; }
  #post_meta_bottom li { display:block; margin:0 0 5px 0; padding:0 0 0 20px; border-right:none; }

  /* 次の記事、前の記事 */
  #previous_next_post { margin:0 0 30px 0; }
  #previous_next_post a { padding:15px 0; height:auto; text-align:center; background:transparent; }
  #previous_next_post a .title { display:none; }
	#previous_next_post .prev_post, #previous_next_post .next_post { width:50%; border:1px solid #eee; box-sizing:border-box; }
  #previous_next_post .prev_post a { padding-left:12%; }
	#previous_next_post .prev_post + .next_post { border-left:0; }
  #previous_next_post .next_post a { padding-right:12%; }
  #previous_next_post .prev_post a:before { content:'\e90f'; left:4%; text-align:left; }
  #previous_next_post .next_post a:before { content:'\e910'; right:4%; text-align:right; }
  #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; }
  #previous_next_post2 { margin:30px 0 0 0; text-align:center; }
  #previous_next_post2 a { display:inline-block; margin:0 2px 4px 2px; padding:0 30px; min-width:150px; line-height:40px; }

  /* 広告 */
  #single_banner_area { margin:0 0 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:0 0 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 { margin:0 -22px 30px -22px; }
  #related_post ol { margin:0; padding:25px 4px 5px 4px; }
  #related_post li { width:45%; margin:0 0 16px 3.33%; }
  #related_post li .image { margin:0 0 8px 0; }
  #related_post li .title { font-size:12px; line-height:1.6; max-height:3.2em; }
}

/* ----------------------------------------------------------------------
 お知らせ
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
  /* お知らせ一覧 */
  #recent_news { margin:0 0 30px 0; }
  #recent_news ol { border-left:none; border-right:none; }
  #recent_news li { margin:10px 0; }
  #recent_news li a { display:block; min-height:initial; min-height: auto; }
  #recent_news .image { width:100%; margin:0; }
  #recent_news .info { padding:14px 15px 14px; font-size:12px; line-height:1.6; border:1px solid #ddd; border-bottom:0; }
  #recent_news .has_post_thumbnail .info { padding-left:15px; width:initial; width: auto; box-sizing:border-box; border-top:0; }
  #recent_news .info .date { font-size:10px; }
  #recent_news .info .title { font-size:14px; }

  /* お知らせ詳細 */
  .single-news #post_meta_top .date, .single-campaign #post_meta_top .date { min-width:60px; padding:0 10px; }
}


/* ----------------------------------------------------------------------
 コース
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
  /* コース一覧 */
  .course_categories { margin:0 0 20px 0; }
  /*.course_categories a { width:calc(50% - 1px); }*/
  .course_categories a li { padding:15px 10px; font-size:12.5px; }
  .course_category { margin:30px 0; }
  .course_category .course_category_headline { margin:0 0 28px 0; font-size:24px; font-weight:400; text-align:center; line-height:1.4; }
  .course_category .course_category_headline span { display:block; margin-left:0; font-size:12.5px; font-weight:300; text-align:center; position:static; }
  .course_category li { margin:0 0 20px 0; }
  .course_category li a { display:block; min-height:initial; min-height: auto; }
  .course_category .image { width:initial; width: auto; margin:0 0 8px 0; }
  .course_category .info { width:initial; width: auto; margin:0; padding:15px 20px 21px; }
  .course_category .info .headline { margin:0 0 6px 0; font-size:20px; }
  .course_category .info .headline span { display:inline-block; margin-left:12px; font-size:12.5px; position:relative; top:-3px; }
  .course_category .info .desc { font-size:12px; line-height:2; }

  /* コース詳細 */
  /* .single-course .content_header { margin-bottom:28px; } */
  .single-course .content_header { margin-bottom:12px!important; }
}


/* ----------------------------------------------------------------------
 お客様の声
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
  /* お客様の声一覧 */
  ol#voice_list { margin:0 0 30px 0; }
  ol#voice_list li { min-height:initial; min-height: auto; }
  ol#voice_list .voice_image { width:100px; height:100px; margin:15px 18px; }
  ol#voice_list .info { padding:15px 15px 15px 18px; }
  ol#voice_list .info p { margin:0 0 1em 0; clear:left; }
  ol#voice_list .voice_name span { display:block; }
  ol#voice_list .has_post_thumbnail .info { width:initial; width: auto; float:none; }
  ol#voice_list .has_post_thumbnail .voice_name { margin-top:50px;
    -webkit-transform:translateY(-50%); -moz-transform:translateY(-50%); -ms-transform:translateY(-50%); -o-transform:translateY(-50%); transform:translateY(-50%);
  }
  ol#voice_list .info .voice_button { text-align:center; }
  ol#voice_list .info .voice_button a { min-width:150px; }

  /* お客様の声詳細 */
  .single-voice #article > .headline { margin-bottom:0; }
  .voice_header { margin:0 0 30px 0; padding:20px 0 0 0; border:1px solid #ddd; border-top:none; }
  .voice_header #post_title, .voice_header > p { padding:0 20px; }
  .voice_info { margin:30px 0 0 0; }
  .voice_info .voice_image img { display:block; margin:30px auto; width:initial; width: auto; max-width:100%; height:auto; }
  .voice_info.has_image .voice_image { width:100%; float:none; }
  .voice_info.has_image .voice_user { width:100%; float:none; }
  .voice_info .voice_user .voice_name { font-size:1em; }
  .voice_info .voice_user table th, .voice_info .voice_user table td { border-width:1px 0 0 0; }
  .voice_info .voice_user table th + td { border-left-width:1px; }
  dl.interview dt { margin:30px 0 0 0; font-size:1em; }
  .voice_course { margin:30px 0 0 0; padding:18px 30px 30px 30px; }
  .voice_course .course_button a { padding:12px 38px; }
}


/* ----------------------------------------------------------------------
 スタッフ
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
  /* スタッフ一覧 */
  ol#staff_list { margin:0 0 30px 0;  }
  ol#staff_list li a { min-height:initial; min-height: auto; }
  ol#staff_list .image { margin:16px 19px; width:50%; max-width:130px; float:left; }
  ol#staff_list .info { padding:16px 19px; }
  ol#staff_list .has_post_thumbnail .info { width:initial; width: auto; float:none; }
  ol#staff_list .info .staff_name { display: block; margin:0; font-size:16px; }
  ol#staff_list .info .staff_position { display:block; margin:0 0 1em 0; font-size:12px; }
  ol#staff_list .info p { margin:0; clear:left; }

  /* スタッフ詳細 */
  .single-staff #article > .headline { margin-bottom:0; }
  .staff_info { margin:0 0 30px 0; padding:0; border:1px solid #ddd; border-top:none; }
  .staff_info.has_image .staff_image { margin:18px 16px; width:50%; max-width:180px; float:left; }
  .staff_info.has_image .staff_detail { width:initial; width: auto; float:none; }
  .staff_info .staff_detail .staff_name { display:block; margin:0; padding:18px 16px; font-size:16px; clear:none; }
  .staff_info .staff_detail .staff_social_link { display:block; margin:0; padding:0 16px 18px 16px; width:initial; width: auto; }
  .staff_info.has_image .staff_name, .staff_info.has_image .staff_social_link {padding-left:0; }
  .staff_info .staff_detail .staff_social_link li a { display:block; overflow:hidden; width:14px; height:14px; position:relative; }
  .staff_info .staff_detail .staff_social_link li a span { display:none; }
  .staff_info .staff_detail .staff_social_link li a:before { font-size:14px; }
  .staff_info .staff_detail table { clear:left; }
  .staff_info .staff_detail table th, .staff_info .staff_detail table td { border-width:1px 0 0 0; }
  .staff_info .staff_detail table th + td { border-left-width:1px; }
  .single-staff #related_post { margin-top: 30px; }
  .single-staff #previous_next_post2 { display:-webkit-flex; display:flex; }
  .single-staff #previous_next_post2 a { width:50%; min-width:140px; margin:0; padding:0; line-height:48px; color:inherit; background:transparent; border:1px solid #ddd; font-size:12px; }
  .single-staff #previous_next_post2 a:before { color:inherit; }
  .single-staff #previous_next_post2 a + a { border-left:none; }
	.staff_info .staff_detail table th { vertical-align:middle; }
	.staff_info .staff_detail table th, .staff_info .staff_detail table td { line-height:1.5; }
}


/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
@media only screen and (max-width:767px) {
  #comment_headline { margin:30px 0 15px 0; }
  #comment_area, #trackback_area { margin:15px 0px 0; }

  /* コメント・トラックバックのタブ */
  #comment_header { position:relative; margin:0 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; margin:0 0 2em 0; }
}

/* ----------------------------------------------------------------------
 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:767px) {
body.single-post  #main_col {
  display: block;
}

body.single-post  #left_col {
  width: 100%;
}


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

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

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

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

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

.pb_pricemenu{ white-space: normal; }

}
@charset "UTF-8";

/**
 * スマホ用固定フッターバーの設定
 */
@font-face {
  font-family: 'design_plus';
  src: url('../fonts/design_plus.eot?v=1.3');
  src: url('../fonts/design_plus.eot?v=1.3#iefix') format('embedded-opentype'),
       url('../fonts/design_plus.woff?v=1.3') format('woff'),
       url('../fonts/design_plus.ttf?v=1.3') format('truetype'),
       url('../fonts/design_plus.svg?v=1.3#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.0');
  src: url('../fonts/tiktok_x_icon.eot?v=1.0#iefix') format('embedded-opentype'),
       url('../fonts/tiktok_x_icon.woff?v=1.0') format('woff'),
       url('../fonts/tiktok_x_icon.ttf?v=1.0') format('truetype'),
       url('../fonts/tiktok_x_icon.svg?v=1.0#tiktok_x_icon') format('svg');
  font-weight: normal;
  font-style: normal;
}
.icon-file-text:before { content: "\f15c"; }
.icon-share-alt:before { content: "\f1e0"; }
.icon-phone:before { content: "\f095"; }
.icon-envelope:before { content: "\f0e0"; }
.icon-tag:before { content: "\f02b"; }
.icon-pencil:before { content: "\f040"; }
.icon-close:before { content: "\e91a"; }

.dp-footer-bar {
  background: #ffffff;
  border-top: 1px solid #ddd;
  display: flex;
  flex-wrap: wrap;
  font-size: 10px;
  position: fixed;
  bottom: 0;
  table-layout: fixed;
  text-align: center;
  width: 100%;
  z-index: 9998;
}
.dp-footer-bar a {
  display: block;
  padding: 10px 0;
}

.dp-footer-bar-item {
  flex: 1;
}
.dp-footer-bar-item + .dp-footer-bar-item {
  border-left: 1px solid #ddd;
}
.dp-footer-bar-item:only-child .dp-footer-bar-icon {
  display: block;
  position: relative;
}
.dp-footer-bar-item:only-child .dp-footer-bar-icon:before {
  position: absolute;
  right: 15px;
}
.dp-footer-bar-icon:before {
  display: block;
  font-family: "design_plus";
  font-size: 16px;
  margin-bottom: .5em;
}

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

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

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

.share { text-align: center; }

.share-button {
  float: left;
  vertical-align: center;
  width: 50px;
  height: 50px;
}
.share-button--rounded-square { 
	border-radius: 2px;
	overflow: hidden;
}
.share-button + .share-button { margin-left: 3px; }
.share-button a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.share-button a img { width:100%; height:auto; }
.hatena-bookmark-button{ background: #00A4DE; border-radius: 4px; }