html{
  scroll-behavior: smooth;
}

body{
	-webkit-text-size-adjust: 100%;
	font-family:  "M PLUS Rounded 1c", serif;
	font-weight: 400;
	font-size: 12pt;
	color:#463936;
	line-height: 1.6em;
	width: auto;
	margin:0 auto;
	background-color: #e8f0d1;
	box-sizing: border-box;
	position: relative;
	
}

a:hover{
	opacity: 0.7;
}

ul{
	margin:inherit;
	padding:inherit;
	list-style: none;
}

a.hl{
	font-weight: 700;
	color:#FFEF7F!important;
}

#burger ul li a.hl{
	font-weight: 700;
	color:#DF6608!important;
}

h4.events{
	font-size: 18pt;
	color:#FF3069;
	font-weight: 600;
	text-align: center;
	padding:0px;
	line-height: 2em;
}

h4.center{
		margin:inherit;
		padding-left: inherit;
		text-align: center;
		display: block;
		font-size: 18pt;
		font-weight: 700;
	line-height: 4em;
	}


#navigation{
	width: 100%;
	background:#2f6e62;
	color:#fff;
	position: -webkit-sticky;
	position: sticky;
	top:0px;
	z-index: 100;
}

#navigation ul{
	width: 100%;
	max-width: 980px;
	margin:0 auto;
	display: flex;
	flex:1;
	flex-direction: row;
	list-style: none;
	justify-content: space-between;
	gap:20px;
	height:60px;
	padding-bottom: 5px;
}

#navigation ul li{
	height:50px;
	padding:1em 0px;
	box-sizing: border-box;
	
}
#navigation ul li.menuEntry{
	color: #00866c;
	background-color: #fff;
	padding:0.5em 2em;
	margin-top:10px;
	border-radius: 25px;
	display: flex;
	justify-content: center;
	align-items: center;
}

#navigation ul li:hover{
	cursor: pointer;
	border-bottom: 2px solid #ffffff;
}

#navigation ul li a{
	text-decoration: none;
	color:#fff;
}

#navigation ul li a:hover{
	opacity: inherit;
}

#navigation ul li.menuEntry a{
	color:#00866c;
	font-weight: bold;
	display: block;
	vertical-align: middle;
	
}


p.superbig{
	font-size: 40pt;
	letter-spacing: -4px;
	font-weight: bolder;
	margin:0;
	text-align: center;
	line-height: 1.2em;
	vertical-align: middle;
	
}

	p.center{
		text-align: center;
	}

.wh{
	font-size: 24pt;
	color:#2f6e62;
	text-align: center;
}

img#kawasuiLink{
	display: block;
	width:60%;
	margin:0 auto;
	max-width: 480px;
	min-width:240px;
	
}

#topics {
	box-sizing: border-box;
    margin:0px auto -120px;
    padding:1em 0;
    background-image: url(../img/bg_kawasuiPhoto.jpg);
	background-size: contain;
    width:100%;
    height:460px;
    -webkit-animation: bgscroll 20s linear infinite;
    animation: bgscroll 40s linear infinite;
}

img.dlbutton{
	width:90%;
	max-width: 400px;
}

br.mobilebrake{
	display: none;
}

br.mobilebrake2{
	display: none;
}

#topics #logowrap{
	margin:0 auto;
	width:auto;
	text-align: center;
	color:#ffffff;
	text-shadow:0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000,0 0 3px #000;
}

#topics a{
    display: block;
}

ul.kawaphoto {
    list-style: none;
    width:100%;
    display: flex;
    flex-wrap: nowrap;
    margin:0 0;
    padding:0 0;
}

ul.kawaphoto li{
    width:calc( 100% / 3 );
}

ul.kawaphoto li img{
    width:100%;
}

ul.circleList,ul.campanies {
	list-style: none;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	width: 100%;
	gap:10px;
	margin:20px auto;
	
}

ul.circleList li.card,ul.campanies li.card{
	scroll-margin-top:80px;
	width:calc( 50% - 10px );
	box-sizing: border-box;
	border: 2px solid #666;
	background:#fff;
	display: flex;
	gap:5px;
	align-items: stretch;
	padding:-1px;
	margin-bottom:20px;
}

ul.circleList li.card_l,ul.campanies li.card_l{
	width:calc( 100% - 10px );
	box-sizing: border-box;
	border: 2px solid #666;
	background:#fff;
	display: flex;
	flex-wrap: wrap;
	gap:5px;
	align-items: stretch;
	padding:-1px;
	margin-bottom:20px;
}

