@charset "utf-8";


#page-title {
  font-family: "Zen Kurenaido", serif;
  font-weight: 400;
  font-style: normal;
}

/**********************************************************************
 メンバーページナビゲーション（PC用） 
***********************************************************************/

/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
コンテンツ用
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */

header nav {
	position: relative;
	font-size: .8em;
	margin: 0 auto;
	width: 100%;
	border-bottom: 1px solid #EEE;
}

header nav #logout {
	position: absolute;
	top: -3em;
	right: 0;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-weight: bold;
	padding: 0;
	background-color: #FFF;
	transition: .5s;
}

header nav li#logout a {
	color: #333;
	transition: .5s;
}

header nav li#logout a::before {
	content: '\E088';
	font-family: 'LigatureSymbols';
	font-size: 1.25em;
	margin-right: .25em;
}

header nav li#logout a:hover{
	color: var(--my-site-color)!important;
	opacity: 1!important;
	transition: .5s;
}

header nav ul{
	position: relative;
	display: flex;
	align-items: flex-end;
	width: 100%;
	margin: 0 auto;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}

header nav ul li {
	position: relative;
	display: inline-block;
	height: 100%;
	margin: 0 .25em 0 0;
	padding: .25em 1em .25em 1em;
	border-radius: 1.5em;
	transition: .25s;
}

header nav ul li.active {
	position: relative;
	background: #FFF;
	font-weight: bold;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: .5em;
	text-decoration-color: var(--lesson-cat-color-1);
}

header nav ul li a:hover {
	color: var(--my-site-color)!important;
}

header nav ul li:hover {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: .5em;
	text-decoration-color: var(--lesson-cat-color-1);
}

header nav ul li.active:hover,
header nav ul li#logout:hover {
	box-shadow: 0 0 0!important;
	background: #FFF!important;
}

header nav ul li,
header nav ul a {
	color: var(--my-primary-dark);
}

header nav ul a:hover {
	color: #FFF;
	transition : .5s;
}

header nav ul a span:first-child {
	display: inline-block!important;
}
header nav ul a span:last-child {
	display: none!important;
}

header nav .avatar {
	position: absolute;
	top: -4em;
	right: 8em;
	width: 4em;
	height: 4em;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border-radius: 50%;
}

header nav .tips{
	font-size: .8em;
	color: #FFF;
	position: absolute;
	top:-6em;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	line-height: 1.2em;
	width: 5em;
	height: 5em;
	border-radius: 50%;
	background-color: darkorange;
	z-index: 3000;
	box-shadow: 2px 2px 5px rgba(0,0,0,.25);
	-webkit-animation:tips 1.5s ease-in-out infinite alternate;
    -moz-animation:tips 1.5s ease-in-out infinite alternate;
    animation:tips 1.5s ease-in-out infinite alternate;
}
header nav .tips::after{
	content: "";
	border: 1em solid transparent;
	border-top: 1em solid darkorange;
	position: absolute;
	bottom: -1.5em;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
@-webkit-keyframes tips{
    0% {opacity:0.5; }
    100% {opacity:1;}
}
@-moz-keyframes tips{
    0% {opacity:0.5; }
    100% {opacity:1; }
}
@keyframes tips{
    0% {opacity:0.5; }
    100% {opacity:1; }
}
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
wp-members用
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
nav#system {
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	width: 100%;
	margin: auto;
}

nav#system ul {
	display: flex;
	margin: 0;
	padding: 0;
	font-size: .8em;
}
nav#system ul li {
	margin-right: 1em;
}

#create-account #contents,
#profile #contents,
#login #contents {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: calc( 100vh - 250px );	
}

.wpmem_msg {
	display: block;
	width: 500px;
	max-width: 90vw;
	border: 1px solid #666;
	border-radius: .5em;
	padding: .5em;
	margin: 200px!important;
}

.privacypolicy {
	width: 800px;
	max-width: 95vw;
	margin: auto;
	text-align: right;
}
.lsf-icon.privacypolicy:before {
  content: '\E048';
}


/*==#profile　テンプレート============================================================*/
div#profile {
	display: flex;
	justify-content: space-between;
}

