@charset "utf-8";


.pc {display: block;}
@media only screen and (max-width: 568px) {
  .pc {display: none;}
}
/*--------------------------------
    コラム一覧ページ
---------------------------------*/
.archive .main {
  border: none;
  background: none;
  padding: 0 12px;
}
.ttl_page_section {
  width: 100%;
}
.column_list.bg_circle_left::before {
  content: none;
}
.column_list {
  position: relative;
  gap: 35px 2.3%;
  width: 100%;
}
.column_list li {
  width: 31.8%;
  display: flex;
  flex-direction: column;
}
.column_list li .thumbnail {
  overflow: hidden;
  position: relative;
}
.column_list li .thumbnail::before {
  content: '';
  display: block;
  padding-top: 61.8%;
}
.column_list li .thumbnail img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.column_list li .article_info {
  padding: 15px 18px 10px;
}
.column_list li .article_date {
  font-size: 15px;
  color: var(--site-primary);
}
.column_list li time {
  font-weight: bold;
  font-family: 'Noto Sans JP';
  padding-left: 3px;
}
.column_list li .entry-categories a:not(:first-child) {
  display: none;
}
.column_list li .cat-link {
  margin-right: 0;
  color: #fff;
  text-decoration: none;
}
.column_list li .cat-link .fa {
  /* display: none; */
}
.column_list li h3 {
  font-size: 18px;
  line-height: 1.5;
  word-break: break-word;
  padding: 0 18px 12px;
}
.column_list li p {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 23px;
}
.column_list li .btn_border {
  margin: auto auto 20px;
  width: 85%;
}
.column_list li .btn_border a {
  font-size: 15px;
  padding: 8px 0 9px;
  width: 85%;
  margin: 0 auto;
  text-decoration: none;
}
.column_list li .btn_border a::after {
  width: 8px;
  height: 12px;
}
@media only screen and (max-width: 1024px) {
  .column_list li .article_info {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 5px 0;
  }
  .column_list li .article_date {
    font-size: 14px;
  }
  .column_list li h3 {
    font-size: 16px;
  }
  .column_list li .btn_border a {
    font-size: 14px;
    width: 100%;
  }
}
@media only screen and (max-width: 960px) {
  .column_list {
    gap: 30px 2.3%;
  }
  .column_list li .txt {
    padding: 20px 2.5vw 26px;
  }
  .column_list li h3 {
    font-size: 18px;
  }
  .column_list li p {
    font-size: 14px;
  }
  .column_list li .btn_border a {
    font-size: 15px;
    width: 100%;
  }
}
@media only screen and (max-width: 568px) {
  .archive .main {
    padding: 0 5.3vw;
  }
  .ttl_page_section {
    margin: 40px 0 43px;
  }
  .column_list {
    flex-direction: column;
    gap: 20px 0;
  }
  .column_list li {
    width: 100%;
  }
  .column_list li .article_info {
    flex-direction: row;
    padding: 15px 25px 10px;
  }
  .column_list li .article_date {
    font-size: 15px;
    margin-top: 5px;
  }
  .column_list li h3 {
    padding: 0 25px 16px;
  }
  .column_list li p {
    font-size: 15px;
    margin-bottom: 20px;
  }
  .column_list li .btn_border a {
    font-size: 16px;
    width: 57.3vw;
    padding: 8px 0;
  }
}

/*--------------------------------
    コラム詳細ページ
---------------------------------*/

/* コラム見出し */
#sub_main .column_detail_ttl {
  font-size: 34px;
  line-height: 1.5;
}

@media only screen and (max-width: 1024px) {
  #sub_main .column_detail_ttl {
    font-size: 26px;
  }
}

@media only screen and (max-width: 960px) {
  #sub_main .column_detail_ttl {
    font-size: 24px;
  }
}
@media only screen and (max-width: 568px) {
  #sub_main .column_detail_ttl {
    line-height: 1.5;
  }
}


/* ヘッダー・フッター・サイドバー・共通コンテンツ等調整 */
html body {
  background: var(--site-secondary);
}
.global-nav .nav-list .nav-item a {
  text-decoration: none;
}
.area_list li a {
  text-decoration: none;
  color: #333;
}
.area_list .wrap {
  width: 100%;
}
footer li a {
  text-decoration: none;
  color: #333;
}
.content {
  padding-bottom: 80px;
}

main.main {
  border: 5px solid #bedfe2;
  border-radius: 10px;
}

.breadcrumbs {
  margin: 0 0 20px;
  width: 100%;
}
.breadcrumbs a {
  text-decoration: none;
}
.column {
  display: block;
}
.sidebar {
  border-radius: 10px;
  padding-top: 0;
}
.sidebar h3 {
  background: url(../img/common/bg-gr_dot.png);
  color: #fff;
  border-radius: 5px;
}
.sidebar .column_category_list {
  margin-top: -10px;
}
.sidebar .column_category_list li {
  font-size: 16px;
  position: relative;
}
.sidebar .column_category_list li::after {
  content: '';
  background: url(../img/column/dot_line.png) repeat-x;
  height: 2px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.sidebar .column_category_list li a {
  position: relative;
}
.sidebar .column_category_list li a::after {
  content: '';
  background: url(../img/common/icon_arrow_right_green.svg) no-repeat;
  width: 7px;
  height: 10px;
  position: absolute;
  right: 18px;
  top: 40%;
}
.sidebar .column_tag_list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
}
.sidebar .column_tag_list li {
  width: auto;
  display: inline-block;
}
.sidebar .column_tag_list li a {
  font-size: 15px;
  background: var(--site-secondary);
  padding: 5px 8px;
}
.column_under_content .inner {
  max-width: 1300px;
}

