@charset "utf-8";
/* CSS Document */

/*----------------------------------------
PC/SP共通
----------------------------------------*/

#contents > h2::after,
#contents .p_title h2::after{
	content: none;
}

.contents_box {
    padding-top: 20px;
    margin-top:-20px;
}

#contents-main.all {
	padding: 0;
}
body.view #contents-main h3{
	padding: 0;
	margin: 0;
	background: none;
	border: 0;
}
body.doitsu2025 #contents-main{
	position: relative;
}
/* body.doitsu2025 #contents-main::after{
    content: "";
    background: url(footer.png);
    background-size: 1020px;
    background-repeat: no-repeat;
    position: absolute;
    height: 215px;
    width: 1020px;
    bottom: -78px;
    left: -30px;;
} */
body.doitsu2025 #contents .inner{
	padding: 0 0 80px;
}

body.doitsu2025 .contents-header-inner {
	text-align: center;
	margin: 0 auto;
}
.contents-header-inner .readtxt{
	font-size: 20px;
	font-weight: bold;
	line-height: 1.5;
	color:#000;
	margin: 30px auto 0;
    text-align: center;
}
.contents-header-inner .readtxt p{
	padding: 10px 0;
}
.contents-header-inner .readtxt p span{
    font-size: 15px;
}
.contents-header-inner .readtxt p:nth-child(1){
	background: #240000;
	color: #fff;
}
.contents-header-inner .readtxt p:nth-child(2){
	background: #df0011;
	color: #fff;
}
.contents-header-inner .readtxt p:nth-child(3){
	background: #fdd000;
}
.contents-header-inner .readtxt span{
	font-size: 11px;
}
.contents-inner .navi_box{
    padding: 20px 0 0;
}
.contents-inner .navi_box ul{
    display: flex;
    align-items: center;
    gap: 4px;
    width: 700px;
    margin: 0 auto 80px;
    justify-content: space-between;
}
.contents-inner .navi_box ul li{
    width: calc(100% / 3 - 4px);
    background: #fdd000;
    position: relative;
    border-radius: 10px;
    box-shadow: 3px 3px 1px rgba(35, 24, 21, 0.35)
}
.contents-inner .navi_box ul li a{
	color: #030911;
	font-size: 18px;
	font-weight: bold;
	display: block;
width: 100%;
height: 100%;
padding:21px 0px 33px 0px;
box-sizing: border-box;
position: relative;
text-align: center;
}
.contents-inner .navi_box ul li a::after {
    content: "";
    background: url(arrow.png);
    position: absolute;
    color: #333;
    font-size: 16px;
    line-height: 1;
    letter-spacing: -0.2em;
    width: 20px;
    height: 20px;
    background-size: 20px;
    bottom: 4px;
    background-repeat: no-repeat;
    left: 44%;
}


.contents-inner .contents_box{
	width: 700px;
	margin: 0 auto 70px;
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}
.contents-inner .contents_box.last{
	margin: 0 auto;
}
.contents-inner .atten{
	font-size: 12px;
    text-align: center;
}
.contents-inner .contents_box .boxinner{
	background: #f1f5f7;
	padding: 40px 60px 75px;
    position: relative;
    border-radius: 16px;
    margin-bottom: 40px;
}
.contents-inner .contents_box .boxinner::before{
    content: "";
	border:1px solid #fdd000;
    border-radius: 16px;
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: -6px;
    left: 3px;
}
.sp .contents-inner .contents_box .boxinner::before{
    width: 99%;
    height: 99.8%;
    top: -4px;
    left: -3px;
}

.contents-inner .contents_box .boxinner:last-of-type {
    margin-bottom: 0;
}

.contents-inner .contents_box .circle{
	width: 30px; height: 30px; position: absolute; z-index: 2; -webkit-border-radius: 100%; -moz-border-radius: 100%; -ms-border-radius: 100%; -o-border-radius: 100%; border-radius: 100%; 
}


#contents-main .contents-inner .contents_box h3{
	/* width: 420px; */
	height: 58px;
	position: absolute;
	top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
