@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');

*{
	padding: 0;
	margin: 0;
	gap: 0;
}

h3{
	margin-bottom: 1rem;
}

p:empty {
	display: none;
}

body{
	font-size: 18px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	font-style: normal;
}

body .is-layout-flex {
	display: flex;
	width: 100%;
	justify-content: space-between;
}

.global-nav-list>li .global-nav-name,
.vk-menu-acc ul.sub-menu li a{
	font-size: 16px;
}

.alignfull, .alignfull:is(.swiper-container,
.vk_slider,.wp-block-image,
.wp-block-cover-image,
.wp-block-cover) {
	width: 100%;
	margin: auto;
	max-width: none;
}

.alignfull div[class*=__inner-container],
.alignwide div[class*=__inner-container] {
	max-width: 1200px;
	width: calc(100% - 4rem);
	margin-left: auto;
	margin-right: auto;
}

h1.top-tx{
	font-size: 70px;
	line-height: 100%;
}

h1.top-tx small{
	font-size: 54px;
}

h2.top-col{
	font-size: 64px;
}

h3.top-about{
	font-size: 40px;
}

.wp-block-table{
	margin: 0;
}

.wp-block-table td, .wp-block-table th {
	vertical-align: baseline;
	padding: 1rem;
}

.wp-block-table thead th:nth-of-type(1){
	width: 200px;
}

.wp-block-table thead th:nth-of-type(2){
	width: 100px;
}

.wp-block-cover__inner-container.is-layout-constrained.wp-container-core-cover-is-layout-558bbde1.wp-block-cover-is-layout-constrained{
	max-width: none;
}

.ph-box{
	max-width: 480px;
	min-height: 560px;
}

.wid1400{
	max-width: 1400px;
	width: calc(100% - 4rem);
	margin: auto;
}

.repport-list{
	margin-bottom: 1.25rem;
}

.repport-list .rp-list-block{
	width: calc(50% - 0.5rem)!important;
	position: relative;
	border: 1px solid #ededed;
	padding: 1rem 1.5rem 5rem;
	margin-bottom: 2rem;
}

.repport-list .rp-list-block .button {
	position: absolute;
	max-width: 360px;
	width: calc(100% - 3rem);
	bottom: 1.25rem;
	left: 0;
	right: 0;
	margin: auto;
}

.repport-list .rp-list-block .button.link {
	max-width: none;
	width: fit-content;
}

.repport-list .rp-list-block .button a{
	display: block;
	width: 100%;
	min-height: 3.75rem;
	align-content: center;
	text-align: center;
	text-decoration: none;
	color: #000000;
	border: 1px solid #000000;
	background: #ffffff;
	padding: 0.5rem 1rem;
	margin-top: auto;
	margin-bottom: 0;
	transition: .5s;
}

.repport-list .rp-list-block .button a:hover,
.repport-list .rp-list-block .button a:focus{
	filter: brightness(85%);
	transition: .5s;
}

h2.lineup{
    font-size: 2.5rem;
    text-align: center;
    border-top: none;
    min-height: 6.25rem;
    align-content: center;
}

@media (min-width: 1200px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl {
		max-width: none;
		padding: 0;
	}
}

@media (min-width: 992px) {
	.container, .container-lg, .container-md, .container-sm {
		max-width: none;
		padding: 0;
	}

	.main-section--col--two {
		width: 100%;
	}

	.sub-section--col--two {
		max-width: 240px;
		width: 100%;
		top: 140px;
		left: auto !important;
		right: 0;
		float: none;
	}
}

@media (min-width: 782px) {
	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		flex-basis: auto;
		flex-grow: unset;
		width: calc(50% - 0.5rem);
	}

	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column.profile-box{
		width: calc(100% - 360px);
		margin-left: 2.5rem;
	}

	.wp-block-columns.is-vk-row-reverse:not(.is-not-stacked-on-mobile)>.wp-block-column.profile-box{
		margin-left: 0;
		margin-right: 2.5rem;
	}
}

@media (min-width: 768px) {
	.container, .container-md, .container-sm {
		max-width: none;
		padding: 0;
	}
}
@media (min-width: 576px) {
	.container, .container-sm {
		max-width: none;
		padding: 0;
	}
}

.site-header {
	min-height: 120px;
	align-content: center;
}

.site-header-logo {
	padding: 0;
	margin: 0;
}

.relative{
	position: relative;
}

.relative .abs{
	position: absolute;
}

.wp-block-column {
	max-width: none;
	width: 50%;
	flex-grow: unset;
	flex-basis: auto;
}

h1{ 
	line-height: 80px;
	text-shadow: 0 4px 2px #00000055;
}

.row {
	max-width: 380px;
	margin: auto;
}

