@charset "utf-8";

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}

html{font-size: 10px;}
body{
	font-family: "Yu Gothic", YuGothic,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
	font-size: 1.6rem;
	background-color:#ffff;
	position: relative;
}

img{
	max-width: 100%;
	height: auto;
}

a,a:link,a:visited{color:#30B1A5;}
a:hover{color:#30B1A5;}
a:hover img {
	opacity: 0.7;
	-webkit-transition: opacity .25s ease-out;
	transition:opacity .25s ease-out;
}

.cf::after{
  content: "";
  display: block;
  clear: both;
}

.comlogo{
    max-height: 30px;
    width: auto;
}


/*********** header *****************/

header{
	background-color: #fff;
	padding:15px;
	text-align: left;
	position: relative;
}
header .logo{
	display: inline-block;
}

.inner{
	max-width:1100px;
	width:100%;
	margin:auto;
}

#header-links{
	position: absolute;
	right:15px;
	top:15px;
}
#header-links ul li{
	display: inline-block;
	margin-left:0.5em;
	margin-right:0.5em;/*201809*/
	font-size: 14px;
	font-weight: bold;
}

/********* contents ***********/

#contents{
	padding-bottom:50px;
}

#contents a:link,
#contents a:visited{
	color:#FF4C4C;
	text-decoration: underline;
    word-break: break-all;
}

#contents a.blue{
	color:#fff;
	text-decoration: none;
}

#contens section{
	font-size: 1.4rem;
}

.main_visual{
	padding:15px 15px 0;
	text-align: center;
	overflow: hidden;
	display: inline-block;
	color:#fff;
}
.main_visual img{
	display: block;
	float:left;
	margin-right: 15px;
}

.main_visual strong{
	font-size: 40px;
}
.main_visual span.box{
	font-weight: bold;
	padding:0.3em 2em;
}

.wrap{
	width:100%;
	max-width:1024px;
	margin:0 auto;
}
.sec{
	width:100%;
	max-width: 960px;
	margin:20px auto;
	padding:15px;
	background-color:#f0f0f0;
	border-radius: 5px;
}
.sec-wide {
    width: 100%;
    max-width: 1024px;
    margin: 20px auto;
    padding: 15px;
    background-color: #f0f0f0;
    border-radius: 5px;
}
.sec-wide-2 {
    max-width: 100%;
    margin: 0;
    border-radius: 0;
    padding: 0;
}

.sec-inner{
	max-width: 650px;
	margin:auto;
}

#login-error{display: none;}

.input_box{
	background: #ddd;
	padding: 8px;/*fix0329 */
	border-radius: 10px;
	font-size: 20px;
	overflow: hidden;
}

#inner .input_box{
	font-size:1.4rem;
}
.input_box p{
	width:50%;
	float: left;
	font-weight: bold;
	text-align: right;
}
.input_box p input{
	font-family: "Yu Gothic", YuGothic,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	padding: 0.2em;
	font-size: 20px;
	width:90%;
	height: auto;
}

span.btn{
	display: inline-block;
	font-size: 25px;/*fix0329 */
	font-weight: bold;
	color:#fff;
	background-color:#1FABA1;
	text-align: center;
	padding:10px 5em;
	margin:10px auto !important;/*fix0329 */
	border-radius: 3px;
	letter-spacing: 3px;
}
span.btn:hover{
	cursor: pointer;
	opacity: 0.7;
}

.remodal {
	border:4px solid #fff;
	font-size:16px;
}
.remodal h1{
	text-align: center;
	font-size: 25px;
	color:#000;
	font-weight: bold;
}
.remodal p{
	/*text-align: center;*/
	font-size: 15px;
}
.remodal span.btn{
	font-size: 22px;
}

.btns{
	padding:80px 0;
}

#contents a.btn-flat,
.btn-flat {
  display: inline-block;
  padding: 0.3em 1em;
  text-decoration: none;
  color: #44DEDE!important;
  border: solid 2px #44DEDE;
  border-radius: 3px;
  transition: .4s;
  font-weight:bold;
  font-size: 26px;
}

#contents a.btn-flat:hover,
.btn-flat:hover {
  background:#009a9a;
  border: solid 2px #009a9a;
  color: white !important;
  text-decoration: none;
}

.label,
.input,
.control{
	font-size: 16px;
	vertical-align: middle;
}

