@charset "utf-8";
/* column css */

.g_navi .gnav03 a::before {
opacity: 1;
top: -18px;
}

/*-------------------------------------------------
News Box
-------------------------------------------------*/

.news_box {
display: flex;
padding: 25px 20px;
border-bottom: 1px solid #D5D5D5;
margin-bottom: 20px;
}

.news_thum {
width: 300px;
height: auto;
position: relative;
overflow: hidden;
background: #000;
}
.news_thum img {
width: 100%;
transition-duration: 0.7s;	
aspect-ratio: 3 / 2;
object-fit: cover;
}
.news_thum img:hover {
transform: scale(1.05);	
transition-duration: 0.7s;	
opacity: 0.8;
}
.news_box_right {
max-width: 700px;
width: 100%;
margin-left: 60px;
margin-top: 10px;
}

@media all and (max-width : 1024px ){
.news_box_right {
margin-left: 30px;
}
}

.date_box_wrap .date {
font-family: "Roboto", sans-serif;
font-weight: 400;
font-size: 1.3rem;
letter-spacing: 0.05em;
line-height: 100%;
position: relative;
margin-right: 10px;
}
.date_box_wrap .column_cate {
font-size: 1.1rem;
font-weight: 400;
color: #fff;
padding: 6px 10px;
background: #B0B3B7;
border-radius: 5px;
line-height: 100%;
}
.date_box_wrap {
display: flex;
align-items: center;
margin-bottom: 20px;
}
.head_date_box {
margin-bottom: 10px;
}
.news_title a {
font-size: 2.0rem;
font-weight: 500;
letter-spacing: 0.15em;
width: 100%;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
text-overflow: ellipsis;
}

@media all and (max-width : 820px ){
.news_title a {
font-size: 1.4rem;
}
}

.news_title a:hover {
text-decoration: underline;
}
.new_icon {
font-family: "Roboto", sans-serif;
font-weight: 500;
font-size: 1.0rem;
padding: 5px 10px 4px;
color: #fff;
background-color: #000;
margin-bottom: 7px;
line-height: 100%;
display: inline-block;
border-radius: 5px;
}



/* コラム一覧ページ　スマートフォン
-------------------------------------------------- */

@media all and (max-width : 767px ){
.header_search {
margin-bottom: 25px;
}
.all_btn a {
font-size: 1.0rem;
padding: 9px 5px;
}
.header_search_inputs {
margin-left: 10px;
border-radius: 1px;
}
.header_search_inputs input, .header_search_inputs select {
font-size: 1.0rem;
width: 100%;
height: 35px;
padding: 9px 0px;
}

/*-------------------------------------------------
News Box
-------------------------------------------------*/

.news_box {
display: flex;
padding: 15px 5px;
margin-bottom: 5px;
}
.news_box:first-child {
padding: 18px 10px 15px;
}
.news_thum {
width: 100px;
height: auto;
background-color: transparent ; 
}
.news_box_right {
margin-left: 15px;
margin-top: 2px;
}
.date_box_wrap .date {
font-size: 1.0rem;
margin-right: 6px;
}
.date_box_wrap .column_cate {
font-size: 0.8rem;
letter-spacing: 0;
padding: 5px 6px;
}
.date_box_wrap {
margin-bottom: 5px;
}
.head_date_box {
margin-bottom: 2px;
}
.news_title a {
font-size: 1.2rem;
letter-spacing: 0.1em;
-webkit-line-clamp: 1;
}
.new_icon {
font-size: 0.8rem;
padding: 4px 5px 3px;
margin-bottom: 5px;
}
}



/* コラム詳細
-------------------------------------------------- */



/*-------------------------------------------------
SNSリンクボタン
-------------------------------------------------*/

.sns-links {
 display: flex;
 flex-wrap: wrap;
 margin: 18px 0;
}
.sns-links li {
 width: 70px;
}
.sns-links li:nth-child(n+2) {
 margin-left: 10px;
}
.sns-links li a {
 display: block;
 padding: 0 5px;
 border-radius: 4px;
 text-align: center;
 transition: all .4s ease;
}
.sns-links li:nth-child(1) a {
 background-color: #3B5A9A;
}
.sns-links li:nth-child(2) a {
 background-color: #000;
}
.sns-links li:nth-child(3) a {
 background-color: #28C00B;
}
.sns-links li a:hover {
 opacity: .8;
}

