@charset "UTF-8";

/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,sub,sup,var,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;font-weight:normal;}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}input,select{vertical-align:middle}

/*================================================
 *  一般・共通設定
 ================================================*/

* {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	font-size:calc(9px + 0.39vw) ;
	color:#333;
	font-family: "YuGothic", "游ゴシック",Century Gothic, メイリオ, "MS PGothic", "Hiragino Kaku Gothic Pro", Osaka, Verdana, sans-serif;
	line-height:1.6;
	background:#fff;
}

.inner {
	position:relative;
	width: 100%;
	margin: 0 auto;
	background-color: #FFFFFF;
}

header {
	box-sizing:border-box;
	position: relative;
	width: 100%;
	background:#ffffff;
}


#contents {
	clear: both;
	overflow:hidden;
	width:100%;
	margin:0 auto;
	margin-bottom: 0;
	background:#fff;
	box-sizing:border-box;
}

#contents p{
	letter-spacing: normal;
	}

.tel-wideimg {
	display: none;
	z-index: 9999;
}

.tel-wideimg img {
	width: calc( 100% - 2.0em);
}

.tel-wideimg a {
	padding: 0 1.0em;
}

.tel-wideimg ul {
	padding: 0 1.0em;
	letter-spacing: -0.4em;
}

.tel-wideimg li {
	letter-spacing: normal;
	width: 50%;
	display: inline-block;
	box-sizing: content-box;
}

.beafter-td p{
	background-color: #DDDDDD;
    padding: 0.5em;
	border-radius: 3px;
}

#main {
	box-sizing:border-box;
	overflow:hidden;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto; 
	padding-top: 2em;
}

#contact {
	box-sizing:border-box;
	overflow:hidden;
	width:100%;
	margin: 0 auto 0em auto;
	letter-spacing: -0.4em;
	box-sizing: border-box;
}

.privacy_div h4{
	margin: 2.0em 0 1.0em;
	font-size: 1.2em;
}

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

a:hover {
	color:#333;
	text-decoration:underline;
}

.infobodys {
	width: 100%;
}

.infobodys li{
	list-style: none;
	border-bottom: 1px dashed #CCCCCC;
	padding: 0 0.5em 0.5em;
	margin: 0 0 0.5em 0;
	position: relative;
	font-size: 1.6em;
}

.infobodys a{
	text-decoration: underline;
}

.infobodys li:last-child{
	margin: 0;
}


.nexttxt {
	position: absolute;
	bottom: 0;
	right: 0;
}

h1{
	font-weight: bold;
	letter-spacing: normal;
	}


h2{
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
	letter-spacing: normal;
	}
	
h2 a {
	font-size:1.2em;
	font-weight: bold;
	text-align:center;
	text-decoration: underline;
	}

h3 {
	font-weight: bold;
	letter-spacing: normal;
}


h4 {
	font-size:1em;
    font-weight: bold;
	margin-bottom:0em;
	letter-spacing: normal;
}


h4 p{
	font-size:1em;
	overflow: hidden;
	width:100%;
	height:border-box;
    font-weight: bold;
	}

h4 p:before{
	content: '\f138';
    display: inline-block;
    font-family: FontAwesome;
    font-weight: bold;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	margin-right:0.35em;
	margin-left:0em;
	color:#444444;
	}

h5 {
	font-size:0.9em;
	color: #ffffff;
	font-weight: bold;
	text-shadow: 1px 1px 2px #202020;
}

p {
	margin:0 0 1em 0;
}

img {
	vertical-align:bottom;
}


pre {
	margin:1em 0;
	padding:1em;
}

blockquote {
	margin-bottom:1em;
	padding:1em;
	border:1px dotted #ddd;
	border-left:5px solid #ddd;
}

ul,ol,dl {
	margin:0 0 0 0;
}
ul li {
	list-style:disc;
}
ol li {
	list-style:decimal;
}
li {
	
}


table {
	width:100%;
	border-collapse:collapse;
	border:1px solid #ddd;
	background:#fff;
	margin-bottom:1em;
}

th {
	padding:10px;
	vertical-align:middle;
	font-size:1.5em;
	color: #ffffff;
	font-weight:bold;
	border-top:1px solid #ffffff;
	border-bottom:1px solid #ffffff;
	border-left:1px solid #ffffff;
	border-right:1px solid #ffffff;
	background: #666666;
	text-align: center;
}
th a{
	color: #ffffff;
	text-decoration: underline;
}
th a:hover{
	color: #666666;
	text-decoration: underline;
}

