body{
	font-family:YakuhanJP, "Noto Sans JP", "Noto Sans SC", "Noto Sans TC", "Noto Sans KR", "Noto Sans", serif;
	line-height: 1.6rem;
	font-size:14px;
	background: #fff;
}




/* 言語切り替えボタン */


.dropdown-menu{
	border-radius: 5px;
	padding:0 !important;
	border:1px solid #000;
	background-color: #000!important;
}					

.dropdown-divider{
	margin:0 !important;
}


.dropdown-item{
	font-size: 13px;
	color: #fff !important;
	padding:5px 10px !important;
	font-weight: 500;
}

.dropdown-item:hover{
	background-color:#F1F1F1 !important;
	color:#000 !important;
}

.dropdown-menu li:first-of-type a:hover {
    border-radius: 5px 5px 0 0;
}

.dropdown-menu li:last-of-type a:hover {
	border-radius: 0 0 5px 5px;
}



.dropdown-item:active{
	background-color:#fff !important;
	color:#000 !important;
}

.dropdown-menu{
	width: 112px!important;
	min-width: 112px!important;
	margin-top:5px!important;
}

.dropdown-menu li a{
	color:#fff!important;
}

.dropdown-toggle{
	border:none;
	text-align: left;
	background-color:#000 !important;
	border-radius: 5px;
	padding:7px 17px 7px 12px!important;
	font-size:14px;
	margin:19px 10px 0 0;
	color:#fff;
}

.dropdown-toggle img{
	width: 14px;
	margin-top:-2px;
	margin-right: 5px;
}

nav{
	margin-right: 5px;
	position: absolute;
	right: 0;
	text-align: right;
	z-index: 2;
}

.language{
	right: 20px;
	text-align: end;
}


@media screen and (max-width: 991px) {
	.language{
		right: 60px;
	}
	nav{
		margin-top: 60px;
	}
}

  
.language .dropdown-toggle,
.language .dropdown-menu {
pointer-events: auto;
}

.fixed-top {
  pointer-events: none;
}

/* ページ設定 */

section{
	width:100%;
	margin:0 auto;
	position: relative;
}


.mx {
	width:100%;
	margin:0 auto;
	position: relative;
	max-width: calc(70rem + 30px);
	padding-right:5vw;
	padding-left:5vw;    
}


.desc a{
	color:#000;
	font-weight: 600;
	text-decoration: none;
	border-bottom:1.5px solid;
}

@media screen and (min-width: 992px) {
	.desc {
	  font-size:15px;
	}
}

.steps{
	background-color: #fff;
	padding-bottom:50px;
}

.registrationpage{
	padding-bottom:50px;
}

.fujinavi{
	background-color: #fff;
	/* border-bottom:2px solid #ccc; */
}

.registration{
	background-color: #fff;
	/* border-bottom:2px solid #ccc; */
}

.recieve{
	background-color: #fff;
	/* border-bottom:2px solid #ccc; */
}

.show{
	background-color: #fff;
	/* border-bottom:2px solid #ccc; */
}

.footer{
	background-color: #fff;
}

/* リンク位置調整 */
[id]:before{
  content: '';
  display: block;
  height: 1px;
  margin-top: -1px;
}





/* メニューバー */

* {
	margin: 0;
	padding: 0;
}
*, *:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

html,body {
	height: 100%;
}


.main-in {
	padding-left: 230px;
}
.main p {
	margin-bottom: 1em;
	line-height: 1.9;
}
.main .inner {
	padding: 60px;
}

/* main-visual */
.main-visual {

	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}
.main-visual h2 {
	font-size: 180%;
	color: #fff;
}
h3 {
	font-size: 131%;
	margin-bottom: .7em;
}
#copyright a {
	color: #666;
	text-decoration: none;
}
#copyright a:hover {
	text-decoration: underline;
}

/* ここから */
#global-head {
	position: fixed;
	width: 230px;
	text-align: center;
	padding-top: 45px;
	z-index: 100;
}

#brand-logo{
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	padding:10px;
	margin:0 10px;
	border-top:1px solid #fff;
	border-bottom:1px solid #fff;
	text-align: center;
}


