@media screen and (max-width:480px){
	#header-pc,#toparea-pc{
		display: none;
	}
}

@media screen and (min-width:481px){
	#header-pc{
		background: var(--maincolor-);
		color: var(--dimgray);
		text-align: center;
		height: 40px;
		line-height: 40px;
		font-weight: bold;
	}
	
	#toparea-pc{
		height: 65px;
	}
	
	#toparea-pc-container{
		width: var(--pcwidth);
		margin: 28px auto 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#toparea-pc-left-container{
		display: flex;
		align-items: center;
	}
	#toparea-pc-left-container div.logo-div{
		
	}
	#toparea-pc-container ul{
		display: flex;
		list-style-type: none;
		margin: 0 0 0 10px;
	}
	
	#toparea-pc-container ul li{
		border-radius: 1px;
		border: 1px solid var(--dimgray);
		margin: 0 2px;
		font-size: 13px;
		padding: 5px 20px;
	}
	
	#toparea-pc-right-container span{
		font-size: 13px;
		color: var(--dimgray);
	}
	#toparea-pc-right-container .box {
		background: linear-gradient(-45deg, #fba853, #7ec72e);
		padding: 1rem;
		border-radius: 30px;
	}
	
	
	
	
	/*そもそもの大枠　ここから*/
	
	.topmenu-pc-container-top {
	width: 1000px; /* containerの幅 */
  margin: 0 auto; /* 中央揃え */
  display: flex;
  justify-content: space-between; /* 左右のエリアを左右揃えに配置 */
}

.topmenu-pc-container-left, .topmenu-pc-container-right {
  display: flex;
  flex-direction: column; /* 上下に分割 */
}

.topmenu-pc-container-right {
  display: flex;
  flex-direction: column; /* 右側も縦に分割 */
  justify-content: flex-start; /* 上から順に配置 */
  align-items: flex-end; /* 右揃え */
}

.topmenu-pc-container-left-bottom, .topmenu-pc-container-right-bottom {
  text-align: left; /* アイテムを左揃え */
  flex-shrink: 0; /* 要素が縮小しないように設定 */
}
.topmenu-pc-container-right-bottom {
  display: flex;
  justify-content: center; /* 水平方向中央揃え */
  align-items: center; /* 垂直方向中央揃え */
  width: 100%; /* 親要素の幅に合わせる */
  height: 100%;
}
.topmenu-pc-container-right-bottom-inner{
	background-color: var(--maincolor);
	background-image: linear-gradient(90deg, rgba(253, 234, 146, 1), rgba(185, 250, 253, 1));
	justify-content: center; /* 水平方向中央揃え */
	align-items: center; /* 垂直方向中央揃え */
	font-size: 1.2rem;
	padding: 5px 15px 8px 15px;
	border-radius: 1rem;
}

/* 	そもそもの大枠　ここまで */



/*上部　薄いイエロー枠 */
.topmenu-gray-container {
  background-color: var(--lightyellow); /* 背景をグレーに設定 */
  width: 100%; /* 横幅を100%に設定 */
  display: flex; /* 内側コンテナを中央寄せするためにflexを使用 */
  justify-content: center; /* 内側コンテナを中央揃え */
  align-items: center; /* 内側コンテナを垂直方向で中央揃え */
  padding: 5px 0px;
  border-bottom: 1px solid #eee9d3;
}

.topmenu-gray-inner-container {
  width: 1000px; /* 幅1000pxの枠を作成 */
  display: flex; /* 子要素を横並びにする */
  justify-content: space-between; /* 子要素を左右に分割して配置 */
  align-items: center; /* 子要素を垂直方向で中央揃え */
}

.topmenu-gray-left-box, .topmenu-gray-right-box {
  text-align: center; /* テキストを中央揃え */
  display: flex; /* 内部の要素を横並びにする */
  flex-wrap: wrap; /* 必要に応じて折り返し可能 */
}