div#profile aside div {
	margin-bottom: .5em;
	text-shadow: -.5px -.5px 1px rgba(0,0,0,.15), .5px .5px 1px rgba(255,255,255,.35);
}

div#profile aside div > span {
	display: inline-block;
	font-weight: bold;
	background-color: #F6F6F6;
	box-shadow: inset 1px 1px 1px rgba(0,0,0,.1);
	border-radius: .5em;
	width: 5em;
	margin-right: .5em;
	text-align: center;
	font-size: .8em;
	mix-blend-mode: multiply;
	color: #999;
}
div#profile aside .message {
	border-radius: .5em;
	border: 2px solid red;
}
div#profile aside .message, aside#profile .message span {color: red;}
div#profile aside .message span {border: none;}


/*==#member_mypage============================================================*/

#member_mypage {
	display: flex;
	justify-content: space-between;
}

#privacy-policy #contents {
	font-size: .9em;
}

#privacy-policy #contents P  {
	width: 800px!important;
	padding-left: 3em;
}

#privacy-policy DT {
	width: 100%;
}

#member_mypage #attention {
	float: right;
	border: none;
}
#member_mypage #attention a {
	display: flex;
	align-items: center;
	text-align: center;
	border: 1px solid #333;
	border-radius: 50%;
	padding: 1em;
	font-size: 1.2em;
	width: 6em;
	height: 6em;
	
}

#member_mypage section:first-of-type {
	clear: both;
	width: 59%;
}
/*Ameliaエリア*/
#member_mypage section:last-of-type {
	width: 39%;
}

#member_mypage section#sidebar {
	border: 1px solid #DDD;
	border-radius: .5em;
	padding: 1em;
}

#member_mypage section#sidebar h3{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: .8em;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	line-height: 1em;
}
#member_mypage section#sidebar h3::before,
#member_mypage section#sidebar h3::after{
	content: '';
	display: inline-block;
	background-color: #333;
	height: 1px;
	width: 5em;
	margin: .5em;
}

#member_mypage section#sidebar .no-event,
#member_mypage section#sidebar a.go-calendar {
	text-align: center;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}

#member_mypage section#sidebar .no-event small {
	display: block;
	margin: auto;
	color: #CCC;
	line-height: 135%!important;
	width: 22em;
}

#member_mypage section#sidebar a.go-calendar {
	position: relative;
	display: block;
	margin: auto;
	color: #333;
}

#member_mypage section#sidebar a.go-calendar::before {
	content: '\E15e';
	display: flex;
	justify-content: center;
	align-items: center;
	width: 2em;
	height: 2em;
	border-radius: 50%;
	margin: 1em auto .5em auto;
	background: #333;
	font-size: 1.5em;
	font-family: 'LigatureSymbols';
	color: #FFF;
	transition: .5s;
	animation:katakata 6s infinite ease-in-out alternate;
}

#member_mypage section#sidebar a.go-calendar:hover {
	color: var(--my-site-color);
	transition: .5s;
}
#member_mypage section#sidebar a.go-calendar:hover::before {
	background-color: var(--my-site-color);
	color: var(--my-primary-color);
	transition: .5s;
}

@keyframes katakata {
  0% {transform:translate(0, 0) rotate(0deg);}
  21% {transform:translate(0, 0) rotate(0deg);}

  22% {transform:translate(0, 0) rotate(-3deg);}
  23% {transform:translate(0, -1px) rotate(0deg);}
  24% {transform:translate(0, -1px) rotate(3deg);}

  25% {transform:translate(0, 0) rotate(-2deg);}
  26% {transform:translate(0, 1px) rotate(0deg);}
  27% {transform:translate(0, 0) rotate(3deg);}

  28% {transform:translate(0, 0) rotate(0deg);}
  100% {transform:translate(0, 0) rotate(0deg);}
}


article#headlines {
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

article#headlines section {
	margin-top: 2em;
	width: 49%!important;
}

article#headlines h3 {
	display: inline-block;
	font-size: .9em;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	padding: 0;
	margin-bottom: 0!important;
	border-bottom: 2px solid var(--lesson-cat-color-1);
}

article#headlines #mail::before {
	content: '\E097';
	font-family: 'LigatureSymbols';
	margin-right: .25em;
}