.control.bar{
	padding-bottom:10px;
	margin-bottom:10px;
	border-bottom:1px solid #ccc;
}

/*******************************/
/******* inner *****************/
/*******************************/

.head2{
	font-family: "Yu Gothic", YuGothic,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 20px;
	font-weight: bold;
	border-left:5px solid #1FABA1;
	padding-left:10px;
}

#info ul li{
	background-color:#fff;
	padding:0.3em;
}
.info-tit{
	font-family: "Yu Gothic", YuGothic,"ヒラギノ角ゴ Pro W3",sans-serif;
	font-size: 2rem;
	font-weight: bold;
}
.info-tit i{
	color:#1FABA1;
}

.checkboxes{
	display: inline-block;
	background-color:#fff;
	border:1px solid #ccc;
	padding:5px 0.5em;
	min-width:6em;
	border-radius: 5px;
	font-size: 18px;
	font-weight: bold;
	color:#000;
	margin-right:1em;
	margin-bottom: 0.5em;
}
.checkboxes:hover{
	cursor:pointer;
}
.checkboxes.checked{
	background-color:#1FABA1;
	color:#fff;
	-webkit-transition: all .25s ease-out;
	transition:all .25s ease-out;
}

.plain-button,
.small-button{
	display: inline-block;
	padding: 0.3em 3em;
	text-decoration: none !important;
	background-color:#FFBF00;
	border:2px solid #000;
	text-align: center;
	letter-spacing: 3px;
	border-radius: 2px;
	color:#000 !important;
	font-size: 20px;
	font-weight: bold;
}

.small-button{
	padding: 0.3em 1em;
	font-size: 16px;
	letter-spacing:0;
}

.c-orange{background-color:#FF7A4D; color:#fff !important;}

.plain-button:hover{
	border:2px solid #000;
	opacity: 0.7;
}
.plain-button.y{
}

/*********** joblist ************/

.joblist{
	padding:15px;
	border-left:20px solid #1FABA1;
	margin:2em 0;
}

.joblist h2{
	font-family: "Yu Gothic", YuGothic,"ヒラギノ角ゴ Pro W3", sans-serif;
	font-size: 1.8rem;
	font-weight: bold;
	color:#000;
	margin-bottom: 15px;
}

.joblist th,
.joblist td{
	font-size: 1.6rem;
}
.joblist th{
	font-weight:bold;
	color:#1FABA1;
	white-space: nowrap;
}

/*********** memlist ************/

.mem-list{
	border-bottom:1px solid #1FABA1;
	padding:10px 0;
	margin-bottom:10px;
	clear: both;
}

.ml-img{
	width:8%;
	padding-right:2%;
	float: left;
}
.ml-img img{
	border:1px solid #ccc;
}
.ml-body{
	width:60%;
	float: left;
}
.ml-body h3{
	font-size: 18px;
	font-weight: bold;
}
.ml-body .ex::before{
	content:"■";
	color:#1FABA1;
}
.ml-btns{
	width:32%;
	float: left;
	text-align:right;
}

#add-option{
	display: none;
}
/********** confirm page ********/

#lead{
	margin-top: 60px;
}
#lead h1{
	text-align: center;
	font-size: 60px;
	color:#ba0080;
	font-weight: bold;
}
#lead p{
	border-top:2px dotted #ba0080;
	border-bottom:2px dotted #ba0080;
	padding:1em;
	text-align: center;
	font-size: 18px;
	max-width: 500px;
	margin:auto;
}

#result table{width:100%; border-collapse: collapse; margin-bottom:20px;}
#result table tr{ background-color: #FAEDF1; }
#result table tr:nth-child(even){ background-color: #F4DBE2; }
#result table th{ font-size: 20px; font-weight: bold; border-right: 1px dotted #999; padding:1em; text-align: center; }
#result table td{ font-size: 20px; padding:1em;}

/**** massege:201809 ***/
.office-list{
	padding-right:1em;
}
.office-list li{
	clear: both;
	margin-bottom:10px;
	border-bottom:1px dotted #ccc;
	padding-bottom:15px;
}