.row .widget.widget_block.widget_media_image{
	max-width: 320px;
	margin: auto;
}

.col-md-6 {
	flex: unset;
	max-width: 380px;
	margin: auto;
	padding: 0;
}

.col-md-6:first-of-type,
.col-md-6:last-of-type{
	display: none;
}

.site-footer {
	border-top: none;
	padding-top: 2.5rem;
	background: #796A56;
	color: #ffffff;
	font-size: 18px;
}

.site-footer nav.footer-nav{
	border: none;
	text-align: center;
	margin-top: 1.5rem;
	margin-bottom: 5rem;
}

.footer-nav-list li,
.footer-nav-list li:first-child{
	border: none;
}

.site-footer nav.footer-nav ul li a{
	color: #ffffff;
}

.site-footer .site-footer-copyright{
	font-size: 0.75rem;
	text-align: center;
	background: #ffffff;
	color: #000000;
}

.site-footer .site-footer-copyright a{
	color: #000000;
}

ul.column3{
	list-style: none;
	max-width: 1440px;
	width: calc(100% - 4rem);
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	padding: 0;
	margin: auto;
}

ul.column3 li{
	display: inline-grid;
	width: calc((100% / 5) - 0.5rem);
	padding: 0;
	margin: 0 0.25rem;
	margin-bottom: 1.5rem;
}

ul.column3 li a{
	display: block;
	padding: 1rem .5rem;
	background: #ffffff;
	border: 1px solid #cccccc;
	text-align: center;
	text-decoration: none;
	font-size: 1.25rem;
	font-weight: 700;
}

ul.column3 li .img-box {
	display: block;
	padding: 1rem 0 0;
	margin-bottom: 1.25rem;
	background: #dcd2b9;
}

ul.column3 li img{
	display: block;
}

ul.column3 li .tx-box{
	display: block;
}

ul.column3 li .tx-box .year_tx{
	display: block;
	font-size: 0.75rem;
}

.vk_posts{
	margin: auto;
}

.content-histories{
	max-width: 1200px;
	width: calc(100% - 4rem);
	margin: 0 auto;
	padding-top: 5rem;
	padding-bottom: 10rem;
}

.column2-hist{
	display: flex;
	margin: auto;
	margin-bottom: 3.75rem;
	flex-direction: row;
	align-items: start;
}

.column2-hist.rev{
	flex-direction: row-reverse;
}

.column2-hist .ph_box{
	max-width: 480px;
	width: 40%;
	background: #dcd2b9;
	margin-right: 3.75rem;
}

.column2-hist.rev .ph_box{
	margin-right: 0;
	margin-left: 3.75rem;
}

.column2-hist .ph_box img{
	display: block;
}

.column2-hist .tx_box{
    background: #f6f2f0;
	width: calc(60% - 60px);
}

.column2-hist .tx_box h3 {
	padding: 1rem;
	padding-top: 2rem;
}

.column2-hist .tx_box h3::after {
	left: 0;
}

.column2-hist .tx_box h4{
	width: calc(100% - 2rem);
	color: #539ad7;
	margin: 0 auto 1.25rem;
    background-color: #e4e1e2;
}

.column2-hist .tx_box .profile{
	padding: 1rem 2rem;
}

.detail-box{
	margin-bottom: 3.75rem;
	padding: 2rem;
    background: #f6f2f0;
	border-radius: 0.5rem;
}

.detail-box:last-of-type{
	margin-bottom: 0;
}

.detail-box h4{
	font-size: 1.875rem;
	padding: 0;
	background: transparent;
	margin-bottom: 1.25rem;
}

.detail-box p:nth-last-child(-n+2){
	margin-bottom: 0;
}

ul.annotation-list{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 0;
	margin-bottom: 3.75rem;
}

ul.annotation-list li{
	width: calc(50% - 1rem);
	padding: 1rem;
	margin-bottom: 1.25rem;
	border-radius: 0.5rem;
	background: #f9f8f4;
}

ul.annotation-list li:last-child{
	width: 100%;
}

ul.annotation-list li h4{
	padding: 0;
	background: transparent;
	color: #C90012;
	font-size: 1.5rem;
	padding: 0 1rem;
	margin-bottom: 0.75rem;
}

ul.annotation-list li p{
	width: calc(100% - 2rem);
	margin: 0 auto;
}

table.year-table tr th,
table.year-table tr td{
	font-size: 16px;
	vertical-align: baseline;
}

table.year-table tr th{
	background: #ededed;
}

table.year-table tr td:nth-child(2){
	text-align: center;
}

.block-repports{
	padding: 1.5rem;
	margin-bottom: 2rem;
	background: #f9f8f4;
}