#sidebar {
	font-size: 15px;
	padding-top: 10px;
	width: 230px;
	height: 100%;
	position: fixed;
	color: #033560;
	background: #F0F0F0;
	text-align: center;
	top:0;
}

#sidebar::after{
	position: absolute;
    content: "";
    top: 0px;
    bottom: 0px;
    left: 5px;
    right: 5px;
}

#global-nav{
	height: 100vh;
    overflow:auto; 
}

::-webkit-scrollbar {
	width: 8px;
}

::-webkit-scrollbar-thumb {
	background: #ccc;
	border-radius: 10px;
	}
	

#global-nav ul {
	padding-bottom:100px;
}

@media screen and (min-width: 901px) {
	#sidebar{
		border-right: 1px solid #ccc;

	}
	#sidebar ul{
		padding:0;
		margin: 0;
	}

}

#global-nav a.active {
	color: #BE272D;
	font-weight: bold;
}

#global-nav ul {
	list-style: none;
	margin-left: 0;
	text-align: left;
}
#global-nav > ul > li {
	position: relative;
}

#global-nav a {
	color:#464646;
	font-size:14px;
	line-height: 1.4rem;
	text-decoration: none;
	display: block;
	padding: 15px 30px;
	-moz-transition: background-color .3s linear;
	-webkit-transition: background-color .3s linear;
	transition: background-color .3s linear;
}
#global-nav .sub-menu.is-active > a,
#global-nav a:hover {
	opacity: 0.6;
}

#global-nav .sub-menu-nav a,
#global-nav .sub-menu:hover .sub-menu-nav {
	width: 230px;
}

/* sub-menu icon */
#global-nav .sub-menu-head {
	position: relative;
}
#global-nav .sub-menu-head:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	right: 18px;
	margin: auto;
	vertical-align: middle;
	width: 8px;
	height: 8px;
	border-top: 1px solid #033560;
	border-right: 1px solid #033560;
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


/* sub-menu */
#global-nav .sub-menu-nav {
	position: fixed;
	background: #033560;
	color: #fff;
	top: 0;
	padding-top: 90px;
	left: 230px;
	width: 0;
	height: 100%;
	overflow: hidden;
	-moz-transition: width .2s ease-out;
	-webkit-transition: width .2s ease-out;
	transition: width .2s ease-out;
}
#global-nav .sub-menu.is-active > a:after,
#global-nav .sub-menu-head:hover:after {
	border-color: #fff;
}
#global-nav .sub-menu-nav a {
	color: #fff;
}
#global-nav .sub-menu-nav a:hover {
	color: #033560;
	background: #fff;
}


/* nav-toggle */
#nav-toggle {
	display: none;
	position: fixed;
	top: 15px;
	right: 15px;
	height: 45px;
	background-color: #BE272D;
	border-radius: 50%;
}
#nav-toggle > div {
	position: relative;
	width: 45px;
}
#nav-toggle span {
	width: 50%;
	height: 2px;
	left: 11px;
	display: block;
	background: #fff;
	position: absolute;
	-webkit-transition: .35s ease-in-out;
	-moz-transition: .35s ease-in-out;
	transition: .35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
	top: 17px;
}
#nav-toggle span:nth-child(2) {
	top: 23px;
}
#nav-toggle span:nth-child(3) {
	top: 28px;
}


#overlay {
	display: none;
	position: fixed;
	background: rgba(0,0,0,.6);
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}



