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


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


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


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


/* table */
.post_content table { margin:0 0 24px 0; }
.post_content td, .post_content th { border:1px solid #bbb; padding:10px 15px 7px; line-height:2.2; background:#fff; }
.post_content th { background:#ddd; font-weight:normal; }


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

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


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


/* etc */
.post_content .wp-smiley { border:0; margin-bottom:0; margin-top:0; padding:0; }
.post_content address { margin:0 0 24px 0; line-height:2.2; }
.post_content pre { border-left:5px solid #7fc120; font-size:12px; margin:0 0 27px 0; line-height:25px; background:url(css/img/common/pre.gif) repeat left top; padding:0 17px; overflow:auto; }
.post_content .sticky { }
.post_content .mejs-container { margin: 12px 0 25px; }

/* ----------------------- TCD Advanced Style ------------------------ */

/* ----------------------------------------------------------------------
 Column layout - カラムレイアウト
---------------------------------------------------------------------- */
.post_content .post_row { margin-left:-15px; margin-right:-15px; line-height:2; }
.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; }
@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%; }
}
.clearfix:before, .clearfix:after, .post_content .post_row:before, .post_content .post_row:after {
    content: " ";
    display: table;
}
.clearfix:after, .post_content .post_row:after {
    clear: both;
}

/* ----------------------------------------------------------------------
 headline - 見出しのスタイル
---------------------------------------------------------------------- */
.post_content h3, .post_content h4, .post_content h5, .post_content h6 { 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:20px; 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:20px; 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 { line-height:2; 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); }
.well2 { margin:1em 0 30px; padding:1em 1.5em; line-height:2; 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:2.0; 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; }

/* ----------------------------------------------------------------------
 button - CSSボタンのスタイル
---------------------------------------------------------------------- */
.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); }
.q_button:hover, .q_button:focus { text-decoration:none; color:#fff!important; 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 */
.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 { min-width:320px; max-width:95%; }
}
.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:480px) {
    .rps_table tr { display:block; margin-bottom:1.5em; }
    .rps_table th, .rps_table td{ display:list-item; list-style-type:none; border:none; }
}

