@charset "utf-8";


*,
*::before,
*::after
{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}


html {
	overscroll-behavior-y: none;
}

body {
	width: 100%;
	overflow-x: hidden;
}

img, svg {
	vertical-align: top;
}

/* 資生堂フォント */
@font-face {
	font-family: Shiseido Neue;
	src: url(./font/ShiseidoNeue-Regular-Btr2ySZU.otf);
	font-display: swap;
}



#contents {
	width: 100%;
	position: relative;
	
	/* 文字サイズ自動調整をOFFに */
	text-size-adjust: 100%;

	/* 基本のフォント */
	font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', '游ゴシック体', yugothic, '游ゴシック', 'Yu Gothic', 'Noto Sans JP', sans-serif;

	/* 基本の文字色 */
	color: #000;

	/* テキスト選択＆長押しメニュー不可 */
	user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none;

	/* タップ時のハイライトをなしに */
	-webkit-tap-highlight-color: transparent;

	/* 慣性スクロールON（for Android） */
	-webkit-overflow-scrolling: touch;	

	text-align: center;
	overflow: hidden;
}





/***************************************
アプリヘッダ（コンテンツ上部のロゴと戻るボタン）
***************************************/
.appHeader {
	position: fixed;
	top: 0;
	left: 0;
	width: 750px;
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;

	background-color: #fff;
	transform-origin: top left;

	z-index: 20;
}
.appHeader > #logo {
	height: 40px;
}
.appHeader > #btnBack {
	position: absolute;
	top: 0;
	left: 0;
	padding: 0 30px;
	height: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;

	cursor: pointer;
}


/***************************************
各画面の配置先
***************************************/
#pageLayer {
	width: 750px;

	position: relative;
	transform-origin: top left;

	z-index: 10;
}

/*--------------------------
各画面の基本クラス
--------------------------*/
.pageBase {
	position: relative;
	width: 100%;

	padding-bottom: 60px;
}


/***************************************
TOP画面
***************************************/
#topPage {
}
#topPage > #kv {
	height: 485px;
}
#topPage > #update {
	margin-top: 60px;
	position: relative;
	border: solid 2px #c80421;
	border-radius: 30px;
	width: 670px;
	height: 250px;	  

	display: inline-flex;
	align-items: center;
	justify-content: center;
}
#topPage > #update > #label {
	position: absolute;
	top: 0;
	transform: translateY(-50%);

	padding: 0 50px;
	background-color: #fff;

	/* 資生堂フォント */
	font-family: Shiseido Neue, sans-serif;
	font-size: 40px;
	color: #c80421;
}
#topPage > #update > #text {
	font-size: 28px;
	line-height: 40px;
	color: #000;
}
#topPage > #update > #text > .red {
	font-weight: bold;
	color: #c80421;
}

#topPage > #label {
	margin-top: 65px;
	font-size: 34px;
	font-weight: bold;
	color: #000;
}
#topPage > #text {
	margin-top: 40px;
	font-size: 28px;
	color: #000;
	line-height: 40px;
}
#topPage > #text > .red {
	font-weight: bold;
	color: #c80421;
	font-size: 32px;
}

#topPage > #grayBase {
	margin-top: 60px;
	padding: 60px 0;
	position: relative;
	background-color: #f4f4f4;
} 
#topPage > #grayBase> #kiyakuLabel {
	font-size: 30px;
	line-height: 40px;
	letter-spacing: -0.05em;
	color: #000;
}
#topPage > #grayBase> #kiyakuTxt {
	margin-top: 40px;
	display: inline-block;
	width: 590px;
	height: 230px;
	border: solid 2px #c9caca;
	background-color: #fff;
	overflow-y: scroll;
	padding: 30px;
	text-align: left;

	font-size: 26px;
	line-height: 40px;
	letter-spacing: -0.05em;
	color: #2d2d2d;
}
#topPage > #grayBase> #kiyakuChk {
	margin-top: 30px;;
}
#topPage #line {
	margin: 50px 0;
	display: inline-block;
	width: 670px;
	height: 2px;
	background-color: #c9caca;
}
#topPage > #grayBase > #startLabel {
	position: relative;
	display: inline-block;
	font-size: 34px;
	letter-spacing: -0.05em;
	color: #c80421;
}
#topPage > #grayBase > #startLabel::before {
	content: "";
	position: absolute;
	top: 5px;
	left: -30px;
	width: 2px;
	height: 40px;
	background-color: #c80421;
	transform: rotate(-30deg);
}
#topPage > #grayBase > #startLabel::after {
	content: "";
	position: absolute;
	top: 5px;
	right: -30px;
	width: 2px;
	height: 40px;
	background-color: #c80421;
	transform: rotate(30deg);
}
#topPage > #grayBase > #btnStart {
	margin-top: 40px;
}
#topPage > #grayBase > #btnStart2 {
	margin-top: 40px;	
}
#topPage > #grayBase > #notify {
	margin-top: 40px;
	font-size: 26px;
	letter-spacing: -0.05em;
	color: #2d2d2d;
}
#topPage > #grayBase > #btnHistory {
	margin-top: 50px;
}

#topPage > #howtoLabel {
	margin-top: 80px;
	font-size: 40px;
	letter-spacing: -0.05em;
	font-weight: bold;
	color: #000;
}
#topPage > #howtoCarousel {
	margin-top: 60px;
}

/*--------------------------
使用方法カルーセル要素
--------------------------*/
.howtoCarousel {
	position: relative;
}
.howtoCarousel > #carousel {
	position: relative;
	display: inline-block;
	width: 100%;
	overflow: hidden;
}
.howtoCarousel > #carousel > #itemsLayer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}
.howtoCarousel > #carousel > #itemsLayer > .item {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #fff;

	display: inline-block;

	transform: translateX(-50%);
}
.howtoCarousel > #carousel > #itemsLayer > .item > #img {
	width: 540px;
	height: 540px;
}
.howtoCarousel > #carousel > #btnL {
	position: absolute;
	top: 50%;
	left: 40px;
}
.howtoCarousel > #carousel > #btnR {
	position: absolute;
	top: 50%;
	right: 40px;	
}
.howtoCarousel > #carousel > .btnDir {
	padding: 10px;
	transform: translateY(-50%);
	cursor: pointer;
}
.howtoCarousel > #carousel > .btnDir > #icon {
	pointer-events: none;
}

.howtoCarousel > #label {
	margin-top: 30px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	height: 54px;
	background-color: #c80421;
	border-radius: 27px;

	/* 資生堂フォント */
	font-family: Shiseido Neue, sans-serif;
	font-size: 28px;
	color: #fff;
}
.howtoCarousel > #text {
	margin-top: 30px;
	width: 100%;
	height: 140px;
	font-size: 28px;
	line-height: 40px;
	color: #2d2d2d;	
}
.howtoCarousel > #indicator {
	margin-top: 10px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;	
}
.howtoCarousel > #indicator > .mark {
	width: 20px;
	height: 20px;
	border-radius: 10px;
	background-color: #727271;	
}
.howtoCarousel > #indicator > .mark.active {
	background-color: #c80421;	
}

#topPage > #env {
	margin-top: 80px;
	font-size: 28px;
	line-height: 40px;
	letter-spacing: -0.05em;
	color: #000;

	margin-bottom: 40px;
}