@media screen and (max-width: 991px) {
	.main-in {
		padding-left: 0;
	}

	#global-head {
		display: none;
	}

	#global-nav a {
		font-size: 16px;
		line-height: 1.6rem;
	}

	#global-nav ul{
		padding-left:0;
	}

	#sidebar {
		/*display: none;*/
		position: fixed;
		right: -300px;
		top: 0;
		height: 100%;
		width: 300px;
		color: #333;
		-webkit-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}

	#sidebar::after{
		border-left: 1px solid #fff;
	}

	/* サブメニューは開けない */
	#global-nav .sub-menu-head:after,
	#global-nav .sub-menu-nav {
		display: none;
	}
	#nav-toggle {
		display: block;
	}

	/* nav open */
	.open {
		overflow: hidden;
	}
	.open #overlay {
		display: block;
	}
	.open #sidebar  {
		-webkit-transform: translate3d(-300px,0,0);
		transform: translate3d(-300px,0,0);
	}

	.open #nav-toggle{
		border:1px solid #fff;
	}


	/* #nav-toggle close */
	.open #nav-toggle span:nth-child(1) {
		top: 22px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
		background-color: #fff;
	}
	.open #nav-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	.open #nav-toggle span:nth-child(3) {
		top: 22px;
		-webkit-transform: rotate(-45deg);
		-moz-transform: rotate(-45deg);
		transform: rotate(-45deg);
		background-color: #fff;
	}

	/* z-index */
	#overlay {
		z-index: 200;
	}
	#sidebar {
		z-index: 10000;
	}
	#nav-toggle {
		z-index: 20000;
	}


}

@media screen and (max-width: 400px) {
	#sidebar {
		right: -280px;
		width: 280px;
	}
	.open #sidebar  {
		-webkit-transform: translate3d(-280px,0,0);
		transform: translate3d(-280px,0,0);
	}
}

.ticket a{
	padding-bottom:0 !important;
	text-decoration: underline!important;
	color:#393939!important;
}

.ticket{
	border-top:1px solid #D7D7D7;
	margin-top:20px;
	margin-bottom:40px;
}

.ticket img{
	width: 25px;
	margin-right:5px;
	margin-top:-2px;
	transform: rotate( -135deg );
}

/*トップビュー*/
.title{
	font-size:32px;
	text-align: center;
	line-height: 2.8rem;
	font-weight: 700;
}

.title span{
	white-space: nowrap;
}

.toptext{
	font-size: 16px;
	line-height: 1.7rem;
    padding:30px 0;
	margin:20px 0;
}

.toptext span{
	color:#BE272D;
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	.toptext{
		margin:0;
		padding-top: 20px;
		font-size: 15px;
		line-height: 1.7rem;
	}
}

.toptext ul{
	list-style: none;
	margin:0;
	padding: 0;

}

.toptext ul li{
	text-indent:-0.8em;
	padding-left:1em;
	line-height: 1.5rem;
	padding-bottom:15px;
	font-weight: 600;
}



.toptext ul li:first-of-type{
	padding-top:25px;
}

.toptext ul li:nth-of-type(4){
	color: #BE272D;
}

.toptext ul li:nth-of-type(5){
	color: #BE272D;
}

.toptext ul li:nth-of-type(6){
	text-indent:0em;
	padding-left:0em;
}


.toptext a{
	text-decoration: none;
	color: #BE272D;
	border-bottom: 1px solid #BE272D;
	font-weight: 500;
}

.blocktitle{
	margin:70px 0 40px 0;
	font-size:26px;
	line-height: 2rem;
	font-weight: 600;
	/* color: #BE272D; */
	position: relative;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.blocktitle{
		font-size: 22px;
	}
}

/* .blocktitle:after {
    position: absolute;
    border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
    content: "";
    top: 5px;
    bottom: 5px;
    left: 5px;
    right: 5px;
} */

.subtitle {
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.7rem;
	margin-bottom: 40px;
}

.subtitle2{
	font-size: 16px;
	font-weight: 500;
	line-height: 1.7rem;
	padding:20px 15px 30px 15px;
}

.subtitle2 :first-of-type{
	margin-top:10px;
}

.subtext{
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	margin-bottom:40px;
}

.subtext span{
	color:#BE272D;
}

.subtitle span{
	white-space: nowrap;
}


.blocktitle span{
	white-space: nowrap;
}



.sub-col{
	max-width: 380px;
}

.sub-1{
	position: relative;
}

@media screen and (min-width: 992px) {
	.sub-1::after{
		position: absolute;
		content: "";
		border-right: 1px solid #BE272D;
	}

}



.style{
	font-size: 18px;
	padding:10px;
	font-weight: 600;
	text-align: center;
}

.stylegroup{
	background-color: #F9F9F9;
	padding:20px;
	/* border-radius: 10px; */
	border: 1px solid #ccc;
}

