@charset "utf-8";

/*----------------------------------------------------*/ 
/* news, blog,
------------------------------------------------------*/ 

/*----------------------------------------------------*/ 
/* table of contents
------------------------------------------------------*/

.box_header_archive {
    margin-bottom: 40px;
}

.archive_title {
    margin-bottom: 0.7em;
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.4;
}

.archive_title_en {
    text-align: center;
    color: #72cf15;
    font-family: 'Montserrat', sans-serif;
    font-size: 1.5rem;
    font-weight: 600;
}

.toc_list {
    width: 100%;
    border-top: 1px solid #ccc;
    margin-bottom: 40px;
}

.toc_list li {
    overflow: hidden;
    padding: 40px 0;
    border-bottom: 1px solid #ccc;
}

.toc_list li a.link_cover {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
}

.toc_list li a.link_cover:hover {
    color: inherit;
    opacity: 0.7;
}

.toc_list li .box_thumb {
    float: left;
    width: 120px;
    margin-top: 2px;
}

.toc_list li .box_title,
.toc_list li .box_contents {
    margin-left: 160px;
}

.toc_list li h2.entry_title {
    margin-bottom: 0;
    font-size: 1.8rem;
    line-height: 1.35;
}

.toc_list li .post_date {
    display: inline-block;
    margin-bottom: 1.3em;
    font-size: 1.4rem;
    font-weight: 400;
}

a:link .post_date {
    color: #666;
}

.toc_list li .post_contents {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 1.5;
}

.toc_list li .status {
    display: inline-block;
    margin-left: 1em;
    color: #d9333f;
    font-size: 1.4rem;
}

/* 1080px（コンテンツ幅） */
@media only screen and (max-width: 1080px) {

}

/* 768px以下（タブレット縦・スマホ横） */
@media only screen and (max-width : 768px ) {
    
    .toc_list li .box_thumb {
        width: 100px;
    }
    
    .toc_list li .box_title,
    .toc_list li .box_contents {
        margin-left: 130px;
    }

}

/* 480px（スマホ縦） */
@media only screen and (max-width: 480px) {
    
    .toc_list li {
        padding: 2em 0;
    }
    
    .toc_list li .box_thumb {
        width: 80px;
        margin: 0 20px 20px 0;
    }
    
    .toc_list li .box_title {
        margin-left: 100px;
    }
    
    .toc_list li .box_contents {
        margin-left: 0;
    }

}


/*----------------------------------------------------*/ 
/* toc - pagenation
------------------------------------------------------*/ 

#paging.toc {
    margin-bottom: 100px;
}

.wp-pagenavi {
	display: flex;
    justify-content: center;
    line-height: 1;
}

.wp-pagenavi a,
.wp-pagenavi span {
    display: block;
    box-sizing: border-box;
    width: 40px;
    height: 40px;
    margin-right: 0.7em;
    padding: 9px 0;
    vertical-align: middle;
	text-decoration: none;
    text-align: center;
    font-size: 1.6rem;
    font-weight: 600;
    border: none;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
	background: #72cf15;
	color:#FFF;
	border-radius: 50%;
}

/* 1080px（コンテンツ幅） */
@media only screen and (max-width: 1080px) {

}

/* 768px以下（タブレット縦・スマホ横） */
@media only screen and (max-width : 768px ) {

    .wp-pagenavi {
        margin-bottom: 60px;
    }
    
}

@media only screen and (max-width: 480px) {
    
    .wp-pagenavi {
        margin-bottom: 80px;
    }
    
    .wp-pagenavi a,
    .wp-pagenavi span {
        font-size: 1.4rem;
        width: 28px;
        height: 28px;
        margin-right: 10px;
        padding: 6px 0 0 0;
    }

}

@media only screen and (max-width: 375px) {

    .wp-pagenavi a,
    .wp-pagenavi span {
        font-size: 1.4rem;
        width: 22px;
        height: 22px;
        margin-right: 8px;
        padding: 3px 0 0 0;
    }

}


/*----------------------------------------------------*/ 
/* sidebar
------------------------------------------------------*/

#sidebar {
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    width: 900px;
    margin: 0 auto;
    padding-top: 2em;
    border-top: 1px solid #ccc;
}

#sidebar .widget {
	box-sizing: border-box;
    width: 28%;
}

#sidebar .widget h3 {
	font-size: 1.8rem;
	margin-bottom: 0.8em;
}

#sidebar .widget ul li {
	margin-bottom: 0.7em;
    font-size: 1.5rem;
	line-height: 1.5;
}