#contents-main .contents-inner .contents_box h3::after{
	content: "";
    position: absolute;
    top: 19px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 446px;
    height: 18px;
    background: #fff;
    z-index: -1;
}
#contents-main .contents-inner .contents_box.ev_area h3::after{
    width: 350px;
}
.contents-inner #map_box .boxinner h3{
	position: relative;
}
.contents-inner #map_box .map_image{
	text-align: center;
	position: relative;
}
.contents-inner #map_box .map_image a{
	position: absolute;
	display: block;
}


.contents-inner .contents_box .boxinner h3{
	position: relative;
}

.contents-inner .contents_box .event_boxs{
	text-align: center;
}
.contents-inner .contents_box .eventbox h4{
    font-size: 24px;
    font-weight: bold;
    position: relative;
    display: inline-block;
	margin: 0 0 20px;
}
.contents-inner .contents_box .eventbox p{
	font-weight: bold;
	font-size: 16px;
}
.contents-inner .contents_box .eventbox h4::before,
.contents-inner .contents_box .eventbox h4::after{
	position: absolute;
	font-family: "Material Symbols Outlined";
	top: 0;
    color: #fdd000;
    font-variation-settings: 'FILL' 1;
	font-size: 35px;
}
.contents-inner .contents_box .eventbox h4::before{
    left: -44px;
	content: "\f1f3";
}
.contents-inner .contents_box .eventbox h4::after{
	right: -44px;
	content: "\f1cc";
}
.contents-inner .contents_box .eventbox.ev_area h4::before{
    left: -44px;
	content: "\e153";
}
.contents-inner .contents_box .eventbox.ev_area h4::after{
	right: -44px;
	content: "\e405";
}
.contents-inner .contents_box .eventbox.rosen h4::before{
    left: -44px;
	content: "\ebcb";
}
.contents-inner .contents_box .eventbox.rosen h4::after{
	right: -44px;
	content: "\e413";
}
.contents-inner .contents_box .eventbox h5{
	font-size: 20px;
    font-weight: bold;
    position: relative;
	text-align: left;
    width: 90%;
    margin: 55px auto 15px;
}
.contents-inner .contents_box .eventbox h5::before{
	position: absolute;
	font-family: "Material Symbols Outlined";
	top: 0;
	font-size: 30px;
	left: -38px;
	content: "\f1f3";
    color: #fdd000;
    font-variation-settings: 'FILL' 1;
}
.contents-inner .contents_box .eventbox.ev_area h5::before{
	content: "\e8b5";
}
.contents-inner .contents_box .eventbox.ev_area h5.event::before{
    content: "\e153";
}
.contents-inner .contents_box .eventbox.ev_area h5.live::before{
    content: "\e405";
}
.contents-inner .contents_box .eventbox.rosen h5::before{
	content: "\e413";
}
.contents-inner .contents_box .eventbox .flex{
	display: flex;
	gap: 20px;
    justify-content: center;
	margin: 25px 0 0;
}
.contents-inner .contents_box .eventbox .flex img{
	box-shadow: 5px 5px #fdd000;
	width: 240px;
}
.contents-inner .contents_box .eventbox.rosen .flex img{
	width: 320px;
}
.contents-inner .contents_box .eventbox dl{
	width: 100%;
    margin: 0 auto;
}
.contents-inner .contents_box .eventbox dl dt {
    color: #000;
    text-align: center;
    background: #fdd000;
}
.contents-inner .contents_box .eventbox dl ul {
    display: flex;
    justify-content: space-evenly;
    align-items: stretch;
	border-bottom: 3px solid #F1F5F7;
}
.contents-inner .contents_box .eventbox dl ul li {
    font-size: 16px;
    text-align: left;
    font-weight: bold;
    padding: 10px;
    width: 30%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
.contents-inner .contents_box .eventbox dl ul li span{
    font-size: 11px;
    line-height: 1.5;
    display: block;
}
/* .contents-inner .contents_box .eventbox.ev_area dl ul li {
    width: calc(100% - 240px);
} */
.contents-inner .contents_box .eventbox p.e_content{
    text-align: left;
    margin: 20px 0;
}
.contents-inner .contents_box .eventbox.ev_area dl ul li{
	width: 200px;
}
.contents-inner .contents_box .eventbox.ev_area dl dt ul li:nth-child(2),
.contents-inner .contents_box .eventbox.ev_area dl dd ul li:nth-child(2){
	border-left: 3px solid #F1F5F7;
	width: calc(100% - 400px);
}

.contents-inner .contents_box .eventbox.ev_area dl dt ul li:nth-child(3),
.contents-inner .contents_box .eventbox.ev_area dl dd ul li:nth-child(3) {
    border-left: 3px solid #F1F5F7;
	width: 200px;
}

.contents-inner .contents_box .eventbox dl dt ul li:nth-child(2),
.contents-inner .contents_box .eventbox dl dd ul li:nth-child(2){
	border-left: 3px solid #F1F5F7;
	width: 70%;
}
.contents-inner .contents_box .eventbox.rosen dl dt ul li:nth-child(2),
.contents-inner .contents_box .eventbox.rosen dl dd ul li:nth-child(2){
	border-right: 3px solid #F1F5F7;
	width: 70%;
}
.contents-inner .contents_box .eventbox dl dd{
	background: #fff;
}

.contents-inner .contents_box .e_content_txt {
    display: flex;
    gap: 40px;
}
.contents-inner .contents_box .e_content_txt img {
    width: 320px;
}
.contents-inner .contents_box dl.time {
    width: calc(100% - 320px);
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 10px;
    align-items: flex-start;
    font-weight: bold;
}
.contents-inner .contents_box dl.time dt {
    background-color: #fdd000;
    color: #000;
    font-size: 14px;
    width: 75px;
    text-align: center;
    padding: 5px 0;
}
.contents-inner .contents_box dl.time dd {
    width: calc(100% - 85px);
    text-align: start;
    background: #f1f5f7;
}

.contents-inner .contents_box .eventbox p.ev_atten{
	font-weight: normal;
	font-size: 11px;
	text-align: right;
	margin: 0 auto;
}
.contents-inner .detail{
    background: #fdd000;
    width: 550px;
    margin: 60px auto 0;
    border: 5px solid #fff;
    border-radius: 10px;
    font-size: 25px;
    text-align: center;
    padding: 20px 0 10px;
    font-weight: bold;
    line-height: 25px;
	box-shadow: 4px 3px 10px rgba(0, 0, 0, 0.5);
}
.contents-inner .content_bg{
    position: relative;
    margin: 0 0 200px;
    padding: 8px 0 0;
}
.contents-inner .content_bg::after{
    content: "";
    background: url(footer.png);
    position: absolute;
    width: 100%;
    height: 210px;
    bottom: -200px;
    background-repeat: no-repeat;
}
/* バブル背景コンテナ */
.contents-inner .content_bg .bubble-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    pointer-events: none;
    overflow: hidden;
}
.contents-inner .content_bg .bubble {
    position: absolute;
    border-radius: 50%;
    opacity: 0;
    animation: bubbleFloat 10s linear infinite;
}