/* ----------------------------------------------------------------------
 Cardlink style - カードリンクのスタイル
---------------------------------------------------------------------- */
.cardlink { padding: 12px; margin:10px 0; border: 1px solid #ddd; word-wrap: break-word; max-width: 100%; background: #fafafa; }
.cardlink_thumbnail { float: left; margin-right: 20px; width:120px; }
.cardlink_content { line-height: 1.6; }
.cardlink_timestamp { display: inline; margin: 0; padding: 0; vertical-align: top; color: #222; line-height: 1.6; font-size: 12px; }
.cardlink_title { font-size: 14px; margin: 0 0 5px; }
.cardlink_title { color: red; }
.cardlink_title br { display: none; }
.cardlink_title a { font-weight: bold; color: #000; text-decoration: none; }
.cardlink_title a:hover { text-decoration: underline; }
.cardlink_excerpt { color: #333; font-size: 12px; overflow: hidden; line-height: 1.8; }
.cardlink_footer { clear: both; }
.clear { clear: both; }
.cardlink_title{
	font-weight: 600;
	}
	
	.cardlink{
		display: flex;
		align-items: center;
	}
	
	.cardlink_thumbnail{
            flex: 0 0 120px;
            aspect-ratio: 1;
	}
@media only screen and (max-width: 767px) {
	.cardlink_thumbnail { flex: 0 0 120px; aspect-ratio: 1;}
	.cardlink_timestamp { line-height: 2.4; vertical-align: middle; }
	.cardlink_excerpt { float: none; display: none;}
}

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

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

/* ----------------------------------------------------------------------
クラシックエディターのテーブルの横スクロール対応
---------------------------------------------------------------------- */
@media (max-width: 767px) {
  .post_content .s_table{ overflow: auto; white-space: nowrap; margin-bottom: 2em; }
  .post_content .s_table table { margin-bottom: 0; }
 }@charset "UTF-8";

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

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

.single_share{
  margin:30px 0;
}

@media screen and (max-width:800px) {
  .single_share{
    margin:15px 0;
  }
}

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

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

@media(hover: hover) {
  .single_share .share-type1 .twitter a:hover,
  .single_share .share-type3 .twitter a:hover { background:#666; }
  .single_share .share-type1 .facebook a:hover,
  .single_share .share-type3 .facebook a:hover { background:#1f3669;}
  .single_share .share-type1 .hatebu a:hover,
  .single_share .share-type3 .hatebu a:hover { background:#0270ac; }
  .single_share .share-type1 .pocket a:hover,
  .single_share .share-type3 .pocket a:hover { background:#c53648; }
  .single_share .share-type1 .rss a:hover,
  .single_share .share-type3 .rss a:hover { background:#e09900;}
  .single_share .share-type1 .feedly a:hover,
  .single_share .share-type3 .feedly a:hover { background:#5ca449; }
  .single_share .share-type1 .pinterest a:hover,
  .single_share .share-type3 .pinterest a:hover { background:#a42f35; }
    /* line */
  .single_share .share-type1 .line_button a:hover,
  .single_share .share-type3 .line_button a:hover { background:#009100; }
  /* note */
  .single_share .share-type1 .note_button a:hover,
  .single_share .share-type3 .note_button a:hover { background:#eee; border-color:#ddd; color:#000; }
  .single_share .share-type1 a:hover,
  .single_share .share-type3 a:hover { color:#fff; }

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

  .single_share .share-type2 a:hover,
  .single_share .share-type4 a:hover { color:#fff; }
  .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; }

  .share-type1 .note_button a { min-height: 30px; }
  .share-type2 .note_button a { min-height: 30px; }
}
@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 screen and (max-width:641px) {
  body { min-width:0; }
}

/* レイアウト */

@media screen and (min-width:820px) and (max-width:1232px) {
  #header { min-width:initial; min-width:auto; width:100%; }
  #header_inner { width:100%; max-width:1232px; margin:0 auto; position:relative; }
  #contents { min-width:initial; min-width:auto; width:100%; }
  #contents_inner { width:100%; max-width:1232px; margin:0 auto; padding:20px 0 80px; }
  #main_col { width:-webkit-calc(100% - 8.3478% - 300px); width:-moz-calc(100% - 8.3478% - 300px); width:calc(100% - 8.3478% - 300px); }
  #sid_col { width:300px; }
  .page-template-page-noside #main_col { width:100%; max-width:1232px; float:none; }
  .page-template-page-category #main_col { width:100%; max-width:1232px; float:none; }
  .page_404 #main_col{ margin: 0 auto; }
  .page_404 #main_col .page_404_contents h2{ font-size: 33px !important; }
}

@media screen and (min-width:641px) and (max-width:820px) {
  #header { min-width:initial; min-width:auto; width:100%; }
  #header_inner { width:100%; max-width:820px; margin:0 auto; position:relative; }
  #contents { min-width:initial; min-width:auto; width:100%; }
  #contents_inner { width:100%; max-width:820px; margin:0 auto; padding:20px 0 80px; }
  #main_col { width:100%; float:none; }
  #side_col { width:100%; float:none; padding: 0}
  .page-template-page-noside #main_col { width:100%; max-width:820px; float:none; }
  .page-template-page-category #main_col { width:100%; max-width:820px; float:none; }
  .page_404 #main_col{ margin: 0 auto; }
}

@media screen and (max-width:640px) {
  .page_404 #contents_inner.no_bg{ border-bottom: 1px solid #d3d3d3; }
}

/*@media screen and (max-width:641px) {*/
@media screen and (max-width:1232px) {
  #header { height:60px; min-width:100%; width:100%; background:#fff; position:relative; left:0px; top:0px; z-index:1; margin:0; }
  #header_inner { height:auto; width:auto; margin:0 auto; padding:0; position:relative; }
  #contents { width:auto; min-width:100%; margin:0; padding:0; }
  #contents_inner { width:auto; margin:0; padding:20px 0; }
  #main_col { width:auto; float:none; position:relative; margin:0; padding:0; }
  #side_col { width:auto; float:none; margin:0 0 -15px 0; padding:10px 20px 30px; position:relative; background: none !important; }
  .page-template-page-noside #main_col { width:auto; float:none; }
  .page-template-page-category #main_col { width:auto; float:none; }
  .page_404 #main_col{ margin: 0 auto; }
  .page_404 #main_col .page_404_contents h2{ font-size: 24px; }
  .page_404 #main_col .page_404_contents div{ font-size: 16px; }
}


/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */
@media screen and (max-width:1232px) {

/* グローバルメニュー */
  /*a.menu_button {
     position:absolute; right:0; top:3px; z-index:9; border-left:1px solid #ddd;
     display:inline-block; font-size:11px; color:#333; padding:0 15px; height:60px; line-height:60px; text-decoration:none;
  }
  a.menu_button:hover { background:#222; color:#fff; }
  a.menu_button.active { color:#fff; background:#333; }*/
  a.menu_button {
    position:absolute; right:0px; top:0px; z-index:9;
    display:inline-block; font-size:11px; color:#333; width:60px; height:60px; line-height:56px; 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:#888; display:block; position:absolute; top:17px; left:19px;
    font-size:18px; width:24px; height:24px; line-height:24px;
		text-align: center;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  }
  a.menu_button:before { content:'\f0c9'; }
  a.menu_button:hover, a.menu_button.active { background:#333; }
  a.menu_button:hover:before, a.menu_button.active:before { color:#fff; }
}

/*@media screen and (min-width:641px) and (max-width:1232px) {*/
@media screen and (max-width:1232px) {
  .pc #global_menu { z-index:100; background:#222222; min-width:initial; min-width:auto; width:100%; }
  .pc #global_menu > ul { height:auto; width:100%; margin:0 auto; padding-top:20px; text-align:center; font-size:0; }
  .pc #global_menu > ul > li { display:inline-block; min-width:150px; margin-bottom:20px; font-size:1%; vertical-align:middle; position:relative; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; }
  .pc #global_menu > ul > li:nth-child(9n), .pc #global_menu > ul > li:nth-child(10n), .pc #global_menu > ul > li:nth-child(11n), .pc #global_menu > ul > li:nth-child(12n)
  .pc #global_menu > ul > li:nth-child(13n), .pc #global_menu > ul > li:nth-child(14n), .pc #global_menu > ul > li:nth-child(15n)
    { display:none; }
  .pc #global_menu > ul > li a { color:#fff; background:#222222; height:auto; line-height:normal; font-size:12px; text-decoration:none; display:block; text-align:center; }
  .pc #global_menu li a:hover { background:#6bb8e4; text-decoration:none; }
  .pc #global_menu > ul > li.active > a { background:#6bb8e4; }

  .pc #global_menu ul ul { display:none; width:220px; position:absolute; top:55px; left:0px; margin:0; padding:0; }
  .pc #global_menu ul ul ul { left:100%; top:0; margin:0 0 0 -1px; border:none; }
  .pc #global_menu ul ul li { width:220px; line-height:150%; padding:0; margin:0; text-align:left; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; position:relative; }
  .pc #global_menu ul ul a { display:block; font-size:11px; background:#6bb8e4; position:relative; padding:14px 20px 12px 20px; height:auto; line-height:160%; margin:0; text-align:left; box-shadow:none; color:#fff; }
  .pc #global_menu ul ul a:hover { background:#457694; color:#fff; text-decoration:none; }

  .pc #global_menu li.hide_menu { display:none; }
}

@media screen and (max-width:1232px) {
  #global_menu { display:none; clear:both; width:100%; margin:0; top:60px; position:absolute; z-index:9; 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); -webkit-box-shadow: 1px 2px 1.5px rgba(0, 0, 0, 0.1); }
  #global_menu ul { margin:0; }
  #global_menu a { display:block; border:1px solid #666; margin:0 0 -1px 0; padding:2px 10px 2px 32px; line-height:40px; text-decoration:none; color:#fff; background:#333 url(img/common/arrow4.png) no-repeat 20px  !important; }
  #global_menu a:hover { color:#fff; }
  #global_menu ul ul a { padding-left:46px; background:#333 url(img/common/arrow4.png) no-repeat 34px !important; }
  #global_menu ul ul ul a { padding-left:60px; background:#333 url(img/common/arrow4.png) no-repeat 48px  !important; }

/* 言語ボタン */
#header_lang_button {
  position:absolute; z-index:50; top:0px; right:65px;
  display:inline-block; font-size:11px; width:50px; height:60px; line-height:60px; text-decoration:none; text-align:center;
}
#header_lang_button span { text-indent:100%; white-space:nowrap; overflow:hidden; display:block; }
#header_lang_button:before {
  font-family:'design_plus'; display:block; position:absolute; top:20px; left:0; right:0; margin:auto;
  font-size:18px; width:18px; height:18px; line-height:18px;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#header_lang_button:before { content:'\e942'; }
#header_lang_button:hover, a.menu_button.active { }
#header_lang_button:hover:before, #header_lang_button.active:before { }


/* 言語メニュー */
#header_lang { width:100%; margin:0; z-index:9; }
#header_lang > ul { display:none; margin:0; top:60px; position:absolute; width:100%; z-index:100; }
#header_lang ul ul { }
#header_lang a {
  position:relative; display:block;  margin:0; padding:18px 20px; line-height:1.6; overflow:hidden; text-decoration:none;
  color:#fff; font-size:13px; border-bottom:1px solid rgba(255,255,255,0.2);
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
#header_lang ul ul li:last-child a { border:none; }
#header_lang a:hover { color:#fff; }
#header_lang a.active_site { pointer-events:none; color:rgba(255,255,255,0.3) !important; }
#header_lang img { display:block; width:20px; height:20px; border-radius:100%; position:absolute; left:30px; top:0px; bottom:0px; margin:auto; }
#header_lang a.has_flag { padding-left:60px; }
#header_lang a.active_site img { opacity:0.6; }
}

@media screen and (max-width: 991px) {
	a.menu_button:hover {
		background: transparent!important;
	}
	a.menu_button:hover::before {
		color: #888;
	}
	.mobile #global_menu li a:hover {
		background-color: #333!important;
	}
}

/* ロゴ */

/*@media screen and (min-width:641px) and (max-width:1232px) {*/
@media screen and (max-width:1232px) {
  .pc #logo_text #logo { margin:20px 15px 0; }
  .pc #logo_image #logo { position:static; padding:20px 15px 0; float: none; text-align:center; }
  .pc #logo_image #logo img { display:inline; }
}

@media screen and (max-width:1232px) {
/*@media screen and (max-width:641px) {*/
  #logo_text { margin:21px 0 0 15px; z-index:9999; float:left; }
  #logo_text #logo { font-size:18px; font-weight:normal; }
  #logo_text a, #logo_image #logo a { color:#333; text-decoration:none; display:block; }
  #logo_text a:hover, #logo_image #logo a:hover { text-decoration:underline; }
  #logo_image { margin:21px 0 0 15px; z-index:9999; float:left; }
  #logo_image #logo { top:0px !important; left:0px !important; font-weight:normal; margin:0; padding:0; line-height:100%; font-size:18px; }
  #logo_image #logo img { display:none; }
  #logo_image #logo a:before { content:attr(data-label); }

  #logo_image_mobile { margin:0; font-size:18px; font-weight:normal; display:inline; text-align: center;}
  #logo_image_mobile a { display:flex; justify-content:center; align-items:center; height:60px; margin:0; }
  #logo_image_mobile a img { width:auto; display:block; }
}

/* バナー */

@media screen and (max-width:1232px) {
/*@media screen and (min-width:641px) and (max-width:1232px) {*/
  #header_banner_area { padding:20px 15px; float:none; text-align:center; }
  #header_banner_area a img { display:inline; }
}

@media screen and (max-width:1232px) {
/*@media screen and (max-width:641px) {*/
  #header_banner_area { display:none; }
}

@media screen and (max-width:1232px) {
.posts_num{ display: none; }
}

/* パンくずリンク */


@media screen and (min-width:641px) and (max-width:1232px) {
  #bread_crumb { padding:0 15px 20px; }
}

@media screen and (max-width:641px) {
  #bread_crumb { padding:0; margin:0 20px 20px; width:auto; }
  #bread_crumb li { font-size:10px; line-height:160%; }
}



/* ----------------------------------------------------------------------
 トップページ
---------------------------------------------------------------------- */

/* スライダー */
@media screen and (max-width:830px) {
 #header_slider .item video { width:auto; height:100%; position:absolute; left:-100%; right:-100%;margin:auto; }
}
@media screen and (max-width:730px) {
  #header_slider { min-width:inherit; padding-top:0; height:450px; }
  #header_slider .item { height:450px !important; }
  #header_slider .caption { width:auto; height:450px; margin:0 auto; position:relative; }
  #header_slider .caption_inner { padding:0 35px; }
  #header_slider .caption .desc { font-size:14px; line-height:2.0; margin:10px 0 0 0; }
  #header_slider .caption .button { font-size:12px; min-width:180px; height:45px; line-height:45px; padding:0 67px 0 50px; }
  #header_slider .caption .button span:after { top:-14px; }

  #header_slider .item video { width:100%; height:auto; }
  #header_slider .caption.type2 { height:100%; }

  #header_slider .caption .title { font-size:24px; }
  #header_slider .item video { width:100%; height:auto; }
  #header_slider .caption.type2 h3 { padding:30px 0; }
}
@media screen and (max-width:690px) {
  #header_slider .item video { width:auto; height:100%; }
}
#header_slider .item iframe { position:absolute; }
@media screen and (max-width:730px) {
  #header_slider { height:380px; }
  #header_slider .item { height:380px !important;}
  #header_slider .caption { height:380px; }
  #header_slider .caption_inner { padding:0 20px; }
  #header_slider .caption .title { font-size:24px !important; }
  #header_slider .caption .desc { font-size:12px; }
}


/* トップページのNEWS */

@media screen and (min-width:641px) and (max-width:1232px) {
  #index_news { position:relative; width:auto; height:auto; background:none; overflow:hidden; font-size:12px; margin:0 15px 15px; padding:0; }
  #index_news .headline {
  display:block; width:100%; height:45px; line-height:45px; background:#fff; color:#000; font-size: 14px; text-align:left; float:none; margin:0; padding:0 15px;
  -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  }
  #index_news #newsticker { background:#fff; padding:0 15px; }
  #index_news .newsticker { position:relative; overflow:hidden; width:auto; background:none; height:55px; margin:0; float:none; padding:0; }
  #index_news ol { margin:0; position:absolute; top:0px; }
  #index_news ol li { height:55px; overflow:hidden; line-height:180%; font-size:11px;}
  #index_news ol .date { width:auto; height:auto; line-height:100%; display:block; color:#6db8e2; float:none; margin:0 0 6px 0; }
  #index_news ol .title { width:auto; height:auto; line-height:100%; display:inline; float:none; }
  #index_news .link {
    text-decoration:none; width:auto; height:35px; line-height:35px; display:block; background:#fff;
    color:#000; float:none; padding:0 15px; text-align: right;
    -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  }
  #index_news .link:after {
    font-family:'design_plus'; color:#000;
    font-size:12px;
    content:'\e910';
    position: relative;
    top: 1px;
    margin-left: 5px;
  }

  #post_list_type1 #post_list { text-align:center; }
  #post_list_type2 #post_list { text-align:center; }
}

@media screen and (max-width:641px) {
  #index_news { position:relative; width:auto; height:auto; background:none; overflow:hidden; font-size:12px; margin:0 15px 15px; padding:0; }
  #index_news .headline {
    display:block; width:100%; height:45px; line-height:45px; background:#fff; color:#000; font-size: 14px; text-align:left; float:none; margin:0; padding:0 15px;
    -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  }
  #index_news #newsticker { background:#fff; padding:0 15px; }
  #index_news .newsticker { position:relative; overflow:hidden; width:auto; background:none; height:55px; margin:0; float:none; padding:0; }
  #index_news ol { margin:0; position:absolute; top:0px; }
  #index_news ol li { height:55px; overflow:hidden; line-height:180%; font-size:11px;}
  #index_news ol .date { width:auto; height:auto; line-height:100%; display:block; color:#6db8e2; float:none; margin:0 0 6px 0; }
  #index_news ol .title { width:auto; height:auto; line-height:100%; display:inline; float:none; }
  #index_news .link {
    text-decoration:none; width:auto; height:35px; line-height:35px; display:block; background:#fff;
    color:#000; float:none; padding:0 15px; text-align: right;
    -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  }
  #index_news .link:after {
    font-family:'design_plus'; color:#000;
    font-size:12px;
    content:'\e910';
    position: relative;
    top: 1px;
    margin-left: 5px;
  }
}

/* アーカイブページの見出し */
@media screen and (max-width:641px) {
  .archive_headline { width:auto; padding:0 20px; height:40px; line-height:40px; background:#6bb8e4; color:#fff; font-size:14px; font-weight: normal; margin:0 20px 15px; text-align: center; }
  #category_desc { margin:0 20px 15px; }
  #category_desc p { line-height:180%; }
}

/* 記事一覧（トップページ） */
@media screen and (min-width:923px) and (max-width:1232px) {
  #post_list_type1 { width:auto; overflow:hidden; position:relative; padding-bottom:22px; margin:0 15px; }
  #post_list_type1 #post_list { text-align:left; }
  #post_list_type1 #post_list > li { /*margin:0 4px 15px 4px; width:32.3%;*/ margin: 0 4px 13px; width: calc((100% - 16px) / 3); height:auto; }
/*
  #post_list_type1 #post_list > li:nth-child(3n-2) { margin:0 4px 13px 0; }
  #post_list_type1 #post_list > li:nth-child(3n) { margin:0 0px 13px 4px; }
*/
  #post_list_type1 #post_list > li:nth-of-type(3n-2) { margin:0 4px 13px 0; }
  #post_list_type1 #post_list > li:nth-of-type(3n) { margin:0 0px 13px 4px; }
  #post_list_type1 #post_list li .title a { width:100%; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;}
  #post_list li .image { position:relative; display:block; overflow:hidden; text-align:center; width:100%; height: calc((100vw ) / 3 * 200 / 300); background:#000; }
}

@media screen and (min-width:641px) and (max-width:923px) {
  #post_list_type1 { width:auto; overflow:hidden; position:relative; padding-bottom:22px; margin:0 15px; }
  #post_list_type1 #post_list { text-align:left; }
  #post_list_type1 #post_list > li { /*margin:0 4px 15px 4px; width:48.7%; */ margin: 0 4px 13px; width: calc((100% - 8px) / 2);height:auto; }
/*
  #post_list_type1 #post_list > li:nth-child(2n-1) { margin:0 4px 13px 0; }
  #post_list_type1 #post_list > li:nth-child(2n) { margin:0 0px 13px 4px; }
*/
  #post_list_type1 #post_list > li:nth-of-type(2n-1) { margin:0 4px 13px 0; }
  #post_list_type1 #post_list > li:nth-of-type(2n) { margin:0 0px 13px 4px; }
  #post_list_type1 #post_list li .title a { width:100%; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;}
  #post_list li .image { position:relative; display:block; overflow:hidden; text-align:center; width:100%; height: calc((100vw ) / 3 * 300 / 300); background:#000; }
}

@media screen and (max-width:641px) {
  #post_list_type1 { width:auto; overflow:hidden; position:relative; padding-bottom:22px; margin:0 15px; }
  #post_list_type1 #post_list { margin:0; }
  #post_list_type1 #post_list > li { float:none; margin:0 0 15px 0; width:100%; height:auto; background:#fff; position:relative; }
  #post_list_type1 #post_list li .title a {
    font-weight: normal; display:block; width:100%; height:auto; line-height:200%; overflow:auto; text-align:left; padding:15px; text-decoration:none;
    -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  }
  #post_list li .image { position:relative; display:block; overflow:hidden; text-align:center; width:100%; height:auto; background:#000; }
  #post_list li .image img { height:auto; }
}

/* 記事一覧（アーカイブページ） */
@media screen and (min-width:923px) and (max-width:1232px) {
  #post_list_type2 { width:auto; overflow:hidden; position:relative; padding-bottom:22px; margin:0 15px; }
  #post_list_type2 #post_list { text-align:left; }
  #post_list_type2 #post_list > li { /*margin:0 4px 15px 4px; width:32.3%; */ margin: 0 4px 13px; width: calc((100% - 16px) / 3); height:auto; }
  #post_list_type2 #post_list > li:nth-of-type(3n-2) { margin:0 4px 13px 0; }
  #post_list_type2 #post_list > li:nth-of-type(3n) { margin:0 0px 13px 4px; }
  #post_list_type2 #post_list li .title a { width:100%; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;}
  #post_list li .image { position:relative; display:block; overflow:hidden; text-align:center; width:100%; height: calc((100vw ) / 3 * 200 / 300); background:#000; }
}

@media screen and (min-width:641px) and (max-width:923px) {
  #post_list_type2 { width:auto; overflow:hidden; position:relative; padding-bottom:22px; margin:0 15px; }
  #post_list_type2 #post_list { text-align:left; }
  #post_list_type2 #post_list > li { /*margin:0 4px 15px 4px; width:48.7%; */ margin: 0 4px 13px; width: calc((100% - 8px)/ 2);height:auto; }
  #post_list_type2 #post_list > li:nth-of-type(2n-1) { margin:0 4px 13px 0; }
  #post_list_type2 #post_list > li:nth-of-type(2n) { margin:0 0px 13px 4px; }
  #post_list_type2 #post_list li .title a { width:100%; -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;}
  #post_list li .image { position:relative; display:block; overflow:hidden; text-align:center; width:100%; height: calc((100vw ) / 3 * 300 / 300); background:#000; }
}

@media screen and (max-width:641px) {
  #post_list_type2 { width:auto; overflow:hidden; position:relative; padding-bottom:22px; margin:0 20px; }
  #post_list_type2 #post_list { position:relative; margin:0; padding:0; }
  #post_list_type2 #post_list > li { float:none; margin:0 0 15px 0; width:100%; height:auto; background:#fff; position: relative; }
  #post_list_type2 #post_list > li.no_desc { height:auto; }
  #post_list_type2 #post_list li .title { font-size:12px; -ms-word-wrap:break-word; word-wrap:break-word; }
  #post_list_type2 #post_list li .title a {
    display:block; width:100%; height:auto; line-height:180%; overflow:auto; text-align:left; padding:15px; text-decoration:none; font-weight: normal;
    -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  }
  #post_list_type2 #post_list li .title a:hover { color:#fff; background:#222; }
  #post_list_type2 #post_list .excerpt { /*margin:0 20px; border-top:1px solid #ddd; padding:15px 0; line-height:180%; height:auto; overflow:auto; font-size:12px;*/ display: none; }
}

/* ローディングボタン */
@media screen and (max-width:641px) {
  #load_post { text-align:center; padding:15px 0 0 0; height:40px; position:relative; }
  #load_post a { font-size:12px; color:#fff; display:inline-block; background:#bbb; text-decoration:none; height:40px; line-height:40px; width:150px; text-align:center; }
  #infscr-loading { padding:20px; font-size:11px; }
  #load_post a:hover{ background-image: none !important; }
}

/* ----------------------------------------------------------------------
 記事
---------------------------------------------------------------------- */

@media screen and (max-width:641px) {
  #article { background:#fff; padding:20px; margin:0 0 20px 0; }
  .post_content { font-size: 12px; }
}

/* 日付 */
@media screen and (max-width:641px) {
  #post_date_headline { margin:-15px -20px 0; background:#6bb8e4; color:#fff; padding:0 20px; height:35px; line-height:35px; font-size: 12px; }
}

/* 記事タイトル */
@media screen and (max-width:641px) {
  #post_title { padding:0; margin:0 0 15px 0; font-size:16px; line-height:160%;}
}


/* ギャラリー */
@media screen and (min-width:641px) and (max-width:1232px) {
  #gallery { width:100%; }
  #gallery img { width:auto; }
  #single_news_list li .title { width:100%;}
}

@media screen and (max-width:641px) {
  #post_image { margin:0 -20px 15px; }
  #gallery { width:auto; }
  #gallery img { display:block; width:100%; height:auto; }
  .flex-direction-nav { display:none; }

  #image_meta { padding:15px 20px; }
  #image_meta p { font-size:11px; width:auto; float:none; margin:0 0 10px 0; line-height:160%; }
  #image_meta ul { width:auto; float:none; margin:0; }
  #image_meta li a { color:#fff; }
  #image_meta li { float:left; margin:0 20px 0 0; padding:0; line-height:160%; font-size:11px; }
}

/* SNSボタン */
@media screen and (max-width:641px) {
  .share_button li { padding:0; float:left; margin:0 10px 10px 0; line-height:0; }
}

/* メタ情報 */
@media screen and (max-width:641px) {
  #post_meta_bottom { margin:0 0 15px 0; background:#fff; padding:15px 0; }
  #post_meta_bottom li { display:block; margin:0 0 10px 0; padding:0; border:none; font-size:12px; line-height:160%; }
  #post_meta_bottom li:last-child { border:none; margin:0; }
}

/* 次の記事、前の記事リンク */
@media screen and (max-width:641px) {
  #previous_next_post { display: flex; }
  #previous_next_post .prev_post { float:none; width:50%; margin:0 -1px 5px 0; line-height:100%; }
  #previous_next_post .next_post { float:none; width:50%; margin:0; line-height:100%; }
  #previous_next_post a {
    display:block; font-size:12px; width:100%; height:50px; position:relative; background:#fff; overflow:hidden; border: solid 1px #ddd;
   -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  }
  #previous_next_post img {
    display: none;
    /*display:block; opacity:0.6; position:absolute; top:0px; left:0px; z-index:5;
  	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s; transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: translate3d(0,0,0); transform: translate3d(0,0,0);
  	-webkit-backface-visibility: hidden; backface-visibility: hidden;*/
  }
}


@media screen and (max-width:420px) {
  #previous_next_post img { width:375px; height:auto; }
}

@media screen and (max-width:641px) {
  #previous_next_post .title {
  display:block; width:100%; height:50px; line-height:50px; overflow:hidden; padding:0 10px; position:relative; top:0px; left:0px; text-align:center; z-index:10; color:#666;
 -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  }
}

@media screen and (max-width:641px) {
  #previous_next_post a:hover {text-decoration: none;}
  #previous_next_post a:before {
    font-family:'design_plus'; color:#aaa; font-size:14px; display:inline; position:absolute;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  }
  #previous_next_post .prev_post a:before { content:'\e90f'; top:18px; left:10px; }
  #previous_next_post .next_post a:before { content:'\e910'; top:18px; right:10px; }

  #previous_next_post .prev_post .title:before{display: none;}
  #previous_next_post .next_post .title:before{display: none;}
}

/* 広告 */
@media screen and (max-width:1200px) {
  #single_banner_area { text-align:center; background:#F0F2F3; border:15px solid #fff; padding:15px; margin:0 0 20px 0; }
  #single_banner_area div { display:block; margin:0 0 15px 0; }
  #single_banner_area div:last-child, #single_banner_area div:only-child { margin:0; }
  #single_banner_area div img { max-width:100%; height:auto; }
}

/* 関連記事 */
@media screen and (min-width:642px) and (max-width:1232px) {
  #related_post ol { margin: 0 15px; }
  #related_post li { width: calc(20% - 15px); margin: 0 18px 20px 0; }
  #related_post li:nth-child(4n){ margin-right: 18px !important; }
  #related_post li:nth-child(5n){ margin-right: 0; }
  #related_post li .image { margin:0; display:block; width:100%; height:auto; overflow:hidden; }
  #related_post li a.image img {
    width:100%; height:auto; display:block;
    -webkit-transition: all 0.35s ease-in-out; -moz-transition: all 0.35s ease-in-out; transition: all 0.35s ease-in-out;
    -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1);
  }
  #related_post li .image:hover img {
   -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); -o-transform: scale(1.2); transform: scale(1.2);
  }
  #related_post li .title { display:block; font-size:12px; line-height:150%; margin:0; padding:15px; max-height:100%; overflow:hidden; text-decoration:none; }
  #related_post li .title:hover { color:#fff; }
  #related_post li .excerpt { margin:0 15px; padding:15px 0; font-size:11px; line-height:180%; max-height:100%; overflow:hidden; border-top:1px solid #ddd; }
}
@media screen and (max-width:641px) {
  #related_post { overflow:hidden; }
  #related_post .headline { background:#6bb8e4; color:#fff; height:50px; line-height:50px; font-size:14px; padding:0 20px; margin:0 0 20px 0; }
  #related_post ol { margin:0 20px 0 0; position:relative; display:flex; flex-wrap:wrap; }
  #related_post li { float:none; width:calc(50% - 22px); height:auto; margin:0 0 15px 20px; position:relative; background:#fff; }
  #related_post li .image { margin:0; display:block; width:100%; height:auto; overflow:hidden; }
  #related_post li a.image img {
    width:100%; height:auto; display:block;
    -webkit-transition: all 0.35s ease-in-out; -moz-transition: all 0.35s ease-in-out; transition: all 0.35s ease-in-out;
    -webkit-transform: scale(1); -moz-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1);
  }
  #related_post li .image:hover img {
   -webkit-transform: scale(1.2); -moz-transform: scale(1.2); -ms-transform: scale(1.2); -o-transform: scale(1.2); transform: scale(1.2);
  }
  #related_post li .title { display:block; font-size:12px; line-height:150%; margin:0; padding:15px; max-height:100%; overflow:hidden; text-decoration:none; }
  #related_post li .title:hover { color:#fff; }
  #related_post li .excerpt { margin:0 15px; padding:15px 0; font-size:11px; line-height:180%; max-height:100%; overflow:hidden; border-top:1px solid #ddd; }
}