#sidebar .widget label {
	display: none;
}

#sidebar .box_select {
    position: relative;
    width: 100%;
    max-width: 264px;
}

#sidebar .box_select::after {
    z-index: -1;
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    right: 1em;
    top: 50%;
    margin-top: -3px;
    border-style: solid;
    border-width: 8px 5px 0 5px;
    border-color: #72cf15 transparent transparent transparent;
}

#sidebar .widget select {
    cursor: pointer;
	width: 100%;
	padding: 0.8em 1em;
    -webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #ccc;
    border-radius: 5px;
    background: transparent;
    font-size: 1.5rem;
}

#sidebar .widget .children {
	margin-left:1em;
}

#sidebar .widget .children li {
	line-height:1.4;
	font-size:1.3rem;
	margin-top:0.4em;
	margin-left:1em;
	margin-bottom:0.3em;
}

#sidebar .widget ul.children li:before {
	content:'-';
	margin-left:-1em;
	margin-right:0.5em;
}

/* 1080px（コンテンツ幅） */
@media only screen and (max-width: 1080px) {
    
    #sidebar {
        box-sizing: border-box;
        width: calc( 100% - 18vw);
    }

}

/* 834px（コンテンツ幅） */
@media only screen and (max-width: 834px) {
    
    #sidebar {
        width: calc( 100% - 12vw);
    }
    
}

/* 768px以下（タブレット縦・スマホ横） */
@media only screen and (max-width : 768px ) {
    
    #sidebar {
        display: block;
        box-sizing: border-box;
        width: calc( 100% - 12vw);
        padding-top: 1em;
    }
    
    #sidebar .widget {
        width: 100%;
        padding: 1em 0 0 0;
        margin-bottom: 1.5em;
    }

}

/* 480px（スマホ縦） */
@media screen and (max-width: 480px)  {
    
    #sidebar {
        width: calc( 100% - 14vw);
    }

    #sidebar .widget {
        margin-bottom: 1em;
    }
    

}


/*----------------------------------------------------*/ 
/* single
------------------------------------------------------*/

.toc.single {
    margin: 6em 0 2em 0;
    padding-top: 3em;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
}

.toc.single .entry_title {
    margin-bottom: 1em;
    text-align: center;
    font-size: 2.4rem;
    line-height: 1.3;
}

.toc.single .entry_meta {
    margin-bottom: 3em;
    text-align: center;
    color: #72cf15;
    font-size: 1.4rem;
    font-weight: 500;
}

.toc.single .status {
    color: #999;
}
.toc.single .entry_text {
    margin-bottom: 60px;
}

.toc.single .entry_text p {
    margin-bottom: 1em;
}

.toc.single .wp-block-image {
    display: table;
    max-width: 640px;
    margin: 4em auto;
    text-align: center;
}

.toc.single .wp-block-image.full {
    max-width: 100%;
}

.toc.single .wp-block-image figcaption {
    display: table-caption;
    caption-side: bottom;
    margin-top: 0.8em;
    text-align: left;
    font-size: 1.4rem;
    line-height: 1.4;
    color: #666;
}

.toc.single .wp-block-image.posC figcaption {
    text-align: center;
}

.toc.single .wp-block-image.posR figcaption {
    text-align: right;
}

.toc.single p.entry_meta_ft {
    padding: 1.5em 0 1.5em 0;
    text-align: center;
    font-size: 1.3rem;
    color: #444;
    border-top: 1px solid #e2e2e2;
}

.toc.single .entry_meta_ft a { color: #444; }
.toc.single .entry_meta_ft a:visited { color: #666; }
.toc.single .entry_meta_ft a:hover { color: #72cf15; }

/* pager - single */

#paging.single {
	display: flex;
	justify-content: space-between;
	width: 100%;
    margin-bottom: 100px;
    font-size: 1.4rem;
    line-height: 1.3;
}

#paging .pager_single {
	width: 35%;
}

#paging .pager_single.previous {
    text-align: right;
}

#paging .pager_single a {
	display: block;
	width: 100%;
    text-decoration: none;
}

#paging .pager_single .post_nav span {
    position: relative;
    font-weight: 600;
}

#paging .pager_single .post_nav span::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    border-style: solid;
    top: 50%;
    margin-top: -4px;
}

#paging .pager_single .post_nav.next span     { padding-left: 1.4em; }
#paging .pager_single .post_nav.previous span { padding-right: 1.4em; }