.stylegroup a{
	font-weight: 600;
	color: #BE272D;
}


.timegroup{
	padding:10px 0 20px 0;
	font-weight: 500;
}

.timedesc{
	color:#5A5A5A;
	font-size: 14px;
	margin-top:10px;
}

.time{
	margin-top:3px;
	font-size:16px;
	display: inline-block;
	font-weight: 600;
}

.ticketlink a{
	font-size:17px;
	text-decoration: none;
	border-bottom:1px solid #BE272D;
	color:#BE272D;
	font-weight: 500;
}

.ticketlink a:hover{
	opacity: 0.6;
}
.ticketlink{
	text-align: center;
}

/*文字重ねる*/
/* .transparent{
    position: relative;
    display: inline-block;
} */

.transparent img{
    display: block;
}


.transparent::before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
}


.top p{
	position: absolute;/*重ねたい子要素にabsolute*/
	top:50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	color: #fff;
	font-size: 28px;
	font-weight: 600;
	margin: 0!important;
	padding: 0 30px!important;
	width: 100%;
	text-align: center;
	line-height: 2.8rem;
	letter-spacing: 0.1rem;
  }

  @media screen and (max-width: 576px){
	.top p {
		font-size: 19px; 
		line-height: 1.9rem;;
	 }
   }

.top{
	position: relative;
	width: 100%;
	/* padding:20px;
	background-color: #BE272D; */
}

.top p span{
	white-space: nowrap;
}


.top img{
	width: 100%;
	aspect-ratio: 5 / 2;
	object-fit: cover;
	/* border-radius: 10px; */
}

@media screen and (max-width: 575px){
	.top img {
		aspect-ratio: 5 / 3;
	 }
   }

.banner p{
	position: absolute;/*重ねたい子要素にabsolute*/
	top:50%;
	left: 50%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	color: #fff;
	font-size: 14px;
	margin: 0!important;
	padding: 0!important;
	width: 100%;
	text-align: center;
	line-height: 1.3rem;
  }

.banner{
	position: relative;
	width: 100%;
	border-radius: 10px;
	overflow: hidden; 
	border:2px solid #ccc;
}


.banner img{
	width: 100%;
	aspect-ratio: 5 / 2;
	object-fit: cover;
	opacity:0.7;
}

.banner:hover{
	border:2px solid #BE272D;
}


.bannerfilter{
	background-color: rgb(0, 0, 0);
	border-radius: inherit;
}

@media screen and (max-width: 575px){
	.banner img{
		aspect-ratio: 3 / 1;
	}
   }

.banner:hover .bannerfilter{
	background-color: #BE272D;
}   


/* ステップ */
.stepbox{
	background-color: #F9F9F9;
	padding:30px 20px 20px 20px;
	border:2px solid #ccc;
	border-radius: 10px;
}

.stepbox:hover{
	border:2px solid #BE272D;
}


.stepbox:active .steptitle{
	color:#000;
}
.stepbox a{
	color: #000;
	}
.stepbox:hover a{
	color:#BE272D;
}

.step-col{
	position:relative;
}

.stepnumber{
	position: absolute;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #BE272D;
	border:1px solid;
	color: #fff;
	font-weight: 600;
	font-size: 17px;
	text-align: center;
	top:10px;
	left: 13px;
}

.stepnumber div{
	margin-top:2px;
}

@media screen and (max-width: 991px){
	.stepnumber{
		left:16px;
		width:25px;
		height: 25px;
		font-size:14px;
		top:8px;
	}
	.stepnumber div{
		margin-top:-1px;
	}
	
}


.main-in {
	counter-reset: stepblock;
}

.main-in .stepblock{
	display: flex;
	justify-content: center;
}

.main-in .stepblock:before {
	counter-increment: stepblock;
    content: counter(stepblock);
    background-color: #BE272D;
    color: #fff;
    text-align: center;
    width: 32px;
    height: 32px;
    font-size: 17px;
    margin-right: 5px;
    border-radius: 50%;
    flex-shrink: 0;
	margin-top:2px;
}

#global-nav{
	counter-reset: stepnav;
}

#global-nav .stepnav{
	display: flex;
}