@media screen and (max-width: 767px) {
.sns-links {
margin: 10px 0;
}
.sns-links li {
width: 60px;
}
.sns-links li:nth-child(n+2) {
margin-left: 10px;
}
}

.report_title {
font-weight: 700;
font-size: 2.2rem;
letter-spacing: 0.2em;
padding: 0 10px 10px 5px;
border-bottom: solid 2px #ddd;
margin-bottom: 20px;
}
.post_date {
display: flex;
align-items: center;
font-size: 1.2rem;
font-weight: 500;
line-height: 100%;
margin-bottom: 20px;
margin-left: 10px;
}
.intro_imgbox img {
margin-bottom: 60px;
}

@media all and (max-width : 767px ){
.report_title {
font-size: 1.4rem;
letter-spacing: 0.1em;
padding: 0 10px 5px 0px;
background-size: 3%;
margin-bottom: 10px;
}
.post_date {
font-size: 1.0rem;
margin-bottom: 15px;
margin-left: 5px;
}
.intro_imgbox img {
margin-bottom: 0px;
}
}


/*-------------------------------------------------
目次
-------------------------------------------------*/

.agenda {
padding: 25px 40px;
background: #F9F9F9;
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: solid 3px #ddd;
border-radius: 10px;
margin-bottom: 50px;
}
.agenda_ttl {
font-family: "Zen Maru Gothic", sans-serif;
font-weight: 700;
position: relative;
display: block;
font-size: 2.4rem;
line-height: 100%;
text-align: center;
margin-bottom: 20px;
}
.agenda_ttl::before {
content: "";
display: inline-block;
background-image: url("../img/tour/icon_agenda.svg");
width: 19px;
height: 15px;
vertical-align: middle;
margin: -4px 10px 0 0;
}
.agenda_list {
font-size: 1.6rem;
letter-spacing: 0.2em;
}
.agenda_list .list_ttl {
font-weight: 700;
}
.agenda_list li a:hover {
text-decoration: underline;
color: #034E95;
}
ol.is-style-index ol>li, ol.is-style-index>li {
position: relative;
margin-left: 2.5em;
padding-left: 0;
margin-bottom: 5px;
}
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;
margin: 5px 0 10px 0;
font-weight: 400;
}
.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
-------------------------------------------------- */

.post_content {
counter-reset: number 0;
padding-bottom: 40px;
border-bottom: solid 1px #D5D5D5;
margin-bottom: 60px;
}
.post_content h3 {
font-weight: 700;
font-size: 2.0rem;
color: #fff;
padding: 10px 10px 10px 20px;
background: #0C4776;
border-radius: 5px;
display: block;
margin: 30px 0;
}
.post_content h3::before{
counter-increment: number 1;
content: counter(number) ". ";
}
.post_content h4 {
font-weight: 700;
font-size: 2.0rem;
color: #555;
padding: 20px 10px 10px 5px;
border-bottom: solid 2px #ddd;
position: relative;
display: block;
margin-bottom: 30px;
}
.post_content h4::after {
content: "";
display: block;
background-color: #5584A6;
width: 21%;
height: 2px;
position: absolute;
left: 0;
bottom: -2px;
}
.post_content p {
font-size: 1.5rem;
line-height: 180%;
padding-bottom: 30px;
}
.post_content img {
margin-bottom: 25px;
}
.post_content p a {
text-decoration: underline;
color: #034E95;
}
.post_content p a:hover {
text-decoration: none;
}

@media all and (max-width : 767px ){
.agenda {
padding: 25px 10px 10px;
margin: 30px 0;
border-radius: 5px;
}
.agenda_ttl {
font-size: 1.6rem;
margin-bottom: 30px;
}
.agenda_list {
font-size: 1.3rem;
letter-spacing: 0.1em;
}
.post_content {
padding-bottom: 10px;
margin-bottom: 20px;
}
.post_content h3 {
font-size: 1.4rem;
padding-left: 10px;
}
.post_content h4 {
font-size: 1.4rem;
padding: 10px 10px 10px 3px;
margin: 20px 0;
}
.post_content h5 {
font-size: 1.4rem;
padding: 15px 10px 10px 5px;
margin-bottom: 20px;
}
.post_content p {
font-size: 1.2rem;
padding-bottom: 20px;
}
.post_content img {
margin-bottom: 15px;
}
}

.red {
color: red;
}