@charset "utf-8";

/*リセット*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, input, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, object, embed
{
	margin: 0px; 
	padding: 0px; 
	border: 0px; 
	outline: 0px; 
	box-sizing: border-box;
}

dl, dt, dd, ol, ul, li {
list-style:none;
}

img {
border: 0;
}

li {
list-style: none;
}

input,
button,
textarea,
select,
optgroup,
option {
	font-family: inherit;
	font-size: inherit;
	font-style: inherit;
	font-weight: inherit;
}
strong{ font-weight:bold}

/***************************************
 * Global
 ***************************************/

* {
  padding:0;
  margin: 0;
}

html {
  height: 100%;
}

body {
  font-family:Avenir , "Open Sans" , "Helvetica Neue" , Helvetica , Arial , Verdana , Roboto  , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #111;
  width:100%;
  height:100%;
  background: #000;
}




/***************************************
 * Common
 ***************************************/


.clearfix:after {content: "."; display: block; clear: both; height: 0; visibility: hidden;}
.clearfix { min-height: 1px;}
* html .clearfix { height: 1px; /*¥*//*/ height: auto; overflow: hidden;/**/}

a {
  color: #555555;
  text-decoration:none;
}

img {
  vertical-align: bottom;
}

a:hover  { 
  text-decoration:none;
}

input, select, textarea {
  font-size: 100%;
}


.element2 {
  display: block;
}

.gray {
  background-color:#eeeeee;
}

.fl_left{ float:left}
.fl_right{ float:right}

.clear{ clear:both}

/***************************************
 * Layout
 ***************************************/
 
#wrapper{ width:100%; height:100%; position:relative; padding-top:50px; box-sizing:border-box; background: #adcb8b;}
#wrapper{
	animation-name: fadeIn;
    animation-delay: 3000ms;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}
@keyframes fadeIn {
    0% {
    }
    100% {
        opacity: 1;
    }
}


 header{ display:flex; align-items: center; justify-content: space-between; position:fixed; top:0; left:0; padding:10px; width:100%; background: white; font-size:20px; height:50px; box-sizing:border-box;z-index:1000}
 header h1{ font-size: 14px;  padding-left: 2em; position: relative; display: flex;align-items: center;}
 header h1::before{
	content: '';
	background: url(images/shield-solid.svg) no-repeat center center/100%;
	width: 15px;
	height: 15px;
	margin-right: 0.5em;
	display: inline-block;
 }
 header h1::after {
	content: '';
	position: absolute;
	top:50%;
	left: 10px;
	width: 10px;
	height: 10px;
	margin: auto;
	border-top: 1px solid #222;
	border-right: 1px solid #222;
	transform: translateY(-50%) rotate(-135deg);
	box-sizing: border-box;
  }

#chatBox{
	position: relative;
	padding:5px 5px 0px 5px;
	box-sizing:border-box;
	z-index:0;
	height:88%;
	overflow:hidden;
}

#chatBox ul { padding:0 5px;position:relative; margin-top:10px;height:100%; overflow:scroll; overflow-x:hidden;}
#chatBox ul li{ 
	position:relative;
	padding:5px 5px 15px 5px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}
#chatBox ul li.right{
	flex-direction: row-reverse;
}
#chatBox ul li.change-date{
	text-align: center;
	display: block;
	padding: 10px 0;
}
#chatBox ul li.change-date > span{
	display: inline-block;
	padding: 3px 10px;
	background: rgba(0 0 0/0.5);
	font-size: 11px;
	color: white;
	border-radius: 40px;
}

#chatBox ul li img{ 
	width: 36px;
	height: 36px;
	border-radius: 50%;
}
#chatBox ul li img.icon{
	border-radius: 0;
	width: 20px;
	height: 20px;
}

#chatBox ul li span.fukidashi{ 
	position: relative;
	display:inline-block; 
	max-width:68%; 
	background:white; 
	border-radius:15px; 
	-moz-border-radius:15px; 
	-webkit-border-radius:15px; 
	padding:8px 10px 5px 10px; 
	font-size:12px; 
	margin-top: 10px;
	margin-left: 15px;
}
#chatBox ul li span.fukidashi a{
	text-decoration: underline;
	color: blue;
}
#chatBox ul li span.fukidashi::after{
	content: "";
	width:0;
	height:0;
	border-style:solid;
	top:10px;
	position: absolute;
	left:-4px;
    top: 0px;
	border-width: 4px 10px 4px 0;
	border-color: transparent #FFFFFF transparent transparent;
    transform: rotate(28deg);
}
#chatBox ul li img.up{ width:68%}
#chatBox ul li.right span.fukidashi{ 
	float:right; 
	position:relative;
	background: #ffb2dc;
	margin-right: 10px;
	margin-left: 0;
}
#chatBox ul li.right span.fukidashi:after{
	left: auto;
	right: -4px;
    top: 0px;
    border-width: 4px 0 4px 10px;
    border-color: transparent transparent transparent #FFB2DC;
    transform: rotate(-28deg);
}
#chatBox ul li.clear{
	width: 100%;
	justify-content: center;
}
#chatBox ul li.clear span{
	padding: 1px 70px;
	color: white;
	background: rgba(0 0 0 /0.2);
	font-size: 16px;
	font-weight: bold;
	border-radius: 50px;
}

