@charset "utf-8";

#main{
	background-color: #F5F5F5;
}

/*--------------------------------------------------------------------*/

.the_head{
	min-height: 200px;
}
.the_head h1 {
	line-height: 1.4;
}
@media screen and (min-width: 768px){
	.pageTitle-column {
		padding: 16px 0 50px;
	}
	.pageTitle-column-img {
		display: block;
		width: 332px;
		margin-bottom: 45px;
	}
}
@media screen and (max-width: 767px){
	.the_head{
		min-height: 150px;
	}
	.the_head .index{
		font-size: 2.25rem;
	}
	.pageTitle-column {
		padding: 10vw 0 14vw;
	}
	.pageTitle-column-img {
		display: block;
		width: 53.867vw;
		margin-bottom: 4.267vw;
	}
}

/*--------------------------------------------------------------------*/

.the_archive .controls .subjects{
	
}
.the_archive .controls .subjects .filter{
	margin: 0 1em;
	padding-bottom: .1em;
	border-bottom: 1px solid #000;
	opacity: .5;
	cursor: pointer;
	transition: all .3s;
}
.the_archive .controls .subjects .filter.selected{
	opacity: 1;
}
.the_archive .controls .subjects .filter:not(.selected):hover{
	opacity: 1;
	border-color: transparent;
}
@media screen and (min-width: 768px){

}
@media screen and (max-width: 767px){
	.the_archive .controls{
		padding: 0 12px;
	}
}

/*--------------------------------------------------------------------*/

.the_archive .controls .select .container{
	position: relative;
	border-radius: 3px;
	border: 1px solid #4D4D52;
	overflow: hidden;
}
.the_archive .controls .select select{
	padding: 5px 8em 5px 1em;
	font-family: inherit;
	background-color: transparent;
	position: relative;
	z-index: 2;
}
@media screen and (min-width: 768px){

}
@media screen and (max-width: 767px){
	.the_archive .controls .select.subjects{
		flex: 6;
	}
	.the_archive .controls .select.year{
		flex: 4;
	}
	.the_archive .controls .select + .select{
		margin-left: 10px;
	}
	.the_archive .controls .select select{
		padding-right: 3em;
		width: 100%;
		box-sizing: border-box;
	}
}

/*--------------------------------------------------------------------*/

.the_archive .controls .select .selecting{
	width: 2em;
	height: 2em;
	min-height: 100%;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	border-left: 1px solid #4D4D52;
}
.the_archive .controls .select .selecting:after{
	width: 0;
	height: 0;
	border-width: 5px 5px 0 5px;
	border-color: #4D4D52 transparent transparent transparent;
	border-style: solid;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}

/*--------------------------------------------------------------------*/

.pl_posts{
	padding-top: 80px;
}
@media screen and (min-width: 768px){

}
@media screen and (max-width: 767px){
	.pl_posts{
		padding-top: 10vw;
	}
}

/*--------------------------------------------------------------------*/

.posts_not_found{
	min-height: 30vh;
	color: #999;
}
.contents-treatise .the_archive * {
	box-sizing: border-box;
}
.treatise-head {
	display: flex;
		align-items: flex-start;
		justify-content: center;
		flex-direction: column;
		gap: 15px;
	min-height: 150px;
}
.treatise-head .treatise-head__ja {
	position: relative;
}
.treatise-head .treatise-head__ja::after {
	background-color: #AECAD3;
	content: "";
	width: 100%;
	height: 5px;
	position: absolute;
	bottom: -15px;
	left: 0;
}
.treatise-head .treatise-head__en {
	font-size: 2.4rem;
	font-weight: 700;
}
.post-body-date.--th,
.post-body-date.--th * {
	letter-spacing: 0.1em;
	line-height: 1.4;
}
.post-body-overview.--th,
.post-body-overview.--th * {
	letter-spacing: 0.1em;
	line-height: 1.4;
}
.post-body-inner-01.--th,
.post-body-inner-01.--th * {
	letter-spacing: 0.1em;
	line-height: 1.4;
}
.post-body-inner-02.--th,
.post-body-inner-02.--th * {
	letter-spacing: 0.1em;
	line-height: 1.4;
}
.post-body-inner-02.--th .post-body-item sup {
	line-height: 0;
	vertical-align: super;
}
.contents-treatise .the_archive sup {
	line-height: 0;
}
.post-body-inner-01 sup.sup--shirink,
.post-body-inner-02 sup.sup--shirink {
	font-size: 8px;
}
@media screen and (min-width: 768px) {
	.contents-treatise .the_archive {
		padding-bottom: 100px;
	}
}
@media screen and (max-width: 767px){
	.contents-treatise .the_archive {
		padding-right: 7.333vw;
		padding-left: 7.333vw;
		padding-bottom: 13.333vw;
	}
	.treatise-head {
		padding-right: 7.333vw;
		padding-left: 7.333vw;
		min-height: 125px;
	}
	.treatise-head .treatise-head__en {
		font-size: 1.5rem;
	}
}