#topPage > #bannerArea {
	margin-bottom: 40px;

	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
	gap: 30px;
}
#topPage > #bannerArea > .banner {
	width: 80%;
	cursor: pointer;
}

#topPage > #ver {
	position: absolute;
	left: 5px;
	bottom: 5px;
	font-size: 16px;
	color: #777;
}


/***************************************
問診画面
***************************************/
#enquetePage {

}
#enquetePage > #title {
	margin-top: 20px;
	margin-bottom: 30px;
	font-size: 40px;
	font-weight: bold;
	color: #c80421;
}
#enquetePage > .line {
	display: inline-block;
	width: 670px;
	height: 2px;
	background-color: #c9caca;
	margin-bottom: 60px;
}
#enquetePage > #ansAreaQ1 {
	margin-top: 30px;
	margin-bottom: 60px;
	position: relative;
	width: 670px;
	display: inline-flex;
	align-items: flex-end;
	justify-content: center;

}
#enquetePage > #ansAreaQ1 > #selBoxQ1 {
	width: 210px;
}
#enquetePage > #ansAreaQ1 > #ageUnit {
	font-size: 30px;
	letter-spacing: -0.050em;
	padding-left: 25px;
}

.enqueteLabel {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	width: 670px;
}
.enqueteLabel > #mark {
	width: 96px;
	height: 96px;
	border: solid 2px #c80421;
	border-radius: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;

	/* 資生堂フォント */
	font-family: Shiseido Neue, sans-serif;
	font-size: 40px;
	color: #c80421;
}
.enqueteLabel > #text {
	margin-left: 40px;
	text-align: left;
	font-size: 30px;
	line-height: 40px;
	letter-spacing: -0.05em;
	color: #000;
}
.enqueteLabel > #text > #comment {
	font-size: 20px;
}

.answerBtn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 210px;
	height: 70px;
	border-radius: 10px;

	background-color: rgb(255, 255, 255);
	box-shadow: 0px 8px 32px 0px rgba(201, 202, 202, 0.3),0px 2px 8px 0px rgba(83, 83, 83, 0.3);
	  
	font-size: 28px;
	color: #000;

	cursor: pointer;
}
.answerBtn.selected {
	background-color: rgb(200, 4, 33);
	opacity: 0.6;
	box-shadow: 0px 2px 8px 0px rgba(200, 4, 33, 0.3),0px 8px 24px 0px rgba(197, 104, 117, 0.3);

	color: #fff;
}

.answerGroup {
	margin-top: 30px;
	margin-bottom: 60px;

	position: relative;
	display: inline-flex;
	flex-wrap: wrap;

	width: 670px;

	gap: 30px 20px;
}

#enquetePage > #btnNext {
	margin-top: 80px;
	
}
#enquetePage > #attention {
	margin-top: 40px;
	font-size: 26px;
	letter-spacing: -0.05em;
	color: #c80421;

	height: 40px;
}


/***************************************
撮影方法画面
***************************************/
#snapHowtoPage {

}
#snapHowtoPage > #title {
	margin-top: 15px;

	font-weight: bold;
	font-size: 40px;
	color: #c80421;
}
#snapHowtoPage > #info {
	margin-top: 40px;

	font-size: 28px;
	color: #2d2d2d;
	letter-spacing: -0.05em;
}
#snapHowtoPage > #imgArea {
	margin-top: 40px;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 340px;
	height: 340px;
	background-color: #fae0e4;	
}
#snapHowtoPage > #imgArea > #img {

}
#snapHowtoPage > #instList {
	margin-top: 40px;

	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;

	font-size: 24px;
	color: #2d2d2d;	
	letter-spacing: -0.05em;
}
#snapHowtoPage > #instList > #instTxt {
	text-align: left;
	margin-left: 1em;
}
#snapHowtoPage > #instList > #instTxt.emp {
	font-weight: bold;
	border-bottom: solid 1px #000;
}
#snapHowtoPage > #instList > #instTxt::before {
	content: "・";
	font-weight: normal;
	margin-left: -1em;
}
#snapHowtoPage > #btnSnap {
	margin-top: 40px;
}


#snapHowtoPage #test {
	width: 360px;
	height: 480px;
	position: absolute;
	top: 100px;
	left: 20px;
}
#snapHowtoPage #test > #cvs {
	object-fit: contain;
}

/***************************************
撮影画面
***************************************/
#snapPage {
	padding-bottom: 0;

}
#snapPage > #statusPane {
	margin-top: 20px;
}
#snapPage > #viewArea {
	margin-top: 30px;
}

/*--------------------------
ビューエリア要素
--------------------------*/
.viewArea {
	position: relative;
	width: 100%;

	background-color: #fff;
}
.viewArea > canvas {
	position: absolute;
}
.viewArea > video {
	position: absolute;
	transform: scaleX(-1);	/* 左右反転 */
}
.viewArea > #overlay {
	position: absolute;

	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.viewArea > #overlay > #white {
	z-index: 0;
	position: absolute;
	top: 0;
	left: 0;

	transition-duration: 200ms;
}
.viewArea > #overlay > #guide {
	z-index: 1;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);

	stroke: #c9caca;
	stroke-width: 8px;
	fill: none;
}
.viewArea > #overlay > #guide #cross {
	stroke-width: 2px;
}
.viewArea > #overlay > #black {
	z-index: 2;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.3);

	transition-duration: 200ms;
}
.viewArea > #overlay > #count {
	z-index: 3;
	font-size: 200px;
	color: #fff;
	overflow: hidden;

	/* 資生堂フォント */
	font-family: Shiseido Neue, sans-serif;	
}
.viewArea > #overlay > #msg {
	margin-top: 20px;

	z-index: 4;
	font-size: 26px;
	font-weight: bold;
	color: #fff;
	line-height: 1.385;
	text-shadow: 0px 0px 22.56px rgba(0, 0, 0, 0.7);
}

/*--------------------------
ステータス表示要素
--------------------------*/
.statusPane {
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;

	gap: 20px;
}
/*--------------------------
ステータス表示の１要素
--------------------------*/
.statusElem {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 10px;
	background-color: rgb(255, 255, 255);
	box-shadow: 0px 8px 20px 0px rgba(201, 202, 202, 0.3),0px 2px 8px 0px rgba(83, 83, 83, 0.3);
	width: 210px;
	height: 70px;	  

	color: #000;
	stroke: #c80421;
	stroke-width: 2px;
	fill: none;
}
.statusElem.ok {
	background-color: rgba(200, 4, 33, 0.6);
	box-shadow: 0px 6px 8px 0px rgba(200, 4, 33, 0.38);

	color: #fff;
	stroke: #fff;
}
.statusElem > #label {
	font-size: 28px;
	letter-spacing: -0.025em;
}
.statusElem > #icon {
	width: 40px;
	height: 40px;
	transform: scale(0.8);
	margin-left: 5px;
}


/***************************************
分析中画面
***************************************/
#analyzingPage {
}
#analyzingPage > #wrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

/*--------------------------
処理中のぐるぐる表示要素
--------------------------*/
.loadingMark {
	display: inline-block;
	position: relative;	

	width: 180px;
	height: 180px;
}
.loadingMark > #cvs {
	width: 100%;
	height: 100%;
}
.loadingMark > #text {
	margin-top: 35px;

	font-size: 32px;
	color: #2d2d2d;

	/* 資生堂フォント */
	font-family: Shiseido Neue, sans-serif;
}


