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


/* text and headline */
.post_content p { line-height:2.4; margin:0 0 2em 0; }
.post_content h1, .post_content h2, .post_content h3, .post_content h4, .post_content h5, .post_content h6 { clear:both; }
.post_content h1 { font-size:28px; font-weight:600; line-height:1.4; margin: 3em 0 1.3em 0; text-align:center; }
.post_content h2 { font-size:24px; font-weight:600; line-height:1.4; margin: 3em 0 1.3em 0; text-align:center; }
.post_content h3 { font-size:20px; font-weight:600; line-height:1.6; margin: 3em 0 1.3em 0; }
.post_content h4 { font-size:18px; font-weight:600; line-height:1.6; margin: 2.3em 0 1em 0; }
.post_content h5 { font-size:16px; font-weight:600; line-height:1.6; margin: 2.3em 0 1em 0; }
.post_content h6 { font-size:14px; font-weight:600; line-height:1.6; margin: 2.3em 0 1em 0; }
@media screen and (max-width: 767px) {
    .post_content h1 { font-size:24px; margin: 2.5em 0 1em 0; }
    .post_content h2 { font-size:22px; margin: 2.5em 0 1em 0; }
    .post_content h3 { font-size:20px; margin: 2.3em 0 1em 0; }
    .post_content h4 { font-size:18px; margin: 2.2em 0 1em 0; }
    .post_content h5 { font-size:16px; margin: 2.2em 0 1em 0; }
    .post_content h6 { font-size:14px; margin: 2.2em 0 1em 0; }
}
@media screen and (max-width: 599px) {
    .post_content h1 { margin: 2.3em 0 1em 0; }
    .post_content h2 { margin: 2.3em 0 1em 0; }
    .post_content h3 { margin: 2em 0 1em 0; }
    .post_content h4 { margin: 2em 0 1em 0; }
    .post_content h5 { margin: 2em 0 1em 0; }
    .post_content h6 { margin: 2em 0 1em 0; }
}
.post_content > *:first-child:is(h1, h2, h3, h4, h5, h6) { margin-top: 0; }


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

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

.post_content ol:not([class]){}
.post_content ol:not([class]) li{}

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

/* tableスクロール */
body.mobile_device .post_content .s_table { overflow: auto; white-space: nowrap; margin-bottom: 2em; }
body.mobile_device .post_content .s_table table { margin-bottom: 0; }
@media (max-width: 991px) {
	.post_content .s_table { overflow: auto; white-space: nowrap; margin-bottom: 2em; }
	.post_content .s_table table { margin-bottom: 0; }
}

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