article#headlines #news::before {
	content: '\E014';
	font-family: 'LigatureSymbols';
	margin-right: .25em;
}

article#headlines ul {
	padding: 0!important;
	margin-top: 0!important;
}

article#headlines li {
	display: flex;
	align-items: flex-start;
	padding: .2em;
	margin: .25em 0 .25em 1em;
	line-height: 120%;
}

article#headlines li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	font-size: .75em;
	line-height: 150%;
	padding: 0 .25em;
	margin-top: 0;
	margin-right: .25em;
	min-width: 4em
}

#archives li aside,
article#headlines li aside {
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 1rem;
	height: .9rem;
	background-color: #333;
	border-radius: 50%;
	font-family: "Courier New", Courier, "monospace";
	font-size: 10px;
	letter-spacing: -10%;
	color: #FFF;
	line-height: 100%;
	margin-left: .25em;
	padding-top: .125em;
}
#archives li aside::before,
article#headlines li aside::before {
	content: "";
	position: absolute;
	bottom: 0px;
	left: -3px;
	margin-top: -15px;
	border: 2px solid transparent;
	border-right: 4px solid #333;
	z-index: 0;
	-webkit-transform: rotate(-35deg);
	transform: rotate(-35deg);
}

article#headlines li span.have {
	color: #000;
}
article#headlines li span.yet {
	color: #CCC;
}

article#headlines li time{
	font-size: .75em;
	margin-right: 1em;
}

article#headlines li.unread {
	font-weight: bold;
	border-radius: .5em;
	background-color: #EEE;
	margin-left: 0;
}

article#headlines nav {
	width: 100%;
	text-align: right;
}
article#headlines a.archive {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3em;
	height: 3em;
	margin-right: 1em;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: .8em;
	color: #FFF;
	line-height: 1em;
	border-radius: 50%;
	background: var(--lesson-cat-color-1);
	transition: .5s;
}
article#headlines a.archive:hover{
	opacity: .5;
	transition: .5s;
}

article#headlines li.unread::before {
	content: '●';
	color: red;
	margin-left: 0!important;
	-webkit-animation:blink .75s ease-in-out infinite alternate;
    -moz-animation:blink .75s ease-in-out infinite alternate;
	animation:blink .75s ease-in-out infinite alternate;
}

nav#headlines li.unread::after {
	content: 'new';
	color: red;
	margin-left: 1em;
	-webkit-animation:blink .75s ease-in-out infinite alternate;
    -moz-animation:blink .75s ease-in-out infinite alternate;
    animation:blink .75s ease-in-out infinite alternate;
}

@-webkit-keyframes blink{
    0% {opacity:0.5; transform: scale(.5);}
    100% {opacity:1; transform: scale(1);}
}
@-moz-keyframes blink{
    0% {opacity:0.5; transform: scale(.5);}
    100% {opacity:1; transform: scale(1);}
}
@keyframes blink{
    0% {opacity:0.5; transform: scale(.5);}
    100% {opacity:1; transform: scale(1);}
}

section#blog {
	position: relative;
	width: 800px;
	max-width: 95vw;
	margin: 1em auto!important;
	background: #FAFAFA;
	border-radius: .5em;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	z-index: 1;
}

section#blog::-webkit-scrollbar {
	width: 4px;
	height: 4px;
}

section#blog::-webkit-scrollbar-track{
}

section#blog::-webkit-scrollbar-thumb {
	background: #EEE;
}

section#blog,
section#blog UL, section#blog LI {
	position: relative;
	display: flex;
	align-items: center;
	padding: 0;
	margin: 0 .5em;
	line-height: 100%;
}
section#blog UL {
	max-width: 95vw;
	height: 8em;
	margin: 1em auto;
}

section#blog LI.unread::before {
	content: '●';
	position: absolute;
	top: -.4em;
	left: -.4em;
	color: red;
	margin-left: 0!important;
	-webkit-animation:blink .75s ease-in-out infinite alternate;
    -moz-animation:blink .75s ease-in-out infinite alternate;
	animation:blink .75s ease-in-out infinite alternate;
	z-index: 20;
}

