.content h2 {
    font-size: 1.1rem;
    line-height: 2rem;
    letter-spacing: 1px;
    margin: 0;
}
.content h3 {
    font-size: 1.05rem;
    line-height: 1.95rem;
    letter-spacing: 1px;
    margin: 0;
}
.content h4 {
    font-size: 1rem;
    line-height: 1.9rem;
    letter-spacing: 1px;
    margin: 0;
}
.content h5 {
    font-size: 0.95rem;
    line-height: 1.85rem;
    letter-spacing: 1px;
    margin: 0;
}
/*引用*/
blockquote {
    display: block;
	font-style: italic;
	color: #3F3F3F;
	border-left: 3px solid #2980b9;
	background-color: #F2F2F2;
	margin: 10px 0;
	padding: 10px;
}
/*枠線ボックス*/
.borderBox {
	border: 1px solid #E5E5E5;
	padding: 10px;
	margin: 10px 0;
}
/*二重線ボックス*/
.border2Box {
	border: 4px double #E5E5E5;
	padding: 10px;
	margin: 10px 0;
}
/*背景ボックス*/
.bgBox {
	background: #F2F2F2;
	padding: 10px;
	margin: 10px 0;
}
/*ペーパーボックス*/
.paperBox {
	position: relative;
	padding: 10px;
	margin: 10px 0;
	background-color: #F2F2F2;
}
.paperBox::after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0;
	border-color: #D8D8D8 #ffffff #ffffff #D8D8D8;
	border-style: solid;
	border-width: 0 0 20px 20px;
}
/*太文字ボックス*/
.boldBox {
	border: 3px solid #191919;
	padding: 10px;
	margin: 10px 0;
	font-weight: 700;
}
/*括弧ボックス*/
.bracketsBox {
	position: relative;
	padding: 10px;
	margin: 10px 0;
}
.bracketsBox:before,
.bracketsBox:after {
	display: inline-block;
	position: absolute;
	width: 10px;
	height: 20px;
	content: "";
}
.bracketsBox:before {
	top: 0;
	left: 0;
	border-top: solid 2px #191919;
	border-left: solid 2px #191919;
}
.bracketsBox:after {
	right: 0;
	bottom: 0;
	border-right: solid 2px #191919;
	border-bottom: solid 2px #191919;
}
/*はてなボックス*/
/*ビックリボックス*/
.questionBox,
.exclamationBox {
    display: block;
	position: relative;
	padding: 10px 10px 10px 45px;
	margin: 10px 0;
}
.questionBox {
	background-color: #D9EFF7;
}
.exclamationBox {
	background-color: #F6E1DF;
}
.questionBox::before,
.exclamationBox::before {
	position: absolute;
	top: 0;
    bottom: 0;
	left: 10px;
	font-size: 20px;
	line-height: 26px;
	font-weight: 700;
	color: #ffffff;
	text-align: center;
	vertical-align: middle;
	width: 25px;
	height: 25px;
	border-radius: 50%;
    margin: auto 0;
}
.questionBox::before {
	content: "?";
	background: #0096c8;
}
.exclamationBox::before {
	content: "!";
	background: #c53929;
}
/*ポイントボックス*/
.pointBox {
	position: relative;
	border: 2px solid #c53929;
	border-radius: 5px;
	padding: 10px;
	margin: 20px 0 10px;
}
.pointBox::before {
	content: "POINT";
	position: absolute;
	top: -15px;
	left: 15px;
	font-size: 20px;
	font-weight: 700;
	background-color: #ffffff;
	color: #c53929;
	padding: 0 10px;
}
/*注釈*/
.asterisk {
	display: block;
	font-size: 1.3rem;
	color: #7F7F7F;
}
/*イエローマーカー*/
.markerYellow {
	background: linear-gradient(transparent 60%, #ffffbc 60%);
}
/*ピンクマーカー*/
.markerPink {
	background: linear-gradient(transparent 60%, #FFDFEF 60%);
}
/*ブルーマーカー*/
.markerBlue {
	background: linear-gradient(transparent 60%, #cce5ff 60%);
}
/*リスト設定*/
.content ul,
.content ol {
	list-style-type: none;
	margin: 10px 0;
}
.content ul ul,
.content ul ol,
.content ol ul,
.content ol ol {
	margin: 0;
}
.content ol {
	counter-reset: number;
}
.content ul li:before {
	content: "・";
	position: absolute;
	left: 0;
}
.content ol li:before {
	counter-increment: number;
	content: counter(number)".";
	position: absolute;
	left: 0;
}
.content ul li,
.content ol li {
	position: relative;
	padding-left: 1rem;
}
/*整形済みテキスト*/
.content pre {
	font-weight: 400;
	font-size: 1.4rem;
	margin-top: 20px;
	padding: 20px;
	background-color: #F2F2F2;
	border-left: solid 5px #191919;
	color: #7F7F7F;
	overflow: auto;
}
/*ライン*/
.content hr {
	margin-top: 40px;
	border-top: 1px solid #F2F2F2;
	border-bottom: 1px solid #E5E5E5;
}
/*テーブル*/
.content table {
	margin-top: 20px;
	width: 100%;
	font-size: 1.4rem;
}
.content table th {
	padding: 10px;
	background: #323232;
	color: #fff;
}
.content table td {
    width: 70%;
	padding: 10px;
}
.content table td:first-of-type {
    width: 30%;
    background: #f9f9f9;
}
/*目次*/
.content .outline {
	border: 1px dotted #D8D8D8;
	padding: 20px;
	margin-top: 20px;
	display: inline-block;
}
.content .outline__toggle {
	display: none;
}
.content .outline__switch::before {
	content: "開く";
	cursor: pointer;
	border: solid 1px #D8D8D8;
	padding: 5px;
	font-size: 1.2rem;
	margin-left: 5px;
	border-radius: 5px;
}
.content .outline__toggle:checked+.outline__switch::before {
	content: "閉じる"
}
.content .outline__switch+.outline__list {
	overflow: hidden;
	width: 0;
	height: 0;
	margin-top: 0;
	margin-left: -20px;
	transition: 0.2s;
}
.content .outline__toggle:checked+.outline__switch+.outline__list {
	width: auto;
	height: auto;
	margin-top: 20px;
	transition: 0.2s;
}
.content .outline__item:before {
	content: normal;
}
.content .outline__link {
	display: inline-block;
	color: #191919 !important;
}
.content .outline__link:hover {
	border: none;
}
.content .outline__number {
	display: inline-block;
	color: #7F7F7F;
	background: #F2F2F2;
	padding: 3px 6px;
	font-weight: 400;
	font-size: 1.2rem;
	margin-right: 5px;
}

/* 新着情報 */
.news_wrap {
    padding: 3rem 1rem;
}
.news_wrap ul {
    max-width: 500px;
    margin: 1rem auto 2.5rem;
}
.news_wrap li {
    border-bottom: 1px solid #adadad;
    padding: 0.5rem 0;
}
.news_wrap li:last-child {
    border: 0;
    margin-bottom: 1.5rem;
}
.news-date {
    font-size: 0.8rem;
    color: #737373;
    margin-bottom: 0.2rem;
}
.newsListRight {
    font-size: 0.9rem;
}
.readMore {
    display: block;
    width: 70%;
    max-width: 300px;
    color: #fff;
    font-weight: bold;
    text-align: center;
    background: #3c3c3c;
    border-radius: 30px;
    padding: 0.8rem 0;
    margin: auto;
}
.readMore:hover, .readMore:active {
    color: #fff;
}
/* 新着情報（一覧） */
.post-type-archive main, .single-news main, .page-template-page-contact main, .page-template-column main, .single-post main, .category main, .page-template-page-asp-entry main, body.search main {
    min-height: calc(100vh - 220px - 50px);
    background: rgb(255,190,9);
    background: linear-gradient(131deg, rgba(255,190,9,1) 0%, rgba(255,201,51,1) 100%);
    padding: 0 1rem 2.5rem;
}
.post-type-archive main h1, .page-template-page-contact h2, .page-template-column main h1, .category h2, .page-template-page-asp-entry h2 {
    display: block;
    width: 100%;
    font-size: 2.3rem;
    color: #fff;
    letter-spacing: 3px;
    text-align: center;
    margin: 0;
    padding: 2rem 0;
}
.SColumn, .single-news .news, .single-post article {
    max-width: 800px;
    margin: auto;
}
.SColumn .excerpt-read-more {
    display: inline;
}
.excerpt-read-more:hover {
    font-weight: bold;
}
.postCont {
    display: flex;
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgb(0 0 0 / 10%);
    margin-bottom: 0.7rem;
    padding: 1rem;
}
.thumbBox {
    width: 20%;
    max-width: 130px;
}
.postmeta {
    width: 80%;
    padding-left: 1rem;
}
.BGbar, .entry-meta {
    font-size: 0.8rem;
    margin-bottom: 0.2rem;
}
.postmeta h3 {
    font-size: 1rem;
    line-height: 1.4rem;
    margin-bottom: 0.5rem;
}
.columTxt {
    font-size: 0.9rem;
}
.excerpt-read-more {
    color: #ef6f00;
}
.pagination, .wp-prev-next {
    margin: 0 !important;
}
.page-numbers {
    margin: 0.5rem 0 1rem;
}
.btn-top, .btn-back, .wpcf7-submit {
    display: block;
    width: 70%;
    max-width: 300px;
    font-size: 0.9rem;
    color: #fff;
    font-weight: bold;
    letter-spacing: 1px;
    text-align: center;
    border-radius: 30px;
    background: #ef6f00 !important;
    margin: 1rem auto 0;
    padding: 0.8rem 0;
}
/* コラム（一覧） */
.column h3 {
    margin-bottom: 0.3rem;
}
.post-categories {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 0.3rem;
}
.post-categories li {
    display: inline-block;
    font-size: 0.7rem;
    /* background: rgb(255 239 196); */
    background: #f18f3a;
    border-radius: 5px;
    padding: 0.1rem 0.5rem;
    margin: 0 3px 3px 0;
}
.post-categories li a {
    /* color: #584100; */
    color: #fff;
    font-weight: bold;
}
/* 新着情報（投稿） */
.single-news .content-head {
    padding: 2rem 0 1rem;
}
.post-template-default  .content-head {
    padding: 2rem 0 0.5rem;
}
.post-template-default .post-categories {
    margin-top: 0.7rem;
}
.content-head * {
    color: #fff;
}
.single-title {
    font-size: 1.4rem;
    line-height: 1.9rem;
}
.entry-meta {
    font-weight: bold;
}
.entry-disc, .contact {
    background: #fff;
    border-radius: 5px;
    box-shadow: 0 2px 10px rgb(0 0 0 / 10%);
    padding: 1rem;
}
.btn-back {
    margin: 2rem auto 0;
}
.entry-disc * {
    font-size: 0.9rem;
}
.entry-disc a {
    overflow-wrap: anywhere;
}
.entry-content table {
    margin: 0 auto 1.5rem;
}

/* お問い合わせ */
.wpcf7 {
    max-width: 800px;
    margin: auto;
}
.wpcf7-form-control-wrap {
    width: 100%;
    margin-top: 0.2rem;
}
.contact * {
    display: block;
    font-size: 0.9rem;
    border: none;
}
.contact {
    max-width: 800px;
    padding: 1rem 1rem 1.5rem;
    margin: auto;
}
.wpcf7-submit {
    margin: 1.5rem auto 0;
}
.contact p:not(:last-of-type) {
    margin-bottom: 0.8rem;
}
.contact input:not(.wpcf7-submit), .contact textarea {
    width: 100%;
    padding: 0.6rem;
    background: #fff8e6 !important;
    border: none;
    outline: none;
}
.contact input:active, .contact textarea:active {
    border: none;
    outline: none;
}

@media(min-width: 700px) {
    /* 新着情報 */
    .news_wrap {
        padding: 2.5rem 0;
    }
    .post-type-archive main, .single-news main, .page-template-page-contact main, .page-template-column main, .category main, .page-template-page-asp-entry main, body.search main {
        min-height: calc(100vh - 270px - 60px);
        padding: 0 1rem 5rem;
    }
    .post-type-archive main h1, .page-template-page-contact h2, .page-template-column main h1, .category h2, .page-template-page-asp-entry h2 {
        padding: 2.5rem 0;
    }
    .postCont, .entry-disc {
        padding: 1.5rem;
    }
    .btn-top, .btn-back {
        margin: 3rem auto 0;
    }
    .content-head {
        padding: 3rem 0 1rem;
    }
    .single-title {
        font-size: 1.7rem;
        line-height: 2.2rem;
    }
    /* お問い合わせ */
    .contact {
        padding: 2rem;
    }
}