@media only screen and (max-width: 1024px) {
  .content {
    padding: 0 2vw 80px;
  }
}
@media only screen and (max-width: 960px) {
  .content {
    width: 94%;
    margin: 0 auto;
    padding: 2vw 0 0;
  }
  div.sidebar {
    width: 100%;
    padding-top: 5px;
  }
}
@media only screen and (max-width: 568px) {
  main.main {
    padding: 20px 5.3vw;
    margin-top: 0;
    border-left: none;
    border-right: none;
    border-radius: 0;
  }
  .content {
    width: 100%;
    margin: 0;
    padding: 0;
  }
  div.sidebar {
    border-radius: 0;
    margin: 4px 0 0;
  }
  .sidebar .column_category_list li {
    font-size: 14px;
  }
  .sidebar .column_tag_list li a {
    font-size: 14px;
  }
}


/* コラム記事本文 */
.main .post-update {
  display: none;
}
.article_info_wrap {
  position: relative;
}
.article_info_wrap:has(.cat-link) .date-tags {
  position: absolute;
  right: 0;
  top: 0;
} 
.main .entry-categories-tags {
  margin: 0;
}
.main .entry-tags .fa {
  margin-right: 3px;
}
.main .entry-tags a {
  font-size: 14px;
  font-family: 'Noto Sans JP';
  color: var(--site-primary);
  margin-right: 2px;
  transition: 0.2s;
}
.main .entry-tags a:hover {
  color: #48a6ad;
}
.entry-content {
  margin-bottom: 1em;
}
.main .date-tags {
  margin: 5px 0 0;
  position: relative;
}
.main .entry-categories {
  margin-bottom: 0.25em;
}
.cat-link {
  background: var(--site-primary);
  transition: 0.2s;
}
.cat-link:hover {
  opacity: 1;
  background: #48a6ad;
}
.main .post-date {
  font-size: 0.9em;
  color: var(--site-primary);
}
.main .article h1 {
  color: #fff;
  font-family: 'Noto Serif JP';
  background: url(../img/common/bg-gr_dot.png);
  padding: 0.75em 1em;
  border-radius: 10px;
  font-size: 28px;
}
.main .article h2 {
  font-size: 26px;
  font-family: 'Noto Serif JP';
  line-height: 1.25;
  text-align: center;
  background: #f4fafa;
  border-top: 1px solid #93cbcf;
  border-bottom: 1px solid #93cbcf;
  position: relative;
  padding: 0.47em 0 0.5em;
}
.main .article h2::before {
  content: '';
  position: absolute;
  height: 2px;
  width: 100%;
  background: #93cbcf;
  top: -6px;
  left: 0;
}
.main .article h2::after {
  content: '';
  position: absolute;
  height: 2px;
  width: 100%;
  background: #93cbcf;
  bottom: -6px;
  left: 0;
}
.main .article h3 {
  font-size: 24px;
  font-family: 'Noto Serif JP';
  padding: 2px 0 12px 20px;
  line-height: 1.0;
  position: relative;
  border: none;
  border-bottom: 1px solid #93cbcf;
}
.main .article h3::before {
  content: '';
  background: linear-gradient(180deg, rgba(147, 203, 207, 1) 0%, rgba(147, 203, 207, 1) 50%, rgba(40, 151, 159, 1) 50%, rgba(40, 151, 159, 1) 100%);
  height: 32px;
  width: 6px;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
.main .article h4 {
  border:none;
  position: relative;
  /* padding-left: 24px; */
  padding-left: 0;
}
/* .main .article h4::before {
  content: '';
  background: #64b4ba;
  width: 12px;
  height: 12px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
} */
.main .article h2, .main .article h3, .main .article h4 {
  margin: 2.0em 0 1.62em;
}
.main p strong {
  color: var(--site-keycolor);
  font-weight: bold;
}
.entry-content p a, .entry-content li a {
  color: var(--site-primary);
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 8px;
}
.main strong {
  font-weight: bold;
}
/* .main ul {
  list-style-type: disc;
}
.main li {
  list-style-type: disc;
} */
.main .wp-block-image {
  background: #f5f5f5;
  border-radius: 10px;
  padding: 40px 0;
  position: relative;
  z-index: 1;
}
.main .wp-block-image::before {
  content: '';
  background: url(../img/column/flowers.png) no-repeat bottom center;
  background-size: contain;
  width: 100%;
  height: 220px;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
.main .wp-block-image img {
  width: 100%;
  max-width: 490px;
  border-radius: 10px;
  margin: 0 auto;
}
.main .column-wrap {
  gap: 3%;
}
.main .column-wrap .wp-block-image {
  background: none;
  padding: 0;
  border-radius: 5px;
}
.main .column-wrap .wp-block-image::before {
  content: none;
}
.main .column-wrap .wp-block-image img {
  border-radius: 5px;
  max-width: initial;
}
.main .wp-block-cocoon-blocks-blogcard {
  margin-top: 2.8em;
}
.main .blogcard-title {
  font-size: 0.92em;
  font-weight: normal;
}
.main .blogcard-snippet {
  display: none;
}
.main .blogcard-site {
  font-size: 0.75em;
}
.main .blogcard-date {
  font-size: 0.75em;
}
.main .blogcard-favicon {
  margin-top: 0;
}
.main .blogcard-label {
  background: var(--site-primary);
}
.main table {
  width: 100%;
}
.main .wp-block-table table {
  width: 100%;
}

.main .list_border_box {
  border: 1px solid var(--site-keycolor);
  padding: 1em 2em;
  margin-bottom: 2em;
}
.main .list_border_box p {
  margin-bottom: 10px;
}
.main .list_border_box ul {
  margin-bottom: 0;
}
.main .list_border_box li {
  list-style-type: disc;
  list-style-position: inside;
}
.main .list_border_box li::marker {
  font-weight: bold;
}
.main .list_border_box a {
  color: var(--site-primary);
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 8px;
}
.main .border_box {
  border: 1px solid #ccc;
  padding: 1em 1.5em;
}
.main .border_box p {
  margin-bottom: 0.5em;
}
.main .border_box p:last-of-type {
  margin-bottom: 0.25em;
}
.list_top_navi {
  width: 40%;
  margin: 20px auto 0;
}
.list_top_navi a {
  font-size: 18px;
  font-weight: bold;
  display: block;
  background: var(--site-primary);
  color: #fff;
  text-align: center;
  padding: 12px 0 14px;
  border-radius: 5px;
  transition: 0.2s;
}
.list_top_navi a:hover {
  background: #48a6ad;
}
.wp-block-cocoon-blocks-iconlist-box {
  padding: 1.2em 2em 1.5em 3.5em;
  /* border-width: 1px; */
}
.wp-block-cocoon-blocks-iconlist-box .iconlist-title {
  margin-bottom: 0.5em
}
.pager-post-navi {
  display: flex;
  flex-direction: row;
}
.pager-post-navi a {
  width: 50%;
  padding: 20px 10px;
}
.post-navi-default.post-navi-border .prev-post {
  border: 1px solid #ccc;
}
.post-navi-default.post-navi-border .next-post {
  border: 1px solid #ccc;
  border-left: none;
}
.main .btn {
  max-width: initial;
  box-shadow: none;
}
.main .tel-btn a::before {
  content: "\f095";
  font-family: FontAwesome;
  margin-top: 5px;
}
.main .tel-btn a {
  box-shadow: 0 5px 1px #b93e4e;
}
.main .mail-btn a::before {
  content: "\f0e0";
  font-family: FontAwesome;
  font-weight: normal;
  margin-top: 3px;
}
.main .mail-btn a {
  box-shadow: 0 5px 1px #1c7a81;
}

.has-fixed-layout a {
  color: #1967d2;  
  text-decoration: underline;
}


@media only screen and (max-width: 960px) {
  .main .entry-tags {
    display: block;
    margin-top: 5px;
  }
  .main .article h2 {
    font-size: 24px;
    margin: 36px 0 30px;
  }
  .main .list_border_box ul {
    padding-left: 0;
  }
  .wp-block-cocoon-blocks-iconlist-box {
    padding: 1.5em 1.5em 1.5em 2.0em;
  }
  .main .column-wrap {
    gap: 1.0em;
  }
}
@media only screen and (max-width: 568px) {
  .main .entry-tags {
    margin: 2px 0 0;
  }
  .main .entry-tags a {
    font-size: 13px;
  }
  .main p {
    font-size: 15px;
  }
  .main .article h2 {
    font-size: 21px;
    margin: 33px -5.3vw 18px;
    line-height: 1.4;
    padding: 0.3em 5.3vw 0.4em;
  }
  .main .article h3 {
    font-size: 19px;
    line-height: 1.4;
    border-bottom: 2px solid #93cbcf;
    margin: 0 0 14px;
    padding: 0 0 2% 16px;
  }
  .main .article h3::before {
    height: 82%;
    width: 5px;
    top: 1%;
  }
  .main .wp-block-image {
    margin: 25px -5.3vw 14px;
    border-radius: 0;
    padding: 25px 0;
  }
  .main .wp-block-image::before {
    content: none;
  }
  .main .wp-block-image img {
    max-width: 89.4%;
    width: 100%;
  }
  .main .blogcard-title {
    font-size: 0.9em;
    line-height: 1.5;
  }
  .main .list_border_box {
    padding: 1em 1.5em;
  }
  .pager-post-navi {
    margin-top: 30px;
  }
  .list_top_navi {
    width: 70%;
    margin: 0 auto 10px
  }
  .wp-block-cocoon-blocks-iconlist-box {
    padding: 1em 0.5em 1.5em;
  }
  .pager-post-navi {
    flex-direction: column;
  }
  .pager-post-navi a {
    width: 100%;
  }
  .post-navi-default.post-navi-border .prev-post {
    border-right: 1px solid #ccc;
    padding: 15px 10px 15px 0;
  }
  .post-navi-default.post-navi-border .next-post {
    border-top: none;
    padding: 15px 0 15px 10px;
    border-left: 1px solid #ccc;
  }
  .main .column-bnr-area {
    padding: 20px 20px !important;
  }
  .main .btn {
    width: 100%;
  }
  .main .tel-btn a::before {
    margin-top: 2px;
    margin-right: 8px;
  }
  .main .mail-btn a::before {
    margin-top: 2px;
    margin-right: 8px;
  }
}

/*--------------------------------
    監修者＆執筆者
---------------------------------*/
/* 監修者 */
.kanshyu .wrap{
  width: 100%;
}
.kanshyu .kansyu_ttl {
  font-size: 15px;
  display: inline-block;
  text-align: center;
  color: #fff;
  background: #64b4ba;
  padding: 0.3em 0.75em 0.3em;
  margin: 0 0 0.5em;
}
.kanshyu img{
  max-width:130px;
  height: fit-content;
  border-radius: 50%;
}
.kanshyu-text{
  width: 81%;
}
.kanshyu-text .name{
  margin: 0;
  font-size: 22px;
  color: var(--site-primary); 
  font-weight: bold;
  padding: 0;
  border-bottom: none;
  font-family: 'Noto Serif JP';
}
.kanshyu-text .txt {
  font-size: 0.85em;
  margin-bottom: 0;
}
/* 執筆者 */
.writer{
  /* padding:40px 55px ;
  background: #fff;
  border-radius: 10px; */
  margin: 3em 0 2.5em;
}
.writer .writer_ttl{
  font-size: 24px;
  font-family: 'Noto Serif JP';
  padding: 2px 0 12px 20px;
  line-height: 1.0;
  border-bottom: 1px solid #93cbcf;
  position: relative;
  margin: 0 0 20px;
}
.writer .writer_ttl::before {
  content: '';
  background: linear-gradient( 180deg, rgba(147, 203, 207, 1) 0%, rgba(147, 203, 207, 1) 50%, rgba(40, 151, 159, 1) 50%, rgba(40, 151, 159, 1) 100% );
  height: 32px;
  width: 6px;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}
.writer .wrap {
  width: 100%;
  align-items: flex-start;
}
.writer img{
  max-width: 140px;
  height: auto;
  border-radius: 50%;
}
.writer-text{
  width: 78%;
}
.writer-text .name{
  font-size: 20px;
  color: var(--site-primary);
  font-weight: bold;
}
.writer-text .txt {
  font-size: 0.85em;
}
@media only screen and (max-width: 1024px) {
  .kanshyu-text{
    width: 72%;
  }
  .writer-text{
    width: 72%;
  }
}
@media only screen and (max-width: 960px) {
  .kanshyu-text{
    width: 78%;
  }
  .writer {
    padding: 4%;
  }
  .writer .writer_ttl {
    font-size: 22px;
    margin-bottom: 20px;
  }
  .writer-text{
    width: 72%;
  }
  .writer-text .name {
    font-size: 18px;
  }
}
@media only screen and (max-width: 568px) {
  .kanshyu{
    position: relative;
    margin-bottom: 40px;
  }
  .kanshyu .kanshyu-text .kansyu_ttl{
    font-size: 12px;
    margin-bottom: 0.5em;
  }
  .kanshyu img{
    float: left;
    position: relative;
    left: initial;
    top: initial;
    width: 30%;
    margin: 0 4.4% 0 0;
  }
  .kanshyu-text .name {
    font-size: 19px;
    line-height: 1.4;
    margin: 0 0 10px;
    padding: 0 0 2% 16px;
  }
  .kanshyu .kanshyu-text p {
    margin-bottom: 0;
  }
  .kanshyu-text{
    width: 100%;
  }
  .kanshyu-text .name{
    border-bottom: none;
  }
  .kanshyu .wrap{
    display: inline-block;
  }
  .writer{
    padding: 0;
    margin: 0;
  }
  .writer img{
    float: left;
    position: relative;
    left: initial;
    top: initial;
    width: 47.8%;
    margin: 0 4.4% 0 0;
  }
  .writer .writer_ttl{
    margin-bottom: 16px;
  }
  .writer .writer_ttl::before {
    height: 82%;
    width: 5px;
    top: 1%;
  }
  .writer .name{
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 10px;
  }
  .writer-text{
    width: 100%;
  }
  .writer .wrap{
    display: inline-block;
  }
}

/* 関連記事（Cocoonで出力される記事） */
.related-entry-heading {
  color: #fff;
  text-align: center;
  font-family: 'Noto Serif JP';
  background: url(../img/common/bg-gr_dot.png);
  padding: 0.45em 1em;
  border-radius: 10px;
  margin-top: 50px;
}
.rect-vertical-card .related-entry-card-thumb {
  border-radius: 5px;
  overflow: hidden;
}
.rect-vertical-card .related-entry-card-content {
  margin-top: 0.3em;
}
@media only screen and (max-width: 960px) {
  
}
@media only screen and (max-width: 568px) {

}


/* 目次 */
.main .toc {
  border: 10px solid #64b4ba;
  border-top: none;
  padding: 0;
  border-radius: 10px;
  width: 82%;
  overflow: hidden;
}
.main .toc-title {
  color: #fff;
  background: #64b4ba;
  font-family: 'Noto Serif JP';
  font-size: 1.4em;
  text-align: center;
  padding: 5px 0 7px;
}
.main .toc .toc-list {
  padding: 1.2em 2em;
}
.main .toc.tnt-number-detail ol li {
  position: relative;
  padding: 5px 0 10px;
}
.main .toc.tnt-number-detail ol li::before {
  margin-right: 6px;
  counter-increment: toc;
  content: counters(toc, "-") "";
  background: var(--site-keycolor);
  color: #fff;
  font-family: 'Noto Serif JP';
  padding: 2px 10px 3px;
  border-radius: 3px;
}
.main .toc.tnt-number-detail ol li ol {
  padding-left: 2.2em;
}
.main .toc.tnt-number-detail ol li ol li {
  font-size: 0.92em;
}
.main .toc.tnt-number-detail ol li ol li::before {
  background: none;
  color: var(--site-keycolor);
  padding: 0;
}
.main .toc.tnt-number-detail ol li ol li::after {
  content: '';
  background: url(../img/column/dot_line.png) repeat-x;
  height: 2px;
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.main .toc a {
  text-decoration: none;
  font-weight: normal;
  color: #333;
}
.main .toc a:hover {
  color: var(--site-keycolor);
}


@media only screen and (max-width: 1024px) {
  .main .toc {
    width: 100%;
  }
}
@media only screen and (max-width: 960px) {
  
}
@media only screen and (max-width: 568px) {
  .main .toc {
    width: 100%;
    border-width: 3px;
  }
  .main .toc .toc-list {
    padding: 0.4em 1em 1em;
  }
  .main .toc.tnt-number-detail ol li {
    text-indent: -2.4em;
    padding-left: 2.4em;
  }
  .main .toc.tnt-number-detail ol li ol {
    padding-left: 0;
  }
  .main .toc.tnt-number-detail ol li ol li{
    padding-left: 0;
    text-indent: 0;
  }
}



/*--------------------------------
    コラムページ 対応エリアマップ
---------------------------------*/
.area_map{
  margin: -70px 0 20px;
}
.area_map .wrap {
  width: 100%;
}
.area_map .map_title{
  border-radius: 10px 10px 0 0;
  background-color: #007b84;
  color: #fff;
  font-size: 34px;
  padding: 18px 40px 26px;
}
.area_map .map_title span{
  border:1px solid #fff ;
  font-size: 0.65em;
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', Meiryo, sans-serif;
  padding: 10px 12px;
  margin-right:15px;
  vertical-align: middle;
}
.area_map .sub_title {
  text-align: center;
  font-size: 24px;
  background: #64b4ba;
  padding: 10px 0;
  color: #fff;
  margin: 0;
}
.column_map{
  padding-bottom: 10px;
  border-radius: 0 0 10px 10px;
}
.column_map .bg_white{
  width: 98%;
  padding: 31px 26px;
  margin: 0 auto;
}
.map-contents{
  padding: 30px;
}
.area_name{
  width: 72%;
}
.area_name dl{
  margin-bottom:15px;
  align-items: center;
}
.area_name dl dt{
  background-color:#0d8fd2 ;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  text-align: center;
  padding: 7px 0;
  max-width: 150px;
  width: 100%;
  margin-right: 10px;
}
.area_name dl:nth-child(2) dt{
  background: #00aca8;
}
.area_name dl:nth-child(3) dt{
  background: #8dc33e;
}
.area_name dl:nth-child(4) dt{
  background: #f2c100;
}
.area_name dl:nth-child(5) dt{
  background: #f29600;
}
.area_name dl:nth-child(6) dt{
  background: #dc689b;
}
.area_name dd::after{
  content: "/";
  margin-left: .2em;
  margin-right: .2em;
}
.area_name dd {
  margin-left: 0;
}
.area_name dd a{
  text-decoration: solid;
  border-bottom: 1px solid;
}

.area_name dd:last-child::after{
  content: none;
}
.illust-map{
  position: relative;
  width: 25%;
  max-width: 270px;
}
.illust-map p{
  box-sizing: border-box;
  border: 3px solid #64b4ba;
  border-radius: 50%;
  background-color: #fff;
  display: inline-block;
  padding: 25px;
  position: absolute;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  align-items: center;
  line-height: 1.5;
}
.illust-map small{
  color: #fff;
  background:var(--site-keycolor) ;
  padding: 5px;
  border-radius: 5px;
  position: relative;
  font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', Meiryo, sans-serif;
  font-size: 12px;
  line-height: 2.5;
}
.illust-map small span{
  font-size: 16px;
}
.illust-map small::after{
  content: "";
  position: absolute;
  bottom: -15px;
  left: 50%;
  margin-left: -7px;
  border: 7px solid transparent;
  border-top:14px solid var(--site-keycolor);
  z-index: 0;
}
/* コラム記事内 対応エリアマップ */
.inner_map .column_map .bg_white {
  padding: 18px 18px;
}
.inner_map .area_map {
  margin: 0 0 10px;
}
.inner_map .area_map .map_title {
  font-size: 28px;
  padding: 20px 20px;
}
.inner_map .area_map .map_title span {
  font-size: 0.65em;
}
.inner_map .map-contents {
  padding: 22px;
}
.inner_map .area_name {
  width: 62%;
}
.inner_map .area_name dl dt{
  font-size: 16px;
  max-width: 75px;
  padding: 3px 0;
}
.inner_map .area_name dd a{
  font-size: 16px;
}
.inner_map .illust-map {
  width: 33%;
}
.inner_map .illust-map img {
  margin: 40px 0 0 8px;
}
@media only screen and (max-width: 1024px) {

  .area_map .map_title span{
    font-size: 20px;
    padding: 10px 20px;
  }
  .area_name{
    max-width: 560px;
  }
  .area_name dl dt{
    max-width: 80px;
  }
  .illust-map{
    width: 32%;
    max-width: 255px;
  }
  /* コラム記事内 対応エリアマップ */
  .inner_map .area_map .map_title {
    font-size: 19px;
  }
  .inner_map .area_map .sub_title {
    font-size: 18px;
  }
  .inner_map .column_map .bg_white {
    padding: 22px 18px;
  }
  .inner_map .area_name dl dt {
    font-size: 15px;
    max-width: 52px;
    padding: 3px 0 5px;
  }
  .inner_map .area_name dd a {
    font-size: 14px;
  }
  .inner_map .illust-map img {
    margin-top: 140px;
  }
}
@media only screen and (max-width: 960px) {
  .area_map{
    margin: 0 0 10px;
  }
  .area_map .map_title{
    font-size: 24px;
    padding: 18px 27px 26px;
  }
  .area_map .map_title span{
    font-size: 16px;
  }
  .column_map .bg_white{
    padding: 20px;
  }
  .map-contents{
    padding: 20px;
  }
  .area_name{
    max-width: 415px;
  }
  .illust-map{
    max-width: 205px;
  }
  .area_name dl dt{
    display: block;
    max-width: 100%;
    margin-bottom: 10px;
  }
  .illust-map p{
    padding: 20px;
  }
  .illust-map img{
    margin-top: 40%;
  }
  /* コラム記事内 対応エリアマップ */ 
  .inner_map .area_map .map_title {
    font-size: 22px;
  }
  .inner_map .area_map .sub_title {
    font-size: 20px;
  }
  .inner_map .area_name dl dt {
    display: block;
    max-width: 100%;
    margin: 0;
  }
  .inner_map .illust-map img {
    margin-top: 96px;
  }
}
@media only screen and (max-width: 568px) {
  .area_map{
    margin: 0 -5.3vw 18px;
  }
  .area_map .map_title {
    text-align: center;
    line-height: 1.4;
    background: url(../img/common/bg-gr_dot.png) repeat;
    border-radius: 0;
    padding: 20px 40px 15px;
  }
  .area_map .map_title span{
    display: block;
    font-weight: bold;
    text-align: center;
    margin: 0 0 5px;
    padding: 3px 0 5px;
  }
  .area_map .sub_title{
    font-size: 18px;
  }
  .column_map{
    border-radius: 0;
    padding-bottom: 0;
    border-bottom:5px solid var(--site-primary);
  }
  .column_map .bg_white{
    width: 100%;
  }
  .area_name{
    margin-bottom: 20px;
    width: 100%;
  }
  .map-contents{
    display: block;
  }
  .area_map dl{
    font-size: 14px;
  }
  .area_map dl dt{
    font-size: 14px;
    margin-right: 0;
  }
  .illust-map{
    width: 85%;
    max-width: initial;
    margin: 0 auto;
  }
  .illust-map p{
    font-size: 15.5px;
    padding:17px 15px;
  }
  .illust-map small{
    color: #fff;
    background:var(--site-keycolor) ;
    padding: 5px;
    border-radius: 5px;
    position: relative;
    font-family: 'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', Meiryo, sans-serif;
    font-size: 12px;
    line-height: 2.5;
  }
  .illust-map small span{
    font-size: 15px;
  }
  .illust-map img{
    margin-top: 0;
  }
  /* コラム記事内 対応エリアマップ */
  .inner_map .area_map {
    margin: 0 -5.3vw 18px;
  }
  .inner_map .area_map .map_title {
    font-size: 24px;
  }
  .inner_map .area_map .sub_title {
    font-size: 18px;
  }
  .inner_map .area_name {
    width: 100%;
  }
  .inner_map .area_name dl dt {
    margin-bottom: 5px;
  }
  .inner_map .illust-map {
    width: 85%;
    margin: 0 auto;
  }
  .inner_map .illust-map img {
    margin: 0
  }
}

/*--------------------------------
    コラムページ CVエリア
---------------------------------*/
.cv_area .wrap {
  width: 100%;
}
.inner-cv .cv_ttl {
  padding: 18px 25px;
  border-radius: 10px 10px 0 0;
}
.inner-cv .cv_top-txt {
  color: #fff;
  font-size: 28px;
  margin-bottom: 0;
}
.inner-cv .cv_top-txt span {
  font-size: 0.65em;
  font-family: 'Noto sans JP', sans-serif;
  border: 1px solid #fff;
  padding: 5px 10px;
  margin-right: 12px;
}
.inner-cv .cv_content {
  padding: 10px 10px;
  border-radius: 0 0 10px 10px;
}
.inner-cv .cv_box {
  padding: 20px 20px;
}
.inner-cv .cv_content p {
  font-size: 26px;
  margin-bottom: 12px;
}
.inner-cv .btn_box_wrapper {
  padding: 20px 20px;
}
.inner-cv .btn_box {
  max-width: 565px;
  margin-bottom: 0;
}
.inner-cv .btn_box .tel {
  margin-bottom: 20px;
}
.inner-cv .btn_box li:nth-child(3) a {
  width: 48.5%;
}
.inner-cv .cv_box_inner::after {
  width: 200px;
  right: 1%;
}
.inner-cv .btn_box .row{
  gap: .5vw;
}
@media only screen and (max-width: 1024px) {
  .inner-cv .cv_ttl {
    padding: 15px 0;
  }
  .inner-cv .cv_top-txt {
    font-size: 20px;
  }
  .inner-cv .btn_box_wrapper {
    padding: 15px 20px;
  }
  .inner-cv .cv_content p {
    font-size: 18px;
  }
  .inner-cv .cv_box {
    width: 100%;
  }
  .inner-cv .btn_box {
    max-width: 320px;
    padding: 10px 0;
  }
  .inner-cv .cv_box_inner::after {
    width: 130px;
  }
  .inner-cv .btn_box .tel {
    margin-bottom: 16px;
  }

}
@media only screen and (max-width: 960px) {
  .inner-cv .btn_box {
    max-width: 360px;
  }
}
@media only screen and (max-width: 568px) {
  .inner-cv {
    margin: 0 -5.3vw;
  }
  .inner-cv .cv_ttl {
    border-radius: 0;
  }
  .inner-cv .cv_top-txt {
    font-size: 23px;
    letter-spacing: -0.02em;
    line-height: 1.3;
    flex-direction: column;
    align-items: flex-start;
  }
  .inner-cv .cv_top-txt span {
    font-size: 14px;
    padding: 0.4em 1.25em;
    margin: 0 0 9px;
  }
  .inner-cv .cv_content {
    padding: 20px 5.3vw;
    border-radius: 0;
  }
  .inner-cv .cv_content p {
    font-size: 16px;
    margin: 0;
    padding-left:45px;
  }
  .inner-cv .btn_box {
    max-width: 100%;
    padding: 0;
  }
  .inner-cv .btn_box_wrapper {
    padding: 0;
  }
  .inner-cv .btn_box .tel {
    margin-bottom: 11px;
  }
  .inner-cv .btn_box li {
    margin: 0;
  }
  .inner-cv .btn_box li:nth-child(2) a {
    width: 100%;
  }
  .inner-cv .btn_box .row{
    display: block;
  }
  /*.inner-cv .cv_content .cv_box_inner p::before{
    content: none;
  }*/
  .inner-cv .cv_box_inner::after{
    width: 158px;
  }
  .inner-cv .cv_content p{
    font-size: 14px;
  }
  .cv_content p .bg_white{
    margin-left: 10px;
  }
}
/*--------------------------------
    関連記事（オリジナル）
---------------------------------*/
.related_posts {
  margin-top: 70px;
}
.related_posts h2 {
  font-size: 32px;
  color: #fff;
  padding: 7px 0 9px;
  border-radius: 10px;
  margin-bottom: 40px;
}
.related_posts ul {
  gap: 40px 0;
  margin-bottom: 4px;
  max-width: 1120px;
}
.related_posts li {
  width: 23.8%;
  max-width: 262px;
}
.related_posts li .thumbnail {
  border-radius: 5px;
  margin-bottom: 13px;
  position: relative;
  overflow: hidden;
}
.related_posts li .thumbnail::before {
  content: '';
  display: block;
  padding-top: 61.8%;
}
.related_posts li img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.related_posts li p {
  padding: 0 10px;
}
.related_posts li a {
  text-underline-offset: 8px;
}
.related_posts li a:hover {
  color: var(--site-primary);
}
@media only screen and (max-width: 960px) {
  .related_posts {
    margin-top: 60px;
  }
  .related_posts h2 {
    font-size: 26px;
    margin-bottom: 32px;
  }
}
@media only screen and (max-width: 568px) {
  .related_posts {
    margin-top: 40px;
  }
  .related_posts h2 {
    font-size: 23px;
    margin: 0 -5.3vw 20px;
    border-radius: 0;
    padding: 9px 0 9px;
  }
  .related_posts ul {
    gap: 26px 0;
  }
  .related_posts li {
    width: 47.8%;
  }
  .related_posts li img {
    margin-bottom: 8px;
  }
  .related_posts li p {
    padding: 0;
  }
  .related_posts li p a {
    font-size: 14px;
  }
}

/*--------------------------------
    SNS（コラム記事下部）
---------------------------------*/
.sns_box {
  border: 5px solid #bedfe2;
  background: #fff;
  padding: 46px 55px;
  position: relative;
  z-index: 10;
  width: 100% !important;
}
.sns_box .sns_icons {
  display: flex;
  align-items: center;
  gap: 0 16px;
}
.sns_box img {
  width: 60px;
}
.sns_box p {
  width: 66.5%;
}

@media only screen and (max-width: 1024px) {
  .sns_box p {
    width: 60%;
  }
}
@media only screen and (max-width: 960px) {
  .sns_box {
    padding: 4vw 4vw;
  }
  .sns_box p {
    width: 50%;
  }
}
@media only screen and (max-width: 568px) {
  .sns_box {
    border: 4px solid #bedfe2;
    padding: 25px 22px 20px;
    justify-content: center;
  }
  .sns_box .sns_icons {
    justify-content: center;
    margin-bottom: 14px;
  }
  .sns_box img {
    width: 40px;
  }
  .sns_box p {
    width: 100%;
  }
}

/*--------------------------------
    コラム記事telボタン
---------------------------------*/
.btn-l-02{
  font-size: clamp(32px, 2.9vw, 42px);
  color: #fff;
  background:#da6272;;
  width: 75%;
  margin: 0 auto;
  font-weight: bold;
  box-shadow: 0 5px 1px #b93e4e;
  border-radius: 50px;
}

.main .tel-btn a.btn-l-02::before{
  margin-right: 10px;
}
.main .tel-btn a.btn-l-02{
  pointer-events: none;
}
/*--------------------------------
    生前見積もりCTA
---------------------------------*/
.cta__seizen {
  border-radius: 6px;
  overflow: hidden;
}
.cta__seizen__top {
  font-size: min(2.3vw, 30px);
  padding: 0.5em 0 0.6em;
  margin-bottom: 0 !important;
}
.cta__seizen__content {
  background: url(../img/column/cta_seizen_bg.jpg) no-repeat center top;
  background-size: cover;
  padding: 3% 5% 0;
}
.cta__seizen__content p {
  color: #5f4431;
  font-size: 16px;
  font-weight: 500;
  margin-bottom: 0;
}
.cta__seizen__content .large_txt {
  font-size: min(2.1vw, 28px);
  line-height: 1.65;
  text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;
}
.cta__seizen__content .large_txt span {
  font-size: 1.4em;
  color: var(--site-keycolor);
  padding-right: 0.075em;
}
.cta__seizen__content .large_txt span:nth-last-of-type(1) {
  padding-left: 0.075em;
}
.cta__seizen__content .txt {
  line-height: 1.85;
  margin: 0.75em 0 1.25em;
}
.cta__seizen .btn_area {
  background: rgba(255, 255, 255, 0.7);
  padding: 3% 4%;
  margin: 0 -6% 0 -6%;
}
.cta__seizen .btn_area .tel_btn {
  width: 40%;
  margin-right: auto;
}
.cta__seizen .btn_area .line_btn {
  width: 27%;
}
.cta__seizen .btn_area .sitetop_btn {
  width: 27%;
  margin-left: 2%;
}

@media screen and (max-width: 960px) {
  .cta__seizen__top {
    font-size: 3vw;
  }
  .cta__seizen__content .large_txt {
    font-size: 2.8vw;
  }
}
@media screen and (max-width: 568px) {
  .cta__seizen {
    margin: 0 -5.3vw;
    border-radius: 0;
  }
  .cta__seizen__top {
    font-size: 5.3vw !important;
    line-height: 1.6;
    padding: 0.6em 0 0.65em;
  }
  .cta__seizen__content {
    background: url(../img/column/cta_seizen_bg_sp.jpg) no-repeat top center;
    background-size: cover;
    padding-bottom: 6%;
  }
  .cta__seizen__content .large_txt {
    font-size: 5.8vw;
    text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97998px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.5136px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;
  }
  .cta__seizen__content .txt {
    font-size: 13px;
  }
  .cta__seizen__content .btn_area {
    flex-direction: column;
    margin: 0;
    padding: 16px 16px;
    gap: 12px 0;
  }
  .cta__seizen__content .btn_area li {
    width: 100% !important;
    margin: 0 !important;
  }
}
/*--------------------------------
    コラムポップアップ用
---------------------------------*/
.column-pop-up {
  display: none;
}

.wp-lightbox-container button {
  display: none;
}
.wp-lightbox-overlay .scrim {
  background: rgba(0, 0, 0, 0.4) !important;
}
/*--------------------------------
    監修者 続きを読む
---------------------------------*/
.readMoreBlock {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 auto 30px;
  padding: 0;
}

.readMoreInner03 {
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}

.readMoreContainer {
  position: relative;
  height: auto;
  max-height: 115px;
  overflow: hidden;
  transition: max-height 0.6s;
  padding-bottom: 10px;
}

.readMoreInner03 .readMoreContainer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  transition: 1s;
  background: linear-gradient(to bottom, transparent 40%, #ffffff 100%);
  pointer-events: none;
}

.readMoreContainer.show:after {
  z-index: -1;
  opacity: 0;
}

.readMoreBtn_column {
  display: block;
  padding: 10px 0 12px;
  color: var(--site-primary);
  background-color: #ebf4f7;
  border: 0;
  cursor: pointer;
  max-width: 235px;
  width: 100%;
  border-radius: 100px;
  margin: 0 auto;
  font-weight: bold;
  font-size: 16px;
  border-radius: 50px;
  position: relative;
}

.readMoreBtn_column span.open::after {
  content: '';
  background: url(../img/common/icon_arrow_down_green.svg) no-repeat;
  width: 16px;
  height: 10px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
}

.readMoreBtn_column span.close::after {
  content: '';
  background: url(../img/common/icon_arrow_down_green.svg) no-repeat;
  width: 16px;
  height: 10px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  right: 20px;
}

@media only screen and (max-width: 568px) {
  .readMoreContainer {
    max-height: 115px;
  }

  .readMoreBtn_column {
    font-size: 15px;
  }
}