td {
	padding:10px;
	vertical-align:middle;
	font-size:1.5em;
	color: #000000;
	font-weight:normal;
	border-top:1px solid #ffffff;
	border-bottom:1px solid #ffffff;
	border-left:1px solid #ffffff;
	border-right:1px solid #ffffff;
	background:#eeeeee;
	text-align: center;
}

td a{
		text-decoration: underline;
}


iframe {
	width:100%;
	height:25em;
}

a.anchor{
    display: block;
    padding-top: 10em;
    margin-top: -10em;
}

.sponly {
		display: none;
	}

.red {
	color: #FF0004;
	font-size: 14px;
	font-weight: bold;
}

.breadcrumbs {
	width: 100%;
	margin: 0 auto;
	padding: 0px 10px 0px;
	-webkit-overflow-scrolling: touch;
	white-space: nowrap;
	font-size: 1.2em;
}

.breadcrumbs ul {
display: table;
}

.breadcrumbs ul li {
	list-style: none;
	margin: 0 10px 0 0;
	float: left;
}

.breadcrumbs a { 
	cursor: pointer;
	font-weight: bold;
	text-decoration: none;
}

/*================================================
 *  ヘッダー
 ================================================*/
header {
	padding:0px 0px;
}

.headers_h1 {
	height: auto;
	margin-bottom: 10px;
	padding: 0.5em 1em 0.5em 1em;
	background-color: #444444;
	text-align: left;
	font-weight: bold;
	color: #FFF;
}

.header-logo {
	float: left;
	width: 500px;
	height:auto;
	margin-top: 0.5em;
	margin-left: 5%;
	box-sizing: border-box;
}

.header-logo img {  
    width: 100%;  
    height: auto;  
  }  

.header-right01 {
	float:right;
	width: calc(55%);
	text-align:right;
	margin-bottom: 1.5em;
	padding: 0 0 0 0;
	}

.header-right01 img{
	max-width: 90%;  
    height: auto;
	}

.header-right01 ul li {
	list-style:none;
	width: 66%;
    margin: 1.5% 0 0 32%;
}


.header-sp-ray{
	display: none;
}
  
.header-sp-logo {
	width: 100%;
	height: auto;
	text-align: left;
	margin: 0 0 0.5em 0.5em;
	}

.header-sp-logo img {  
    width: 300px;  
    height: auto;
  }

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.subspace {
	display: none;
	animation: fadeIn 0.2s ease 0.3s 1 normal;
}

.re_subspace {
	animation: 1s fadeIn;
	position: fixed;
	display: block;
	top: 20px;
	right: 20px;
	z-index: 100;
	width: 400px;
	height: 96px;
	padding: 10px 10px 0px 10px;
	border-radius: 8px;
	background-color: #FFFFFF;
}

.re_subspace img{
	width: 100%;
}

input[type="submit"],
input[type="button"] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

.sub_button {
  display       : inline-block;
  border-radius : 5px;          /* 角丸       */
  font-size     : 15pt;        /* 文字サイズ */
  text-align    : center;      /* 文字位置   */
  cursor        : pointer;     /* カーソル   */
  padding       : 10px 25px;   /* 余白       */
  background    : #444444;     /* 背景色     */
  color         : #ffffff;     /* 文字色     */
  line-height   : 1em;         /* 1行の高さ  */
  transition    : .3s;         /* なめらか変化 */
  border        : 2px solid #444444;    /* 枠の指定 */
}
	
.sub_button:hover {
  box-shadow    : none;        /* カーソル時の影消去 */
  color         : #ffffff;     /* 背景色     */
  background    : #444444;     /* 文字色     */
}

.underheader {
	width: 100%;
	height:auto;
	margin-top: 1em;
	margin-bottom: 1em;
}

.underheader img{
	width: 100%;
	height:auto;
	
}

.top_header_bigimg {
	width: 100%;
	text-align: center;
	margin: 1.5em 0 0 0;
	display: block;
}

.top_header_bigimg a{
	display: block;
}

.defcon-00 {
	width: 100%;
	height:auto;
	overflow:hidden;
	margin:0 auto;
	box-sizing: border-box;
	margin-bottom: 3em;
}

.defcon-00 p{
	font-size: 1.2em;
	margin-bottom: 0.25em;
}