/***************************************
結果画面
***************************************/
#resultPage {
	padding-bottom: 0;
	padding-top: 180px;		/* ankerPanelの分 */
}

#resultPage > #ankerPanel {
	position: fixed;
	top: 200px;
	left: 0;
	width: 100%;
	height: 160px;
	background-color: #fff;
	display: flex;
	align-content: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 20px;

	z-index: 100;
}
#resultPage > #ankerPanel > .btnAnker {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 210px;
	height: 60px;
	border-radius: 30px;
	background-color: #fff;
	color: #000;
	font-size: 24px;
	letter-spacing: -0.05em;

	box-shadow: 0px 8px 20px rgba(201, 202, 202, 0.3),0px 2px 8px rgba(83, 83, 83, 0.3);
	  
	cursor: pointer;
}
#resultPage > #ankerPanel > .btnAnker::after {
	content: "";
	position: absolute;
	top: 20px;
	right: 24px;
	width: 14px;
	height: 14px;
	border-bottom: solid 2px #000;
	border-left: solid 2px #000;
	transform: rotate(-45deg);
}

#resultPage > #chartArea {
	padding-top: 20px;

	position: relative;
	width: 100%;
	background: linear-gradient(#fff 70%, #f6f6f6);

}
#resultPage > #chartArea > #title {
	font-size: 40px;
	font-weight: bold;
	color: #c80421;
}
#resultPage > #chartArea > #avgInfo {
	margin-top: 10px;

	position: relative;
	display: inline-block;
	font-size: 26px;
	letter-spacing: -0.05em;
	color: #000;
}
#resultPage > #chartArea > #avgInfo > #num {
	font-size: 30px;
	font-weight: bold;

	/* 資生堂フォント */
	font-family: Shiseido Neue, sans-serif;	
}
#resultPage > #chartArea > #avgInfo::before {
	content: "";
	width: 20px;
	height: 2px;
	background-color: #c80421;
	position: absolute;
	top: 50%;
	left: -50px;
}
#resultPage > #chartArea > #avgInfo::after {
	content: "";
	width: 20px;
	height: 2px;
	background-color: #c80421;	
	position: absolute;
	top: 50%;
	right: -50px;
}
#resultPage > #chartArea > #chart {
	margin-top: 40px;
	padding-bottom: 60px;
}
#resultPage > #chartArea > #legend {	
}

#resultPage > #chartArea > #helpBtn {
	position: absolute;
	top: 145px;
	left: 45px;
}

#resultPage > #btnMypage {
	margin-top: 60px;
}
#resultPage > #btnRetry {
	margin-top: 80px;
}


#resultPage > #olbPane {
	margin-top: 80px;

	position: relative;
	width: 100%;
	background-color: #faeaed;

	padding-top: 80px;
}
#resultPage > #olbPane2 {
	position: relative;
	width: 100%;
	background-color: #f4f4f4;

	padding-top: 80px;
	padding-bottom: 80px;
}
#resultPage > #olbPane > #text0 {
	font-size: 30px;
	line-height: 60px;
	letter-spacing: -0.05em;
	color: #000;
}
#resultPage > #olbPane2 > #text {
	font-size: 32px;
	line-height: 60px;
	letter-spacing: -0.05em;
	color: #000;
}
#resultPage > #olbPane2 > #btnOlb {
	margin-top: 60px;
	cursor: pointer;
}
#resultPage > #olbPane > #btnAR {
	margin-top: 60px;
	margin-bottom: 90px;
	cursor: pointer;
}

/*--------------------------
結果ペイン要素（開閉する結果）
--------------------------*/
.resultPane {
	position: relative;
	width: 100%;

	background-color: rgb(255, 255, 255);
	box-shadow: 0px 8px 32px 0px rgba(201, 202, 202, 0.3),0px 2px 8px 0px rgba(83, 83, 83, 0.17);	  

	overflow: hidden;

	margin-bottom: 20px;
}

.resultPane > #head {
	position: relative;
	width: 100%;
	height: 240px;

	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.resultPane > #head > #textArea {
	flex-grow: 1;
	text-align: left;
	margin-left: 40px;
}
.resultPane > #head > #textArea > #title {
	font-size: 36px;
	font-weight: bold;
	letter-spacing: -0.05em;
	color: #c80421;	
}
.resultPane > #head > #textArea > #avgInfo {
	margin-top: 10px;

	font-size: 24px;
	letter-spacing: -0.05em;
	color: #000;	
}
.resultPane > #head > #textArea > #avgInfo > #num {
	font-size: 30px;
	font-weight: bold;

	/* 資生堂フォント */
	font-family: Shiseido Neue, sans-serif;	
}
.resultPane > #head > #img {
	margin-right: 40px;
	width: 121px;
	height: 161px;
	background-color: #bbb;
}
.resultPane > #head > #circleGraph {
}
.resultPane > #head > #btnOpenClose {
	margin-right: 50px;
	margin-left: 20px;

	padding: 20px;
	cursor: pointer;
}
.resultPane > #head > #btnOpenClose > #icon {
	position: relative;
	width: 30px;
	height: 4px;
	background-color: #2d2d2d;
}
.resultPane.closed > #head > #btnOpenClose > #icon::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: -13px;
	left: 13px;
	width: 4px;
	height: 30px;
	background-color: #2d2d2d;
}


.resultPane > #contents {

}
.resultPane > #contents > #imgLegend {
	margin-top: 25px;

	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;

	gap: 40px;
}
.resultPane > #contents > #imgLegend > .mark {
	width: 24px;
	height: 24px;
	border: solid 1px #cacbcb;
	border-radius: 12px;
	background-color: #ffff00;
}
.resultPane > #contents > #imgLegend > .mark:first-child {
	background-color: #ff7f50;
}
.resultPane > #contents > #imgLegend > .label {
	margin-left: -30px;

	font-size: 24px;
	letter-spacing: -0.05em;
	color: #000;
}

.resultPane > #contents > #img {
	margin-top: 40px;
	display: inline-block;
	width: 360px;
	height: 480px;
	object-fit: contain;
	background-color: #bbb;
}
.resultPane > #contents > #graphLegend {
	margin-top: 80px;
}
.resultPane > #contents .barGraph {
	margin-top: 30px;
}
.resultPane > #contents .separator {
	margin-top: 30px;

	display: inline-block;
	width: 670px;
	height: 2px;
	background-color: #c9caca;
}

.resultPane > #contents > #memo {
	margin-top: 80px;
	display: inline-block;
	width: 670px;
	border-radius: 30px;
	background-color: #faeaed;
}
.resultPane > #contents > #memo > #title {
	margin-top: 50px;

	position: relative;	
	font-size: 36px;
	letter-spacing: -0.05em;
	color: #c80421;
}
.resultPane > #contents > #memo > #title::after {
	content: url("./img/memo_icon.svg");
	display: inline-block;
	width: 30px;
	margin-left: 15px;
}
.resultPane > #contents > #memo > #text {
	font-size: 26px;
	line-height: 40px;
	letter-spacing: -0.05em;
	color: #000;

	text-align: left;
	margin: 40px 70px 60px 70px;
}

