@charset "utf-8";
/* CSS Document */

html {
	scroll-behavior: smooth;
	scroll-padding-top: 100px;
}
html,body{
	font-family: 'Noto Sans JP', sans-serif;
	font-size:17px;
	font-weight: 500;
	line-height: 1.8em;
	color:#3E3A39;
	padding:0;
	margin: 0;
	background: url("../images/haikei01_min.png");
}
:root{
	--color1:#0a6e96;
	--color2:#dc5523;
	--color3:#aa3246;
	--color4:#782d96;
	--color5:#bfa451; 
	--color6:#006c46;
	--color7:#a9592c; /*MICE*/
}
img{
	max-width: 100%;
}
.bold{
	font-weight:bold!important;
}
.main{
	z-index: 5!important;
}
.spacer20{height:20px;}
.spacer100{height:100px;}
.hero{
	object-fit: cover;
	width:100%;
	margin:0;
	padding:0;
}
.flex{
	display: flex;
}
ol li{
	margin-left: 1em;
}
ul li{
	margin-left: 1em;
	list-style-type: "・";
}
.gothic{font-family: 'Noto Sans JP', sans-serif;}
.mincho{font-family: 'Noto Serif JP', serif;}
.pc{
	display: block;
}
.pcs{
	display: inline;
}
.sp{
	display: none;
}
.spflex{
	display: none;
}
.txt{
	margin-left: 1em;
}
.centertxt{
	text-align: center;
}
.righttxt{
	text-align: right;
}
.lefttxt{
	text-align: left;
}
.centerimg{
	margin: 0 auto;
}
.leftimg{
    float:left;
    margin-right: 20px;
}
a{
	color:#000;
	text-decoration: underline;
}
a:hover{
	opacity: 0.7;
	text-decoration: none;
}
a:visited{
	color:#000;
	text-decoration: none;
}
h1 a{
	text-decoration: none;
}
h1{
	font-size:24px;
    line-height: 26px!important;
	font-weight:700;
	position: relative;
	z-index: 1!important;
}
h1.uline,h1.uline1,h1.uline2,h1.uline3,h1.uline4,h1.uline5,h1.uline6{
	font-size:26px;
	font-weight:700;
	font-family: 'Noto Serif JP', serif;
	text-align: center;
	line-height: 0;
	margin:1em 0;
/*	position: relative;*/
/*	z-index: 1!important;*/
}
h1.uline:before{
	content: '';
	position: absolute;
	left:50%;
	bottom: -20px;
	display: inline-block;
	width:50px;
	height: 2px;
  	-webkit-transform: translateX(-50%);
  	transform: translateX(-50%);
   	background: #3E3A39;
}
h1.uline1:before{
	content: '';
	position: absolute;
	left:50%;
	bottom: -20px;
	display: inline-block;
	width:50px;
	height: 2px;
  	-webkit-transform: translateX(-50%);
  	transform: translateX(-50%);
   	background: var(--color1);
}
h1.uline2:before{
	content: '';
	position: absolute;
	left:50%;
	bottom: -20px;
	display: inline-block;
	width:50px;
	height: 2px;
  	-webkit-transform: translateX(-50%);
  	transform: translateX(-50%);
   	background: var(--color2);
}
h1.uline3:before{
	content: '';
	position: absolute;
	left:50%;
	bottom: -20px;
	display: inline-block;
	width:50px;
	height: 2px;
  	-webkit-transform: translateX(-50%);
  	transform: translateX(-50%);
   	background: var(--color3);
}
h1.uline4:before{
	content: '';
	position: absolute;
	left:50%;
	bottom: -20px;
	display: inline-block;
	width:50px;
	height: 2px;
  	-webkit-transform: translateX(-50%);
  	transform: translateX(-50%);
   	background: var(--color4);
}
h1.uline5:before{
	content: '';
	position: absolute;
	left:50%;
	bottom: -20px;
	display: inline-block;
	width:50px;
	height: 2px;
  	-webkit-transform: translateX(-50%);
  	transform: translateX(-50%);
   	background: var(--color5);
}
h1.uline6:before{
	content: '';
	position: absolute;
	left:50%;
	bottom: -20px;
	display: inline-block;
	width:50px;
	height: 2px;
  	-webkit-transform: translateX(-50%);
  	transform: translateX(-50%);
   	background: var(--color6);
}