.defcon-00 img{
	width: 100%;

	height:auto;
	margin-bottom:1em;
}

.defcon-00 a:hover {
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter:"alpha( opacity=80 )";
}

.defcon-00 span img{
	width: 60%;
	height:auto;
	overflow:hidden;
	margin:0 20%;
	box-sizing: border-box;
	margin-top:1em;
	margin-bottom:1.5em;
}


/* コンテンツ依存 */

.d-type02 {
	position: relative;
	letter-spacing: -0.4em;
}

.d-type02-img {
	width: 40%;
	margin: 20px 0 0 0;
	display: inline-block;
	vertical-align: top;
}

.d-type02-img img{
	width: 100%;
}

.d-type02-li {
	width: 60%;
	margin: 70px 0 0 0;
	display: inline-block;
	letter-spacing: normal;
	vertical-align: top;
	padding: 0px 0px 0px 0%;
}

.d-type02-li li{
	overflow: hidden;
    width: 99%;
    margin: 0 1% 0.7em 0;
    clear: both;
    font-size: 1.8em;
    font-weight: bold;
    border-bottom: 1px dashed #6E6E6E;
	}
	
.d-type02-li li:before{
	content: '\f14a';
    display: inline-block;
    font-family: FontAwesome;
    font-weight: normal;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	margin-right:0.35em;
	margin-left:0em;
	color:#01698C;
}

.question_i {
	letter-spacing: normal;
	display: inline-block;
	margin-right:0.25em;
	margin-left: 0.1em;
	margin-top: -0.8em;
	vertical-align: top;
}

.question_i:before {
	content: '\f059';
    display: inline-block;
	vertical-align: top;
    font-family: FontAwesome;
    font-weight: bold;
	font-size: 2em;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	letter-spacing: normal;
	color: #8F810B;
}

.title-image {
	position: absolute;
	top: 0px;
	left: 0px;
	letter-spacing: normal;
	font-weight: bold;
	font-size: 2.0em;
	vertical-align: top;
}

.title-image img{
	width: 580px;
}

.layout-defh2 {
	overflow: hidden;
	width: 100%;
	height: auto;
	margin-bottom:1em;
	padding-bottom: 0.3em;
	clear:both;
    background-size:100% auto; 
	font-size: 1.4em;
	font-weight: bold;
	position: relative;
	}

.layout-defh2:before{
	content: "";
	position: absolute;
	width: 100%;
	left: 0;
	bottom: -0px;
	height: inherit;
	border-bottom: 7px solid #444444;
	}

.layout-defh2:after{
	content: "";
	position: absolute;
	width: 50%;
	left: 0;
	bottom: -0px;
	height: inherit;
	border-bottom: 7px solid #8F810B;
}

.hrmar {
	margin: 3.5em auto 3.0em ;
}

.layout-defh3 {
	overflow: hidden;
	width:100%;
	height: border-box;
	margin: 0 0 1em 0;
	padding: 5px 0 4px 0;
	clear:both;
	background-color:#444444;
    font-size: 1.2em;
	font-weight: bold;
	color:#fff;
	text-align:center;
	margin-top:1em;
	text-shadow: 1px 1px 2px #202020;
	letter-spacing: normal;
	position: relative;
}

.con-imgway p,.con-blogbox p,.con-stepbox p {
	font-size: 1.0em;
	text-align: left;
}

.con-blogbox img,.con-stepbox img{
	width: 500px;
	float: left;
	margin: 0px 1.2em 0px 0px;
}

.con-blogbox p,.con-stepbox p{
	font-size: 1.6em;
	padding: 0px 0px 0.2em 0px;
}

.layout-blogboxh4 h4{
	overflow: hidden;
	width:100%;
	height:border-box;
	margin: 0 0 0.7em 0;
	clear: both;
    font-size: 1.9em;
	font-weight: bold;
	text-align: left;
	}

.clear {
	clear: both;
}

.bottom30 {
	margin: 0px 0px 3.0em 0px;
}

.bottom50 {
	margin: 0px 0px 4.0em 0px;
}

.bottom70 {
	margin: 1.0em 0px 6.0em 0px;
	display: block;
}

.gray_txt {
	background: #DDDDDD;
    line-height: 2.2em;
    padding: 1.5em 1.5em 0.8em 1.5em;
}

.image_line ul{
	width: 100%;
	letter-spacing: -0.4em;
}