#global-nav .stepnav:before {
	counter-increment: stepnav;
    content: counter(stepnav);
    background-color: #000;
    color: #fff;
    text-align: center;
    width: 20px;
    height: 20px;
    font-size:11px;
    margin-right: 5px;
    border-radius: 50%;
    flex-shrink: 0;
	margin-top:2px;
}

@media screen and (max-width: 991px){
	#global-nav .stepnav:before {
		width: 23px;
		height: 23px;
	}
}

.stepbox img{
	width:100%;
	aspect-ratio: 1/1;
	object-fit: cover;
	margin-left:0;
}
.steptitle{
	font-size: 15px;
	margin-bottom:10px;
	line-height: 1.4rem;
}

.steptitle{
	text-decoration: underline;
}

.steptitle2{
	font-size: 15px;
	margin-bottom:10px;
	line-height: 1.4rem;
}
@media screen and (min-width: 992px){
	.steptitle2{
		width: 100%;
		text-align: center;
	}
}

.steptitle3{
	line-height: 1.4rem;
}


.stepbox p{
	font-size:13px;
	line-height: 1.2rem;
	margin-bottom:8px;
}

.stepbox a{
	text-decoration: none;
}



  
/*ボタン*/
.btn {
	position: relative;
    display: block;
	font-size: 13px;
	font-weight: 500;
	color: #fff;
	text-decoration: none;
	text-align: center;
	width: 100%;
	padding: 13px 30px 13px 18px;
	border-radius: 40px;
	min-width: 300px;
}
  

.btn-col{
	display: flex;
	justify-content: center;
}


  /* アイコンのスタイル */
  .btn::after {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: 20px;
	width: 8px;
	height: 8px;
	margin: auto;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
	box-sizing: border-box;
  }



.btn:hover{
	color: #fff;
}

.btn:active{
	color: #fff!important;
}

.btn-blue {
	background-color: #006FC4;
}

.btn-green {
	background-color: #2A792A;
}

.btn-red {
	background-color: #BE272D;
}

.btn-black {
	background-color: #000;
}


.btn-green:hover{
	background-color: #2A792A;
	opacity: 0.85;
}

.btn-black:hover{
	background-color: #000;
	opacity: 0.85;
}

.btn-green:active{
	background-color: #2A792A!important;
}
.btn-red:active{
	background-color: #BE272D!important;
}
.btn-blue:active{
	background-color: #006FC4!important;
}
.btn-black:active{
	background-color: #000!important;
}

.btn-blue:hover{
	background-color: #006FC4;
	opacity: 0.85;
}

.btn-red:hover{
	background-color: #BE272D;
	opacity: 0.85;
}

.btn-col a{
	text-decoration: none;
	border:none;
}


.ticketpc{
	text-align: center;
}

.ticketpc img{
	width: 50%;
}

.ticketpc p{
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	margin-top:20px;
}

.ticketpc-blue p{
	color: #006FC4;
}


.ticketpc-green p{
	color: #2A792A;
}

.ticketpc-red p{
	color: #BE272D;
}

/* スライダー */
.flowslider-wrapper{
	overflow: hidden;  
	position: relative; /* 矢印の absolute を適用するために必要 */
}

.flowslider{
	padding:0;
}

.flowslider2{
	padding:0;
}

.flowslider-list{
    overflow: visible;
}

.flowslider .slick-slide{
    margin-right: 5px!important;
    margin-left: 5px!important;
}

.flowslider2 .slick-slide{
    margin-right: 5px!important;
    margin-left: 5px!important;
}



.flowslider img{
	max-width:100%;
	height: auto;
	margin:20px 0;
	
	position: relative;
  	left: 50%;
  	transform: translateX(-50%);

}

.flowslider2 img{
	max-width:100%;
	height: auto;
	margin:20px 0;
	
	position: relative;
  	left: 50%;
  	transform: translateX(-50%);

}



.borderimg img{
	border:2px solid #EEEEEE;
}

.flowslider p{
	font-size:13px;
	line-height: 1.4rem;
	padding:0 10px;
}

.flowslider2 p{
	font-size:13px;
	line-height: 1.4rem;
	padding:0 10px;
}