.block-repports:last-of-type{
	margin-bottom: 5rem;
}

.table-mibun{
	max-width: 1200px;
	width: 100%;
	margin: auto;
}

.table-mibun table th,
.table-mibun table td{
	font-size: 1.125rem;
	text-align: left;
}

.table-mibun table th{
	width:240px;
	background: #f9f8f4;
}

ul.attention{
	list-style: none;
	padding: 0;
}

ul.attention li{
	position: relative;
	padding-left: 1.25rem;
}

ul.attention li::before{
	content: "※";
	position: absolute;
	left: 0;
}

ul.sitemap-columns{
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 6.25rem;
}

ul.sitemap-columns li{
	width: calc(33% - 1rem);
	margin-bottom: 1rem;
}

ul.link-list{
	max-width: 1250px;
	list-style: none;
	padding: 0;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
}

ul.link-list li{
	max-width: 400px;
	width: calc(33.33% - 1rem);
	padding: 0;
	margin: 0 0.5rem 1.5rem;
}

ul.link-list li a,
ul.link-list li a img{
	display: block;
}

ul.sougo-link-list{
	max-width: 1000px;
	width: calc(100% - 1.25rem);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	justify-content: flex-start;
	padding: 0;
	margin: 0 auto 6.25rem;
}

ul.sougo-link-list li{
	margin: 0 10px;
}

input[type=date],
input[type=email],
input[type=number],
input[type=password],
input[type=tel],
input[type=text],
input[type=url],
select,
textarea {
	margin: 0;
}

table.contact{
	max-width: 1200px;
	margin: 0 auto 40px;
	text-align: left;
}

table.contact,
table.contact thead,
table.contact tbody{
	border: none;
}

table.contact tr th,
table.contact tr td{
	font-size: 16px;
	border: none;
	border-bottom: 1px solid #cdcdcd;
}

table.contact tr th{
	position: relative;
}

table.contact tr th span.required{
	content: "";
	position: absolute;
	width: fit-content;
	height: fit-content;
	padding: 0 8px;
	color: #ffffff;
	background: #c90012;
	border-radius: 4px;
	top: 0;
	bottom: 0;
	margin: auto;
	margin-left: 1rem;
}

ul.submit{
	max-width: 400px;
	display: flex;
	list-style: none;
	padding: 0;
	margin: auto;
	justify-content: space-between;
}

ul.submit li{
	width: calc(50% - 1rem);
	margin: 0;
}

.wpcf7-spinner{
	display: none;
}

input[type="submit"],
input[type="reset"]{
	display: block;
	width: 100%;
	min-height: 60px;
	font-size: 16px;
	border: none;
	border-radius: 8px;
	color: #ffffff;
	background-color: var(--vk-color-primary);
	cursor: pointer;
}

input[type="submit"]:hover,
input[type="reset"]:hover{
	background-color: var(--vk-color-primary-dark);
}

p.tx_red{
	color: #c90012;
}

.detail-box p{
	margin-bottom: 30px;
}

.in-cl2 {
	display: flex;
	margin-bottom: 30px;
}

.in-cl2.rev {
	flex-direction: row-reverse;
}

.in-cl2 .l-box{
	display: contents;
}

.in-cl2 .r-box{
    width: 100%;
    line-height: 180%;
    margin-left: 1rem;
}

.in-cl2.rev .r-box{
    margin-left: 0;
	margin-right: 1rem;
}

.in-cl2 .l-box img{
	display: grid;
    width: auto;
	height: fit-content;
}

ul.cl2-inbox{
    max-width: 480px;
    padding: 0;
    list-style: none;
    display: flex;
    justify-content: space-between;
    margin: auto;
}

ul.cl2-inbox li{
	width: calc(50% - 0.5rem);
    margin: auto 0;
}

@media (max-width: 1280px) {
	.top-col2{
		position: relative;
		flex-direction: column;
		max-height: 640px;
		z-index: 1;
	}

	.top-col2 .top-l{
		position: absolute;
		max-width: 580px;
		bottom: 0;
		z-index: -11;
	}

	.top-col2 .top-l figure{
		margin: 0;
	}

	.top-col2 .top-r {
		margin: 0;
		width: 100vw;
		align-content: center;
		background: #ffffffcd;
		text-shadow: 0 0 4px #FFFFFF, 0 0 2px #ffffff;
		flex-basis: 560px;
	}

	:where(:is(.wp-block-cover,.wp-block-group):not(.alignfull,.alignwide))>.is-layout-constrained>.alignfull,
	body :where(.alignfull,.alignwide):where(:not(.vk_outer-paddingLR-zero))>.is-layout-constrained>.alignfull {
		margin: 0!important;
	}

	.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column {
		width: 100%;
	}

	.scroll{
		overflow-x: scroll;
	}

	table.year-table{
		width: 100%;
		min-width: 1280px;
	}

	ul.sougo-link-list {
		max-width: 560px;
		justify-content: center;
	}
}

