@charset "utf-8";
/* column css */

.bg_imgbox {
background-image: url("../img/column/title_bg.jpg");
background-size: cover;
}

@media all and (max-width : 767px ){
.bg_imgbox {
background-image: url("../img/column/title_bg_sp.jpg");
background-size: cover;
}
}

.page_column .box_m,
.page_column_dtl .box_m {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.box_left {
width: 76.19%;
}
.box_right {
width: 19.84%;
}
.box_m h3 {
font-size: 2.2rem;
color:#222222;
font-weight: 500;
padding: 0 10px 0 50px;
position: relative;
display: block;
margin-bottom: 40px;
width:100%;
}
.box_m h3 span{
font-size: 1.0rem;
color:#999999;
font-weight: 500;
padding: 0 0 0 3px;
position: relative;
display: block;
}
.box_m h3::before {
content: "";
display: inline-block;
width: 28px;
height: 1px;
background-size: contain;
background:#222222;
font-family: "Roboto", sans-serif;
position: absolute;
left: 5px;
top: 38%;
}
@media all and (max-width : 900px ){
.page_column .box_m,
.page_column_dtl .box_m {
display: flex;
justify-content: space-between;
flex-direction: column;
flex-wrap: wrap;
}
.page_column_dtl .box_m {
margin-bottom: 50px;
}
.box_left {
width: 100%;
margin-bottom: 40px;
}
.box_right {
width: 100%;
}
}

@media all and (max-width : 767px ){
.page_column_dtl .box_m {
margin-bottom: 30px;
}
.page_column_dtl .box_left {
margin-bottom: 0px;
}
.box_m h3 {
font-size: 1.6rem;
color:#222222;
font-weight: 500;
padding: 0 10px 0 30px;
position: relative;
display: block;
margin-bottom: 20px;
width:100%;
}
.box_m h3::before {
content: "";
display: inline-block;
width: 20px;
height: 1px;
background-size: contain;
background:#222222;
font-family: "Roboto", sans-serif;
position: absolute;
left: 5px;
top: 35%;
}
.box_m h3 span{
font-size: 1.0rem;
color:#999999;
font-weight: 500;
padding: 0 0 0 3px;
position: relative;
display: block;
letter-spacing:0.05em;
}
}


/*-------------------------------------------------
box_left
-------------------------------------------------*/

.column_box_wrap {
display: flex;
flex-wrap: wrap;
margin-bottom: 50px;
}
.column_box_wrap h2 {
display: block; width:100%; margin:0 0 30px 0;
}
@media all and (max-width : 820px ){
.column_box_wrap {
margin-bottom: 20px;
}
}

.column_box {
width: calc(33.3333333% - 60px / 3);
margin-right: 30px;
margin-bottom: 30px;
position: relative;
}

@media all and (max-width : 1260px ){
.column_box {
width: calc(33.3333333% - 40px / 3);
margin-right: 20px;
}
}

.icon_new {
position: absolute;
top: -30px;
left: 15px;
z-index: 10;
}
.icon_new img {
width: 100%;
}

@media all and (max-width : 767px ){
.icon_new {
position: absolute;
top: -24px;
left: 7px;
}
.icon_new img {
width: 70%;
}
}

.column_box:nth-child(3n) {
 margin-right: 0;
}
.column_box .column_img {
margin-bottom: 10px;
position: relative;
aspect-ratio: 3 / 2;
object-fit: cover;
background: #000;
overflow: hidden;
}
.column_box .column_img img {
width: 100%;
transition-duration: 0.7s;	
}
.column_box .column_img img:hover {
transform: scale(1.05);	
transition-duration: 0.7s;	
opacity: 0.8;
}
.column_box .date {
font-family: "Barlow Condensed", sans-serif;
font-weight: 400;
font-size: 1.2rem;
line-height: 100%;
margin-bottom: 10px;
}
.column_box .column_title {
font-weight: 500;
font-size: 1.4rem;
margin-bottom: 15px;
letter-spacing: 0.1em;
padding: 0 10px 0px 0;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
}
.column_box .column_title::before {
display:none;
}
.column_category {
display: flex;
flex-wrap: wrap;
padding-top: 15px;
border-top: solid 1px #ddd;
}
.column_category li {
font-weight: 500;
font-size: 1.0rem;
padding: 6px 11px 6px;
line-height: 110%;
border: solid 1px #ccc;
border-radius: 3px;
margin-right: 5px;
margin-bottom: 5px;
letter-spacing: 0.05em;
white-space: nowrap;
}


@media all and (max-width : 820px ){
.column_box {
width: calc(50% - 20px / 2);
margin-right: 20px;
margin-bottom: 20px;
padding-bottom: 15px;
}
.column_box:nth-child(3n) {
 margin-right: 20px;
}
.column_box:nth-child(2n) {
 margin-right: 0px;
}
.column_box .column_img {
margin-bottom: 20px;
}
}

@media all and (max-width : 767px ){
.column_box {
width: calc(50% - 10px / 2);
margin-right: 10px;
margin-bottom: 10px;
padding-bottom: 5px;
}
.column_box:nth-child(3n) {
 margin-right: 10px;
}
.column_box:nth-child(2n) {
 margin-right: 0px;
}
.column_box .column_img {
margin-bottom: 10px;
}
.column_box .date {
font-size: 1.0rem;
margin-bottom: 6px;
}
.column_box .column_title {
font-size: 1.2rem;
margin-bottom: 15px;
letter-spacing: 0.1em;
padding: 0 10px 0px 0;
}
.column_category {
padding-top: 12px;
}
.column_category li {
font-size: 0.8rem;
padding: 5px 10px 5px;
}
}


/*-------------------------------------------------
box_right
-------------------------------------------------*/

#search_form {
display: flex;
justify-content: center; 	
height:40px;
margin-bottom: 30px;
}
#sbox1 {
width:84%;
padding:0 15px;
border-radius:4px 0 0 4px;
background:#eee;
border:none;
outline:0;
}
#sbtn2 {
width:16%;
border-radius:0 4px 4px 0;
background:#000000;
border:none;
color:#fff;
font-size:18px;
cursor: pointer;
}