.mes-ico span,
.office-list li span{
	display: block;
	width:30px;
	height:30px;
	float: left;
	overflow: hidden;
	margin-right:10px;
	background-color:#666;
	border-radius: 15px;
}
.mes-ico span img,
.office-list li span img{
	width:100%;
}
.office-list li a{
	font-weight:bold;
	padding-top:5px;
	text-decoration: none;
	display: block;
	font-size: 13px;
	background-color: #f0f0f0;
}


.destination-list {
    padding-right: 1em;
    overflow: hidden;
}


.destination-list li {
    clear: both;
    /* margin-bottom: 10px; */
    border-top: 1px dotted #ccc;
    padding-left: 15px;
    padding-right: 15px;
    background-color: #ffffff;
    overflow: hidden;
}

li.destination-active {
    background-color: #f0f0f0;
}

.destination-list li:last-child {
    border-bottom: 1px dotted #ccc;
}

.destination-list li a {
    font-weight: bold;
    padding-top: 10px;
    padding-bottom: 10px;
    text-decoration: none;
    display: block;
    /* display: inline-block; */
    font-size: 13px;
    /* background-color: #f0f0f0; */
    /* width: 230px; */
    overflow: hidden;
}

.destination-list li span.destination-list-icon {
    display: block;
    width: 30px;
    height: 30px;
    /* float: left; */
    overflow: hidden;
    margin-right: 10px;
    background-color: #666;
    border-radius: 15px;
}

.destination-list li span.destination-list-name {
    width: calc(100% - 40px);
    margin-top: 5px;
    padding-right: 15px;
}

.notice_num {
    display: block;
    background-color: #FF0000;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: normal;
    min-width: 20px;
    height: 20px;
    line-height: 18px;
    border-radius: 10px;
    border: solid 1px #FFFFFF;
    /* box-shadow: 0 0 1px 2px #FFFFFF; */
    padding-left: 3px;
    padding-right: 3px;
    text-align: center;
}
.notice_num.notice_num_total_header {
	position: absolute;
	top: -8px;
	right: -8px;
}
@media screen and (max-width:480px) {
    .notice_num.notice_num_total_header {
        right: 0px;
    }
}
.notice_num_parent {
    position: relative;
}

.notice_num.notice_num_by_from {
    position: absolute;
    top: calc(50% - 9px);
    right: 0;
    font-size: 12px;
    min-width: 18px;
    height: 18px;
    line-height: 16px;
}

#mes-left {
    width: 300px;
    height: calc(100vh - 70px);
    overflow-y: auto;
    /* background-color: #f0f0f0; */
    background-color: #f9f9f9;
}

#mes-left-heading {
    width: 100%;
    text-align: center;
}

#mes-right {
    width: calc(100% - 300px);
    height: calc(100vh - 70px);
}


.mes-right-heading {
    width: calc(100% - 300px);
    position: fixed;
    opacity: 0.9;
    z-index: 10;
    text-align: center;
    font-weight: bold;
}
.mes-right-heading.top0{
	top:0;
}
#mes-left-heading, .mes-right-heading {
    height: 45px;
    line-height: 25px;
    padding: 10px;
    background-color: #FFFFFF;
    border-top: solid 1px #CCCCCC;
    /* border-bottom: solid 1px #CCCCCC; */
}

#mes-area {
    width: 100%;
    position: relative;
}

.mes-wrapper{
	padding:15px;
	width:94%;
	clear:both;
}
.mes-own-wrapper{
	padding:15px;
	width:94%;
	clear:both;
	margin-left:auto;
	margin-right:0;
}
.mes-ico{
	width:30px;
	margin-right:15px;
	float: left;
}
.mes-body{
	float:left;
	width:calc( 100% - 45px) !important;
	background-color:#fff;
	padding:1em;
}
.mes-own-body{
	float:right;
	width:70%;
	background-color:rgba(26,188,156,0.3);
	padding:1em;
}
.mes-body-p{
	padding:1em 0;
	font-size: 15px;
	color:#000;
}
.mes-own-body-p{
	padding:1em 0;
	font-size: 15px;
	color:#000;
}

.bg-mes{
	background-color:#CBE1F2;
}
.bg-white{
	background-color:#f0f0f0;
}

.next-mes{
	display: none;
}

.next-mes-button{
	width:20%;
	margin:1em auto;
	font-size: 20px;
	display: block;
	background:#fff;
}

.mes-form {
    background-color: #fff;
    padding: 0.5em;
    width: 100%;
    height: 116px;
}

