@charset "utf-8";

/* font */
.sic {
	font-family: "sicuniversallinelge", sans-serif;
}
/* .ftr {
	transform: rotate(0.05deg);
} */
/* col */
:root {
	--color-green: #22B85D;
	--color-blue: #0B8CDB;
	--color-light-blue: #00B9C4;
	--color-purple: #9777DE;
	--color-red: #F75A54;
	--color-pink: #FF7DB5;
	--color-orange: #FF8645;
	--color-kyotoanimation: #e6521e;
}
.indent {
	padding-left: 1em;
	text-indent: -1em;
}

#siteWrap {
	position: relative;
}
#siteWrap::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100vw;
	height: 100vh;
	background: url(/2025/images/bg-sp.webp) top center;
	background-size: 100% auto;
	background-repeat: repeat-y;
}
/* _____ 835px 以上 _____ */
@media (min-width: 835px) {
	#siteWrap::before {
		background: url(/2025/images/bg.webp) no-repeat top center;
		background-size: cover;
	}
}
/*+-+-+-+-+-+-+-+-+-+-+- header +-+-+-+-+-+-+-+-+-+-+-*/
#header {
	background-color: #333333;
}
#header a {
	color: #fff;
}
.main-navi svg {
	fill: #fff;
}
#header .main-navi-list .not a {
	color: #919191;
	pointer-events: none;
}
.header-link,.language a {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.main-navi a:hover {
	text-decoration: none;
}
.main-navi-list a {
	position: relative;
}
.main-navi-list a.curDIR::after {
	opacity: 1;
	visibility: visible;
}
.main-navi-list a::after {
	position: absolute;
	bottom: -8px;
	left: 0;
	right: 0;
	margin: auto;
	content: '';
	width: 16px;
	height: 2px;
	background: #ffffff;
	opacity: 0;
	visibility: hidden;
	transition: .3s ease-in-out;
}
.youtube-link{
	max-width: 40px;
}
/* _____ 835px 以上 _____ */
@media (min-width: 835px) {
	.navi-wrap {
		position: fixed;
		background-color: #333;
		width: 100%;
		z-index: 99;
		top: 0;
		transition: .3s ease-in-out;
		height: 82px;
	}
	.navi-wrap.off {
		transform: translateY(-90px);
	}
	.logo-main-navi {
		max-width: 150px;
	}
	.navi-list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
		margin: 0 48px;
		height: 82px;
	}
	.main-navi {
		font-weight: bold;
		transform: rotate(0.03deg);
	}
	.main-navi,.main-navi-list {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	.main-navi-list {
		font-size: 14px;
		margin: 30px 0;
	}
	.main-navi-list li {
		margin: 0 8px;
	}
	.header-link {
		margin: 0 8px;
	}
	.header-link div {
		margin: 0 4px;
	}
	.language a {
		font-size: 16px;
	}
	.x-link a {
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.navi-wrap a {
		transition: .3s ease-out;
	}
	.navi-wrap a:hover {
		opacity: .5;
	}

}
/* _____ 1100px 以下 _____ */
@media not (min-width: 1100px) {
	.main-navi {
		font-weight: bold;
	}
	.navi-list {
		/* 835=10／1100=48 */
		margin: 0 clamp(0.625rem, -6.858rem + 14.34vw, 3rem);
	}
	.logo-main-navi {
		/* 835=120／1100=178 */
		width: clamp(7.5rem, -3.922rem + 21.89vw, 11.125rem);
	}
	.main-navi-list {
		/* 835=10／1100=14 */
		font-size: clamp(0.625rem, -0.163rem + 1.51vw, 0.875rem);
	}
	.language a {
		/* 835=12／1100=16 */
		font-size: clamp(0.75rem, -0.038rem + 1.51vw, 1rem);
	}
}
/* _____ 834px 以下 _____ */
@media not (min-width: 835px) {
	#header {
		display: flex;
		position: fixed;
		right: 0;
		margin: auto;
		z-index: 102;
	}
	.navibg {
		display: none;
		position: fixed;
		width: 100%;
		height: 100vh;
		z-index: 90;
		visibility: hidden;
	}
	.navibg.show {
		display: block;
		visibility: visible;
	}
	.navigation-btn {
		position: relative;
		z-index: 103;
		cursor: pointer;
		transition: .3s ease-out;
		padding: 10px;
		background-color: #333;
	}
	.navi-btn {
		position: relative;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		width: 25px;
		height: 20px;
	}
	.navi-btn span {
		width: 100%;
		height: 2px;
		background-color: #FFF;
		transition: .3s ease-out;
	}
	.show .navi-btn .navi-btn1 {
		transform: translateY(9px) rotate(-45deg);
	}
	.show .navi-btn .navi-btn2 {
		opacity: 0;
	}
	.show .navi-btn .navi-btn3 {
		transform: translateY(-9px) rotate(45deg);
	}
	.navi-wrap {
		position: fixed;
		width: 100%;
		height: 100%;
		top: 0;
		right: 0;
		overflow: auto;
		z-index: 101;
		visibility: hidden;
		opacity: 0;
		transition: .3s ease-out;
		background-color: #333;
	}
	.navi-wrap.show {
		opacity: 1;
		visibility: visible;
		overflow: hidden;
	}
	.navi-list {
		text-align: center;
		padding: 50px 0;
	}
	.logo-main-navi {
		margin: auto;
		width: 70%;
		max-width: 320px;
	}
	.main-navi-list {
		font-size: 20px;
		margin: 30px 0;
	}
	.main-navi-list li {
		margin: 15px 0;
	}
	.header-link {
		padding-top: 20px;
	}
	.header-link div {
		margin: 0 5px;
	}
	.header-link,.language a {
		justify-content: center;
		gap: 10px;
		padding-bottom: 20px;
	}
	.x-link a {
		display: flex;
	}
}



.fix {
	position: relative;
}
.page-top {
	position: absolute;
	display: block;
	bottom: 30px;
	right: 25px;
	font-size: 0;
}
/* _____ 834px 以下 _____ */
@media not (min-width: 835px) {
	.page-top {
		bottom: 15px;
		right: 15px;
	}
	.page-top svg {
		height: 32px;
	}
}
/* _____ 835px 以上 _____ */
@media (min-width: 835px) {
	.page-top a {
		display: block;
		transition: .3s ease-out;
	}
	.page-top a:hover {
		opacity: .5;
		transform: translateY(-10px);
	}
}
/*+-+-+-+-+-+-+-+-+-+-+- footer +-+-+-+-+-+-+-+-+-+-+-*/
.section-footer {
	background-color: #333333;
	color: #fff;
}
/* _____ 834px 以下 _____ */
@media not (min-width: 835px) {
	.section-footer {
		padding: 40px 0;
	}
}
/* _____ 835px 以上 _____ */
@media (min-width: 835px) {
	.section-footer {
		padding-top: 80px;
	}
}


.left-box svg, .social-box svg {
	fill: #fff;
}
.ctt-contents-box {
	width: 80%;
	margin: auto;
}
/* _____ 834px 以下 _____ */
@media not (min-width: 835px) {
	.ctt-contents-box {
		max-width: 500px;
	}
}

/* _____ 835px 以上 _____ */
@media (min-width: 835px) {
	.ctt-contents-box {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 90%;
		max-width: 810px;
	}
}


.left-box .place {
	display: flex;
	align-items: center;
	margin-top: 15px;
}
.left-box .place a {
	font-size: 16px;
	font-weight: bold;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}
/* _____ 834px 以下 _____ */
@media not (min-width: 835px) {
	.left-box {
		text-align: center;
	}
	.left-box .dayimg {
		width: 86%;
	}
	.left-box .place {
		justify-content: center;
	}

}
/* _____ 835px 以上 _____ */
@media (min-width: 835px) {
	.left-box {
		width: 100%;
		max-width: 400px;
	}
	.left-box .dayimg {
		max-width: 340px;
	}
	.left-box .place a {
		font-size: 20px;
		transition: .3s ease-out;
	}
	@keyframes poyon {
		0%   { transform: scale(0.8, 1.4) translate(0%, -100%); }
		10%  { transform: scale(0.8, 1.4) translate(0%, -15%); }
		20%  { transform: scale(1.4, 0.6) translate(0%, 30%); }
		30%  { transform: scale(0.9, 1.1) translate(0%, -10%); }
		40%  { transform: scale(0.95, 1.2) translate(0%, -30%); }
		50%  { transform: scale(0.95, 1.2) translate(0%, -10%); }
		60%  { transform: scale(1.1, 0.9) translate(0%, 5%); }
		70%  { transform: scale(1.0, 1.0) translate(0%, 0%); }
		100% { transform: scale(1.0, 1.0) translate(0%, 0%); }
	}
	.left-box .place a:hover {
		text-decoration-color: var(--color-orange);
	}
	.left-box .place a:hover + svg {
		animation: poyon 1.1s linear 0s 1;
	}
}


.sns-x a {
	border-radius: 70px;
	background: #fff;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	font-size: 14px;
	font-weight: bold;
	padding: 10px 20px;
}
.sns-x a svg {
	fill: #333;
}
.sns-x a:hover {
	text-decoration: none;
}
/* _____ 834px 以下 _____ */
@media not (min-width: 835px) {
	.sns-x {
		width: 280px;
		padding: 30px 0;
		margin: auto;
	}
	.sns-x a svg {
		max-width: 25px;
	}
}
/* _____ 835px 以上 _____ */
@media (min-width: 835px) {
	.sns-x a {
		width: 332px;
		font-size: 16px;
		padding: 16px 32px;
		transition: .3s ease-out;
	}
	.sns-x a:hover {
		background: var(--color-orange);
		color: #fff;
	}
	.sns-x a svg {
		transition: .3s ease-out;
	}
	.sns-x a:hover svg {
		fill: #fff;
	}
}


/* _____ 835px 以上 _____ */
@media (min-width: 835px) {
	.social-box {
		padding: 70px 0 30px;
	}
}

.corporate-link {
	width: 40%;
	margin: auto;
}
.corporate-link a {
	max-width: 234px;
	width: 100%;
	display: flex;
	margin: auto;
}
/* _____ 835px 以上 _____ */
@media (min-width: 835px) {
	.corporate-link {
		width: 80%;
		margin: auto;
	}
	.corporate-link a svg {
		transition: .3s ease-out;
	}
	.corporate-link a svg:hover {
		fill: var(--color-kyotoanimation);
	}
}
.corporate {
	text-align: center;
	font-size: 10px;
}








/* _____ 834px 以下 _____ */
@media not (min-width: 835px) {

}
/* _____ 835px 以上 _____ */
@media (min-width: 835px) {

}