@media all and (max-width : 900px ){
#search_form {
display: flex;
justify-content: flex-start; 	
}
#sbox1 {
width:210px;
}
#sbtn2 {
width:40px;
}
}

@media all and (max-width : 767px ){
#search_form {
height:35px;
margin-bottom: 20px;	
}
.fa-magnifying-glass:before {
font-size: 85%;
}
}

#sbtn2:hover {
background: #666666;
}
.column_category_title {
font-size: 1.4rem;
font-weight: 700;
padding: 0 0 12px 5px;
line-height: 100%;
border-bottom: solid 1px #E2E2E2;
margin-bottom: 10px;
}
.column_category_list li {
font-size: 1.4rem;
padding: 15px 10px 15px 30px;
border-bottom: solid 1px #E2E2E2;
position: relative;
}

@media all and (max-width : 1024px ){
.column_category_list li {
font-size: 1.2rem;
}
}

.column_category_list li::before {
content: "";
display: inline-block;
background-image: url("../img/column/icon_category.svg");
width: 16px;
height: 13px;
background-size: contain;
position: absolute;
left: 5px;
top: 36%;
}
.column_category_list li a:hover {
color: #666666;
text-decoration: underline;
}

@media all and (max-width : 767px ){
.column_category_title {
font-size: 1.2rem;
margin-bottom: 10px;
}
.column_category_list li {
font-size: 1.1rem;
padding: 12px 10px 12px 26px;
}
.column_category_list li::before {
width: 14px;
height: 11px;
}
}



/* コラム詳細ページ
-------------------------------------------------- */
@media all and (max-width : 767px ){
.main {
padding-right:0px;	
}
}

.column_date {
line-height: 100%;
padding: 5px 15px 5px 0;
border-right: solid 1px #ddd;
margin-right: 15px;
font-family: "Barlow Condensed", sans-serif;
font-weight: 400;
display: flex;
flex-direction: column;
align-items: center;
}
.column_date .y {
font-size: 1.4rem;
margin-bottom: 7px;
}
.column_date .md {
font-size: 2.4rem;
}
.page_column_dtl .column_title {
font-size: 2.0rem;
font-weight: 700;
line-height: 140%;
padding-left:0px;
margin-bottom:0px;
}
.page_column_dtl .column_title::before {
display:none;
}
.column_titlebox {
display: flex;
align-items: center;
margin-bottom: 10px;
}
.page_column_dtl .column_category {
border-top: none;
}
#ez-toc-container a {
font-size:1.5rem !important;
}

@media screen and (max-width:767px) {
#ez-toc-container a {
font-size:1.3rem !important;
}
}

#ez-toc-container a:visited {
color:#444 !important;	
}
.post_content {
margin-top: 30px;
padding-bottom: 40px;
border-bottom: dotted 1px #ccc;
margin-bottom: 50px;
}
.post_content p {
font-size: 1.4rem;
margin-bottom: 30px;
line-height: 180%;
}
.post_content img {
max-width: 100%;
margin-bottom: 30px;
}
.post_content p a {
text-decoration: underline;
color: #0C4776;
}
.post_content p a:hover {
text-decoration: none;
}