li.card.wide{
	width:calc( 100% )!important;
}

.spvisual img{
	width:50%;
}

.card_l .box_l,.card_l .box_r{
	width: 50%!important;
}
.card_l .circleName{
	width:50%!important;
}


.keyVisual img{
	width: 100%;
	vertical-align: bottom;
}

li.card section.box_l,li.card section.box_r{
	width: 50%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

li.card section.box_l section{
	box-sizing: border-box;
}

li.card section.box_r{
	padding:0.5em;
}

.keyVisual{
	box-sizing: border-box;
	border-bottom: 1px solid #ccc;
}

li.card.wide .keyVisual img{
	width:50%!important;
}

.circleName{
	font-size: 16pt;
	display: flex;
	height: 100%;
	letter-spacing: -1px;
	min-height: 3em;
	justify-content: flex-start;
	align-items: center;
	line-height: 1.4em;
	font-weight: 700;
	padding:1em;
	background-color: #FFEFB7;
}



.circleNumber{
	font-size: 12pt;
	line-height: 1.4em;
	font-weight: bold;
	padding:5px;
}

.snsAdress img{
	width:36px;
}

.PRPoint{
	font-size: 11pt;
	overflow: hidden;
	padding:0.5em;
}
.appearance{
	font-size: 12pt;
	font-weight: bold;
}
.borderline{
	width: 100%;
	height:0px;
	border-bottom: 1px solid #ccc;
	margin:5px auto;
}

@-webkit-keyframes bgscroll {
 0% {background-position: 0 0;}
 100% {background-position: -1920px 0;}
}
 
@keyframes bgscroll {
 0% {background-position: 0 0;}
 100% {background-position: -1920px 0;}
}


#kawasuiLink {
    cursor: pointer;
}



.waves-wrapper {
	background:linear-gradient(180deg, transparent, #066);
	padding-top:15vh;
}
.waves{
	width:100%;height:10vh;
	margin-bottom:-8px;/* 下部のgapを隠す */
}
.parallax > use {
	animation:move-right 25s linear infinite;
}
.parallax > use:nth-child(1) {animation-delay:0s;animation-duration:8s;}
.parallax > use:nth-child(2) {animation-delay:-6s;animation-duration:12s;}
.parallax > use:nth-child(3) {animation-delay:-10s;animation-duration:20s;}
.parallax > use:nth-child(4) {animation-delay:-18s;animation-duration:34s;}
@keyframes move-right {
	0% {transform:translateX(-100px);}
	100% {transform:translateX(0);}
}


#wrap{
	width: 100%;
	margin:0 auto;
	padding:0;
}

#header{
	width:100%;
	margin:0 auto;
	height:70vh;
	background-image: url("../img/logo_kawaket3_pre.png");
	background-position: center center;
	background-size:auto 80%;
	background-repeat: no-repeat;
	display: flex;
	justify-content: center;
	align-items: center;
}

#logo{
	width:96%;
	max-width: 960px
}

#about,#hero,#main{
	width:100%;
	max-width: 980px;
	margin:0 auto;
}

#lead{
	width:100%;
	height:180px;
	margin:60px auto 0;
	background:#2f6e62;
	color:#fff;
	box-sizing: border-box;
	padding:1em;
}

#lead section{
	width:100%;
	max-width: 980px;
	margin:20px auto;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

#lead section p a img{
	width:60%;
	min-width: 160px;
}


#footerWrap{
	width:100%;
	margin:0px auto 0;
	padding:20px 0;
	display: flex;
	justify-content: center;
	align-content: center;
	flex-direction: column;
	background:#2f6e62;
	color:#fff;
}

#footer{
	width:100%;
	max-width: 980px;
	margin:0 auto;
	display: flex;
	justify-content: center;
	align-items:center;
	flex-wrap: wrap;
	gap:10px;
}

table.gaiyou{
	margin:20px auto 40px;
	box-sizing: border-box;
	border-collapse: collapse;
	background:#fff;
	width: 96%;
	
	tr{
		border-bottom: 1px dotted #ccc;
		th{
			padding:0.5em;
			width:30%;
			color:#0098ae;
			font-weight: normal;
			background-color: #ECF0F5;
		}
		td{
			padding:0.5em;
			border-left:1px dotted #ccc;
			width:70%;
		}
	}
}