/*--------------------------
結果画像要素（canvasにマスク合成されて表示される）
--------------------------*/
.resultImg {
	position: relative;
}
.resultImg > #cvs {
	width: 100%;
	object-fit: contain;
}

/*--------------------------
おすすめ商品カルーセル要素
--------------------------*/
.prodCarousel {
	margin: 80px 0;
	position: relative;
}
.prodCarousel > #title {
	font-size: 36px;
	line-height: 50px;
	color: #000;
}
.prodCarousel > #noItemMsg {
	margin: 80px 0;
	font-size: 28px;
	letter-spacing: -0.05em;
	color: #000;
}
.prodCarousel > #carousel {
	margin-top: 20px;
	position: relative;
	display: inline-block;
	width: 100%;
	overflow: hidden;
}
.prodCarousel > #carousel > #itemsLayer {
	margin-top: 20px;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.prodCarousel .item {
	position: absolute;
	top: 0;
	left: 0;
	width: 500px;
	height: 700px;
	border-radius: 30px;
	background-color: #fff;
	box-shadow: 0px 8px 32px 0px rgba(201, 202, 202, 0.3),0px 2px 8px 0px rgba(83, 83, 83, 0.17);

	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;

	margin-top: 10px 30px 0 30px;
	padding: 20px 40px 50px 40px;

	transform: translateX(-50%);

	overflow-y: hidden;
}
.prodCarousel .item > #imgBase {
	margin-top: 10px;
	position: relative;
	display: inline-block;
	width: 300px;
	max-height: 300px;
	min-height: 240px;	/* 本来の80%制限 */
}
.prodCarousel .item > #imgBase > #prodImg {
	height: 100%;
}
.prodCarousel .item > #imgBase > #icon {
	position: absolute;
	top: 0;
	left: 0;
}
.prodCarousel .item > #txtBase {
	position: relative;
	width: 100%;
	text-align: left;

	word-break: keep-all;
}
.prodCarousel .item > #txtBase > #brandName {
	margin-top: 15px;
	font-size: 22px;
	letter-spacing: -0.05em;
	line-height: 1.3em;
	color: #000;
}
.prodCarousel .item > #txtBase > #prodName {
	margin-top: 10px;
	font-size: 22px;
	letter-spacing: -0.05em;
	font-weight: bold;
	line-height: 1.3em;
	color: #000;
}
.prodCarousel .item > #txtBase > #yakuji {
	margin-top: 10px;
	font-size: 22px;
	letter-spacing: -0.05em;
	line-height: 1.3em;
	color: #000;
}
.prodCarousel .item > #txtBase > #price {
	margin-top: 10px;
	font-size: 22px;
	letter-spacing: -0.05em;
	color: #000;
}
.prodCarousel .item > #txtBase > #biruiArea {
	margin-top: 20px;
	position: relative;
	display: inline-flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 10px;
}
.prodCarousel .item > #txtBase > #biruiArea > .birui {
	font-size: 20px;
	color: #000;
	background-color: #fff;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 40px;
	padding: 0 20px;

	border: solid 1px #b4b4b3;
	border-radius: 20px;
}
.prodCarousel .item > #btnDetail {
	margin-top: 35px;
	width: 400px;
	box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.38);

	min-height: 96px;	/* 本来の80%制限 */
}

.prodCarousel > #indicator {
	margin-top: 30px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;	
}
.prodCarousel > #indicator > .mark {
	width: 20px;
	height: 20px;
	border-radius: 10px;
	background-color: #727271;	
}
.prodCarousel > #indicator > .mark.active {
	background-color: #c80421;	
}

/*--------------------------
ヘルプボタン
--------------------------*/
.helpBtn {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;
}
.helpBtn > #btn {
	width: 82px;
	height: 82px;
	border-radius: 41px;
	box-shadow: 0px 8px 20px 0px rgba(201, 202, 202, 0.3),0px 2px 8px 0px rgba(83, 83, 83, 0.3);

	display: inline-flex;
	align-items: center;
	justify-content: center;

	font-size: 36px;
	color: #000;
}
.helpBtn > #label {
	margin-top: 20px;

	font-size: 24px;
	letter-spacing: -0.05em;
	line-height: 28px;
	color: #000;
}

/*--------------------------
美肌チャート（三角のやつ）
--------------------------*/
.resultChart {
	display: inline-block;
	position: relative;	

	width: 670px;
}
.resultChart > #chartBase {
	display: inline-block;
	position: relative;
}

.resultChart > #chartBase > #chartBg {
	position: relative;
}
.resultChart > #chartBase > #chartFg {
	position: absolute;
	top: 0;
	left: 0;
}
.resultChart > #chartBase > .dot {
	position: absolute;

	width: 14px;
	height: 14px;
	transform:  translate(-50%, -50%);

	border: solid 4px #fff;
	border-radius: 50%;
	background-color: rgb(200, 4, 33);
	box-shadow: 0px 5px 7.36px 0.64px rgba(0, 0, 0, 0.38);

	box-sizing: content-box;
}
.resultChart > #chartBase > #noDataLabel {
	position: absolute;
	left: 50%;
	bottom: 163px;
	font-size: 44px;
	letter-spacing: -0.05em;
	color: #c80421;
	
	transform: translateX(-50%);
	-webkit-text-stroke: 8px #fff;
}
.resultChart > #chartBase > #score {
	position: absolute;
	width: 100%;
	bottom: 136px;
	left: 0;

	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;

	/* 資生堂フォント */
	font-family: Shiseido Neue, sans-serif;
}
.resultChart > #chartBase > #score #bunshi {
	position: relative;
	font-size: 68px;
	color: #c80421;
	-webkit-text-stroke: 8px #fff;
}
.resultChart > #chartBase > #score > #bar {
	width: 72px;
	height: 10px;
	background-color: #000;
	border: solid 4px #fff;
	border-radius: 5px;

	margin-bottom: 6px;
}
.resultChart > #chartBase > #score #bunbo {
	position: relative;
	font-size: 34px;
	color: #000;
	-webkit-text-stroke: 8px #fff;
}
.resultChart > #topLabel {
	height: 40px;	/* うるおいアイコン高さ */
	
	margin-bottom: 30px;
}
.resultChart > #bottomLabel {
	margin-top: 30px;

	width: 100%;
	height: 47px;	/* ハリと透明度のアイコンの大きい方の高さ */

	display: inline-flex;
	align-items: center;
	justify-content: space-between;
}
.resultChart .label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.resultChart .label > #icon {
	margin-right: 12px;	
}
.resultChart .label > #text {
	font-size: 28px;
	letter-spacing: -0.05em;
	color: #000;
}
.resultChart > #legend {
	margin-top: 20px;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 30px;

	width: 500px;
	height: 60px;

	background-color: #fff;
	border: solid 1px #c9caca;
	border-radius: 30px;
}
.resultChart > #legend > .item {
	display: flex;
	align-items: center;
	justify-content: center;
}
.resultChart > #legend > .item > #sample {
	width: 30px;
	height: 30px;
	background-color: #f9dfe3;
}
.resultChart > #legend > .item:first-child > #sample {
	background: linear-gradient(#ed9ca7, #de687a);
}
.resultChart > #legend > .item > #text {
	margin-left: 20px;
	font-size: 24px;
	letter-spacing: -0.05em;
	color: #000;	
}