/* バブルアニメーション - その場で現れて上に浮かんで消える */
@keyframes bubbleFloat {
    0% {
        transform: translateY(0) translateX(0) scale(0.8);
        opacity: 0;
    }
    10% {
        opacity: 0.8;
    }
    20% {
        transform: translateY(-20px) translateX(-5px) scale(0.9);
        opacity: 0.75;
    }
    30% {
        transform: translateY(-40px) translateX(8px) scale(1);
        opacity: 0.7;
    }
    40% {
        transform: translateY(-60px) translateX(-3px) scale(1.05);
        opacity: 0.65;
    }
    50% {
        transform: translateY(-80px) translateX(10px) scale(1.1);
        opacity: 0.6;
    }
    60% {
        transform: translateY(-100px) translateX(-8px) scale(1.15);
        opacity: 0.55;
    }
    70% {
        transform: translateY(-120px) translateX(6px) scale(1.2);
        opacity: 0.5;
    }
    80% {
        transform: translateY(-140px) translateX(-4px) scale(1.15);
        opacity: 0.4;
    }
    90% {
        transform: translateY(-160px) translateX(7px) scale(1.1);
        opacity: 0.2;
    }
    100% {
        transform: translateY(-180px) translateX(0) scale(0.9);
        opacity: 0;
    }
}

