
/*===============================================
画面の横幅が768px以下
===============================================*/

/* --- common --- */
img{
	max-width: 100%;
	height: auto;
	width /***/:auto;　
}

.flexbox {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
	-webkit-flex-wrap: no-wrap;
	flex-wrap: no-wrap;
}

.sp_hidden {
	display:none !important;
}

nav li a:before,
footer li a:before,
header li a:before{
	content:"";
	display:inline-block;
	width:11px;
	height:11px;
	background:url(../img/sp/menu_arrow_1.png) 0 0 no-repeat;
	background-size:100%;
	margin-right:4px;
}

p {
	margin:0;
	line-height:1.25;
}

table {
	box-sizing: border-box;
	width:100%;
	border-top:1px solid #000;
}
th,
td {
	box-sizing: border-box;
	font-size: 1.2rem;
	padding:0;
	border-bottom:1px solid #000;
	line-height:1.25;
	text-align:left;
	vertical-align:top;
}
th + th,
th + td,
td + td {
	border-left:1px solid #000;
}
thead th {
	background-color: #dde4f8;
	vertical-align:middle;
}
th {
	background-color:#ebecee;
}
table.cellalign-center th,
table.cellalign-center td,
th.cellalign-center,
td.cellalign-center{
	text-align: center;
	padding:0;
}
table.cellalign-right th,
table.cellalign-right td,
th.cellalign-right,
td.cellalign-right{
	text-align: right;
}

tr > .w80{width: 80%;}
tr > .w70{width: 70%;}
tr > .w60{width: 60%;}
tr > .w50{width: 50%;}
tr > .w45{width: 45%;}
tr > .w40{width: 40%;}
tr > .w35{width: 35%;}
tr > .w30{width: 30%;}
tr > .w25{width: 25%;}
tr > .w20{width: 20%;}
tr > .w15{width: 15%;}
tr > .w10{width: 10%;}
tr > .w5{width: 5%;}

table.cnptstyle th,
table.cnptstyle td{
	
}
table.cnptstyle td{
	border-left:1px solid #000;
}
table.cnptstyle .vlinecell {
	letter-spacing: 0.25em;
	padding: 0;
	width: 5%;
	text-align: center;
}
table .vlinecell > div {
	-ms-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	word-break: keep-all;
	word-wrap: normal;
}

table .bg1 {
	background-color: #6db940;
	color: #fff;
}
table .bg2 {
	background-color: #ace18c;
}


table.nonestyle {
	width:auto;
	float:none;
	border:none;
}

table.nonestyle th,
table.nonestyle td {
	padding:0;
	border:none;
}

table.nonestyle th {
	width:auto;
	background-color:transparent;
	text-align:left;
}

th.pR1 {
	padding-right:1em !important;
}

.nowrap {
	white-space:nowrap;
}

.mT1 {
	margin-top: 1em !important;
}
.mT2 {
	margin-top: 2em !important;
}

.mB1 {
	margin-bottom: 1em !important;
}
.mB2 {
	margin-bottom: 2em !important;
}

/* ================================
Area Style
================================ */

/* header */
header {
	display:block !important;
	height:77px;
	width:100%;
	border-bottom:4px solid #1d2088;
	background-color:#fff;
	position:fixed;
	top:0;
	z-index:2;
}
header .sitelead h1 {
  background-color: #f5f5f5;
  margin: 0 0 5px;
  padding: 1% 0 0.5%;
  font-size: 12px;
  color: #000;
  line-height: 1.2;
}
.header_link .navbox {
  display: none;
}

header h2 {
	margin-left:15px;
}

header .menu {
  display: none;
}

header h2 a {
	display:inline-block;
	width:170px;
	height:31px;
	background:url(../img/sp/hd_logo_sp_1.png) 0 0 no-repeat;
	background-size:100%;
	vertical-align:middle;
	text-indent:-10000px;
	overflow:hidden;
}
button.drawer-hamburger {
      top: 25px;
}


/* Nav */
nav {
	display:block !important;
}

nav.drawer-nav .navhd{
	display:none;
}

/* footer */
footer {

}

footer #copyright {
	padding:1em 0;
	text-align:center;
	font-size:1.2rem;
	line-height:1.25;
}

/* Nav & Footer */
footer ul{
	display:block !important;
	border-top:1px solid #dedede;
}

nav li,
footer li{
	border-bottom:1px solid #dedede;
}

nav li a,
footer li a{
	display:block;
	width:auto;
	height:40px;
	line-height:40px;
	padding:0 10px;
	color:#000;
	font-size:1.4rem;
}

nav li a:before,
footer li a:before{
	margin-right:6px;
}

/* content */
#content {
	margin-top:0;
	margin-bottom:120px;
	padding:120px 0 80px;
	background:url(../img/sp/cnt_bg_mid_1.jpg) 50% 0 repeat;
	position:relative;
	top:0;
	z-index:0;
}

#content:after {
	content:"";
	display:block;
	width:100%;
	height:350px;
	background:url(../img/sp/cnt_bg_btm_1.jpg) 50% 100% repeat-x;
	position:absolute;
	bottom:-120px;
	z-index:0;
}