/*--------------------------
円グラフ
--------------------------*/
.circleGraph {
	display: inline-block;
	position: relative;	

	width: 176px;
	height: 176px;
}
.circleGraph > canvas {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.circleGraph > #score {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;

	/* 資生堂フォント */
	font-family: Shiseido Neue, sans-serif;
}
.circleGraph > #score > #bunshi {
	font-size: 58px;
	color: #c80421;	  

	line-height: 68px;
}
.circleGraph > #score > #bunbo {
	font-size: 28.86px;
	color: #2d2d2d;

	padding: 10px 10px 0 10px;
	border-top: solid 2px #000;
}

/*--------------------------
棒グラフ
--------------------------*/
.barGraph {
	position: relative;
	display: inline-block;
	width: 670px;
}
.barGraph > #title {
	font-size: 28px;
	font-weight: bold;
	letter-spacing: -0.05em;
	text-align: left;
}
.barGraph > #wrap {
	margin-top: 80px;
	
	position: relative;
	width: 600px;

	display: inline-flex;
	flex-direction: column;

}
.barGraph > #wrap > #base {
	position: relative;
}
.barGraph > #wrap > #base #bar {
	position: relative;
	width: 600px;
	height: 20px;

	display: flex;
	justify-content: space-between;
}
.barGraph > #wrap > #base #bar > .area {
	width: 58px;
	height: 100%;
	background-color: #c9caca;
}
.barGraph > #wrap > #base #bar > .area:first-child {
	border-radius: 10px 0 0 10px;
}
.barGraph > #wrap > #base #bar > .area:last-child {
	border-radius: 0 10px 10px 0;
}
.barGraph > #wrap > #base #bar > .area.good {
	background-color: #e698a4;
}
.barGraph > #wrap > #base > #goodZone {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.barGraph > #wrap > #base > #markAvg {
	position: absolute;
	top: 30px;

	width: 20px;
	height: calc(tan(60deg) * 20px / 2);
	background: #000;

	clip-path: polygon(50% 0, 100% 100%, 0 100%);
	transform: translateX(-50%);
}
.barGraph > #wrap > #base > #dot {
	position: absolute;
	top: 50%;

	width: 21px;
	height: 21px;
	transform:  translate(-50%, -50%);

	border: solid 4px #fff;
	border-radius: 50%;
	background-color: rgb(200, 4, 33);
	box-shadow: 0px 5px 6.86px 0.14px rgba(0, 0, 0, 0.4);	  

	box-sizing: content-box;
}
.barGraph > #wrap > #base > #popup {
	position: absolute;
	top: -60px;

	display: inline-flex;
	align-items: center;
	flex-direction: column;

	transform: translateX(-50%);
}
.barGraph > #wrap > #base > #popup > #label {
	width: 94px;
	height: 38px;
	border-radius: 19px;
	background-color: #c80421;

	font-size: 18px;
	letter-spacing: 0.025px;
	color: #fff;
	line-height: 38px;
	text-align: center;
}
.barGraph > #wrap > #base > #popup > #triangle {
	margin-top: -1px;	/* 上にめり込ませたいので */

	width: 20px;
	height: calc(tan(60deg) * 20px / 2);
	background: #c80421;

	clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.barGraph > #wrap > #labelArea {
	margin-top: 15px;

	width: 100%;
	display: flex;
	justify-content: space-between;
}
.barGraph > #wrap > #labelArea > .label {
	font-size: 26px;
	letter-spacing: -0.05em;
	color: #000;
}

/*--------------------------
棒グラフの凡例
--------------------------*/
.barGraphLegend {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 500px;
	height: 60px;

	background-color: #fff;
	border: solid 1px #c9caca;
	border-radius: 30px;

	gap: 30px;
}
.barGraphLegend > .item {
	display: flex;
	align-items: center;
	justify-content: center;
}
.barGraphLegend > .item > #sample {
	width: 30px;
	height: 30px;
	background-color: #e698a4;
}
.barGraphLegend > .item:last-child > #sample {
	background-color: #000;
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}
.barGraphLegend > .item > #text {
	margin-left: 20px;
	font-size: 24px;
	letter-spacing: -0.05em;
	color: #000;	
}

/*--------------------------
テキストボタン
--------------------------*/
.textBtn {
	display: inline-block;
	position: relative;

	font-size: 28px;
	color: #fff;
	letter-spacing: -0.05em;

	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 590px;
	height: 120px;
	background-color: #000;
	border-radius: 60px;

	background-color: rgb(0, 0, 0);
	box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.38);
	  
	cursor: pointer;
}
.textBtn.red {
	background-color: rgb(200, 4, 33);
	box-shadow: 0px 6px 8px 0px rgba(200, 4, 33, 0.38);
}
.textBtn.disabled {
	background-color: #a6a6a5;
	box-shadow: none;

	opacity: 0.6;
	cursor: not-allowed;
}
.textBtn.withFwdIcon::after {
	content: "";
	position: absolute;
	right: 50px;

	width: 14px;
	height: 14px;
	border-right: solid 2px #fff;
	border-bottom: solid 2px #fff;

	transform: rotate(-45deg);
}

/*--------------------------
下線ボタン
--------------------------*/
.linkBtn {
	display: inline-block;
	position: relative;

	font-size: 28px;
	color: #000;
	letter-spacing: -0.05em;

	line-height: 34px;
	border-bottom: solid 2px #000;

	cursor: pointer;
}
.linkBtn::after {
	content: "";
	position: absolute;
	top: 12px;
	right: -30px;	

	width: 14px;
	height: 14px;
	border-right: solid 2px #000;
	border-bottom: solid 2px #000;

	transform: rotate(-45deg);
}
.linkBtn.bak::after {
	left: -30px;	
	transform: rotate(135deg);
}

/*--------------------------
チェックコントロール（規約の同意）
--------------------------*/
.checkCtrl {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;

	cursor: pointer;
}
.checkCtrl > #box {
	width: 50px;
	height: 50px;
	background-color: #fff;
	border:  solid 2px #c9caca;
}
.checkCtrl.checked > #box::after {
	content: "";
	position: absolute;
	top: 10px;
	left: 8px;

	width: 35px;
	height: 18px;
	border-left: solid 4px #c80421;
	border-bottom: solid 4px #c80421;

	transform: rotate(-45deg);
}
.checkCtrl > #label {
	margin-left: 20px;

	font-size: 26px;
	letter-spacing: -0.05em;
	color: #000;
}

/*--------------------------
セレクトボックス（問診の年齢）
--------------------------*/
.selectBox {
	display: inline-block;
	position: relative;
	height: 70px;	
	overflow: hidden;
	border: 2px solid #c7c7c7;
  	border-radius: 10px;
	background: #ffffff;
}
.selectBox select {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 70px;	
	opacity: 0;
	font-size: 30px;
}
.selectBox select::-ms-expand {
    display: none;
}
.selectBox::before {
	position: absolute;
	top: 1.8em;
	right: 1.6em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 12px solid #c80421;
	pointer-events: none;
}
.selectBox > #view {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	cursor: pointer;
	padding-right: 1.2em;
	text-align: center;
	font-size: 30px;
	line-height: 70px;
}