.flowslider p a{
	text-decoration: none;
	color:#BE272D;
	font-weight: 600;
	border-bottom:1.5px solid #BE272D;
}

.flowslider2 p a{
	text-decoration: none;
	color:#BE272D;
	font-weight: 600;
	border-bottom:1.5px solid #BE272D;
}

.emphasis{
	color: #BE272D;
	font-weight: 500;
}

.flowslider li{
	padding:0 15px;
}

.flowslider2 li{
	padding:0 5px;
}

button.arrow-common {
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    padding-top: 8%;
    cursor: pointer;
    z-index: 5;
    border: none;
    background-color: transparent;
    width: 100%;
	top:5%;
}

button.arrow-prev {
    background-image: url(../images/arrow_prev.svg);
    left: 5%;
}
button.arrow-next {
    background-image: url(../images/arrow_next.svg);
    left: 86%;
}

/* 一番目と最後の矢印を非表示 */
.slick-disabled{
	display: none!important;
}

.slick-num {
    font-weight: 600;
    text-align: center;
    padding: 10px;
    margin-inline: 5px;
	color:#000;
	position: initial!important;
	font-size: 15px;
}

.now-count{
	font-size: 25px;
	margin-left: 8px;
	font-weight: 700;
}

.all-count{
	font-size: 15px;
}



@media screen and (min-width: 768px){
	.slick-num{
		display: none;
	}
}

@media screen and (min-width: 768px) {
	.flowslider-wrapper{
		width:100%;
		margin:0 auto;
		position: relative;
		max-width: calc(70rem + 30px);
		padding-right:7vw;
		padding-left:7vw;
	}
	.flowslider li{
		display: inline-block;
		width:calc((100% - 127px) / 3);
		margin:20px;
		vertical-align: top;
	}

	.flowslider p{
		font-size:13px;
		line-height: 1.4rem;
		padding:0 10px;
	}


	.imgwrapper{
		display: inline-block;
		position: relative;
		left: 50%;
  		transform: translateX(-50%);
	}

	.imgwrapper:before {
		content: " ";
		position: absolute;
		width: 16px;
		height: 16px;
		border: 0;
		border-top: 3.5px solid;
		border-right: 3.5px solid;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		color:#BE272D;
		background-size: 100% auto;
		top: 45%;
		left: -50px;
	}
    
	.step{
		color:#000;
		text-align: center;
		font-size: 23px;
    	font-weight: 600;
		/* font-family:YakuhanJP, "Noto Serif JP", serif; */
	}

	.step span{
		font-size: 13px;
		margin-right: 8px;
	}
	
}


@media screen and (min-width: 768px) {
	.flowslider2 li{
		display: inline-block;
		width:calc((100% - 200px) / 3);
		margin:20px;
		vertical-align: top;
	}

	.flowslider2 p{
		font-size:13px;
		line-height: 1.4rem;
		padding:0 10px;
	}

	.flowslider2 .imgwrapper:before {
		left:-40px;
	}
	
}
	@media screen and (max-width: 767px) {
		.step{
			display: none;
		}
		.flowslider li{
			position: relative;
		
		}
		
		.flowslider li:not(:first-child):before{
			content: " ";
			position: absolute;
			width: 22px;
			height: 22px;
			border: 0;
			border-top: 3.5px solid;
			border-right: 3.5px solid;
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
			color:#BE272D;
			background-size: 100% auto;
			top: 300px;
			left: -22px;
		}
	}

	@media screen and (max-width: 767px) {
	.flowslider2 li{
		display: inline-block;
		width:calc((100% - 24px) / 2);
		margin:5px;
		vertical-align: top;
	}

	.flowslider2 p{
		font-size:13px;
		line-height: 1.4rem;
		padding:0 2px;
	}

	.flowslider2 .imgwrapper{
		display: inline-block;
		position: relative;
		left: 50%;
  		transform: translateX(-50%);
		}

	.flowslider2 .imgwrapper:before {
		content: " ";
		position: absolute;
		width: 16px;
		height: 16px;
		border: 0;
		border-top: 3.5px solid;
		border-right: 3.5px solid;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		color:#BE272D;
		background-size: 100% auto;
		top: 45%;
		left: -25px;
	}
}

	@media screen and (min-width: 650px) and (max-width: 766px){
		.flowslider li:not(:first-child):before{
			top: 350px;
		}
	}
	
	@media screen and (min-width: 441px) and (max-width: 520px) {
		.flowslider li:not(:first-child):before{
			top: 240px;
		}
	}


	@media screen and (max-width: 440px) {
		.flowslider li:not(:first-child):before{
			top: 230px;
		}
	}


	@media screen and (min-width: 767px) and (max-width: 1049px){
		.imgwrapper:before {
			left: -38px;
		}
	}

	@media screen and (min-width: 1600px) {
		.imgwrapper:before {
			left: -38px;
		}
	}

