@charset "UTF-8";

:root {
	box-sizing: border-box;
}

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

html{
  display:block;
  max-width:100dvw;
  min-height:100%;
  scroll-behavior: smooth;
}
body{
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	font-size: 24px;
	line-height: 1.6;
  display:block;
  max-width:100dvw;
  min-height:100%;
  background:var(--bg_main);
  text-align:center;
}

a:hover {
  color:var(--notice);
  text-decoration: underline;
}

dl{
  width:100%;
}
dt{
  width:100%;
  text-align: left;
  font-weight: 700;
}
dd{
  width:100%;
  margin-bottom:10px;
  text-align: left;
  text-indent:10px;
}

/*
header{
  position:fixed;
  left:0;
  top:0;
  width:100dvw;
  height:0;
  display:block;
  z-index: 10;
  background:rgba(0,0,0,0);
  overflow:hidden;
  color: #fff;
  
  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
       transition: all 300ms ease-in-out;

}
header.active{
  position:fixed;
  left:0;
  top:0;
  width:100dvw;
  height:auto;
  display:block;
  height:auto;
  color: #fff;
  padding: 10px;
  text-align: center;
  z-index: 10;
  backdrop-filter: blur(3px);
  background:rgba(0,0,0,0.4);

  -webkit-transition: all 300ms ease-in-out;
  -moz-transition: all 300ms ease-in-out;
       transition: all 300ms ease-in-out;

}
*/
header{
  position:fixed;
  left:0;
  top:0;
  width:100dvw;
  height:0;
  display:block;
  z-index: 10;
  
  overflow:hidden;
  
  text-align: center;
  

}
header.active{
  height:auto;
}

ul#toast{
  display:block;
  width:100dvw;
  height:auto;
}
ul#toast li{
  position:block;
  width:100dvw;
  height:auto;
  display:block;
  height:auto;
  color: #fff;
  z-index: 10;
  backdrop-filter: blur(3px);
  background:rgba(0,0,0,0.4);
  margin:0 0 2px 0;
  padding: 10px;
  text-align: center;
  
  opacity: 0;
	transform: translateY(-30px);
  transition: all 0.3s;
}
ul#toast li.active{
  opacity:1;
	transform: translateY(0px);
}
ul#toast li.noactive{
  opacity:0;
  transition: all 0.5s;
	/* transform: translateY(0px); */
}
main {
  position:relative;
  /*padding-top:50px;*/  /*headのheight同*/
  max-width:1280px;
  /* height:calc(100vh - 30px); */
  height:100vh;
  /* background: #a0a0a0; */
  box-sizing: border-box;
  display:flex;
  margin:0 auto;
  /* background:#fff; */
  background: var(--bg_main);
  overflow:hidden;
  
}
main.login {
  position:relative;
  /*padding-top:50px;*/  /*headのheight同*/
  width:100dvw;
  max-width:100dvw;
  height:100dvh;
  max-height:100dvh;
  /* height:calc(100vh - 30px); */
  height:100dvh;
  box-sizing: border-box;
  display:block;
  margin:0;
  /* background:#fff; */
  background: var(--bg_main);
  overflow:hidden;
  
}
footer{
  /*padding-top:50px;*/  /*headのheight同*/
  position:fixed;
  left:0;
  bottom:0;
  width:100dvw;

  display:block;
  height:30px;
  background:var(--main);
  font-size: 12px;
  color: #fff;
  line-height: 30px;
  text-align: center;
  z-index: 10;
}

nav.menu{
  position:relative;
  display: table-cell;
  vertical-align: top;
  width: 280px;
  min-width: 280px;
  /* background: var(--bg_main); */
  background: var(--bg_menu);
  /* padding: 34px 0 0; */
  /* padding-top: 150px; */
  
  /* box-shadow:0px -8px 8px -1px #ccc inset; */
  scrollbar-width: none;
  overflow-x: hidden;
  overflow-y: auto;
}
article.body{
  position:relative;
  display:block;
  width:calc(100vw - 280px);
  /* min-height:100vh; */
  /* padding-top: 150px; */
  box-shadow:0 0 8px -2px rgba(0,0,0,0.5);  /*スマホ用「#menu-left-btn2」適用のshadowと同じ*/
  background:#fff;
  overflow-x: hidden;
  overflow-y: auto;
  padding-bottom:80px;
  scrollbar-width: none;
}
article.namecard{
  width: 100vw;
}

article.login{
  position:relative;
  display:block;
  width:100dvw;
  max-width:100dvw;
  height: 100dvh;
  max-height: 100dvh;
  
  background:#fff;
  overflow: hidden;
  /* overflow-y: auto; */
  /* padding-bottom:80px; */

  -webkit-transition: all 1000ms ease-in-out;
  -moz-transition: all 1000ms ease-in-out;
       transition: all 1000ms ease-in-out;

}
aside.help{
  display: block;
  position:absolute;
  left:100dvw;
  top:0;
  width:100%;
  /* height:100%; */
  height:auto;
  min-width:100%;
  min-height:100dvh;
  padding-bottom:80px;
  background:#fff;
  box-shadow:2px 2px 2px rgba(0,0,0,0.4);
  opacity:0;

  -webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
       transition: all 200ms ease-in-out;

}
aside.help.active{
  position:absolute;
  left:0;
  top:0;
  display: block;

  width:100%;
  /* height:100%; */

  height:auto;
  min-height:100dvh;
  background:#fff;
  color:#000;
  padding-bottom:80px;
  overflow-x:hidden;
  overflow-y:auto;
  /* z-index:10001; */
  scrollbar-width: none;

  opacity:1;
  /* -webkit-transform: translate3d(0,0,0);
  -moz-transform: translate3d(0,0,0);
       transform: translate3d(0,0,0); */
-webkit-transition: all 200ms ease-in-out;
  -moz-transition: all 200ms ease-in-out;
       transition: all 200ms ease-in-out;

}
aside.help .help_body{
  width:100%;
  height:100dvh;
  background:#fff;
  overflow:hidden;
}
aside.help.active .help_body{
  width:100%;
  height:100dvh;
  background:#fff;
  padding-bottom: 110px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: none;
}



.wrap_inner01{
  margin: 0 20px;
}



ul.ul01 {
  /* height: 416px; */
  /* overflow-y: scroll; */
  margin: 0 20px 0 20px;
  list-style: none;
  counter-reset: item;
}
ul.ul01 li {
    display:inline-block;
    width:100%;
    margin: 0;
    padding: 20px 0;
    border-bottom: 1px solid var(--border01);
    text-align: left;
    font-size:100%;
    white-space: normal;
    position:relative;
}
ul.ul01 li p {
  position:relative;
  display:flex;
  align-items:flex-start;
  flex-wrap: wrap;

  margin:0;
  padding:0;
  /* width:100%; */
}
ul.ul01 li p.cal_memo {
  position:relative;
  display:inline-block;
  

  margin:0;
  padding:10px;
  /* width: calc(100dvw - 20px - 20px - 36px); */
}
ul.ul01 li .icon {
  position:relative;
  width: 36px;
  min-width: 36px;
  height:36px;
  color:var(--light);
  font-size:100%;

  display: inline-block;
  line-height: 36px;
  text-align: center;
  /* vertical-align: baseline; */
  /* margin-right:0.5rem; */
}
ul.ul01 li .body{
  position:relative;
  display:inline-block;
  color: #000;
  /* width: calc(100dvw - 20px - 20px - 36px); */
  min-width: 0;
  height:36px;
  /* margin-bottom: 10px; */

  /* overflow: hidden; */
  white-space: nowrap;
  text-overflow: ellipsis;
}
ul.ul01 li.linklist{
  display:flex;
  justify-content:space-between;
  cursor:pointer;
  border-top:none;
}

ul.ul01 li:first-child {
  /* border-bottom: none; */
  /* padding-top: 0; */
  border-top: 1px solid var(--border01);
}
ul.ul01.top_none li:first-child {
  border-top: none;
}

ul.ul01 li:last-child {border-bottom: none;}
/* ul.ul01 li div.cont {line-height: 1.35;} */
ul.ul01 li .ebody{
  position:relative;
  display:inline-block;
  max-width:calc(100% - 36px - 1em - 174px);
  text-overflow: ellipsis;
}

ul.ul01 li .econtrol{
  position:absolute;
  display:inline-block;
  right:0;
  max-width:174px;  /*ボタンbutton_icon01「width:44px + margin-right:10px = 54px x 3個」*/
}
ul.ul01 li .econtrol2{
  display:none;
}
ul.ul01 li .small{
  font-size: 0.7em;
}
ul.ul01 li .box80{
  position:relative;
  display:inline-block;
  text-align: left;
  width:80px;
}
ul.ul01 li .box_main{
  position:relative;
  display:inline-block;
  text-align: left;
  /* width:100%; */
}
ul.ul01 li .box200{
  position:relative;
  display:inline-block;
  text-align: left;
  width:200px;
}
ul.ul01 li .box150{
  position:relative;
  display:inline-block;
  text-align: left;
  width:150px;
}
ul.ul01 li .box100{
  position:relative;
  display:inline-block;
  text-align: left;
  width:100px;
}
ul.ul01 li .box120{
  position:relative;
  display:inline-block;
  text-align: left;
  width:120px;
}


ul.ul02 {
  list-style: none;
  box-sizing: border-box;
  width: 100%;
  /* max-width: 660px; */
  margin: 0 auto 58px;
}
ul.ul02 li{
  border-top: 1px solid var(--border01);
  display: table;
  width: 100%;
  padding: 14px 18px;
  box-sizing: border-box;
  margin: 0;
}
ul.ul02 li .title{
  color: var(--notice);
  width: 30%;
  display: table-cell;
  vertical-align: top;
  font-size: 16px;
  font-weight:bold;
}
ul.ul02 li .body{
  display: table-cell;
  vertical-align: top;
  font-size: 16px;
  line-height: inherit;
  margin: 0;
  padding: 0;
  border: 0;
}
ul.ul02 li .body .small{
  font-size: 0.7em;
}
ul.ul02.top_none li:first-child {border-top: none;}
ul.ul02.bottom_none li:first-child {border-bottom: none;}
ul.ul02 li:last-child {border-bottom: none;}

ul.ul03 {
  list-style: none;
  box-sizing: border-box;
  width: 100%;
  /* max-width: 660px; */
  margin: 0 auto 58px;
}
ul.ul03 li{
  border-top: 1px solid var(--border01);
  display: table;
  width: 100%;
  padding: 14px 18px;
  box-sizing: border-box;
  margin: 0;
}
ul.ul03 li .title{
  color: var(--notice);
  width: 30%;
  display: table-cell;
  vertical-align: top;
  font-size: 16px;
  font-weight:bold;
}
ul.ul03 li .body{
  display: table-cell;
  vertical-align: top;
  font-size: 16px;
  line-height: inherit;
  margin: 0;
  padding: 0;
  border: 0;
}
ul.ul03 li .body .small{
  font-size: 0.7em;
}
ul.ul03.top_none li:first-child {border-top: none;}
ul.ul03.bottom_none li:first-child {border-bottom: none;}
ul.ul03 li:last-child {border-bottom: none;}


.ul04{
	/* border: 1px solid #9fa0a0;
	border-radius: 5px;
	padding: 10px 15px; */
}

.ul04 li{
	border-bottom: 1px solid #9fa0a0;
	padding: 16px 0;
}

.ul04 li:last-child{
	border-bottom: none;
}

.ul04 li .date{
	/*font-size: 13px;*/
	font-size: 19px;
	font-weight: 400;
	line-height: 1;
	margin-bottom: 13px;
}

.ul04 li .cont{
	font-size: 100%;
	/* font-weight: 400; */
	line-height: 1.44;
}
ul.ul04.top_none li:first-child {border-top: none;}
ul.ul04.bottom_none li:first-child {border-bottom: none;}
ul.ul04 li:last-child {border-bottom: none;}




ul.ul_chat01 {
  /* height: 416px; */
  /* overflow-y: scroll; */
  width:100%;
  margin: 0 20px 0 20px;
  list-style: none;
  counter-reset: item;
}
ul.ul_chat01 li {
  position: relative;
  display:inline-block;
  width:90%;
  margin: 0 0 20px 0;
  padding: 0.5em;
  border: 1px solid var(--border01);
  text-align: left;
  font-size:100%;
  white-space: normal;
  border-radius: 10px;
}
ul.ul_chat01 li.chat_me {
  margin-left: cal(100% - 10% - 20px);
  /* padding: 20px; */
  /* border: 1px solid var(--border01); */

}
ul.ul_chat01 li.chat_you {
    margin-right: cal(100% - 10% - 20px);
    /* padding: 20px; */
    /* border: 1px solid var(--border01); */

}
ul.ul_chat01 li .date {
  font-size: 19px;
  font-weight: 400;
  line-height: 1;
  margin-bottom: 13px;
  color:silver;
}

ul.ul_chat01 li p {
  position:relative;
  display:flex;
  align-items:flex-start;
  flex-wrap: wrap;

  margin:0;
  padding:0;
  /* width:100%; */
}
ul.ul_chat01 li p.cal_memo {
  position:relative;
  display:inline-block;
  

  margin:0;
  padding:10px;
  /* width: calc(100dvw - 20px - 20px - 36px); */
}
ul.ul_chat01 li .icon {
  position:relative;
  width: 36px;
  min-width: 36px;
  height:36px;
  color:var(--light);
  font-size:100%;

  display: inline-block;
  line-height: 36px;
  text-align: center;
  /* vertical-align: baseline; */
  /* margin-right:0.5rem; */
}
ul.ul_chat01 li .body{
  position:relative;
  display:inline-block;
  color: #000;
  /* width: calc(100dvw - 20px - 20px - 36px); */
  min-width: 0;
  height:36px;
  /* margin-bottom: 10px; */

  /* overflow: hidden; */
  white-space: nowrap;
  text-overflow: ellipsis;
}



ul.ul_chat01 li .ebody{
  position:relative;
  display:inline-block;
  max-width:calc(100% - 36px - 1em - 174px);
  text-overflow: ellipsis;
}

ul.ul_chat01 li .econtrol{
  position:absolute;
  display:inline-block;
  right:0;
  max-width:174px;  /*ボタンbutton_icon01「width:44px + margin-right:10px = 54px x 3個」*/
}
ul.ul_chat01 li .econtrol2{
  display:none;
}







ul.flex-min{
  display: block;
  align-content: center;
  align-items: center;
  font-size: 60%;
  color: var(--main);
  margin-bottom:20px;
}

ul.gmenu{
  display:block;
}
ul.gmenu li{
  display: inline-block;
  box-sizing: border-box;
  width: 100%;
  text-align:center;
  /* padding: 0.6em 1.2em; */
  font-size: 80%;
  color: var(--main_color01);
  border-bottom: 1px solid #c8c8c8;
  position: relative;
  transition: all 0.2s linear;
  vertical-align: middle;
  height:60px;
  line-height:60px;
  cursor: pointer;
}
ul.gmenu li .gmenu_icn{
  display:inline-block;
  width:24px;
  height:24px;
  line-height:24px;
  margin-left:16px;
  margin-right:10px;
  text-align:center;
  vertical-align: middle;
  /* color:#fff;
  background: var(--light); */
  color:var(--main);
  background: #fff;

  font-size:60%;
  border-radius: 6px;
}
ul.gmenu li .gmenu_str{
  font-size:100%;
  overflow: inherit;
}
ul.gmenu li.current {background:var(--bg_menu_current);}
ul.gmenu li:first-child{border-top: 1px solid #c8c8c8;}
figure.figure01{
  display:block;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  background: #fff;
  width: 180px;
  height:180px;
  margin: 0 auto 20px;
}
figure.figure01 img{
  position: relative;
  width: 100%;
  height: 180px;
  object-fit: cover;  
}
figure.figure02 img{
  position: relative;
  width: 50%;
  height: auto;
  margin:10px auto;
}


.pager{
	display: flex;
	flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    line-height: 1;
}

.pager li{
	margin: 0 6px;
}

.pager li span,
.pager li a{
	display: inline-block;
	width: 44px;
	height: 44px;
	line-height: 40px;
	box-sizing: border-box;
	text-align: center;
	font-size: 100%;
	border: 1px solid var(--border01);
	border-radius: 10px;
  cursor: pointer;
}

.pager li span{
	background: var(--notice_rgb100);
	color: #fff;
}
.pager li span:hover{
  background:var(--notice_heavy);
}

.pager li a.next,
.pager li a.prev{
	position: relative;
	border: none;
}

.pager li a.next::before,
.pager li a.prev::before{
    content: '';
    display: inline-block;
    width: 28px;
    height: 28px;
    opacity: 1;
    border-bottom: 2px solid var(--border01);
    border-right: 2px solid var(--border01);
    position: absolute;
    top: 18%;
    left: 50%;
    transform: rotate(-45deg) translate(-50%, -50%);
}

.pager li a.prev::before{
    left: auto;
    right: 50%;
    transform: rotate(135deg) translate(-50%, -50%);
}
/* .pager li a.next::before:hover,
.pager li a.prev::before:hover{
  border-bottom: 2px solid var(#000);
  border-right: 2px solid var(#000);
} */



div#bottom-btns{
  position:absolute;  /*fixed*/
  width:calc(100% - 280px);
  /* max-width: calc(1280px - 280px); */
  padding:10px 30px;
  

  /* left:calc((100dvw - 1280px)/2 + 280px); */
  /* left:calc((100dvw - 100%)/2 + 280px); */
  /* left:calc((100vw - 100%) / 2 + 280px); */
  right:calc((100dvw - 100%) / 2);
  
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  
  /* background:rgba(252, 119, 150,0.4); */
  bottom: 0;
  left:280px;
  display:flex;
  height:80px;
  margin-bottom: calc(env(safe-area-inset-bottom) + 30px);  /*footerの高さ30px*/
  /* margin-bottom: env(safe-area-inset-bottom);  iPhone特殊画面用 */
  /* background:rgba(0,0,0,0.3); */
  line-height:40px;
  z-index: 10;
  pointer-events: none; /*下レイヤーのクリックを有効に*/
}
div#bottom-btns > div{
  margin-right:10px;
}

div#login-bottom-btns{
  position:fixed;
  
  display:flex;
  justify-content: flex-end;
  width:100%;
  padding:10px 30px;  
  bottom: 0;
  height:80px;
  margin-bottom: calc(env(safe-area-inset-bottom) + 30px);  /*footerの高さ30px*/
  line-height:40px;
  z-index: 10;
}
div#login-bottom-btns > div{
  margin-right:10px;
}



div#bottom-btns2{
  position:absolute;
  width:calc(100% - 280px);
  /* max-width: calc(1280px - 280px); */
  padding:10px 30px 0 30px;
  

  /* left:calc((100dvw - 1280px)/2 + 280px); */
  /* left:calc((100dvw - 100%)/2 + 280px); */
  /* left:calc((100vw - 100%) / 2 + 280px); */
  right:calc((100dvw - 100%) / 2);
  
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  
  /* background:rgba(252, 119, 150,0.4); */
  bottom: 70px;
  display:flex;
  height:80px;
  left:280px;
  margin-bottom: calc(env(safe-area-inset-bottom) + 30px);  /*footerの高さ30px*/
  /* margin-bottom: env(safe-area-inset-bottom);  iPhone特殊画面用 */
  /* background:rgba(0,0,0,0.3); */
  line-height:40px;
  z-index: 10;
  pointer-events: none; /*下レイヤーのクリックを有効に*/
}
div#bottom-btns2 > div{
  margin-right:10px;
}





.middle-btns{
  position:relative;
  display:flex;
  justify-content:center;
  gap: 10px;
  width:100%;
}
/* .middle-btns > *{
  margin-right:10px;
} */



.dots-container {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  width: 100%;
}

.dot {
  height: 20px;
  width: 20px;
  margin-right: 10px;
  border-radius: 10px;
  background-color: var(--main_rgb70);
  animation: pulse 1.5s infinite ease-in-out;

  /* background-image:url(../images/common/footprint.png);
  background-repeat:  no-repeat;
  height: 20px;
  width: 20px; */

}

.dot:last-child {margin-right: 0;}