/* タブボタン */
@media screen and (min-width: 768px) {
	.tab-buttons {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: space-between;
	}
	
	.tab-button {
		background: #d8d8d8;
		color: #808080;
		font-size: 12px;
		cursor: pointer;
		width: 49%;
		padding: 0.469vw 0.625vw;
		transition: 
			background .2s ease-out,
			color .2s ease-out,
			border-color .2s ease-out,
			border-size 0s
		;
		text-align: left;
	}
	
	.tab-button.active {
		border-bottom: 4px solid #000;
		background: #000;
		color: #fff;
	}
}
@media screen and (max-width: 767px) {
	.tab-buttons {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: space-between;
	}
	
	.tab-button {
		background: #d8d8d8;
		color: #808080;
		font-size: 3.733vw;
		cursor: pointer;
		width: 49%;
		padding: 2.667vw 1.333vw 1.333vw 3.2vw;
		transition: 
			background .2s ease-out,
			color .2s ease-out,
			border-color .2s ease-out,
			border-size 0s
		;
		text-align: left;
	}
	
	.tab-button.active {
		border-bottom: 1.067vw  solid #000;
		background: #000;
		color: #fff;
	}
}

/* タブコンテンツ */
.tab-content .tab-panel {
	display: none;
}

.tab-content .tab-panel.active {
	display: block;
}