/* JSで動的生成されるバブル用の基本設定 */



.contents-inner .detail span{
	display: block;
	font-size: 13px;
}

.contents-inner .footer_text{
    font-weight: bold;
    background: #fdd000;
    text-align: center;
    padding: 20px 0 0;
}
.contents-inner .footer_text dl{
	display: flex;
	flex-wrap: wrap;
    width: 700px;
    margin: 0 auto;
    padding: 25px 0;
}
.contents-inner .footer_text dl dt{
	width: 150px;
}
.contents-inner .footer_text dl dd{
	width: calc(100% - 150px);
	text-align: left;
}
.contents-inner .footer_text p:nth-child(2){
	margin: 18px 0 0;
}


/* sp */
body.doitsu2025.sp #contents.eventnews h2 {
    padding: 0;
}
body.doitsu2025.sp .contents-inner .navi_box ul {
    margin: 0 auto 60px;
    width: 90%;
}
body.doitsu2025.sp #contents .inner{
    padding: 0;
}
body.doitsu2025.sp .contents-header-inner .readtxt {
    margin: 20px auto 0;
}
body.doitsu2025.sp .contents-header-inner .readtxt p {
    font-size: 5vw;
}
body.doitsu2025.sp .contents-inner .navi_box ul li {
    width: calc(100% / 3 - 4px);
}
body.doitsu2025.sp .contents-inner .navi_box ul li a {
    font-size: 3.5vw;
    padding: 12px 0px 20px 0px;
    line-height: 120%;
}
body.doitsu2025.sp .contents-inner .navi_box ul li a::after{
    bottom: 4px;
}
body.doitsu2025.sp .contents-inner .navi_box ul li a::after{
    background: url(arrow.png);
    background-repeat: no-repeat;
    width: 12px;
    height: 12px;
    background-size: 12px;
}
body.doitsu2025.sp .contents-inner .navi_box{
	width: 100%;
    padding: 10px 0 0;
}
body.doitsu2025.sp #contents-main .contents-inner .contents_box{
    width: 88%;
    margin: 0 auto;
}
body.doitsu2025.sp #contents-main .contents-inner .contents_box h3 {
    width: 80vw;
    height: auto;
    left: 49%;
}
body.doitsu2025.sp #contents-main .contents-inner #event_area.contents_box h3{
    width: 65vw;
}

body.doitsu2025.sp #contents-main .contents-inner .contents_box h3::after {
    width: 80vw;
    top: 10px;
}
body.doitsu2025.sp #contents-main .contents-inner #event_area.contents_box h3::after{
    width: 65vw;
}
body.doitsu2025.sp .contents-inner .contents_box .eventbox h4 {
    font-size: 5vw;
}
body.doitsu2025.sp .contents-inner .contents_box .boxinner {
    padding: 40px 20px 20px 16px;
    border-radius: 12px;
    margin-bottom: 54px;
}
body.doitsu2025.sp .contents-inner .contents_box.last .boxinner {
    margin-bottom: 0;
}
body.doitsu2025.sp .contents-inner .contents_box .boxinner::before{
    border-radius: 12px;
}
body.doitsu2025.sp .contents-inner .contents_box .eventbox .flex img {
    width: 34vw;
}
body.doitsu2025.sp .contents-inner .contents_box .eventbox h5 {
    width: 83%;
	font-size: 4.5vw;
}
body.doitsu2025.sp .contents-inner .contents_box .eventbox h5::before {
    font-size: 23px;
	left: -29px;
}
body.doitsu2025.sp .contents-inner .contents_box .eventbox dl ul li {
	font-size: 3.2vw;
    padding: 10px 12px 10px 12px;
}
body.doitsu2025.sp .contents-inner .contents_box .eventbox.ev_area dl ul li {
    width: 60px;
}
body.doitsu2025.sp .contents-inner .contents_box .eventbox.ev_area dl dt ul li:nth-child(3),
body.doitsu2025.sp .contents-inner .contents_box .eventbox.ev_area dl dd ul li:nth-child(3) {
    width: 70px;
}
body.doitsu2025.sp .contents-inner .contents_box .eventbox.ev_area dl dt ul li:nth-child(2),
body.doitsu2025.sp .contents-inner .contents_box .eventbox.ev_area dl dd ul li:nth-child(2){
	width: calc(100% - 150px);
}
body.doitsu2025.sp .contents-inner .contents_box .eventbox dl ul.anpel li:first-child{
	border-right: 3px solid #F1F5F7;
}
body.doitsu2025.sp .contents-inner .contents_box .eventbox dl dd ul.anpel li:nth-child(2){
	border-left: none;
}
body.doitsu2025.sp .contents-inner .contents_box .eventbox dl {
    width: 100%;
}