@media all and (max-width : 767px ){
.page_column_dtl .column_title {
font-size: 1.6rem;
padding-right:0px;
}
.post_content {
margin-top: 20px;
padding-bottom: 20px;
margin-bottom: 30px;
}
.post_content p {
font-size: 1.3rem;
margin-bottom: 20px;
line-height: 160%;
}
.post_content img {
margin-bottom: 20px;
}
}

/*目次*/

.agenda {
padding: 30px 40px;
background: #EFEFEF;
background: linear-gradient(-45deg, transparent 25%, #EFEFEF 25%, #EFEFEF 50%, transparent 50%, transparent 75%, #EFEFEF 75%, #EFEFEF);
background-size: 4px 4px;
background-clip: padding-box;
border-top: double 4px #E2E2E2;
border-bottom: double 4px #E2E2E2;
margin: 50px 0;
}
.agenda_ttl {
position: relative;
display: block;
font-size: 2.0rem;
font-weight: 600;
line-height: 100%;
text-align: center;
margin-bottom: 20px;
}
.agenda_ttl::before {
content: "";
display: inline-block;
background-image: url("../img/column/icon_agenda.svg");
width: 19px;
height: 15px;
vertical-align: middle;
margin: -4px 10px 0 0;
}
.post_content li {
position: relative;
margin: 8px 0;
line-height: 1.6;
}
.agenda_list li a:hover {
text-decoration: underline;
color: #0C4776;
}
ol.is-style-index ol>li, ol.is-style-index>li {
position: relative;
margin-left: 2em;
padding-left: 0;
}
ol:not(.is-style-default)[class*=is-style-] {
counter-reset: li;
}
ol:not(.is-style-default)[class*=is-style-]>li::before {
counter-increment: li;
}
ol.is-style-index ol>li::before, ol.is-style-index>li::before {
position: absolute;
top: .25em;
right: calc(100% + .5em);
display: block;
width: auto;
padding: 0 .5em 0 0;
font-family: inherit;
line-height: 1.1;
letter-spacing: -.1px;
white-space: nowrap;
border-right: solid 1px currentColor;
-webkit-transform: scale(.95);
transform: scale(.95);
content: counter(li);
counter-increment: li;
}
ol:not(.is-style-default)[class*=is-style-] ol, ol:not(.is-style-default)[class*=is-style-] ul, ul:not(.is-style-default)[class*=is-style-] ol, ul:not(.is-style-default)[class*=is-style-] ul {
padding-left: 0;
list-style: none;
}
ol.is-style-index ol {
padding-left: 1em;
counter-reset: li2;
}
.agenda_list ol, .agenda_list ul {
padding-bottom: .5em;
padding-left: .5em;
}
ol.is-style-index ol>li::before {
opacity: .75;
content: counter(li) "-" counter(li2);
counter-increment: li2;
}

.post_content h2 {
font-size: 1.6rem;
font-weight: 500;
line-height: 100%;
padding: 15px 10px 15px 20px;
background: #FAFAFA;
border-left: solid 4px #000000;
margin-bottom: 25px;
}
.post_content h3 {
font-size: 1.6rem;
font-weight: 500;
padding: 20px 10px 10px 5px;
border-bottom: solid 2px #ddd;
position: relative;
display: block;
margin-bottom: 25px;
}

@media all and (max-width : 767px ){
.post_content h2 {
font-size: 1.4rem;
padding: 12px 10px 12px 20px;
margin-bottom: 20px;
}
.post_content h3 {
font-size: 1.4rem;
padding: 15px 10px 10px 5px;
margin-bottom: 20px;
}	
}
.post_content h3::before {
display:none;
}
.post_content h5::after {
content: "";
display: block;
background-color: #000000;
width: 21%;
height: 2px;
position: absolute;
left: 0;
bottom: -2px;
}

@media all and (max-width : 767px ){
.agenda {
padding: 25px 20px 20px;
margin: 30px 0;
}
.agenda_ttl {
font-size: 1.6rem;
margin-bottom: 30px;
}
.post_content li {
font-size: 1.3rem;
}
.post_content h4 {
font-size: 1.4rem;
line-height: 130%;
padding: 12px 10px 11px 15px;
margin-bottom: 20px;
}
.post_content h5 {
font-size: 1.4rem;
padding: 15px 10px 10px 5px;
margin-bottom: 20px;
}
}


/*-------------------------------------------------
関連記事
-------------------------------------------------*/

.relation_article {
font-size: 1.6rem;
font-weight: 500;
padding: 5px 0 5px 20px;
border-left: solid 4px #000000;
margin-bottom: 30px;
}
.relation_box .column_title {
font-weight: 500;
font-size: 1.4rem;
margin-bottom: 15px;
letter-spacing: 0.1em;
padding: 0 20px 0px 0;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
}

@media all and (max-width : 820px ){
.relation_box .column_box:nth-child(3) {
display: none;
}
}

@media all and (max-width : 767px ){
.relation_article {
font-size: 1.4rem;
padding: 5px 0 5px 15px;
margin-bottom: 25px;
}
.relation_box .column_title {
font-size: 1.3rem;
margin-bottom: 10px;
}
}



div#ez-toc-container { 
padding: 30px 40px;
background: #EFEFEF;
background: linear-gradient(-45deg, transparent 25%, #EFEFEF 25%, #EFEFEF 50%, transparent 50%, transparent 75%, #EFEFEF 75%, #EFEFEF);
background-size: 4px 4px;
background-clip: padding-box;
border-top: double 4px #E2E2E2;
border-bottom: double 4px #E2E2E2;
margin: 50px 0;
}

@media all and (max-width : 767px ){
div#ez-toc-container {
	margin:20px 0;
	padding:20px 20px 0 20px;
	}
}