/* 上部　薄いイエロー枠内　要素いろいろ */ 
.topmenu-btn-welcome{
	background-color: var(--maincolor);
	background-image: linear-gradient(90deg, rgba(255, 193, 65, 1), rgba(247, 209, 55, 1));
	padding: 2px 12px;
	border-radius: 10rem;
	font-size: 1.2rem;
	color: var(--fontcolor-main);
	color: #9c7300;
	 }
.topmenu-btn-welcome:hover{
	background-color: var(--maincolor-d);
	color: white;
}
.topmenu-btn-welcome img{
	height: 13px;
	vertical-align: text-bottom;
	margin-right: 2px;
	 }
.topmenu-btn-adv{
	padding: 2px 12px;
	font-size: 1.0rem;
	border: 1px solid #e1d19d;
	margin-left: 1rem;
	color:  #8c846a;
}
.topmenu-btn-adv img{
	height: 13px;
	vertical-align: middle;
	margin-right: 2px;
}
.topmenu-btn-adv img:last-child{
	margin-right: 0.5rem;
}
.topmenu-btn-adv .topmenu-fontawasome{
	font-size: 0.9rem;
	padding-right:0.3rem; 
}
.topmenu-btn-sitemap{
	font-size: 1.1rem;
	color: #636363;
}
.topmenu-btn-inquiry{
	font-size: 1.1rem;
	color: #636363;
	margin-right: 1.5rem;
}
.topmenu-btn-x{
	font-size: 1.0rem;
	background-color: #cebf8e;
	border: 0px solid #e1d19d;
	padding: 2px 9px 2px 7px;
	border-radius: 5rem;
	margin-right: 1.5rem;
	font-weight: ;
	color: #ffffff;
	position: relative;
	background-image: linear-gradient(176deg, rgba(85, 85, 85, 1), rgba(0, 0, 0, 1));
}
.topmenu-btn-x a {
    position: absolute;
    top: 0;
    left: 0;
    height:100%;
    width: 100%;
}
.topmenu-btn-x .faws{
	color: white;
	font-size: 1.0em;
	margin-right: 3px;
}
.topmenu-btn-login-name{
	font-size: 1.2rem;
	width: auto;
	text-align: center;
	margin-bottom: 0.2rem;
}
.topmenu-btn-login-name b{
	font-size: 1.2rem;
}
.topmenu-btn-customerpage{
	text-align: center;
	display: flex;
}
.topmenu-btn-regist{
	background-color: white;
	text-align: center;
	font-size: 1.3rem;
	padding: 3px 20px 3px 15px;
	margin-right: 1rem;
	border: 1px solid #c5f0ff;

	border-radius: 0.3rem;
}
.topmenu-btn-regist .fontawasome{
	font-size: 1.2rem;
	color:#9aeefb;
	margin-right: 0.5rem;
	}
.topmenu-btn-cp{
	background-color: #0bbdfd;
	text-align: center;
	font-size: 1.3rem;
	padding: 3px 20px 3px 15px;
	margin-right: 1rem;
	border: 1px solid #0bbdfd;
	border-radius: 0.3rem;
}
.topmenu-btn-cp .fontawasome{
	font-size: 1.2rem;
	color:#ffffff;
	margin-right: 0.5rem;
	}