.image_line li{
	width: calc(calc(100% - 30px) / 3);
	display: inline-block;
	letter-spacing: normal;
	margin: 0 15px 0 0;
	box-sizing: border-box;
}

.image_line li:last-child{
	margin: 0;
}

.urline {
	text-decoration: underline;
	color: red;
}

.d-type01 {
	width: 100%;
	display: block;
}

.d-type01 ul{
	width: 100%;
	display: block;
	letter-spacing: -0.4em;
}

.d-type01 li{
	width: calc(calc(100% - 30px) / 3);
	letter-spacing: normal;
	display: inline-block;
	margin: 0 15px 1.0em 0;
	vertical-align: top;
}

.d-type01 li:nth-child(3n) {
	margin: 0;
}

.d-type01 h4{
    clear: both;
    font-size: 1.4em;
    font-weight: bold;
}

.d-type01 li img{
	width: 100%;
}

.d-type03 {
	width: 100%;
	display: block;
}

.d-type03 ul{
	width: 100%;
	display: block;
	letter-spacing: -0.4em;
}

.d-type03 li{
	width: calc(calc(100% - 15px) / 2);
	letter-spacing: normal;
	display: inline-block;
	margin: 0 15px 1.5em 0;
	vertical-align: top;
}

.d-type03 h4{
    clear: both;
    font-size: 1.9em;
    font-weight: bold;
	margin-bottom: 0.8em;
}

.d-type03 li img{
	width: 35%;
	float: left;
	margin: 0px 1em 0px 0px;
}

.d-type03 p{
	font-size: 1.6em;
    padding: 0px 0px 0em 0px;
	margin-bottom: 0;
}

.d-type03 li:nth-child(2n){
	margin: 0 0px 1.5em 0;
}

.beafter-table {
	display: table;
	width: 90%;
	margin: 0 5% 0 5%;
}

.beafter-table > .beafter-th{
	display: table-cell;
	width: 48%;
	padding: 1%;
	vertical-align: top;	
	text-align: center;
}

.beafter-table > .beafter-th span{
	font-size: 1.2em;
	border-radius: 8px;
	padding: 8px 16px;
	line-height: 30px;
	color: #FFFFFF;
}

.bef {
	background-color: #8F810B;
	font-weight: bold;
	color: #FFFFFF;
	text-shadow: 1px 1px 2px #202020;
}

.aft {
	background-color: #FE8D0D;
	font-weight: bold;
	color: #FFFFFF;
	text-shadow: 1px 1px 2px #202020;
}

.underlink {
	text-align: right;
}

.underlink a{
	width: 200px;
	display: inline-block;
	background: #8F810B;
	color: #FFF;
	padding: 0.6em 1.0em 0.6em 1.0em;
	text-align: center;
	font-weight: bold;
	font-size: 1.6em;
}

.contact_for {
	margin: 1.0em 0 0;
}

.contact_for ul{
	width: 100%;
	display: table;
	background: #F5F4F4;
	padding: 0;
	margin: 1.0em 0;
}

.contact_for li{
	width: 33%;
	display: table-cell;
	text-align: center;
	padding: 1.0em;
}

.btn,
a.btn,
button.btn {
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1em 2em;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: normal;
  color: #212529;
  border-radius: 0.5em;
}

a.btn--orange {
  color: #fff;
  background-color: #eb6100;
}

a.btn--orange:hover {
  color: #fff;
  background: #f56500;
}

a.btn-c {
  font-size: 1.4em;
  position: relative;
  padding: 0.5em 1.0em;
  border-radius: 100vh;
}

a.btn-c i.fa {
  margin-right: 1em;
}

/* ------------------------------
 コンタクト
------------------------------ */

div.border-con {
	clear:both;
	width:100%;
	position: relative;
	border-bottom: 2px dotted #ccc;
	margin-top: 0;
}	

.contact-line {
  width: 33%;
  text-align: left;
	font-weight: bold;
	font-size: 1.0em;
	margin-bottom:-0.75em;
	display: inline-block;
	letter-spacing: normal;
	vertical-align: top;
}


.contact-line p {
	width: 100%;
	height: auto;
    font-size: 1.5em;
	padding: 0.7em 0.2em 0.3em 0.2em;
	box-sizing: border-box;
    font-weight: bold;
	text-align: right;
}