/* ----------------------------------------------------------------------
 NEWS
---------------------------------------------------------------------- */

/* 記事ページ */
@media screen and (max-width:641px) {
  #single_news_list { background:#fff; padding:20px; }
  #single_news_headline { margin:-20px -20px 15px; background:#6bb8e4; color:#fff; padding:0 20px; height:50px; line-height:50px; }
  #single_news_list ol { margin:0 0 15px 0; border-bottom:none; }
  #single_news_list li { margin:0 0 15px 0; padding:0 0 15px 0; font-size:13px; border-bottom:1px dotted #ccc; }
  #single_news_list li .date { float:none; width:auto; display:block; margin:0 0 10px 0; font-size:11px; }
  #single_news_list li .title { float:none; width:auto; display:block; line-height:160%; }
}

/* アーカイブページ */
@media screen and (max-width:641px) {
  #news_archive_headline { background:#6bb8e4; color:#fff; padding:0 20px; height:40px; line-height:40px; margin:0 0 15px 0; font-size: 14px; font-weight: normal; text-align: center; }
  #news_archive #post_list li {
    background:#fff; padding:0; margin:0 20px 10px; width:calc(100% - 40px);
    -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  }
  #news_archive .news_image { margin:0 auto; display:block; width:100%; height:auto; overflow:hidden; float:none; }
  #news_archive .news_image img { width:100%; height:auto; }
  #news_archive .article_inner { padding:15px 20px; }
  #news_archive .date { margin: 0 0 5px; }
  #news_archive .title { margin: 0 0 5px; font-size: 16px; font-weight: normal; }
}