/* captions */
.post_content .wp-caption { margin-bottom:24px; background:#fff; border:1px solid #ccc; padding:5px; max-width:100%; -webkit-border-radius:5px; -moz-border-radius:5px; border-radius:5px; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; }
.post_content .wp-caption-text { text-align:center; font-size:14px; 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:14px; 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:14px; margin:0 0 27px 0; line-height:25px; background:url(img/common/pre.gif) repeat left top; padding:0 17px; overflow:auto; }
.post_content .sticky { }
.post_content .mejs-container { margin:12px 0 25px; }


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

/* Column layout - カラムレイアウト */
.post_row { margin-right: -25px; margin-left: -25px; line-height: 2.4; }

.post_row:before, .post_row:after { display: table; content: " "; }

.post_row:after { clear: both; }

.post_col, .post_col-2, .post_col-3 { -webkit-box-sizing: border-box; box-sizing: border-box; position: relative; width: 100%; min-height: 1px; margin-bottom: 2em; padding-right: 25px; padding-left: 25px; float: left; }

@media screen and (min-width: 768px) { .post_col-2 { width: 50%; /* 2カラム */ }
  .post_col-3 { width: 33.33333%; } }

@media screen and (min-width: 1024px) { .post_col-2 { width: 50%; /* 2カラム */ }
  .post_col-3 { width: 33.33333%; } }

/* headline - 見出しのスタイル */
.post_content .style2a, .post_content .style2b, .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 */
.post_content .style2a { margin: 65px 0 30px !important; padding: 0 0 .9em; border-bottom: 3px solid #000; font-size: 26px !important; }

.post_content .style2b { margin: 65px 0 30px !important; padding: .48em 1em .47em; background: #000; color: #fff; font-size: 26px !important; }

/* h3 */
.post_content .style3a { margin: 65px 0 30px !important; padding: 1.2em .15em; border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; font-size: 22px !important; }

.post_content .style3b { margin: 65px 0 30px !important; padding: 1.1em 1.4em 1.15em; border: 1px solid #ddd; border-top: 3px solid #000; background: #fafafa; font-size: 22px !important; }

/* h4 */
.post_content .style4a { margin: 65px 0 30px !important; padding: .4em 0 .4em 1.2em; border-left: 3px solid #000; font-size: 20px !important; font-weight: 500; }

.post_content .style4b { -webkit-box-sizing: border-box; box-sizing: border-box; position: relative; margin: 65px 0 30px !important; padding: .8em 1.5em .8em; border-left: #000 3px solid; font-size: 20px !important; }

.post_content .style4b:after { position: absolute; top: 0; left: 0; width: 100%; height: calc(100% - 2px); border: 1px solid #ddd; border-left: none; content: ''; }

/* h5 */
.post_content .style5a { margin: 65px 0 30px !important; padding: .85em 1.5em .8em; border: 1px solid #ddd; background: #fafafa; font-size: 18px !important; }

.post_content .style5b { margin: 65px 0 30px !important; padding: .85em 1.5em .8em; background: #000; color: #fff; font-size: 18px !important; }

/* h6 */
.post_content .style6 { position: relative; margin: 65px 0 30px !important; padding: 0 .8em 0 1.3em; color: #000; font-size: 16px !important; font-weight: 700; }

.post_content .style6:before { position: absolute; top: .35em; left: 0; width: 12px; height: 12px; background: #000; content: ""; }

@media screen and (max-width: 767px) {
  .post_content .style2a { margin: 30px 0 20px !important; padding: 0 0 .6em; font-size: 20px !important; }
  .post_content .style2b { margin: 30px 0 20px !important; padding: .42em .7em .41em; background: #000; color: #fff; font-size: 20px !important; } /* h2 */
  /* h3 */
  .post_content .style3a { margin: 30px 0 20px !important; padding: .6em .15em; font-size: 18px !important; }
  .post_content .style3b { margin: 30px 0 20px !important; padding: .5em .5em .45em .6em; font-size: 18px !important; }
  /* h4 */
  .post_content .style4a { margin: 30px 0 20px !important; padding: .4em 0 .4em .8em; border-left: 2px solid #000; font-size: 16px !important; }
  .post_content .style4b { margin: 30px 0 20px !important; padding: .8em 1em .75em; border-left: #000 2px solid; font-size: 16px !important; }
  /* h5 */
  .post_content .style5a { margin: 30px 0 20px !important; padding: .8em 1em .75em; font-size: 15px !important; }
  .post_content .style5b { margin: 30px 0 20px !important; padding: .8em 1em .75em; font-size: 15px !important; } }


/* quicktag headline 202303 */
.post_content .styled_h2 {
	background-color: transparent;
	border-color: #000;
	border-style: solid;
	border-width: 0;
	color: #000;
	font-size: 26px;
	font-weight: 600;
	padding: 0;
	text-align: center;
}
.post_content .styled_h3 {
	background-color: transparent;
	border-color: #000;
	border-style: solid;
	border-width: 0 0 0 3px;
	color: #000;
	font-size: 22px;
	font-weight: 600;
	padding: 0.5em 0  0.5em 1em;
	text-align: left;
}
.post_content .styled_h4 {
	background-color: transparent;
	border-color: #000;
	border-style: solid;
	border-width: 0 0 1px 0;
	color: #000;
	font-size: 18px;
	font-weight: 600;
	padding: 0 0 0.8em;
	text-align: left;
}
.post_content .styled_h5 {
	background-color: #f8f8f8;
	border-color: #000;
	border-style: solid;
	border-width: 0;
	color: #000;
	font-size: 16px;
	font-weight: 400;
	padding: 0.8em 1em;
	text-align: center;
}
@media screen and (max-width: 767px) {
    .post_content .styled_h2 { font-size: 24px; }
    .post_content .styled_h3 { font-size: 20px; }
    .post_content .styled_h4 { font-size: 18px; }
    .post_content .styled_h5 { font-size: 16px; }
}

.news_headline1 { position: relative; margin: 80px 0 25px 0; padding: .5em; border-left: 8px solid #444; font-size: 1.2em; line-height: 1.2; }

.news_headline1:after { position: absolute; bottom: 0px; left: 0; width: 100%; height: 0; border-bottom: 1px dotted #ddd; content: ""; }

.news_headline2 { margin: 40px 0 20px 0; padding: 0 .5em; border-left: 6px solid #545454; font-size: 1.1em; line-height: 26px; }

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

/* flame - 囲み枠 */
.well { line-height: 2.2; margin-bottom: 30px; padding: 1.5em 2em; border: 1px solid #ddd; border-radius: 6px; background-color: #fafafa; }

.well2 { line-height: 2.2; margin-bottom: 30px; padding: 1.5em 2em; border: 1px solid #ddd; }

.well3 { line-height: 2.2; margin-bottom: 30px; padding: 1.5em 2em; border: 1px dashed #ddd; background: #fafafa; }

.wl_red { border-color: #ebccd1; background-color: #f2dede; color: #a94442; }

.wl_yellow { border-color: #faebcc; background-color: #fcf8e3; color: #8a6d3b; }

.wl_blue { border-color: #bce8f1; background-color: #d9edf7; color: #31708f; }

.wl_green { border-color: #d6e9c6; background-color: #dff0d8; color: #3c763d; }

@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; }

.q_button_wrap{ text-align:center; margin: 2em auto; }

/* Button option */
.rounded { border-radius: 6px; }

.pill { border-radius: 50px; }

.sz_full { display: block; min-width: 100px; max-width: 100%; padding: 1em 1.5em .9em; font-size: 110%; }

.sz_l { min-width: 350px; max-width: 90%; padding: .8em 1.5em .7em; font-size: 110%; }

@media screen and (max-width: 767px) { .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%; padding: .4em 1em .3em; font-size: 85%; }

.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-top: 30px; padding-bottom: 56.25%; overflow: hidden; }

.ytube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

/* Cardlink style - カードリンクのスタイル */
/*.cardlink { word-wrap: break-word; max-width: 100%; margin: 10px 0; padding: 20px; border: 1px solid #ddd; background: #fafafa; }

.cardlink_thumbnail { margin-right: 25px; float: left; }

.cardlink_thumbnail img { width: 130px; height: 130px; -o-object-fit: cover; object-fit: cover; }
*/
/* for IE11 */
/*@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) { .cardlink_thumbnail img { height: auto; } }

.cardlink_content { line-height: 1.6; }

.cardlink_timestamp { display: inline; margin: 0; padding: 0; color: #222; font-size: 12px; line-height: 1; vertical-align: top; }

.cardlink_title { margin: -3px 0 5px; font-size: 16px; }

.cardlink_title a { color: #000; font-weight: bold; text-decoration: none; }

.cardlink_title a:hover { text-decoration: underline; }

.cardlink_excerpt { overflow: hidden; color: #000; font-size: 14px; line-height: 1.9; }

.cardlink_footer { clear: both; }

.clear { clear: both; }

@media screen and (max-width: 767px) { .cardlink_timestamp { display: none; } }

@media screen and (max-width: 567px) { .cardlink { padding: 15px 11px 12px 13px; }
  .cardlink_thumbnail { margin-right: 12px; margin-bottom: 10px; float: left; }
  .cardlink_thumbnail img { width: 100px; height: 100px; }
  .cardlink_title { margin-top: -5px; font-size: 14px; }
  .cardlink_excerpt { clear: both; } }
*/

/* ----------------------------------------------------------------------
 Cardlink style - カードリンクのスタイル New
---------------------------------------------------------------------- */
.c-cardlink {
  word-wrap:break-word; margin:15px 0 2em; padding:20px; border:1px solid #ddd; background:#fafafa;
  display:-webkit-box; display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap;
}
.c-cardlink .c-cardlink__image { margin-right:25px; }
.c-cardlink .c-cardlink__image-bg { width:130px; height:130px!important; object-fit:cover; }
.c-cardlink .c-cardlink__image + .c-cardlink__content { width:calc(100% - 155px); display: flex; flex-direction: column; justify-content: center;}
.c-cardlink .c-cardlink__content-wrapper {}
.c-cardlink .c-cardlink__content-meta {
  display:-webkit-box; display:-webkit-flex; display:flex; -webkit-flex-wrap:wrap; flex-wrap:wrap;
  list-style: none; margin:0 0 15px;
}
.c-cardlink .c-cardlink__content-date { line-height:1; font-size:12px; color:#000; }
.c-cardlink .c-cardlink__content-date:first-of-type { margin-right:10px; }
.c-cardlink .c-cardlink__content-title {
  font-size:16px; line-height:1.7; margin:-0.35em 0 calc(15px - 0.35em); max-height:3.4em;
  overflow: hidden; visibility: visible; word-break: break-all;
  padding: 0;
}
.c-cardlink .c-cardlink__content-title-link {
  font-weight: 600;
  display: -webkit-inline-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2;
}
.c-cardlink .c-cardlink__content-desc {
  font-size:14px; line-height:1.7; margin:-0.35em 0!important; max-height:3.4em;
}
.c-cardlink .c-cardlink__content-desc--sp { display:none; }

@media (max-width: 767px) {
  .c-cardlink { padding:12px !important; margin: 30px 0 35px; }
  .c-cardlink .c-cardlink__image-bg { width:120px; height:120px!important; }
  .c-cardlink__content {
    display:-webkit-box; display:-webkit-flex; display:flex;
    -webkit-box-align: center; -ms-flex-align: center; align-items: center;
  }
  .c-cardlink .c-cardlink__image { margin-right:20px; }
  .c-cardlink .c-cardlink__image + .c-cardlink__content { width:calc(100% - 140px); }
  .c-cardlink .c-cardlink__content-title { max-height:5.1em; margin-bottom:-0.35em; }
  .c-cardlink .c-cardlink__content-title-link { -webkit-line-clamp: 3; }
  .c-cardlink .c-cardlink__content-desc--pc { display:none; }
  .c-cardlink .c-cardlink__content-desc--sp { display:block; margin-top:calc(15px - 0.35em)!important; }
  .c-cardlink p.c-cardlink__content-desc--sp { line-height:1.7 !important; }
  .c-cardlink .c-cardlink__image + .c-cardlink__content {
    flex-direction: unset; justify-content: unset;
  }
}

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

.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-through; }

/* 打ち消し線 */
/* 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-blue { padding: 2px; background-color: #4ab0f5; }

/* 赤色の文字背景 */
.bg-red { padding: 2px; background-color: red; }

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

/* text-align - 配置 */
.align1 { text-align: center !important; }

/* 中央寄せ */
.align2 { text-align: right !important; }

/* 右寄せ */
.align3 { text-align: left !important; }

/* 左寄せ */
/* float - 回り込み */
/* 右に回り込み */
.r-flo { margin: 10px; float: right; }

/* 左に回り込み */
.l-flo { margin: 10px; float: left; }

.f-clear { clear: both; }

/* 回り込みの解除 */
/* hover - 画像リンクマウスオーバー時の不透明度 */
a img.fade { -webkit-transition: all .3s; outline: none; background: none !important; transition: all .3s; }

a:hover img.fade { -ms-filter: "alpha( opacity=70 )"; background: none !important; filter: alpha(opacity=70); opacity: 0.7; }

/* text-style - テキストスタイル */
/* 注意書き等で二行目以降を字下げ */
.att { padding-left: 1em; text-indent: -1em; }

/* テキストボックス */
.att_box { margin: 2em 0 2.5em; padding: 1em 1.2em; border: 1px dotted #cccccc; background: #fcfcfc; line-height: 2.0; }

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

.pt0 { padding-top: 0 !important; }

.pr0 { padding-right: 0 !important; }

.pb0 { padding-bottom: 0 !important; }

.pl0 { padding-left: 0 !important; }

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