/* インストールバッジ*/
.badgegroup{
	padding:40px 10px;
	margin:30px 0;
	background-color:#F9F9F9 ;
	border:1px solid #ccc;
}



.badge img{
	height: 100%;
	min-width: 40px;
	max-height:50px;
	width: 100%;
}

.badge2 img{
	width: 100%;
	max-width:150px;
}

.badgebox{
	display: flex;
	text-align: center;
	justify-content: center;
}

.badgegroup{
	text-align: center;
	justify-content: center;
}

.badgedes{
	text-align: center;
	font-size: 18px;
	margin-bottom:15px;
	font-weight: 600;
	color:#004890;
	display: flex;
	justify-content: center;
	align-items: center;
}

.badgedes span{
	white-space: nowrap;
}

.badgedes img{
	width: 8%;
	margin-right: 20px;;
}

@media screen and (max-width: 700px){
	.badgedes img{
		width:15%;
	}
}

.badgegroup a{
	font-weight: 500;
	color:#BE272D;
}

/*アコーディオンメニュー*/
.ac ul {
  list-style: none;
}

#ac-menu1 li:not(.flowslider2 li) {
  border-top:1px solid #ccc;
  margin-left:-30px;
}

#ac-menu2 li {
  margin-left:-30px;
  border-top:1px solid #ccc;
}


#ac-menu1 li:last-of-type:not(.flowslider2 li) {
	border-bottom:1px solid #ccc;
  }

#ac-menu2 li:last-of-type {
	border-bottom:1px solid #ccc;
  }

#ac-menu1 .label, #ac-menu2 .label{
  cursor:pointer;
  font-size: 14px;
  padding: 23px 46px 23px 16px;
  position: relative;
  transition: .5s;
  line-height: 1.6rem;	
  font-weight: 500;
}
/* #ac-menu1 .label:hover, #ac-menu2 .label:hover {
  background-color: #f1f1f1;
} */

@media screen and (min-width: 992px){
 #ac-menu1 .label, #ac-menu2 .label {
	font-size: 15px; 
	line-height: 1.6rem;  
  }
}

#ac-menu1 .label::before, #ac-menu2 .label::before,
#ac-menu1 .label::after, #ac-menu2 .label::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 14px;
  transform: translateY(-50%);
}

/* 丸の背景 */
#ac-menu1 .label::before, #ac-menu2 .label::before {
  width: 24px; /* 丸のサイズ */
  height: 24px;
  background: #BE272D; /* 丸の背景色 */
  border-radius: 50%;
  z-index: 0; /* 十字の後ろに配置 */
}

/* 横棒 */
#ac-menu1 .label::after, #ac-menu2 .label::after {
  width: 12px; /* 十字のサイズ */
  height: 2px;
  background: #fff; /* 十字の色 */
  z-index: 1;
  right: 20px; /* 丸の中心に調整 */
}

/* 縦棒（十字を形成） */
#ac-menu1 .label .plus-bar, #ac-menu2 .label .plus-bar {
  content: '';
  position: absolute;
  width: 2px;
  height: 12px;
  background: #fff; /* 十字の色 */
  top: 50%;
  right: 25px; /* 丸の中心に調整 */
  transform: translateY(-50%);
  z-index: 1;
  transition: .5s;
}

/* アコーディオンが開いたときの動作 */
#ac-menu1 .label.open .plus-bar, #ac-menu2 .label.open .plus-bar {
  transform: translateY(-50%) rotate(90deg);
}