.dot:nth-child(1) {animation-delay: -0.3s;}
.dot:nth-child(2) {animation-delay: -0.1s;}
.dot:nth-child(3) {animation-delay: 0.1s;}
.dot:nth-child(4) {animation-delay: 0.3s;}
.dot:nth-child(5) {animation-delay: 0.5s;}

@keyframes pulse {
  0% {
    transform: scale(0.8);
    background-color: var(--main_rgb70);
    box-shadow: 0 0 0 0 var(--main_rgb70);
  }
  50% {
    transform: scale(1.2);
    background-color: #fff;
    box-shadow: 0 0 0 10px var(--main_rgb0);
  }
  100% {
    transform: scale(0.8);
    background-color: var(--main_rgb70);
    box-shadow: 0 0 0 0 var(--main_rgb70);
  }
}

.wrap{
  max-width:100dvw;
  margin:0 20px;
}
.wrap10{
  max-width:100dvw;
  margin:0 10px;
}.wrap20{
  max-width:100dvw;
  margin:0 20px;
}
.wrap30{
  max-width:100dvw;
  margin:0 30px;
}
.wrap40{
  max-width:100dvw;
  margin:0 40px;
}
.wrap50{
  max-width:100dvw;
  margin:0 50px;
}
.left-window{
  position:relative;
  
  width:14%;
  /* max-width:100px; */
  height:100%;
  background:#fff;
  overflow: hidden;
}
.left-window img{
  position:absolute;
  display: block;
  object-fit: cover;
  height:100%;
  opacity: 80%;

  animation: login_bg 10s infinite alternate linear;

  /* -webkit-animation: zoom 10s 1;
   animation: zoom 10s 1;
   animation-fill-mode: forwards; */
}
@keyframes login_bg {
  0% {
     left:0%;
  }
  80% {
    left:-780%;
 }
  100% {
    left:-780%;
  }
}
.right-window{
  position:relative;
  width:86%;
  overflow-y:auto;
  -ms-overflow-style: none;         /*スクロールバー非表示（Edge/IE）*/
  scrollbar-width: none;            /*スクロールバー非表示（FireFox）*/
}
.right-window::-webkit-scrollbar{   /*スクロールバー非表示（Chrome/Safari）*/
  display: none;
}


.wrap_flex{
  display:flex;
  justify-content: center;
  align-items: center;
  max-width:100dvw;
  margin:10px;
}

.wrap_cal_border2{
  max-width:100dvw;
  margin:0 20px;
  border:2px solid #000;
  border-radius: 6px;
  overflow: hidden;

}
.wrap_cal_border1{
  max-width:100dvw;
  margin:0 20px;
  border:1px solid var(--border01);
  border-radius: 6px;
  overflow: hidden;

}
.wrap.bottom0{
  max-width:100dvw;
  margin:0 20px;
  margin-bottom:0;
}
.wrap_login{
  position:relative;
  /* display:inline-block; */
  width:100dvw;
  min-height:100dvh;
  background: #ededed;border: 1px solid #ccc;
  text-align:center;
  vertical-align:middle;
  overflow: hidden;
}
.login_box{
  position: absolute;
  display:flex;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;

  width:70%;
  max-width:600px;
  min-width:240px;
  height: 80%;
  min-height:600px;
  background:#fff;
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.3));
  overflow: hidden;
  border-radius: 6px;
}

h1{
  font-size:110%;
  font-weight:bold;
  
  margin:10px 10px 30px 10px;
}

h1.title_login{
  position: relative;
	font-size: 100%;
  font-weight:bold;
  margin-top: 30px;
  margin-bottom: 0;
}
img.title{
  height:48px;
  margin:50px auto 0;
}

.subtitle_box{
  position:relative;
  display:flex;
  justify-content: space-between;
  width:100%;
  height:50px;
  padding:0 20px;
  overflow-y: hidden;
  overflow-x: auto;
  white-space: nowrap;

}
img.subtitle{
  width:120px;
  /* margin:50px auto 0; */
  margin:auto 0;
}
span.subtitle{
  margin:auto 0;
  line-height:50px;
  width:calc(100% - 120px);
  text-align:left;
  font-weight:bold;
}

p.subtitle{
  font-size:60%;
}
.subtitle_box > *{
  margin-right:10px
}


h1.h1_01 {
	position: relative;
	font-size: 100%;
	text-align: center;
	border-bottom: 3px solid var(--border01);
  color:#333;
}

h1.h1_01::after {
	content: '';
	position: absolute;
	bottom: -3px;
	left: 50%;
	transform: translateX(-50%);
	width: 70px;
	height: 3px;
	background-color: var(--main);
}

h1.h1_02 {
  position: relative;
  padding: 1.5rem 2rem;
  margin:10px 10px 30px 10px;
  /* border: 3px solid var(--main); */
  border-radius: 10px;
  background: var(--main);
  color:#fff;
}
h1.h1_02:before {
  position: absolute;
  bottom: -14px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 14px 12px 0 12px;
  border-style: solid;
  border-color: var(--main) transparent transparent transparent;
}
h1.h1_02:after {
  position: absolute;
  bottom: -10px;
  left: 1em;
  width: 0;
  height: 0;
  content: '';
  border-width: 14px 12px 0 12px;
  border-style: solid;
  border-color: var(--main) transparent transparent transparent;
}
h1.h1_03 {
  position: relative;
  display:flex;
  align-items:center;
   margin-bottom: 2em;
   padding: 1.5rem 2rem;
   border-radius: 10px;
   background: var(--main);
   color:#fff;
   /* width:100%; */
}
h1.h1_03 img {
  width:60px;
  height:60px;
  margin-right:10px;
 }

h1.h1_03 span{
  width: calc(100% - 4rem); /* - 10px - 60px*/
  text-align: center;
}
 h1.h1_03:before,
 h1.h1_03:after {
   position: absolute;
   content: '';
   border-radius: 50%;
   background: var(--main);
 }
 h1.h1_03:before {
   right: 30px;
   bottom: -15px;
   width: 30px;
   height: 30px;
 }
 h1.h1_03:after {
   right: 50px;
   bottom: -30px;
   width: 15px;
   height: 15px;
 }

h2{
  margin:10px;
  font-size:100%;
  font-weight:bold;
  color:#000;
}
h2.h2_01 {
	position: relative;
	font-size: 26px;
	text-align: center;
	border-bottom: 3px solid var(--border01);
  color:#333;
}

h2.h2_01::after {
	content: '';
	position: absolute;
	bottom: -3px;
	left: 50%;
	transform: translateX(-50%);
	width: 70px;
	height: 3px;
	background-color: var(--main);
}

h2.h2_02 {
  position: relative;
   margin-bottom: 2em;
   padding: 1.5rem 2rem;
   border-radius: 10px;
   background: var(--light);
 }
 h2.h2_02:before,
 h2.h2_02:after {
   position: absolute;
   content: '';
   border-radius: 50%;
   background: var(--light);
 }
 h2.h2_02:before {
   right: 30px;
   bottom: -15px;
   width: 30px;
   height: 30px;
 }
 h2.h2_02:after {
   right: 50px;
   bottom: -30px;
   width: 15px;
   height: 15px;
 }

 h2.inner_title {
  padding:10px 0;
  margin:0;
  font-size:100%;
  font-weight:bold;
  background:var(--main_rgb10);
  color:#000;
  border-bottom: 1px solid var(--border01);
 }


h3.h3_01{
  display:inline-block;
  width:100%;
  text-align: left;
  padding-left:20px;
  font-size:80%;
  height:40px;
  line-height:40px;
}





 /*カレンダー制御パネル*/
 .btn_cal_month_btn{
  font-size:60px;
  color:var(--main);
 }



/*カレンダー*/
table.cal1 {
  position: relative;
  /* margin: 30px 10px; */
  width: 100%;
  text-align: center;
  border-collapse: collapse;
  /* border: 2px solid black; */
  display: table;
}
table.cal1.memo {
  border-top: 2px solid black;
}