.sub{
	font-size:15px;
	font-weight: 500;
	text-align: center;
}
.vertical{
	writing-mode: vertical-rl;
	font-size:22px;
	font-weight:500;
	font-family: 'Noto Serif JP', serif;
	margin-top: -10px;
}
dl.koten{
	display: flex;
	flex-wrap: wrap;
	width:420px;
	font-size:15px;
}
.koten dt{
/*	width:160px;*/
	width:12em;
}
.koten dd{
	width:calc(100% - 12.5em);
}
.f24{font-size:24px;line-height:  1.8em;}
.f22{font-size:22px;line-height:  1.8em;}
.f20{font-size:20px;line-height:  1.8em;}
.f19{font-size:19px;line-height:  1.8em;}
.f18{font-size:18px;line-height:  1.8em;}
.f17{font-size:17px;line-height:  1.8em;}
.f16{font-size:16px;line-height:  1.8em;}
.f15{font-size:16px;line-height:  1.8em;}
.f14{font-size:14px;line-height:  1.8em;}
.f13{font-size:13px;line-height:  1.8em;}
.f12{font-size:12px;line-height:  1.8em;}
.f11{font-size:11px;line-height:  1.8em;}
.f10{font-size:10px;line-height:  1.8em;}
.w100{font-weight: 100;}
.w200{font-weight: 200;}
.w300{font-weight: 300;}
.w400{font-weight: 400;}
.w500{font-weight: 500;}
.w600{font-weight: 600;}
.w700{font-weight: 700;}
.w800{font-weight: 800;}
.w900{font-weight: 900;}
.floatright{float:right;}
.floatleft{float:left;}
.kcbheader{
    background-color: #ffffff99;
	background-image:
		url("../images/header_cloud.webp");
/*		url("../images/haikei01_min.png");*/
	background-repeat:
		no-repeat;
/*		repeat;*/
	background-position:
		top -2px right -1px;
/*		top left;*/

	height:93px;
	position: fixed;
	width: 100%;
	font-weight:600;
	z-index: 9999;
}
.container{
	position: relative;
	width:1100px;
	display: block;
	margin:0 auto;
}
.containermax{
	position: relative;
	width:100%;
	display: block;
	margin:0 auto;
	padding:0 20px;
}
.c900{
	width:900px;
	height:auto;
	overflow: hidden;
	display: block;
	margin:0 auto;
	position: relative;
}
.c810{
	width:810px;
	display: block;
	margin:0 auto;
}
.c750{
	width:750px;
	display: block;
	margin:0 auto;
}
.c600{
	width:600px;
	display: block;
	margin:0 auto;
}
.red{
    color:#ff0000;
}
.dan{
	width:410px;
	margin: 0 15px;
	float:left;
	height:auto;
	overflow: hidden;
}
p.th,label.th{
    font-weight: 400;
}
.normal{
	display: flex;
	justify-content:flex-start;
	align-items: flex-start;
	gap:30px;
}
h3.accordion-title{
	background:#A6BEC7;
	padding:5px 15px!important;
	cursor: pointer;
}
.contentmenu{
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:8px;
}
.titlelogo{
	font-size: 20px;
	font-weight: 200;
	line-height: 1.3em;
	margin:16px 0 0;
	width:24em;
}
.titlelogo a{
	text-decoration: none;
}
.kcbheader .container{
	position: relative;
}
.ms{
	transform: scale(0.9,1);
	white-space: nowrap;
}
.ss{
	transform: scale(0.65,1);
	white-space: nowrap;
}