/*--------------------------
スクロールTOPボタン
--------------------------*/
.scrollTopBtn {
	position: fixed;
	right: 40px;
	bottom: 50px;

	width: 90px;
	height: 90px;
	border-radius: 45px;

	background-color: #fff;
	box-shadow: 0px 8px 20px 0px rgba(201, 202, 202, 0.3),0px 2px 8px 0px rgba(83, 83, 83, 0.3);

	display: inline-flex;
	align-items: center;
	justify-content: center;

	transition-duration: 200ms;

	z-index: 100;
}
.scrollTopBtn::after {
	content: "";
	margin-top: 10px;
	width: 20px;
	height: 20px;
	border-top: solid 4px #2d2d2d;
	border-right: solid 4px #2d2d2d;
	transform: rotate(-45deg);
}

/*--------------------------
処理中表示
--------------------------*/
#processing {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;

	z-index: 9999;
}
#processing > #shield {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.6);
	z-index: 0;
}
#processing > #mark {
	margin-top: 40px;
}
#processing > #mark > #text {
	color: #fff;
}


/*--------------------------
ポップアップ表示の基本クラス
--------------------------*/
.popupBase {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;

	background-color: rgba(0,0,0,0.5);

	overflow-y: scroll;
	z-index: 1000;
}
.popupBase > #base {
	margin: 70px 0;
	position: relative;
	display: inline-block;
	width: 670px;
	background-color: #fff;
}
.popupBase > #base > #title {
	margin-top: 90px;
	font-size: 40px;
	letter-spacing: -0.05em;
	color: #c80421;
	font-weight: bold;
}
.popupBase > #base > #img {
	margin-top: 60px;
	height: 524px;
}
.popupBase > #base > #text {
	margin-top: 60px;
	padding: 0 40px;
	font-size: 26px;
	letter-spacing: -0.05em;
	color: #000;
	line-height: 40px;
	text-align: left;
}
.popupBase > #base > #text > .red {
	color: #c80421;
}
.popupBase > #base > #btnClose {
	margin-top: 60px;
	margin-bottom: 90px;
	position: relative;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 295px;
	height: 100px;
	background-color: #000;
	box-shadow: 0px 6px 8px 0px rgba(0, 0, 0, 0.38);	  
	border-radius: 50px;

	font-size: 28px;
	letter-spacing: -0.025em;
	color: #fff;

	cursor: pointer;
}
.popupBase > #base > #btnCloseRT {
	position: absolute;
	top: 30px;
	right: 30px;

	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 60px;
	height: 60px;
	border-radius: 30px;
	background-color: #fff;
	box-shadow: 0px 8px 20px 0px rgba(201, 202, 202, 0.3),0px 2px 8px 0px rgba(83, 83, 83, 0.3);

	cursor: pointer;
}
.popupBase > #base > #btnCloseRT > .iconClose {
	right: initial;
}

.iconClose {
	position: absolute;
	display: flex;
	right: 40px;
	width: 28px;
	border-bottom: solid 2px currentColor;	
	transform: rotate(-45deg);
}
.iconClose::after {
	content: "";
	position: absolute;
	width: 28px;
	border-bottom: solid 2px currentColor;	
	transform: rotate(90deg);
}



/***************************************
マイページ画面
***************************************/
#mypagePage {
}
#mypagePage > #title {
	margin-top: 25px;
	font-size: 40px;
	font-weight: bold;
	color: #c80421;
}
#mypagePage > #tab {
	margin-top: 40px;
}
#mypagePage > #contentsArea {
	position: relative;
	background-color: #fff;
	width: 100%;

	margin-top: -1px;
	z-index: 1;
}
#mypagePage > #btnStart {
	margin-top: 80px;
	margin-bottom: 60px;
}

#mypagePage .mypageTab {
	position: relative;
	display: inline-flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	gap: 40px;

	z-index: 0;
}
#mypagePage .mypageTab #bottom {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 10px;
	margin-bottom: -10px;
	box-shadow: 0px -8px 8px 0px rgba(201, 202, 202, 0.2),0px -4px 4px 0px rgba(83, 83, 83, 0.1);

	z-index: 1;
}
#mypagePage .mypageTab #item {
	position: relative;
	width: 314px;
	height: 78px;
	border-radius: 20px 20px 0 0;
	box-shadow: 0px -8px 8px 0px rgba(201, 202, 202, 0.2),0px -4px 4px 0px rgba(83, 83, 83, 0.1);

	background-color: #ededed;
	color: #727271;

	z-index: 0;
}
#mypagePage .mypageTab #item > #caption {
	width: 100%;
	height: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;

	font-size: 30px;
}
#mypagePage .mypageTab #item.active {
	background-color: #fff;
	color: #c80421;

	z-index: 2;
}
#mypagePage .mypageTab #item.active::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -3px;
	width: 100%;
	height: 4px;
	background-color: #fff;
}
#mypagePage .mypageTab #item #icon {
	margin-right: 20px;
	height: 36px;
	stroke: currentColor;
	fill: currentColor;
}

/*--------------------------
最新データの内容
--------------------------*/
#mypagePage .latestContent {

}
#mypagePage .latestContent > #helpBtn {
	position: absolute;
	top: 50px;
	right: 50px;

}
#mypagePage .latestContent > #date {
	position: absolute;
	top: 50px;
	left: 40px;
	font-size: 30px;
	letter-spacing: -0.05em;
	color: #000;
}
#mypagePage .latestContent > #chart {
	margin-top: 150px;
}
#mypagePage .latestContent > #graphArea {
	margin-top: 70px;

	position: relative;
	display: inline-flex;
	align-items: flex-start;
	justify-content: center;
	flex-wrap: wrap;

	gap: 50px;
}
#mypagePage .latestContent .graphElem {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	flex-direction: column;

}
#mypagePage .latestContent .graphElem > #graph {
	
}
#mypagePage .latestContent .graphElem > #label {
	margin-top: 30px;

	font-size: 28px;
	letter-spacing: -0.05em;
	line-height: 30px;
	color: #000;
}
#mypagePage .latestContent .graphElem > #avgInfo {
	font-size: 20px;
	letter-spacing: -0.05em;
	line-height: 30px;
	color: #000;
}
#mypagePage .latestContent .graphElem > #avgInfo > #num {
	font-size: 25px;
	font-weight: bold;

	/* 資生堂フォント */
	font-family: Shiseido Neue, sans-serif;	
}

/*--------------------------
過去データの内容
--------------------------*/
#mypagePage .historyContent {

}
#mypagePage .historyContent > #formerBtn {
	margin-top: 70px;
}
#mypagePage .historyContent > #switchCtrl {
	margin-top: 90px;
}
#mypagePage .historyContent > #graphArea {
	margin-top: 40px;
}
#mypagePage .historyContent > #graphArea > .line {
	margin-top: 60px;
	margin-bottom: 60px;

	display: inline-block;
	width: 670px;
	height: 2px;
	background-color: #c9caca;
}