#paging .pager_single .post_nav.next span::after {
    border-color: transparent #72cf15 transparent transparent;
    border-width: 5px 8px 5px 0;
    left: 0;
}

#paging .pager_single .post_nav.previous span::after {
    border-color: transparent transparent transparent #72cf15;
    border-width: 5px 0 5px 8px;
    right: 0;
}


#paging .post_nav {
    margin-bottom: 1em;
}

/* 1080px（コンテンツ幅） */
@media only screen and (max-width: 1080px) {

}

/* 768px以下（タブレット縦・スマホ横） */
@media only screen and (max-width : 768px ) {
    
    .toc.single .wp-block-image {
        width: 100%;
        margin: 3em auto;
    }
    
    #paging .pager_single {
        width: 40%;
    }

}

/* 480px（スマホ縦） */
@media only screen and (max-width: 480px) {
    
    .toc.single {
        margin-top: 4em;
    }
    
    .toc.single .entry_title {
        margin-bottom: .5em;
        text-align: left;
        font-size: 2.2rem;
    }

    .toc.single .entry_meta {
        margin-bottom: 2.3em;
        text-align: left;
    }
    
    .toc.single .wp-block-image {
        margin: 2em auto;
    }
    
    .toc.single .wp-block-image figcaption {
        font-size: 1.3rem;
    }
    
    .toc.single p.entry_meta_ft {
        text-align: right;
    }
    
    #paging .pager_single {
        width: 45%;
    }
    
}


/*----------------------------------------------------*/ 
/* blog-parts
------------------------------------------------------*/

.toc.single .htype04 {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 40px;
}

.toc.single .listLink01 {
    padding-top: .5em
}

.toc.single .listLink01 li {
    position: relative;
    padding-left: 1.1em;
    margin-bottom: .5em;
    line-height: 1.5;
    word-break: break-all;
}

.toc.single .listLink01 li::before {
    content: "";
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-color: transparent transparent transparent #72cf15;
    border-width: 5px 0 5px 8px;
    border-style: solid;
    left: 1px;
    top: .5em;
}

.toc.single .listNotes li {
    margin-bottom: .5em;
    padding-left: 1em;
    text-indent: -1em; 
    line-height: 1.5;
    word-break: break-all;
}

.stageInfo {
    box-sizing: border-box;
	margin: 4em auto 0 auto ;
    padding: 60px;
    width: 800px;
    background: #f7f8fa;
}

.stageInfo.full {
    width: 100%;
}

.toc.single .stageInfo .wp-block-image {
    margin: 0 auto;
    text-align: center;
}

.stageInfo .shozoku {
    font-size: 1.2rem;
    font-weight: 300;
}

/* 旧パーツ調整用 */

.stageInfo .imgBox {
	margin: 0 0 1.5em 0;
    text-align: center;
}

.stageInfo .infoList {
	overflow: hidden;
    margin-top: 3em;
}

.stageInfo .infoList dt {
	clear: both;
	float: left;
	width: 5em;
	position: relative;
	margin-bottom: 0.7em;
    line-height: 1.7;
    font-weight: 600;
}

.stageInfo .infoList dd {
	padding-left: 7em;
	margin-bottom: 0.7em;
    line-height: 1.7;
    word-break: break-all;
}

.bq01 {
	background: #f7f8fa;
	padding: 2em;
	border-radius: 5px;
	margin-bottom: 2em;
	line-height: 1.7;
}

#main .toc.single .post .bq01 p {
	margin-bottom: 0;
	padding: 0;
}

.mapL { display: block; }
.mapS { display: none; }

/* 1080px（コンテンツ幅） */
@media only screen and (max-width: 1080px) {
    
    .stageInfo {
        width: 100%;
    }

}

@media screen and (max-width: 834px)  {
    
    .toc.single .stageInfo .wp-block-image {
        width: 100%;
    }
    
    .stageInfo dl.infoList dt {
        float: none;
        width: auto;
        margin-bottom: .3em;
    }

    .stageInfo dl.infoList dd {
        padding-left: 0;
        margin-bottom: 1.2em;
    }

    
}

@media screen and (max-width: 768px)  {
    
    .stageInfo {
        padding: 40px;
    }
    
}

@media screen and (max-width: 480px)  {
    
    .toc.single .htype04 {
        text-align: left !important;
    }
    
    .toc.single .stageInfo .wp-block-image {
        width: 100%;
    }
    
    .stageInfo {
        padding: 40px 30px;
    }
    
    .stageInfo .htype04 {
        text-align: left !important;
    }

    .mapL { display: none; }
    .mapS { display: block; }

}