/* ----------------------------------------------------------------------
 Category lists
---------------------------------------------------------------------- */
@media screen and (max-width:641px) {
#category_list li{ width:100%; margin-right: 0; }
}


/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */
@media screen and (max-width:641px) {
  #comment_area, #trackback_area { margin:15px 0px; }

  #comment_header { position:relative; border-bottom:none; }
  #comment_header ul { position:relative; right:auto; top:auto; margin:0; }
  #comment_header ul li {
    width:100%; float:none; position:relative;
    -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
   }
  #comment_header ul li:first-child { border-bottom:1px solid #eee; }
  #comment_header ul li#comment_switch, #comment_header ul li#comment_closed { border:none; border-top:1px solid #fff; padding:0; margin:0; position:relative; }
  #comment_header ul li a, #comment_header ul li p {
    padding:15px; background:#fff; border:none; color:#333; text-align:left;
    -moz-box-sizing:border-box; -webkit-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box;
  }

  #comment_header ul li a:hover, #comment_header ul li.comment_switch_active a, #comment_header ul li.comment_switch_active a:hover { color:#333; }

  .comment-meta-left { float:left; width:50%; }
}

/* ---------- form area ------------------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width:641px) {
  .comment_form_wrapper { border:1px solid #ccc; margin:0 0 20px; padding:15px; background:#fff; }
}




/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */

@media screen and (min-width:641px) and (max-width:1232px) {
  #footer { min-width:initial; min-width:auto; width:100%; }
  #footer_inner { width:100%; max-width:1232px; margin:0 auto; padding:40px 15px; box-sizing:border-box;}

 /* ページ最下部 */
  #footer_bottom { min-width:initial; min-width:auto; width:100%; }
  #footer_bottom_inner { width:100%; max-width:1232px; margin:0 auto; padding: 0 30px 30px; }
}


/* フッター上部 */
@media screen and (max-width:641px) {
  #footer { width:auto; min-width:100%; background:#F0F2F3; }
  #footer_inner { width:auto; margin:0 auto; padding:0; }
}

/* ウィジェットエリア */
@media screen and (max-width:1232px) {
  #footer_widget_area1 { width:auto; float:none; margin:0; padding:20px 15px; }
  #footer_widget_area2 { width:auto; float:none; margin:0; padding:20px 15px; }
}

/* メニュー */
@media screen and (max-width:1232px) {
  .footer_menu_wrapper{ display: flex; flex-wrap:wrap; }
  #footer_menu1 { width:calc(50% - 40px); float:none; margin:0; padding:20px 20px; }
  #footer_menu2 { width:calc(50% - 40px); float:none; margin:0; padding:20px 20px; overflow:auto; }
  #footer_menu1 li, #footer_menu2 li { margin:0; padding:0; line-height: 240%; font-size: 10px; }
  .footer_menu li a { display:block; padding:0px; }
}