section#blog LI div {
	position: absolute;
	bottom: 0em;
	left: 0em;
	padding: .5em;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	font-size: .75em;
	font-weight: bold;
	line-height: 100%;
	color: #FFF;
	width: 100%;
	z-index: 20;
}

section#blog LI time {
	display: block;
	text-align: right;
}
section#blog LI img {
	position: relative;
	height: 8em;
	border-radius: .5em;
	widows: auto;
	transition: .5s;
	z-index: 2;
}


section#blog LI img:hover {
	opacity: .5;
	transition: .5s;
}

.show-scroll {
	position: absolute;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	z-index: 200;
}
.scroll-border {
	display: none;
	position: relative;
	width: 80%;
	height: 30px;
	margin: auto;
	overflow: hidden;
}
.scroll-border::before {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 2px;
	top: 12px;
	left: 0;
	right: 0;
	background: #FFF;
	margin: auto;
}
.scroll-border::after {
	content: "";
	display: block;
	position: absolute;
	width: 25px;
	height: 25px;
	left: 0;
	right: 0;
	margin: auto;
	background: #FFF;
	border-radius: 50%;
	animation: scrollbar 2.0s ease-in-out infinite;
	animation-duration: 3s;
}

@keyframes scrollbar {
  0% {
    right: 70%;
    opacity: 0;
  }
  25% {
    opacity: 1;
  }
  50% {
    left: 70%;
    opacity: 0;
  }
  75% {
    opacity: 1;
  }
  100% {
    right: 70%;
    opacity: 0;
  }
}

/*--------------------------------------------------------------------------------------------
簡単メール欄
--------------------------------------------------------------------------------------------*/
#easy_message {
	position: relative;
	width: 500px;
	max-width: 95vw;
	margin: 1em auto;
	border-top: 1px dashed var(--my-site-color);
	padding-top: .5em;
	text-align : center;
}

#easy_message::before, #easy_message::after {
	display: block;
	color: var(--my-site-color);
	position: absolute;
}

#easy_message::before {
	content:'ここから長谷川宛のメールを送れます';
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	position: absolute;
	top: .5em;
	left: 1.8em;
	font-size: .8em;
}

#easy_message::after {
	content:'\E08a';
	font-family: "LigatureSymbols";
	position: absolute;
	top: .25em;
	font-size: 1.5em;
	transform: rotate( -15deg );
}

#easy_message .hidden {
	display: none;
}

#easy_message P {
	margin: 0!important;
	
}

#easy_message textarea {
	background-color: #F0F0F0;
	font-size: 1rem;
	margin: 0!important;
}

#easy_message aside {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: .75em;
	color: #999;
	line-height: 120%;
	text-align: left;
}

#easy_message aside LI {
	padding-left: 1em;
	text-indent: -1em;
}

#easy_message input[type="submit"] {
	margin-top: -1em!important;
	margin-right: -60px!important;
	padding: 0!important;
	background: #FFF;
	background-image: url('../parts/img/send.svg');
    background-size: contain;
    background-repeat: no-repeat;
    width: 40px; /* ボタンの幅を画像の幅に調整 */
    height: 20px; /* ボタンの高さを画像の高さに調整 */
    border: none; /* 枠線を取り除く */
    cursor: pointer; /* カーソルをポインターに変更 */
    text-indent: -9999px;  /* 文字を非表示にする */
}

#easy_message input[type="submit"]:hover {
	background-color: rgba(255,255,255,0)!important;
	opacity: .5;
}

.animation_floating{
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  animation-duration: 1.5s;
  width: 128px;
}

.keyframe_floating{
  animation-name: floating;
}

@keyframes floating {
  0% {
    transform: translate(3px, 2px);
  }
  100% {
    transform: translate(-3px, -2px);
  }
}


/*--------------------------------------------------------------------------------------------
メンバーズカード
--------------------------------------------------------------------------------------------*/
#members-card {
	position: relative;
    width: 425px;
	height: 270px;
	margin: auto;
	margin-bottom: 1em;
    perspective: 1000px; /* 3D効果を与える */
}

#members-card.is-flipped .card-inner {
    transform: rotateY(180deg);
}

#members-card .card-inner {
    width: 100%;
    height: 100%;
    position: relative;
    transition: transform 0.8s;
    transform-style: preserve-3d;
    transform-origin: center; /* 中心を基準に回転 */

}

