@charset "utf-8";
@import "module.css";

html {
	overflow:auto;
}


body {
	font-family:"メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	margin:0px auto;
	padding:0px;
	font-size:13px;
	color:#000;
	line-height:1.5;
	overflow:hidden;
}

a:link		{ color:#000; text-decoration: none;}
a:visited	{ color:#000; text-decoration: none;}
a:hover		{ color:#000; text-decoration: underline;}
a:active	{ color:#000; text-decoration: underline;}

img {
	max-width:100%;
	height: auto;
	width /***/:auto;
	border:none;
	vertical-align:bottom;
}

h1 img,h2 img,h3 img,h4 img,h5 img{
	display:block;
}

.clearfix {zoom:1;overflow:hidden;}
.clearfix:after {
	content: ""; 
	display: block; 
	clear: both;
}

.over{
	transition: all 0.2s ease-in 0s;
}
.over:hover{
	opacity:0.6;
}

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


/* margin,padding */

.no_margin{margin:0 !important;}


/* bg */

.bg_blue{background:#384099;}
.bg_light_blue{background:#CFD7F3;}
.bg_light_purple{background:#CFD0F5;}
.bg_gray{background:#F4F4F4;}
.bg_grid{background:url(../images/grid.jpg)repeat;}


/* font */

.deep_red{color:#CB2B49;}


/* table */

.table_box table {
	border-collapse:collapse;
	width:100%;
}
.table_box table tr,
.table_box table th,
.table_box table td {
	border-collapse:collapse;
}
.table_box table th {
	font-weight:bold;
	text-align:left;
}


@media screen and (max-width:640px){
	body {
		width:100%;
		height:100%;
		position:relative;
		overflow-x:hidden;
		-webkit-text-size-adjust: 100%;
		min-width:100%;
	}

	a ,
	a:hover ,
	a:visited {
		text-decoration:none;
	}

	input[type="text"],
	input[type="email"],
	textarea,
	select {
		-webkit-appearance: none;
	}

	.over:hover{
		opacity:1;
	}

	.pc{display:none;}

	.sp_mt_none{margin-top:0 !important;}

	.bg_grid{background-size:10px 10px;}
}

@media screen and (min-width: 641px){
	body {
		min-width:1240px;
	}

	.sp{display:none;}

	.sp_bg{background:none;}

	.pc_border_acc{
		margin-top:20px;
		position:relative;
	}
	.pc_border_acc:before{
		content:"";
		width:100%;
		height:20px;
		background:url(../images/border.png) repeat;
		position:absolute; top:-20px; left:0;
	}
}

/* チャットボット関連 */
#chatbot_opener {
	display: inline-block;
	position: fixed;
	bottom: 6px;
	right: 0;
	z-index: 8000;
	cursor: pointer;
}
@media screen and (min-width: 641px) {
	#chatbot_opener {
		width: 84px;
		height: 186px;
		background-image: url("../images/chatbot/chat_pc_green.png");
	}
}
@media screen and (max-width: 640px) {
	#chatbot_opener {
		bottom: 100px;
		width: 80px;
		height: 80px;
		background-size: contain;
		background-image: url("../images/chatbot/chat_sp_green.png");
	}
}
#chatbot_opener:hover {
	opacity: 0.95;
}
#chatbot {
	position: fixed;
	/*height: 70vh; common.js getChatbotConfigs() で設定 */
	overflow: hidden;
	z-index: 8000;
	background-color: #ffffff;
	display: flex;
	flex-direction: column;
	transition-duration: 600ms;
	transition-delay: 0ms;
	height: 85vh;
}
#chatbot.hide {
}
@media screen and (min-width: 641px) {
	#chatbot {
		bottom: 20px;
		right: 20px;
		width: 400px;
		border-radius: 10px;
		border: 2px solid #386cae;
		transition-property: right;
	}
	#chatbot.hide {
		right: -402px;
	}
}
@media screen and (max-width: 640px) {
	#chatbot {
		left: 0px;
		bottom: 0px;
		width: 100%;
		border-top: 2px solid #386cae;
		transition-property: bottom;
	}
	#chatbot.hide {
		/*bottom: calc(-70vh - 2px); common.js getChatbotConfigs() で設定 */
	}
	html.fixed {
		position: fixed;
	}
}
.chatbot_bg {
	position: fixed;
	background-color: #000000;
	opacity: 0.5;
	width: 100vw;
	height: 100vh;
	z-index: 6999;
	left: 0;
	top: 0;
	transition-duration: 600ms;
	transition-delay: 0ms;
	transition-property: opacity;
}
.chatbot_bg.hide {
	display: none;
}
#chatbot .chatbot_header {
	background-color: #0863b4;
	background-image: linear-gradient(90deg, #0863b4 0%, #2892cc 100%);
	position: relative;
	overflow: hidden;
}
#chatbot .chatbot_header .icon {
	display: inline-block;
	vertical-align: top;
	width: 45px;
	height: 45px;
	border-radius: 22.5px;
	background-color: #f8f8f8;
	background-image: url('/images/chatbot/istockphoto-871788854.png');
	background-size: contain;
	margin: 5px 10px 5px 5px;
}
#chatbot .chatbot_header p {
	text-align: center;
	color: #ffffff;
	margin: 0;
	font-size: 0.85em;
}
#chatbot .chatbot_header p.title {
	line-height: 55px;
	font-size: 1.2em;
}
#chatbot .chatbot_header .close_icon {
	cursor: pointer;
	display: inline-block;
	vertical-align: top;
	background-color: #ffffff;
	width: 20px;
	height: 20px;
	position: absolute;
	top: 20px;
	right: 10px;
	border-radius: 10px;
	text-align: center;
}
#chatbot .chatbot_header .close_icon:hover {
	opacity: 0.8;
}
#chatbot .chatbot_header .close_icon i {
	display: block;
	width: 16px;
	height: 16px;
	margin: 2px;
	padding: 0;
	color: #386cae;
}
@media screen and (max-width: 640px) {
	#chatbot .chatbot_header .close_icon i {
		padding: 1px 0 0 0;
	}
}
@media all and (-ms-high-contrast: none){ /* IEのみ */
	#chatbot .chatbot_header .close_icon i::before {
		content: "×";
	}
}
#chatbot iframe {
	border: none;
	width: 100%;
	flex-grow: 5;
}