html {
  scroll-behavior: smooth;
}
body{
	max-width: 1024px;
	margin:0 auto;
	padding:0 auto;
	
}
h1{
	margin:0 auto 20px auto;
	padding:0;
	text-align: center;
}
h1 img{
	width:100%;
}
main{
	max-width: 1024px;
	margin:0 auto;
	padding:0 auto;
	position: relative;
}
section{
	margin-bottom:40px;
}
#fes{
	margin:0;
	padding:0;
	font-size:16px;
	line-height: 1.8em;
	font-weight:lighter;
}
a:link { color:#333; }
a:visited { color:#333; }
a:hover { color:#333;text-decoration: underline; }
a:active { color:#c333;text-decoration: underline; }
.fes-pc{
	display: block;
}
.fes-sp{
	display: none;	
}
.yellow-line{
	text-decoration: underline;
	text-decoration-color: #f0e686;
	text-decoration-thickness:0.4em;
	/*text-underline-offset:-0.1em;*/
	font-weight:bold;
	font-size:1.2em;
}
.read-txt{
	margin:20px 0;
	padding:0;
	width:100%;
	text-align: center;
	line-height: 1.8em;
	background-image: url(../img/pc-image1.webp),url(../img/pc-image1.png),url(../img/pc-image2.webp),url(../img/pc-image2.png);
	background-repeat: no-repeat,no-repeat,no-repeat,no-repeat;
	background-position: top 40% left,top 40% left,top 90% right,top 90% right;
	background-size:16%,16%,16%,16%;
}
.btn-area{
    position: fixed;
    bottom: 0;
	text-align: center;
	padding:auto;
	width:100%;
	max-width: 1024px;
	/*background-color: rgba(0, 0, 0, 0.2);*/
}
.fix-btn{
	position: relative;
	background :#333;
	/*color:#FFF;*/
	/*font-weight:bold;*/
	/*font-size:24px;*/
	min-height:44px;
	text-align: center;
	width:480px;
	/*min-width: 320px;*/
	margin:1% auto 1% auto;
	z-index: 2;
	font-family: "vdl-logog", sans-serif;
	font-weight: 400;
	font-style: normal;
	border-radius: 20px;
	-webkit-border-radius: 20px; 
	-moz-border-radius: 20px;
}
 .info-detail{
    text-align: center;
	margin:auto;
	 
  }
 .info-detail a{
	position: relative;
	padding-left: 30px;
	color:#FFF;
	font-weight:lighter;
	border: #333 solid 1px; 
  }
/*  .info-detail a:after {
    content: "";
    position: absolute;
    top: .45em;
    left: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 10px;
    height: 10px;
    border-top: 3px solid #FFF;
    border-right: 3px solid #FFF;
  }*/
.moushikomi{
	width:320px;
	display: block;
	margin:auto;
}
.fes-h3{
	background-color: #333;
	color:#FFF;
	padding:10px 16px;
	width:fit-content;
	transform:skew(-20deg);
	font-size:24px;
	margin:40px auto 30px auto;
}
.fes-h3 span{
	margin:0;
	transform:skew(20deg);
	font-family: "vdl-logog", sans-serif;
	font-weight: 400;
	font-style: normal;
	display: block;
}
.center-txt{
	text-align: center;
	display: block;
	margin-right:auto;
	margin-left:auto;
}
section{
	margin:0 16px;
}
.kv{
	display: block;
	margin:20px auto;
}
.fes-h4{
	font-weight:bold;
	font-size:1.5em;
	margin:20px 0 10px 0;
}
.gest{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin:10px 0;
}
.gest dt{
	width:16%;
	margin:0 0 20px 0;
	display:block;
	padding:0;
	
}
.gest dt img{
	width:100%;
	display: block;
	margin:0;
}
.gest dd{
	width:82%;
	display:block;
	margin:0 0 20px 0;
	padding:0;
}

/*.gest {
  display: flex;
  flex-wrap: wrap;
  margin: 10px 0;
}

.gest dt, .gest dd {
  flex: 1 1 auto;
  margin: 0 0 20px 0;
  padding: 0;
}
.gest dt img {
  max-width: 100%;
  height: auto;
  display: block;
}*/
.txt-l{
	font-size:1.2em;
}
.line-btn{
	display: flex;
	justify-content: center;
	align-items: center;
	background : #00CC00;
	background : rgba(0, 204, 0, 1);
	box-shadow : 0px 10px 0px rgba(0, 102, 0, 1);
	filter: progid:DXImageTransform.Microsoft.dropshadow(OffX=0, OffY=10, Color='#006600') ;
	text-align: center;
	font-weight:bold;
	
	display: inline-block;
	border-radius: 20px;
	-webkit-border-radius: 20px; 
	-moz-border-radius: 20px; 
	margin:20px auto;
	line-height: 1.8em;
}
.line-btn a{
	display: block;
	padding:16px 20px;
	color:#FFF;
	font-size:1.4em;
	text-decoration: none;
}
.flow_design {
	display: flex;
	margin:20px 0;
	padding:0;
}
.flow {
	margin:0;
	padding:0;
}
.flow > li {
	list-style-type: none;
	position: relative;
	padding-left: 6em;
}
.flow > li:not(:last-child) {
	padding-bottom: 10px;
}
.flow > li .icon {
	width: 2em;
	height: 2em;
	line-height: 2em;
	text-align: center;
	border-radius: 100vh;
	display: inline-block;
	background: #333;
	color: #fff;
	position: absolute;
	left: 1.5em;
}
.flow > li:not(:last-child)::before {
    content: '';
    background: #c3c3c3;
    width: 4px;
    height: 90%;
    position: absolute;
    top: 76%;
    left: 2.375em;
    transform: translateY(-50%);
}
.flow > li{
	margin-left: 0;
}
.flow > li:nth-child(4) .icon {
	background: #333; 
	color: #fff; 
	border-radius: 10px; 
	font-size: 1em;
	padding: 5px 0.5em;
	width: auto; 
	height: auto;
	position: absolute;
	left: 0;
	top:-5px;
}
.hint{
	background-image: url(../img/hint.webp),url(../img/hint.png);
	background-repeat: no-repeat,no-repeat;
	background-position: top left,top left;
	background-size:1em,1em;
	padding-left:1.2em;
}
.listmark1{
	background-image: url(../img/listmark.webp),url(../img/listmark.png);
	background-repeat: no-repeat,no-repeat;
	background-position: center left,center left;
	background-size:18px,18px;
	padding-left:26px;
}	
/*.comiong-soon-gest {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	margin-top:10px;
}

.comiong-soon-left {
width: 60%; 
margin-right: 4%; 
}

.comiong-soon-right {
	width: 36%; 
	display: flex; 
	justify-content: center; 
	align-items: center;
}

.comiong-soon-right img {
	width: 100%; 
	height: auto; 
}*/

.guest-box{
	margin:20px 0;
	width:100%;
}
.guest-box dl,.guest-box dd,.guest-box dt{
	vertical-align: top;
}
.guest-box dl{
	width:100%;
	display: block;
	padding-bottom:20px;
	padding-top:0;
	border-bottom: #ccc dashed 1px;
}
.guest-box dl:last-child{
	border-bottom: none;
}
.guest-box dt{
	width:20%;
	foat:left;
	display: inline;
	vertical-align: top;
}
.guest-box dd{
	width:78%;
	float:right;
	display: inline;
	vertical-align: top;
}
.guest-box img{
	width:20%;
	vertical-align: top;
}
.sp-center-txt{
	text-align: left;
	display: inline;
	margin:0;
}
.font-L{
	font-size:24px;
}
.mokuji-box{
	padding:10px;
	display: flex;
	margin:auto;
}
.mokuji{
	background: #333;
	color:#FFF;
	display: inline-block;
	padding:10px;
	text-align: center;
	margin:0 auto;
}
.mokuji-area{
	border: #FFF solid 1px;
	padding:20px 40px;
}
.mokuji h2{
	text-align: center;
	margin:0 auto;
	padding:0 auto 10px auto;
}

.mokuji h2 img{
	width:200px;
}
.mokuji a:after {
	content: "";
	position: absolute;
	top: .45em;
	left: 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 7px;
	height: 7px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
}
.mokuji ul{
	margin:20px auto 0 auto;
	padding:0;
	list-style-type: none;
	display: inline-block;
	text-align: left;
}
.mokuji ul li{
	margin:0 0 10px 0;
	padding:0 0 0 20px;
	color:#FFF;
	position: relative;
	font-size:1.2em;
}
.mokuji ul li a{
	color:#FFF;
	text-decoration: none;
}
#backToTop {
    position: fixed;
    bottom: 100px; /* 画面の下から20pxの位置 */
    right: 20px; /* 画面の右から20pxの位置 */
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    border-radius: 20px; /* 丸形デザイン */
    width: auto; /* ボタンの幅をテキストに合わせて自動調整 */
    height: 50px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1em; /* フォントサイズを1emに設定 */
    padding: 0 1em; /* 内側の余白を調整 */
    display: none; /* 初期状態では非表示 */
}


/* 画面幅が1024px以上の場合 */
@media (min-width: 1024px) {
    #backToTop {
        right: calc((100% - 1024px) / 2);
        right: max(20px, calc((100% - 1024px) / 2)); /* 画面幅が広い場合は中央の1024pxの内側に、それより狭い場合は右から20pxに配置 */
    }
}

footer{
	margin-top:100px;
}
.footer-area{
	width:100%;
	text-align: center;
	margin:20px auto;
	padding-bottom:40px;
}
/* clear */
.clearfix:after,section:after{
  content: "."; 
  display: block; 
  clear: both;
  height: 0;
  visibility: hidden;
}
.clearfix,section{
  min-height: 1px;
}
* html .clearfix,* html section{
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}
/* ------------------------------------------------------------*/ 
@media (max-width: 920px) {
.flow > li:not(:last-child)::before {
    height: 100%;
    top: 70%;
}
}
/* ------------------------------------------------------------*/ 
@media (max-width: 768px) {
.fes-pc{
	display: none;
}
.fes-sp{
	display: block;	
}	
#fes{
	font-size:12px;
}
.read-txt{
	background-size:20%,20%,20%,20%;	
}
.fes-h3,.font-L{
	font-size:18px;
}
.kv{
	width:80%;
	max-width:558px; 
}
.gest dt{
	width:calc(30% - 16px);
}
.gest dt img{
	width:100%;
}	
.gest dd{
	width:70%;
}

.flow > li:not(:last-child)::before {
    height: 100%;
    top: 80%;
}
.listmark1{
	background-position: top 2px left,top 2px left;
	background-size:12px,12px;
	padding-left:16px;
}
.moushikomi{
	width:70%;
}
.comiong-soon-left {
    width: 100%; 
    margin-right: 0; 
  }
.comiong-soon-right {
    width: 100%; 
	text-align: center;
 }
.comiong-soon-right img {
    width: 80%; 
    height: auto;
	margin-top:20px;
  }	
.mokuji h2 img{
	width:46%;
}
.fix-btn{
	width:80%;
}	
}

/* ------------------------------------------------------------*/ 
@media (max-width: 700px) {
.flow > li:not(:last-child)::before {
    height: 100%;
    top: 70%;
}
}
/* ------------------------------------------------------------*/ 
@media (max-width: 600px) {

/*.guest-box dl{
	width:100%;
	display: block;
	margin-bottom:20px;

}*/
.guest-box dt{
	width:100%;
	foat:none;
	display: block;
	margin:0 auto 5px auto;
	text-align: center;
}
.guest-box dd{
	width:100%;
	float:none;
	display: block;
}
.guest-box img{
	width:100%;
	/*width:50%;*/
}
.sp-center-txt{
	text-align: center;
	display: block;
	margin:0 auto;
	padding:0;
}

}
/* ------------------------------------------------------------*/ 
@media (max-width: 430px) {
.fix-btn{
	width:94%;
}
}
/* ------------------------------------------------------------*/ 
@media (max-width: 380px) {
.flow > li:not(:last-child)::before {
    height: 100%;
    top: 60%;
}
}
/* ------------------------------------------------------------*/ 
@media (max-width: 376px) {
.read-txt{
	background-size:16%,16%,16%,16%;
}
.mokuji h2 img{
	width:50%;
}
.mokuji{
	width:90%
}	
.mokuji-area{
	border: #FFF solid 1px;
	padding:4%;
}
	
}
/* ------------------------------------------------------------*/ 
@media (max-width: 330px) {
.read-txt{
	background-size:14%,14%,14%,14%;
}
}