body.doitsu2025.sp .contents-inner .contents_box .e_content_txt{
    flex-wrap: wrap;
    gap: 20px;
}
body.doitsu2025.sp .contents-inner .contents_box .eventbox p.ev_atten {
    width: 100%;
}
body.doitsu2025.sp .contents-inner .contents_box .eventbox.rosen .flex img{
    width: 75vw;
}

body.doitsu2025.sp .contents-inner .contents_box dl.time dt{
    width: 60px;
}

body.doitsu2025.sp #contents-inner .detail {
    background: #fdd000;
    width: 97%;
    margin: 40px auto 50px;
}
body.doitsu2025.sp .contents-inner .footer_text {
    text-align: center;
    width: 100%;
}
/* body.doitsu2025.sp #contents-main::after {
    background-size: contain;
    height: 86px;
    width: 100vw;
    bottom: -71px;
    left: -18px;
} */
body.doitsu2025.sp .contents-inner .footer_text dl {
    width: 100%;
    padding: 25px 16px;
    box-sizing: border-box;
    font-size: 3vw;
}
body.doitsu2025.sp .contents-inner .footer_text dl dt {
    width: 80px;
    flex-shrink: 0;
}
body.doitsu2025.sp .contents-inner .detail {
    width: 72%;
    position: relative;
    z-index: 10;
    font-size: 5vw;
    border: 3px solid #fff;
    margin: 32px auto 0;
    padding: 13px 0 10px;
    line-height: 23px;
}
body.doitsu2025.sp .contents-inner .footer_text dl dd {
    width: calc(100% - 80px);
    text-align: left;
    padding-left: 10px;
    box-sizing: border-box;
}
body.doitsu2025.sp .contents-inner .footer_text p:nth-child(2) {
    font-size: 3.5vw;
    padding: 0 16px;
}
body.doitsu2025.sp .contents-inner .content_bg::after {
    content: "";
    background: url(footer.png);
    position: absolute;
    height: 24vw;
    bottom: -97px;
    background-repeat: no-repeat;
    background-size: contain;
}
body.doitsu2025.sp .contents-inner .content_bg{
    position: relative;
    margin: 0 0 90px;
}
body.doitsu2025.sp .contents-inner .atten{
    font-size: 11px;
}

.img_objfit img{
	object-position: 100% 0;
}

@media (max-width:375px) {
}

@media (max-width:360px) {
}
/*SE対策*/
@media (max-width:320px) {
.sp .contents-inner .navi_box ul li a{
	font-size: 9px;
}
body.view.sp #contents-main .contents-inner .contents_box h3{
	font-size: 130%;
}
body.sp #contents-main .contents-inner .NewsItemList .item .image{
	height: 200px;
}

}




.fadein {
  opacity: 0;
  transform : translate(0, 30px);
  transition : all 1500ms;
}
.fadein2 {
  opacity: 0;
  transform : translate(0, 0);
  transition : all 1500ms;
}
.fadein3 {
  opacity: 0;
  transform : translate(0, 15px);
  transition : all 3000ms;
}
.scrollin{
  opacity: 1;
  transform: translate(0, 0);
}