#mypagePage .historySwitchCtrl {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 670px;
	height: 74px;
	border-radius: 37px;
	background-color: #ededed;
}
#mypagePage .historySwitchCtrl > #mark {
	position: absolute;
	top: 0;
	left: 0;
	width: 50%;
	height: 76px;	
	border-radius: 38px;
	background-color: #fff;
	box-shadow: 0px 8px 20px 0px rgba(201, 202, 202, 0.3),0px 2px 8px 0px rgba(83, 83, 83, 0.3);
	  
	transition-duration: 300ms;
	z-index: 0;
}
#mypagePage .historySwitchCtrl > .label {
	width: 50%;
	font-size: 30px;
	color: #727271;

	transition-duration: 300ms;
	z-index: 1;
}
#mypagePage .historySwitchCtrl > .label.active {
	color: #c80421;
}


#mypagePage .historyGraph {
	position: relative;
}
#mypagePage .historyGraph > #label {
	font-size: 36px;
	font-weight: bold;
	letter-spacing: -0.05em;
	color: #000;
}
#mypagePage .historyGraph > #timeCtrl {
	margin-top: 40px;
}
#mypagePage .historyGraph > #graph {
	margin-top: 40px;
	position: relative;
	display: inline-block;
	width: 590px;
}
#mypagePage .historyGraph > #graph > #cvs {
	width: 100%;
	height: 420px;

	border-left: solid 2px #727271;
	border-bottom: solid 2px #727271;
}
#mypagePage .historyGraph > #graph > #ticks {
	margin-top: 20px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}
#mypagePage .historyGraph > #graph > #ticks > .tick {
	font-size: 26px;
	color: #000;
}

#mypagePage .historyGraph > #info {
	margin-top: 40px;

	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 15px;

	width: 590px;
	height: 60px;
	border: solid 2px #c9caca;
	border-radius: 30px;
}
#mypagePage .historyGraph > #info > #rect {
	width: 30px;
	height: 30px;
	background-color: #fae0e4;
}
#mypagePage .historyGraph > #info > #text {
	font-size: 24px;
	letter-spacing: -0.05em;
	color: #000;
}
#mypagePage .historyGraph > #info > #comment {
	font-size: 20px;
	letter-spacing: -0.05em;
	color: #000;
}

#mypagePage .historyGraph #noData {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 40px;
}
#mypagePage .historyGraph #noData > #text {
	font-size: 28px;
	font-weight: bold;
	color: #000;
}
#mypagePage .historyGraph #noData > #btnLatest {
	display: inline-block;
	position: relative;

	font-size: 28px;
	color: #000;
	letter-spacing: -0.05em;

	line-height: 34px;
	border-bottom: solid 2px #000;

	cursor: pointer;
}


#mypagePage .historyTimeCtrl {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: 650px;
}
#mypagePage .historyTimeCtrl > .btnDir {
	position: relative;
	display: flex;
	align-items: center;
	font-size: 26px;
	color: #727271;
}
#mypagePage .historyTimeCtrl > .btnDir.prev::before {
	content: "";
	width: 14px;
	height: 14px;
	margin-right: 5px;
	border-left: solid 4px currentColor;
	border-bottom: solid 4px currentColor;
	transform: rotate(45deg);
}
#mypagePage .historyTimeCtrl > .btnDir.fwd::after {
	content: "";
	width: 14px;
	height: 14px;
	margin-left: 5px;
	border-right: solid 4px currentColor;
	border-bottom: solid 4px currentColor;
	transform: rotate(-45deg);	
}

#mypagePage .historyTimeCtrl > #label {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
#mypagePage .historyTimeCtrl > #label > #year {
	font-size: 24px;
	line-height: 40px;
	color: #000;
}
#mypagePage .historyTimeCtrl > #label > #unit {
	font-size: 30px;
	line-height: 40px;
	color: #000;
}





/***************************************
以下は、旧マイページ関連の様々な要素に対するスタイル定義
***************************************/
#oldMypagePage {

}
#oldMypagePage > #title {
	margin-top: 32px;
	font-size: 40px;
}
#oldMypagePage > #contentsArea {
	position: relative;
}
#oldMypagePage > #btnRetry {
	margin-top: 60px;
	margin-bottom: 60px;
}


#oldMypagePage .btnBase {
	position: relative;
	display: inline-block;
	cursor: pointer;
	transition-duration: 500ms;
}
#oldMypagePage .btnBase.disable {
	cursor: auto;
	pointer-events: none;
}

#oldMypagePage .nextBtn {
	width: 590px;
	height: 120px;
	background-color: #2d2d2d;
	border-radius: 60px;
}
#oldMypagePage .nextBtn > #caption {
	width: 100%;
	height: 120px;
	text-align: center;
	color: #ffffff;
	font-size: 28px;
	line-height: 120px;
	letter-spacing: -0.025em;
}
#oldMypagePage .nextBtn > #icon {
	position: absolute;
	right: 50px;
	top: 50px;
}
#oldMypagePage .nextBtn.disable {
	background-color: #858585;
}
#oldMypagePage .nextBtn.nextBtn.disable > * {
	opacity: 0.5;
}

#oldMypagePage .nextBtn.mypage {
	background-color: #fff;
	border:solid 2px #e90a2b;
}
#oldMypagePage .nextBtn.mypage > #caption {
	color: #e90a2b;
}
#oldMypagePage .nextBtn.mypage.disable {
	border-color: #e996a3;
}

#oldMypagePage .dotline {
	position: relative;
	display: inline-block;
	width: 580px;
	height: 4px;
	margin-top: 60px;
	margin-bottom: 60px;

	background-image: linear-gradient(to right, #c7c7c7, #c7c7c7 4px, transparent 4px, transparent 8px);
	background-size: 12px 4px;
	background-position: left top;
	background-repeat: repeat-x;
}


#oldMypagePage #HistoryContents {
	position: relative;	
}
#oldMypagePage #HistoryContents > #recomArea {
	position: relative;	
}
#oldMypagePage #HistoryContents > #recomArea > #recomPane {
	background: linear-gradient(#ffede4, #fff);
	background-size: 750px 280px;
	background-repeat: no-repeat;
	padding-top: 70px;
}
#oldMypagePage #HistoryContents > .dotline {
	width: 670px;
	margin-top: 0;
	margin-bottom: 0;
}


#oldMypagePage .historyTabCtrl {
	margin-top: 40px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
#oldMypagePage .historyTabCtrl > #btnL {
	flex-grow: 1;
	cursor: pointer;
	text-align: right;
	padding-right: 10px;
	padding-top: 30px;
	padding-bottom: 20px;
}
#oldMypagePage .historyTabCtrl > #btnR {
	flex-grow: 1;
	cursor: pointer;
	text-align: left;
	padding-left: 10px;
	padding-top: 30px;
	padding-bottom: 20px;
}
#oldMypagePage .historyTabCtrl > #itemsArea {
	position: relative;
	width: 620px;
	overflow-x: scroll;
	white-space: nowrap;
}
#oldMypagePage .historyTabCtrl > #itemsArea::-webkit-scrollbar {
	display: none;
}
#oldMypagePage .historyTabCtrl > #itemsArea > #item {
	display: inline-block;
	height: 80px;
	width: 134px;
	font-size: 24px;
	letter-spacing: -0.05em;
	color: #858585;
	border-bottom: solid 5px #c7c7c7;
	line-height: 80px;
}
#oldMypagePage .historyTabCtrl > #itemsArea > #item:nth-child(n+2) {
	margin-left: 22px;
}	
#oldMypagePage .historyTabCtrl > #itemsArea > #item.houreisen {
	width: 146px;
}
#oldMypagePage .historyTabCtrl > #itemsArea > #item.active {
	width: 156px;
	font-size: 34px;
	color: #e90a2b;
	border-color: #e90a2b;
	line-height: 72px;
}
#oldMypagePage .historyTabCtrl > #itemsArea > #item.houreisen.active {
	width: 194px;
}