#members-card .card-front, .card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    backface-visibility: hidden; /* 裏面が透けないようにする */
	transform: rotateX(0deg);
    top: 0;
    left: 0;
	border-radius: 1em;
	box-shadow: 3px 3px 9px rgba(0,0,0,.25);
	background-image: url("../parts/img/hairline.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-blend-mode: difference;
}

#members-card .card-flash {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	overflow: hidden;
}
#members-card.is-flipped .card-flash::after,
#members-card.is-second .card-flash::after {
	content: '';
	position: absolute;
	width: 50px;
	height: 50px;
	bottom: -60px;
	animation-name:shine-run;
	animation-delay:0s;
	animation-duration: 1s;
	animation-timing-function: ease-in;
	animation-iteration-count: 1; 
	}
#members-card.is-flipped .card-flash::after{
	background: linear-gradient(to left,rgba(255,255,255,0.2), rgba(255,255,255,.5));
	right: -60px;
}
#members-card.is-second .card-flash::after {
	background: linear-gradient(to left,rgba(255,255,255,0.2), rgba(255,255,255,.5));
	left: -60px;
}

@keyframes shine-run {
	0% {
	transform: scale(0) rotate(-50deg);
	/* アニメ開始時は大きさ0、50度の傾き */
	opacity: 0;
	/* アニメ開始時は全透過 */
	}
	40% {
	transform: scale(1) rotate(-50deg);
	/* 40%まで進む間に大きさを等倍に。傾きは50度のまま*/
	opacity: 1;
	/* 透過しない（しっかり表示される）ように1を設定 */
	}
	100% {
	transform: scale(150) rotate(50deg);
	/* 最後は元の大きさの250倍になるようにする。傾きは50度のまま*/
	opacity: 0;
	/* 全透過になるようにして、徐々に消えるような変化を付ける */
	}
}




#members-card .card-front {
    background-color: #FCFCFC;
}

#members-card .card-front.white { 
	background: #FAFAFA;
}
#members-card .card-front.green { 
	background: #D4E6A8;
}
#members-card .card-front.blue {
	background: linear-gradient(45deg, #A8D6F1 0%, #BEDEF0 45%, #DAEEF9 70%, #BEDEF0 85%, #A8D6F1 90% 100%), url("../parts/img/hairline.png");

}
#members-card .card-front.silver { 
	background: linear-gradient(45deg, #BBB 0%, #CCC 45%, #EEE 70%, #CCC 85%, #BBB 90% 100%), url("../parts/img/hairline.png");
}
#members-card .card-front.gold { 
	background: linear-gradient(45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%), url("../parts/img/hairline.png");
}
#members-card .card-front.black { 
	background: linear-gradient(45deg, #000 0%, #333 45%, #666 70%, #444 85%, #333 90% 100%), url("../parts/img/hairline.png");
}

#members-card .card-front .content {
	position: relative;
    width: 100%;
    height: 100%;
}

#members-card #type,
#members-card aside #card-name {
	position: absolute;
	bottom: .75em;
	left: 1em;
	padding: 0 0!important;
	margin: 0!important;
	text-shadow: -.5px -.5px 1px rgba(0,0,0,.15), .5px .5px 1px rgba(255,255,255,.35);
}

#members-card aside #card-name {
	font-family: 'raleway';
	font-size: 1em;
	color: #DDD;
}

#members-card #type {
	font-family:　'EB Garamond',　YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
	font-weight: lighter;
	font-size: 1.5em;
	color: #999;
	mix-blend-mode: hard-light;
}


#members-card .card-front.silver h1 {
	color: #999;
}
#members-card .blue aside #card-name {
	color: #8B9AC2;
}
#members-card .card-front.gold h1 {
	color: #FFE7B1;
}
#members-card .card-front.black h1 {
	color: #999;
}
#members-card #logo {
	position: absolute;
	top: 1em;
	right: 1em;
	width: 11.8%;
	height: 18.5%;
	background-image: url("../parts/img/card-emblem.png");
	background-size: contain;
	background-repeat: no-repeat;
	mix-blend-mode: hard-light;
	opacity: .35;
}