/* section common */
article > section {
	box-sizing:border-box;
	border-top:10px solid #1d2088;
	padding:25px 10px;
	margin:40px auto 0;/* offset */
	background:#fff;
	position:relative;
}

article > section:before {
	content:"";
	width:10px;
	height:0;
	border-top:10px solid #ed1241;
	position:absolute;
	top:-10px;
	left:0;
}

section .container{
	position:relative;
}

section .container > h1,
section > h1 {
	color:#444;
	margin-bottom:1.5em;
}

/* article common */
article {
	position: relative;
	z-index:1;
}

article h1 {
	font-size:1.8rem;
	line-height:1.1;
}

article h2 {
	font-size:1.6rem;
	line-height:1.25;
	margin:0 0 1em;
}

article h3 {
	color:#000;
	margin:1.75em 0 0.75em;
}

article h3 + p {
	margin-top:0.75em;
}

.marker {
	font-size: 1.0rem;
	vertical-align: middle;
	margin-right: 0.5em;
}

ul.hasmarker li{
	text-indent: -1.0em;
	padding-left: 1.0em;
}

article li {
	padding-left:1em;
	text-indent:-1em;
	line-height:1.25;
}

article li + li {
	margin-top:0.5em;
}

article .overview {
	display:block !important;
	border:1px solid #dedede;
	background-color:#ededed;
	padding:10px;
}

article .overview .zip {
	margin-bottom:1em;
	line-height:1.5;
}

article .overview table {
	width:100%;
}

article .overview th{
	text-align:right;
}

article .overview th,
article .overview td{
	line-height:1.5;
}

/* scttop */
.scttop {
	padding:0 0 20px;
	margin-top:0;
	color:#222;
	line-height:1.5;
}
.scttop > h2 {
	padding:1em 10px;
	background: #fff;
	margin: 0;
}
.scttop > h3 {
	background: #808080;
	padding: 0.5rem 0;
	margin: 0;
	text-align: center;
	color: #fff;
	font-size: 1.6rem;
}
.scttop .sctbox1 .flexbox {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content:space-between;
	justify-content:space-between;
}
.scttop .sctbox1 .top {
	padding: 10px;
}
.scttop .sctbox1 .top .clm {
	box-sizing: border-box;
	-webkit-flex:0 0 31%;
	flex:0 0 31%;
	display: -webkit-flex;
    display: flex;
	-webkit-align-items:center;
	align-items:center;

	padding: 5px;
	border-radius: 15px;
	border: 2px solid #e3e3e3;
	background: #f5f8fe;
	color: #666;
	font-size: 1.6rem;
	position: relative;
}
.scttop .sctbox1 .top .clm:nth-child(n+4) {
	margin-top: 10px;
}
.scttop .sctbox1 .top .clm p {
	font-size: 1.4rem;
}
.scttop .sctbox1 .btm {
	background: #6bba37;
	padding: 50px 10px 20px;
	position: relative;
}
.scttop .sctbox1 .btm:before {
	content: "";
	position: absolute;
	border: 40px solid transparent;
	border-top: 40px solid #fff;
	height: 0;
	width: 0;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
}
.scttop .sctbox1 .btm .clm {
	box-sizing: border-box;
	-webkit-flex:0 0 31%;
	flex:0 0 31%;
	color: #fff;
}
.scttop .sctbox1 .btm .clm p {
	font-size: 1.4rem;
}
.scttop .sctbox1 .btm .clm .ptnum {
	display: block;
	height: 4.0rem;
	border-bottom: 1px solid #fff;
	line-height: 4.0rem;
	text-align: center;
	font-size: 3.0rem;
	margin-bottom: 10px;
}

/*  */
.scttop .sctbox2 {
	padding: 20px 10px 0;
	/*background:#f5f8fe url(../img/sctbox2_bg_1.jpg) 100% 100% no-repeat;*/
	text-align: center;
}
.scttop .sctbox2 h2 {
	padding: 0.5rem 10px;
	border: 1px solid #45a108;
	display: inline-block;
	color: #45a108;
	font-size: 1.6rem;
	text-align: center;
	margin:0 10px 20px;
}
.scttop .sctbox2 .body {
	text-align: left;
	color: #666;
	font-size: 1.4rem;
}
.scttop .sctbox2 .body p {
	line-height: 2.0;
}
.scttop .sctbox2 .body table {
	margin-bottom: 0.5em;
	color: #111;
}
.scttop .sctbox2 .body table th,
.scttop .sctbox2 .body table td {
	vertical-align: middle;
}
.scttop .sctbox2 .body table td {
	text-align: center;
}

/* s3 */
#s3 .s3topimg {
	margin: 20px 0 0;
}
#s3 h3.label {
	display: inline-block;
	box-sizing: border-box;
	height: 2.6rem;
	padding:0 10px;
	background-color: #6bba37;
	color: #fff;
	font-size: 1.8rem;
	line-height: 2.6rem;
	margin: 20px 0 20px -10px;
	position: relative;
}
#s3 .layoutbox .image {
	margin-top: 1em;
}