.contact-line02 {
  width: 60%;
  margin:0 0 0 0;
  padding: 10px 0 10px 0;
  text-align: left;
  display: inline-block;
  letter-spacing: normal;
  vertical-align: top;
}


.contact-line02 p {
	width:100%;
	height: auto;
    font-size: 1.5em;
	box-sizing: border-box;
}

.contact-line02 label {
    display: inline-block;
    padding: 0.3em 0;
    margin-bottom: 0.1em;
    margin-right: 1em;
	font-size: 1.5em;
}

.contact-line03 ,.contact-line04{
  width: 100%;
  margin:0 0 1em 0;
  text-align: center;
  letter-spacing: normal;
}

.contact-line03 img{
  width: 50%;
  margin:0 auto;
  text-align: center;
}	

.contact-line03 h3 {
	font-size: 1.2em;
}

.contact-line04 p {
	width:100%;
	height: auto;
    font-size: 1.7em;
	padding: 0.5em 0 0.5em 0em;
	box-sizing: border-box;
    font-weight: bold;
}


#contact input[type="text"],.fullinput,#contact input[type="email"],#contact input[type="tel"],.contact-line02 textarea{
    width: 94%;
    padding: 2%;
	font-size: 20px;
	margin: 0px 0px 0.0em 0px;
}


.label {
  color: #333333;
  position: absolute;
  width: 100%;
  z-index: 1;
  background: #DDDDDD;
  font-weight: bold;
}

.select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  cursor: pointer;
  width: 100%;
  border: none;
  padding: 20px;
  opacity: 0;
  position: relative;
  z-index: 2;
}

/* IE10以上で矢印を消す */
.select::-ms-expand {
  display: none; 
}

/* フォーカス時 */
.select:focus {
  z-index: -1;
  opacity: 1;
}

.contact-line02 textarea{
	height: 150px;
}

.contact-line02 p{
	text-align: left;
}

#contact input[type="text"]:focus ,#contact input[type="date"]:focus ,.contact-line02 textarea:focus {
    box-shadow: 0 0 5px 0 rgba(0,127,208);
    border: 2px solid #FFF !important;
    outline: 0;
}

.banaclass-box {
	letter-spacing: 1em;
	width: auto;
	text-align: left;
}

.banaclass-box .banaclass {
	letter-spacing: normal;
	display: inline-block;
	width: 400px;
	padding: 0em 0em 0em 0em;
}

.banaclass-box .banaclass img{
	width: 400px;
}

.next_button {
	text-align: right;
	font-weight: bold;
	padding: 0.5em;
	display: block;
}

.next_button a{
	color: royalblue;
}

/*================================================
 *  会社概要
 ================================================*/

.table_css {
	width: 100%;
	margin: 0 auto 0px;
	font-size: 1.2em;
}

.csstr {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #E3E3E3;
	display: table;
}

.csstr:last-child {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #E3E3E3;
	border-bottom: 1px solid #E3E3E3;
	display: table;
}

.csstr > .table_th{
	width: 30%;
	display: table-cell;
	text-align: left;
	padding: 0.5em;
	border-right: 1px solid #E3E3E3;
	/*border-left:  1px solid #E3E3E3;*/
	background-color: #F1F1F1;
	color: #202020;
	font-weight: bold;
	box-sizing: border-box;
}

.csstr > .table_td{
	width: 70%;
	display: table-cell;
	padding: 0.5em;
	border-right: 1px solid #E3E3E3;
	border-left:  1px solid #E3E3E3;
	box-sizing: border-box;
}


/*================================================
 *  フッター
 ================================================*/

footer {
	clear:both;
	background: #444444;
}

.copyright {
	clear:both;
	padding: 2% 0;
	font-size:16px;
	text-align:center;
	color:#fff;
	padding-bottom: 3em;
	text-shadow: 1px 1px 2px #202020;
}

.copyright a{
	color:#ffffff;
}

.footer-width {
	width: 1280px;
	margin: 0 auto;
	}


.footer-logo-left {
	clear:both;
	width: 100%;
	text-align:center;
	margin-top: 30px;
	margin-bottom: 30px;
}

.footer-logo-left img{
	width: 30%;
	height: auto;
	margin:0 auto;
}

.footer-copy{
	clear: both;
	width: auto;
	margin-bottom:1em;
	text-align: left;
	font-size: 0.75em;
	font-weight: 500;
	color: #fff;
	text-align:center;
}