.topmenu-btn-login{
	background-color: var(--maincolor);
	text-align: center;
	font-size: 1.3rem;
	padding: 3px 20px 3px 15px;
	border-radius: 0.3rem;
}
.topmenu-btn-login .fontawasome{
	font-size: 1.2rem;
	color:#ffffff;
	margin-right: 0.5rem;
}
.topmenu-btn-login:hover{
	cursor: pointer;
}
	
	
	
	
	/*メガメニュー　ここから*/
	 .menu-container {
      position: relative;
      display: inline-block;
    }

    .menu-trigger {
      display: inline-block;
      cursor: pointer;
    }

    /* メガメニューの基本スタイル */
    .mega-menu {
      position: absolute;
/*       display: none; */
      top: 100%; /* 親要素の下に配置 */
      left: 0%;
      width: 500px;
      background: white;
      border-radius: 10px;
      box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
      padding: 3rem 3rem;
      z-index: 1000;
      opacity: 0;
      transform: translateY(-1rem);
      transition: opacity .2s ease, transform .2s ease;
      pointer-events: none;
    }
    
    /* 表示位置調整用 */
    .mega-menu.for-guide{
	    left: -200%
	    }

    /* ホバー時にメガメニューを表示 */
    .menu-container:hover .mega-menu {
/*       display: block; */
      opacity: 1;
      transform: translateY(0);
      transition: all .2s ease-in;
      pointer-events: auto; /* ホバー可能に */
    }
    
    /* メガメニューの中身 */
    .mega-menu-container {
      display: flex;
      flex-direction: column; /* 縦方向に並べる */
      gap: 30px; /* 上下の段間の間隔 */
    }
    
	/* 1段ごとの行（Row） */
    .row {
      display: flex;
      gap: 20px; /* 各ボックス間の左右の間隔 */
    }
    
    /* 横並びの子要素 */
    .mega-menu .box {
      padding: 0px;
      display: flex; /* 内部で縦並び用にflexを使用 */
      flex-direction: column; /* 縦並び */
      gap: 5px; /* 内部要素間の間隔 */
    }

    /* 縦並びの内部要素 */
    .mega-menu .item {
      text-align: left;
      margin: 0;
      padding: 0 0 0 2rem;
      font-size: 1.3rem;
    }
    .mega-menu .item-header {
      text-align: left;
      border-bottom: 0px solid var(--border-lightgray);
      margin-bottom: 1rem;
      font-weight: 500;
      font-size: 1.6rem;
      color: var(--maincolor-link);
      padding: 0 0 0 2rem;
    }
    .mega-menu .item a:hover {
      color: var(--maincolor-link);
      text-decoration: underline;
	}
    .comingsoon {
      color: #cecece;
      font-weight: 900;
	}
	.tag-new{
		background-color: white;
		margin-left: 0.5rem;
		padding: 1px 3px;
		font-weight: bold;
		font-size: 0.9rem;
		border: 1px solid #fb33d0;
		color: #fb33d0;
	}
	.tag-grey{
		color: #b5b5b5;
		font-size: 1.1rem;
	}
	
	
	
	/* ふきだし */
	.balloon1 .faceicon img{
		height: 45px;
		width: auto;
	}
	.balloon1 .chatting {
		width: 100%;
		text-align: left;
	}
	.balloon1 .says {
		display: inline-block;
		position: relative; 
		margin: -45px 0 0 50px;
		padding: 3px 15px 10px 15px;
		max-width: 200px;
		border-radius: 12px;
		background: #edf1ee;
	}
	.balloon1 .says:after {
		content: "";
		display: inline-block;
		position: absolute;
		top: 3px; 
		left: -19px;
		border: 8px solid transparent;
		border-right: 18px solid #edf1ee;
		-webkit-transform: rotate(-20deg);
		transform: rotate(20deg);
	}
	.balloon1 .says p {
		margin: 0;
		padding: 0;
		padding-top: 7px;
		font-size: 1.1rem;
		text-align: left;
	}
	.balloon1 .says img {
		height: 15px;
	}
	
	
    
    
    
	/*メガメニュー　ここまで*/
	
/* 	ヘッダー 装飾 */
	h1.header{
		margin: 1rem 0 0 0;
		padding: 0;
		font-weight: normal;
		font-size: 0.9em;color: #9e9e9e;
	}
	
	
	
	 
	 
	 


#toparea-pc-right-container .box__inner {
  background: #FFF;
  padding: 1.6rem;
  border-radius: 20px;
}

