/*****************************************************-
CSS Document : SP用
- ****************************************************/
html {
	-webkit-text-size-adjust: none;
	/*font-size: 10px;*/
}
/*基本フォント*/
body {
	-webkit-text-size-adjust: 100%;
	color: #333;
	font-size: 1.4rem;
	line-height: 1.6;
	box-sizing:border-box;
	/*overflow:hidden;*/
}
dt,
dd,
p,
li,
a {
	max-height: 100%;
}
img{
max-width: 100%;
height: auto;
width /***/:auto;　
}

/*****************************************************-
Common
- ****************************************************/
#container{
	position: relative;
	height: 100%;
}
#main {
	padding-bottom:56px;
}
.width{width:90%;}
#response-flag {
	display: none;
}
.pc-only {
	display: none;
}

.dsp-no-sp{ display:none; visibility:hidden;}

.btn,
.btn-pink
 {
	overflow: hidden;
	width: 90%;
	height:60px;
	margin: 40px auto;
}
.btn a,
.btn-pink a,
.btm-menu li a
{
	display: block;
	position: relative;
	z-index: 100;
	text-align:center;
	color: #fff;
	font-size: 1.2em;
	font-weight:600;
	line-height: 64px;
	text-decoration:none;
} 
.btn a {
	background: #0068b7;
}

.btn-pink a {
	background: #e4007f;
}


h3.ttl {
    padding: 0.25em 0.5em;
    color: #494949;
    font-size: 1.6em;
    font-weight: 600;
    background: transparent;
    border-left: solid 6px #e4007f;
}
.xx-large{ font-size:1.1em}
/*****************************************************-
header
- ****************************************************/

.header-line {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	height: 60px;
	padding:8px 15px;
	position: relative;
}
#header-logo{ text-align:left;}
#header-logo img{ width:35%;}
.js-flex-btn {
	background: url(../images/sp-btn-header-sprite.png) no-repeat left top;
	background-size: 140px auto;
	-webkit-background-size: 140px auto;
	cursor: pointer;
	height: 60px;
	position: absolute;
	right: 0px;
	top: 0px;
	width: 70px;
}
.header-nav li {
	border-top: 1px solid #DADADA;
}
.header-nav li:nth-of-type(1) {
	border-top: none;
}
.header-nav li a {
	display: block;
	padding-bottom: 13px;
	padding-top: 13px;

}
.header-nav .nav li {
	border-top: 1px solid #DADADA;
	font-size: 1.6rem;
	letter-spacing:4px;
	text-align:center;
}
.header-nav .nav li a {
	color:#0168b7;
	display: block;
	padding-bottom: 1.1em;
	padding-top: 1.1em;
	text-decoration: none;
	font-weight:600;
	text-align:center;
}
.header-nav .nav li a:hover,
.header-nav .nav li a:focus {
	text-decoration: underline;
}

.js-flex-btn.js-open {
	background-position: -60px top;
}
.js-flex-box {
	background-color: #FAFAFA;
	height: 0;
	overflow: hidden;
}

.js-flex-box .js-flex-close {
	border-bottom: 1px solid #CCCCCC;
	border-top: 1px solid #DADADA;
	color: #333333;
	cursor: pointer;
	font-size: 1.4rem;
	padding-bottom: 14px;
	padding-top: 14px;
	text-align: center;
}
.js-flex-box .js-flex-close span {
	display: inline-block;
	padding-left: 20px;
}

/*****************************************************-
top
- ****************************************************/

.txt-box{width:80%; font-size:1.5em;}
h2.txt-box{font-size:1.2em; line-height:1.6em;}
h3.txt-box{font-size:1.1em; line-height:1.6em; text-align:left;}

h3.icon-camera {
	font-size:1.2em;
	height:1.5em;
	line-height:1.5em;
	font-weight:600;
	text-align:center;
  }
h3.icon-camera img{
	width:12%;
  }  
.top-service{ display:none; visibility:hidden;}

.top-service-sp{
	width:90%;
	border:#0068b7 2px solid;
	box-sizing:border-box;
	padding:1.2em;
	margin:0 auto 50px auto;
	}

ul.top-service-sp--list{
	display: flex ;
	flex-direction: row ;
	flex-wrap: wrap ;
	justify-content: center ;
	align-items: flex-start ;
	align-content: center ;
	}
	
ul.top-service-sp--list li{
	width:50%;
	font-size:1.1em;
	color:#0068b7;
	font-weight:600;
	}

.slider-pro {
	overflow:hidden;
}

/*****************************************************-
Contents
- ****************************************************/
h2.ttl {
	padding: 0.5em 0;
	text-align:center;
	font-size:1.6em;
	font-weight:600;
	color: #494949;
	background: transparent;/*背景透明に*/
	border: solid 2px #0168b7;/*左線*/
}
h3.ttl {
	padding: 0.25em 0.5em;/*上下 左右の余白*/
	color: #494949;
	font-size:1.4em;
	font-weight:600;
	background: transparent;/*背景透明に*/
	border-left: solid 6px #e4007f;/*左線*/
}
.bg-Lgray{ background:#f4f4f4; padding:40px 0;}
.commonTable {
  font-size:1em;
  margin-bottom:50px;
  margin-top:20px;
  }
  
.commonTable th {
    width: 35%;
    text-align: left;
    background-color: #efebe8; 
	} 
.commonTable td,
.commonTable th {
    padding: 0.8em 1em;
    border-bottom: 1px solid #d3cfcc; }		

.profile{margin-top:20px;}
.profile dd{margin-bottom:40px;}

.pic-box{ padding-top:20px; font-size:1.1em;}
.pic-box img{width:100%; margin-top:20px;}

.checklist{
	margin-top:1em;
	margin-bottom:20px;
}
.checklist div {
  position: relative;
  margin-left:1.5em;
}
.checklist div::after {
  display: block;
  content: '';
  position: absolute;
  top: .5em;
  left: -1.5em;
  width: 8px;
  height: 3px;
  border-left: 4px solid #0168b7;
  border-bottom: 4px solid #0168b7;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.list-disc div {
  position: relative;
  margin-left:1em;
}
.list-disc div::after {
  display: block;
  content: '';
  position: absolute;
  top: .5em;
  left: -1em;
  width: 6px;
  height: 6px;
  background-color: #0168b7;
  border-radius: 100%;
}

.btm-menu{
	background:#0068b7;
	width: 100%;
	margin-bottom:55px;
	}
.btm-menu li{
	background:#0068b7;
	height:60px;
	border-bottom:1px #FFF solid;
	}
/*****************************************************-
footer
- ****************************************************/
footer{font-size:0.8em;}
/*****************************************************-
parts
- ****************************************************/
.breadcrumb {
	display: none;
}
.resizeimage{ 
    width: 100%;/* トリミングしたい枠の幅 */
    height: auto;/* トリミングしたい枠の高さ */
}
img.kv-sp {  width: 100%; overflow: hidden;}  /* sp用を非表示 */
img.kv-pc  { display: none; } /* pc用KVを表示 */