/* ページ最下部 */
@media screen and (max-width:641px) {
  #footer_bottom { height:auto; width:100%; min-width:100%; background:#f1f2f4; padding-top:30px; }
  #footer_bottom_inner { height:auto; width:auto; margin:0 auto; position:relative; /*padding-bottom:115px;*/ padding: 0; }
  #footer_bottom_inner.no_social_link { padding-bottom:70px; }
}

/* ソーシャルボタン */
@media screen and (max-width:641px) {
  #footer_social_link { float:none; margin:0 0 25px; padding:0; position:relative; bottom:0; left:0px; width:100%; text-align:center; }
  #footer_social_link li { float:none; display:inline-block; vertical-align:top; margin:0 5px; }
  #footer_social_link li:before {
    font-family:'design_plus'; color:#333; font-size:13px; display:block; position:absolute; top:0px; left:0px;
    width:17px; height:17px; line-height:17px;
    -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
  }
}


/* メニュー */
@media screen and (min-width:641px) and (max-width:1232px) {
  #footer_bottom_menu { float:right; }
  #footer_bottom_menu li a { border:0; border-left:1px solid #aaa; padding:0 0 0 15px; margin:0 0 0 15px; }
  #footer_bottom_menu li:last-child a {border:0; border-left:1px solid #aaa; padding:0 0 0 15px; margin:0 0 0 15px; }
  #footer_bottom_menu li:first-child a { border:none; margin:0; }
}