#toparea-pc-right-container .box__inner p {
  line-height: 1.8rem;
}

}


@media screen and (max-width:480px){
	#topmenu-pc{
		display: none;
	}
	
	#topmenu-mobile{
		background: var(--white);
		height: 70px;
		box-shadow: var(--boxshadow-nomal-mobile);
		display: flex;
		justify-content: space-between;
		align-content: center;
		position: fixed;
		top: 0;
		width: 100%;
		z-index: 4000;
	}
	
	#topmenu-mobile .search-svg{
		mask-image: url("/tsukuyomi_share/images/icon_sp_login.png");
		mask-repeat: no-repeat;
		mask-position: center center;
		mask-size: 30px;
		width: 50px;
		height: 50px;
		background-color: var(--maincolor);
	}
	
	#topmenu-mobile .sns-x{
		color: var(--maincolor);
		margin-right: 0px;
		margin-top: 14px;
	}
	#topmenu-mobile .sns-x .faws{
		font-size: 1.5em;
	}
	
	#topmenu-mobile .leftbox{
		padding-left: 10px;
		padding-top: 20px;
	}
	
	#topmenu-mobile .rightbox{
		display: flex;
		align-content: center;
		margin: 10px 0;
	}
	
}

@media screen and (min-width:481px){
	#topmenu-mobile{
		display: none;
	}
	
	#topmenu-pc{
/* 		background: var(--white); */
		z-index: 10;
		background: rgba(255,255,255,1.0);
		border-bottom: 1px solid #e6e6e6;
	}
	.fixed{
		position: fixed;
	  top: 0;
	  width: 100%;
	  
	}
	
	#topmenu-pc-container-bottom{
		width: var(--pcwidth);
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#topmenu-pc-container-top{
		width: var(--pcwidth);
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	
	#topmenu-pc-left-ul{
		list-style-type: none;
		display: flex;
	}
	#topmenu-pc-left-ul li{
		margin: 0 15px;
		font-size: 14px;
	}
	#topmenu-pc-left-ul li.firsttime{
		color: var(--white);
		background: var(--maincolor);
		border-radius: 0.8vh;
		padding: 0 5px;
		margin-top: 5px;
		margin-bottom: 0px;
	}
	
	#topmenu-pc-right-ul{
		list-style-type: none;
		display: flex;
	}
	#topmenu-pc-right-ul li{
		font-size: 13px;
		padding: 8px 15px;
		margin: 0 0 0 5px;
	}
	#topmenu-pc-right-ul li.cssNew-btn{
		background: var(--dimgray);
		color: var(--white);
	}
	#topmenu-pc-right-ul li.cssLogin-btn{
		background: var(--maincolor);
		color: var(--dimgray);
	}
}

@media screen and (max-width:480px){
	#topmenu-mobile-modal-wrapper{
		position: fixed;
		top: 70px;
		right: 0;
		width: 100%;
		height: 100%;
		z-index: 100000;
		display: none;
		background: rgba(0,0,0,0.5);
	}
	
	#topmenu-mobile-modal-container{
		position: absolute;
		width: 90vw;
		right: -90vw;
		background: var(--white);
		padding-bottom: 200px;
		margin: 0 0 0 auto;
		max-height: calc(100vh - 70px);
		overflow-y: scroll;
		
		transition: transform 0.5s ease; /* スライドアニメーション */
    transform: translateX(0);
	}
	/* モーダルが表示される状態 */
	#topmenu-mobile-modal-wrapper.active #topmenu-mobile-modal-container{
		transform: translateX(-90vw);
	}
	
	#topmenu-mobile-modal-container .username-container{
		background: #f5f5f7;
		display: flex;
		align-items: center;
		padding: 10px;
	}
	
	#topmenu-mobile-modal-container .account-svg{
		mask-image: url("/tsukuyomi_share/images/_i_icon_15003_icon_150031.svg");
		mask-repeat: no-repeat;
		mask-position: center center;
		mask-size: 50px;
		width: 50px;
		height: 50px;
		background-color: var(--maincolor);
		margin-right: 10px;
	}
	
	#topmenu-mobile-modal-container .signin-container{
		padding: 10px 0 20px;
	}
	#topmenu-mobile-modal-container .signin-container p{
		text-align: center;
		font-size: 0.9em;
		padding-bottom: 5px;
	}
	
	#topmenu-mobile-modal-container .signin-container ul{
		list-style-type: none;
		margin-top: 5px;
	}
	
	#topmenu-mobile-modal-container .signin-container ul li{
		border-radius: 5px;
		width: 80%;
		position: relative;