/*
アコーディオンメニューのコンテンツ部分は、「display: none;」で非表示にしておく。
ラベルクリック時にjQueryの「  $(this).next().slideToggle();」で表示に切り替わる
*/
#ac-menu1 .detail,  #ac-menu2 .detail{
  padding: 0px 20px 40px 20px;
  display: none;
  font-size:14px;
}


@media screen and (min-width: 992px){
 #ac-menu1 .detail,  #ac-menu2 .detail {
	font-size: 15px; 
	line-height: 1.6rem; 
	padding: 0px 13px 40px 16px; 
  }
}


#ac-menu1 .detail dl,  #ac-menu2 .detail dl{
  display: flex;
  flex-wrap: wrap;
}
#ac-menu1 .detail dt, #ac-menu2 .detail dt {
  width: 20%;
  font-weight: bold;
  margin-bottom: 40px; 
}
#ac-menu1 .detail dd, #ac-menu2 .detail dd {
  width: 80%;
  margin-bottom: 40px;
}



.detail a{
	text-decoration: none;
	color:#BE272D;
	font-weight: 500;
	border-bottom:1px solid #BE272D;
}

.cautiongroup{
	background-color: #F9F9F9;
	border:1px solid #ccc;
	padding:30px 20px;
}

.cautionbox:not(:first-child){
	margin-top:20px;
}

.cautionbox:not(:last-child){
	padding-bottom:20px;
}

.cautiontitle{
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4rem;
	margin-bottom:15px;
	display: flex;
  	align-items: flex-start;
 	gap: 8px; /* 丸とテキストの間隔 */
}

.cautiontitle::before {
	content: "";
	width: 10px;  /* 丸のサイズ */
	height: 10px;
	margin-top:7px;
	background-color: #BE272D;
	border-radius: 50%;
	flex-shrink: 0; /* 丸のサイズを固定 */
}

.cautiontext{
	font-size: 14px;
}

.cautiontext a{
	text-decoration: none;
	color:#BE272D;
	border-bottom:1px solid #BE272D;
	font-weight: 500;
}

.cautiontext ul{
	list-style: none;
	margin:0;
	padding: 0;

}

.cautiontext ul li{
	text-indent:-0.8em;
	padding-left:1em;
	line-height: 1.5rem;
	padding-bottom:13px;
}

@media screen and (min-width: 992px){
	.cautiontext, .cautiontitle {
	   font-size: 15px; 
	   line-height: 1.6rem; 
	 }
	 .cautiontitle::before{
		margin-top:9px;
	 }
   }

   .chatbot{
	margin-top:30px;
   }

   .chatbot div{
	margin-bottom: 15px;;
   }

.link{
	padding:50px 0;
	margin-top:50px;
	border-top: 1px solid #D9D9D9;
	border-bottom: 1px solid #D9D9D9;
}


   footer{
	text-align: center;
	background-color: #BE272D;
	color:#fff;
	padding:15px 0;
	font-size: 16px;
	font-weight: 600;
	position: fixed;
	bottom:0;
	width:100%;
	z-index:100;
   }

   footer a{
	text-decoration: none;
	color:#fff;
   }

.mf{
	padding-bottom:120px;
}

@media screen and (min-width: 992px){
	.mf{
		padding-bottom:50px;
	}
}

.startbox{
	margin-bottom:40px;
	text-align: center;
	color: #BE272D;
	font-weight: 600;
	font-size: 20px;
	border-top:1px solid #BE272D;
	border-bottom:1px solid #BE272D;
	padding:15px;
}

 .contact{
	margin-top:30px;
}

.contactdes{
	margin-top: 10px;
	font-size: 13px;
}

.contactbox{
	border: 1px solid #D7D7D7;
	padding:20px;
}

.contactsection{
	font-weight: 600;
	border-bottom:1px solid #D7D7D7;
	padding-bottom:10px;
	margin-bottom:14px;
}

.contact-icon{
	font-size: 20px;
	margin-right: 5px;
	vertical-align: -5px;
}

.address{
	font-weight: 600;
}