@media (max-width: 960px) {
	ul.column3 li {
		width: calc((100% / 2) - 1rem);
	}
	
	.lineup-area ul.column3{
		justify-content: center;
	}
	
	.lineup-area ul.column3 li {
    	width: calc((100% / 3) - 1rem);
	}
	
	.table-mibun table th{
		width:140px;
	}

	p.tx14{
		font-size: 0.875rem;
	}

	.column2-hist,
	.column2-hist.rev{
		flex-direction: column;
		align-items: center;
	}

	.column2-hist .ph_box,
	.column2-hist.rev .ph_box{
		max-width: 360px;
		width: 100%;
		margin: 0 auto 2.5rem;
	}

	.column2-hist .tx_box{
		width: 100%;
	}

	ul.annotation-list li {
		width: 100%;
	}

	ul.link-list {
		max-width: 830px;
	}

	ul.link-list li {
		width: calc(50% - 1rem);
	}

	table.contact tr th,
	table.contact tr td{
		display: block;
		padding: 10px;
	}

	table.contact tr th{
		background: #dedede;
	}

	table.contact tr td{
		border: none;
		margin-bottom: 20px;
	}

	table.contact tr:last-of-type td{
		margin-bottom: 0;
	}
	
	
	table.contact tr th span.required{
		right: 1rem;
	}
	
	ul.submit {
		flex-direction: column;
	}
	
	ul.submit li{
		width: 100%;
		margin-bottom: 20px;
	}
	
	ul.sitemap-columns li{
		width:calc(50% - 1rem);
	}
}

@media (max-width: 782px) {
	.repport-list{
		margin-bottom: 0;
	}

	.top-col2 .top-l {
		position: absolute;
		max-width: 420px;
	}

	h1.top-tx{
		font-size: 56px;
		margin-top: 3.5rem;
		margin-bottom: 3.5rem;
	}

	h1.top-tx small{
		font-size: 44px;
	}

	p.top-cont{
		margin-bottom: 2.5rem;
	}

	h2.top-col{
		font-size: 50px;
	}

	h3.top-about{
		font-size: 28px;
	}
	
	.has-text-align-center.left-sp782{
		text-align: left;
        word-break: auto-phrase;
	}
	
	.in-cl2,
	.in-cl2.rev {
		flex-direction: column;
        align-items: center;
	}
	
	.in-cl2 .l-box {
		display: inline-block;
	}
	
	.in-cl2 .r-box,
	.in-cl2.rev .r-box{
		margin:1rem auto 0;
	}
}

@media (max-width: 640px) {
	.site-body-container{
		padding: 0;
	}

	.content-histories {
		width: calc(100% - 40px);
	}

	p.top-cont {
		width: calc(100% - 2rem);
		margin: auto;
		word-break: auto-phrase;
		margin-bottom: 2.5rem;
	}

	p.wid640{
		text-align: left;
		width: calc(100% - 2rem);
		margin: auto;
	}

	p.wid640 br{
		display: none;
	}

	.wid1400{
		width: calc(100% - 40px);
	}

	.table-mibun {
		overflow-x: scroll;
	}

	p.table-mibun {
		overflow-x: auto;
	}

	.table-mibun table{
		width: 100;
		min-width: 640px;
	}

	.repport-list .rp-list-block .button a {
		font-size: 1rem;
	}

	ul.column3{
		width: calc(100% - 20px);
	}

	ul.column3 li ,
	.lineup-area ul.column3 li{
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}

	ul.column3 li a {
		display: flex;
		align-items: center;
	}

	ul.column3 li .img-box {
		max-width: 240px;
		width: 50%;
		margin-bottom: 0;
		margin-right: 1.25rem;
	}

	ul.column3 li .tx-box {
		width: 100%;
	}

	ul.sitemap-columns li{
		width:calc(100% - 1rem);
	}
}

@media (max-width: 480px) {	
	h1.top-tx{
		font-size: 48px;
	}

	h1.top-tx small{
		font-size: 32px;
	}

	ul.column3 li,
	.lineup-area ul.column3 li{
		width: fit-content;
	}

	ul.column3 li a {
		display: block;
	}

	ul.column3 li .img-box {
		width: 100%;
		margin: auto;
		margin-bottom: 1rem;
	}

	ul.link-list {
		max-width: 400px;
	}

	ul.link-list li {
		width: 100%;
		margin: 0 auto 1.5rem;
	}
}