@charset "UTF-8";

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

/* ----------------------------------------------------------------------
 Column layout - カラムレイアウト
---------------------------------------------------------------------- */
.post_row {
line-height:2.4;
display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
-ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
-ms-align-items:flex-start; -webkit-align-items:flex-start; align-items:flex-start;
}
.post_col {
margin-bottom:2em !important;
-ms-flex: 1 1 0%; -webkit-flex: 1 1 0%; flex: 1 1 0%;
}
.post_col-2 { margin-right:50px; width:calc(50% - 25px);}
.post_col-3 { margin-right:25px;}
.post_col:last-of-type { margin-right:0;}
@media screen and (max-width: 768px) {
.post_row { display:block; line-height:2;}
.post_col-2 { margin-right:0px; width:auto;}
.post_col-3 { margin-right:0px;}
}

/* ----------------------------------------------------------------------
 headline - 見出しのスタイル
---------------------------------------------------------------------- */
.post_content .style3a, .post_content .style3b, .post_content .style4a, .post_content .style4b, .post_content .style5a, .post_content .style5b, .post_content .style6 { font-weight: 500; line-height:1.6;}
/* h2 */
.style2a { margin:65px 0 30px !important; padding:0 0 .9em !important; border-bottom:3px solid #000; font-size:26px !important;}
.style2b { margin:65px 0 30px !important; padding:.48em 1em .47em !important; background:#000; color:#fff; font-size:26px !important;}
/* h3 */
.style3a { margin:65px 0 30px !important; padding:1.2em .15em !important; border-top:1px solid #ccc; border-bottom:1px solid #ccc; font-size:22px !important;}
.style3b { margin:65px 0 30px !important; padding:1.1em 1.4em 1.15em !important; border:1px solid #ddd; border-top:3px solid #000; background:#fafafa; font-size:22px !important;}
/* h4 */
.style4a { margin:65px 0 30px !important; padding:.4em 0 .4em 1.2em !important; border-left:3px solid #000; font-size:20px !important; font-weight:500;}
.style4b { -webkit-box-sizing:border-box; box-sizing:border-box; position:relative; margin:65px 0 30px !important; padding:.8em 1.5em .8em !important; border-left:#000 3px solid; font-size:20px !important;}
.style4b:after { position:absolute; top:0; left:0; width:100%; height:calc(100% - 2px); border:1px solid #ddd; border-left:none; content: '';}
/* h5 */
.style5a { margin:65px 0 30px !important; padding:.85em 1.5em .8em !important; border:1px solid #ddd; background:#fafafa; font-size:18px !important;}
.style5b { margin:65px 0 30px !important; padding:.85em 1.5em .8em !important; background:#000; color:#fff; font-size:18px !important;}
/* h6 */
.style6 { position:relative; margin:65px 0 30px !important; padding:0 .8em 0 1.3em !important; color:#000; font-size:16px !important; font-weight:700;}
.style6:before { position:absolute; top:.35em; left:0; width:12px; height:12px; background:#000; content:"";}
.balloon { display:block; z-index:0; position:relative; width:auto; min-width:115px; margin:50px 0 22px; padding:.5em 18px .5em; clear:both; border-bottom:0; background:#222; color:#fff; font-size:20px; font-weight:400; text-align:left;}
.balloon:after { display:block; position:absolute; bottom:-10px; left:30px; width:0px; height:0px; margin-left:-10px; border-width:10px 10px 0 10px; border-style:solid; border-color:#222 transparent transparent transparent; content:"";}
@media screen and (max-width: 767px) {
.style2a { margin:30px 0 20px !important; padding:0 0 .6em !important; font-size:20px !important;}
.style2b { margin:30px 0 20px !important; padding:.42em .7em .41em !important; background:#000; color:#fff; font-size:20px !important;} 
.style3a { margin:30px 0 20px !important; padding:.6em .15em !important; font-size:18px !important;}
.style3b { margin:30px 0 20px !important; padding:.5em .5em .45em .6em !important; font-size:18px !important;}
.style4a { margin:30px 0 20px !important; padding:.4em 0 .4em .8em !important; border-left:2px solid #000; font-size:16px !important;}
.style4b { margin:30px 0 20px !important; padding:.8em 1em .75em !important; border-left:#000 2px solid; font-size:16px !important;}
.style5a { margin:30px 0 20px !important; padding:.8em 1em .75em !important; font-size:15px !important;}
.style5b { margin:30px 0 20px !important; padding:.8em 1em .75em !important; font-size:15px !important;}
}

/* デフォルト見出し+クイックタグ見出しのスタイル */
@media screen and (min-width: 769px) {
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h2,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h3,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h4,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h5,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h6 { margin-top: 3em !important;} 
}
@media screen and (max-width: 768px) {
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h2,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h3,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h4,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h5,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h6 { margin-top: 2.5em !important;} 
}
@media screen and (max-width: 600px) {
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h2,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h3,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h4,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h5,
.post_content :not(h2):not(h3):not(h4):not(h5):not(h6) + h6 { margin-top: 2em !important;} 
}
.post_content h2 { font-size:24px;}
.post_content h3 { font-size:22px;}
.post_content h4 { font-size:20px;}
.post_content h5 { font-size:18px;}
.post_content h6 { font-size:16px;}
@media screen and (max-width: 767px) {
.post_content h2 { font-size:20px;}
.post_content h3 { font-size:18px;}
.post_content h4 { font-size:18px;}
.post_content h5 { font-size:16px;}
.post_content h6 { font-size:14px;}
}
/* Vertical */
.p-vertical { width:100%; margin:70px 0; font-size:36px; line-height:1.4; text-align:center;}
.p-vertical p { display:inline-block; margin:0; font-size:inherit; line-height:inherit; text-align:left; -webkit-writing-mode:vertical-rl; -ms-writing-mode:tb-rl; writing-mode:vertical-rl;}
@media screen and (max-width: 767px) { 
 .p-vertical { margin:33px 0; font-size:24px; line-height:1.3;}
}

/* ----------------------------------------------------------------------
 flame - 囲み枠
---------------------------------------------------------------------- */
.well { margin-bottom:30px; padding:1.1em 2em; border:1px solid #ddd; border-radius:6px; background-color:#fafafa;}
.well2 { margin-bottom:30px; padding:1.1em 2em; border:1px solid #ddd;}
.well3 { margin-bottom:30px; padding:1.1em 2em; border:1px dashed #ddd; background:#fafafa;}
.wl_red { border-color:#ebccd1; background-color:#f2dede; color:#a94442 !important;}
.wl_yellow { border-color:#faebcc; background-color:#fcf8e3; color:#8a6d3b !important;}
.wl_blue { border-color:#bce8f1; background-color:#d9edf7; color:#31708f !important;}
.wl_green { border-color:#d6e9c6; background-color:#dff0d8; color:#3c763d !important;}

@media screen and (max-width: 767px) {
.well, .well2, .well3 { padding:.9em .8em .9em 1em;}
}

/* ----------------------------------------------------------------------
 button - CSSボタンのスタイル
---------------------------------------------------------------------- */
.q_button { -webkit-box-sizing:border-box; box-sizing:border-box; display:inline-block; min-width:200px; max-width:90%; margin:0; padding:.6em 1.3em .5em; background-color:#535353; color:#fff !important; font-size:100%; font-weight:400; text-align:center; text-decoration:none; vertical-align:middle; -webkit-transition:all 0.3s ease-in-out 0s; transition:all 0.3s ease-in-out 0s;}
.q_button:hover, .q_button:focus { background-color:#7d7d7d; color:#fff; text-decoration: none;}

/* Button option */
.rounded { border-radius:6px;}
.pill { border-radius:50px;}
.sz_full { min-width:100px; max-width:100%; display:block; font-size:110%; padding:1em 1.5em .9em;}
.sz_l { min-width:350px; max-width:90%; font-size:110%; padding:.8em 1.5em .7em;}
@media screen and (max-width: 479px) {
.sz_l { -webkit-box-sizing:border-box; box-sizing:border-box; width:100%; min-width:0; max-width:100%;}
}
.sz_s { min-width:100px; max-width:90%; font-size:85%; padding:.4em 1em .3em;}
.bt_red{ background:#c01f0e; color:#fff;}
.bt_red:hover, .bt_red:focus { background-color:#d33929; color:#fff;}
.bt_yellow{ background:#f1c40f; color:#fff;}
.bt_yellow:hover, .bt_yellow:focus { background-color:#f9d441; color:#fff;}
.bt_blue{ background:#2980b9; color:#fff;}
.bt_blue:hover, .bt_blue:focus { background-color:#3a91c9; color:#fff;}
.bt_green{ background:#27ae60; color:#fff;}
.bt_green:hover, .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:567px) {
.rps_table tr { display:block; margin-bottom:1.5em;}
.rps_table th, .rps_table td{ display:list-item; list-style-type:none; border:none;}
.rps_table td { border-top: none;}
}

/* ----------------------------------------------------------------------
 Cardlink style - カードリンクのスタイル
---------------------------------------------------------------------- */
.cardlink {
word-wrap:break-word; margin:15px 0 50px; padding:20px; border:1px solid #ddd; background:#fff;
display:flex; flex-wrap:wrap; align-items:center;
}
.cardlink + .cardlink { margin-top:-20px;}
.cardlink .image { margin-right:25px;}
.cardlink .image img { width:130px; height:130px; -o-object-fit:cover; object-fit:cover; display:block;}
.cardlink .content { width:calc(100% - 155px); padding-top:5px; font-family:arial, Meiryo;}
.cardlink .title_area { }
.cardlink .meta { display:flex; flex-wrap:wrap; margin:0 0 5px 0;}
.cardlink .meta > p { color:#222; font-size:14px; line-height:1; margin:0 15px 10px 0; position:relative;}
.cardlink .meta > p.date:before { font-family:'design_plus'; content:'\e903'; font-size:16px; margin:0 5px 0 0; top:1.5px; position:relative;}
.cardlink .meta > p.modified_date { margin-right:0;}
.cardlink .meta > p.modified_date:before { font-family:'design_plus'; content:'\e91f'; font-size:16px; margin:0 5px 0 0; top:1.5px; position:relative;}
.cardlink .title { margin:-3px 0 5px 0 !important; padding: 0; font-size:16px; font-weight:600; line-height:1.7;}
.cardlink .title a { text-decoration:none; display:block;}
.cardlink .title a:hover { text-decoration:underline;}
.cardlink .desc { font-size:14px; line-height:1.7; margin:0 0 0 0 !important; max-height:3.4em; overflow:hidden; visibility:visible;}
.cardlink .desc span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2;}
@media screen and (max-width: 800px) {
.cardlink { padding:12px; margin:30px 0 35px !important;}
.cardlink .image { margin-right:15px;}
.cardlink .image img { width:110px; height:110px;}
.cardlink .content { width:calc(100% - 125px);}
.cardlink .title { font-size:14px; margin:0 !important; line-height:1.4; max-height:4.2em; overflow:hidden; visibility:visible;}
.cardlink .title a { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:3;}
.cardlink .desc { display:none;}
.cardlink .meta > p.date:before, .cardlink .meta > p.modified_date:before { top:2px; margin-right:3px;}
}
@media screen and (max-width: 500px) {
.cardlink .meta > p { font-size:12px; margin-right:5px;}
}

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

/* Style for DIVA dark ver. */
.wpcf7 { color:#000;}

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

/* ----------------------------------------------------------------------
 Underline - アンダーライン
---------------------------------------------------------------------- */
.q_underline { background-image: -webkit-linear-gradient(left, transparent 50%, #fff799 50%); background-image: -moz-linear-gradient(left, transparent 50%, #fff799 50%); background-image: linear-gradient(to right, transparent 50%, #fff799 50%); background-position: 0 0.8em; background-repeat: repeat-x; background-size: 200% 0.5em; border: none; border-bottom-color: transparent; -webkit-transition: background 2s ease; -ms-transition: background 2s ease; transition: background 2s ease;}
.q_underline.is-active{ background-position: -100% 0.8em;}

/* ----------------------------------------------------------------------
 Speech balloon - スピーチ
---------------------------------------------------------------------- */
.speech_balloon { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; -webkit-align-items: flex-start; align-items: flex-start;}
.speech_balloon_user { -webkit-flex: 0 0 auto; -ms-flex: 0 0 auto; flex: 0 0 auto; margin-right: 36px; margin-bottom: 2em; min-width: 80px; text-align: center;}
.speech_balloon_user_image { border-radius: 50%; height: 80px !important; width: 80px; object-fit: cover;}
.speech_balloon_user_name { font-size: 87.5%; line-height: 1.2; margin-top: 12px;}
.speech_balloon_user_name:only-child { display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; -webkit-align-items: center; align-items: center; margin-top: 0; min-height: 80px;}
.speech_balloon_text { -webkit-flex: 1 1 auto; -ms-flex: 1 1 auto; flex: 1 1 auto; margin-bottom: 3em; position:relative;}
.speech_balloon_text_inner { background: #fff; border: 2px solid #ddd; border-radius: 10px; line-height: 2; padding: 22px 28px; position: relative;}
.speech_balloon_text_inner > *:last-child { margin-bottom: 0 !important;}

.speech_balloon.right {-webkit-box-orient: beyondtal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse }
.speech_balloon.right .speech_balloon_user { margin-left: 36px; margin-right: 0;}

.speech_balloon_text .before , .speech_balloon_text .after{
border-color: transparent; border-style: solid; pointer-events: none; height: 0; margin-top: -10px; width: 0; position: absolute; right: 100%; top: 40px;
}
.speech_balloon_text .before { border-left-color:inherit; border-width: 8px 0 8px 10px;}
.speech_balloon_text .after { border-right-color:inherit; border-width: 8px 10px 8px 0;}
.speech_balloon.left .before { transform:rotate(180deg);}
.speech_balloon.left .after { margin-right:-3px;}
.speech_balloon.right .before { left:100%;}
.speech_balloon.right .after { left:100%; transform:rotate(180deg); margin-left:-3px;}

/* ----------------------------------------------------------------------
 Google Map
---------------------------------------------------------------------- */
.qt_google_map { width:100%; height:550px; background:#ddd; margin:0 0 35px 0;}
.qt_google_map .qt_googlemap_embed { width:100%; height:550px;}
.qt_google_map .pb_googlemap_custom-overlay-inner { display: -webkit-box; display: -ms-flexbox; display: flex; position: absolute; top: -94px; left: -40px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; width: 100px !important; height: 100px !important; border-radius: 50%; font-size: 18px; text-align: center;}
.qt_google_map .pb_googlemap_custom-overlay-inner::after { display: block; position: absolute; right: 0; bottom: -15px; left: 0; width: 0; height: 0; margin: auto; border-width: 16px 5px 0 5px; border-style: solid; content: "";}
@media screen and (max-width: 750px) {
.qt_google_map { height:320px;}
.qt_google_map .qt_googlemap_embed { height:320px;}
}

/* ----------------------------------------------------------------------
 flame - 囲み枠
---------------------------------------------------------------------- */
.q_frame { line-height:1.8; position: relative; padding:1.3em 2em; margin-bottom:2em; border:1px solid #ddd;}
* + .q_frame { margin-top:2.5em;}
.q_frame_label {
max-width:calc(100% - 2em); line-height: 1.4; font-weight:600;
display:inline-block; padding:0 1em; background:inherit;
position: absolute; top:-0.7em; left:1em;
}
@media (max-width: 767px) {
.q_frame { padding:1em 1.5em;}
.q_frame_label { padding:0 0.5em;} 
}

.well { margin-bottom:30px; padding:1.1em 2em; border:1px solid #ddd; border-radius:6px; background-color:#fafafa;}
.well2 { margin-bottom:30px; padding:1.1em 2em; border:1px solid #ddd;}
.well3 { margin-bottom:30px; padding:1.1em 2em; border:1px dashed #ddd; background:#fafafa;}
.wl_red { border-color:#ebccd1; background-color:#f2dede; color:#a94442 !important;}
.wl_yellow { border-color:#faebcc; background-color:#fcf8e3; color:#8a6d3b !important;}
.wl_blue { border-color:#bce8f1; background-color:#d9edf7; color:#31708f !important;}
.wl_green { border-color:#d6e9c6; background-color:#dff0d8; color:#3c763d !important;}

@media screen and (max-width: 767px) {
.well, .well2, .well3 { padding:.9em .8em .9em 1em;}
}

/* ----------------------------------------------------------------------
 button - CSSボタンのスタイル
---------------------------------------------------------------------- */
.q_custom_button {
max-width: 100%; min-width:270px; height:60px; line-height:1.5; padding:0 1.5em;
display:-webkit-box; display:-ms-flexbox; display:-webkit-inline-flex; display:inline-flex;
-ms-justify-content:center; -webkit-justify-content:center; justify-content:center;
-ms-align-items:center; -webkit-align-items:center; align-items:center;
text-align:center; position:relative; overflow:hidden; font-size:16px; z-index:1;
color:#fff; border-width:1px; border-style:solid; text-decoration: none;
transition: border-color 0.3s ease;
-webkit-box-sizing:border-box; box-sizing:border-box;
}
.q_custom_button:before {
content: ''; display: block; width: 100%; height: calc(100% + 2px);
position: absolute; top: -1px; z-index: -1;
transition-property:background-color, left, opacity;
transition-duration:0.5s;
transition-timing-function:cubic-bezier(0.22, 1, 0.36, 1);
}
.q_custom_button:hover { color:#fff;}

@media (max-width: 767px) {
.q_custom_button { max-height:50px; font-size:14px; min-width:inherit !important; width:240px !important;}
}
.q_button_wrap{ text-align:center; margin: 2em auto;}

/* Button option */
.rounded { border-radius:6px;}
.pill { border-radius:70px;}
.bt_red{ background:#c01f0e; border-color:#c01f0e; color:#fff;}
.bt_red:hover, .bt_red:focus { background-color:#d33929; border-color:#d33929; color:#fff;}
.bt_yellow{ background:#f1c40f; border-color:#f1c40f; color:#fff;}
.bt_yellow:hover, .bt_yellow:focus { background-color:#f9d441; border-color:#f9d441; color:#fff;}
.bt_blue{ background:#2980b9; border-color:#2980b9; color:#fff;}
.bt_blue:hover, .bt_blue:focus { background-color:#3a91c9; border-color:#3a91c9; color:#fff;}
.bt_green{ background:#27ae60; border-color:#27ae60; color:#fff;}
.bt_green:hover, .bt_green:focus { background-color:#39c574; border-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:567px) {
.rps_table tr { display:block; margin-bottom:1.5em;}
.rps_table th, .rps_table td{ display:list-item; list-style-type:none; border:none;}
.rps_table td { border-top: none;}
}

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