.mes-form #message{
	width:90%;
	display: inline-block;
}

.mes-form-inner {
    /* width: 70.5%; */
    /* margin: 0 0 0 auto; */
    width: 100%;
    height: 100px;
    margin: 0;
    padding: 0.5em;
    border: 1px solid #000;
}

.message_area_single_message_box {
    width: 100%;
    height: calc(100vh - 70px - 116px);
    overflow-y: auto;
    position: relative;
    padding-bottom: 30px;
}

.mes-form .message_body_textarea {
    width: 100%;
    display: inline-block;
    line-height: 1.5;
    padding: 5px 10px;
    height: calc(4.5em + 10px);
    vertical-align: bottom;
}

.mes-form-inner-textarea {
    width: calc(100% - 80px - 10px);
}

.mes-form-inner-submit {
    width: 80px;
    margin-left: 10px;
}

.mes-wrapper.mes-own-wrapper {
    margin-left: auto;
    margin-right: 0;
}

.mes-own-wrapper .mes-body {
    float: right;
    width: 70%;
    background-color: rgba(26,188,156,0.3);
    padding: 1em;
}

.float-right {
    float: right;
}
.float-box {
    /* width: 100%; */
}
.float-left {
    float: left;
}

/**** massege:201809ここまで ***/

#top footer{
	position: absolute;
	bottom:0;
	left:0;
	width:100%;
}
footer{
	background-color: #F0F0F0;
	padding:15px;
	font-size: 1.2rem;
}

footer p{
	text-align: center;
}

.footer_ul{
	text-align: center;
}

.footer_ul li{
	display: inline-block;
	margin:0.5em 0 1em;
}
.footer_ul li a{
	padding:0.5em 1em;
	font-size: 13px;
}

/** 20181019追加 **/
h3.service-h3{
	font-size: 24px;
	font-weight:bold;
	text-align: center;
	padding-bottom:15px;
}
.bg-white{
	background-color:#fff;
}

.mes-submit-btn {
    width: 80px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    height: calc(4.5em + 10px) !important;
    line-height: calc(4.5em + 10px) !important;
    font-size: 16px !important;
}

.w3em{width:3em;}
.shadow{border-radius: 5px;box-shadow: 1px 1px 3px 3px rgba(0,0,0,0.2);}
.tl{text-align: left!important;}
.tc{text-align: center;}
.pc{display: block;}
.sp{display: none;}
.fs30{ font-size:30px; }
.fs20{ font-size:20px; }
.pad1em{padding:1em;}/*201809*/
.pt1em{padding-top:1em;}
.pb1em{padding-bottom:1em;}

@media screen and (max-width: 768px){
	body{
		box-sizing: border-box;
	}
	#header-links{
		position:static;
		text-align: center;
		padding:15px 0 0;
	}
	#header-links ul{
		text-align: center;
	}
	#header-links ul li{
		display: inline-block;
	}
	#contents{
		padding:0 10px 40px;
	}
	.main_visual p{
		text-align: center;
	}
	.main_visual img{
		display: block;
		float:none;
		margin: 0 auto 10px;
	}

	.main_visual strong{
		font-size: 30px;
	}
	.sec_inner{
		margin:20px auto;
	}
	.input_box p{
		width:100%;
		float:none;
		text-align:center;
		padding-bottom: 10px;
	}
	.input_box p input{
		box-sizing: border-box;
		width:95%;
		display: block;
		margin:auto;
	}
	span.btn {
		font-size: 22px;
		padding: 10px 1em;
		letter-spacing: 1px;
	}
	#lead{
		margin-top: 20px;
	}
	#lead h1{
		font-size: 30px;
	}

	#top footer{
		position: static;
	}
	#result table th{ font-size: 17px; padding:1em 0.4em;  }
	#result table td{ font-size: 17px; padding:1em 0.4em;}

	.message_area_single_submit_box{
		position: fixed;
		bottom:0;
		left:0;
		width:100%;
		z-index:9999;
	}

	.mes-right-heading {
		width:100%
	}

	#mes-right{
		display: none;
		position: absolute;
		top:0;
		left:0;
		width:100%;
		z-index:1;
	}
	.message_area_single_submit_box{
		display: block;
	}
	.pc{display: none;}
	.sp{display: block;}
}