/*================================================
 *  ページトップへの戻り
 ================================================*/
.totop {
	position:fixed;
	bottom: 1em;
	right: 15px;
	width: 60px;
	height: 60px;
	background:#8F810B;
    display: none;
	transition-duration: 0.5s;
	cursor: pointer;
}

.totop a {
	display:block;
	text-decoration:none;
	cursor: pointer;
}

.totop img {
	width:100%;
}

/*================================================
 * ５ステップアイコン
 ================================================*/
.layout-step-flow {
    clear: both;
    margin: -1.3em 0 1em 0;
    font-size: 1.75em;
    font-weight: bold;
}

.stepicon {
    font-size: 1.0em;
    border-radius: 3px;
    margin: 0 10px 0 0;
    padding: 8px 16px;
    background-color: #8F810B;
    font-weight: bold;
    color: #FFFFFF;
    text-shadow: 1px 1px 2px #202020;
    display: inline-block;
}

.border-flow {
  position: relative;
  border-bottom: 2px solid #ccc;
}

.border-flow:before,
.border-flow:after{
  content: "";
  position: absolute;
  right: 0;
  bottom: -20px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
}

.border-flow:before{
   border-style: solid;
  border-color: #ccc transparent transparent transparent;
  border-width: 20px 20px 0 20px;
}

.border-flow:after{
  bottom: -17px;
   border-style: solid;
  border-color: #fff transparent transparent transparent;
  border-width: 17px 17px 0 17px;
  z-index: 1;
}


@media print, screen and (max-width:1400px){

#contents {
	clear: both;
	overflow:hidden;
	width: 100%;
	margin: -1em auto 1.35em auto;
	margin-bottom: 0;
	background: #ffffff;
	width: 100%;
	padding: 0 0 0 0;
	box-sizing: border-box;
}

	
.inner {
	position:relative;
	width:100%;
	margin:0 auto;
	padding:0 1.5em 0 1.5em; 
	box-sizing: border-box;
}

.underheader {
	width: 100%;
	height:auto;
	margin-top: 1.5em;
	margin-bottom: 1.5em;
}
	
}


/*================================================
 *  タブレット向けデザイン
 ================================================*/
/* スクロールバーを考慮して20px大きいサイズで切り替え */
@media screen and (max-width:979px) {
	.inner {
		width:100%;
	}

	#contents {
		box-sizing:border-box;
		width:100%;
		padding:0 0px;
	}

	footer {
		width:100%;
	}
}

.pagebox {
	padding: 0.8em 0.5em 0.5em 0.5em;
	background: #F5F4F4;
}

.pagebox ul{
	float: right;
	font-size: 0.8em;
	display: table;
	margin: 0 0 0.4em 0;
	width: auto;
}

.pagebox li{
	display: table-cell;
	vertical-align: middle;
	letter-spacing: normal;
	margin: 0;
	width: auto;	
}

.pagebox li a {
    margin: 0 0.4em 0 0;
    min-width: 36px;
    padding: 0.4em 0.4em 0.2em;
    line-height: 1.5em;
    display: block;
    text-align: center;
    border: 1px solid #999;
    text-decoration: none;
	background: #FFF;
	font-size: 1.4em;
}

.pagebox li span {
    margin: 0 0.4em 0 0;
    min-width: 36px;
    padding: 0.4em 0.4em 0.2em;
    line-height: 1.5em;
    display: block;
    text-align: center;
    border: 1px solid #999;
    text-decoration: none;
	background: #8F810B;
	color: #FFF;
	font-size: 1.4em;
}

.pagebox li a:hover{
	background: #8F810B;
	color: #FFFFFF;
}

.dotslist {
    margin: 0 0 0 0;
    padding: 0 0.6em 0 0;
	display: block;
    color: #000000;
    text-align: center;
    line-height: 1;
	font-weight: bold;
}

.housedate h3 {
	font-size: 1.5em;
}

.housedate h4 {
	font-size: 1.5em;
}