ul.hlist {
	display:-webkit-flex;
	-webkit-justify-content:flex-start;
	-webkit-align-items:stretch;
	-webkit-flex-wrap:wrap;

	display:flex;
	justify-content:flex-start;
	align-items:stretch;
	flex-wrap:wrap;
}

ul.hlist li{
	box-sizing: border-box;
	-webkit-flex:0 1 auto;
	flex:0 1 auto;
	text-indent: 0;
	padding: 0;
	margin:0 1em 0 0 !important;
}
ul.hlist li + li {
	/*margin-left: 1em !important;*/
}

ul.nestblock{
	margin: 1em auto;
}
.qalist dt,
.qalist dd {
	padding-left: 48px;
	position: relative;
}
.qalist dt {
	color: #1d2088;
	font-size: 2.0rem;
	text-decoration: underline;
	line-height: 1.5;
	margin-bottom: 0.75em;
}
.qalist dd {
	padding-top: 0.2em;
	line-height: 1.66;
}
.qalist dd + dt {
	margin-top: 40px;
}
.qalist dt:before,
.qalist dd:before {
	content:"Q";
	color: #fff;
	font-size: 2.0rem;
	width: 35px;
	height: 35px;
	background: #1d2088;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	text-align: center;
	line-height: 35px;
	position: absolute;
	left: 0;
	top: 0;
}
.qalist dd:before {
	content:"A";
	background: #ed1241;
}

/* お客様の声 */
#s5 .customer_voice p {
  margin:  0 0 15px;
  font-size: 18px;
  color: #000;
  font-weight: bold;
}
#s5 .customer_voice dl {
  margin: 0 0 30px;
  padding: 15px;
  border: 1px dashed #A6A6A6;
  font-size: 16px;
}
#s5 .customer_voice dl dt {
  margin:  0 0 20px;
  line-height: 1.2;
  color: #000;
  font-weight: bold;
}
#s5 .customer_voice dl dd {
  line-height: 1.2;
}

/* aside */
aside {
	width:100%;
	position:absolute;
	bottom:-180px;
	z-index:1;
}
article aside {
	width: auto;
	position:static;
	bottom: auto;
	z-index: auto;
}

aside.footer_bnr  .flexbox {
  flex-direction: column;
  margin: 5% 0 0;
}
aside .banner{
	width:320px;
	margin:0 auto;
	background:#fff;
	-webkit-box-shadow:0 0 12px 0 rgba(0,0,0,0.8);
	box-shadow:0 0 12px 0 rgba(0,0,0,0.8);
	position:relative;
	margin-top: 40px;
}
aside .flexbox .banner {
  margin: 0 auto;
}
aside.footer_bnr .banner + .banner {
    margin-top: 15px;
}

#topagetop {
	position: fixed;
	bottom: 5px;
	right: 5px;
	z-index: 1000;
}
#topagetop a {
	display: block;
	width: 40px;
	height: 0;
	padding-top: 40px;
	-webkit-border-radius: 100%;
	border-radius: 100%;
	background: #fff url(../img/bg_topagetop.png) 49% 50% no-repeat;
	background-size: 66%;
	border: 5px solid #1e2383;
	overflow: hidden;
}

aside .banner a:hover{
	opacity:0.9;
	-webkit-animation: hover1 1s ease;
	animation: hover1 1s ease;
}

aside.contact {
	padding: 30px;
	/*border: 10px solid #1e2383;*/
	background: #fff;
	margin: 40px 10px 0;
	position: relative;
}
aside.contact:before,
aside.contact:after{
	content: "";
	position: absolute;
	width:0;
	height:0;
	border: 20px solid #fff;
	z-index: 0;
}
aside.contact:before {
	top: 0;
	left: 0;
	border-top-color: #ed1241;
	border-left-color: #ed1241;
}
aside.contact:after{
	bottom: 0;
	right: 0;
	border-bottom-color: #ed1241;
	border-right-color: #ed1241;
}

aside.contact .hdbody {
	text-align: center;
}
aside.contact .body {
	margin-top: 20px;
	text-align: center;
	position: relative;
	z-index: 1;
}
aside.contact .body p {
  font-size: 12px;
}
aside.contact .body p span {
    margin-left: 5px;
    vertical-align: 4px;
  display: inline-block;
  max-width: 120px;
}

aside.contact .body .sub {
	display: block;
	background-color: #ed1241;
	padding: 5px 0;
	margin: 0 10%;
	color: #fff;
	font-weight: bold;
	line-height: 1.0;
}
aside.contact .body ul {
	position:relative;
	padding: 10px 20px 20px;
}
aside.contact .tel {
  margin: 0 0 15px;
}
aside.contact .email {

	margin-top: 20px;
}
aside.contact .home {

}
aside.contact .home img {
	margin-bottom: 0.25em;
}
aside.contact a {
	display: block;
}

aside.contact .body p {
	
}
aside.contact h2 {
	font-family:"ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3","HGS明朝E","ＭＳ Ｐ明朝","MS PMincho","YuMincho",serif;
	font-size: 1.6rem;
	margin-bottom: 10px;
}

