@charset "UTF-8";


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


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

.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";

/* ----------------------------------------------------------------------
 レイアウト
---------------------------------------------------------------------- */
@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; }
}
@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; }