.post-header {
	background: #fff;
	border-top: 1px solid #000;
	border-bottom : 1px solid #000;
}
.post-body {
	background: #fff;
}
.post-body:nth-of-type(odd) {
	background: #f2f2f1;
}
@media screen and (min-width: 768px) {
	.contents-treatise {
		background: url('../img/home/mission1_bg.png') repeat-y top center / 100%;
	}
	.post-header {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 8px 0;
		font-size: 12px;
		font-weight: 600;
	}
	.post-header > div {
		padding: 0 10px ;
		border-right: 1px solid #bfbfb8;
		display: flex;
		flex-direction: column;
		justify-content: center;
		white-space: nowrap;
	}
	.post-header > div:last-child {
		border-right: none;
	}
	.post-header-inner > div:first-of-type {
		border-bottom: 1px solid #bfbfb8;
	}
	.post-header-date {
		width: 60px;
	}
	.post-header-overview {
		width: 203px;
	}
	.post-header-inner-01 {
		width: 432px;
	}
	.post-header-inner-02 {
		width: 213px;
	}
	.post-header-inner-01 {
		width: 432px;
	}
	.post-header-inner-02 {
		width: 213px;
	}
	.post-header-inner-01.--th.--cl, 
	.post-body-inner-01.--th.--cl {
    width: 322px;
  }
	.post-header-inner-02.--th.--cl, 
	.post-body-inner-02.--th.--cl {
    width: 322px;
  }
	
	.post-header-link {
		width: 72px;
		line-height: 1.4;
	}
	.post-body {
		border-bottom: 1px solid #bfbfb8;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		padding: 7px 0;
	}
	.post-body > div {
		padding-right: 10px;
		padding-left: 10px;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
	}
	.post-body-date {
		width: 60px;
		font-size: 12px;
		word-wrap: break-word;
		line-height: 1.6;
		padding-top: 5px;
		padding-bottom: 5px;
	}
	.post-body-overview {
		width: 203px;
		font-size: 14px;
		font-weight: 500;
		line-height: 1.6;
		padding-top: 5px;
		padding-bottom: 5px;
	}
	.post-body-inner-01 {
		width: 432px;
		font-size: 12px;
	}
	.post-body-title,.post-body-target {
		border-bottom: 1px solid #bfbfb8;
	}
	.post-body-title,
	.post-body-treatise,
	.post-body-target,
	.post-body-item {
		line-height: 1.6;
		letter-spacing: 0;
		padding-top: 5px;
		padding-bottom: 5px;
	}
	.post-body-inner-02 {
		width: 213px;
		font-size: 12px;
	}
	.post-body-link {
		width: 72px;
		line-height: 1.4;
		font-size: 12px;
		justify-content: center !important;
	}
	.post-body-link a {
		border: 1px solid #fff;
		background: #bfbfb8;
		border-radius: 16px;
		display: inline-block;
		line-height: 32px;
		padding: 0 5px 0 10px;
	}
	.post-body-link a + a {
		margin-top: 5px;
	}
	.loading-btn {
		text-align: center;
		margin-top: 2em;
	}
	.loading-btn button {
		background-color: #BFBFB8;
		border: 1px solid #fff;
		padding: 26px;
		border-radius: 40px;
		min-width: 480px;
		font-size: 18px;
		transition: all .2s ease-out;
		cursor: pointer;
		position: relative;
	}
	.loading-btn.--th button {
		color: #1d1d1f;
		-webkit-appearance: none;
	}
	.loading-btn button:hover {
		opacity: .6;
	}
	.loading-btn button svg {
		height: 32px;
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 30px;
	}
}
@media screen and (max-width: 767px) {
	.contents-treatise {
		background: url('../img/home/mission1_bg_sp.png') repeat-y top center / 100%;
	}
	.post-header {
		display: none;
	}
	.post-body {
		border-bottom: 2px solid #aecad3;
		padding: 10.667vw 5.333vw;
	}
	.post-head-sp {
		font-size: 3.2vw!important;
		font-weight: 600;
		width: 100%;
		margin-bottom: 2.4vw;
	}
	.post-head-sp::before {
		font-size: 2.667vw!important;
		content: '● ';
		color: #aecad3;
	}
	.post-body-date {
		font-size: 3.733vw;
		margin-bottom: 8.667vw;
	}
	.post-body-overview {
		font-size: 4.8vw;
		margin-bottom: 8.667vw;
	}
	.post-body-inner {
		margin-bottom: 8.667vw;
	}
	.post-body-title,
	.post-body-target {
		border-bottom: 1px solid #bfbfb8;
		margin-bottom: 2.133vw;
		padding-bottom: 2.133vw;
	}
	.post-body-title,
	.post-body-treatise,
	.post-body-target,
	.post-body-item {
		font-size: 3.733vw;
	}
	.post-body-link {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.post-body-link a {
		border: 1px solid #fff;
		background: #bfbfb8;
		border-radius: 5.867vw;
		display: block;
		line-height: 11.733vw;
		padding: 0 0.667vw 0 1.333vw;
		text-align: center;
		width: 48%;
	}
	.loading-btn {
		text-align: center;
		margin-top: 2em;
	}
	.loading-btn button {
		background-color: #BFBFB8;
		border: 1px solid #fff;
		border-radius: 10vw;
		width: 100%;
		padding: 3.333vw 5.333vw;
		font-size: 4vw;
		box-sizing: border-box;
		overflow: hidden;
		transition: all .5s ease-out;
		cursor: pointer;
		position: relative;
	}
	.loading-btn.--th button {
		color: #1d1d1f;
		-webkit-appearance: none;
	}
	.loading-btn button:hover {
		opacity: .6;
	}
	.loading-btn button svg {
		height: 4.8vw;
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 3.733vw;
	}
}
.no-more {
	text-align: center;
	margin-top: 2em;
}
@media screen and (min-width: 768px) {
	.to-top {
		background: #fff;
		box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
		width: 44px;
		height: 44px;
		position: fixed;
		right: 20px;
		bottom: 100px;
		text-align: center;
		z-index: 100;
	}
	.to-top svg {
		width: 16px;
	}
}
@media screen and (max-width: 767px) {
	.to-top {
		background: #fff;
		box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);
		/* width: 7.867vw;
		height: 7.867vw; */
		width: 50px;
		height: 50px;
		position: fixed;
		right: 2.667vw;
		bottom: 10px;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 100;
	}
	.to-top svg {
		width: 4.633vw;
	}
	.post-body.--th {
		border-bottom: 2px solid #bfbfb8;;
	}
}

@media (min-width: 768px) and (max-width: 1099px) {
	.post-header-date.--th,
	.post-body-date.--th {
		width: 64px;
	}
	.post-body.--th {
		padding-left: 5px;
		padding-right: 5px;
	}
	.post-header-overview.--th,
	.post-body-overview.--th {
		width: 15vw;
		padding: 0 5px;
	}
  .post-header-inner-01.--th, 
	.post-body-inner-01.--th {
    width: 26vw;
  }
	.post-header-inner-02.--th, 
	.post-body-inner-02.--th {
    width: 20vw;
  }
	.post-header-inner-01.--th.--cl, 
	.post-body-inner-01.--th.--cl {
    width: 23vw;
  }
	.post-header-inner-02.--th.--cl, 
	.post-body-inner-02.--th.--cl {
    width: 23vw;
  }
}