ul.kikaku{
	margin:20px auto 40px;
	width:96%;
	

		li{
			position: relative;
			padding:1em 2em 2em;
			background: #FFFEE0;
			border-radius: 15px;
			margin-bottom: 60px;
			display: flex;
			justify-content: center;
			flex-direction: column;
			align-items: center;
			box-sizing: border-box;
			border:6px dashed #cfdcd0;
		}

}

#tt1,#tt2,#tt3,#tt4{
	position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
	top:-30px;
	width:280px;
	height:60px;
	background-color:deepskyblue;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	color:#ffffff;
	font-weight: bold;
	border-radius: 30px;
	box-sizing: border-box;
	border:4px solid #ffffff;
	box-shadow: 0px 0px 4px deepskyblue;
	
}

#burger{
   display: none;
	width: 100%;
    position:absolute;
    left:60px;
    top:0px;
}

#burger ul{
    display: flex;
	width: 100%;
	max-width: 980px;
    justify-content: space-between;
	margin:0px!important;
	z-index: 80;
}

#burger ul li{
	width:calc( 100% / 5 );
    height:60px;
    text-align: center;
    box-sizing: border-box;
    border:1px dashed #666;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color:rgba(255,255,255,0.5);
	-webkit-backdrop-filter:blur(12px);
	backdrop-filter: blur(12px);

}

#burger ul li a{
    text-decoration: none
}


.menu_open{
    display: block!important;
}

#burger_tab{
    display:block;
    content:"　";
    font-size: 30pt;
    color:#fff;
    width:60px;
    height:60px;
    background-image:url("../../../sp/img/menu_bgr.png");
    background-position: center;
    background-repeat: no-repeat;
    transition: 0.1s;
	z-index: 100;
}

.open{
    background-image:url("../../../sp/img/menu_close.png")!important;
    background-position: center;
    background-repeat: no-repeat;
    transition: 0.1s;
	z-index: 100;
}

#burger_tab:hover{
    cursor: pointer;
}

#main {
    position: -webkit-sticky;
    position: sticky;
    top:5px;
    z-index:100;
}

p.entryButton{
	text-align: center;
	margin:20px auto 40px;
	
	img{
		width:60%;
		max-width: 760px;
	}
}

.content{
	width: 100%;
	margin:60px auto 100px;
	max-width: 980px;
}

.column{
	margin:20px auto 40px;
	width:90%;
	max-width: 784px;
	box-sizing: border-box;
	background:#FFC94D;
	padding:10px;
}


ul.catmark li:before{
	content:"　";
	width:32px;
	height:32px;
	background-image:url("../img/icon_fish_32.png");
	background-size:100%;
	background-position: center;
	background-repeat: no-repeat;
	vertical-align: baseline;
	margin-right:10px;
}

.about{
	width:80%;
	max-width: 640px;
	min-width: 300px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;

	img{
		width:90%;
	}
}

.entryLetter {
	text-align: center;
	letter-spacing: 4px;
	font-size: 1.4em;
	font-weight: 800;
}

	#burger ul li{
		width:40%;
		min-width: 240px;
	}
	ul.circleList li.card{
		flex-direction: column;
	}
	ul.campanies li.card{
		flex-direction: column;
	}
	ul.circleList li.card section.box_l,ul.circleList li.card section.box_r{
		width:100%;
	}
	ul.campanies li.card section.box_l,ul.campanies li.card section.box_r{
		width:100%;
	}
	section.box_l .keyVisual{
		width:100%;
	}


@media (max-width: 480px){
	
	body{
		font-size: max(1.5vw,8pt);	}
	br.mobilebrake2{
		display: inherit;
	}
	
}

@media (max-width: 640px){
	body{
		font-size: 10pt;
		padding:2vw;
	}
	#header{
		height: 40vh;
	}
	#burger{
		left:0;
		top:60px;
		width:30%;
		min-width: 240px;
	}
	table.gaiyou tr th,table.gaiyou tr td{
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	table.gaiyou tr th{
		border:1px dotted #ccc;
		border-bottom: 1px dashed #ccc;
		border-top:3px double #ccc;
		text-align: center!important;
	}
	
	table.kikaku tr th,table.kikaku tr td{
		display: block;
		width: auto;
		box-sizing: border-box;
	}
	
	ul.circleList li.card{
		flex-direction: column;
	}
	ul.circleList li.card section.box_l,ul.circleList li.card section.box_r{
		width:100%;
	}
	section.box_l .keyVisual{
		width:100%;
	}
	
	img.komachimg{
		content:url( "../img/image_komachi_sq.png");
	}
	
li.card.wide{
	width:calc( 100% - 10px )!important;
}
	
	li.card.wide .keyVisual img{
		width:100%!important;
	}
	
.snsAdress img{
	width:36px;
}

	
}