#members-card #my-avatar {
	position: absolute;
	top: 1em;
	right: 1em;
	width: 100px;
	height: 100px;
	border-radius: .5em;
	overflow: hidden;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

#members-card #my-QR {
	position: absolute;
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	bottom: .5em;
	right: 1em;
	max-width: 80%;
	box-shadow: -.5px -.5px 2px rgba(0,0,0,.2), .5px .5px 1px rgba(255,255,255,.35);
	mix-blend-mode: multiply;
	width: 75px;
	height: 75px;
}
#members-card #my-QR img {
	width: 100%;
	height: 100%;
}

#members-card .card-back {
    background-color: #fff;
    transform: rotateY(180deg);
}

#members-card .card-back #profile{	
	padding: 1em;
}



/*==#lesson-notes============================================================*/

main#member_note{
	display: flex;
	align-items: flex-start!important;
	justify-content: space-between;
	flex-wrap: wrap;
}

main#member_note h1{
	display: block;
	width: 100%;
	margin-top: 0;
}

#member_note.for-instructor .left,
#member_note #personal-data {
	width: 40%;
}
#lesson-notes {
	width: 55%;
}


/*==QRコード============================================================*/
/*popup template design*/
.popup-background{
  /*position size*/
  position: fixed;
  z-index : 100;
  top : 0;
  left : 0;
  height : 100vh;
  width : 100vw;

  /*design*/
  background-color: gray;
  opacity : 0.5
}
.popup{
	/*position size*/
	--height : 300px;
	--width : 300px;
	z-index : 101;
	position: fixed;
	top : calc(50vh - calc(var(--height) / 2));
	left : calc(50vw - calc(var(--width) / 2));
	height : var(--height);
	width : var(--width);
	vertical-align: middle;

	/*design*/
	overflow : hidden;
	background-color: white;
	border-radius: 10px;
	box-shadow: 0px 0px 3px 1px gray;
}
.popup > .close-button{
	/*position size*/
	position:absolute;
	top : 0;
	left : 0;
	height : 100%;
	width : 100%;
	z-index: 102;

}

.popup > .content{
    position: absolute;
	z-index: 100;
    top: 50%;
    transform: translateY(-50%);
	width: 100%;
	text-align: center;
	vertical-align: middle;
}

/*hide popup*/
.popup-flag{
  display: none;
}
.popup-flag:not(:checked) + .popup-background{
  display:none;
}
.popup-flag:not(:checked) + * + .popup{
  display:none;
}

/*==============================================================*/

/*button1*/
.popup-qr{
	float: right;
	background-image: url('../parts/img/icon-qr.svg');
	background-repeat: no-repeat;
	background-size: 2.5em 2.5em;
	background-position: center;
	width: 2.5em;
	height: 2.5em;
	padding: .25em;
	cursor: pointer;
	transition: 0.2s;
}
.popup-qr span {
	display: none;
}
.popup-qr:hover{
	background-color: #CCC;
}
.popup-qr:active{
	transition: 0.05s;
}

/*===円グラフ===========================================================*/

.graph-wrap {
	position: relative;
	width: 100%;
	height: 100%;
	text-align: center;
	margin: auto;
	padding: 0;
}

.circle circle {
}

.graph-wrap::before {
	content: "稽古の傾向";
	display: inline-block;
	text-align: left;
	margin-top: 2em;
	border: 1px solid;
	padding: .25em .5em;
	border-radius: .5em;
	font-weight: bold;
}


.circle  {
	stroke-width: 3px;
	fill: none;
	background-color: #FFF;
	border-radius: .5em;
	transform:rotate(-90deg);
}

.circle circle:nth-child(1) {
	stroke-dashoffset: 0;
	stroke: var(--lesson-cat-color-1);
	animation: anime01 1s 0s forwards ease-in-out;
}

.circle circle:nth-child(2), .circle circle:nth-child(3),
.circle circle:nth-child(4), .circle circle:nth-child(5),
.circle circle:nth-child(6), .circle circle:nth-child(7), .circle circle:nth-child(8){
	stroke-dasharray: 0,100;
}

/*　凡例ツールチップ　*/


.graph-wrap details {
	width: 100%;
}