/* 		height: 25px; */
		border: solid 1px var(--maincolor);
		margin: 0 auto;
		text-align: center;
		font-weight: bold;
		padding: 5px 0;
	}
	#topmenu-mobile-modal-container .signin-container ul li:not(:last-child){
		margin-bottom: 10px;
	}
	
	#topmenu-mobile-modal-container .signin-container ul li.login{
		background: var(--maincolor);
		color: var(--white);
	}
	
	#topmenu-mobile-modal-container .main-menu{
		padding: 0;
		background: #eaeaea;
	}
	#topmenu-mobile-modal-container .sp-menu-title{
		background-color:#55afe7; 
		color: white;
		padding: 5px 10px 5px 20px;
		font-weight: bold;
	}
	#topmenu-mobile-modal-container .main-menu img{
		margin-left: 15px;
		margin-right: 5px;
		height: 15px;
	}
	.text-with-icon {
	    display: flex;
		align-items: center; /* アイコンとテキストを垂直方向に中央揃え */
		font-size: 1.0em;
    }
    .text-with-icon img {
    	margin-right: 10px;
		width: 20px;
		height: 20px;
		vertical-align: middle;
    }
	#topmenu-mobile-modal-container .main-menu table.tb-main-menu{
		background-color: ;
		padding: 5px 0;
		margin: 0 0;
		width: auto;
		color: #555;
		font-size: 0.9em;
	}
	#topmenu-mobile-modal-container .main-menu table.tb-main-menu td{
		padding: 7px 5px;
		font-size: 0.9em;
	}	
	
	
	
	#mobile-modalmenu-ul-parent{
		list-style-type: none;
	}
	
	#mobile-modalmenu-ul-parent li{
		background: var(--maincolor);
		padding-top: 5px;
		padding-left: 2px;
		font-size: 14px;
	}
	
	#mobile-modalmenu-ul-parent li p{
		margin: 0 0 5px 1em;
		color: #444;
		
	}
	
	#mobile-modalmenu-ul-parent li ul{
		list-style-type: none;
	}
	#mobile-modalmenu-ul-parent li ul li{
		background: var(--white);
		border-bottom: 1px solid var(--maincolor);
		padding: 0.7rem 0 0.5rem 0;
		margin-left: -0.7em;
	}
	#mobile-modalmenu-ul-parent .listSetting{
		background-position: top left;
		background-repeat: no-repeat;
		background-size:  auto 19px;
		padding-left: 30px;
		line-height:20px;
	}
	#mobile-modalmenu-ul-parent .sp-menu-title-cp{
		font-size: 13px;
		padding-left: 3px;
	}
	#mobile-modalmenu-ul-parent .dataSending{
		background-image: url(./images/icon_send.png);
	}
	#mobile-modalmenu-ul-parent .bookList{
		background-image: url(./images/icon_book.svg);
	}
	#mobile-modalmenu-ul-parent .box{
		background-image: url(./images/icon_box.svg);
	}
	#mobile-modalmenu-ul-parent .pay{
		background-image: url(./images/icon_pay_v2.svg);
	}
	#mobile-modalmenu-ul-parent .bank{
		background-image: url(./images/icon_bank.png);
	}
	#mobile-modalmenu-ul-parent .customer{
		background-image: url(./images/icon_customer.svg);
	}
	#mobile-modalmenu-ul-parent .history{
		background-image: url(./images/icon_history.svg);
	}
	#mobile-modalmenu-ul-parent .setting{
		background-image: url(./images/icon_setting_v2.svg);
	}
	#mobile-modalmenu-ul-parent .logout{
		background-image: url(./images/icon_logout.png);
	}
	
	
	#mobile-modalmenu-ul-parent li ul li p{
		margin: 0 0 5px 2em;
		
	}
	
	#topmenu-mobile-modal-container .welcome-container{
		text-align: center;
		margin: 10px 0 0px 0;
	}
	
	#topmenu-mobile-modal-container .welcome-container img{
		width: 85%;
		margin-bottom: 5px;
		}
	#topmenu-mobile-modal-container .welcome-container .x{
		width: 85%;
		border-radius: 5px;
		background-color: #4c4c4c;
		padding: 6px 5px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 5px;
		color: #d5ff00;
		background-image: linear-gradient(176deg, rgba(85, 85, 85, 1), rgba(0, 0, 0, 1));
		position: relative;
	}
	#topmenu-mobile-modal-container .welcome-container .x a {
    	position: absolute;
		top: 0;
		left: 0;
		height:100%;
		width: 100%;
	}
	#topmenu-mobile-modal-container .welcome-container .x .faws{
		color: white;
		margin-right: 5px;
	}
	#topmenu-mobile-modal-container .welcome-container .guide img{
		width: 85%;
		border:1px solid var(--maincolor);
		border-radius: 5px;
	}
}


