/* WordPress preset style */
/* alignment */
.p-entry__body .alignright { float: right; }

.p-entry__body .alignleft { float: left; }

.p-entry__body .aligncenter { display:block; margin-left:auto; margin-right:auto; margin-bottom:7px; }

.wp-block-image .aligncenter,.wp-block-image .alignleft,.wp-block-image .alignright,.wp-block-image.aligncenter,.wp-block-image.alignleft,.wp-block-image.alignright {
  display: table
}

.p-entry__body blockquote.alignleft, .p-entry__body img.alignleft { margin: 7px 24px 7px 0; }

.p-entry__body .wp-caption.alignleft { margin: 7px 14px 7px 0; }

.p-entry__body blockquote.alignright, .p-entry__body img.alignright { margin: 7px 0 7px 24px; }

.p-entry__body .wp-caption.alignright { margin: 7px 0 7px 14px; }

.p-entry__body blockquote.aligncenter, .p-entry__body img.aligncenter, .p-entry__body .wp-caption.aligncenter { margin-top: 7px; margin-bottom: 7px; }

/* text and headline */
.p-entry__body h1, .p-entry__body h2, .p-entry__body h3, .p-entry__body h4, .p-entry__body h5, .p-entry__body h6 { margin-bottom: 24.2px; clear: both; line-height: 1.4; }

.p-entry__body h1 { font-size: 150%; }

.p-entry__body h2 { font-size: 140%; }

.p-entry__body h3 { font-size: 130%; }

.p-entry__body h4 { font-size: 120%; }

.p-entry__body h5 { font-size: 110%; }

.p-entry__body h6 { font-size: 100%; }

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

/* list */
.p-entry__body li, .p-entry__body dt, .p-entry__body dd { line-height: 2.2; }

.p-entry__body ul, .p-entry__body ol, .p-entry__body dl { margin-bottom: 24px; }

.p-entry__body ol { margin-left: 1.5em; list-style: decimal outside none; }

.p-entry__body ul { margin-left: 1.3em; list-style: circle outside none; }

.p-entry__body li > ul, .p-entry__body li > ol { margin-bottom: 0; }

.p-entry__body ul li, .p-entry__body ol ul li { list-style-type: disc; }

.p-entry__body ul li ul li, .p-entry__body ol ul li ul li { list-style-type: circle; }

.p-entry__body ol li { list-style-type: decimal; }

.p-entry__body dt { font-weight: bold; }

.p-entry__body dd { margin-bottom: 1em; }

/* table */
.p-entry__body table { margin: 0 0 24px 0; border-collapse: collapse; }