@media screen and (max-width:641px) {
    /*#footer_bottom_menu { float:none; margin:0; }
  #footer_bottom_menu li { float:none; margin:0; font-size:11px;  }
  #footer_bottom_menu li a { display:block; border:none; padding:15px; margin:0; border-bottom:1px solid #ddd; }
  #footer_bottom_menu li a:hover { }
  #footer_bottom_menu li:last-child a { border:none; margin:0; }*/
  #footer_bottom_menu { text-align:center; margin:0 0 30px 0; float: none; }
  #footer_bottom_menu li { display:inline-block; vertical-align:top; margin:0; font-size:11px; float: none; }
  #footer_bottom_menu li a { display:block; border-right:1px solid #aaa; padding:0 5px 0 0; margin:0 5px 0 0; }
  #footer_bottom_menu li a:hover { }
  #footer_bottom_menu li:last-child a { border:none; margin:0; }
}

/* コピーライト */
@media screen and (min-width:641px) and (max-width:1232px) {
  #copyright{ float:none; clear:both; text-align: center; padding-top:20px;}
}

@media screen and (max-width:641px) {
  /*#copyright { text-align:center; margin:0; font-size:11px; }*/
  #copyright{ background:#000; color: #fff; height: 50px; line-height: 50px; float: none; text-align: center; }
  #copyright a{ color: #fff; }

  #return_top a{ width: 50px; height: 50px; right: 0; bottom: 0; border-radius: 0; }
  #return_top a:before { top:16px; left:16px; }
}


/* ----------------------------------------------------------------------
 サイドコンテンツ
---------------------------------------------------------------------- */


@media screen and (max-width:641px) {
  .side_widget:last-child { margin:0; }
}

/* styled post list2 */
@media screen and (max-width:641px) {
  #side_col1.type2 .styled_post_list1 .image  { float:left; margin:0 15px 5px 0; }
}

/* image post list */
@media screen and (max-width:641px) {
  .styled_post_list4 ol { margin:0; padding:0; position:relative; }
  .styled_post_list4 li, #footer_widget_area .styled_post_list4 li { float:left; width:32%; height:auto; margin:0 2% 0 0; }
  .styled_post_list4 li:nth-child(3n) { margin-right:0; }
}

/* search */
@media screen and (max-width:641px) {
  .widget_search #search-box, .widget_search #s { width:75%; height:40px; margin:0 0 5px 0; }
  .widget_search #search-btn input, .widget_search #searchsubmit { width:25%; }
}

@media only screen and (max-width:767px) {
body.single-post .flex_layout {
  display: block;
}

body.page-template-default .flex_layout {
  display: block
}

body.page-template-page-notitle #main_col {
  display: block
}

body.single-news .flex_layout {
display: block;
}

}