/* 基本設定
-------------------------------------------------- */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
  }
  
  html {

	height: 100%;
  }
  
  body {
	font-family: 'Noto Sans JP', sans-serif; /* 源ノ角ゴシック JP を使用 */
	line-height: 1.4;
	height: 100%;
	background-color: #4d92ef;
	color: #ffffff;
  }
  
  /* レイアウトコンテナ
  -------------------------------------------------- */
  .container {
	width: 100%;
	margin: 0 auto;
	padding: 0 1.5rem;
  }

  
  .side_padding {
	width: 100%;
	max-width: 100%;
  }

  .round-base{
	height: auto;
	/*border-radius: 40px;*/
	border-radius: 10px;
	padding: 6px 0;
	overflow: hidden;

  }
  .round-base.margin-container{
	margin: clamp(0.2rem,1.5vw,0.5rem);
	
  }
  .round-base.popup-container{
	padding: 0.2rem 0;  
  
  }

  
  /* 使用しない
  .round-container{
	height: auto;
	max-width: 30rem;
	margin: 0.3rem auto;
	background-color: #efece3;
	border-radius: 20px;
	padding-bottom: 10px;
  }
 */
  /* タイトル見出し
  -------------------------------------------------- */
  .setting_top {
	text-align: center;
	margin: 4rem auto;
  }
  
  .title {
	font-size: 2.0rem;
	font-weight: 500;
  }

  .frame_icon_close {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4px;
	width: 83.25px;
	transform: translate(0, -10px);

  }
  
  .status-element_icon_close {
	width: 40px;
	height: 40px;
  }
  
  .text-close {
	font-weight: bold;
	color: #ffffff;
	font-size: 1rem;
	text-align: center;
  }

  
  /* サムネイルセクション
  -------------------------------------------------- */
  .thumbnail-frame {
	position: relative;
	margin: auto;
  }
  
  .thumbnail-group {
	width: 130px;
	height: 130px;
	margin: 0 auto;
	background-color: #ffffff;
	border-radius: 50%;
	position: relative;
  }
  
  .thumbnail-text-wrapper {
	position: absolute;
	top: 40px;
	width: 100%;
	font-weight: 700;
	color: #7ab2ff;
	text-align: center;
	line-height: 1.4;
  }
  
  .thumbnail-sub-text {
	position: absolute;
	top: 83px;
	width: 100%;
	font-weight: 700;
	color: #a9ceff;
	font-size: 0.75rem;
	text-align: center;
  }
  
  .thumbnail-footer {
	position: relative;
	margin: 0.2rem 0 3rem;
	width: 100%;
	font-weight: 700;
	color: #ffffff;
	font-size: 1rem;
	text-align: center;
	}
  
  /* フォーム要素
  -------------------------------------------------- */
  .setting-frame{
	margin-top: 1rem ;
}
  
  .setting-group {
	display: flex;
	flex-direction: column;
	margin-bottom: 1.6rem;
	width: 100%;
	}
  
  .setting-label {
	/* font-size: 1.4rem; */
	font-weight: 600;
	color: #ffffff;
	margin-bottom: 0.3rem;
	width: 100%;
	}
  
  .input-box {
	width: auto;
	background-color: #ffffff;
	border-radius: 2rem;
	padding: 0.2rem 1.2rem;
	box-shadow: 0 0.2rem 0.4rem rgba(0, 0, 0, 0.1);
	}
  
  .input-text {
	font-size: 1.2rem;
	font-weight: 600;
	color: #2d93f7;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	}
  
  /* チェックボックス
  -------------------------------------------------- */
  .checkbox-container {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 1.8rem;
	margin-bottom: 3.5rem;
  }
  
  .checkbox-box {
	display: flex;
	gap: 0.4rem;
	align-items: center;
  }
  
  .checkbox-square {
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 0.4rem;
	border: 0.2rem solid #ffffff;
	flex-shrink: 0;
	position: relative;
	overflow: visible; 
  }
  
  .checkbox-image {
	position: absolute; 
	top: 30%; 
	left: 70%; 
	transform: translate(-50%, -50%); 
	width: 2.5rem; 
	height: auto; 
  }
  
  .checkbox-box.checked .checkbox-square {
	background-color: #ffffff;
	position: relative;
  }
    
  .checkbox-text {
	font-size: 1.4rem;
	font-weight: 600;
	white-space: nowrap;
  }
  
  /* ボタン
  -------------------------------------------------- */
  .button-container {
	display: flex;
	justify-content: center;
	width: auto;
	margin: 1rem;
  }
  
  .button1 {
	width: 18rem;
	height: 4.5rem;
	background-color: #ea9d19;
	border-radius: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
  }
  .button2 {
	width: 12rem;
	height: 4.5rem;
	background-color: #D7D2C8;
	border-radius: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
  }
  .button-text {
	color: #ffffff;
	font-size: 2rem;
	font-weight: 500;
  }

   
  /* root化
  -------------------------------------------------- */
  :root{
	--flex_unit_font:clamp(0.6rem, 3vw, 1rem);
	--flex_common_font_C00: clamp(0.85rem,4vw,1.25rem);
	--flex_common_font_F00: clamp(0.85rem,4vw,1.00rem);
  
}



  /* ユーティリティクラス
  -------------------------------------------------- */
  .padding_s{padding: 0.5rem;}
  .text_unit{font-size: var(--flex_unit_font); font-weight: 700;}
  .text_center { text-align: center; }
  .display_flex { display: flex; }
  .font_bold { font-weight: bold; }
  .font_13 { font-size: 1.3rem; }
  .small_wrapper{ margin: 0.5rem 0; }
  .normal_wrapper { margin: 1rem 0; }
  .input-box-width { max-width: 15rem; }
  .margin-wrapper{ margin: 3rem 0; }
  .margin-left{ margin-left: 10px;}
  .text-blue {color: #2d93f7;}
  .bgcolor-2d93f7{background-color: #2d93f7;}
  .text-thin-blue{color: #4D92EF;}
  .bgcolor-4D92EF{background-color: #4D92EF;}
  .text-green{color: #A1D791;}
  .bgcolor-A1D791{background-color: #A1D791;}
  .text-red{color: #FF4A47;}
  .bgcolor-F02626{background-color: #F02626;}
  .text-orange{color: #FF966E;}
  .bgcolor-FF966E{background-color: #FF966E;}
  .text-skyblue{color: #5FD0F8;}
  .bgcolor-5FD0F8{background-color: #5FD0F8;}
  .text-gray{color:#afafaf;}
  .bgcolor-F2F2F2{background-color:#f2f2f2;}
  .bgcolor-D5D5D5{background-color:#d5d5d5;}
  .text-white{color: #fff;}
  .text-share{ font-size: 0.8rem;}
  .text-width-auto{width: auto;}
  .box-blue{background-color: #2d93f7; }
  .bgcolor-EFECE3{background-color: #EFECE3;}
  .bgcolor-fff{background-color: #fff;}
  .line {
	border: none;
	border-top: 0.125rem solid #ffffff;
	margin: 1.5rem 6rem;
  }

  .divider {
	width: 100%; 
	height: 2.5px; 
	background-color: #c2c2c2; 
	margin:1rem 0;
	border: none; 
  }
  .divider2 {
	width: 100%; 
	height: 0.5rem; 
	background-color: #f0ede6;
	margin:2px 0;
	border: none; 
  }

  .postion_relative{
	position: relative;
  }
  
  /* レスポンシブ設定
  -------------------------------------------------- */
  @media (min-width: 480px) {
	.container {
	  max-width: 100%;
	  padding: 0 2rem;
	}
  
	.setting-frame{
		margin: 0.6rem 0;
	}
  
	.setting-group {
	  flex-direction: row;
	  align-items: center;
	  justify-content: space-between;
	  column-gap: 0.5rem;
	
  }
	.setting-group-start {
	  align-items: start;
	}
  
	.setting-label {
	  font-size: 1.6rem;
	  width: 14rem;
	  margin: 0 1.2rem 0 0;
	  text-align: right;
	}
  
	.input-box {
	  flex: 1;
	  padding: 0.65rem 1.6rem;
	  overflow: hidden;
	}
  
	.exception-box {
	  background-color: transparent;
	  box-shadow: none;
	}
  
	.exception-box .input-text {
	  color: #ffffff;
	  font-weight: bold;
	}
  
	.checkbox-container {
	  flex: 1;
	}
	
	
  }

  
  /* プロフィール登録
  -------------------------------------------------- */

  .container_title{
  padding: 0.5rem;
  text-align: center;
  font-size: 1.2rem;
  color: #2d93f7;
  font-weight: 600;
  }
  .box-wrapper {
  display: flex; 
  justify-content: center; 
  align-items: center; 
  gap: 0.5rem; 
  padding: 0.5rem; 
  }
 

  .box{
	  display: flex; 
	  justify-content: center; 
	  align-items: center;
	  flex-wrap: wrap; 
	  gap: 0.4rem; 
  }
  .box-w{
	gap: 1rem; 
}

  .box-content {
	  display: flex;
	  flex-direction: column;
	  align-items: center;
	  justify-content: center;
	}
	.box-content.medium{
	width: 6.5rem;
	aspect-ratio: 1 / 1; /
	
	}
	.box-content.large {
		width: 7.5rem;
		aspect-ratio: 1 / 1; 
		
	}
	.box-content.flexible {
		width: clamp(6.5rem,5vh,8rem);
		aspect-ratio: 1 / 1; 
		
	}

  .box-text-wrapper {
	  font-weight: 700;
	  color: #4d92ef;
	  font-size: 1rem;
	  text-align: center;
  }
  .box-text-wrapper-white {

	color: #fff;

}

  .box-text-wrapper-s {
	font-size: 0.8rem
	}


  .img-icon {
	  max-width: 2.5rem;
	  max-height: 2.5rem;
	  object-fit: cover;
	  margin: 0.5rem;
  }
  

    /* C00　健康記録セクション
  -------------------------------------------------- */

 .date_frame {
	gap: 0.25rem; 
	padding: 0.5rem;
  }
  @media (max-width: 426px) {
	.date_frame  {
		padding: 0.15rem;
	  }
 }
  
  .date-container{
  padding: 0.3rem;
  
  }
  
  .icon-text-group {
	position: absolute;
	display: inline-flex;  
	flex-direction: column;
	align-items: center;
	font-size: 0.85rem;
	font-weight: 700;
  }
  
  .icon-text-group img {
	width: clamp(2rem, 7vw, 2.5rem);
	height: auto;
	object-fit: cover;
  }
  
  .date-setting-icon{
	position: absolute;
	height: 3.5rem;
	width: auto;
	object-fit: cover;
	margin: 0.75rem;
  
  }
  .complete-icon{
	left: 5%;
  }
  .close-icon{
	right: 5%;
  }
  .edit-icon{
	right: 5.5%;
  }
  .share-icon{
	right: 3%;
	bottom: 3%;
  }
  
  
  /* date navigation */
  .date-navigation {
	display: flex;
	align-items: flex-end;
	gap: 2px;
  }
  
  .date-navigation__prev,
  .date-navigation__next {
	display: flex;
	align-items: center;
	gap: 0.25rem; /* 4px */
  }
  
  .date-navigation__current {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.25;
  }
  
  .date-navigation__year {
	font-size: 0.9rem;
	font-weight: 700;
	color: #2d93f7;
  }
  
  .date-navigation__date {
	display: flex;
	align-items: center;
	gap: 2px;
  }
  
  .date-navigation__day {
	font-size: clamp(0.85rem, 5vw,1.2rem);
	font-weight: 700;
	color: #2d93f7;
	white-space: nowrap;
  }
  
  .date-navigation__icon {
	width: 0.4rem; 
	height: 0.4rem; 
  }
  
  .date-navigation__label {
	font-size: clamp(0.85rem, 5vw,1.2rem);
	font-weight: 600;
	white-space: nowrap;
  }
  
  
  /* subject共通のスタイル */
  .subject-title-base {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #f79800;
	border-radius: 2.5rem;
	color: #ffffff;
	font-weight: 600;
	white-space: nowrap;
  }

  /* フレーム、各種サイズ調整 */
  .subject-title-frame {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
  }
  .subject-title {
	width: auto; 
	padding: 0 2rem; 
	font-size: 1.6rem;
	margin-bottom: 6px;  
  }
@media (max-width: 400px) {
	.subject-title {
		font-size: 1.4rem;
	  }
 }
  
  .subject-title-s {
	width: 6rem; 
	height: 2.0rem; 
  }
  
  /* bg color section */
  .color-frame {
	height: auto; /* 高さを自動調整 */
	padding: 0.5rem; 
	background-color: #EFECE3;
	display: flex;
	flex-direction: column;
	gap: 1rem; /* 16px */
  }
  
  .content-wrapper {
	align-items: center;
	display: flex;
	flex-direction: column;
	}
 
  /* advisor section */
  .advisor-section {
	display: flex;
	align-items: flex-start;
	position: relative;
	margin: 0 auto; /* 中央寄せ */
  }
  
  .advisor-section__image {
	width: clamp(6rem, 20vw, 9rem);
	height: auto;
	object-fit: cover;
  }
  
  .advisor-section__rectangle {
  
	width: clamp(12rem, 60vw, 20rem);
	height: clamp(6rem, 20vw, 8rem);
	position: relative;
	background-color: transparent;}
  
  .adivisor_text-content {
	position: absolute;
	top: 0;
	left: clamp(8px, 2vw, 10px);
	width: 100%;
	height: 100%;
	font-weight: 700;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: clamp(0.25rem, 4vw, 1rem);
	font-size: clamp(0.6rem, 2vw, 1rem);
	padding: 0 clamp(0.5rem, 2vw, 1.25rem);
  }
  
  .rectangle-image {
	width: 100%;
	height: 100%;
	object-fit: contain;
  }
  
  /* navigation bar */
  .navbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 0.3rem 2rem;
	background-color: #2d93f7;
  }  
  .navbar__item {
	font-size: clamp(1rem,4vw,1.2rem);
	font-weight: 700;
	text-align: center;
	line-height: normal;
	position: relative;
  }
  @media (max-width: 400px) {
	.navbar__item {
		font-size: 14px;

	}
	.navbar {
		padding: 0.3rem 1.2rem;
	}
}

  .navbar__icon {
	width: auto;  
	height: 1.25rem;
  }

 .navbar__item.selected,.navbar__icon.selected {
	color: #FFF;
	opacity: 1;
  }

  .navbar__wrapper {
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	gap: 3px;
	opacity: 0.5;
  }
  .navbar__wrapper.sm{
	width: 16%;
	opacity: 0.5;
  }
  .navbar__wrapper.md{
	width: 40%;
	opacity: 0.5;
  }
  
  .navbar__wrapper.selected{
	position: relative; /* 疑似要素を配置するために必要 */
	opacity: 1;
  }
  
  .navbar__wrapper.selected::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 50%;  
	transform: translateX(-50%);  
	width: 100%;  
	height: 4px;
	background: #FFA500;
  }
  .underline-width-sm .navbar__item.selected::after {
	width: 110%;
  }
  
  /* C00　共通テキスト */
  .status-text-common {
	font-size: var(--flex_common_font_C00);
	font-weight: 700;
	letter-spacing: 0;
	line-height: normal;
	position: relative;
	align-items: center;
	flex: 0 0 auto;  /* 伸縮を防ぐ */
  }
  

  .text-wrapper-2{
	font-weight: 700;
	font-size:14px;
}
  
  
  .sub-title-container {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin:0.75rem 0;
  }
  
  .sub-title-icon {
	position: absolute;
	right: 5%;
	width: 32px;
	height: auto;
	object-fit: cover;
	margin-bottom: 2px;
  }
  
  .sub-title {
	font-size: clamp(1rem,4.0vw,1.5rem);
	margin: 0;  
  }
  
  .status-autoframe {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	box-sizing: border-box;
	padding: clamp(0rem, 5vw, 0.2rem) clamp(1rem, 5vw, 1.5rem);
  
  }
  
  .status-autoframe-left-pad {
	padding-left: 2.2rem;
  }
  .status-autoframe-right-pad {
	width: 2.3rem;
	text-align: left;
	word-break: keep-all;
	font-size: var(--flex_unit_font);
	white-space: nowrap;
	
  }
 
  .status-autoframe .icon-frame {
	display: flex;
	align-items: center;
	gap: 4px;
  }
  
  .status-autoframe .img-element {
	object-fit: contain;
	object-position: center;
	display: flex;
	align-items: center;
	justify-content: center;
  }
  .status-element {
	width:1.4rem;
	height:1.4rem;
	object-fit: contain;
  }
  .cancel-element{
	width:clamp(1.2rem, 5vw,1.6rem);
	height:clamp(1.2rem, 5vw,1.6rem);
	position: absolute;
	left: clamp(12px,5vw,1px);
	padding: 2px; 
  }
  
  .adding_section_frame{
  
	margin: 2rem 1.5rem;
	align-items: center;
   
  }
  .adding_section_frame_s{
  
	margin: 0.8rem 1.5rem;
	align-items: center;
   
  }

  .adding_icon{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 6px;
  }
  .adding_icon_left{
	display: flex;
	align-items: center;
	gap: 6px;
  }
  .adding_icon img,.adding_icon_left img {
  
	height: 2.0rem;
	width: auto;
	object-fit: cover;
  }
  
  .status-autoframe .text-wrapper {
	justify-content: center;  /* 追加: テキストの水平センタリングのため */
  }
  
  .status-autoframe .status-frame {
	display: flex;
	align-items: center;
	gap: 2px;
  }
  
  .status-autoframe .badge-preview {
	width: clamp(1rem,5vw,1.5rem);
	height: auto;
	object-fit: cover;
  }
  
  .status-autoframe .div {
	justify-content: flex-end;  /* 追加: テキストの右寄せ配置のため */
  }
  
  
  .status-autoframe .margin-right{
	margin-right: 6px;
  }
  /* status-autoframeに位置の基準点を設定 */
  .status-autoframe {
	position: relative;
  }
  
  /* 基本のスタイル */
  .status-autoframe:not(.no-underline)::after {
	content: '';
	position: absolute;
	height: 1px;
	background-color: #c2c2c2;
	width: calc(100% - 5.8rem);
	bottom: clamp(2px, calc(15px - 1.04vw), 1px);
  }
  .status-autoframe.no-underline::after {
	display: none; /* 下線を非表示 */
  }
  
	
	.status-frame-underline-wrapper {
	  position: relative;
	  display: flex;
	  align-items: center;
	}
	
   .status-frame-underline-wrapper::after {
	content: '';
	position: absolute;
	height: 1px;
	background-color: #c2c2c2;
	width: 100%;
	bottom: 1px;
	}
  
  
  
  .icon-frame {
	display: flex;
	align-items: center;
	gap: 10px;
  }
  
  .symptom-list {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(3px, 1vw, 8px);
	
  }
  
  .symptom-frame {
	width: clamp(1.2rem, 5.5vw, 2.0rem);
	font-size: var(--flex_unit_font);
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #EFECE3;
	border-radius: 20px;
	font-weight: 700;
	flex: 1 0 calc(33.33% - 10px);
	box-sizing: border-box;
	padding: 3px;
  }
  
  .symptom-frame.selected {
	background-color: #007bff;
	color: white;
  }
  
  .status-autoframe-symptom{
	align-items: start;
	margin-top: 1rem;
  }
  .status-autoframe-memo{
	display: contents;
	align-items: start;
	margin-top: 12px;
  }
  
  /*memo section*/
  .memo-frame {
	line-height: 1.25;
	box-sizing: border-box;
	padding: 10px 32px;
	background-color: #EFECE3;
	word-wrap: break-word; 
	overflow-wrap: break-word; 
	white-space: normal; 
	margin-bottom: 1rem;
    overflow: hidden; 
	}
	.memo-frame.no-wrap{
		margin:0 -1.8rem;
	}
  
  
  /*C03 food section*/
  .meal-record {
	width: 100%;
	display: flex;
	background-color: #fff;
	overflow: hidden;
	position: relative;

	}

.meal-record__image-section {
	width: 55%;
	position: relative;
	overflow: hidden; /* はみ出る画像を制御 */
	}

.meal-record__image-section img:not(.meal-timestamp__icon) {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block; /* 画像下の隙間を削除 */
	}

.meal-record__details {
	width: 45%;
	background-color:#e4e4e4;
	color: white;
	padding: 1rem clamp(0.25rem,2vw,1.0rem);
	text-align: left;
	display: flex;
	flex-direction: column;
  	}

.meal-timestamp {
	position: absolute;
	top: 3%;
	left: 3%;
	padding: 0.5rem 0.8rem; /* パディングを調整 */
	border-radius: 1.25rem;
	font-weight: bold;
	z-index: 1;
	display: flex;  /* Flexboxを使用 */
	align-items: center;  /* 垂直方向の中央揃え */
	gap: 0.3rem;  /* アイコンとテキストの間隔 */
	}

.meal-timestamp__icon {
	width:1rem;  /* アイコンサイズを指定 */
	height: auto;
	display: block;  /* 余分なスペースを削除 */
	}

.meal-timestamp__text {
	font-size: 1rem;  /* テキストサイズを指定 */
	line-height: 1;  /* 行の高さを調整 */
	}
.meal-nutrients__expand{
	position: relative;
	display: inline-block;
	width: auto;
	height: auto;
	background-color: #2d93f7;
	border-radius: 20px;
	color: white;
	margin: 5px;
	padding: 2px;
}
.meal-nutrients {
	margin-bottom: 1rem; /* 下の編集アイコンとの間隔 */
}
.meal-nutrients.font-weight100{
	font-weight:100;
}

.meal-period-nav {
	display: flex;
	justify-content: center; 
	gap: 1rem; 
}
.meal-period-nav__item {
	display: flex;
	position: relative;
	align-items: center;
	gap: 0.1rem;
}  

/*C04追加*/
.test-type-selector{
	display: flex;
	text-align: center;
	gap: 2rem
	}
.test-type-selector__frame{
	width: clamp(7rem,40vw,17rem);
	height: auto;
	padding: 0.25rem;
	border-radius: 2.5rem;
	font-weight: bold;
	background-color: white;
	color: rgb(206, 206, 206);
}
.test-type-selector__frame.selected{
	background-color:#2d93f7;
	color: white;
}
.test-type-selector__frame.selected .test-type-selector__icon {
	filter: brightness(0) invert(1); /* 白色に変換 */
}
.test-type-selector__content {
	display: flex;
	align-items: center;
	justify-content: center; 
	gap: 0.75rem;
}

.test-type-selector__icon {
	width: auto; /* または必要なサイズ */
	height: clamp(1rem,4vw,1.4rem);
	object-fit: cover;
}

.test-type-container{
	padding:  8px 0;
	border-radius: 26px;
	margin: 0 10px;
}
.test-type-container.outline{
    border: 6px solid transparent;  
    outline: 4px solid #4d92ef;    
}


.test-type-container__frame{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: clamp(0rem, 5vw, 0.2rem) clamp(0.3rem, 4vw, 0.7rem);
}

.test-type-container__right{
	display: flex; 
	gap: 2.5px;
	align-items: center;
}

  
  /* D01追加
  -------------------------------------------------- */
 .medical-fee-amount__frame{
	text-align: center;
	width: fit-content;
	height: auto;
	padding: 0.25rem 1.5rem;
	border-radius: 2.5rem;
	font-weight: bold;
	background-color: #2d93f7;
	margin: 0 20px;
}
.medical-fee-amount__text{
	color: #fff;
	    font-size: var(--font);
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		min-width: 0;


}
.medical-fee-container{
  border-radius: 20px;
  margin: 0 10px;
  overflow: hidden;
  line-height: 1.6;
}

.medical-fee-container.outline{
	outline: 4px solid #2d93f7; 
}

.medical-fee-container__frame{
  display: flex;
  align-items: center;
  justify-content: space-between;
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  padding: 0 clamp(0.5rem, 5vw, 1.2rem);
}

.medical-fee-container__header{
  background-color: #2d93f7;
  color: white;
  font-weight: 00;
  margin-bottom: 4px;
}
.medical-fee-container__memo{
width: 100%;
white-space: normal; 
background-color:#f2f2f2;
padding: 1.0rem clamp(0.5rem, 5vw, 1.2rem);
line-height: 1.2;
}

.medical-fee__text{
  font-size: var(--flex_common_font_C00);
  position: relative;
  align-items: center;
  flex: 0 0 auto;  
}
.medical-fee__text-memo{
	font-size: var(--flex_common_font_C00);
	position: relative; 
  }

.medical-fee-container__header.add-section{
    padding: 2px 0;
    }
    .medical-fee__selection{
        padding: 1rem 1.5rem;
        gap: 1.5rem;
    }
  /* チェックボックス
  -------------------------------------------------- */
  /* チェックボックスリスト */
.medical__checkbox-list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  padding: 1rem 1.5rem;
}

.medical__checkbox {
  display: flex;
  gap: 0.4rem;
  align-items: center;
  margin-right: 10px;
}

.medical__checkbox-input {
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 0.25rem;
  border: 0.1rem solid #afafaf;
  flex-shrink: 0;
  position: relative;
}

.medical__checkbox-input--checked {
  border-color: #2d93f7;
  background-color: #2d93f7;
}

.medical__checkbox-icon {
  position: absolute;
  top: 30%;
  left: 70%;
  transform: translate(-50%, -50%);
  width: 1.6rem;
  height: auto;
}

.medical__checkbox-label {
  font-weight: 600;
  white-space: nowrap;
  color: #afafaf;
}

.medical__checkbox-label--checked {
  color: #2d93f7;
}

.medical-fee-container__frame.underline {
position: relative;
}

.medical-fee-container__frame.underline::after {
  content: '';
  position: absolute;
  bottom: 1px;
  width:90%;        
  height: 2px;
  background-color: #ffffff;
}
@media screen and (min-width: 760px) {
	.medical-fee-container__frame.underline::after{
		width: 94%;
	}
  }
.medical-fee__icon{
  width: 1.5rem;
  height: auto;
}
 

/* E01追加
  -------------------------------------------------- */
.community-search-bar {
display: flex;
justify-content: center;
width: 100%;
padding: 6px 0;
}

.community-search-bar__input-container {
display: flex;
align-items: center;
max-width: 400px;
width: 90%;
background-color: #fff;
border-radius: 25px;
padding: 3px 10px;
}

.community-search-bar__icon {
flex-shrink: 0;
width: clamp(1rem, 4vw, 1.4rem);
height: clamp(1rem, 4vw, 1.4rem);
margin-right: 0.5rem;
}

.community-search-bar__placeholder {
flex-grow: 1;
text-align: left;
}

/* ユーザープロファイルヘッダー全体のコンテナ */
.profile-container{
	padding: 1rem;

}
.mypage-container{
	padding: 0.5rem 1rem;

}
.mypage-container-padding{
	padding-left: 1.0rem;
}
.profile-header {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
font-weight: 600;
}
.profile-header.mypage {
align-items: start;
padding-top: 1rem;
}

.profile-header__user {
display: flex;
align-items: center;
}
.profile-header__user {
display: flex;
align-items: center;
}

/* ユーザーアバター */
.profile-header__avatar {
width: 4rem;
height: 4rem;
border-radius: 50%;
margin-right: 6px;
object-fit: contain;
border: 2.5px solid white;
}
@media screen and (max-width: 350px) {
	.profile-header__avatar {
		width: 3.5rem;
		height: 3.5rem;
		margin-right: 4px;
}
  }

.profile-header__avatar.sm {
width: 2rem;
height: 2rem;
}

.profile-header__info {
display: flex;
flex-direction: column;
}
.profile-header__follow{
	display: flex;
	flex-direction: column;
	margin-right: 2rem;
	align-items: center;
	}

.profile-header__name {
font-size:1.4rem;
}

.profile-header__id {
font-size: var(--flex_unit_font);
}

/* 右側：共有ボタン */
.profile-header__share {
display: flex;
align-items: center;
}

.mypage-header__share{
padding-top: 8px;
gap: 5px;
display: flex;
align-items: center;
}

.profile-header__share-button {
display: flex;
border: 1px solid #0099ff;
border-radius: 20px;
padding: 2px 1rem;
color: #0099ff;
font-weight: 600;
align-items: center;
gap: 3px;
background-color: white;
}
.community-share-button{
	height: 1rem;
} 
.mypage-setting-button{
	height: 1.5rem;
}
.mypage-follow-button{
	height: 2.0rem;
}

.profile-comment{
/*font-size: var(--flex_unit_font);*/
font-size: var(--flex_common_font_C00); 
font-weight: 700;
padding: 1rem 0;
}
.profile-comment.add{
	padding: 1rem;
}


.profile-record{
font-size: var(--flex_unit_font); 
font-weight: 700;
}

.profile-comment-img{
width: 100%;

}

.profile-footer {
  display: flex;
  justify-content: space-between;
}

.profile-footer__frame {
  display: flex;
  align-items: center;
}
.profile-setting-text{
	font-size:0.85rem;
}

.profile-footer__icon-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}

.profile-footer__icon {
  height: 2rem;
  width: 2rem;
  object-fit: contain;
}

.profile-footer__caption {
  font-size: 6px;
  font-weight: 700;

}

.profile-footer__counter {
  margin-left: 6px;
  font-size: 1.2rem; 
  font-weight: 700;
}

.profile-time-section{
    padding-right: 20px;
}
.user-status{
    display: flex;
    padding: 10px 30px;
    justify-content: space-between;
    align-items: center;
    font-weight: 600;
}
/* 480px未満のモバイル表示用 */
@media screen and (max-width: 479px) {
  .profile-footer__icon {
    height: 1.3rem;
    width: 1.3rem;
  }
  
  .profile-footer__counter {
    font-size: 1rem;
    margin-left: 4px;
  }
}


/*G01*/

.medicine-footer {
	display: flex;
	justify-content: center;
	white-space: space-between;
	width: 100%;
	padding: 6px 0;
}


	.medicine-section-wrapper {
		width: 100%;
	}

	.medicine-section-frame {
		display: flex;
		justify-content: space-between;
		width: 100%;
		padding: 6px 12px;
		background-color: #EFECE3;        
	}

	.medicine-section-item {
		display: flex;
		align-items: center;
		gap: 4px;
	}

	.medicine-section-icon {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.medicine-section-icon img {
		height: 1.5rem;
		width: auto;
	}

	.medicine-section-text {
		font-size: var(--flex_common_font_C00);
		text-align: center;
	}

	/* 追加のCSS - ご指定のフッターCSS */
	.medicine-footer {
		display: flex;
		justify-content: space-between; /* center から space-between に変更 */
		width: 100%;
	}

	.medicine-main-container{
		padding: 0.2rem;
		background-color: #2d93f7;
		
	}
	.medicine-outer-container{
		position: relative;

	}
	.medicine-container{
		margin: 6px 0;
		border-radius: 20px;
		line-height: normal;
		overflow: hidden;
	}

	.medicine-outer-container.locked::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0, 100, 255, 0.3);
		z-index: 1;
		pointer-events: none;
		clip-path: inset(0px round 20px); /* ボーダー幅+元の角丸に合わせる */
		}
	.medicine-container.border-m{
		position: relative;
		border: 4px solid #FF966E;    
	}
	.medicine-container.border-e{
		border: 4px solid #A1D791; 
		position: relative;
   
	}
	.medicine-container.border-n{
		position: relative;
		border: 4px solid #5FD0F8;    
	}

	.medicine-container__header{
		color: white;
		font-weight: 600;
		text-align: center;  
		align-items: center;
		padding: 2px;     
	}

	.medicine-container__frame {
		position: relative;
		background-color: #fff;
		display: flex;
		align-items: center;
		word-wrap: break-word;
		overflow-wrap: break-word;
		white-space: normal;
		gap: 0.25rem;
	}
	.medicine-container__left-container{
		border-radius: 12px;
		margin: 10px;
		overflow: hidden;
		line-height: normal;
		width: 35%;
		aspect-ratio: 1/1;
	}
	.medicine-container__left-img{
		width: 100%;
		height: 100%;
	}
	.medicine-container__left-container.border-m{
		outline: 4px solid #FF966E;    
	}
	.medicine-container__left-container.border-e{
		outline: 4px solid #A1D791;    
	}
	.medicine-container__left-container.border-n{
		outline: 4px solid #5FD0F8;    
	}
	.medicine-container__left-header{
		height: 68%;
	}
	.medicine-container__left-header.taken ,
	.medicine-outer-container.taken .medicine-container__left-header {
		position: relative;
	}
	.medicine-container__left-header.taken::before ,
	.medicine-outer-container.taken .medicine-container__left-header::before {
		content: "内服済"; 
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		font-weight: 600;
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: rgba(0, 100, 255, 0.3); /* Blue fade effect */
		color: #2d93f7;
		font-weight: bold;
		-webkit-text-stroke: 0.4px #FFF;
		text-shadow: 
		-1px -1px 0 #FFF,  
		1px -1px 0 #FFF,
		-1px  1px 0 #FFF,
		1px  1px 0 #FFF;
		font-size: 1.2rem;
		z-index: 1;
	}
	.medicine-container__left-footer{
		display: flex;
		font-size: 1.2rem;
		font-weight: 600;
		align-items: center; 
		height: 32%;
		padding:0 1rem;
		padding-top: 6px;
		gap: 0.4rem;
		word-break: keep-all;
		text-align: center;

	}
	.medicine-container__toggleArea{
		background-color: white;
		width: 58%;
		height: 80%;
		border-radius: 10px;
		position: relative;
	}

	.medicine-container__toggleBtn{
		position: absolute;
		width: 46%;
		height: 88%;
		border-radius: 8px;
		display: flex;
		justify-content: center;
		align-items: center;          
		line-height: 1;
		padding: 0;
	}
	.medicine-container__toggleBtn.done,
	.medicine-outer-container.taken .medicine-container__toggleBtn {
		top: 6%;
		right: 4%;

	}
	.medicine-container__toggleBtn.not-done{
		top: 6%;
		left: 4%;
		background-color: #F02626;
	}
	.medicine-container__right-container{
		flex-flow: column;
		gap: 2px;
	}
	.medicine-container__medicine-title{
		font-size: 1.2rem;
		font-weight: 600;
		color: #2d93f7;
	}
	.medicine-container__medicine-description{
		color:#afafaf;
	}
	.medicine-container__item-column{
		display: flex;
		gap: 10px;
		align-items: center;

	}
	.medicine-container__item-column-left{
	  border-radius: 10px;
	  background-color: #2d93f7;
	  color: white;
	  padding: 2px 12px;
	  text-align: center;
	  word-break: keep-all;
	  font-weight: 600;
	}
	.medicine-container__item-column-right{
		display: flex;
		gap: 4px;

	}
	.medicine-container-wrapper {
		position: relative;
		width: 1.5rem;
		height: 1.5rem;
		display: inline-block;
	  
	}
	.medicine-container-list{
		width: 1.5rem;
		height: 1.5rem;
		position: relative; 

	}
	.medicine-container-wrapper.taken::before {
		content: "済";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		background-color: rgba(0, 100, 255, 0.3);
		color: #2d93f7;
		font-weight: bold;
		-webkit-text-stroke: 0.4px #FFF;
		text-shadow: 
		  -1px -1px 0 #FFF,  
		  1px -1px 0 #FFF,
		  -1px 1px 0 #FFF,
		  1px 1px 0 #FFF;
		font-size: 1.0rem;
		z-index: 1;
		border-radius: 20%; /* オーバーレイも丸くする */

	}
	@media screen and (max-width: 400px) {
		.medicine-container-wrapper.taken::before {

		content: "済";
		position: absolute;
		top: 0;
		left: 0;
		width:1.25rem;
		height: 1.25rem;
	}
	}

	.medicine-container__description-below{
		padding-top: 10px;
		line-height: 1.25rem;       
	}

	.medicine-doc-attachment{
		border-radius: 12px;
		outline : solid 3px #2d93f7;
		text-align: center;
	}
	.medicine-doc-attachment.bottom-right{
		position: absolute;
		top:78%;
		right: 4%;
		padding: 2px 6px;
	}
	@media screen and (max-width: 400px) {
	.medicine-doc-attachment{
		font-size: 0.85rem;
	}
	.medicine-container-list {
		width: 1.25rem;
		height: 1.25rem;
	}
	.medicine-container__item-column{
		gap: 6px;

	}
	.medicine-container__item-column-right{
		gap: 2.5px;
		margin-right: 4px;

	}
	.medicine-container__frame {
		gap: 0.1rem;
	}
	.medicine-container__description-below,.medicine-container__medicine-description{
		line-height: 1rem;
		font-size: 0.85rem;
	}
	.medicine-container__left-footer{
		font-size: 1rem;
		padding: 0 0.5rem;
	}
	}
	@media screen and (max-width: 350px) {
		.medicine-container__left-footer{
		padding: 0 0.2rem;
	}
	.medicine-container__medicine-title{
		font-size: 1rem;
	}
	.medicine-container__right-container{
		line-height: 1.25rem;
	}
	.medicine-container__description-below{
		padding-top: 6px;
		line-height: 1.0rem;
	}
	}
	    
    .medicine-detail-blue-container {
      margin: 0.5rem 4px;
      position: relative; 
      border-radius: 20px; 
      background-color: #2d93f7; 
      padding: 6px;
    }

    .medicine-add-section{
        padding: 0.325rem 1.5rem ;
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .medicine-add-section_frame{
        padding: 0.25rem 0.65rem;
        background-color: white;
        border-radius: 20px;
        color: #d5d5d5;   
    }

    .medicine-add-section_frame.selected{
        color: white;
        background-color:  #2d93f7;
    }

    @media screen and (max-width: 375px) {
        .medicine-add-section_frame{
            font-size: 0.85rem;
            padding: 0.2rem 0.5rem; 
        }
    }

	.medicine-detail-container {
		border-radius: 20px;
		padding: 0.5rem;
	  }

	  .medicine-detail-container_title{
		display: flex;
		position: relative;
		align-items: center;
		justify-content: center;
		gap: 4px;
		padding: 0.25rem;
	  }
	  .medicine-detail-container_title-img{
		width:0.5rem;
		height: auto;
	  }
	  .medicine-pagenation-icon{
		position: absolute;
		top: 40px;
		left: 0;
		right: 0;
		margin-left: auto;
		margin-right: auto;
		width: fit-content; 
	  }
	  .medicine-pagenation-circle {
		width: 0.5rem;
		height:0.5rem;
		background-color: #9ec2f5;
		border-radius: 50%;
		display: inline-block;
		margin: 2px;
	  }
	  .medicine-pagenation-circle.selected{
		background-color: #ea9d19;
	  }
	  
	  .medicine-detail_right-frame,.medicine-detail_right-footer {
	  display: flex;
	  width: 100%; 
	  align-items: center;
	  justify-content: space-between;
	  position: relative;

	  }
	
	  .medicine-detail_right-frame > span {
	  overflow: hidden;
	  white-space: nowrap;
	  text-overflow: ellipsis;
	  min-width: 0;
	  }

	  .medicine-detail_right-frame.underline::after {
		content: '';
		position: absolute;
		height: 0.65px;
		background-color: #d5d5d5;
		width: calc(100% - 0.3rem);
		bottom: clamp(2px, calc(15px - 1.04vw), 1px);
		left: 0.15rem; 
	}
	.medicine-detail_right-footer {
		padding: 1rem 0;

	}
	.medicine-detail_right-footer-icon{
		display: inline-flex;  
		flex-direction: column;
		align-items: center;
		font-size: 0.85rem;
		font-weight: 700;
	}
	.medicine-detail_right-footer-icon img{
		width: clamp(2rem, 7vw, 2.5rem);
		height: auto;
	}
	.medicine-detail_right-folder{
		width: clamp(0.9rem, 5vw, 1.5rem);	
		filter: grayscale(100%) brightness(70%);
		height: auto;

	}

	.medicine-detail_right-frame-s{
		display: flex;
		text-align: center;
		gap: 6px;
	  }
	  .medicine-detail_right-frame-i{
		position:absolute; 
		top: 0; 
		right: -1.3rem; 
		color:#d5d5d5;
	  }
	  @media screen and (max-width: 380px) {
		.medicine-detail_right-frame-i
			{
			right: -1.0rem; 

		}
	   }

	  .medicine-detail-img {
		width: 100%;
		height: auto;
	  }
	
	  .alert-switch {
		width: 3rem;
		height: 1.3rem; 
		background-color: #d5d5d5;
		border-radius: 10px;
		position: relative;
		overflow: hidden;
	  }
	
	  .alert-switch__slider {
		position: absolute;
		text-align: center;
		width: 70%; 
		height: 84%;
		border-radius: 10px;
		font-size: 0.85rem;
		top: 8%;
	  }
	  
	  .alert-switch__slider.on {
		background-color: #F02626;
		border-radius: 10px;
		right: 4%;
	  }
	  
	  .alert-switch__slider.off {
		background-color: #4D92EF;
		border-radius: 10px;
		left: 4%;
	  }
	
	  .medicine-detail-blue-container {
		margin: 0.5rem 4px;
		position: relative; 
		border-radius: 20px; 
		background-color: #2d93f7; 
		padding: 6px;
	  }
	
	  .medicine-detail-white-section {
		border-radius: 20px; 
		font-size: var(--flex_common_font_C00);
		display: flex; 
		padding: 1rem; 
		align-items: start; 
		gap: 0.5rem; 
		background-color: white; 
		margin: clamp(0.2rem,2vw,0.8rem) 0;
	  }
	  .medicine-detail-white-section.blue-border {
		border:4px solid #2d93f7;
		border-radius: 20px;
		padding: 1.5rem 0.4rem;
		margin: 0.5rem 1rem;
	  }

	  .medicine-image-column {
		width: 25%; 
		display: flex; 
		flex-direction: column;
		
	  }
	
	  .medicine-image-frame {
		display: flex; 
		align-items: center; 
		border-radius: 10px; 
		outline: #2d93f7 solid 3px; 
		aspect-ratio: 1/1; 
		margin-bottom: 0.75rem;
	  }
	
	  .medicine-details-right-column {
		width: 75%; 
		display: flex; 
		flex-direction: column;
	  }
	  .medicine-add-section{
		  padding: 0.325rem 1.5rem ;
		  display: flex;
		  align-items: center;
		  justify-content: space-between;
	  }
  
	  .medicine-add-section_frame{
		  padding: 0.25rem 0.65rem;
		  background-color: white;
		  border-radius: 20px;
		  color: #d5d5d5;   
	  }
  
	  @media screen and (max-width: 375px) {
		  .medicine-add-section_frame{
			  font-size: 0.85rem;
			  padding: 0.2rem 0.5rem; 
		  }
	  }
	  .medicine-add-section_header{
		  margin: -4px; 
		  padding: 8px; 
		  text-align: center;
		  font-weight: 600;
	  }
	  .medicine-add-section_description{
		position: relative;
		  font-size: var(--flex_common_font_C00);
		  padding: 1rem 2rem;
		  display: flex;
		  flex-direction: column;
		  line-height: 1.65; 
		
	}

	/*F00 カレンダー*/
		.F00_calendar {
		width: 100%;
		border-collapse: collapse;
		}
		.F00_calendar tr:first-child td {
			border-top: none;
		}
	
		.F00_calendar tr:last-child td {
			border-bottom: none;
		}
	
		.F00_calendar td:first-child {
			border-left: none;
		}
	
		.F00_calendar td:last-child {
			border-right: none;
		}
		
		.F00_calendar th {
		background-color: #2d93f7;
		color: white;
		padding: 0.6rem;
		text-align: center;
		font-weight: 600;
	
		}
		.F00_calendar th.saturday {
		position: relative;
		color: #5FD0F8;
		}
	
		.F00_calendar th.sunday {
		position: relative;
		color: #f44336; 
		}
		
		.F00_calendar th.saturday::before,
		.F00_calendar th.sunday::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 1.8rem;
		height: 1.8rem;
		background-color: white;
		border-radius: 50%;
		z-index: 0;
		}
	
		/* 文字を円の上に表示するためのスタイル */
		.F00_calendar th.saturday span,
		.F00_calendar th.sunday span {
			position: relative;
			z-index: 1;
		}
	
		.F00_calendar td {
		background-color: #fff;
		font-weight: 600;
		color: #9c9c9c;
		text-align: center;
		vertical-align: top;
		height: 80px;
		position: relative; 
		border:solid 3px #f0f0f0;
		padding-bottom: 4px;
		}
		
		.F00_calendar .date {
		margin-top: 2px;
		}
		
		.F00_calendar .today {
		background-color: #2d93f7;
		color: white;
		}
		
		.F00_test-item {
		color: #fff;
		font-weight: 600;
		margin: 2px 0;
		padding: 1px;
		font-size: clamp(0.6rem, 2vw, 1rem);
		display: flex;
		align-items: center;
		justify-content: center;
	
		}
		
		.F00_test-item-yellow {
		background-color: #FDE6C4;
		}
		
		.F00_test-item-pink {
		background-color: #F9ABA7;
		}
		
		.F00_test-item-blue {
		background-color: #A6C8F6;
		}
		
		.alert-icon {
		display: inline-block;
		width: 16px;
		height: 16px;
		border-radius: 50%;
		background-color: white;
		text-align: center;
		line-height: 16px;
		font-weight: bold;
		margin-right: 2px;
		}
		.alert-icon-yellow {
		color: #FDE6C4;
		}
		
		
		.alert-icon-pink {
		color: #F9ABA7;
		}
		
		.alert-icon-blue {
		color: #A6C8F6;
		}
		.invalid {
		position: relative;
		color: #979797ef !important;
		background-color:  #F4F4F4 !important; 
		}
	
		.invalid::after {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: transparent; 
		z-index: 1;
		pointer-events: none;
		}
	
		.invalid .F00_test-item,.invalid .alert-icon,.invalid .date {
		filter: grayscale(100%); 
		opacity: 0.5; 
		}
		.invalid .alert-icon{
		opacity: 1;
		}

		.F00_calendar-footer-frame{
			padding: 1rem;
		}
		.F00_calendar-footer,.F00_calendar-footer-md{
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			gap: 4px;
		}
		.F00_calendar-footer{
			padding: 0.2rem 0;
		}
		
		.F00_calendar-footer-date{
			color: #2d93f7;
		    font-weight: 600;
		}
		.F00_calendar-footer-weekday{
			color: #2d93f7;
		    font-weight: 600;
		}
		.F00_weather-img{
			height: 1.8rem;
		}

		.schedule-table {
            width: 100%;
            border-collapse: collapse;
			font-weight: 600;
        }
        
        .time-cell {
            width: 18%;
            color: #2d93f7;
            text-align: left;
            padding: 8px 2px;
        }
        
        .icon-cell {
            width: 18%;
            margin: 0 2px;
            background-color: #f0ece3;
            position: relative;
        }
        
        .content-cell {
            width: 64%;
            padding: 4px;
            position: relative;
        }
        
        .content-cell::after {
            content: "";
            position: absolute;
            left: 0;
            top: 50%;
            width: 100%;
            height: 2px;
            background-color: #dedede;
            z-index: 1;
        }
        
        .content-cell.has-content::after {
            display: none;
        }
        
        .schedule-table-icon {
            position: absolute;
            z-index: 2; 
            display: flex;
            justify-content: center;
            align-items: center;
            width: 1.7rem;  
            height: 1.7rem; 
			background-image: url('../img/icon_base.png');
            background-size: 100% 100%; 
            background-position: center;
            background-repeat: no-repeat;
        }
		/*一旦 絶対指定*/
        .schedule-table-icon.time0700{
            top: 4px;
            left: 2px;
        }
        .schedule-table-icon.time0730{
            top: 15px;
            right: 2px;
        }
		.schedule-table-icon.time0800{
            top: 4px;
            left: 2px;
        }
        .schedule-table-icon.time1215{
            top:14px;
            left: 2px;
        }
		.schedule-table-icon.time1245{
            top: 22px;
            right: 2px;
        }
        .schedule-table-icon.time1300{
            top: 4px;
            left: 2px;
        }
		.schedule-table-icon.time1515{
            top: 16px;
            left: 2px;
        }
		.schedule-table-icon.time1900{
            top: 0;
            right: 2px;
        }
		.schedule-table-icon.time1910{
            top: 12px;
            left: 2px;
        }
		.schedule-table-icon.time1930{
            top: 26px;
            right: 2px;
        }
		.schedule-table-icon.time1950{
            top: 40px;
            left: 2px;
        }
		.schedule-table-icon.time2015{
            top: 16px;
            right: 2px;
        }
		.schedule-table-icon.time2100{
            top: 4px;
            left: 2px;
        }

        .schedule-table-icon img {
            width: 1.5rem; 
            height: 1.5rem; 
            object-fit: contain;
        }
        
        .lunch-event {
            background-color: #a5d6a7;
            padding: 15px;
            border-radius: 8px;
            text-align: left;
            position: relative;
            z-index: 2;
        }
		.shipping-event{
			background-color: #2d93f7;
            padding: 15px;
            border-radius: 8px;
            text-align: left;
            position: relative;
            z-index: 2;
		}
		.calendar_subject-section,
		.calendar_color-section
	{
		  display: flex;
		  align-items: center;
		  text-align: center;
		  padding: 6px 1.8rem;
		}
		
		.calendar_subject-section img {
		  width: 1.7rem;
		  height: 1.7rem;
		  margin-right:4%;
		}
		
		.calendar_subject-section-title {
		  font-size: 1.4rem;
		}
		
		.calendar_color-section {
		  gap: 4%;
		  padding: 0.5rem 1.8rem;
		}
		
		.calendar_color-text {
		font-weight: 600;      
		color: #2d93f7;
		}
		
			
		.color-circle {
		width:1.4rem;
		height: 1.4rem;
		border-radius: 50%;
		cursor: pointer;
		position: relative; 
		}
	
		.color-circle.selected {
		position: relative;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
		}
		.color-circle.selected::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-image: url('../img/check_preview-icon.png');
		background-repeat: no-repeat;
		background-position: center;
		background-size: 60%;
		}
	
		.color-circle.gradient {
		  background: radial-gradient(
			  circle at center,
			  rgba(214, 237, 255, 0.8) 0%,
			  rgba(255, 255, 255, 0) 90%
		  ),
		  conic-gradient(
			  from 210deg,
			  #ff0099,
			  #ff33cc,
			  #9966ff,
			  #00ccff,
			  #00ffaa,
			  #66ff33,
			  #ffee00,
			  #ff9900,
			  #ff3333,
			  #ff0099
		  );
		  box-shadow:
			  0 0 10px rgba(255, 255, 255, 0.6) inset,
			  0 0 5px rgba(0, 0, 0, 0.1);
		}
	
		.calendar_arrow-container {
		  display: flex;
		  height: 4rem;
		  position: relative;
		}
		
		.calendar_arrow-left {
		  background-color: #4D92EF;
		  color: white;
		  width: 50%;
		  height: 100%;
		  position: relative;
		  display: flex;
		  flex-direction: column;
		  justify-content: center;
		  padding-left: 1.8rem;
		}
		@media (max-width: 380px) {
		.calendar_arrow-left {
		  width: 54%;
		}}
	
		.calendar_arrow-left::after {
		  content: '';
		  position: absolute;
		  right: -20px;
		  top: 0;
		  width: 0;
		  height: 0;
		  border-top: 2rem solid transparent;
		  border-bottom: 2rem solid transparent;
		  border-left: 20px solid #4D92EF;
		  z-index: 1;
		}
		
		.calendar_arrow-right {
		  background-color: #b0d2ff;
		  color: white;
		  width: 50%;
		  height: 100%;
		  display: flex;
		  flex-direction: column;
		  justify-content: center;
		  padding-left: 30px;
		}
		
		.calendar_date {
		  margin-top: 2px;
		  display: flex;
		  align-items: center;
		  font-size: var(--flex_common_font_F00);
		}
		
		.calendar_time {
		  font-size: 1.4rem;
		}
		
		.calendar_end-label {
		  display: inline-block;
		  background-color: #81b7ff;
		  color: #4D92EF;
		  padding: 0 0.75rem;
		  font-size: var(--flex_common_font_F00);
		  border-radius: 12px;
		  margin-left: 5px;
		}
	
		.calendar_section{
			margin: 1rem 1.8rem;
			line-height: 1.6;
		}
		
		.calendar_section-frame,
		.calendar_section-frame-left,
		.calendar_section-frame-right,
		.calendar_frame-select-wrapper,
		.calendar_section-frame-history{
			display: flex;
			align-items: center;
		}
		.calendar_section-frame.underline{
			position: relative;
		}
		.calendar_section-frame.underline::after{
			content: '';
			position: absolute;
			bottom: 1.5px;
			width: calc(100vw - 3.6rem);        
			height: 1.5px;
			background-color: #d2d2d2;
		}
	
		.calendar_section-frame-left,
		.calendar_section-frame-right{
			gap: 5px;
		}
		.calendar_section-frame{
		   justify-content:space-between;
		}
		.calendar_section-frame.column{
			display: flex;
			flex-direction: column;
			align-items: start;
			padding: 0.5rem 0;
		}
		.calendar_section-frame-text{
			margin-top: 2px;
			font-size: 1.25rem;
			color: #2d93f7;
	
		}
		.calendar_frame-select-wrapper{
			display: flex;
			padding: 1px 0.75rem;
			font-size: 0.8rem;
			border-radius: 16px;
			gap: 2px;
			background-color: #2d93f7;
			margin-bottom: 2px;
		}
		.calendar_frame-select-wrapper img{
			width: 0.4rem;
		}
		.calendar_section-frame-time,
		.calendar_section-frame-location{
			color: #2d93f7;
	
		}
		.calendar_section-frame-select{
			color: white;
		}
	
		.calendar_section-frame-left img{
		   height: 1rem;
		   width: 1rem;
		   object-fit: contain;
		}
		.calendar_section-frame-history {
		display: flex;
		gap: 6px;
		position: relative;
		overflow: hidden;
		mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 85%, rgba(0, 0, 0, 0));
		-webkit-mask-image: linear-gradient(to right, rgba(0, 0, 0, 1) 85%, rgba(0, 0, 0, 0));
		}
	
		/* マスクの開始幅は調整が必要？？ */
		@media (min-width: 480px) { 
			.calendar_section-frame-history {
				mask-image: none;
				-webkit-mask-image: none;
			}
		}
	
		.calendar_history-wrapper {
			display: flex;
			flex-direction: column;
			padding: 0.5rem;
			padding-right: 1rem;
			border-radius: 12px;
			flex-shrink: 0; 
		}







	 