@media (max-width: 980px){
	body{
		font-size: 10pt;
		padding:2vw;
		letter-spacing: 0px;
	}
	#wrap{
		box-sizing: border-box;
		overflow: hidden;
	}
	h4.wh{
		margin:inherit;
		padding-left: inherit;
		text-align: center;
		display: inline;
		font-size: 11pt;
		font-weight: normal;
		color:#2f6e62!important;
	}
	.attn h4.wh{
		display: block;
		margin:0 auto;
		color:#fff!important;
		text-align: center;
	}
	#burger{
		width:calc( 96% - 60px );
	}
	#burger ul{
		margin:inherit!important;
	}
	#burger ul{
		flex-direction: column;
	}
	#burger ul li{
		width:40%;
		min-width: 240px;
	}
	
	.waves{
		height:20px;
		margin-bottom: 38px;
	}
	p.superbig{
		font-size: 4vh;
	}
	#topics{
		animation: none;
		background-image: url("../img/bg2_kawasui.jpg");
		background-size: cover;
		background-position: center center;
		margin-bottom: -120px;
	}
	p.entryButton img{
		width:90%;
	}
	#navigation{
		display: none;
	}
	#main{
		position: fixed;
		top:0;
		left:0;
		z-index:1000;
	}
	br.mobilebrake{
		display: inherit;
	}
	#header{
		margin:-60px auto -20px;
		width:100%;
		aspect-ratio: 15 / 10 ;
		height:calc( ( 100vw / ( 15 / 10 ) ) + 10vh );
		background-size: 80% auto;
		background-position: center center;
		background-repeat: no-repeat;
	}
	.entryLetter {
	font-size: 10.5pt;
	font-weight: normal;
	letter-spacing: 1px;
    }
	
	ul.circleList li.card{
		width:calc( 100% - 10px );
	}
	br.desktopbrake{
		display: none;
	}
	.snsAdress img{
	width:36px;
}
li.card.wide{
	width:calc( 100% - 10px )!important;
}
	li.card.wide .keyVisual img{
		width:100%!important;
	}
	#footerWrap{
		margin-top:-46px;
	}
	.maps{
		flex-direction: column;
		margin:20px auto;
		justify-content: center;
		align-items: center;
	}
	.maps a img{
		width:100%!important;
		text-align: center;
	}
	#kamishibai ul{
		flex-direction: column-reverse!important;
	}
	#kamishibai ul li{
		width:100%!important;
	}
		.flexbox ,.history ul{
	flex-direction: column!important;
			align-items: center;
			justify-content: center;
			
}
	
}

@media (min-width:980px){
	#main{
		position: fixed;
		top:-60px;
	}
	.flexbox {
	flex-direction: column;
}



}

#hotnews {
	margin:40px auto 60px;
	width:90%;
	max-width: 720px;
	background:#FBFFF1;
	box-sizing: border-box;
	padding:2em;
	border-radius: 20px;
}

.smallheadline {
	font-size: 14pt;
	line-height: 1.4em;
	border-bottom: 1px dashed #aaa;
	margin:0px;
}

#stageEvent {
	position: relative;
	width:100%;
	max-width: 980px; 
	aspect-ratio:2.72/1;
	background-image: url("../img/bghead_stage.png");
	background-size: cover;
	background-position: center center;
	overflow: hidden;
	border-radius: 155px 155px 0 0;
	z-index: 0;
}

#demise {
	position: relative;
	width:100%;
	max-width: 980px; 
	aspect-ratio:2.72/1;
	background-image: url("../img/bghead_demise.png");
	background-size: cover;
	background-position: center center;
	overflow: hidden;
	border-radius: 155px 155px 0 0;
	z-index: 0;
}
#circleList {
	position: relative;
	width:100%;
	max-width: 980px; 
	aspect-ratio:2.72/1;
	background-image: url("../img/bghead_circleList.png");
	background-size: cover;
	background-position: center center;
	overflow: hidden;
	border-radius: 155px 155px 0 0;
	z-index: 0;
}
#access {
	position: relative;
	width:100%;
	max-width: 980px; 
	aspect-ratio:2.72/1;
	background-image: url("../img/bghead_access.png");
	background-size: cover;
	background-position: center center;
	overflow: hidden;
	border-radius: 155px 155px 0 0;
	z-index: 0;
}
#ippan{
	position: relative;
	width:100%;
	max-width: 980px; 
	aspect-ratio:2.72/1;
	background-image: url("../img/bghead_ippan.png");
	background-size: cover;
	background-position: center center;
	overflow: hidden;
	border-radius: 155px 155px 0 0;
	z-index: 0;
}
#circle{
	position: relative;
	width:100%;
	max-width: 980px; 
	aspect-ratio:2.72/1;
	background-image: url("../img/bghead_circle.png");
	background-size: cover;
	background-position: center center;
	overflow: hidden;
	border-radius: 155px 155px 0 0;
	z-index: 0;
}