div#ez-toc-container .ez-toc-title{
position: relative;
display: block !important;
font-size: 2.0rem !important;
font-weight: 600 !important;
line-height: 100% !important;
text-align: center !important;
margin-bottom: 20px;
}
div#ez-toc-container .ez-toc-title::before {
content: "";
display: inline-block;
background-image: url("../img/column/icon_agenda.svg");
width: 19px;
height: 15px;
vertical-align: middle;
margin: -4px 10px 0 0;
}

@media all and (max-width : 767px ){
div#ez-toc-container .ez-toc-title{
font-size: 1.6rem !important;
}
}


nav ul.ez-toc-list li{position: relative;
  margin-left: 2em;
  padding-left: 0;margin: 8px 0;
    margin-left: 0px;
  line-height: 1.6; }






ul.ez-toc-list ez-toc-list-level-1  ul>li,ul.ez-toc-list ez-toc-list-level-1 >li {
position: relative;
margin-left: 2em;
padding-left: 0;
}
ul:not(.is-style-default)[class*=is-style-] {
counter-reset: li;
}
ul:not(.is-style-default)[class*=is-style-]>li::before {
counter-increment: li;
}
ul.is-style-index ol>li::before, ul.is-style-index>li::before {
position: absolute;
top: .25em;
right: calc(100% + .5em);
display: block;
width: auto;
padding: 0 .5em 0 0;
font-family: inherit;
line-height: 1.1;
letter-spacing: -.1px;
white-space: nowrap;
border-right: solid 1px currentColor;
-webkit-transform: scale(.95);
transform: scale(.95);
content: counter(li);
counter-increment: li;
}
ul:not(.is-style-default)[class*=is-style-] ol, ol:not(.is-style-default)[class*=is-style-] ul, ul:not(.is-style-default)[class*=is-style-] ol, ul:not(.is-style-default)[class*=is-style-] ul {
padding-left: 0;
list-style: none;
}
ol.is-style-index ol {
padding-left: 1em;
counter-reset: li2;
}
.agenda_list ol, .agenda_list ul {
padding-bottom: .5em;
padding-left: .5em;
}
ol.is-style-index ol>li::before {
opacity: .75;
content: counter(li) "-" counter(li2);
counter-increment: li2;
}



@media all and (max-width : 767px ){
.agenda {
padding: 25px 20px 20px;
margin: 30px 0;
}
.agenda_ttl {
font-size: 1.6rem;
margin-bottom: 30px;
}
.post_content li {
font-size: 1.3rem;
}
.post_content h4 {
font-size: 1.4rem;
line-height: 130%;
padding: 12px 10px 11px 15px;
margin-bottom: 20px;
}
.post_content h5 {
font-size: 1.4rem;
padding: 15px 10px 10px 5px;
margin-bottom: 20px;
}
}

.ez-toc-heading-level-2{ margin-bottom:15px !important;}
.ez-toc-list li a{ margin-bottom:8px !important;}



/*-------------------------------------------------
btn
-------------------------------------------------*/