@media screen and (max-width:768px) {
	
	.housedate {
		font-size: 1.2em;
	}
	
	.next_button {
		font-size: 1.2em;
	}
	
	.d-type03 li, .d-type03 li:nth-child(2n){
		width: 100%;
		margin: 0 0px 1.2em 0;
	}
	
	.d-type03 li img{
		width: 50%;
	}
	
	.hrmar {
		margin: 2.5em auto 3.0em ;
	} 
	
	.gray_txt {
		line-height: 2.8em;
	}
	
	.underlink {
		text-align: center;
	}
	
	.d-type01 li, .d-type01 li:nth-child(3n){
		width: calc(calc(100% - 15px) / 2);
		letter-spacing: normal;
		display: inline-block;
		margin: 0 15px 0.8em 0;
	}

	.d-type01 li:nth-child(2n){
		margin: 0;
	}
	
	.banaclass-box {
		letter-spacing: 1em;
		width: auto;
		text-align: left;
	}

	.banaclass-box .banaclass {
		letter-spacing: normal;
		display: inline-block;
		width: 48%;
		padding: 0em 0em 0em 0em;
	}

	.banaclass-box .banaclass img{
		width: 100%;
		margin: 0;
		padding: 0;
	}

	
	.header-sp-ray {
		margin-top: 1.2em;
		display: block;
		width: auto;
		padding: 0;
		margin: 0;
	}
	
	.re_subspace {
		display: none;
		animation: fadeIn 0.2s ease 0.3s 1 normal;
	}
	
	header h1{
		width: 100%;
		height: auto;
		margin-bottom: 3px;
		padding: 0.5em 0;
		background-color: #DDDDDD;
		text-align:center;
	}
	
	body {
		font-size: calc(9px + 0.26vw);
		line-height: 1.6;
	}

	header {
		z-index: 999;
		box-sizing:border-box;
		margin:0;
		width:100%;
	}

	#main {
		float:none;
		width:100%;
		margin-top: 2.5em;
		padding :0em;
	}

	h2{
		font-size: 1.7em;
		font-weight: bold;
		text-align:center;
		width:100%;
		margin:0 auto;
		padding-right:0;
		padding-left:0;
		}

	h2 a {
		font-size: 1.1em;
		font-weight: bold;
		text-align:center;
		text-decoration:underline;
		}
	
	.header-ray {
		display: none;
	}
	
	.header-right01 {
		display:none;
	}
	
	.pconly {
		display: none;
	}
	
	.sponly {
		display: block;
	}
	
	.topic-path {
		margin: 10px 0px 0px 0px;
		font-size: 1.4em;
	}

	.headers_h1 {
		font-size: 1.3em;
	}

	.header-ray {
		display: none;
	}

	.top_header_bigimg {
		width: 100%;
	}
	
	.defcon-00 {
		width: 100%;
		height:auto;
		overflow:hidden;
		padding: 0 1em 0.5em 1em;
		box-sizing: border-box;
		margin-bottom: 1.5em;
	}

	.defcon-00 span img{
		width: 100%;
		height:auto;
		margin:0 0;
		box-sizing: border-box;
		margin-bottom:1.5em;
		margin-top:0.25em;
	}
	
	.d-type02-li {
		width: 100%;
		margin: 0 0 0 0;
		display: block;
		letter-spacing: normal;
		vertical-align: top;
		padding: 0;
		font-size: 1.0em;
	}

	.d-type02-img {
		width: 100%;
		margin: 0 0% 0 0%;
		display: block;
		vertical-align: top;
	}
	
	.title-image {
		position: relative;
		top: 0px;
		left: 0px;
		letter-spacing: normal;
		font-weight: bold;
		font-size: 1.8em;
		vertical-align: top;
	}
	
	.layout-defh3 ,.layout-caseboxh3 h3{
		overflow: hidden;
		width: 100%;
		margin: 0 0 0.8em 0;
		padding: 5px 0 4px 0;
		clear:both;
		background-color:#444444;
		font-size: 1.6em;
		font-weight: bold;
		color:#fff;
		text-align:center;
	}
	
	.beafter-table {
		display: table;
		width: 100%;
		margin: 0 ;
	}

	.beafter-table > .beafter-th{
		display: table-cell;
		width: 49%;
		padding: 0 0.5%;
		vertical-align: top;
	}

	.beafter-th img{
		width: 100%;
	}

.beafter-td {
	display: block;
    width: 100%;
    font-size: 1.0em;
    margin: 0.8em 0 0 0;
}
	
.beafter-table > .beafter-th span{
	line-height: 40px;
}
	
	.con-blogbox img{
		width: 100%;
		float: none;
		margin-bottom: 0.8em;
	}

	.con-stepbox img{
		width: 45%;
		margin-bottom: 0.8em;
	}

	.con-blogbox p,.con-stepbox p{
		font-size: 1.8em;
	}

	.bottom30 {
		margin: 0px 0px 1.0em 0px;
	}

	.con-blogbox .bottom50:last-child{
		margin: 0;
	}
	
	.con-stepbox .bottom50:last-child{
		margin: 0;
	}
	
	