#notice {
	margin:20px auto;
	width:80%;
}

.bubbles {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.bubble {
  position: absolute;
  bottom: -50px;
  background: rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  animation: float 10s infinite ease-in-out;
}

/* バブルのアニメーション */
@keyframes float {
  0% {
    transform: translateY(0) scale(1);
  }
  100% {
    transform: translateY(-400px) scale(0.8); /* 水槽の高さに合わせて調整 */
  }
}


.history {
	width:100%;
	max-width:980px;
	margin:40px auto 80px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.history ul{
	display: flex;
	margin:0 auto;
	width:100%;
	flex:1;
	flex-direction: row;
	justify-content: center;
	align-items: stretch;
	gap:20px;
	padding:0px!important;
}

.history ul li{
	max-width: 358px;
	background:#2f6e62;
	text-align: center;
	padding-bottom: 1em;
	box-sizing: border-box;
	border-radius: 10px;
	overflow: hidden;
	color:#fff;
	outline-offset: -2px;
}

.history ul li h5{
	font-size: 24pt;
	color:#fff;
	margin:20px!important;
}

.history ul li a{
    display: block;
    text-decoration: none;
    opacity: inherit;
}

.history ul li a img{
	width:100%;
	vertical-align: bottom;
	margin-bottom: 0.5em;
	background-color:#fff;
}
#kako {
	width: 100%;
	padding:40px 0 40px;

}


.imagecenter {
	text-align: center;
}

.imagecenter img{
	width:90%;
	max-width: 600px;
}

.big {
	font-size: 18pt;
	color:#FF437D;
}

.flexrow {
	display: flex;
	width:100%;
	margin:20px auto 60px;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap:20px;
}

.flexrow div{
	width:40%;
	height:60px;
	max-width: 460px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 14pt;
	font-weight: bold;
	color:white;
	background:#2f6e62;
	border-radius: 30px;
	cursor: pointer;
}

.flexrow div:hover{
	opacity: 0.7;
}
.maps {
	display: flex;
	flex:1;
	gap:20px;
	margin:20px auto;
}
.maps a img{
	max-width: 480px;
}

.circles {
	margin:0 auto 60px;
	box-sizing: border-box;
	border-collapse: collapse;
	width:100%;
	background:#fff;
}
.circles td{
	width:calc(100% / 3);
	border:1px dashed #ccc;
	border-right:1px solid #ccc;
	padding:3px 0.6em;
}

#toTop {
	width: fit-content;
	margin-right:0px;
	display: block;
	position: sticky;
	position:-webkit-sticky;
	bottom:20px;
	margin-left:auto;
	right:20px;
}

#kamishibai ul{
display: flex;
flex-direction: row;
	flex:1;
	gap:10px;
	align-items: stretch;
}

#kamishibai ul li{
	width:calc( 50% - 5px );
	display: flex;
	justify-content: center;
	align-items: center;
	padding:10px;
	border:2px;
	font-size: 14px;
	
	
}

#kamishibai ul li strong{
	   display: inline!important;
	   width:100%;
		text-align: left!important;
		line-height: 1em!important;
	   font-size: 1.1em;
	}


#kamishibai ul li a{
	margin:0px;
	display: block;
	width:auto;
	height:100%;
}

.flexbox {
	width:100%;
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: stretch;
}

.mapcard{
	width:100%;
	max-width: 500px;
	padding: 0;
	display: flex;
	flex-direction: row;
	align-items: center;
	border:none;
}

.access {
	font-size: 14px;
	line-height: 24px;
	padding-left:28px;
	letter-spacing: 1.5px;
}

.attn {
	width: 80%;
	max-width: 740px;
	margin: 20px auto;
	background-color: #5A3C72;
	padding:0.2em 1em;
	border-radius: 60px;
}

.attn h4.wh{
	color:#fff;
}

.warning {
	font-weight: bold;
	color:#DC31B9;
}