table.cal1 th {
  border-right: 2px solid black;
  border-left: 2px solid black;
  background: #fff;
  text-align: center;
  width: calc(100% / 7 - 2px * 8);
  background: linear-gradient(#fff, #ffffad);
  font-weight:300;
}
table.cal1 th:first-child {border-left:none;}
table.cal1 th:last-child {border-right:none;}
table.cal1 th.saturday {
  color: #0055ff;
  background: linear-gradient(#fff, var(--saturday_rgb50));  /*#cff1f9*/
}
table.cal1 th.sunday {
  color: #a80000;
  background: linear-gradient(#fff, var(--main_rgb50));  /*#ffbfbf*/
}
/* table.cal1 tr {
  display: -webkit-flex;
    display: flex;
} */
table.cal1 td {
  position:relative;
  display: table-cell;
  border-top: 2px solid black;
  border-right: 2px solid black;
  border-left: 2px solid black;
  width: calc(100% / 7 - 2px * 8);
  vertical-align: top;
}

table.cal1 td.active::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-top: 14px solid #f00;
  border-right: 14px solid transparent;
}

table.cal1 td:first-child {border-left:none;}
table.cal1 td:last-child {border-right:none;}

table.cal1 td label {
  display: inline-block;
  font-size: 90%;
  margin: 0;
  width: 100%;
  height: 100%;
  padding: 1em;
  border: none;
  background: #fff;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--btn_sub_bright)), to(var(--btn_sub_dark)));
  background: -webkit-linear-gradient(top, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  background: linear-gradient(to bottom, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff;
}
table.cal1 td label.holiday,
table.cal1 td label.sunday {
  background: var(--main_rgb20);
  background: -webkit-gradient(linear, left top, left bottom, from(var(--btn_sub_bright)), to(var(--main_rgb20)));
  background: -webkit-linear-gradient(top, var(--btn_sub_bright) 0%, var(--main_rgb20) 100%);
  background: linear-gradient(to bottom, var(--btn_sub_bright) 0%, var(--main_rgb20) 100%);
}
table.cal1 td label.saturday {
  background: var(--saturday_rgb30);
  background: -webkit-gradient(linear, left top, left bottom, from(var(--saturday_rgb20)), to(var(--saturday_rgb30)));
  background: -webkit-linear-gradient(top, var(--saturday_rgb20) 0%, var(--saturday_rgb30) 100%);
  background: linear-gradient(to bottom, var(--saturday_rgb20) 0%, var(--saturday_rgb30) 100%);
}

table.cal1 td.space {
  background: #999;
}

table.cal1 td label p.cal_day {
  line-height: 1.6;
  margin: 0;
  color: #000;
}
table.cal1 td label p.cal_alt {
  margin: 0;
  color: #0099ff;
  line-height: 1.6;
}
table.cal1 input {
  display:none;
}




table.cal2 {
  position: relative;
  width: 100%;
  text-align: center;
  border-collapse: collapse;
  display: table;
}
table.cal2.memo {
  border-top: 1px solid var(--border01);
}

table.cal2 th {
  border-right: 1px solid var(--border01);
  border-left: 1px solid var(--border01);
  background: #fff;
  text-align: center;
  width: calc(100% / 7 - 1px * 8);
  /* background: linear-gradient(#fff, #ffffad); */
  background:rgba(0,0,0,.05);
  font-weight:300;
  padding:6px 0;
}
table.cal2 th:first-child {border-left:none;}
table.cal2 th:last-child {border-right:none;}
table.cal2 th.saturday {
  /* color: #0055ff; */
  /* background: linear-gradient(#fff, #cff1f9); */
  background:var(--saturday_rgb100);   /*#cff1f9;*/
}
table.cal2 th.sunday {
  /* color: #a80000; */
  /* background: linear-gradient(#fff, #ffbfbf); */
  background:var(--main_rgb50)   /*#ffbfbf;*/
}
/* table.cal2 tr {
  display: -webkit-flex;
    display: flex;
} */
table.cal2 td {
  position:relative;
  display: table-cell;
  border-top: 1px solid var(--border01);
  border-right: 1px solid var(--border01);
  border-left: 1px solid var(--border01);
  width: calc(100% / 7 - 1px * 8);
  vertical-align: top;
}

table.cal2 td.active::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-top: 14px solid var(--notice);
  border-right: 14px solid transparent;
}

table.cal2 td:first-child {border-left:none;}
table.cal2 td:last-child {border-right:none;}

table.cal2 td label {
  display: inline-block;
  font-size: 90%;
  margin: 0;
  width: 100%;
  height: 100%;
  padding: 1em;
  border: none;
  background: #fff;
  color:#000;
  /* background: -webkit-gradient(linear, left top, left bottom, from(var(--btn_sub_bright)), to(var(--btn_sub_dark)));
  background: -webkit-linear-gradient(top, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  background: linear-gradient(to bottom, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff; */
}
table.cal2 td label.holiday,
table.cal2 td label.sunday {
  background: var(--main_rgb20);
}
table.cal2 td label.saturday {
  background: var(--saturday_rgb20);
}

.rsv_radio:checked + label.cal_label,
.rsv_radio:checked + label.cal_label p.cal_alt{
  background:var(--light);
  color:#fff;
}

label.cal_label {
  background:none;
}

table.cal2 td.space {
  background:rgba(0,0,0,.05);
}

table.cal2 td label p.cal_day {
  line-height: 1.6;
  margin: 0;
  /* color: rgba(0,0,0,.4); */
}
table.cal2 td label p.cal_alt {
  margin: 0;
  /* color: #0099ff; */
  color: var(--light);
  line-height: 1.6;
}
table.cal2 input {
  display:none;
}








.input_title {
  display:block;
  text-align:left;
  font-size: 80%;
  color: var(--title_input);
}


input.form01 {
  position: relative;
  border: 2px solid #000;
  border-radius: 2px;
  /* background: rgba(0,0,0,0.02); */
  background:#fff;
  display: inline-block;
  overflow: hidden;
  margin: 0.2em auto;
  text-align: left;
  position: relative;
  box-sizing: border-box;
  padding: 8px 38px 8px 8px;
  color: #000;
  border-radius: 6px;
  font-size: 100%;
  width: 100%;
  height:60px;
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  box-shadow:2px 2px 2px rgba(0,0,0,0.4) inset;
}
input.form01.mini {
  position: relative;
  height:44px;
  border: 2px solid #000;
  border-radius: 2px;
  background: rgba(0,0,0,0.02);
  display: inline-block;
  overflow: hidden;
  margin: 0 auto;
  text-align: left;
  position: relative;
  box-sizing: border-box;
  padding: 8px 38px 8px 8px;
  color: #000;
  border-radius: 6px;
  font-size: 80%;
  width: 200px;
  max-width:200px;
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  box-shadow:2px 2px 2px rgba(0,0,0,0.4) inset;
}
input.form01.halfw{
  width:49%;
}

input.form01:disabled{
  color:#666;
  border: 2px solid #666;
  box-shadow:none;
}
input.form01.w50{
  width:50%;
  min-width:150px;
}
input.form01.w40{
  width:40%;
  min-width:120px;
}
input.form01.w30{
  width:20%;
  min-width:90px;
}
input.form01.w20{
  width:20%;
  min-width:60px;
}
input.form01.w10{
  width:10%;
  min-width:30px;
}


input[type="text"].form02 {
  width: 100%;
  box-sizing: border-box;
  font-size: 100%;
  line-height: 1;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid silver;
  color: #000;
  background: #fff;
  min-height: 63px;
}

textarea.form01 {
  height: 160px;
  position: relative;
  border: 2px solid #000;
  border-radius: 2px;
  background: rgba(0,0,0,0.02);
  display: inline-block;
  overflow-y: scroll;
  margin: 0.2em auto;
  text-align: left;
  position: relative;
  box-sizing: border-box;
  padding: 8px 38px 8px 8px;
  color: #000;
  border-radius: 6px;
  font-size: 100%;
  width: 100%;
  padding-right: 1em;
  text-indent: 0.01px;
  box-shadow:2px 2px 2px rgba(0,0,0,0.4) inset;
}
input.form01:required,
textarea.form01:required,
select.form01:required,
.wrap_border01.required,
div.required {
  background: url(../images/common/corner_RT.svg) no-repeat right top;  /*rgba(0,0,0,0.02) */
  background-size:20px 20px;
}

input.form01.ok,
textarea.ok {
  border-color:var(--insert);
  background-color:#fff;
}
input.form01.ng,
textarea.ng {
  border-color:var(--notice_heavy);
  background-color:var(--notice_rgb30);
}

select{
  cursor: pointer;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
  box-sizing: border-box;

}
select.form01{
  width: 100%;
  height:60px;
  /* padding-right: 1em; */
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;

  padding: 8px 38px 8px 8px;
  color: #000;
  border: 2px solid #000;
  border-radius: 6px;
  font-size: 100%;
  text-align: center;

}
select.form01.ok {border: 2px solid var(--insert);}
select.form01.ng {border: 2px solid var(--notice_heavy);}

select.form01::before {
  font-size: 100%;
  text-align: center;

  text-indent: 0.01px;
  color: #000;
  position: absolute;
  /* top: 0.8em; */
  top: 18px;
  right: 0.9em;
  width: 0;
  height: 0;
  padding: 0;
  content: '';
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #666666;
  pointer-events: none;

}
select.form01:disabled {
  color:#666;
  border: 2px solid #666;

}

div.select_wrap01{
  display: inline-block;
  overflow: hidden;
  width:100%;
  min-width: 50%;
  /* margin: 1em auto; */
  text-align: center;
  position: relative;
  border-radius: 2px;
  background: #fff;
}

div.select_wrap01::before {
  position: absolute;
  top: 50%;
  right: 0.9em;
  width: 0;
  height: 0;
  padding: 0;
  content: '';
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #666666;
  pointer-events: none;
}






/*--------------------/チェックボックス/--------------------*/
div.wrap_checkbox01{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items: center;
  align-content: space-around;
  width:calc(100% - 20px);
  height:auto;
  margin:0 20px;

  overflow: hidden;
  text-align: center;
  position: relative;

  line-height:200%;
}
div.wrap_checkbox01.border{
  /* border: 1px solid var(--border01); */
  border: 2px solid #000;
  border-radius: 6px;
  min-height: 60px;
  padding: 8px;
}
div.wrap_checkbox01.border.ok {
  border-color:var(--insert);
  background-color:#fff;
}
div.wrap_checkbox01.border.ng {
  border-color:var(--notice_heavy);
  background-color:var(--notice_rgb30);
}
.list_child{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-content: space-around;
  width:calc(100% - 20px);
  height:auto;
  margin:0;
  margin-top:10px;

  overflow: hidden;
  text-align: center;
  position: relative;

  line-height:200%;
  border-top:1px solid var(--border01);

}
label.checkbox_form01 {
  /* margin: 2em; */
  display: flex;
  align-items:center;
  position: relative;
  padding-left: 30px;
  cursor: pointer;
  font-size:100%;
  margin-right:20px;
}

div.wrap_multi{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-start;
  align-items: center;
  align-content: space-between;
  width:calc(100% - 20px);
  height:auto;
  margin:0 20px;

  overflow: hidden;
  text-align: center;
  position: relative;

  line-height:200%;
}
div.wrap_multi input{
  margin-left:0;
  margin-right:0.2em;
}

.checkbox_outside01 {
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -10px;
  width: 24px;
  height: 24px;
  border: 2px solid #CCCCCC;
  /* border-radius: 50%; */
  border-radius: 4px;
  box-sizing: border-box;
  background: #F3F3F3;
}

.checkbox_inside01 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  /* border-radius: 50%; */
  border-radius: 2px;
  width: 16px;
  height: 16px;
  background: var(--notice_heavy);
  left: 2px;
  top: 2px;
  transform: scale(0, 0);
}
.no-transforms .checkbox_inside01 {
  left: auto;
  top: auto;
  width: 0;
  height: 0;
}
input[type="checkbox"]:checked + .checkbox_outside01 .checkbox_inside01 {
  -webkit-animation: radio-select 0.1s linear;
          animation: radio-select 0.1s linear;
  transform: scale(1, 1);
}
.no-transforms input[type="checkbox"]:checked + .checkbox_outside01 .checkbox_inside01 {
  width: 20px;
  height: 20px;
}

label.checkbox_form02 {
  display:inline-block;
  font-size:100%;
  margin:6px;
  padding:0 10px;
  height:40px;
  border: 2px solid #000;
  border-radius: 20px;
  background: #fff;
  color:#000;
}
label.checkbox_form02:first-child{margin-left:0;}

.checkbox_form02:checked + label.checkbox_form02 {
  background: var(--notice);
  color:#fff;
}


label.checkbox_form03 {
  display:inline-block;
  font-size:100%;
  margin:6px;
  padding:6px;
  border: 2px solid #000;
  border-radius: 6px;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--btn_sub_bright)), to(var(--btn_sub_dark)));
  background: -webkit-linear-gradient(top, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  background: linear-gradient(to bottom, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff;
  color:#000;
}
label.checkbox_form03:first-child{margin-left:0;}

.checkbox_form03:checked + label.checkbox_form03 {
  background: -webkit-gradient(linear, left bottom, left top, from(#d1020c), to(#ee4d60));
  background: -webkit-linear-gradient(bottom, #d1020c 0%, #ee4d60 100%);
  background: linear-gradient(to top, #d1020c 0%, #ee4d60 100%);
  color:#fff;
  -webkit-box-shadow: inset 1px 1px 1px #666;
  box-shadow: inset 1px 1px 1px #666;
}






/*--------------------/ラジオ/--------------------*/
label.radio_form01 {
  /* margin: 2em; */
  display: flex;
  align-items:center;
  position: relative;
  padding-left: 30px;
  cursor: pointer;
  font-size:100%;
  text-align: left;
  margin-right:20px;
  /* line-height: 26px;
  margin-bottom: 18px; */
}
label.radio_form01:first-child{margin-left:0;}

.radio_outside01 {
  display: inline-block;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -10px;
  width: 24px;
  height: 24px;
  border: 2px solid #CCCCCC;
  /* border-radius: 50%; */
  border-radius: 50%;
  box-sizing: border-box;
  background: #F3F3F3;
}

.radio_inside01 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  /* border-radius: 50%; */
  border-radius: 50%;
  width: 16px;
  height: 16px;
  background: var(--notice_heavy);
  left: 2px;
  top: 2px;
  transform: scale(0, 0);
}
.no-transforms .radio_inside01 {
  left: auto;
  top: auto;
  width: 0;
  height: 0;
}
input[type="radio"]:checked + .radio_outside01 .radio_inside01 {
  -webkit-animation: radio-select 0.1s linear;
          animation: radio-select 0.1s linear;
  transform: scale(1, 1);
}
.no-transforms input[type="radio"]:checked + .radio_outside01 .radio_inside01 {
  width: 20px;
  height: 20px;
}


label.radio_form02 {
  display:inline-block;
  font-size:100%;
  margin:6px;
  padding:0 10px;
  height:40px;
  border: 2px solid #000;
  border-radius: 20px;
  background: #fff;
  color:#000;
}
label.radio_form02:first-child{margin-left:0;}

.radio_form02:checked + label.radio_form02 {
  background: var(--notice);
  color:#fff;
}


label.radio_form03 {
  display:inline-block;
  font-size:100%;
  margin:6px;
  padding:6px;
  border: 2px solid #000;
  border-radius: 6px;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--btn_sub_bright)), to(var(--btn_sub_dark)));
  background: -webkit-linear-gradient(top, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  background: linear-gradient(to bottom, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff;
  color:#000;
}
label.radio_form03:first-child{margin-left:0;}

.radio_form03:checked + label.radio_form03 {
  background: -webkit-gradient(linear, left bottom, left top, from(#d1020c), to(#ee4d60));
  background: -webkit-linear-gradient(bottom, #d1020c 0%, #ee4d60 100%);
  background: linear-gradient(to top, #d1020c 0%, #ee4d60 100%);
  color:#fff;
  -webkit-box-shadow: inset 1px 1px 1px #666;
  box-shadow: inset 1px 1px 1px #666;
}



    /*--------------------/スピナー/--------------------*/
    div.wrap_spinner01{
      position:relative;
      display:flex;
      flex-wrap:wrap;
      justify-content:flex-start;
      align-content: space-around;
      width:calc(100% - 20px);
      height:auto;
      margin:0 10px;
  
      overflow: hidden;
      text-align: center;
      position: relative;
  
      line-height:150%;

      justify-content:center;
      align-items:center;
    }
    div.wrap_spinner01 input{
      width:200px;
      margin:0;
    }
    div.wrap_spinner01 button.spinner_btn{
      width:60px;
      height:60px;
      margin:0;
    }


    div.wrap_spinner02{
      display:block;
      flex-wrap:wrap;
      justify-content:flex-start;
      align-content: space-around;
      /* width:100%; */
      height:auto;
      margin:0 20px;
  
      overflow: hidden;
      text-align: center;
      position: relative;
  
      line-height:150%;
    }
    div.wrap_spinner02 span.spn{
      width:100%;
      margin:0;
    }
    div.wrap_spinner02 input.spi{
      width:calc(80% - 70px - 70px);
      margin:0;
    }

    div.wrap_spinner02 button.spinner_btn{
      width:60px;
      height:60px;
      margin:0;
    }





    /*--------------------/期間/--------------------*/
    div.wrap_date01{
      position:relative;
      display:flex;
      flex-wrap:wrap;
      justify-content:flex-start;
      align-content: space-around;
      width:calc(100% - 20px);
      height:auto;
      margin:0 10px;
  
      overflow: hidden;
      text-align: center;
      position: relative;
  
      line-height:150%;

      justify-content:center;
      align-items:center;
    }
    div.wrap_date01 input{
      max-width:260px;
      min-width:200px;
      margin:0;
    }
    div.wrap_date01 input.from{
      margin-top:2px;
      margin-bottom:2px;
    }
    div.wrap_date01 input.to{
      margin-top:2px;
      margin-bottom:2px;
    }
    div.wrap_date01 .center{
      display:inline-block;
      margin:5px;
    }
    div.wrap_date01 button{
      width:60px;
      height:60px;
      margin:0;
    }







/*--------------------/ボタン/--------------------*/
.wrap_btn_center01{
  display:block;
  width:calc(100% - 40px);
  text-align:center;
  margin:0 20px;
}
.wrap_btn_center01.none{display:none;}

.wrap_btn_both01{
  display:flex;
  justify-content: space-between;
  flex-wrap: wrap;
  /* width:100%; */
  /* margin:0 20px; */
  margin:0;
}


.wrap_btn_sub01{
  display:flex;
  flex-direction: row;
  justify-content:flex-end;
  width:calc(100% - 18px - 20px);
  margin:30px 20px 0 20px;
  /* padding-right:10px; */
  /* position:absolute; */
  bottom:120px;
  background:#fff;
  padding:10px 0;
  border-radius: 6px;
  
}

section#view_list{
  position:relative;
  width:100%;
}

.form01.chat_input{
  position:relative;
  width:calc(100% - 20px);
  height:70px;
  min-height:70px;
  max-height:140px;
  /* margin:0 10px; */
  margin:0 10px 10px;
  background:#fff;
}

.wrap_chat_bottom01{
  position:fixed;
  float:left;
  text-align: left;
  /* justify-content:flex-end; */
  /* width:calc(100% - 40px); */
  width: calc(100vw - 280px);
  height:calc(160px + 30px);
  margin:30px 10px 0 10px;
  bottom: 110px;
  z-index:2;

  display:block;
  /* left:0; */
  bottom:0;
  /* width: 70%; */
  /* width: calc(100% - 20px); */
  /* width:calc(100% - 18px - 20px); */
  /* margin:30px 20px 0 20px; */
  margin:0;
  /* padding-right:10px; */
  /* bottom:80px; */
  background:#fff;
  padding:10px 0;
  /* border-radius: 6px; */
  text-align:center;
}

.button_main01{
  position:relative;
  display:block;
  font-size:100%;
  margin:0 auto;
  min-width:50%;
  padding:10px;
  border: 2px solid #000;
  border-radius: 6px;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--btn_sub_bright)), to(var(--btn_sub_dark)));
  background: -webkit-linear-gradient(top, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  background: linear-gradient(to bottom, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff;
  color:#000;
  
}
.button_main01:hover,
.button_main01.s-dragover{
  /*「s-dragover」はファイルアップロードボタンのドラッグイン時*/
  background: -webkit-gradient(linear, left bottom, left top, from(#d1020c), to(#ee4d60));
  background: -webkit-linear-gradient(bottom, #d1020c 0%, #ee4d60 100%);
  background: linear-gradient(to top, #d1020c 0%, #ee4d60 100%);
  color:#fff;
  -webkit-box-shadow: inset 1px 1px 1px #666;
  box-shadow: inset 1px 1px 1px #666;

}



.button_main02{
  display:block;
  font-size:100%;
  margin:0 auto;
  /* width:100%; */
  width: 60%;
  min-width:100px;
  padding:20px;
  border: 2px solid #000;
  border-radius: 6px;

  background: -webkit-gradient(linear, left bottom, left top, from(var(--notice_heavy)), to(var(--notice_main)));
  background: -webkit-linear-gradient(bottom, var(--notice_heavy) 0%, var(--notice_main) 100%);
  background: linear-gradient(to top, var(--notice_heavy) 0%, var(--notice_main) 100%);

  /* background: -webkit-gradient(linear, left bottom, left top, from(#d1020c), to(#ee4d60));
  background: -webkit-linear-gradient(bottom, #d1020c 0%, #ee4d60 100%);
  background: linear-gradient(to top, #d1020c 0%, #ee4d60 100%); */

  -webkit-box-shadow: inset 1px 1px 1px #666;
  box-shadow: inset 1px 1px 1px #666;
  color:#fff;
}
.button_main02:disabled{
  display:block;
  font-size:100%;
  margin:0 auto;
  min-width:100px;
  padding:20px;
  border: 2px solid #000;
  border-radius: 6px;
  color:#999;
  background: -webkit-gradient(linear, left bottom, left top, from(var(--notice_rgb20)), to(var(--notice_rgb10)));
  background: -webkit-linear-gradient(bottom, var(--notice_rgb20) 0%, var(--notice_rgb10) 100%);
  background: linear-gradient(to top, var(--notice_rgb20) 0%, var(--notice_rgb10) 100%);

  /* background: -webkit-gradient(linear, left bottom, left top, from(#d1020c), to(#ee4d60));
  background: -webkit-linear-gradient(bottom, #d1020c 0%, #ee4d60 100%);
  background: linear-gradient(to top, #d1020c 0%, #ee4d60 100%); */

  -webkit-box-shadow: inset 1px 1px 1px #666;
  box-shadow: inset 1px 1px 1px #666;

}

.button_main02:hover,
.button_main02.s-dragover{
  /*「s-dragover」はファイルアップロードボタンのドラッグイン時*/
  background: -webkit-gradient(linear, left top, left bottom, from(var(--notice_super)), to(var(--notice_heavy)));
  background: -webkit-linear-gradient(top, var(--notice_super) 0%, var(--notice_heavy) 100%);
  background: linear-gradient(to bottom, var(--notice_super) 0%, var(--notice_heavy) 100%);

  /* background: -webkit-gradient(linear, left top, left bottom, from(#d1020c), to(#ee4d60));
  background: -webkit-linear-gradient(top, #d1020c 0%, #ee4d60 100%);
  background: linear-gradient(to bottom, #d1020c 0%, #ee4d60 100%); */

  color:#fff;
  -webkit-box-shadow: inset 1px 1px 1px #666;
  box-shadow: inset 1px 1px 1px #666;
}
/* .button_main02:hover,
.button_main02.s-dragover{
  display:block;
  font-size:100%;
  margin:0 auto;
  min-width:50%;
  padding:20px;
  border: 2px solid #000;
  border-radius: 6px;

  background: -webkit-gradient(linear, left bottom, left top, from(var(--main_rgb20)), to(var(--main_rgb10)));
  background: -webkit-linear-gradient(bottom, var(--main_rgb20) 0%, var(--main_rgb10) 100%);
  background: linear-gradient(to top, var(--main_rgb20) 0%, var(--main_rgb10) 100%);

  -webkit-box-shadow: inset 1px 1px 1px #666;
  box-shadow: inset 1px 1px 1px #666;
  color:#fff;
} */


.button_main03{
  display:block;
  font-size:100%;
  margin:0 auto;
  min-width:100px;
  padding:20px;
  border: 2px solid #000;
  border-radius: 6px;

  background: -webkit-gradient(linear, left bottom, left top, from(#d1020c), to(#ee4d60));
  background: -webkit-linear-gradient(bottom, #d1020c 0%, #ee4d60 100%);
  background: linear-gradient(to top, #d1020c 0%, #ee4d60 100%);

  -webkit-box-shadow: inset 1px 1px 1px #666;
  box-shadow: inset 1px 1px 1px #666;
  color:#fff;
}
.button_main03:hover,
.button_main03.s-dragover{
  /*「s-dragover」はファイルアップロードボタンのドラッグイン時*/
  background: -webkit-gradient(linear, left top, left bottom, from(#d1020c), to(#ee4d60));
  background: -webkit-linear-gradient(top, #d1020c 0%, #ee4d60 100%);
  background: linear-gradient(to bottom, #d1020c 0%, #ee4d60 100%);

  color:#fff;
  -webkit-box-shadow: inset 1px 1px 1px #666;
  box-shadow: inset 1px 1px 1px #666;
}






.button_sub01{
  display:inline-block;
  height:44px;
  border-radius: 6px;
  font-size:80%;
  margin-left:10px;
  line-height:40px;
  padding:0 10px;
  vertical-align:middle;
  border: 2px solid #000;
  
  background: -webkit-gradient(linear, left top, left bottom, from(var(--btn_sub_bright)), to(var(--btn_sub_dark)));
  background: -webkit-linear-gradient(top, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  background: linear-gradient(to bottom, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff;
  color:#000;
  cursor: pointer;
}
.button_sub01:hover,
.button_sub01.s-dragover,
.button_sub01.active{
  /*「s-dragover」はファイルアップロードボタンのドラッグイン時*/
  background: -webkit-gradient(linear, left bottom, left top, from(var(--notice_heavy)), to(var(--notice_main)));
  background: -webkit-linear-gradient(bottom, var(--notice_heavy) 0%, var(--notice_main) 100%);
  background: linear-gradient(to top, var(--notice_heavy) 0%, var(--notice_main) 100%);
  color:#fff;
  -webkit-box-shadow: inset 1px 1px 1px #666;
  box-shadow: inset 1px 1px 1px #666;
}

.button_sub02{
  display:inline-block;
  height:44px;
  border-radius: 20px;
  font-size:80%;
  margin-left:10px;
  line-height:40px;
  padding:0 10px;
  vertical-align:middle;
  border: 2px solid #000;
  min-width: 100px;
  
  background: -webkit-gradient(linear, left top, left bottom, from(var(--btn_sub_bright)), to(var(--btn_sub_dark)));
  background: -webkit-linear-gradient(top, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  background: linear-gradient(to bottom, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff;
  color:#000;
  cursor: pointer;
}
.button_sub02:hover,
.button_sub02.s-dragover,
.button_sub02.active{
  /*「s-dragover」はファイルアップロードボタンのドラッグイン時*/
  background: -webkit-gradient(linear, left bottom, left top, from(var(--notice_heavy)), to(var(--notice_main)));
  background: -webkit-linear-gradient(bottom, var(--notice_heavy) 0%, var(--notice_main) 100%);
  background: linear-gradient(to top, var(--notice_heavy) 0%, var(--notice_main) 100%);
  color:#fff;
  -webkit-box-shadow: inset 1px 1px 1px #666;
  box-shadow: inset 1px 1px 1px #666;
}
.button_sub02:disabled{
  background:#ccc;
  color:#666;
}

.button_sub03{
  display:inline-block;
  height:44px;
  border-radius: 20px;
  font-size:80%;
  margin-left:10px;
  line-height:40px;
  padding:0 10px;
  vertical-align:middle;
  border: 2px solid #000;
  
  background: -webkit-gradient(linear, left top, left bottom, from(var(--btn_sub_bright)), to(var(--btn_sub_dark)));
  background: -webkit-linear-gradient(top, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  background: linear-gradient(to bottom, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff;
  color:#000;
  cursor: pointer;
}
.button_sub03:hover,
.button_sub03.s-dragover,
.button_sub03.active{
  /*「s-dragover」はファイルアップロードボタンのドラッグイン時*/
  background: -webkit-gradient(linear, left bottom, left top, from(#d1020c), to(#ee4d60));
  background: -webkit-linear-gradient(bottom, #d1020c 0%, #ee4d60 100%);
  background: linear-gradient(to top, #d1020c 0%, #ee4d60 100%);
  color:#fff;
  -webkit-box-shadow: inset 1px 1px 1px #666;
  box-shadow: inset 1px 1px 1px #666;

}


.button_icon01{
  display:inline-block;
  width:60px;
  height:60px;  /*ここを消していた*/
  border-radius: 6px;
  /* font-size:80%; */
  margin-left:10px;
  line-height:40px;
  padding:0 10px;
  vertical-align:middle;
  border: 2px solid #000;
  text-align: center;
  font-size:120%;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--btn_sub_bright)), to(var(--btn_sub_dark)));
  background: -webkit-linear-gradient(top, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  background: linear-gradient(to bottom, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff;
  color:var(--main);
}
.button_sub01:hover{
  background: -webkit-gradient(linear, left bottom, left top, from(var(--notice_heavy)), to(var(--notice_main)));
  background: -webkit-linear-gradient(bottom, var(--notice_heavy) 0%, var(--notice_main) 100%);
  background: linear-gradient(to top, var(--notice_heavy) 0%, var(--notice_main) 100%);
  color:#fff;
  -webkit-box-shadow: inset 1px 1px 1px #666;
  box-shadow: inset 1px 1px 1px #666;

}
.button_icon02{
  display:inline-block;
  width:60px;
  height:60px;  /*ここを消していた*/
  border-radius: 6px;
  /* font-size:80%; */
  margin-right:10px;
  line-height:30px;
  padding:0 10px;
  vertical-align:middle;
  border: 2px solid #000;
  text-align: center;
  font-size:120%;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--btn_sub2_bright)), to(var(--btn_sub2_dark)));
  background: -webkit-linear-gradient(top, var(--btn_sub2_bright) 0%, var(--btn_sub2_dark) 100%);
  background: linear-gradient(to bottom, var(--btn_sub2_bright) 0%, var(--btn_sub2_dark) 100%);
  -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff;
  color:var(--main);
}
.button_icon02 img{
  width:30px;
  height:30px;
}
.button_sub02:hover{
  background: -webkit-gradient(linear, left bottom, left top, from(var(--notice_heavy)), to(var(--notice_main)));
  background: -webkit-linear-gradient(bottom, var(--notice_heavy) 0%, var(--notice_main) 100%);
  background: linear-gradient(to top, var(--notice_heavy) 0%, var(--notice_main) 100%);
  color:#fff;
  -webkit-box-shadow: inset 1px 1px 1px #666;
  box-shadow: inset 1px 1px 1px #666;

}
.button_submit01{
  display:inline-block;
  width:200px;
  height:60px;  /*ここを消していた*/
  border-radius: 6px;
  /* font-size:80%; */
  margin-left:10px;
  line-height:40px;
  padding:0 10px;
  vertical-align:middle;
  border: 2px solid #000;
  text-align: center;
  font-size:90%;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--btn_sub_bright)), to(var(--btn_sub_dark)));
  background: -webkit-linear-gradient(top, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  background: linear-gradient(to bottom, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff;
  color:var(--main);
}
.button_submit01:hover{
  background: -webkit-gradient(linear, left bottom, left top, from(var(--notice_heavy)), to(var(--notice_main)));
  background: -webkit-linear-gradient(bottom, var(--notice_heavy) 0%, var(--notice_main) 100%);
  background: linear-gradient(to top, var(--notice_heavy) 0%, var(--notice_main) 100%);
  color:#fff;
  -webkit-box-shadow: inset 1px 1px 1px #666;
  box-shadow: inset 1px 1px 1px #666;

}




span.required {
  background-color: red;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  min-width: 10px;
  padding: 3px 7px;
  margin: 0px 5px;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  border-radius: 10px;
  display: inline-block;
}
p.input_guide{
  display:block;
  width:100%;
  font-size: 80%;
  text-align: left;
}
p.input_guide.ok{color: var(--ok);}
p.input_guide.ng{color: var(--ng);}

.serif_notice{
  display:none;
}
.serif_notice.active{
  /* display:block; */
  width:100%;
  min-height:30px;
  font-size: 60%;
  padding: 8px 8px 8px 48px;
  position: relative;
  display: inline-block;
  margin-top: 6px;  /*20px;*/
  /* border: 2px solid #000; */
  border-radius: 16px;
  color:#fff;
  text-align: left;
  line-height: 1.5;

}
.serif_notice.active::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  /* box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35); */
}
.serif_notice.active::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  border-style: solid;
  border-width: 0 7.8px 15.5px 7.8px;
  border-color: transparent transparent var(--ng);
  translate: -50% -100%;
  /* box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.35); */
}
.serif_notice.ok{background-color: var(--ok);}
.serif_notice.ng{
  background-image: url(../images/common/icon_exc.png);
  background-repeat: no-repeat, no-repeat;
  background-size:  30px 30px;
  background-position: 10px center;
  background-color: var(--ng);
}

.fuwafuwa_top10{
  -webkit-animation: fuwafuwa_top10 0.5s ease-in infinite alternate;
  animation: fuwafuwa_top10 0.5s ease-in infinite alternate;
}
@-webkit-keyframes fuwafuwa_top10 {
	0% {
		-webkit-transform: translateY(0%);
		transform: translateY(0%);
	}
	100% {
		-webkit-transform: translateY(10%);
		transform: translateY(10%);
	}
}
@keyframes fuwafuwa_top10 {
	0% {
		-webkit-transform: translateY(0%);
		transform: translateY(0%);
	}
	100% {
		-webkit-transform: translateY(10%);
		transform: translateY(10%);
	}
}

div.spacer{
  display:block;
  width:100%;
}
div.h10{height:10px;}
div.h20{height:20px;}
div.h30{height:30px;}
div.h50{height:50px;}

div.w100dvh{width:100dvh;}
div.w100per{width:100%;}
div.w150{width:150px;}








/*--------------------/スライダー/--------------------*/
.slides {
  display: inline-block;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: none;
  scrollbar-width: none;
  white-space: nowrap;
      -ms-overflow-style: none; /*スクロールバー非表示*/
    scrollbar-width: none;    /*スクロールバー非表示*/
    
  width:100%;
}
.slides::-webkit-scrollbar{display: none;}

.area {
  scroll-snap-align: start;
}
.info_box {
  display: inline-block;
  position:relative;
  /* width:cal(100dvw - 280px); */
  width:100%;
  max-width: cal(1200px - 280px);
  /* width:calc(((100vw - 100%) / 2) * -1); */
  /* margin-bottom: 90px; */
  line-height: 1;
  vertical-align: top;
}
.info_wrapp2 {
  
  position:relative;
  display:block;
  border: 1px solid var(--border01);
  border-radius: 8px;
  padding: 20px;
  /* margin-bottom: 30px; */
  background: #fff;

  margin: 0px 20px;
  width: calc(100% - 40px);
  min-width: cal(1200px - 280px - 40px);
  overflow: hidden;
}
.info_wrapp2 h3 {
  font-size: 100%;
  text-align: center;
  padding-bottom: 5px;
  border-bottom: 1px solid #000;
  /* margin-bottom: 20px; */
}
.info_wrapp2 p.sub {
  padding-top: 5px;
  font-size: 60%;
  white-space: normal;
}
.info_wrapp2 p.read {
  display:block;
  width:100%;
  height:auto;
  padding: 20px;
  font-size: 50%;
  text-align: left;
  white-space: normal;
}
.info_wrapp2 ul.news_ul {
  /* height: 416px; */
  /* overflow-y: scroll; */
  margin-bottom: 0;
  list-style: none;
}
.info_wrapp2 ul.news_ul.top_none li:first-child {border-top: none;}
.info_wrapp2 ul.news_ul.bottom_none li:last-child {border-bottom: none;}
.info_wrapp2 ul.news_ul li .icon {
  display:inline-block;
  width:40px;
  min-width:40px;
  text-align:center;
}


.info_wrapp2 ul li {
    /* margin-bottom: 40px; */
    margin: 0;
    padding: 20px 0;
    border-bottom: 1px solid var(--border01);
    text-align: left;
    font-size:100%;
    white-space: normal;
}
.info_wrapp2 ul li:first-child {
  /* border-bottom: none; */
  /* padding-top: 0; */
  border-top: 1px solid var(--border01);
  
}

.info_wrapp2 ul li div.cont {
  line-height: 1.35;
}

.color_delete {color: #ff0033;}
.color_insert {color: var(--main);}
.color_insert2 {color: #0066ff;}
.color_update {color: var(--main);}
.color_update2 {color: #00cc99;}
.bg_delete {background: #ff0033;}
.bg_insert {background: #0066ff;}
.bg_update {background: #00cc99;}
.circle {
  display: inline-block;
  /* background-color: #f00; */
  margin-top: -30px;
  margin-right: 4px;
  width: 36px;
  height: 36px;
  display: inline-block;
  border-radius: 50%;
  font-size: 70%;
  color: #fff;
  line-height: 36px;
  text-align: center;
  vertical-align: baseline;
}




ol.ol01 {
  /* height: 416px; */
  /* overflow-y: scroll; */
  margin: 0 20px;
  list-style: none;
  counter-reset: item;
}
ol.ol01 li {
    display:flex;
    width:100%;
    margin: 0;
    padding: 20px 0;
    border-bottom: 1px solid var(--border01);
    text-align: left;
    font-size:100%;
    white-space: normal;
    position:relative;
}

ol.ol01 li:before {
  counter-increment: item;
  content: counter(item);

  width: 36px;
  min-width: 36px;
  height: 36px;
  min-height: 36px;
  display: inline-block;
  border-radius: 50%;
  font-size: 70%;
  color: #fff;
  line-height: 36px;
  text-align: center;
  vertical-align: baseline;
  background:var(--light);
  margin-right:1em;
}
ol.ol01 li:first-child {
  border-top: 1px solid var(--border01);
}
ol.ol01.top_none li:first-child {border-top: none;}
ol.ol01.bottom_none li:last-child {border-bottom: none;}

/* ol.ol01 li div.cont {line-height: 1.35;} */
ol.ol01 li .ebody{
  position:relative;
  display:inline-block;
  max-width:calc(100% - 36px - 1em - 174px);
  text-overflow: ellipsis;
}
ol.ol01 li .ebody2{
  position:relative;
  display:inline-block;
  /* max-width:calc(100% - 36px - 1em - 174px); */
  text-overflow: ellipsis;
}

ol.ol01 li .econtrol{
  position:absolute;
  display:inline-block;
  right:0;
  max-width:174px;  /*ボタンbutton_icon01「width:44px + margin-right:10px = 54px x 3個」*/
}
ol.ol01 li .econtrol.open{
  top:0;
}
ol.ol01 li .econtrol2{
  display:none;
}
ol.ol01.top_none li:first-child {border-top: none;}
/* ol.ol01.bottom_none li:first-child {border-bottom: none;} */
ol.ol01 li:last-child {border-bottom: none;}


ol.ol02 {
  /* height: 416px; */
  /* overflow-y: scroll; */
  margin: 0 20px;
  list-style: none;
  counter-reset: item;
}
ol.ol02 li {
    display:flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    width:100%;
    margin: 0;
    padding: 20px 0;
    border-bottom: 1px solid var(--border01);
    text-align: left;
    font-size:100%;
    white-space: normal;
    position:relative;
}

/* ol.ol02 li:before {
  counter-increment: item;
  content: counter(item);

  width: 36px;
  min-width: 36px;
  height: 36px;
  min-height: 36px;
  display: inline-block;
  border-radius: 50%;
  font-size: 70%;
  color: #fff;
  line-height: 36px;
  text-align: center;
  vertical-align: baseline;
  background:var(--light);
  margin-right:1em;
} */
ol.ol02 li:first-child {
  border-top: 1px solid var(--border01);
}
ol.ol02.top_none li:first-child {border-top: none;}
ol.ol02.bottom_none li:last-child {border-bottom: none;}

/* ol.ol02 li div.cont {line-height: 1.35;} */
ol.ol02 li .ebody{
  position:relative;
  display:inline-block;
  /* max-width:calc(100% - 36px - 1em - 174px); */
  max-width:calc(100% - 174px);
  text-overflow: ellipsis;
}
ol.ol02 li .ebody2{
  position:relative;
  display:inline-block;
  /* max-width:calc(100% - 36px - 1em - 174px); */
  text-overflow: ellipsis;
}

ol.ol02 li .econtrol{
  /* position:absolute; */
  position:relative;
  display:inline-block;
  right:0;
  max-width:174px;  /*ボタンbutton_icon01「width:44px + margin-right:10px = 54px x 3個」*/
}
ol.ol02 li .econtrol.open{
  top:0;
}
ol.ol02 li .econtrol2{
  display:none;
}




.button_icon01.mini{
  display:inline-block;
  width:44px;
  height:44px;
  text-align:center;
  /* line-height: 36px; */
  padding:0;
  vertical-align: middle;
  font-size:100%;
  
  border-radius: 6px;
  margin: 0 0 10px 10px;
  border: 2px solid #000;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--btn_sub_bright)), to(var(--btn_sub_dark)));
  background: -webkit-linear-gradient(top, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  background: linear-gradient(to bottom, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  /* -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff; */
  color: var(--main);

}

.button_icon01.mini:hover,
.button_icon01.mini.s-dragover,
.button_icon01.mini.active{
  opacity:.8;
  /* background: -webkit-gradient(linear, left bottom, left top, from(var(--notice_heavy)), to(var(--notice_main)));
  background: -webkit-linear-gradient(bottom, var(--notice_heavy) 0%, var(--notice_main) 100%);
  background: linear-gradient(to top, var(--notice_heavy) 0%, var(--notice_main) 100%);
  color:#fff; */
}

.button_icon01.mini.margin_left10{margin-left: 10px;}
.button_icon01.mini.margin_left0{margin-left: 0;}
.button_icon01.mini.margin_right10{margin-right: 10px;}
.button_icon01.mini.margin_right0{margin-right: 0;}




input.search.mini {
  position: relative;
  height:44px;
  border: 2px solid #000;
  border-radius: 6px 0 0 6px;
  border-right:none;
  background: rgba(0,0,0,0.02);
  display: inline-block;
  overflow: hidden;
  /* margin: 0 auto; */
  text-align: left;
  position: relative;
  box-sizing: border-box;
  padding: 8px 38px 8px 8px;
  color: #000;
  
  font-size: 80%;
  width: 200px;
  max-width:200px;
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  box-shadow:2px 2px 2px rgba(0,0,0,0.4) inset;
}
button.search.mini{
  display:inline-block;
  width:44px;
  height:44px;
  text-align:center;
  padding:0;
  vertical-align: middle;
  font-size:100%;
  
  border-radius: 6px;
  border-radius: 0 6px 6px 0;
  margin-left: 0;
  border: 2px solid #000;
  background: -webkit-gradient(linear, left top, left bottom, from(var(--btn_sub_bright)), to(var(--btn_sub_dark)));
  background: -webkit-linear-gradient(top, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  background: linear-gradient(to bottom, var(--btn_sub_bright) 0%, var(--btn_sub_dark) 100%);
  -webkit-box-shadow: inset 1px 1px 1px #fff;
  box-shadow: inset 1px 1px 1px #fff;
  color: var(--main);
}
button.search.mini:hover,
button.search.mini.s-dragover,
button.search.mini.active{
  opacity:.8;
  /* background: -webkit-gradient(linear, left bottom, left top, from(var(--notice_heavy)), to(var(--notice_main)));
  background: -webkit-linear-gradient(bottom, var(--notice_heavy) 0%, var(--notice_main) 100%);
  background: linear-gradient(to top, var(--notice_heavy) 0%, var(--notice_main) 100%);
  color:#fff; */
}


.btn-circle1{
  display:block;
  position: relative;
  width:60px;
  height:60px;
  border-radius: 30px;
  overflow: hidden;
  line-height:60px;
  color:#fff;
  background: var(--main);
  box-shadow: 0px 0px 6px 0px rgba(166, 71, 93,0.3);
  border:1px solid #fff;
  opacity: 1;
  cursor: pointer;
  transition: all 0.3s linear;

  pointer-events: auto;
  cursor: pointer;
}
.btn-circle1.op0{
  opacity: 0;
  transition: all 0.3s linear;
  pointer-events: none;
}
.btn-circle1.ai{
  background-image: url(../images/common/AI_white.svg);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-circle1.enq{
  background-image: url(../images/common/inq_white.png);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-circle1.album{
  background-image: url(../images/common/album_white.svg);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-circle1.pdf{
  background-image: url(../images/common/file_pdf2_white.svg);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-circle1.chat{
  background-image: url(../images/common/chat_white.svg);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-circle1.task{
  background-image: url(../images/common/task_white.png);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-circle1.cal{
  background-image: url(../images/common/cal_white.png);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-circle1.file{
  background-image: url(../images/common/file_white.png);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-circle1.back{
  background-image: url(../images/common/left_white.svg);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-circle1.new{
  background-image: url(../images/common/icon_plus_white.svg);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-circle1.search{
  background-image: url(../images/common/icon_search_white.svg);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-circle1.trush{
  background-image: url(../images/common/icon_trush_white.svg);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}




.btn-circle2{
  display:block;
  position: relative;
  width:60px;
  height:60px;
  border-radius: 30px;
  overflow: hidden;
  line-height:60px;
  color:#fff;
  background: var(--light);
  box-shadow: 0px 0px 6px 0px rgba(166, 71, 93,0.3);
  border:1px solid #fff;
  opacity: 1;
  cursor: pointer;
  transition: all 0.3s linear;
}
.btn-circle2.op0{
  opacity: 0;
  transition: all 0.3s linear;
}

.btn-circle3{
  display:block;
  position: relative;
  width:40px;
  height:40px;
  border-radius: 20px;
  overflow: hidden;
  line-height:40px;
  color:#c8c8c8;
  background: #fff;
  border:1px solid #c8c8c8;
  opacity: 1;
  cursor: pointer;
  transition: all 0.3s linear;
}
.btn-circle3.op0{
  opacity: 0;
  transition: all 0.3s linear;
}
.btn-circle3 img{
  position:absolute;
  top:0;
  left:0;
  width:40px;
  height:40px;
}



.btn-squear{
  display:block;
  position: relative;
  width:50px;
  height:50px;
  border-radius: 6px;
  overflow: hidden;
  line-height:50px;
  color:#fff;
  background: var(--main);
  box-shadow: 0px 0px 6px 0px rgba(166, 71, 93,0.3);
  border:1px solid #fff;
  opacity: 1;
  cursor: pointer;
  transition: all 0.3s linear;

  pointer-events: auto;
  cursor: pointer;
  margin-top:15px;
}
.btn-squear.op0{
  opacity: 0;
  transition: all 0.3s linear;
  pointer-events: none;
}
.btn-squear.ai{
  background-image: url(../images/common/AI_white.svg);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-squear.enq{
  background-image: url(../images/common/inq_white.png);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-squear.album{
  background-image: url(../images/common/album_white.svg);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-squear.pdf{
  background-image: url(../images/common/file_pdf2_white.svg);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-squear.chat{
  background-image: url(../images/common/chat_white.svg);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-squear.task{
  background-image: url(../images/common/task_white.png);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-squear.cal{
  background-image: url(../images/common/cal_white.png);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-squear.file{
  background-image: url(../images/common/file_white.png);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-squear.back{
  background-image: url(../images/common/left_white.svg);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}
.btn-squear.new{
  background-image: url(../images/common/icon_plus_white.svg);
  background-repeat: no-repeat;
  background-size: 30px;
  background-position: center center;
}

.btn_box_mini_01{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}




.slides-btn-left{
  position:fixed;
  float:left;
  margin-top:-100px;
  top:200px;
  left:-30px;
  z-index:10;
  opacity:20%;
  cursor: pointer;
}

.slides-btn-right{
  position:fixed;
  float:right;
  margin-top:-100px;
  top:200px;
  right:-30px;
  z-index:10;
  opacity:20%;
  cursor: pointer;
}
.slides-btn-left.active,
.slides-btn-right.active{
  opacity:70%;
}



.wrap_sendmail{
  display:flex;
  /* width:(100% - 20px); */
  margin:0 20px;
}
.wrap_sendmail input{margin:0;}
/* .wrap_sendmail button{height:100%;} */


.wrap_sendmail.mini{
  display:flex;
  margin:0;
}



.wrap_border01{
  display:block;
  width:calc(100% - 40px);
  margin:0 20px;

  height:auto;
  border:1px solid var(--border01);
  border-radius: 6px;
  overflow: hidden;

  border-width:2px;
}
.wrap_help_border01{
  display:block;
  width:(100% - 20px);
  max-width:1200px;
  margin:0 auto;

  height:auto;
  border:1px solid var(--border01);
  border-radius: 6px;
  overflow: hidden;
}
.wrap_border01 p,
.wrap_help_border01 p{
  display:block;
  width:calc(100% - 40px);
  margin:0 20px;
  text-align: left;
}
.wrap_border01 p.title,
.wrap_help_border01 p.title{
  display:block;
  width:100%;
  margin:0;
  text-align: left;
  border-bottom: 1px solid var(--border01);
  
  padding:10px;
}
.wrap_border01 ul,
.wrap_help_border01 ul{
  display:block;
  width:calc(100% - 40px);
  margin:0 20px;
  text-align: left;

  padding: 0.5em 1em 0.5em 1em;
  position: relative;
}
.wrap_border01 ul li,
.wrap_help_border01 ul li {
  display:glid;
  grid-template-columns: 50px calc(100% - 50px);
  padding: 0.8em 0;
  line-height: 130%;
}
.wrap_border01 ul li i,
.wrap_help_border01 ul li i {
  color: var(--main);
  /* margin-right: 0.5em; */
}
.wrap_border01 ul li span,
.wrap_help_border01 ul li span {
  line-height:1;
}

.wrap_grid01{
  display: grid;
  width:100%;
  text-align: right;
  grid-template-columns: calc(200px + 10px + 44px) + calc(10px + 44px);
}
.wrap_flex01.mini{
  position:relative;
  display: flex;
  width:calc(100% - 20px);
  text-align: right;
  justify-content: end;
  margin:0 10px;
}
.wrap_flex02.mini{
  position:relative;
  display: flex;
  width:calc(100% - 70px);
  justify-content: start;
  margin:0;
}

.wrap_guide_border01 {
  display: block;
  width: (100% - 20px);
  max-width: 1200px;
  margin: 0 10px;
  height: auto;
  border: 1px solid var(--border01);
  border-radius: 6px;
  overflow: hidden;
}


.wrap_border02{
  display:block;
  width:(100% - 20px);
  margin:0 20px;

  height:auto;
  border:1px solid var(--border01);
  border-radius: 6px;
  overflow: hidden;
}

.wrap_chat01{
  position:relative;
  display:block;
  width:calc(100% - 20px);
  margin:0 10px;

  height:auto;
  /* border:1px solid var(--border01); */
  border-radius: 6px;
  /* overflow: hidden; */
  /* border:none; */
  /* height:calc(100dvh - 260px); */
  min-height:calc(100dvh - 30px);
  overflow-x:hidden;
  overflow-y:auto;
  /*IE(Internet Explorer)・Microsoft Edgeへの対応*/
  -ms-overflow-style: none;
  /*Firefoxへの対応*/
  scrollbar-width: none;
}
 /*Google Chrome、Safariへの対応*/
 .contents_box::-webkit-scrollbar{
  display: none;
}


.wrap_cal{
  display:block;
  width:calc(100% - 20px);
  margin:0 10px;

  height:auto;
  /* border:1px solid var(--border01); */
  /* border-radius: 6px; */
  overflow: hidden;

  /* border-width:2px; */
}




/*コンファーム（ダイアログ）*/
.confirm_wrap{
  width:0;
  height:0;
  display: none;
}
.confirm_box{
  width:0;
  height:0;
  display:none;
}
.confirm_box .confirm_content {
  width: 0;
  height: 0;
}
.confirm_box .confirm_footer {
  height: 0;
}
.confirm_box .confirm_btn {
  display: none;
  width: 0;
  height: 0;
  overflow: hidden;
}

.confirm_wrap.active{
  width:100%;
  height:100%;
  display: inline-block;
  background:rgba(0,0,0,.6);
  position:fixed;
  top:0;
  left:0;
  z-index: 9999;
}

.confirm_box.active{
  display:inline-block;
  position:relative;
  width:80%;
  max-width:500px;
  height:auto;
  max-height:600px;
  min-height: 360px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 3px 15px rgba(0,0,0,.4), 0 0 5px rgba(0,0,0,.4);

  opacity: 1;
  z-index: 10000;

  /* inset: 0;
  margin: 0 auto; */

  margin: 50dvh auto 0;
  transform: translateY(-50%);
  text-align: center;
}
.confirm_box.active .confirm_content {
  width:100%;
  max-width: 500px;
  /* min-width: 360px; */
  height: auto;
  text-align: center;
  
  padding: 15px 20px;
  position:relative;
  /* position:absolute;
  left:0;
  bottom:46px; */
}
.confirm_box.active .confirm_content img{
  display:block;
  width:80%;
  margin:30px auto;
  height:auto;
  text-align: center;
  position:relative;
}
.confirm_box.active .confirm_content p{
  display:block;
  text-align: left;
  position:relative;
}
  .confirm_box.active .confirm_footer {
    display: flex;
    width:100%;
    margin:0;
    padding:0;
    position:relative;
    /* left:0;
    bottom:0; */
    height: 46px;
  }
  .confirm_box.active .confirm_btn {
    display: inline-block;
    cursor: pointer;
    text-align: center;
    width: 50%;
    line-height: 46px;
    height: 46px;
    overflow: hidden;
    padding: 0 10px;
    transition: color .2s,background-color .2s;
    box-sizing: border-box;

    position: absolute;
    
    bottom:0;

}
.confirm_box.active .confirm_btn.ng {
  border-bottom-left-radius: 4px;
  background: var(--border01);
  color: #666;
  left: 0;
}
.confirm_box.active .confirm_btn.ok {
  border-bottom-right-radius: 4px;
  background: var(--main);
  color: #fff;
  transition: all 0.2s linear;
  right:0;
}




/*コンファーム（ダイアログ）*/
.confirm_wrap{
  width:0;
  height:0;
  display: none;
}
.confirm_box{
  width:0;
  height:0;
  display:none;
}
.confirm_box .confirm_content {
  width: 0;
  height: 0;
}
.confirm_box .confirm_footer {
  height: 0;
}
.confirm_box .confirm_btn {
  display: none;
  width: 0;
  height: 0;
  overflow: hidden;
}

.confirm_wrap.active{
  width:100%;
  height:100%;
  display: inline-block;
  background:rgba(0,0,0,.6);
  position:fixed;
  top:0;
  left:0;
  z-index: 9999;
}

.confirm_box.active{
  display:inline-block;
  position:relative;
  width:80%;
  max-width:500px;
  height:auto;
  max-height:600px;
  min-height: 360px;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 3px 15px rgba(0,0,0,.4), 0 0 5px rgba(0,0,0,.4);

  opacity: 1;
  z-index: 10000;

  /* inset: 0;
  margin: 0 auto; */

  margin: 50dvh auto 0;
  transform: translateY(-50%);
  text-align: center;
}
.confirm_box.active .confirm_content {
  width:100%;
  max-width: 500px;
  /* min-width: 360px; */
  height: auto;
  text-align: center;
  
  padding: 15px 20px;
  position:relative;
  /* position:absolute;
  left:0;
  bottom:46px; */
}
.confirm_box.active .confirm_content img{
  display:block;
  width:80%;
  margin:30px auto;
  height:auto;
  text-align: center;
  position:relative;
}
.confirm_box.active .confirm_content p{
  display:block;
  text-align: left;
  position:relative;
}
  .confirm_box.active .confirm_footer {
    display: flex;
    width:100%;
    margin:0;
    padding:0;
    position:relative;
    /* left:0;
    bottom:0; */
    height: 46px;
  }
  .confirm_box.active .confirm_btn {
    display: inline-block;
    cursor: pointer;
    text-align: center;
    width: 50%;
    line-height: 46px;
    height: 46px;
    overflow: hidden;
    padding: 0 10px;
    transition: color .2s,background-color .2s;
    box-sizing: border-box;

    position: absolute;
    
    bottom:0;

}
.confirm_box.active .confirm_btn.ng {
  border-bottom-left-radius: 4px;
  background: var(--border01);
  color: #666;
  left: 0;
}
.confirm_box.active .confirm_btn.ok {
  border-bottom-right-radius: 4px;
  background: var(--main);
  color: #fff;
  transition: all 0.2s linear;
  right:0;
}



/*アラート（ダイアログ）*/
.alert_wrap{
  width:0;
  height:0;
  display: none;
}
.alert_box{
  width:0;
  height:0;
  overflow: hidden;
  display:none;
}
.alert_box .alert_content {
  width: 0;
  height: 0;
}
.alert_box .alert_footer {
  height: 0;
}
.alert_box .alert_btn {
  display: none;
  width: 0;
  height: 0;
  overflow: hidden;
}

.alert_wrap.active{
  width:100%;
  height:100%;
  display: inline-block;
  background:rgba(0,0,0,.6);
  position:fixed;
  top:0;
  left:0;
  z-index: 9999;
}

.alert_box.active{
  display:inline-block;
  position:relative;
  width:0;
  max-width:500px;
  height:auto !important;
  min-height:calc(46px + 100px) !important;
  max-height:800px;
  min-height: 0;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 3px 15px rgba(0,0,0,.4), 0 0 5px rgba(0,0,0,.4);

  opacity: 1;
  z-index: 10000;

  /* inset: 0;
  margin: 0 auto; */

  margin: 50dvh auto 0;
  transform: translateY(-50%);
  text-align: center;

  animation-name: dialog_open;
  animation-duration: 0.5s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;

  overflow-y: auto;
  scrollbar-width: none;
}
@keyframes dialog_open {
   0% {
      width: 0;
      height: 0;
   }
   100% {
      width: 80%;
      height: 600px;
      min-height: 360px;

   }
}

.alert_box.active .alert_content {
  width:100%;
  max-width: 500px;
  /* min-width: 360px; */
  height: auto;
  text-align: center;
  
  padding: 15px 20px;
  position:relative;
  /* position:absolute;
  left:0;
  bottom:46px; */
}
.alert_box.active .alert_content img{
  display:block;
  width:80%;
  margin:30px auto;
  height:auto;
  text-align: center;
  position:relative;
}
.alert_box.active .alert_content p{
  display:block;
  text-align: left;
  position:relative;
}
  .alert_box.active .alert_footer {
    display: flex;
    width:100%;
    margin:0;
    padding:0;
    position:sticky;
    left:0;
    bottom:0;
    height: 46px;
  }
  .alert_box.active .alert_btn {
    display: inline-block;
    cursor: pointer;
    text-align: center;
    width: 50%;
    line-height: 46px;
    height: 46px;
    overflow: hidden;
    padding: 0 10px;
    transition: color .2s,background-color .2s;
    box-sizing: border-box;

    position: absolute;
    
    bottom:0;

}
.alert_box.active .alert_btn.ng {
  border-bottom-left-radius: 4px;
  background: var(--border01);
  color: #666;
  left: 0;
}
.alert_box.active .alert_btn.ok {
  border-bottom-right-radius: 4px;
  background: var(--main);
  color: #fff;
  transition: all 0.2s linear;
  right:0;
}

ul.check_list{
  position:relative;
  display:block;
  text-align: left;
  overflow-y:none;
  overflow-x: auto;
}






/*写真アルバム（ダイアログ）*/
.photo_wrap{
  width:0;
  height:0;
  display: none;
}
.photo_box{
  width:0;
  height:0;
  overflow: hidden;
  display:none;
}
.photo_box .photo_content {
  width: 0;
  height: 0;
}
.photo_box .photo_footer {
  height: 0;
}
.photo_box .photo_btn {
  display: none;
  width: 0;
  height: 0;
  overflow: hidden;
}

.photo_wrap.active{
  width:100%;
  height:100%;
  display: inline-block;
  background:rgba(0,0,0,.6);
  position:fixed;
  top:0;
  left:0;
  z-index: 9999;
}


.photo_box.active{
  display:inline-block;
  position:relative;
  width:640px !important;
  max-width:640px;
  height:526px !important;
  max-height:526px;
  min-height: 375px !important;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 3px 15px rgba(0,0,0,.4), 0 0 5px rgba(0,0,0,.4);

  opacity: 1;
  z-index: 10000;

  /* inset: 0;
  margin: 0 auto; */

  margin: 50dvh auto 0;
  transform: translateY(-50%);
  text-align: center;

  animation-name: photo_open;
  animation-duration: 0.5s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
@keyframes photo_open {
   0% {
      width: 0;
      height: 0;
   }
   100% {
      width: 80%;
      height: 600px;
      min-height: 360px;

   }
}

.photo_box.active .photo_content {
  width:100%;
  max-width: 500px;
  /* min-width: 360px; */
  height: auto;
  text-align: center;
  
  /* padding: 15px 20px; */
  padding: 0;
  position:relative;
  /* position:absolute;
  left:0;
  bottom:46px; */
}
.photo_box.active .photo_content img{
  display:block;
  /* width:80%; */
  width:100%;
  /* margin:30px auto; */
  margin:0 auto;
  height:auto;
  text-align: center;
  position:relative;
}
.photo_box.active .photo_content p{
  display:block;
  text-align: left;
  position:relative;
}
  .photo_box.active .photo_footer {
    display: flex;
    width:100%;
    margin:0;
    padding:0;
    position:absolute;
    left:0;
    bottom:0;
    height: 46px;
  }
  .photo_box.active .photo_btn {
    display: inline-block;
    cursor: pointer;
    text-align: center;
    width: 100%;
    line-height: 46px;
    height: 46px;
    overflow: hidden;
    padding: 0 10px;
    transition: color .2s,background-color .2s;
    box-sizing: border-box;

    position: absolute;
    
    bottom:0;

}
.photo_box.active .photo_btn.ng {
  border-bottom-left-radius: 4px;
  background: var(--border01);
  color: #666;
  left: 0;
}
.photo_box.active .photo_btn.ok {
  border-bottom-right-radius: 4px;
  background: var(--main);
  color: #fff;
  transition: all 0.2s linear;
  right:0;
}

ul.check_list{
  position:relative;
  display:block;
  text-align: left;
  overflow-y:none;
  overflow-x: auto;
}






/* AI（ダイアログ）*/
.ai_wrap{
  width:0;
  height:0;
  display: none;
}
.ai_box{
  width:0;
  height:0;
  display:none;
  overflow: hidden;
}
.ai_box .ai_content {
  width: 0;
  height: 0;
}
.ai_box .ai_footer {
  height: 0;
}
.ai_box .ai_btn {
  display: none;
  width: 0;
  height: 0;
  overflow: hidden;
}

.ai_wrap.active{
  width:100%;
  height:100%;
  display: inline-block;
  background:rgba(0,0,0,.6);
  position:fixed;
  top:0;
  left:0;
  z-index: 9999;
}

.ai_box.active{
  display:inline-block;
  position:relative;
  width:0;
  max-width:500px;
  height:0;
  max-height:600px;
  min-height: 0;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 3px 15px rgba(0,0,0,.4), 0 0 5px rgba(0,0,0,.4);

  opacity: 1;
  z-index: 10000;

  /* inset: 0;
  margin: 0 auto; */

  margin: 50dvh auto 0;
  transform: translateY(-50%);
  text-align: center;

  animation-name: ai_open;
  animation-duration: 0.5s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
@keyframes ai_open {
   0% {
      width: 0;
      height: 0;
   }
   100% {
      width: 80%;
      height: 600px;
      min-height: 360px;

   }
}

.ai_box.active .ai_content .active{
  width:100%;
  max-width: 500px;
  /* min-width: 360px; */
  height: auto;
  text-align: center;
  
  padding: 15px 20px;
  position:relative;
  /* position:absolute;
  left:0;
  bottom:46px; */
}
.ai_box.active .ai_content {
  display:none;
}
.ai_box.active .ai_content img{
  display:block;
  width:80%;
  margin:30px auto;
  height:auto;
  text-align: center;
  position:relative;
}
.ai_box.active .ai_content p{
  display:block;
  text-align: left;
  position:relative;
}
.ai_box.active .ai_footer {
  display: flex;
  width:100%;
  margin:0;
  padding:0;
  position:absolute;
  left:0;
  bottom:0;
  height: 46px;
}
.ai_box.active .ai_btn {
  display: inline-block;
  cursor: pointer;
  text-align: center;
  width: 50%;
  line-height: 46px;
  height: 46px;
  overflow: hidden;
  padding: 0 10px;
  transition: color .2s,background-color .2s;
  box-sizing: border-box;

  position: absolute;
  
  bottom:0;
}
.ai_box.active .ai_btn.ng {
  border-bottom-left-radius: 4px;
  background: var(--border01);
  color: #666;
  left: 0;
}
.ai_box.active .ai_btn.ok {
  border-bottom-right-radius: 4px;
  background: var(--main);
  color: #fff;
  transition: all 0.2s linear;
  right:0;
}




/* 検索（ダイアログ）*/
.search_wrap{
  width:0;
  height:0;
  display: none;
}
.search_box{
  width:0;
  height:0;
  display:none;
  overflow: hidden;
}
.search_box .search_content {
  width: 0;
  height: 0;
}
.search_box .search_footer {
  height: 0;
}
.search_box .search_btn {
  display: none;
  width: 0;
  height: 0;
  overflow: hidden;
}

.search_wrap.active{
  width:100%;
  height:100%;
  display: inline-block;
  background:rgba(0,0,0,.6);
  position:fixed;
  top:0;
  left:0;
  z-index: 9999;
}

.search_box.active{
  display:inline-block;
  position:relative;
  width:0;
  max-width:500px;
  height:0;
  max-height:600px;
  min-height: 0;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 3px 15px rgba(0,0,0,.4), 0 0 5px rgba(0,0,0,.4);

  opacity: 1;
  z-index: 10000;

  /* inset: 0;
  margin: 0 auto; */

  margin: 50dvh auto 0;
  transform: translateY(-50%);
  text-align: center;

  animation-name: search_open;
  animation-duration: 0.5s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
@keyframes search_open {
   0% {
      width: 0;
      height: 0;
   }
   100% {
      width: 80%;
      height: 110px;
      min-height: 110px;

   }
}

.search_box.active .search_content .active{
  width:100%;
  max-width: 500px;
  /* min-width: 360px; */
  height: auto;
  text-align: center;
  
  padding: 15px 20px;
  position:relative;
  /* position:absolute;
  left:0;
  bottom:46px; */
}
.search_box.active .search_content {
  display:block;
  width:100%;
  height:64px;
  padding:10px;
}
.search_box.active .search_content img{
  display:block;
  width:80%;
  margin:30px auto;
  height:auto;
  text-align: center;
  position:relative;
}
.search_box.active .search_content p{
  display:block;
  text-align: left;
  position:relative;
}
.search_box.active .search_footer {
  display: flex;
  width:100%;
  margin:0;
  padding:0;
  position:absolute;
  left:0;
  bottom:0;
  height: 46px;
}
.search_box.active .search_btn {
  display: inline-block;
  cursor: pointer;
  text-align: center;
  width: 50%;
  line-height: 46px;
  height: 46px;
  overflow: hidden;
  padding: 0 10px;
  transition: color .2s,background-color .2s;
  box-sizing: border-box;

  position: absolute;
  
  bottom:0;
}
.search_box.active .search_btn.ng {
  border-bottom-left-radius: 4px;
  background: var(--border01);
  color: #666;
  left: 0;
}
.search_box.active .search_btn.ok {
  border-bottom-right-radius: 4px;
  background: var(--main);
  color: #fff;
  transition: all 0.2s linear;
  right:0;
}
input.search {
  position: relative;
  height:44px;
  border: 2px solid #000;
  border-radius: 6px;
  background: rgba(0,0,0,0.02);
  display: inline-block;
  overflow: hidden;
  /* margin: 0 auto; */
  text-align: left;
  position: relative;
  box-sizing: border-box;
  padding: 8px 38px 8px 8px;
  color: #000;
  
  font-size: 80%;
  width: 100%;
  /* max-width:200px; */
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  box-shadow:2px 2px 2px rgba(0,0,0,0.4) inset;
}





/*リストメニュー（ダイアログ）*/
#list-wrap{
  width:0;
  height:0;
  display: none;
}





/*写真アップロード*/
/* .upload_input{display: none;} */
#bt-file-03{
  padding: 4px 8px;
  border: none;
  background-color: #3498DB;
  color: #fff;
}
#bt-file-03:hover{
  background-color: #2980B9;
}
#bt-file-03.s-dragover{
  background-color: #2980B9;
}
.dropzone{
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  min-height:300px;
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  /* border: 3px dashed #aaa; */
  /* border-radius: 8px; */
  background-color: var(--notice_rgb10);
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
}
.dropzone.s-dragover{
  /* border-color: #3498DB; */
  background-color: var(--main_rgb50);
  color: var(--main);
  width:100%;
  height:100%;
}


/*ファイルアップロード*/
input[type='file'].upload_file01 {
  cursor: pointer;
  /* border: 1px solid rgb(191, 194, 199); */
  /* border-radius: 0.375rem; */
  /* padding-right: 0.5rem; */

  border: 2px solid #000;
  background: #fff;
  display: inline-block;

  margin: 0.2em auto;
  text-align: left;
  position: relative;
  box-sizing: border-box;
  /* padding: 8px 38px 8px 8px; */
  color: #000;
  border-radius: 6px;
  font-size: 100%;
  width: 100%;
  height: 60px;

  height: 60px;
  padding-right: 1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.4) inset;
  overflow: hidden;
  /* line-height: 60px; */
}

input[type='file'].upload_file01::file-selector-button,
input[type='file'].upload_file01::-webkit-file-upload-button {
  /* background-color: rgb(209, 213, 219); */
  color: #000;
  border: none;
  border-right: 2px solid #000;
  cursor: pointer;

  padding: 0.25rem 1rem;
  margin-right: 1rem;
  height: 60px;
  box-shadow: 2px 0 2px rgba(0, 0, 0, 0.4);
  background: -webkit-gradient(linear, left bottom, left top, from(var(--notice_heavy)), to(var(--notice_main)));
  background: -webkit-linear-gradient(bottom, var(--notice_heavy) 0%, var(--notice_main) 100%);
  background: linear-gradient(to top, var(--notice_heavy) 0%, var(--notice_main) 100%);
}
input[type='file'].upload_file01:hover::file-selector-button,
input[type='file'].upload_file01:hover::-webkit-file-upload-button,
input[type='file'].upload_file01.dragging::file-selector-button,
input[type='file'].upload_file01.dragging::-webkit-file-upload-button {
  opacity: 0.7;
}







.left{text-align:left;}
.right{text-align:right;}

.invisible{
  display:none;
}

div#menu-left-btn{
  display:none;
}
div#body-wrap{
  display:none;
}


.no_spin::-webkit-inner-spin-button,
.no_spin::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
    -moz-appearance:textfield;
}
input[type="number"].no_spin {
  padding:8px;
  text-align:right;
}


ul.photo_list{
  position:relative;
  display:flex;
  flex-wrap:wrap;
  list-style:none;
  margin:0;
  padding:0;
  width:100%;
}
ul.photo_list li{
  position:relative;
  display:inline-block;
  /* line-height:180px; */
  background:#fff;
  text-align:center;
  border:1px solid var(--border01);
  border-radius: 6px;
  overflow: hidden;
  padding:0;
  margin-top:10px;
  margin-left:10px;
  width: calc((100% - (1px * 2 * 4) - (10px * (4 + 1))) / 4);
  /* min-width:200px; */
}
ul.photo_list li img{
  position:relative;
  width:100%;
  height:auto;
  margin:0;
  background:#fff;
  object-fit:cover;
}

ul.photo_list li .no_badge{
  position:absolute;
  display:inline-block;
  top:5px;
  left:5px;
  width:30px;
  height:30px;
  background:var(--main);
  border:1px solid #000;
  color:#fff;
  text-align:center;
  vertical-align: middle;
  border-radius: 3px;
  overflow: hidden;
  font-size: 80%;
  line-height: 26px;
}

ul.photo_list li .del_btn{
  position:absolute;
  display:inline-block;
  top:5px;
  right:5px;
  width:30px;
  height:30px;
  background:#fff;
  border:1px solid #000;
  color:#000;
  text-align:center;
  vertical-align: middle;
  border-radius: 3px;
  overflow: hidden;

}
ul.photo_list li .del_btn i{
  position:absolute;
  top:0;
  left:0;
  display:inline-block;
  width:100%;
  height:100%;
  margin:0;
  padding-top:2px;
  color:#ddd;
  cursor: pointer;
}
ul.photo_list li.plist_screen{
  position: absolute;
  display:block;
  top:0;
  left:0;
  padding: 0;
  margin: 0;
  background: rgba(255,255,255,0.3);
  border: none;
  z-index: 0;
}
ul.photo_list li.plist_screen.active{
  width: 100%;
  height: 100%;
  z-index: 5;
}

p.message{
  width:100%;
  font-size:50%;
  text-align:left;
  padding-bottom:10px;
}
p.message a{
  color:var(--notice);
  text-decoration: underline;
}


/*アイコン重ね*/
i.stack1{
  /*下*/
  font-size:120%;
  line-height:26px;
}
i.stack2{
  /*上*/
  font-size:76%;
  line-height:36px;
  color:#fff;
}



/*一般*/
.notice {
  color:var(--notice);
  font-size:80%;
  /* font-weight:400; */
  /* text-decoration: underline; */
}
.new1 {
  display:inline-block;
  height:16px;
  padding:0 6px;
  margin:0 6px 0 0;
  border-radius: 8px;
  background-color:var(--notice);
  font-size:70%;
  color:#fff;
}



/*アニメーション*/
/*左右回転*/
.anime01{
  width:50dvw;
  max-width: 300px;
  animation-name: sayu30;
  transform: rotate(10deg);
  animation-duration: 1s;
  animation-iteration-count: infinite;
}
@keyframes sayu30 {
  50% {transform: rotate(-10deg);}
  100% {transform: rotate(10deg);}
}

/*ぱっつん*/
.anime02{
  width:50dvw;
  max-width: 300px;
  animation: patsun 2s infinite;
}
@keyframes patsun {
  0% {transform: rotateZ(0deg);}
  22% {transform: rotateZ(0deg);}
  24% {transform: translate(-2px, -10px) rotateZ(-18deg) scale(0.8, 1.3);}
  26% {transform: rotateZ(0deg) scale(1, 1.1);}
  28% {transform: translate(0px, -2px) rotateZ(-2deg);}
  30% {transform: rotateZ(0deg);}
  32% {transform: translate(0px, -2px) rotateZ(-2deg);}
  33% {transform: rotateZ(0deg);}
  34% {transform: translate(0px, -2px) rotateZ(-2deg);}
  35% {transform: rotateZ(0deg);}
  36% {transform: translate(0px, -2px) rotateZ(-2deg);}
  37% {transform: rotateZ(0deg);}
  38% {transform: translate(0px, -2px) rotateZ(-2deg);}
  39% {transform: rotateZ(0deg);}
  100% {transform: rotateZ(0deg);}
}

/*ぶるぶる*/
.anime03{
  width:50dvw;
  max-width: 300px;
  animation: purupuru 0.3s infinite;
  animation-iteration-count: infinite;
}
@keyframes purupuru {
  0% {transform: scale(1, 1);}
  50% {transform: scale(0.98, 0.95)}
}



.box_left01{
  position: relative;
  display: inline-block;
  width:60%;
  /* max-width:300px; */
  min-width:100px;
  font-size:80%;
  text-align: right;
  margin-right:10px;
}
.box_right01{
  position: relative;
  display: inline-block;
  width:calc(40% - 10px);
  font-size:80%;
  text-align: right;
}
.box_left5050{
  position: relative;
  display: inline-block;
  width:50%;
  /* max-width:300px; */
  min-width:100px;
  font-size:80%;
  text-align: right;
  margin-right:10px;
}
.box_right5050{
  position: relative;
  display: inline-block;
  width:calc(50% - 10px);
  font-size:80%;
  text-align: right;
}
.box_left4060{
  position: relative;
  display: inline-block;
  width:40%;
  /* max-width:300px; */
  min-width:100px;
  font-size:80%;
  text-align: right;
  margin-right:10px;
}
.box_right4060{
  position: relative;
  display: inline-block;
  width:calc(60% - 10px);
  font-size:80%;
  text-align: right;
}
.box_left3070{
  position: relative;
  display: inline-block;
  width:30%;
  /* max-width:300px; */
  min-width:50px;
  font-size:80%;
  text-align: right;
  margin-right:10px;
}
.box_right3070{
  position: relative;
  display: inline-block;
  width:calc(70% - 10px);
  font-size:80%;
  text-align: right;
}
.circle_num{
  counter-increment: item;
  content: counter(item);
  width: 36px;
  min-width: 36px;
  height: 36px;
  min-height: 36px;
  display: inline-block;
  border-radius: 50%;
  font-size: 70%;
  color: #fff;
  line-height: 36px;
  text-align: center;
  vertical-align: baseline;
  background: var(--light);
  margin-right: 1em;
}

.numsquare{
  display:inline-block;
  position: relative;
  top: 50%;
  background:var(--light);
  width:24px;
  height:24px;
  /* line-height:24px; */
  vertical-align: middle;
  text-align:center;
  /* font-weight:bold; */
  border-radius:4px;
  color:#fff;
}

.bg_bar{
  background-image: url("../images/common/bar_left01.gif");
  background-repeat: no-repeat, no-repeat;
  background-size: 100%;
}

.wrap_inner_notice01{
  position: relative;
  display:flex;
  justify-content: flex-start;
  width:100%;
}

.wrap_inner_notice01 .img{
  position: relative;
  display:block;
  width:100px;
  height:60px;
  overflow:hidden;
}
.wrap_inner_notice01 img{
  width:60px;
  height:60px;
}

.wrap_inner_notice01 .txt{
  position: relative;
  display:table-cell;
  /* width:calc(100% - 100px); */
  width:auto;
  height:auto;
  font-size:80%;
  text-align:left;
  vertical-align: middle;
  padding:0.6rem;
  /* border: 1px solid var(--border01); */
  background:var(--bg_notice_rgb30);
  border-radius: 10px;
}
.wrap_inner_notice01 .txt:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid var(--bg_notice_rgb30);
}

.wrap_inner_notice02{
  position: relative;
  display:block;
  text-align: left;
  width:100%;
  font-size:80%;
  background:var(--bg_notice_rgb30);
  border:1px solid var(--border01);
  border-radius: 6px;
  padding-top:10px;
  padding-bottom:10px;
  margin-top:10px;
  margin-bottom:10px;
}
.wrap_inner_notice02.top:before {
  content: "";
  position: absolute;
  top: -24px;
  right: 92px;
  margin-left: -15px;
  border: 12px solid transparent;
  border-bottom: 12px solid var(--bg_notice_rgb);
  z-index: 2;
}

.wrap_inner_notice02.top:after {
  content: "";
  position: absolute;
  top: -28px;
  right: 90px;
  margin-left: -17px;
  border: 14px solid transparent;
  border-bottom: 14px solid var(--border01);
  z-index: 1;
}

.namecard{
  /* display:block; */
  width:100%;
  height:100%;
  min-height:100vh;
  text-align:center;
  background:#fff;
}

.namecard-top{
  position:relative;
  display:block;
  width:100%;
  padding:0.2em;
  /* height:100dvh; */
  text-align:center;
  background:#000;
  color:#fff;
  font-size:70%;
}
.namecard-school{
  background:#0099ff;
  width:100%;
  padding:1em;
}
.namecard-school .area{
  font-size:1.2em;
  font-weight:bold;
  white-space: nowrap;
  display:inline-block;
}
.namecard-school .schoolname{
  /* margin-top:10px; */
  font-size:1.4em;
  font-weight:bold;
  white-space: nowrap;
  display:inline-block;
}
.namecard-body{
  /* background:#fff; */
  width:100%;
  padding:1em;
}
.namecard-body .position{
  position:relative;
  font-size:1.2em;
  font-weight:bold;
  white-space: nowrap;
  display:inline-block;
  box-sizing: border-box;
}
.namecard-body .name{
  position:relative;
  margin-top:10px;
  margin-right:10px;
  margin-left:10px;
  font-size:2em;
  font-weight:bold;
  white-space: nowrap;
  display:inline-block;
  box-sizing: border-box;
}
.namecard .url{
  margin-top:10px;
}




canvas.read {
  position:relative;
  
  width: 100%;
  height: auto;
}


.badge-wrap{
  position:relative;
  display:inline-block;
  height:100%;
  vertical-align: middle;
  margin:0;
  padding:0;
}
.badge{
  position:relative;
  display:block;
  width:auto;
  height:30px;
  line-height:30px;
  padding:0 0.8em;
  margin-right:10px;
  background:#666;
  font-size:60%;
  color:#fff;
  border-radius: 15px;
  margin-top: -8px;
}




.wrap_panel01{
  position:absolute;
  top:0;
  left:0;
  display:block;
  width:100%;
  height:100dvh;
  text-align:center;
}




/*チャット*/
.line-bc {
  /* padding: 20px 10px; */
  /* max-width: 450px;
  margin: 15px auto; */
  text-align: right;
  /* font-size: 14px; */
  background: #7da4cd;

}

/*以下、日付の区切りブロック*/
.date-bar {
  position:relative;
  display:flex;
  width:calc(100% - 10px);
  height:30px;
  margin:30px 10px 20px;
}
.date-bar::before {
	content: "";
  position: absolute; /*--positionを追加--*/
	top: 20px;
	left: 0;
	/* margin: 0 1rem; */
	width: 100%; /*--縦線の太さ(幅)--*/
	height: 2px;
	background-color: #eee; /*--縦線の色--*/
}
.btn-today{
  position: absolute;
  display: inline-block;
  width: 120px;
  height:40px;
  border-radius:20px;
  border:1px solid #eee;
  text-align: center;
  line-height:38px;
  font-size:12pt;
  background:#eee;
  color:#000;
  left: calc(50% - 60px);
  box-sizing: border-box;
}
.btn-date{
  position: absolute;
  display: inline-block;
  box-sizing: border-box;
  width: 40px;
  height:40px;
  border-radius:20px;
  border:1px solid #eee;
  text-align: center;
  line-height:38px;
  font-size:12pt;
  background:#fff;
  color:#eee;
  cursor:pointer;
}
.btn-date.prev{
  /* position:absolute; */
  right:70px;
}
.btn-date.next{
  /* position:absolute; */
  right:20px;
}


/*以下、②左側のコメント*/
.selif {
  width: 100%;
  margin: 10px 0;
  overflow: hidden;
}

.selif .faceicon {
  float: left;
  margin-right: -50px;
  width: 40px;
}

.selif .faceicon img{
  width: 100%;
  height: auto;
  border-radius: 8px;
}
.selif .chatting {
  width: 100%;
  text-align: left;
}
.says {
  display: inline-block;
  position: relative; 
  margin: 0 0 0 50px;
  padding: 10px;
  max-width: 350px;
  border-radius: 12px;
  background: #edf1ee;
}

.says:after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 3px; 
  left: -19px;
  border: 8px solid transparent;
  border-right: 18px solid #edf1ee;
  -webkit-transform: rotate(35deg);
  transform: rotate(35deg);
}
.says p {
  margin: 0;
  padding: 0;
}

/*以下、③右側の緑コメント*/
.mycomment {
  margin: 10px 0 20px;
  text-align: right;
}
.mycomment p {
  display: inline-block;
  position: relative; 
  margin: 0 10px 0 0;
  padding: 8px;
  /* max-width: 350px; */
  max-width: 70%;
  border-radius: 12px;
  /* background: #30e852; */
  background: var(--notice_main);
}

.mycomment p:after {
  content: "";
  position: absolute;
  top: 3px; 
  right: -19px;
  border: 8px solid transparent;
  /* border-left: 18px solid #30e852; */
  border-left: 18px solid var(--notice_main);
  -webkit-transform: rotate(-35deg);
  transform: rotate(-35deg);
}
.chat_date{
	margin-top:13px;
  margin-bottom: 6px;
	font-size: 13px;
	font-weight: 300;
	line-height: 1;
  color:#666;
}
.chat_date.right{
text-align:right;
}
.chat_date.left{
text-align:left;
}
i.mini_icon {
  color:var(--usr_main);
  margin-left:10px;
  margin-right:2px;
}

.box_news {
  box-sizing: border-box;
  width: 100%;
  flex-shrink: 1;
  /* padding-left: 0px;
  padding-right: 0px; */
  padding:16px 0;
  display: flex;
  flex-direction: column;
  /* align-items: center; */
  align-items:flex-start;
  position: relative;
  unicode-bidi: isolate;
  text-align: left;
  visibility: inherit;
  font-size: 14px;
  font-family: Arial, sans-serif;
  /* color: var(--COEmY); */
  
}
.box_news a.box_news_link {
  box-sizing: border-box;
  width: 100%;
  max-width: 792px;
  flex-shrink: 1;
  display: flex;
  flex-direction: row;
  /* align-items: center; */
  align-items:flex-start;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.101961);
  position: relative;
  text-decoration: none;
}
.box_news_left {
  box-sizing: border-box;
  width: 25%;
  height: 100%;
  flex-shrink: 1;
  padding-left: 10px;
  padding-right: 10px;
  display: flex;
  flex-direction: column;
  position: relative;

  
}
.photo_wrap {
  border-radius: 16px;
  height: 100%;
  overflow: hidden;
  display: flex;
  justify-content:center;
}
.box_news_left img {
  height: 100%;
  width: auto;
  max-height: 170px;
  /* max-width: 170px; */
  min-height: 150px;
  min-width: 150px;

  display: block;
  object-fit: cover;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.101961);
}
.box_news_right {
  box-sizing: border-box;
  width: 75%;
  flex-shrink: 1;
  padding-left: 10px;
  padding-right: 10px;
  display: flex;
  flex-direction: column;
  position: relative;
  
}
.box_news_right_title {
  font-size: 20px;
  font-family: Google Sans;
  color: rgba(31, 31, 31, 1.000000);
  font-weight: 500;
  line-height: 26px;
  overflow: hidden;
  word-break: break-word;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.box_news_right_body {
  box-sizing: border-box;
  flex-shrink: 1;
  margin-top: 8px;
  flex-direction: column;
  position: relative;

  font-size: 14px;
  font-family: Roboto;
  color: rgba(71, 71, 71, 1.000000);
  font-weight: 400;
  line-height: 20px;
  overflow: hidden;
  word-break: break-word;
  /* line-height: 0; */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;

}
.box_news_right_bottom {
  box-sizing: border-box;
  flex-shrink: 1;
  align-self: flex-start;
  display: flex;
  /* flex-direction: column; */
  position: relative;
  width:100%;
  flex-direction: row;
  padding-top:20px;
}
.box_news_right_bottom_mark {
  box-sizing: border-box;
  flex-shrink: 1;
  /* padding-right: 8px; */
  margin-right: 8px;
  display: flex;
  flex-direction: column;
  position: relative;
  /* height: 100%; */
  border-radius: 50%;
  overflow: hidden;
  display: block;
  unicode-bidi: isolate;
  width:16px;
  height:16px;
}
.box_news_right_bottom_mark img {
  /* width: 100%; */
  display: block;
  object-fit: fill;
  /* height: 100%; */
  width: 16px;
  height: 16px;

  overflow-clip-margin: content-box;
  overflow: clip;
  
}
.box_news_right_bottom_time {
  box-sizing: border-box;
  /* flex-grow: 1;
  flex-shrink: 1; */
  display: inline-block;
  /* flex-direction: column; */
  position: relative;
  font-size:80%;
  width:auto;
  margin-right:5%;
}
.box_news_right_bottom_org {
  box-sizing: border-box;
  /* flex-grow: 1;
  flex-shrink: 1; */
  display: inline-block;
  /* flex-direction: column; */
  position: relative;
  font-size:80%;
  width:auto;
  margin-right:5%;
}
.button_kebabu {
  background: none;
    border: none;
    /* color: var(--IXoxUe); */
    cursor: pointer;
  margin: 0;
    padding: 0;
    position: relative;
    right: 0;
  height: 16px;
  width: 16px;
  /* border-radius: 50%; */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size:80%;
}

/*アンダーライン付き（dd:普通文字）*/
.dl01{
  position:relative;
  display:block;
  box-sizing: border-box;
  width:100%;
  font-size:100%;
  border-top:1px solid var(--border01);
  border-bottom:1px solid var(--border01);
}
.dl01 dt{
  position:relative;
  display:inline-block;
  box-sizing: border-box;
  padding:0 10px;
  width:30%;
  font-size:80%;
  font-weight:300;
  text-align:left;
  border-bottom:1px solid var(--border01);
}
.dl01 dd{
  position:relative;
  display:inline-block;
  box-sizing: border-box;
  padding:0 10px;
  width:70%;
  font-size:80%;
  font-weight:300;
  text-align:left;
  border-bottom:1px solid var(--border01);
}
.dl01 dd span.tani{
  font-size:80%;
  font-weight:300;
}

/*アンダーラインなし（dd:デカ文字）*/
.dl02{
  position:relative;
  display:block;
  box-sizing: border-box;
  width:100%;
  font-size:100%;
  /* border-bottom:1px solid var(--border01); */
}
.dl02 dt{
  position:relative;
  display:inline-block;
  box-sizing: border-box;
  padding:0 10px;
  width:30%;
  font-size:80%;
  font-weight:300;
  text-align:left;
}
.dl02 dd{
  position:relative;
  display:inline-block;
  box-sizing: border-box;
  padding:0 10px;
  width:70%;
  font-size:150%;
  font-weight:bold;
  text-align:right;
}
.dl02 dd span.tani{
  font-size:80%;
  font-weight:300;
}


/*アンダーライン付き（dd:普通文字）*/
.dl03{
  position:relative;
  display:block;
  box-sizing: border-box;
  width:100%;
  font-size:100%;
  border-top:1px solid var(--border01);
  /* border-bottom:1px solid var(--border01); */
}
.dl03 dt{
  position:relative;
  display:inline-block;
  box-sizing: border-box;
  padding:0 10px;
  width:30%;
  font-size:80%;
  font-weight:300;
  text-align:left;
  border-bottom:1px solid var(--border01);
}
.dl03 dd{
  position:relative;
  display:inline-block;
  box-sizing: border-box;
  padding:0 10px;
  width:70%;
  font-size:80%;
  font-weight:300;
  text-align:left;
  border-bottom:1px solid var(--border01);
}
.dl03 dd span.tani{
  font-size:80%;
  font-weight:300;
}




/*ソーシャルログイン（Google）*/
.g-signin2 {
  border-radius:30px;
  overflow: hidden;
  margin-right: 10px;
  border: 1px solid #747775;
}




.gsi-material-button {
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -webkit-appearance: none;
  background-color: WHITE;
  background-image: none;
  border: 1px solid #747775;
  -webkit-border-radius: 20px;
  border-radius: 20px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: #1f1f1f;
  cursor: pointer;
  font-family: 'Roboto', arial, sans-serif;
  font-size: 14px;
  height: 40px;
  letter-spacing: 0.25px;
  outline: none;
  overflow: hidden;
  padding: 0;
  position: relative;
  text-align: center;
  -webkit-transition: background-color .218s, border-color .218s, box-shadow .218s;
  transition: background-color .218s, border-color .218s, box-shadow .218s;
  vertical-align: middle;
  white-space: nowrap;
  width: 40px;
  max-width: 400px;
  min-width: min-content;
}

.gsi-material-button .gsi-material-button-icon {
  height: 20px;
  margin-right: 12px;
  min-width: 20px;
  width: 20px;
  margin: 0;
  padding: 9px;
}

.gsi-material-button .gsi-material-button-content-wrapper {
  -webkit-align-items: center;
  align-items: center;
  display: flex;
  -webkit-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  height: 100%;
  justify-content: space-between;
  position: relative;
  width: 100%;
}

.gsi-material-button .gsi-material-button-contents {
  -webkit-flex-grow: 1;
  flex-grow: 1;
  font-family: 'Roboto', arial, sans-serif;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: top;
}

.gsi-material-button .gsi-material-button-state {
  -webkit-transition: opacity .218s;
  transition: opacity .218s;
  bottom: 0;
  left: 0;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.gsi-material-button:disabled {
  cursor: default;
  background-color: #ffffff61;
  border-color: #1f1f1f1f;
}

.gsi-material-button:disabled .gsi-material-button-contents {
  opacity: 38%;
}

.gsi-material-button:disabled .gsi-material-button-icon {
  opacity: 38%;
}

.gsi-material-button:not(:disabled):active .gsi-material-button-state, 
.gsi-material-button:not(:disabled):focus .gsi-material-button-state {
  background-color: #303030;
  opacity: 12%;
}

.gsi-material-button:not(:disabled):hover {
  -webkit-box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .30), 0 1px 3px 1px rgba(60, 64, 67, .15);
  box-shadow: 0 1px 2px 0 rgba(60, 64, 67, .30), 0 1px 3px 1px rgba(60, 64, 67, .15);
}

.gsi-material-button:not(:disabled):hover .gsi-material-button-state {
  background-color: #303030;
  opacity: 8%;
}





/*サイドメニュー（バッジ）*/
.num_badge {
  display:none;
}
.num_badge.active {
  position:absolute;
  top:20px;
  right:2px;
  display:inline-block;
  background: var(--notice);
  color:#fff;
  margin-right:6px;
  width:20px;
  height:20px;
  line-height:20px;
  border-radius: 10px;
  font-size:12px;
}

.num_badge2 {
  display:none;
}
.num_badge2.active {
  position:absolute;
  top:10px;
  /* right:2px; */
  display:inline-block;
  background: var(--notice);
  color:#fff;
  margin-right:6px;
  width:20px;
  height:20px;
  line-height:20px;
  border-radius: 10px;
  font-size:12px;
  text-align: center;
}




/*グラフ*/
.graph{
  width: 600px;
  height: 600px;
  margin: 0 auto;
}
  
.graph .ct-series-a .ct-slice-pie{  /*1個目の数値の背景色*/
  stroke: <?PHP echo $a_color[0]; ?>;
  fill: <?PHP echo $a_color[0]; ?>;
}

.graph .ct-series-b .ct-slice-pie{  /*2個目の数値の背景色*/
stroke: <?PHP echo $a_color[1]; ?>;
fill: <?PHP echo $a_color[1]; ?>;
}
  
.graph .ct-series-c .ct-slice-pie{  /*3個目の数値の背景色*/
stroke: <?PHP echo $a_color[2]; ?>;
fill: <?PHP echo $a_color[2]; ?>;
}

.graph .ct-series-d .ct-slice-pie{  /*4個目の数値の背景色*/
stroke: <?PHP echo $a_color[3]; ?>;
fill: <?PHP echo $a_color[3]; ?>;
}
.graph .ct-series-e .ct-slice-pie{  /*5個目の数値の背景色*/
stroke: <?PHP echo $a_color[4]; ?>;
fill: <?PHP echo $a_color[4]; ?>;
}
.graph .ct-series-f .ct-slice-pie{  /*6個目の数値の背景色*/
stroke: <?PHP echo $a_color[5]; ?>;
fill: <?PHP echo $a_color[5]; ?>;
}
.graph .ct-series-g .ct-slice-pie{  /*7個目の数値の背景色*/
stroke: <?PHP echo $a_color[6]; ?>;
fill: <?PHP echo $a_color[6]; ?>;
}
.graph .ct-series-h .ct-slice-pie{  /*8個目の数値の背景色*/
stroke: <?PHP echo $a_color[7]; ?>;
fill: <?PHP echo $a_color[7]; ?>;
}
.graph .ct-series-i .ct-slice-pie{  /*9個目の数値の背景色*/
stroke: <?PHP echo $a_color[8]; ?>;
fill: <?PHP echo $a_color[8]; ?>;
}
.graph .ct-series-j .ct-slice-pie{  /*10個目の数値の背景色*/
stroke: <?PHP echo $a_color[9]; ?>;
fill: <?PHP echo $a_color[9]; ?>;
}

.graph .ct-label{  /*ラベルの文字色*/
fill: #fff;
}




.appear{
  opacity:0;
  animation: fadein 0.3s linear;
  animation-delay:0.3s;
  animation-fill-mode: forwards;
  /* -webkit-animation: zoom 10s 1;
   animation: zoom 10s 1;
   animation-fill-mode: forwards; */
}
@keyframes fadein {
  0%   {opacity:0;}
  100% {opacity:1;}
}


/* LINE ステイタスバナー */
.line_status_banner{
  margin:0 !important;
  width:100% !important;
  padding:2vw;
  font-weight:bold;
  text-align:center !important;
  background:#F2F2F2;
  color:#000;
}
.line_status_banner.active{
  background:#00B900;
  color:#fff;
}

/* Google ステイタスバナー */
.google_status_banner{
  margin:0 !important;
  width:100% !important;
  padding:2vw;
  font-weight:bold;
  text-align:center !important;
  background:#F2F2F2;
  color:#000;
}
.google_status_banner.active{
  background:#FF0000;
  color:#fff;
}


/* .ai_input{
  position: relative;
  display: block;
  width: 96%;
  max-width:96%;
  min-width:96%;
  height:100%;
  min-height:60px;
  max-height:240px;
  margin: 0 auto;
} */
.form01.ai_message{
  display: none;
}
.form01.ai_message.active{
  position: relative;
  display: block;
  width: 100%;
  max-width:100%;
  min-width:100%;
  height:534px;
  min-height:60px;
  max-height:534px;
  margin: 0 auto;

  /* width: 100%;
  height: 500px; */
  resize: none;
}



/* event-calendar 表示調整用 */
.ec-button.ec-today{
  margin-bottom: 0;
}
.ec-event-body{
  font-size: 60%;
}
.ec-day{
  font-size: 80%;
  padding: 4px 0;
}
.ec-sun {
  background-color: var(--sunday_bg);
}
.ec-sat {
  background-color: var(--saturday_bg);
}



.pal_cal_date{
  position: relative;
  display: block;
  width:100%;
  font-size:80%;
}


.chat_name{
  padding-top:4px;
  font-size:50%;
  color:var(--fa);
  line-height: 100%;
}


 #lastli{
  display:block;
  width:100%;
  height:20px;
  font-size: 80%;
  color:--var(--bg_notice_rgb30);
  padding: 10px 0;
 }



 .bell {
  display: inline-block;
  animation: bell-swing 1s ease-in-out infinite;
  transform-origin: top center; /* 支点を上にする */
}

@keyframes bell-swing {
  0%   { transform: rotate(0deg); }
  25%  { transform: rotate(15deg); }
  50%  { transform: rotate(0deg); }
  75%  { transform: rotate(-15deg); }
  100% { transform: rotate(0deg); }
}



/*セレクトダイアログ*/
.select_dir_back{position:fixed;inset:0;background:rgba(0,0,0,0.35);display:none;align-items:flex-end;justify-content:center;z-index:999;}
.select_dir{position: absolute;top:50px;width:96%;max-width:520px;background:#fff;border-top-left-radius:12px;border-top-right-radius:12px;padding:12px;box-shadow:0 -6px 30px rgba(0,0,0,0.2)}
.select_dir_option{padding:8px;border-radius:8px;margin:6px 0;background:#f5f7fb;cursor:pointer;text-align:center;text-decoration:none;display:block;color:#333}
.select_dir_option:hover{background:#e2e8f0}
.select_dir_cancel{padding:10px;text-align:center;color:#666;cursor:pointer}







/*7箇条 koskoskos*/
.sp-on {display: none;}
.kv_area {
  position:relative;
  display: block;
  height: 440px;
  background-repeat: no-repeat;
  background-position: left 50% top 0;
  background-size: cover;
  background-image: url(../images/seven-princ/seven_main_bg.jpg);
  position: relative;
  margin: 0 10px 60px 10px;
}
.kv_area .main_catch {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.8;
  letter-spacing: 0.08em;
  position: absolute;
  top: 25px;
  left: 25px;
}
.sub_copy {
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.05em;
  text-align: center;
  margin-bottom: 60px;
}
.main_title {
  text-align: center;
  margin-bottom: 40px;
}
.main_title p {
  display: inline-block;
  font-size: 20px;
  font-weight: bold;
  color: #00b050;
  line-height: 1.6;
  letter-spacing: 0.05em;
  border-bottom: 1px solid #00b050;
}
.main_title p strong {
  font-size: 1.4em;
}
.list_wrapp {
  margin-bottom: 40px;
}
ul.list7{
  box-sizing: border-box;
  margin: 0 4em;
  box-sizing: border-box;
}
.list_wrapp > ul.list7 > li {
    display: flex;
    margin-bottom: 30px;
    position: relative;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    position: relative;
}
.list_wrapp > ul.list7 > li .num {
    width: 80px;
    height: 80px;
    line-height: 80px;
    border-radius: 50%;
    background: #00b050;
    text-align: center;
    font-size: 16px;
    color: #fff;
    font-weight: bold;
}
.list_wrapp > ul.list7 > li .num {
    width: 80px;
    height: 80px;
    line-height: 80px;
    border-radius: 50%;
    background: #00b050;
    text-align: center;
    font-size: 16px;
    color: #fff;
    font-weight: bold;
}
.list_wrapp > ul.list7 > li .num strong {
    font-size: 1.6em;
    margin: 0 3px;
}
.list_wrapp > ul.list7 > li .text {
    width: calc(100% - 80px);
    padding-left: 20px;
    box-sizing: border-box;
}
.list_wrapp > ul.list7 > li .title {
    font-size: 20px;
    font-weight: bold;
    color: #00b050;
    line-height: 1.6;
    letter-spacing: 0.05em;
    margin-bottom: 0.3em;
}
.list_wrapp > ul.list7 > li ul li {
    font-size: 16px;
    line-height: 1.6;
    padding-left: 1.2em;
    position: relative;
    text-align:left;
}
.list_wrapp ul.list7 li:last-child {
    margin-bottom: 0;
}
.list_wrapp > ul.list7 > li ul li strong {
    color: #ff0000;
}
.org_wrapp{
  position: relative;
  display: block;
  margin: o 0.2em;
  text-align: center;
  font-size: 40%;
}



.date_small{
  font-size:70%;
}
.nowrap{
  display:inline-block;
  white-space: no-wrap;
}

.link_str{
  text-decoration: underline;
  cursor: pointer;
}
.success01{background: #58bbfc;}
.error01{background: #fc7494;}
.irregular01{background: #fafc74;}
.disabled{color:var(--disabled);}
.list_mark01{color:var(--main);}




/***koskoskos**************************************************************************************************************************************/
/*****************************************************************************************************************************************/
/*****************************************************************************************************************************************/
/*****************************************************************************************************************************************/
/*@media(max-width:414px){*/
@media(max-width:720px){

  html{
    height: 100%;
    margin: 0;
    padding: 0;
  }
  body{
    font-size: 20px;
    line-height: 1.2;
    display:block;
    width:100dvw;
    height:100%;
    /* overflow: hidden; */
    
    overflow-x: hidden;
    overflow-y: visible;
  }

  main {

    /* position:relative;
    height:auto;
    overflow: hidden;
     */
  }
  nav.menu{
    z-index: 0;
    height:auto;
    min-height:100dvh;
/*
    float: left;
    display:block;
    position:absolute;
    top: 0;
    left: -280px;
    display: table-cell;
    vertical-align: top;
    width: 280px;
    height:auto;
    min-height:100dvh;
    

    padding-top: calc(env(safe-area-inset-top) + 20px);
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
    padding-bottom: calc(env(safe-area-inset-bottom) + 40px);

    -ms-overflow-style: none;
    scrollbar-width: none;

    */
  }

  main.namecard{
    height:100dvh;
    align-items:flex-start;
    justify-content:center;
    overflow-x:hidden;
    overflow-y:auto;
  }

  article{
    position:relative;
    width:100%;
  }


  article.body{
    position: absolute;
    top: 0;
    /* left: 0; */
    display:block;
    width:100dvw;
    height:100vh;
    min-height:100dvh;
    z-index: 2;

    /*padding-top: calc(env(safe-area-inset-top) + 20px);  iPhone特殊画面用*/
    padding-left: env(safe-area-inset-left);  /*iPhone特殊画面用*/
    padding-right: env(safe-area-inset-right);  /*iPhone特殊画面用*/
    /* padding-bottom: calc(env(safe-area-inset-bottom) + 40px);  iPhone特殊画面用 */
    padding-bottom: 110px;
    -ms-overflow-style: none; /*スクロールバー非表示*/
    scrollbar-width: none;    /*スクロールバー非表示*/

    overflow-x: hidden;
    overflow-y: auto;

    
  }
  article.body::-webkit-scrollbar { 
    display: none;
  }

  div#menu-left-btn{
    display:block;
  }
  
  






  ul.ul01 {
    width:100%;
    /* height: 416px; */
    /* overflow-y: scroll; */
    margin: 0 10px 0 10px;
    list-style: none;
    counter-reset: item;
  }
  ul.ul01 li {
      display:inline-block;
      width:100%;
      margin: 0;
      padding: 20px 0;
      border-bottom: 1px solid var(--border01);
      text-align: left;
      font-size:100%;
      white-space: normal;
      position:relative;
  }
  ul.ul01 li p {
    position:relative;
    display:flex;
    align-items:flex-start;
    flex-wrap: wrap;
  
    margin:0;
    padding:0;
    /* width:100%; */
  }
  ul.ul01 li p.cal_memo {
    position:relative;
    display:inline-block;
    
  
    margin:0;
    padding:10px;
    /* width: calc(100dvw - 20px - 20px - 36px); */
  }
  ul.ul01 li .icon {
    position:relative;
    width: 36px;
    min-width: 36px;
    height:36px;
    color:var(--light);
    font-size:100%;
  
    display: inline-block;
    line-height: 36px;
    text-align: center;
    /* vertical-align: baseline; */
    /* margin-right:0.5rem; */
  }
  ul.ul01 li .body{
    position:relative;
    display:inline-block;
    color: #000;
    /* width: calc(100dvw - 20px - 20px - 36px); */
    min-width: 0;
    height:36px;
    /* margin-bottom: 10px; */
  
    /* overflow: hidden; */
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  
  ul.ul01 li:first-child {
    /* border-bottom: none; */
    /* padding-top: 0; */
    border-top: 1px solid var(--border01);
  }
  ul.ul01.top_none li:first-child {
    border-top: none;
  }
  
  ul.ul01 li:last-child {border-bottom: none;}
  /* ul.ul01 li div.cont {line-height: 1.35;} */
  ul.ul01 li .ebody{
    position:relative;
    display:inline-block;
    max-width:calc(100% - 36px - 1em - 174px);
    text-overflow: ellipsis;
  }
  
  ul.ul01 li .econtrol{
    position:absolute;
    display:inline-block;
    right:0;
    max-width:174px;  /*ボタンbutton_icon01「width:44px + margin-right:10px = 54px x 3個」*/
  }
  ul.ul01 li .econtrol2{
    display:none;
  }


  ul.ul02 {
    margin: 0 auto 40px;
    width: 100%;
    /* max-width: 660px; */
    /* box-sizing: border-box; */
  }
  ul.ul02 li{
    display: block;
    padding: 12px 2%;
    width: 100%;
    box-sizing: border-box;
    border-top: 1px solid var(--border01);
  }
  ul.ul02 li{
    display: block;
    padding: 12px 2%;
    width: 100%;
    box-sizing: border-box;
    border-top: 1px solid var(--border01);
  }
  ul.ul02 li .title{
    display: block;
    width: auto;
    font-weight: bold;
    font-size: 3.733333vw;
    color: var(--notice);
    vertical-align: top;
  }
  ul.ul02 li .body{
    display: block;
    margin-top:10px;
    font-size: 3.733333vw;
    vertical-align: top;
  }


  ul.ul03 {
    margin: 0 auto 40px;
    width: 100%;
    /* max-width: 660px; */
    /* box-sizing: border-box; */
  }
  ul.ul03 li{
    display: block;
    padding: 12px 2%;
    width: 100%;
    box-sizing: border-box;
    border-top: 1px solid var(--border01);
  }
  ul.ul03 li{
    display: block;
    padding: 12px 2%;
    width: 100%;
    box-sizing: border-box;
    border-top: 1px solid var(--border01);
  }
  ul.ul03 li .title{
    display: block;
    width: auto;
    font-weight: bold;
    font-size: 3.733333vw;
    color: var(--notice);
    vertical-align: top;
  }
  ul.ul03 li .body{
    display: block;
    margin-top:10px;
    font-size: 3.733333vw;
    vertical-align: top;
  }


  ul.ul_chat01 {
    /* height: 416px; */
    /* overflow-y: scroll; */
    margin: 0 10px 0 10px;
    list-style: none;
    counter-reset: item;
  }
  ul.ul_chat01 li {
      display:inline-block;
      width:100%;
      margin: 0;
      padding: 20px 0;
      /* border-bottom: 1px solid var(--border01); */
      text-align: left;
      font-size:100%;
      white-space: normal;
      position:relative;
  }
  ul.ul_chat01 li p {
    position:relative;
    display:flex;
    align-items:flex-start;
    flex-wrap: wrap;
  
    margin:0;
    padding:0;
    /* width:100%; */
  }
  ul.ul_chat01 li p.cal_memo {
    position:relative;
    display:inline-block;
    
  
    margin:0;
    padding:10px;
    /* width: calc(100dvw - 20px - 20px - 36px); */
  }
  ul.ul_chat01 li .icon {
    position:relative;
    width: 36px;
    min-width: 36px;
    height:36px;
    color:var(--light);
    font-size:100%;
  
    display: inline-block;
    line-height: 36px;
    text-align: center;
    /* vertical-align: baseline; */
    /* margin-right:0.5rem; */
  }
  ul.ul_chat01 li .body{
    position:relative;
    display:inline-block;
    color: #000;
    /* width: calc(100dvw - 20px - 20px - 36px); */
    min-width: 0;
    height:36px;
    /* margin-bottom: 10px; */
  
    /* overflow: hidden; */
    white-space: nowrap;
    text-overflow: ellipsis;
  }
  
  
  ul.ul_chat01 li .ebody{
    position:relative;
    display:inline-block;
    max-width:calc(100% - 36px - 1em - 174px);
    text-overflow: ellipsis;
  }
  
  ul.ul_chat01 li .econtrol{
    position:absolute;
    display:inline-block;
    right:0;
    max-width:174px;  /*ボタンbutton_icon01「width:44px + margin-right:10px = 54px x 3個」*/
  }
  ul.ul_chat01 li .econtrol2{
    display:none;
  }



  



  ol.ol01 {margin: 0 10px;}
  ol.ol01 li:before {
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
    line-height: 28px;
    font-size: 70%;
    text-align: center;
    margin-right:0.2em;
  }
  ol.ol02 {margin: 0 10px;}
  ol.ol02 li:before {
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
    line-height: 28px;
    font-size: 70%;
    text-align: center;
    margin-right:0.2em;
  }
  span.subtitle{
    width:100%;
  }
  img.subtitle{
    display:none;
  }


  div#body-wrap{
    display:block;
    z-index:9;
    top:0;
    left:0;
    /* width:100%; */
    /* height:100%; */
    background:rgba(255,255,255,0);
    /* background:rgba(0,0,0,0.3); */
    backdrop-filter: blur(6px);

    /* -webkit-transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
         transform: translate3d(0,0,0);*/
    -webkit-transition: all 300ms ease-in-out;
    -moz-transition: all 300ms ease-in-out;
         transition: all 300ms ease-in-out;
  }

  #main-body, #menu-left, div#bottom-btns, div#bottom-btns2, footer {
    /* border-right: 1px solid #161616; */
    left: 0;
    -webkit-transform: translate3d(0,0,0);
       -moz-transform: translate3d(0,0,0);
            transform: translate3d(0,0,0);
    -webkit-transition: all 300ms ease-in-out;
       -moz-transition: all 300ms ease-in-out;
            transition: all 300ms ease-in-out;
  }
  #main-body.active, #menu-left.active, div#bottom-btns.active, div#bottom-btns2.active, footer.active {
    -webkit-transform: translate3d(280px,0,0);
       -moz-transform: translate3d(280px,0,0);
            transform: translate3d(280px,0,0);
    -webkit-transition: all 300ms ease-in-out;
       -moz-transition: all 300ms ease-in-out;
            transition: all 300ms ease-in-out;
  }

  /* #menu-left-btn.active, #menu-left-btn2.active {
    border:none;
    background: #fff;
    color:#a0a0a0;
    text-align:center;
    padding:0;
    -webkit-transform: translate3d(250px,0,0);
       -moz-transform: translate3d(250px,0,0);
            transform: translate3d(250px,0,0);
    -webkit-transition: all 300ms ease-in-out;
       -moz-transition: all 300ms ease-in-out;
            transition: all 300ms ease-in-out;
  } */
 
  div#body-wrap.active{
    position:fixed;
    display:block;
    width:100%;
    height:100vh;
    min-height: 100vh;
    top:0;
    left:0;
    background:rgba(255,255,255,0.7);
    z-index:9;

    /* -webkit-transform: translate3d(280px,0,0);
    -moz-transform: translate3d(280px,0,0);
         transform: translate3d(280px,0,0);*/
    -webkit-transition: all 300ms ease-in-out;
    -moz-transition: all 300ms ease-in-out;
         transition: all 300ms ease-in-out;

  }

  div#bottom-btns{
    position:fixed;
    left:0;
    bottom: 0;
    width:100%;
    padding:10px;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    
  }
   div#bottom-btns2{
    position:fixed;
    left:0;
    bottom: 70px;
    width:100%;
    padding:10px 10px 0 10px;
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    
  }
  




  table.cal1 {
    position: relative;
    /* margin: 10px; */
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    /* border: 2px solid black; */
    
    margin: 0;
    padding: 0;
    font-style: normal;
    font-weight: normal;
    font-size: 90%;
    vertical-align: baseline;
  }
  table.cal1 th {
    font-style: normal;
    font-weight: normal;
    font-size: 90%;
  }
  table.cal1 td {
    width:calc((100% - 20px - 16px) / 7);
  }
  table.cal1 td label{padding:0;}





  table.cal2 {
    position: relative;
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    
    margin: 0;
    padding: 0;
    font-style: normal;
    font-weight: normal;
    font-size: 90%;
    vertical-align: baseline;
  }
  table.cal2 th {
    font-style: normal;
    font-weight: normal;
    font-size: 90%;
  }
  table.cal2 td {
    width:calc((100% - 20px - 16px) / 7);
  }
  table.cal2 td label{padding:0;}



  .wrap{
    max-width:100dvw;
    margin:10px;
  }
  .wrap_flex{
    display:flex;
    justify-content: center;
    align-items: center;
    max-width:100dvw;
    margin:10px;
  }
  
  .wrap_cal_border2{
    max-width:100dvw;
    margin:0 10px;
    border:2px solid #000;
    border-radius: 6px;
    overflow: hidden;
  
  }
  .wrap_cal_border1{
    max-width:100dvw;
    margin:10px;
    border:1px solid var(--border01);
    border-radius: 6px;
    overflow: hidden;
  
  }
  .wrap.bottom0{
    max-width:100dvw;
    margin:10px;
    margin-bottom:0;
  }



  .wrap_sendmail{
    display:flex;
    width:calc(100% - 20px);
    margin:0 10px;
  }
    
  .wrap_sendmail input{
    margin:0;
    width:calc(100dvw - 40px - 20px - 10px - 44px);
  }
  .wrap_sendmail button{
    /* height:100%; */
    padding:0;
  }

  .login_box{
    position: relative;
    display:flex;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: 0;
  
    width:70%;
    max-width:100dvw;
    min-width:100dvw;
    height: 100dvh;
    min-height:100dvh;
    background:#fff;
    filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.3));
    overflow: hidden;
    border-radius: 6px;
  }
  .login_box .left-window{
    display:none;
  }
  .login_box .right-window{
    width:100dvh;
    overflow-y:auto;

  }



  .button_icon01{
    width:60px;
    height:60px;
    padding: 0;
  }
  

  .wrap_border01{
    position: relative;
    margin:0 10px;
    width: calc(100% - 20px);
  }
  .wrap_help_border01{margin:0 10px;}
  .wrap_border01 p,
  .wrap_help_border01 p{margin:0 10px;}
  .wrap_border01 ul,
  .wrap_help_border01 ul{
    margin:0;
    /* padding: 0.5em 0.3em 0.5em 0.3em; */
    padding: 0.5em;
    width:auto;
  }
  /* .wrap_border01 ul li {
    display:glid;
    grid-template-columns: 50px calc(100% - 50px);
    padding: 0.3em 0;
  }
  .wrap_border01 ul li i {
    color: var(--main);
    margin-right: 0.5em;
  }
  .wrap_border01 ul li span {
    line-height:1;
  } */

  .wrap_inner01 {
    margin: 0 10px;
  }

  .wrap_border02{margin:0 10px;}

  .ul03{
    display: block;
    width: 100%;
    margin: 0;
    text-align: left;
    padding: 0.5em 0;
    position: relative;

  }



  .wrap_chat01{
    margin:0 10px;
    height:calc(100% - 280px);
    padding-bottom: 80px;
    box-sizing: border-box;

  }
  
  ul.ul_menu {
    margin-bottom: 0;
    list-style: none;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  ul.ul_menu li{
    display:flex;
    justify-content:space-between;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid var(--border01);
  }


  .wrap_grid01.mini{
    position:relative;
    display: grid;
    width:calc(100dvw - 20px - 20px);
    text-align: right;
    grid-template-columns: 264px 54px;
    margin:0 10px;
  }
  .wrap_flex01.mini{
    position:relative;
    display: flex;
    /* width:calc(100dvw - 20px - 20px); */
    /* width:100%; */
    text-align: right;
    grid-template-columns: 264px 54px;
    margin:0 10px;
  }

  .wrap_sendmail.mini{
    width:calc(150px + 44px + 6px);
  }
  input.search.mini {
    max-width:150px;
  }
  .badge {
    margin-right: 4px;
    font-size: 50%;
    padding: 0 4px;
    height: 20px;
    line-height: 20px;
    border-radius: 10px;
    margin-top: -2px;
  }

ol.ol01 li .ebody{
  min-width:calc(100% - 28px - 0.2em - 24px);
}

  ol.ol01 li .econtrol{display:none;}
  ol.ol01 li .econtrol2{
    display:inline-block;
    width:24px;
    text-align: center;

    /*絆さんリストのために追加*/
    position: absolute;
    right: 0;
    top: 24px;
  }

  ol.ol01 li .econtrol.active{
    position:absolute;
    display:inline-block;
    top:0;
    right:0;
    /* height:100%; */
    max-width:100%;  /*ボタンbutton_icon01「width:44px + margin-right:10px = 54px x 3個」*/
    background:#fff;
    padding:10px;
    box-shadow:0 0 8px -2px rgba(0,0,0,0.5);
    border-radius: 6px;
    z-index: 10000;
  }
  ol.ol01 li .econtrol.active::before {
    content: "";
    position: absolute;
    border: 12px solid transparent;
    border-right: 12px solid #fff;
    top: 30%;
    left: -24px;
    }

  /*リストメニュー（ダイアログ）*/
  #list-wrap{
    width:0;
    height:0;
    display: none;
  }
  #list-wrap.active{
    width:100%;
    height:100%;
    display: inline-block;
    background:rgba(0,0,0,.3);
    position:fixed;
    top:0;
    left:0;
    z-index: 9999;
  }

  /* ol.ol01 li .econtrol.active {
    position: relative;
    display:inline-block;
    background-color: #ffc4c4;
    padding: 10px;
    color: #333;
    margin: 0;
    }
    
    ol.ol01 li .econtrol.active::before {
    content: "";
    position: absolute;
    border: 12px solid transparent;
    border-right: 12px solid #ffc4c4;
    top: 20%;
    right: 0;
    } */
    
    /* .balloon p {
    margin: 0;
    padding: 0;
    } */

    aside.help{
      height:100%;
      z-index:10;
    }

    aside.help.active{
      height:100%;
      z-index:10;
    }



  /*--------------------/チェックボックス/--------------------*/
  div.wrap_checkbox01{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    align-content: space-around;
    width:calc(100% - 20px);
    height:auto;
    margin:0 10px;

    overflow: hidden;
    text-align: center;
    position: relative;

    line-height:200%;
  }



    /*--------------------/スピナー/--------------------*/
    div.wrap_spinner01{
      display:flex;
      flex-wrap:wrap;
      justify-content:flex-start;
      align-content: space-around;
      width:calc(100dvw - 20px);
      height:auto;
      margin:0 10px;
  
      overflow: hidden;
      text-align: center;
      position: relative;
  
      line-height:150%;
    }
    div.wrap_spinner01 span{
      width:100%;
      margin:0;
    }
    div.wrap_spinner01 input{
      width:calc(80% - 70px - 70px);
      margin:0;
    }


    div.wrap_spinner02{
      display:block;
      flex-wrap:wrap;
      justify-content:flex-start;
      align-content: space-around;
      /* width:100%; */
      height:auto;
      margin:0 20px;
  
      overflow: hidden;
      text-align: center;
      position: relative;
  
      line-height:150%;
    }
    div.wrap_spinner02 span.spn{
      width:100%;
      margin:0;
    }
    div.wrap_spinner02 input.spi{
      width:calc(80% - 70px - 70px);
      margin:0;
    }



       /*--------------------/期間/--------------------*/
       div.wrap_date01{
        position:relative;
        display:flex;
        flex-wrap:wrap;
        justify-content:flex-start;
        align-content: space-around;
        width:calc(100% - 20px);
        height:auto;
        margin:0 10px;
    
        overflow: hidden;
        text-align: center;
        position: relative;
    
        line-height:150%;
  
        justify-content:center;
        align-items:center;
      }
      div.wrap_date01 input{
        width: calc(100% - 70px - 70px);
        max-width:260px;
        min-width:180px;
        margin:0;
      }
      div.wrap_date01 input.from{
        margin-bottom:5px;
      }
      div.wrap_date01 input.to{
        margin-top:5px;
      }
      div.wrap_date01 button{
        width:60px;
        height:60px;
        margin:0;
      }

      

  /*--------------------/ボタン/--------------------*/
  .wrap_btn_center01{
    display:block;
    width:calc(100% - 100px);
    text-align:center;
    margin:0 50px;
    overflow: hidden;
  }
  

  .wrap_btn_sub01{
    display:flex;
    flex-direction: row;
    justify-content:flex-end;
    width:calc(100% - 20px);
    margin:30px 10px 0 10px;
    /* padding-right:10px; */
  }

  .wrap_chat_bottom01{
    position:fixed;
    text-align: left;
    /* justify-content:flex-end; */
    width:calc(100% - 20px);
    margin:30px 10px 0 10px;
    bottom: 110px;
    z-index:2;
  }

  .button_main02{
    width:100%;
    text-align:center;
  }

  /*--------------------/スライダー/--------------------*/
  .slides {
    display: inline-block;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    scrollbar-width: none;
    white-space: nowrap;
        -ms-overflow-style: none; /*スクロールバー非表示*/
      scrollbar-width: none;    /*スクロールバー非表示*/
      
    width:100%;
  }
  .slides::-webkit-scrollbar{display: none;}
  
  .area {
    scroll-snap-align: start;
  }
  .info_box {
    display: inline-block;
    position:relative;
    /* width:cal(100dvw - 280px); */
    width:100%;
    max-width: cal(1200px - 280px);
    /* width:calc(((100vw - 100%) / 2) * -1); */
    /* margin-bottom: 90px; */
    line-height: 1;
    vertical-align: top;
  }
  .info_wrapp2 {
    
    position:relative;
    display:block;
    border: 1px solid var(--border01);
    border-radius: 8px;
    padding: 10px;
    /* margin-bottom: 30px; */
    background: #fff;
  
    margin: 0px 10px;
    width: calc(100% - 20px);
    min-width: cal(1200px - 280px - 40px);
    overflow: hidden;
  }
  .info_wrapp2 h3 {
    font-size: 100%;
    text-align: center;
    padding-bottom: 5px;
    border-bottom: 1px solid #000;
    /* margin-bottom: 20px; */
  }
  .info_wrapp2 p.sub {
    padding-top: 5px;
    font-size: 60%;
    white-space: normal;
  }
  .info_wrapp2 p.read {
    display:block;
    width:100%;
    height:auto;
    padding: 20px;
    font-size: 50%;
    text-align: left;
    white-space: normal;
  }
  .info_wrapp2 ul.news_ul {
    /* height: 416px; */
    /* overflow-y: scroll; */
    margin-bottom: 0;
    list-style: none;
  }
  
  
  .info_wrapp2 ul li {
      /* margin-bottom: 40px; */
      margin: 0;
      padding: 20px 0;
      border-bottom: 1px solid var(--border01);
      text-align: left;
      font-size:100%;
      white-space: normal;
  }
  .info_wrapp2 ul li:first-child {
    /* border-bottom: none; */
    /* padding-top: 0; */
    border-top: 1px solid var(--border01);
    
  }
  
  .info_wrapp2 ul li div.cont {
    line-height: 1.35;
  }



  .dropzone{
    height:200px;
    min-height:200px;
  }

  /*アイコン重ね*/
  i.stack1{
    /*下*/
    font-size:120%;
    line-height:30px;
  }
  i.stack2{
    /*上*/
    font-size:76%;
    line-height:38px;
    color:#fff;
  }




  .circle_num {
    width: 28px;
    min-width: 28px;
    height: 28px;
    min-height: 28px;
    line-height: 28px;
    font-size: 70%;
    text-align: center;
    margin-right: 0.2em;
  }

  .namecard{
    position:absolute;
    top:0;
    min-height:100%;
  }

  .namecard-school .area{
    white-space: nowrap;
    display:block;
    width:100%;
    margin:0;
  }
  .namecard-school .schoolname{
    white-space: nowrap;
    display:block;
    width:100%;
    margin:0;
  }

  .namecard-body .position{
    display:block;
    width:100%;
    margin:0;
  }
  .namecard-body .name{
    display:block;
    width:100%;
    margin:0;
  
  }



  /*アンダーラインなし（dd:デカ文字）*/
  .dl02{
    position:relative;
    display:block;
    box-sizing: border-box;
    width:100%;
    font-size:100%;
    /* border-bottom:1px solid var(--border01); */
  }
  .dl02 dt{
    position:relative;
    display:inline-block;
    box-sizing: border-box;
    padding:0 10px;
    width:1000%;
    font-size:80%;
    font-weight:300;
    text-align:left;
  }
  .dl02 dd{
    position:relative;
    display:inline-block;
    box-sizing: border-box;
    padding:0 10px;
    width:100%;
    font-size:150%;
    font-weight:bold;
    text-align:right;
  }
  .dl02 dd span.tani{
    font-size:80%;
    font-weight:300;
  }


  .pager li{
    margin: 0 4px;
  }
  .pager li span,
  .pager li a{
    width: 32px;
    height: 32px;
    line-height: 30px;
    font-size: 100%;
    border-radius: 1.333333vw;
    cursor: pointer;
  }
  .pager li a.next, .pager li a.prev {
    font-size: 100%;
  }
  .pager li a.next::before,
  .pager li a.prev::before{
      width: 23px;
      height: 23px;
      /* font-size: 100%; */
  }
  input.form01.w50{
    width:auto;
    margin-right:10px;
  }
  input.form01.w40{
    width:auto;
    margin-right:10px;
  }
  input.form01.w30{
    width:auto;
    margin-right:10px;
  }
  input.form01.w20{
    width:auto;
    margin-right:10px;
  }
  input.form01.w10{
    width:auto;
    margin-right:10px;
  }

  ul.ul01 li .box100{
    width:auto;
    margin-right:10px;
  }
  ul.ul01 li .box120{
    width:auto;
    margin-right:10px;
  }
  ul.ul01 li .box_main{
    display:block;
    width:100%;
  }

  .wrap50{
  max-width:100dvw;
  margin:0 10px;
  }

  .mycomment p{
    max-width: 90%;
  }


  ul.photo_list{
    padding: 0.5em;
    gap: 0.5em;
  }

  ul.photo_list li {
    position: relative;
    display: inline-block;
    /* line-height: 180px; */
    background: #fff;
    text-align: center;
    border: 1px solid var(--border01);
    border-radius: 6px;
    overflow: hidden;
    padding: 0;
    margin:0;
    /* margin-top: 4px;
    margin-left: 4px; */
    /* width: calc((100% - (1px * 2 * 2) - (4px * (4 + 1))) / 2); */
    width: calc((100% - 0.5em) / 2);
    /* min-width: 200px; */

  }

  ul.photo_list li .no_badge {
    position: absolute;
    display: inline-block;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    background: var(--main);
    border: 1px solid #000;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    /* border-radius: 3px; */
    border-radius: 6px 0 0 0;
    overflow: hidden;
    font-size: 50%;
    line-height: 18px;
  }
ul.photo_list li .del_btn{
  position:absolute;
  display:inline-block;
  top:0px;
  right:0px;
  width:20px;
  height:20px;
  background:#fff;
  border:1px solid #000;
  color:#000;
  text-align:center;
  vertical-align: middle;
  /* border-radius: 3px; */
  border-radius: 0 6px 0 0;
  overflow: hidden;
}
ul.photo_list li .del_btn i{
  position:absolute;
  top:0;
  left:0;
  display:inline-block;
  width:100%;
  height:100%;
  margin:0;
  /* padding-top:2px; */
  color:#ddd;
  cursor: pointer;
    font-size: 50%;
  line-height: 16px;

}



  
  .photo_box.active {
    display: inline-block;
    position: relative;
    width: 90% !important;
    max-width: 100%;
    height: 300px !important;
    max-height: 600px;
    min-height: 300px !important;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 3px 15px rgba(0, 0, 0, .4), 0 0 5px rgba(0, 0, 0, .4);
    opacity: 1;
    z-index: 10000;
    margin: 50dvh auto 0;
    transform: translateY(-50%);
    text-align: center;
    animation-name: photo_open;
    animation-duration: 0.5s;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;
  }

  .alert_box.active{
    max-height:90dvh;
  }


  /*セレクトダイアログ*/
  .select_dir_back{align-items:center}
  .select_dir{border-radius:12px}


  .form01.ai_message.active{
    max-height:300px;
  }


  /*7箇条 koskoskos*/
  br.pc-on{
    display: none;
  }
  .kv_area {
      height: 74.666667vw;
      margin-bottom: 8vw;
  }
  .kv_area .main_catch {
    font-size: 4.266667vw;
    top: 5.333333vw;
    left: 5.333333vw;
  }
  .sub_copy {
    font-size: 4.266667vw;
    margin: 0 5.333333vw 8vw;
    text-align: left;
  }
  .main_title {
    margin: 0 5.333333vw 5.333333vw;
  }
  .list_wrapp {
    margin: 0 5.333333vw 5.333333vw;
  }
  ul.list7{
    margin: 0 0.4em;
  }
 
  .list_wrapp > ul.list7 > li {
    display: block;
    margin-bottom: 8vw;
  }
  .list_wrapp > ul.list7 > li .num {
    width: 13.333333vw;
    height: 13.333333vw;
    line-height: 13.333333vw;
    font-size: 3.2vw;
    margin: 0 auto 4.8vw;
  }
  .list_wrapp > ul.list7 > li .num strong {
    font-size: 1.3em;
    margin: 0 0.533333vw;
  }
  .list_wrapp > ul.list7 > li .text {
      width: 100%;
      padding-left: 0;
  }
  .list_wrapp > ul.list7 > li .title {
    font-size: 4.8vw;
  }
  .list_wrapp ul.list7 li:last-child {
    margin-bottom: 0;
  }
  .list_wrapp > ul.list7 > li ul li::before {
    content: '・';
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
  }



}