/* ------------------------------
 コンタクト
------------------------------ */
.contact-line03 {
  width: 100%;
  margin:0 0 1em 0;
  text-align: center;
}

.contact-line03 img{
  width: 80%;
  margin:0 auto;
  text-align: center;
}	

.contact-line03 h3 {
	font-size: 1.4em;
}
	
.contact-line {
  width: 100%;
  text-align: left;
	font-weight: bold;
	font-size: 1.0em;
	margin-bottom:-0.75em;
	display: block;
	letter-spacing: normal;
	vertical-align: top;
}
.contact-line02 {
  width: 100%;
  margin:0 0 0 0;
  padding: 0px 0 10px 0;
  display: block;
  letter-spacing: normal;
  vertical-align: top;
}
	

/* ------------------------------
  会社概要
------------------------------ */

.table_css {
	width: 100%;
	font-size: 1.4em;
}
	
.csstr {
	width: 100%;
	display: block;
}
	
.csstr > .table_th{
	width: 100%;
	display: block;
	text-align: left;
	border-left: 1px solid #E3E3E3;
}
	
.csstr > .table_td{
	width: 100%;
	display: block;
	margin-bottom: 0px;
	padding-bottom: 10px;
}

		
/* ------------------------------
  フッター
------------------------------ */

.copyright {
	clear:both;
	padding: 1% 0;
	font-size:16px;
	text-align:center;
	color:#fff;
	padding-bottom: 3em;
}

.footer-width {
	width: 95%;
	margin: 0 2.5%;
	}

.footer-logo-left {
	clear:both;
	width: 100%;
	text-align:center;
	margin-top: 30px;
	margin-bottom: 30px;
}

.footer-logo-left img{
	width: 60%;
	height: auto;
	margin:0 auto;
}

.totop {
	position:fixed;
	bottom: 2em;
	right: 15px;
	width: 45px;
	height: 45px;
}

.infobodys li{
	font-size: 1.8em;
	padding: 0 0.2em 0.5em;
	margin: 0 0 0.5em 0;
}
	
.tel-wideimg {
	position: fixed;
	bottom: 0px;
	left: 0;
	display: block;
	padding: 10px 0;
	background: rgba(0,0,0, 0.7);
}
	

.pagebox {
	padding: 0.8em 0.5em 0.5em 0.5em;
	background: #F5F4F4;
}

.pagebox ul{
	float: right;
	font-size: 0.8em;
	display: table;
	margin: 0 0 0.4em 0;
	width: auto;
}

.pagebox li{
	display: table-cell;
	vertical-align: middle;
	letter-spacing: normal;
	margin: 0;
	width: auto;	
}

.pagebox li a {
    font-size: 2em;
	margin: 0 0.4em 0 0;
    min-width: 28px;
    padding: 0.3em 0.4em 0.2em;
    line-height: 1.2em;
    display: block;
    text-align: center;
    border: 1px solid #999;
    text-decoration: none;
    background: #FFF;
}

.pagebox li span {
	font-size: 2em;
	margin: 0 0.4em 0 0;
    min-width: 28px;
    padding: 0.3em 0.4em 0.2em;
    line-height: 1.2em;
    display: block;
    text-align: center;
    border: 1px solid #999;
    text-decoration: none;
	background: #8F810B;
	color: #FFF;
}

.pagebox li a:hover{
	background: #8F810B;
	color: #FFFFFF;
}

.dotslist {
    margin: 0 0 0 0;
    padding: 0 0.6em 0 0;
	display: block;
    color: #000000;
    text-align: center;
    line-height: 1;
	font-weight: bold;
}
	
	.contact_for ul{
		width: 100%;
		display: block;
		padding: 0;
		margin: 1.0em 0;
		letter-spacing: -0.4em;
		text-align: center;
		background: none;
	}

	.contact_for li{
		width: 100%;
		display: inline-block;
		text-align: center;
		padding: 1.0em;
		letter-spacing: normal;
	}
	
	.privacy_div {
		font-size: 1.2em;
	}
	
	.contact-line p {
		text-align: left;
	}
	
}