p.detail{ 
	font-size: 10px;
    color: white;
    text-align: left;
    width: 10%;
    padding-left: 5px;
    line-height: 1em;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    padding-top: 15px;
    font-weight: bold;
}
p.detail span{
	font-weight: normal;
}


#wrapper form{ 
	position:fixed; 
	padding:15px; 
	bottom:0; 
	width:100%;
	background:#fff;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
}
#wrapper form input[type="text"]{ 
	width:calc(100% - 30px);
	border: 1px solid #ccc;
	border-radius: 50px;
	padding: 5px;
	-webkit-appearance: none;
	background:#f3f3f3;
	box-sizing: border-box;
}
#wrapper form input[type="button"]{ 
	-webkit-appearance: none; 
	background: url(images/send.svg) no-repeat center center/100%;
	width: 25px;
	height: 25px;
}
#wrapper form span{
	position: relative;
}
#wrapper form span:before{
	content: '';
	position: absolute;
	top:50%;
	left: -15px;
	width: 10px;
	height: 10px;
	margin: auto;
	border-top: 1px solid #222;
	border-right: 1px solid #222;
	transform: translateY(-80%) rotate(135deg);
	box-sizing: border-box;
}



.modal {
    /*display: none;*/
	opacity: 0;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1000;
	/*transition: all 0.8s ease-out;*/
}
.modal.open{
	opacity: 1;
}
.modal__bg {
	background: #000;
	opacity: 1;
    height: 100vh;
    position: absolute;
    width: 100%;
}
.modal__bg p.date{
	font-size:18px;
	position:absolute;
	color: white;
	text-align: center;
	width: 100%;
	top: 7%;
}
.modal__bg p.time{
	font-family: "Varela Round", sans-serif;
  	font-weight: 400;
	font-size: 100px;
	position: absolute;
	color: white;
	text-align: center;
	width: 100%;
	top: 10%;
}

.modal__content {
	height: 100vh;
    left: 50%;
    position: absolute;
    top: 46%;
    transform: translate(-50%, -50%);
    width: 100%;
	max-width: 450px;
    box-sizing: border-box;
	display: flex;
	justify-content: center;
	color: var(--text-color);
}
@media screen and (min-width:768px) {
	.modal__content {
		top: 40%;
	}
}

.modal__content .modal-inner {
	height: auto;
    overflow-y: auto;
	border:none;
    /*padding: 20px;*/
	display: flex;
    flex-direction: column;
    justify-content: center;
	align-items: center;
	width: 94%;
}
a.popup{
	display: flex;
	justify-content: space-between;
	width: 90%;
	background: rgba(255 255 255/0.8);
	border-radius: 10px;
	padding:15px;
	cursor: pointer;
}
a.popup {
    animation-name: fadeIn1500ms;
    animation-delay: 1000ms;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0;
}
@keyframes fadeIn1500ms {
    0% {
    }
    100% {
        transform: translateY(0);
        opacity: 1;
    }
}
a.popup > img{
	width: 50px;
}
a.popup > div{
	width: calc(100% - 70px);
}

@media screen and (min-width:768px) {
}
.modal__content .modal-inner > div{
	padding-bottom: 10px;
}

.modal__content .modal-inner p{
	font-size: 12px;
    line-height: 1.6em;
}
.modal__content .modal-inner p.title{
	font-weight: bold;
}


#nav_toggle {
	display: block;
	width: 18px;
	height: 15px;
}
#nav_toggle div {
	  position: relative;
  }
  #nav_toggle span{
	  display: block;
	  height: 1px;
	  background: #222;
	  position:absolute;
	  width: 100%;
	  left: 0;
	  -webkit-transition: 0.5s ease-in-out;
	  -moz-transition: 0.5s ease-in-out;
	  transition: 0.5s ease-in-out;	
  }
  #nav_toggle span:nth-child(1){
	  top:0px;
  }
  #nav_toggle span:nth-child(2){
	  top:7px;
  }
  #nav_toggle span:nth-child(3){
	  top:15px;
  }