#oldMypagePage .historyGraphUnit {
	margin-bottom: 50px;
	position: relative;
	display: inline-block;
}

#oldMypagePage .historyGraphUnit > .historySwitchCtrl {
	margin-top: 60px;
	position: relative;
	display: inline-block;
	width: 670px;
	height: 76px;
	background-color: #f6f4f0;
	border-radius: 38px;
}
#oldMypagePage .historyGraphUnit > .historySwitchCtrl > #mark {
	position: absolute;
	top: 0;
	width: 335px;
	height: 76px;
	border: solid 4px #f6f4f0;	
	border-radius: 38px;
	background-color: #fff;
	transition-duration: 300ms;
	left: 0;
	z-index: 0;
}
#oldMypagePage .historyGraphUnit > .historySwitchCtrl > #mark.month {
	left: 0;
}
#oldMypagePage .historyGraphUnit > .historySwitchCtrl > #mark.week {
	left: 335px;
}
#oldMypagePage .historyGraphUnit > .historySwitchCtrl > #label {
	position: relative;
	display: inline-block;
	width: 335px;
	font-size: 30px;
	line-height: 76px;
	opacity: 0.6;
	z-index: 1;
}
#oldMypagePage .historyGraphUnit > .historySwitchCtrl > #label.active {
	opacity: 1;
}

#oldMypagePage .historyGraphUnit > .historyTimeCtrl {
	margin-top: 40px;
	position: relative;
	display: inline-flex;
	width: 650px;
	align-items: center;
	justify-content: center;
}
#oldMypagePage .historyGraphUnit > .historyTimeCtrl > #btnPrev {
	font-size: 26px;
	color: #858585;
	cursor: pointer;
}
#oldMypagePage .historyGraphUnit > .historyTimeCtrl > #btnPrev::before {
	content: url("./img/old/historyTime_btnPrev.png");
	padding-right: 10px;
}
#oldMypagePage .historyGraphUnit > .historyTimeCtrl > #label {
	font-size: 30px;
	flex-grow: 1;
}
#oldMypagePage .historyGraphUnit > .historyTimeCtrl > #label > #year {
	font-size: 24px;
}
#oldMypagePage .historyGraphUnit > .historyTimeCtrl > #btnNext {
	font-size: 26px;
	color: #858585;
	cursor: pointer;
}
#oldMypagePage .historyGraphUnit > .historyTimeCtrl > #btnNext::after {
	content: url("./img/old/historyTime_btnNext.png");
	padding-left: 10px;
}

#oldMypagePage .historyGraphUnit > .historyGraphCtrl {
	margin-top: 30px;
	position: relative;
	display: inline-block;
	width: 670px;
}
#oldMypagePage .historyGraphUnit > .historyGraphCtrl > #dirLabel {
	font-size: 26px;
	color: #e90a2b;
	margin-bottom: 20px;
}
#oldMypagePage .historyGraphUnit > .historyGraphCtrl > #tickArea {
	position: relative;
	border-top: solid 2px #c7c7c7;
}
#oldMypagePage .historyGraphUnit > .historyGraphCtrl > #tickArea > #pad {
	display: inline-block;
}
#oldMypagePage .historyGraphUnit > .historyGraphCtrl > #tickArea > #label {
	display: inline-block;
	font-size: 26px;
	height: 64px;
	line-height: 64px;
}
#oldMypagePage .historyGraphUnit > .historyGraphCtrl > #tickArea > #label:nth-child(2) {
	border-left: solid 2px #c7c7c7;
}
#oldMypagePage .historyGraphUnit > .historyGraphCtrl > #graphArea {
	position: relative;
	height: 360px;
	display: flex;
	align-items: center;
	justify-content: center;
}
#oldMypagePage .historyGraphUnit > .historyGraphCtrl > #graphArea > #title {
	font-size: 26px;
	line-height: 40px;
	padding: 10px;
}
#oldMypagePage .historyGraphUnit > .historyGraphCtrl > #graphArea > #cvsArea {
	position: relative;
	flex-grow: 1;	
	width: 10px;
	height: 100%;
	border-left: solid 2px #c7c7c7;
}
#oldMypagePage .historyGraphUnit > .historyGraphCtrl > #graphArea > #cvsArea > #noData {
	width: 100%;
	height: 100%;
	background-color: rgba(199,199,199,0.3);
	position: absolute;
	left: 0;
	top: 0;
	font-size: 30px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
#oldMypagePage .historyGraphUnit > .historyGraphCtrl > #graphArea > #cvsArea > #noData > #linkShow {
	margin-top: 20px;
	margin-bottom: -30px;
	font-size: 26px;
	cursor: pointer;
	text-decoration: underline;
}

#oldMypagePage .historyGraphUnit > .historyGraphInfo {
	margin-top: 30px;

	position: relative;
	display: inline-block;
	width: 670px;
	background-color: #fff;

	font-size: 24px;
	letter-spacing: -0.05em;

	border: solid 2px #c7c7c7;
	padding: 15px;
}
#oldMypagePage .historyGraphUnit > .historyGraphInfo #zone {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
#oldMypagePage .historyGraphUnit > .historyGraphInfo #zone > #zoneMark {
	margin-left: 15px;
	margin-right: 8px;
	width: 30px;
	height: 30px;
	background-color: #eae8e5;
}
#oldMypagePage .historyGraphUnit > .historyGraphInfo #zone > #zoneLabel2 {
	margin-left: 8px;
	font-size: 20px;
	color: #858585;
}
#oldMypagePage .historyGraphUnit > .historyGraphInfo #item {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	
	line-height: 50px;
}
#oldMypagePage .historyGraphUnit > .historyGraphInfo #item > #mark {
	display: inline-block;
	margin-right: 15px;
	width: 30px;
	height: 30px;
	background-color: #F00;
}
#oldMypagePage .historyGraphUnit > .historyGraphInfo #item > #mark.pink {
	background-color: #fe66b8;
}
#oldMypagePage .historyGraphUnit > .historyGraphInfo #item > #label {
	display: inline-block;
	width: 120px;
	text-align: left;
}
#oldMypagePage .historyGraphUnit > .historyGraphInfo #item > #avgLine {
	display: inline-block;
	width: 32px;
	height: 2px;
	background-color: #EF4A61;
	margin-right: 15px;
}
#oldMypagePage .historyGraphUnit > .historyGraphInfo #item > #avgLine.dot {
	background-color: initial;
	background-image: linear-gradient(to right, #FFC0E2, #FFC0E2 8px, transparent 8px, transparent 12px);
	background-size: 12px 2px;
	background-position: left top;
	background-repeat: repeat-x;
}
#oldMypagePage .historyGraphUnit > .historyGraphInfo #item > #avgLabel {
	display: inline-block;
}
