* {
  box-sizing: border-box;
}

html {
	font-size: 62.5%; /* -> 10px */
	scroll-behavior: smooth;
}


/* コンテナ */
.container {
}
.container-header {
    width: 1000px;
	margin: 20px auto;
	font-size: 1.3rem;
	color: #444;
	
    }
@media screen and (max-width: 480px) {
	.container-header{
		width: auto;
		border-radius: 0px;
		margin: 0;
		}
}
.f-container {
	display:flex;
	justify-content: space-between;
	flex-direction: row;
    width: 1000px;
	margin: 20px auto;
    }
@media screen and (max-width: 480px) {
	.f-container{
		width: auto;
		border-radius: 0px;
		margin: 0 auto;
		}
}



/* h1 */
.container h1 {
	font-size: 2.5rem;
	color: #5e5e5e;
	font-weight: 900;
	margin-top: 5rem;
	margin-bottom: 2rem;
}
.container h1 img {
	height: 17px;
	vertical-align: baseline;
	padding-left: 0.5rem;
	padding-right: 0.8rem; 
}
@media screen and (max-width: 480px) {
	.container h1{
		text-align: center;
		margin: 2rem 2rem 2rem 2rem;
		font-weight: 900;
		font-size: 1.8rem;
		}
	.container h1 img{
		display: none;
		}
}


.f-container .f-area h1 {
	font-size: 2.5rem;
	color: #5e5e5e;
	font-weight: 900;
	margin-top: 0rem;
	margin-bottom: 2rem;
}
.f-container .f-area h1 img {
	height: 17px;
	vertical-align: baseline;
	padding-left: 0.5rem;
	padding-right: 0.8rem; 
}
@media screen and (max-width: 480px) {
	.f-container .f-area h1{
		text-align: center;
		margin: 2rem 2rem 2rem 2rem;
		font-weight: 900;
		font-size: 1.8rem;
		}
	.f-container .f-area h1 img{
		display: none;
		}
}



/* コンテンツエリア　基本 */
.f-area {
	color: #444;
	font-size: var(--hp-font-size-basic);
}
.f-area p{
	font-size: var(--hp-font-size-basic);
	padding: 0rem 1rem;
}
@media screen and (max-width: 480px) {
	.f-area{
		width: 100%;
		padding: 0 1rem;
	}
}
@media screen and (min-width:481px){
	.f-area{
		width: 75%;
	}
}
.f-area-content{
	background-color: white;
	border-radius: 1.0rem;
	font-size: var(--rp-font-size-basic);
	padding: 3.0rem 5rem 4rem 5rem;
	margin-bottom: 5rem;
            
}

@media screen and (max-width: 480px) {
	.f-area-content{
		width: auto;
		border-radius: 1rem;
		box-shadow: none;
		margin: 0rem 0rem 3rem 0rem;
		padding: 2rem 1rem;
		background-color: white;
	}
}