.p-entry__body td, .p-entry__body th { padding: 10px 15px 7px; border: 1px solid #ddd; font-size: 14px; line-height: 2.2; }

.p-entry__body th { background: #fafafa; font-weight: normal; }

/* table style */
.table_no_border th, .table_no_border td { padding-left: 0; border: none; }

.table_border_horizontal th, .table_border_horizontal td { padding-left: 0; border-right: none; border-left: none; }

/* block quote */
.p-entry__body blockquote { position: relative; margin: 0 0 25px 0; padding: 27px 30px 0; border: 1px solid #ccc; -webkit-box-shadow: 0px 4px 0px 0px #f2f2f2; box-shadow: 0px 4px 0px 0px #f2f2f2; }

.p-entry__body blockquote:before { position: absolute; top: 5px; left: 10px; width: 30px; height: 30px; color: #5cbcd7; font-size: 30px; font-style: italic; font-weight: normal; line-height: 40px; content: '"'; }

.p-entry__body blockquote:after { position: absolute; right: 0; bottom: 7px; width: 30px; height: 30px; color: #5cbcd7; font-size: 30px; font-style: italic; font-weight: normal; line-height: 60px; text-align: left; content: '"'; }

.p-entry__body blockquote cite { display: block; padding: 20px 0 0 0; border-top: 1px dotted #aaa; font-size: 90%; font-style: italic; text-align: right; }

/* captions */
.p-entry__body .wp-caption { -webkit-border-radius: 5px; -moz-border-radius: 5px; -webkit-box-sizing: border-box; box-sizing: border-box; max-width: 100%; margin-bottom: 24px; padding: 5px; border: 1px solid #ccc; border-radius: 5px; background: #fff; }

.p-entry__body .wp-caption-text { margin: 9px auto; font-size: 12px; font-style: italic; line-height: 1.5; text-align: center; }

.p-entry__body .wp-caption img[class*="wp-image-"] { display: block; margin: 0 auto; }

/* gallery */
.gallery { margin-bottom: 20px; }

.gallery a img { border: 0 !important; }

.gallery-item { position: relative; margin: 0 4px 4px 0; float: left; overflow: hidden; }

.gallery-columns-1 .gallery-item { max-width: 100%; }

.gallery-columns-2 .gallery-item { max-width: 48%; max-width: calc(50% - 4px); }

.gallery-columns-3 .gallery-item { max-width: 32%; max-width: calc(33.3% - 4px); }

.gallery-columns-4 .gallery-item { max-width: 23%; max-width: calc(25% - 4px); }

.gallery-columns-5 .gallery-item { max-width: 19%; max-width: calc(20% - 4px); }

.gallery-columns-6 .gallery-item { max-width: 15%; max-width: calc(16.7% - 4px); }

.gallery-columns-7 .gallery-item { max-width: 13%; max-width: calc(14.28% - 4px); }

.gallery-columns-8 .gallery-item { max-width: 11%; max-width: calc(12.5% - 4px); }

.gallery-columns-9 .gallery-item { max-width: 9%; max-width: calc(11.1% - 4px); }

.gallery-columns-10 .gallery-item { max-width: 7%; 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 { -webkit-box-sizing: border-box; box-sizing: border-box; position: absolute; bottom: 0; left: 0; width: 100%; max-height: 50%; margin: 0; padding: 6px 8px; background-color: rgba(0, 0, 0, 0.7); color: #fff; font-size: 12px; line-height: 1.5; text-align: left; opacity: 0; }

.gallery-caption:before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; min-height: 49px; content: ""; }

.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 */
.p-entry__body .wp-smiley { margin-top: 0; margin-bottom: 0; padding: 0; border: 0; }

.p-entry__body address { margin: 0 0 24px 0; line-height: 2.2; }

.p-entry__body pre { margin: 0 0 27px 0; padding: 0 17px; overflow: auto; border-left: 5px solid #7fc120; background: url(img/common/pre.gif) repeat left top; font-size: 12px; line-height: 25px; }

.p-entry__body .mejs-container { margin: 12px 0 25px; }

/* 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 - 見出しのスタイル */
.style2a, .style2b, .style3a, .style3b, .style4a, .style4b, .style5a, .style5b, .style6 { font-weight: 500; line-height: 1.6; }

/* h2 */
.style2a { margin: 65px 0 30px !important; padding: 0 0 .9em; border-bottom: 3px solid #000; font-size: 26px !important; }

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

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

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

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

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

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

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

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

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

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

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

.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; margin-bottom: 30px; padding: 1.1em 2em; border: 1px solid #ddd; border-radius: 6px; background-color: #fafafa; }

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

.well3 { line-height:2; margin-bottom: 30px; padding: 1.1em 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_wrap{ text-align: center; margin: 2em auto; line-height: 2.4; }

.q_button { -webkit-box-sizing: border-box; box-sizing: border-box; display: inline-block; min-width: 200px; max-width: 90%; margin: 0; padding: .6em 1.3em .5em; background-color: #535353; color: #fff !important; font-size: 100%; font-weight: 400; text-align: center; text-decoration: none; vertical-align: middle; -webkit-transition: all 0.3s ease-in-out 0s; transition: all 0.3s ease-in-out 0s; }

.q_button:hover, .q_button:focus { background-color: #7d7d7d; color: #fff; text-decoration: none; }

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

.pill { border-radius: 50px; }

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

/* Table responsive - テーブルのレスポンシブ表示 */
.rps_table { line-height: 2.0; }

@media only screen and (max-width: 567px) { .rps_table tr { display: block; margin-bottom: 1.5em; }
  .rps_table th, .rps_table td { display: list-item; list-style-type: none; }
  .rps_table td { border-top: none; } }

/* Cardlink style - カードリンクのスタイル */
.cardlink {
  word-wrap:break-word; margin:15px 0 2em; padding:20px 20px 15px; border:1px solid #ddd; box-sizing:border-box;
  display:flex; flex-wrap:wrap; align-items:center;
}
.cardlink .image { margin-right:25px; }
.cardlink .image img { width:130px; height:130px; -o-object-fit:cover; object-fit:cover; }
.cardlink .content { width:calc(100% - 155px); padding-top:5px; box-sizing:border-box; }
.cardlink .title_area { }
.cardlink .meta { display:flex; flex-wrap:wrap; margin:0 0 5px 0; }
.cardlink .meta > p { color:#222; font-size:12px; line-height:1; margin:0 10px 10px 0; position:relative; padding:0 0 0 18px; box-sizing:border-box; }
.cardlink .meta > p.date:before {
  font-family:'design_plus_new'; content:'\e91d'; font-size:14px; position:absolute; left:0; top:45%; transform: translateY(-50%);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.cardlink .meta > p.modified_date { margin-right:0; }
.cardlink .meta > p.modified_date:before {
  font-family:'design_plus_new'; content:'\e943'; font-size:13px; position:absolute; left:0; top:40%; transform: translateY(-50%);
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
.cardlink .title { margin:-3px 0 5px 0 !important; font-size:16px; font-weight:bold; line-height:1.7; }
.cardlink .title a { text-decoration:none; display:block; }
.cardlink .title a:hover { text-decoration:underline; }
.cardlink .desc { font-size:14px; line-height:1.7; margin:0 0 0 0 !important; max-height:3.4em; overflow:hidden; visibility:visible; }
.cardlink .desc span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
@media screen and (max-width: 800px) {
  .cardlink { display:block; padding:12px; margin:30px 0 35px !important; box-sizing:border-box; }
  .cardlink .image { float:left; margin-right:15px; }
  .cardlink .image img { width:120px; height:120px; }
  .cardlink .content { width:auto; }
  .cardlink .title_area { width:calc(100% - 135px); float:left; height:120px; display:flex; flex-direction:column; justify-content:center; margin-bottom:10px; }
  .cardlink .meta { width:100%; margin-bottom:0px; }
  .cardlink .title { margin:0 !important; max-height:5.1em; overflow:hidden; visibility:visible; }
  .cardlink .title a { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
  .cardlink .desc { clear:both; max-height:3.4em; }
  .cardlink .desc span { -webkit-line-clamp:2; }
}
.clear { clear: both; }


/* デザインされた番号付きリスト */
.q_styled_ol { counter-reset: item; list-style-type: none; margin-left:0 !important; margin-bottom:2em; }
.q_styled_ol li { display:-webkit-box; display:-webkit-flex; display:flex; margin-bottom:0.4em; }
.q_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;
}
@media screen and (max-width: 800px) {
  .q_styled_ol li:before { margin-top: 0.1em; }
}


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

/* 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) {
  .p-entry .s_table,
  .p-entry .wp-block-table { overflow: auto; white-space: nowrap; margin-bottom: 2em; }
  .p-entry .s_table table,
  .p-entry .wp-block-table { margin-bottom: 0; }
}

/* クイックタグ追加分 */
h2.style_h2 { font-size:26px; font-weight:600; line-height:1.4; margin: 3em 0 1.3em 0; text-align:center; }
h3.style_h3 { font-size:22px; font-weight:600; line-height:1.6; margin: 3em 0 1.3em 0; }
h4.style_h4 { font-size:20px; font-weight:600; line-height:1.6; margin: 2.3em 0 1em 0; }
h5.style_h5 { font-size:18px; font-weight:600; line-height:1.6; margin: 2.3em 0 1em 0; }
h6.style_h6 { font-size:16px; font-weight:600; line-height:1.6; margin: 2.3em 0 1em 0; }
@media screen and (max-width: 800px) {
  h2.style_h2 { font-size:20px; margin: 2.5em 0 1em 0; }
  h3.style_h3 { font-size:18px; margin: 2.3em 0 1em 0; }
  h4.style_h4 { font-size:16px; margin: 2.2em 0 1em 0; }
  h5.style_h5 { font-size:16px; margin: 2.2em 0 1em 0; }
  h6.style_h6 { font-size:14px; margin: 2.2em 0 1em 0; }
}
@media screen and (max-width: 600px) {
  h2.style_h2 { margin: 2.3em 0 1em 0; }
  h3.style_h3 { margin: 2em 0 1em 0; }
  h4.style_h4 { margin: 2em 0 1em 0; }
  h5.style_h5 { margin: 2em 0 1em 0; }
  h6.style_h6 { margin: 2em 0 1em 0; }
}

/* ----------------------------------------------------------------------
 汎用スタイルの追加
 https://tcd-theme.com/2023/09/utility-classes.html
---------------------------------------------------------------------- */
.p-entry__body .a_break { display: inline-block; }
@media (max-width: 767px) {
  .p-entry__body .is-pc { display:none!important; }
}
@media not all and (max-width: 767px) {
  .p-entry__body .is-sp { display:none!important; }
}
.p-entry__body .e_link {
  display: inline-block; position: relative; padding-right:1em;
}
.p-entry__body .e_link:after {
  font-family: 'design_plus'; content: '\e92a'; font-size: 100%; display: block;
  position: absolute; transition:none; margin-top:-0.1em;
  right:0; top:50%; -ms-transform: translateY(-50%); -webkit-transform: translateY(-50%); transform: translateY(-50%);
}
.p-entry__body img.frame {
  border: 1px solid #d2d2d2;
  -webkit-box-shadow: 0 6px 6px -6px #cccccc;
  -moz-box-shadow: 0 6px 6px -6px #cccccc;
  box-shadow: 0 6px 6px -6px #cccccc;
}