.link_btn {  
position: relative; 
font-size: 1.4rem;
font-weight: 400;
letter-spacing: 0.15em;
text-decoration: none;
display: inline-block;
color:#fff;
padding: 17px 100px 17px 100px;
background-color: #000000;
text-align: left;
outline: none;
border-radius: 5px;
transition: ease .3s; 
}
.link_btn:hover {
background:#666666;
transition: ease .3s;
}
.btn_arrow::after { 
content: '';
position: absolute;
top:50%;
right: 20px;
width: 12px; 
height: 8px;
border-top: 1px solid #fff;
transition: ease .3s;
}
.btn_arrow:hover::after { 
right: 15px;
transition: .3s;
border-top: 1px solid #fff;
}
.link_btn_box {
display: flex;
justify-content: center;
}

@media all and (max-width : 767px ){
.link_btn {  
font-size: 1.1rem;
font-weight: 400;
padding: 7px 40px 7px 40px;
}
.btn_arrow::after { 
top: 44%;
right: 15px;
width: 6px;
height: 6px;
}
}



.profile {
  max-width: 1260px;
  margin: 0 auto;
  display:block;
}

@media all and (max-width : 767px ){
.profile {
padding:0 20px;
}
}
.profile h3 {
font-size: 2.2rem;
color:#222222;
font-weight: 500;
padding: 0 10px 0 50px;
position: relative;
display: block;
margin-bottom: 40px;
}
.profile h3 span{
font-size: 1.0rem;
color:#999999;
font-weight: 500;
padding: 0 0 0 3px;
position: relative;
display: block;
}
.profile h3::before {
content: "";
display: inline-block;
width: 28px;
height: 1px;
background-size: contain;
background:#222222;
font-family: "Roboto", sans-serif;
position: absolute;
left: 5px;
top: 38%;
}

.profileInner {
  max-width: 1260px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border:1px solid #DDDDDD;
  padding:50px;
  margin-bottom:100px;
}
.profileInnerL {
  max-width: 780px;
  margin: 0;
  display: block;
}
.profileInnerL h5{
	font-size: 1.2rem;
	color:#222222;
	font-weight: 500;
  display: block;
}
.profileInnerL h4{
	font-size: 3.0rem;
	color:#222222;
	font-weight: 500;
  display: block;
	margin-bottom:25px;
}
.profileInnerL h4 span{
	font-size: 1.2rem;
	color:#999999;
  display: inline-block;
font-family: "Roboto", sans-serif;
	font-weight:normal;
	margin-left:14px;
}
.profileInnerL p{
	font-size: 1.4rem;
	color:#111111;
	font-weight: normal;
  display: block;
	line-height:180%;
}
.profileInnerR {
  max-width: 330px;
  margin: 0;
  display: block;
}

@media all and (max-width : 767px ){
	.profile h3 {
	font-size: 1.6rem;
	color:#222222;
	font-weight: 500;
	padding: 0 10px 0 30px;
	position: relative;
	display: block;
	margin-bottom: 20px;
	}
	.profile h3 span{
	font-size: 1.0rem;
	color:#999999;
	font-weight: 500;
	padding: 0 0 0 3px;
	position: relative;
	display: block;
		letter-spacing:0.05em;
	}
	.profile h3::before {
	content: "";
	display: inline-block;
	width: 20px;
	height: 1px;
	background-size: contain;
	background:#222222;
	font-family: "Roboto", sans-serif;
	position: absolute;
	left: 5px;
	top: 35%;
	}

	.profileInner {
	  max-width: 1260px;
	  margin: 0 auto;
	  display: flex;
	  justify-content: space-between;
	  flex-wrap: wrap;
		flex-direction:column-reverse;
	  border:1px solid #DDDDDD;
	  padding:20px;
	  margin-bottom:30px;
	}
	.profileInnerL {
	  max-width: 780px;
	  margin: 0 0 20px 0;
	  display: block;
	}
	.profileInnerL h5{
		font-size: 1.0rem;
		color:#222222;
		font-weight: 500;
	  display: block;
	}
	.profileInnerL h4{
		font-size: 2.0rem;
		color:#222222;
		font-weight: 500;
	  display: block;
		margin-bottom:15px;
	}
	.profileInnerL h4 span{
		font-size: 1.0rem;
		color:#999999;
	  display: inline-block;
	font-family: "Roboto", sans-serif;
		font-weight:normal;
		margin-left:10px;
		letter-spacing:0.05em;
	}
	.profileInnerL p{
		font-size: 1.2rem;
		color:#111111;
		font-weight: normal;
	  display: block;
		line-height:180%;
	}
	.profileInnerR {
	  max-width: 330px;
	  margin: 0 0 20px 0;
	  display: block;
	}
	.wp-caption-text {
		font-size:1.3rem;
	}
	}

figure{max-width:100%;}