.btn_mice{
	width:140px;
	height: 35px;
	display: flex;
	position: absolute;
	top:-6px;
	right:0px;
	justify-content: center;
	align-items: center;
/*	background: #a9592c;*/
	cursor: pointer;
	font-size: 12px;
	color:#fff;
	font-weight: 300;
}
.btn_mice:before{
	content: '';
	position: absolute;
	left:50%;
	bottom: 2px;
	display: inline-block;
	width:50px;
	height: 2px;
  	-webkit-transform: translateX(-50%);
  	transform: translateX(-50%);/*位置調整*/
   	background: #ffffff;
}
.border{
	border:1px solid #333;
	border-collapse: collapse;
}
.border td,.border th{
	border: 1px solid #333!important;
}

.kcbfooter{
	border-top: #231815 solid 2px;
	border-bottom: #231815 solid 2px;
	padding:20px 0;
	font-weight: 300;
}
.footer_title{
	font-size:18px;
	font-weight: 300;
}
.footer_address{
	font-size:12px;
}
.footer_tel{
	font-size:12px;
}
.footer_menu{
	font-size:12px;
}
.copyright{
	font-size:10px;
	text-align: right;
}
.accordion-content{
	display: none;
}
.vtitle{
	font-size:22px;
	font-weight: 700;
	border-left:1px solid #0a6e96;
	border-right:1px solid #0a6e96;
	padding:0 10px;
	width: fit-content;
}
.post{
	width:5em;
}
.name{
	width:7em;
	text-align: center;
}
.year{
	white-space: nowrap;
	width:10em;
}
.table-normal td{
	vertical-align: top;
}
.back_blue{
	background:url("../images/haikei01_min_B.png");
	background-repeat: repeat;
}
.newsarea{
	width:750px;
	margin: 0 auto;
	background:#ffffff;
	padding:20px;
}
.newsarea ul{
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 0px 20px;
	margin: 10px 0 20px;
}
.newsarea ul li{
	list-style-type: none;
}
li.title{
	width:25em;
}
.lbl_news,.lbl_bunka,.lbl_koten,.lbl_inter,.lbl_mice{
	color:#ffffff;
	font-size:13px;
	display: flex;
	justify-content: center;
	align-items: center;
	width:80px;
	height:20px;
}
.lbl_news{
	background:#1450aa;
}
.lbl_bunka{
	background:#dc5523;
}
.lbl_koten{
	background:#782d96;
}
.lbl_inter{
	background:#006c46;
}
.lbl_mice{
	background:#a9592c;
}
.memberfee{
	border-spacing: 0px;
	border-collapse: collapse;
	width:100%;
}
.memberfee th{
	width:7em;
	text-align:justify;
	text-align-last:justify;
	padding:10px;
	border:#ccc dotted 1px;
}

.memberfee td{
	padding:10px;
	border:#ccc dotted 1px;
}
.mtitle{
	font-size:20px;
	font-weight: 700;
	color: var(--color1);
}
.newlb{
	font-size:12px;
	font-weight:800;
	color:#ff0000;
	margin-left:10px;
	display: inline-block;
}
.newlb2{
	font-size:16px;
	font-weight:800;
	color:#ff0000;
	margin-left:10px;
	display: inline-block;
}
.color0{
	color:#3E3A39;
}
.color6{
	font-size:20px;
	color: var(--color6);
}

.vpic {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  justify-content: start;
  align-items: flex-end;
}

.vpic figure {
  width: 100%;
  margin: 0;
}