.graph-wrap details summary {
	font-size: .8em;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	text-align: right;
}

.graph-wrap ul {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	flex-wrap: wrap;
	text-align: left;
	height: 100%;
	margin: auto;
}

.graph-wrap li {
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	font-size: .8em;
	margin: .25em;
	}
	.graph-wrap UL {
		line-height: 1em;
		margin: auto;
	}
.graph-wrap li.leg1::before { content: '■'; color: var(--lesson-cat-color-1); }
.graph-wrap li.leg2::before { content: '■'; color: var(--lesson-cat-color-2); }
.graph-wrap li.leg3::before { content: '■'; color: var(--lesson-cat-color-3); }
.graph-wrap li.leg4::before { content: '■'; color: var(--lesson-cat-color-4); }
.graph-wrap li.leg5::before { content: '■'; color: var(--lesson-cat-color-5); }
.graph-wrap li.leg6::before { content: '■'; color: var(--lesson-cat-color-6); }
.graph-wrap li.leg7::before { content: '■'; color: var(--lesson-cat-color-7); }
.graph-wrap li.leg8::before { content: '■'; color: var(--lesson-cat-color-8); }

/**********************************************************************
 しおり
***********************************************************************/
body#instruction main {
	max-width: 800px;
	width: 90%!important;
}

body#instruction h2 {
	font-size: 2em;
	margin: 2em 0;
}
body#instruction dl {
	margin-left: 4em!important;
}

body#instruction dt {
	font-size: 1.5em;
	font-weight: bold;
}
body#instruction dd {
	margin-bottom: 2em;
}

body#instruction dd P {
	text-indent: -1.25em;
}
body#instruction dd P::before {
	content: '\E029';
	font-family: 'LigatureSymbols';
	color: var(--lesson-cat-color-1);
	margin-right: .5em;
}
/**********************************************************************
wp-mem
***********************************************************************/

#wpmem_reg,
#wpmem_login {
	padding-top: 2em;
}
#member_only {
}

/* 登録情報・パスワードの変更リンク */
#profile section nav {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
#profile section nav ul{
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: .8em;
}

#profile section nav li {
	border-radius: .5em;
	background-color: var(--my-primary-color)!important;
	padding: 2em;
	font-size: 1.5em;
	margin: 1em auto;
}

#profile section nav li:first-child::before,
#profile section nav li:last-child::before {
	font-family: 'LigatureSymbols';
	margin-right: .5em;
}

#profile section nav li:first-child::before {
	content: '\E048';
}
#profile section nav li:last-child::before {
	content: '\E07c';
}
/* プロフィール */

.wpmem_msg {
	width: 100%!important;
	margin: 1em auto!important;
}

#mem_reg_info UL {
	width: 100%;
}

#mem_reg_info UL li {
	display: flex;
	justify-content: flex-start;
	text-align: left;
	margin: 2em auto;
	gap: 1em;
}


#mem_reg_info UL li div:first-child{
	border-left: 2px solid var(--my-site-color);
	padding-left: .75em;
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: .8em;
	width: 25%;
	min-width: 5em!important;
}
#mem_reg_info UL li div:last-child{
	flex-grow: 1;
	font-size: 1.1em;
}

#mem_reg_info,
#wpmem_login,
#wpmem_reg{
	width: 90vw!important;
	max-width: 600px;
	margin: auto;
}

#wpmem_login form label,
#wpmem_reg form .d-flex label {
	display: block;
	min-width: 5em;
	flex-grow: 1;
	flex-basis: 20%;
}

#wpmem_reg form .d-flex div {
	display: inline-block;
	flex-grow: 1;
	flex-basis: 80%;
	margin: 0;
}

.div_image img {
	width: 100%;
	height: auto;
	border-radius: .5em;
}

.button_div .buttons {
	margin: 0 0 0 auto!important;
}

#wpmem_reg form .req-text {
	display: block;
	text-align: right;
	font-size: 1em;
}

 
#wpmem_login legend,
#wpmem_reg legend {
	font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	font-size: 1.2em!important;
	font-weight: normal!important;
	border-bottom: 1px solid #333;
	padding-bottom: .25em;
	margin-bottom: 2em!important;
}