/* コンテンツエリア　いろいろ */
/*　h2 */
.f-area h2 {
  position: relative;
  padding: 0.5rem .5rem 1.5rem 1rem;
  margin-top: 0;
  font-size: 2.0rem;
  text-align: left;
}
.f-area h2:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  content: '';
  border-radius: 10px;
  background-image: -webkit-gradient(linear, right top, left top, from(#2af598), to(#4ebbff));
  background-image: -webkit-linear-gradient(right, #2af598 0%, #4ebbff 100%);
  background-image: linear-gradient(to left, #2af598 0%, #4ebbff 100%);
}
@media screen and (max-width: 480px) {
	.f-area h2 {
		margin-bottom: 0.5rem;
		}
	.f-area h2::after{
		background-image: linear-gradient(90deg, rgba(253, 246, 146, 1), rgba(209, 253, 254, 1));
	}
}
/* h3 */
.f-area h3{
  position: relative;
  padding: 0.5rem .5rem 1.0rem 1rem;
  margin-top: 0;
  font-size: 1.6rem;
  text-align: left;
}
.f-area h3:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  content: '';
  border-radius: 10px;
  background-color: #e7e7e7;
}

/* 平常テキスト、 p */
.f-area-content{
	font-size: var(--hp-font-size-basic);
	margin: 0rem;
}
.f-area-content p{
	font-size: var(--hp-font-size-basic);
	margin: 2rem 1rem 0rem 1rem;
}
@media screen and (max-width: 480px) {
	.f-area-content {
		font-size: var(--rp-font-size-basic);
		}
	.f-area-content p{
		margin: 2rem 1rem 0rem 1rem;
		}
}




/*　コンテンツ下のスペース空間 */
.space-bottom-0.5rem{
	height: 0.5rem;
}
.space-bottom-1rem{
	height: 1rem;
}
.space-bottom-2rem{
	height: 2rem;
}
.space-bottom-3rem{
	height: 3rem;
}
.space-bottom-4rem{
	height: 4rem;
}
.space-bottom-5rem{
	height: 5rem;
}
.space-bottom-6rem{
	height: 6rem;
}
.space-bottom-7rem{
	height: 7rem;
}
.space-bottom-8rem{
	height: 8rem;
}
.space-bottom-9rem{
	height: 9rem;
}
.space-bottom-10rem{
	height: 10rem;
}
.space-bottom-11rem{
	height: 11rem;
}
.space-bottom-12rem{
	height: 12rem;
}
.space-bottom-13rem{
	height: 13rem;
}
.space-bottom-14rem{
	height: 14rem;
}
.space-bottom-15rem{
	height: 15rem;
}


/*　フォントサイズ */
.font-size-1.0rem{
	font-size: 1.0rem;
}
.font-size-1.1rem{
	font-size: 1.1rem;
}
.font-size-1.2rem{
	font-size: 1.2rem;
}
.font-size-1.3rem{
	font-size: 1.3rem;
}
.font-size-1.4rem{
	font-size: 1.4rem;
}
.font-size-1.5rem{
	font-size: 1.5rem;
}
.font-size-1.6rem{
	font-size: 1.6rem;
}
.font-size-1.7rem{
	font-size: 1.7rem;
}
.font-size-1.8rem{
	font-size: 1.8rem;
}
.font-size-1.9rem{
	font-size: 1.9rem;
}
.font-size-2.0rem{
	font-size: 2.0rem;
}


/*文字装飾系*/
.marker-red{  /*赤*/
	background: linear-gradient(transparent 50%, #ffc3c3 50%);
	color: #dc0000;
	font-size: var(--rp-font-size-basic);
	font-weight: 900;
}
.marker-yellow{  /*黄色*/
	background: linear-gradient(transparent 50%, #fff2a6 50%);
	font-size: var(--rp-font-size-basic);
	font-weight: 900;
}


/* グローバルメニュー */
.f-menu{
	width: 22%;
	padding-top: 0rem;
	padding-bottom: 1rem;
	padding-left: 1.5rem;
	border-radius: 2rem;
}
@media screen and (max-width: 480px) {
	.f-menu{
		display: none;
		}
}


/*パンくずリスト*/
.topicPath {
    clear: both;
    line-height: 1;
    width: 1000px;
    margin: 0 auto;
}
.topicPath ol {
    display: inline-block;
    text-align: left;
}
.topicPath ol li {
    display: inline-block;
    font-size: 11px;
    color: #5c5c5c
}
.topicPath ol li::before {
    content: "\f105";
    display: inline-block;
    padding: 0rem 0.5rem 0rem 0.5rem;
    font-family: FontAwesome;
    color: #d3d3d3;
    font-size: 0.9rem;
}
.topicPath ol li:first-child:before { display: none; }
.topicPath ol li a {
    color: var(--maincolor-link);
    text-decoration: none;
}
.topicPath .home::before{
	content: "\f015";
    display: inline-block;
    padding: 0 0.5rem 0rem 0;
    font-family: FontAwesome;	
}
@media screen and (max-width: 480px) {
	.topicPath{
		display: none;
	}
}
@media print, screen and (min-width: 768px) {
	.topicPath{
		width: auto;
	}
    .topicPath ol li a:hover { text-decoration: none; }
}
@media screen and (max-width: 767px) {
	.topicPath {
	 	padding-top: 85px;
	 	padding-left: 5px;
	}
}







/* メニュー */
.menu-title {
	font-size: 2.0rem;
	font-weight: 900;
	color: #7e7e7e;
	text-align: center;
	margin-bottom: 1rem;
}
.menu-title::after {
	font-family: "Font Awesome 6 Free"; 
	content: '';
	font-size: 1.5rem;
}
.menu-info{
	border-radius: 5rem;
	margin-bottom: 3rem;
	text-align: center;
	font-size: 1.0rem;
	color: #7e7e7e;
	background-color: #e3e3e3;
}
.menu-info img{
	width: 10px;
	margin-right: 2px;
	margin-bottom: -1px;
}
.f-menu .title{
	background-color: #e3e3e3;
	color: #7e7e7e;
	padding: 0.4rem 1.5rem;
	border-radius: 5rem;
	margin-bottom: 1.5rem;
	font-size: 1.5rem;
}
.f-menu ul{
	list-style: none;
	margin-bottom: 2.8rem;
}
.f-menu li{
	font-size: 1.3rem;
	margin-bottom: 0.8rem;
	color: #7e7e7e;
}
.f-menu li:hover{
	text-decoration: underline;
}
.f-menu .notice{
	background:url(./images/icon_notice.svg) no-repeat 0 0;
}
.f-menu .book {
	background:url(./images/icon_book.svg) no-repeat 0 0;
}
.f-menu .box {
	background:url(./images/icon_box.svg) no-repeat 0 0;
}
.f-menu .customer {
	background:url(./images/icon_customer.svg) no-repeat 0 0;
}
.f-menu .pay {
	background:url(./images/icon_pay_v2.svg) no-repeat 0 0;
}
.f-menu .bank {
	background:url(./images/icon_bank.png) no-repeat 0 0;
}
.f-menu .history {
	background:url(./images/icon_history.svg) no-repeat 0 0;
}
.f-menu .setting {
	background:url(./images/icon_setting_v2.svg) no-repeat 0 0;
}
.f-menu .logout {
	background:url(./images/icon_logout.png) no-repeat 0 0;
}
.f-menu .ticket {
	background:url(./images/icon_ticket.png) no-repeat 0 0;
}
.f-menu .point {
	background:url(./images/icon_point.png) no-repeat 0 0;
}
.f-menu .review {
	background:url(./images/icon_review.png) no-repeat 0 0;
}

.f-menu .iconSetting{
	background-size:auto 15px;
	padding-left: 25px;
	background-position-y: 3px;
	padding-bottom: 0.5rem;
}
.f-menu .send{
	background:url(./images/icon_send.png) no-repeat 0 0;
	background-size:auto 18px;
	padding-left: 25px;
	background-position-y: 3px;
	padding-bottom: 0.5rem;
	margin-left: -0px;
}












/* 新着記事 */
.f-area-content .new-title{
	padding: 1rem 1.5rem;
	color: #fff;
	border-radius: 10px;
	font-weight: 900;
	background-image: -webkit-gradient(linear, left top, right top, from(#209cff), to(#68e0cf));
	background-image: -webkit-linear-gradient(left, #209cff 0%, #68e0cf 100%);
	background-image: linear-gradient(to right, #209cff 0%, #68e0cf 100%);
} 
.f-area-content .new-date{
	font-size: 1.1rem;
	color: #959595;
	text-align: right;
	margin-right: 1.5rem;
	margin-top: 0.5rem;
	margin-bottom: 1.5rem;
}
.f-area-content .new-date::before{
	content: "\f133";
    font-family: FontAwesome;
    padding-right: 0.5rem;
    margin-left: 1.5rem;
}
.f-area-content .list{
	font-size: 1.3rem;
	width: 50rem;
	background-color: #e9e9e9;
	margin: 1.5rem 1.5rem;
	padding: 1rem 2rem;
	border-radius: 1rem;
}
.f-area-content .list ul {
	list-style: none;
	margin-left: 2rem;
}
.f-area-content .list ul li{
	font-size: 1.3rem;
}
.f-area-content ul li::before{
	content: "\f0da";
    font-family: FontAwesome;
    color: #969696;
    margin-right: 0.5rem;
}
.f-area-content .title{
	margin-left: -1.5rem;
	font-weight: 900;
}

/* 新着用　リンクボタン */
.f-area-content .btn{
	text-align: center;
	margin: 2rem 0rem 1rem 0rem;

}
.f-area-content .btn a {
	color: #333;
	background-color: #eac932;
    font-size: 1.7rem;
    font-weight: bold;
    position: relative;
    padding: 1.5rem 6rem 1.5rem 5rem;
    border-radius: 5rem;
}
.f-area-content .btn a:hover {
    color: #fff;
    background: #2bb1e2;
    transition: background-color 0.5s ease;
}
.f-area-content .btn a:after {
    font-family: FontAwesome;
    font-size: 1.3rem;
    line-height: 1;
    position: absolute;
    top: calc(50% - .8rem);
    right: 1rem;
    margin: 0rem;
    padding: 0;
    content: '\f054';
    font-weight: 100;
}
@media screen and (max-width:480px){
	.f-area-content .btn{
		text-align: center;
	margin: 2rem 0rem 1rem 0rem;
	background-color: #eac932;
    font-size: 1.7rem;
    font-weight: 600;
    position: relative;
    padding: 1.5rem 2.5rem 1.5rem 2rem;
    border-radius: 5rem;
	}
	.f-area-content .btn a {
		all: unset;
		color: #fff;
	}
	.f-area-content .btn a:after{
		all: unset;
		}
	.f-area-content .btn:after {
    font-family: FontAwesome;
    font-size: 1.3rem;
    line-height: 1;
		color: #fff;
    position: absolute;
    top: calc(50% - .8rem);
    right: 1rem;
    margin: 0rem;
    padding: 0;
    content: '\f054';
    font-weight: 100;
}
}



/* 以下テーブル */

/* table 3行　最後にボタンあり */
.table-01 {
    border-collapse: collapse;
    width: 100%;
    background-color: white;
    margin-bottom: 0rem;
}
.table-01 th {
    border-bottom: 1px solid var(--border-lightgray);
    color: #acacac;
	padding: 1.5rem 2rem 1.5rem 0rem;
	font-weight: 100;
	font-size: 1.5rem;
	width: 180px;
	text-align: left;
}
.table-01 td {
    border-bottom: 1px solid var(--border-lightgray);
    padding: 1rem 2em 1em 0em;
    font-size: 1.3rem;
}
.table-01 td:last-child {
    text-align: right;
    width: 80px;
    padding: 1rem 0rem 1rem 0rem;
    
}
@media screen and (max-width: 480px) {
	.last td:last-child {
		border-bottom: none;
		border-top: 10px solid black;
		width: 100%;
	}
	.table-01 {
		width: 100%;
		border: 2px solid var(--lightyellow);
	}
  .table-01 th{
		background: var(--lightyellow);
		border-bottom: none;
		display: block;
		width: 100%;
		padding: 0.5rem 2rem;
		color: var(--dimgray);
		font-size: 1.3rem;		
	}
  .table-01 td {
		display:inline-block;
		border-bottom: none;
		width: 80%;
		font-size: var(--rp-font-size-basic);
		padding: 2rem 0rem 2rem 2rem;
	}
  .table-01 td:last-child{
		width: 20%;
		padding-right: 5px;
	}
}


/* table 2行 */
.table-02 {
    border-collapse: collapse;
    width: 100%;
    background-color: white;
    margin-bottom: 1rem;
}
.table-02 th {
    border-bottom: 1px solid var(--border-lightgray);
    color: #acacac;
	padding: 1.5rem 2rem 1.5rem 0rem;
	font-weight: 100;
	font-size: 1.5rem;
	width: 180px;
	text-align: left;
}
.table-02 td {
    border-bottom: 1px solid var(--border-lightgray);
    padding: 1rem 2em 1em 0em;
    font-size: 1.3rem;
}
.table-02 .border-top{
	border-top: 1px solid var(--border-lightgray);
}
@media screen and (max-width: 480px) {
	.table-02 {
		width: 100%;
		border-right: 2px solid var(--lightyellow);
		border-left: 2px solid var(--lightyellow);
		border-bottom: 2px solid var(--lightyellow);
	}
  .table-02 th{
		background: var(--lightyellow);
		border-bottom: none;
		display: block;
		width: 100%;
		padding: 0.5rem 2rem;
		color: var(--dimgray);
		font-size: 1.3rem;	
	}
  .table-02 td {
		display:block;
		border-bottom: none;
		width: 100%;
		font-size: var(--rp-font-size-basic);
		padding: 2rem 2rem;
	}
	.table-02 .border-top{
		border-top: 1px solid var(--border-lightyellow);
	}
}






/*　table 複数行　見出し数字あり */
.table-multi {
    border-collapse: collapse;
    width: 100%;
    background-color: white;
    margin-bottom: 1rem;
}
.table-multi td,th{
    border-bottom: 1px solid var(--border-lightgray);
    text-align: center;
    padding: 2rem 1rem;
}
.table-multi td {
	font-size: 1.3rem;
}
.table-multi th {
  font-size: 1.4rem;
  color: #acacac;
}
.table-multi tr:nth-child(odd) {
	background-color: #fff;
}
.table-multi tr:nth-child(even) {
	background-color: var(--cell-lightgray);
}
@media screen and (max-width: 480px) {
  .table-multi {
    width: 100%;
    border-right: 2px solid var(--lightyellow);
    border-left: 2px solid var(--lightyellow);
  }
  .table-multi .thead {
    display: none;
  }
  .table-multi tr {
    width: 100%;
  }
  .table-multi td {
    display: block;
    text-align: left;
    width: 100%;
	font-size: var(--rp-font-size-basic);
    border-bottom: 1px solid var(--lightyellow);
  }
  .table-multi td:first-child {
    background:var(--lightyellow);
    border-bottom: 1px solid var(--lightyellow);
    font-weight: bold;
    text-align: center;
    padding: 0.5rem 0rem;
  }
  .table-multi td:before {
    content: attr(data-label);
    float: left;
    font-weight: bold;
    margin-right: 15px;
    padding: 0 1.5rem;
    border-radius: 0.5rem;
    background-color: #ece5c9;
  }
  .table-multi tr:nth-child(odd) {
	background-color: #fff;
	}
	.table-multi tr:nth-child(even) {
	background-color: #fff;
	}
}


/* テーブル　上部に見出し（右にボタンなし） */





/* テーブル内  ボタン */
.normal-button {
	padding: 5px 15px;
	font-size: 1.3rem;
    color: #333; 
    background-color: var(--maincolor);
    border: 0px solid var(--maincolor);
    border-radius: 20rem; /* 角丸 */
    cursor: pointer;
    transition: background-color 0.3s, color 0.3s; /* ホバー時のアニメーション */
 }
.normal-button:hover {
    background-color:  #2bb1e2;
    border: 0px solid var(--maincolor-d);
    color: #fff;
}
@media screen and (max-width: 480px) {
	.normal-button{
		font-weight: 900;
		border-radius: 5rem;
	}
	.button-space-top{
		margin-top: 1rem;
	}
	.button-space-left{
		margin-left: 0.5rem;
	}
}




/* ムウ ふきだし */
.balloon {
	width: 100%;
	margin: 0px 0;
	overflow: hidden;
	margin: 0rem 3rem;
}

.balloon .faceicon {
	float: left;
	margin-right: -35px;
	width: 60px;
}

.balloon .faceicon img{
	width: 100%;
	height: auto;
	border-radius: 50%;
}
.balloon .chatting {
	width: 100%;
	text-align: left;
	margin-bottom: 10px;
}
.says {
	display: inline-block;
	position: relative; 
	margin: 0 0 0 50px;
	padding: 1rem 2rem;
	max-width: 660px;
	border-radius: 12px;
	background: var(--maincolor);
	color: #4e4d47;
}

.says:after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 13px; 
	left: -19px;
	border: 8px solid transparent;
	border-right: 18px solid var(--maincolor);
	-webkit-transform: rotate(-15deg);
	transform: rotate(-15deg);
}
.says p {
	margin: 0;
	padding: 0;
	font-size: 1.3rem;
}
@media screen and (max-width: 480px) {
	.balloon{
		margin: 0;
		padding: 0rem 0rem 2rem 1rem;
	}
	.balloon .chatting{
		margin-bottom: 0;
	}
	.says{
		max-width: 75%;
		font-size: 1.2rem;
	}
}

span{
	font-size: inherit; /* 親要素に合わせる */
	color: inherit;
}

/* div 丸数字 */
.circle-number {
    display: inline-block;
    width: 20px;
    height: 20px;
    line-height: 20px;
    border-radius: 50%;
    background-color: #b5b5b5; /* 背景色 */
    color: white; /* 文字色 */
    text-align: center;
    font-weight: bold;
    font-size: 1.0rem;
    }

@media screen and (max-width: 480px) {
	.circle-number{
		all: unset;
	}
}


/* コード表示*/
.code-block {
            font-family: "Courier New", Courier, monospace; /* 等幅フォント */
            font-size: 1.3rem; /* フォントサイズ */
            background-color: #f5f5f5; /* 背景色 */
            line-height: 2.5rem;
            color: #444; /* 文字色 */
            padding: 1rem 2rem;
            padding-top: 1rem;
            border: 1px solid #ddd; /* 枠線 */
            border-radius: 5px; /* 角丸 */
            overflow-x: auto; /* 横スクロールを許可 */
        }