.vpic img {
  width: 100%;
  height: auto;
  display: block;
}
.gallery2{
	width:100%;
	display: flex;
	gap:20px;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.gallery2 a {
  display: block; /* ← これが重要！ */
}
.gallery2 img{
	width:360px;
}

.gallery3{
	width:100%;
	display: grid;
	grid-template-columns: repeat(auto-fill, 250px);
	grid-gap:20px;
	justify-content: center;
	align-items: flex-start;
}
.gallery3 li{
	list-style-type: none;
}

.gallery_org{
	width:100%;
	display: grid;
	grid-template-columns: repeat(auto-fill, 380px);
	grid-gap:50px;
	justify-content: center;
}
.memberlist{
	width:100%;
	display: grid;
	grid-template-columns: repeat(auto-fill, 380px);
	grid-gap:10px;
	justify-content: center;
}
.pdflist{
	width:100%;
/*	display: grid;*/
/*	grid-template-columns: repeat(auto-fill, 120px);*/
/*	grid-gap:10px;*/
    display: flex;
    justify-content: center;
    align-items: flex-start;
	gap:25px;
    flex-wrap: wrap;
    padding:20px;
}
.pdflist figure{
    width:120px;
}
.pdflist img{
	width:120px;
	height:80px;
	object-fit: cover;   /* 画像をトリミングして埋める */
	object-position: center; /* 中央部分を表示 */
    flex-shrink: 0;
}
.pdflist figcaption{
	font-size:12px;
	line-height:14px;
	text-align: left;
}
.gallery_org figure{
	width:350px;
	float:left;
}
.gallery_org figcaption{
	text-align: left;
}
.box{
	border:1px solid #ccc;
	padding:20px;
}
.dangumi{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.dangumi ul,.dangumi div{
	width:50%;
}
figure{
	text-align: center;
}
.shikisai{
	width:300px;
}
.spsp img{
	width:250px;
}
.moviearea{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(360px,360px));
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:40px;
}
.picarea{
	display: flex;
	justify-content: center;
	gap:20px;
	flex-wrap: wrap;
}
.ayumipic{
	height:300px;
}
.ayumipic1{width:400px;}
.ayumipic2{width:400px;}
.kotenpic{
	width:180px;
}
.picbox-r{
	margin-left: 30px;
}
.picbox{
	width:330px;
}
.file{
	margin:0px 5px -2px;
}
.banner{
	display: grid;
	gap:20px;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-template-rows: 1fr;
}
.banner img{
	height:45px;
}
.newlabel{
    background:#dd0000;
    padding:0 5px;
    font-size:12px;
    color:#ffffff;
    line-height: 1.2em;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 600;
    margin:5px 0 0 0px;
    width:fit-content;
    display: inline;
}
.inqform{
	font-size:16px;
	line-height: 2em;
	width:100%;
	table-layout: fixed;
}
.inqform tr th{
    font-weight: 400;
    text-align: left;
    width:15em;
}
.inqform tr td,.inqform tr th{
    padding:10px 0;
}
.req{
    color:#ff0000;
    font-size:12px;
}
.inqform input,select,textarea{
    width:100%;
}
input:not([type="file"]),select,textarea{
    border: 1px solid #999999;
    border-radius:5px;
    padding:0 5px;
}
textarea{
    width:100%;
}
.button{
    display: block;
    max-width:500px;
    width:100%;
    height:70px;
    margin:0 auto;
    background:#666;
    color:#fff;
}
.button-link{
    display: flex;
	justify-content: center;
	align-items: center;
    max-width:500px;
    width:100%;
    height:70px;
    margin:0 auto;
    background:#DBDBDB;
    color:#000;
	border: 1px solid #888;
	border-radius: 5px;
}

.video-wrapper {
  position: relative;
  width: 100%;
  padding-top: 42.85714%; /*56.25%;  16:9 = 9/16 = 0.5625 */
}
.video-wrapper-sp{
	display: none;
}
.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.entry-title{
	font-size:26px;
	font-weight: 400;
}
.catbtn{
	width:100%;
	display:flex;
	justify-content: center;
	align-items: center;
	gap:10px;
	flex-wrap: wrap;
}
.catbtn li{
	width:120px!important;
	height:30px!important;
}
.catbtn a{
	text-decoration: none!important;
}
.currentct{
	opacity: 0.4;
	border:3px solid #ff0000;
}
.list-ichi li{
	list-style-type: "一、";
	margin:10px 0;
}
.ayumi li{
	margin-bottom: 20px;
}
.outline{
	width:420px;
	font-size:14px;
}
.backnum{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 20px; /* 各リンクの間隔 */
  justify-items: start; /* 左寄せ */
}
.geihinkan-menu{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap:20px;
	margin:50px 0;
}
.geihinkan-menu li{
	width:15em;
	height:35px;
	background:#F1EFE9;
	border-radius:5px;
	border:1px solid #D5CCCC;
	text-align: center;
	list-style-type: none;
}
.miceimg{
	width:250px;
}
.no-border{
	text-decoration: none!important;
}
.bunya1{
	color:#A41F21;
}
.bunya2{
	color:#9E7B16;
}
.bunya3{
	color:#025B4C;
}
.bunya4{
	color:#096E14;
}
.bunya5{
	color:#CD2BCD;
}
.wrapper{
	height:auto;
	overflow:hidden;
}
.outlink{
	background:#333377;
	font-size:12px;
	width:6em;
	padding:0px 2px;
	line-height: 16px;
	text-align: center;
	font-weight: 700;
	color:#ffffff;
	display: inline-block;
	margin:0 1em;
}
.leftpic{
    width:250px;
    float:left;
    margin: 0 30px 30px 0;
    
}
.rightpic{
    width:250px;
    float:right;
    margin: 0 0 30px 30px;
}
.floattxt{
    width:calc(100% - 300px);
    float:left;
}

/*===============スマホメニュー初期設定===============*/
.spclose{
	display: none;
}
.hamburger{
	display: none;
}
.globalMenuSp{
	display: none;
}
/*===============スマホメニュー初期設定===============*/
@media screen and (max-width: 1100px) {
	html,body{
		font-size:15px;
		font-weight: 500;
		line-height: 2.3em;
		padding:0;
		margin: 0;
		background: #ffffff;
	}	
	.container{
		width:100%;
	}
	.btn_mice{
		display: none;
	}
	.c900{
		width:100%;
		display: block;
		margin:0 auto;
		padding: 0 10px;
	}
	.dan{
		width:420px;
		float:none;
		display: block;
		margin: 0 auto;
	}
	.c810{
		width:100%;
		display: block;
		margin:0 auto;
		padding:0 10px;
	}
	.normal{
		display: flex;
		justify-content:flex-start;
		align-items: center;
		gap:30px;
		flex-flow: column;
	}
	.vertical{
		writing-mode: horizontal-tb;
	}
    .leftpic{
        width:250px;
        float:inherit;
        margin: 0 auto 30px;
    }
    .rightpic{
        width:250px;
        float:inherit;
        margin: 0 auto 30px;
    }
    .floattxt{
        width:100%;
        float:inherit;
    }
}
@media screen and (max-width: 800px){
	.c750{
		width:100%;
		display: block;
		margin:0 auto;
		padding: 0 10px;
	}
	.c600{
		width:100%;
		display: block;
		margin:0 auto;
		padding: 0 10px;
	}
	.contentmenu{
		display: flex;
		justify-content: center;
		align-items: flex-start;
		flex-wrap: wrap;
		gap:8px;
	}
	.newsarea{
		width:calc(100% - 20px);
	}
	.newsarea ul{
		flex-wrap: wrap;
	}
	.kcbfooter .container{
		padding:0 10px;
	}
	.ayumipic{
		height:auto;
	}
	li.title{
		width:100%;
	}


}
@media screen and (max-width: 600px){
	.titlelogo{
		margin:10px 0 0 0;
	}

	.sp{
		display: block;
	}
	.pc{display: none;
	}
	.video-wrapper{
		display: none;
	}
	.video-wrapper-sp {
	  display: block;
	  position: relative;
	  width: 100%;
	  padding-top: 125%; /* 1080 ÷ 864 = 1.25 → 125% */
	}
	.video-wrapper-sp iframe {
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	}
	.title{
	}

}
@media screen and (max-width: 500px) {


}
@media screen and (max-width: 440px) {
	.dan{
		width:100%;
		padding:0 10px;
	}
	dl.koten{
		display: block;
	}
	.koten dt{
		background:#eee;
		width:auto;
	}
	.koten dd{
		width:auto;
		margin:0 0 15px;
	}

}