/* PC */

.rotate-image {
    width: 40px;
    height: auto; /* アスペクト比を維持 */
    transition: transform 0.2s ease-in-out; /* 回転アニメーションのスムーズさを設定 */
}
.rotate-image:hover {
    transform: rotate(10deg); /* 回転角度を設定 */
}

.header-menu-icon-text{
	font-size: 0.7em;
	margin-top: 5px;
}

.header-menu-icon-container {
      display: flex; /* 横並びに配置 */
      gap: 10px; /* 各ボックス間のスペース */
      padding-bottom: 1rem;
    }
.header-menu-icon {
	text-align: center;
	margin-top: 10px;
	position: relative; /* 擬似要素の基準位置を設定 */
    padding-right: 20px; /* ボーダー分のスペースを確保 */
    margin-bottom: 0px; /* 各リスト間の余白 */
    padding-left: 1rem;
    }
.header-menu-icon::after {
      content: '';
      position: absolute;
      right: 0; /* 右側に配置 */
      top: 25%; /* divの高さの35%から開始 */
      bottom: 20%; /* divの高さの35%までで終了 */
      width: 1px; /* ボーダーの幅 */
      background-color: #e4e4e4; /* ボーダーの色 */
    }
.header-menu-icon.no-border::after {
      display: none;
    }
      

.header-menu-icon {
	text-align: center;
	padding-top: 10px;
	}
.header-menu-icon img{
	margin-bottom: -5px;
}
.header-menu-icon .letter-spacing{
	letter-spacing: -0.05rem;
}
.icon-sitemap{
	color: #555;
}
.icon-sitemap .font-size-0.8em{
	font-size: 0.8em;
}



/*  そのほか */
.junbichu{
	color: #bebebe;
}
.rinji-caption{
	color: #bfbfbf;
	font-size: 1.0rem;
	margin-top: 0px;
	margin-bottom: 5px;
	line-height: 1.5;
	padding-left: 1rem;
}
.sp-menu-new{
	background-color: white;
	border: 1px solid #2ec86e;
	padding: 2px 3px;
	margin-left: 6px;
	font-size: 1.0rem;
	color: #2ec86e;
	border-radius: 4px;
	font-weight: bold;
}


