@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}

/*================================================
 *  一般・共通設定
 ================================================*/
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;
	max-width:1280px;
	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;
	}

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

#main {
	box-sizing:border-box;
	overflow:hidden;
	width:100%;
	max-width:1280px;
	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;
}

.sand_but {
	width: 310px;
	margin: 0 auto;
	display: block;
}

.image-button {
    width: 100%;
    height: auto; /* アスペクト比を保持 */
}

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

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

h1{
	font-weight: bold;
	}


h2{
	font-size:1.4em;
	font-weight: bold;
	text-align: center;
	}
	
h2 a {
	font-size:1.4em;
	font-weight: bold;
	text-align:center;
	text-decoration:underline;
	}

h3 {
	font-weight: bold;
}


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


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;
	}

.pconly {
		display: block;
	}

.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;
	line-height: 2.0em;
	text-decoration: underline;
}

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

.headers_h1 {
	width: 100%;
	height: auto;
	margin-bottom: 10px;
	padding: 0.5em 0;
	background-color: #DDDDDD;
	text-align: center;
	font-weight: bold;
}

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

.header-logo img {  
    max-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%;
}

/*================================================
 *  サブコンテンツ
 ================================================*/
.bnr {
	overflow:hidden;
}
.bnr ul {
	overflow:hidden;
}
.bnr li {
	margin:0 0 10px 0;
	padding:0;
	list-style:none;
}
.bnr li a:hover {
	opacity:0.8;
	filter:alpha(opacity=80);
	-ms-filter:"alpha( opacity=80 )";
}
.bnr img {
	width:100%;
	height: auto;
}

.header-sp-ray{
	display: none;
}
  
.header-sp-logo {
	width: 100%;
	height: auto;
	margin-right:1%;
	}

.header-sp-logo img {  
    width: 100%;  
    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;         /* なめらか変化 */
  box-shadow    : 3px 3px 2px #666666;  /* 影の設定 */
  border        : 2px solid #444444;    /* 枠の指定 */
}
	
.sub_button:hover {
  box-shadow    : none;        /* カーソル時の影消去 */
  color         : #ffffff;     /* 背景色     */
  background    : #444444;     /* 文字色     */
}

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

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



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

.top_header_bigimg a{
	display: block;
}

/*================================================
 *  コンテンツ 基本クラス
 ================================================*/

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

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

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

.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.75em;
	font-weight: bold;
	color:#fff;
	text-align:center;
	margin-top:1em;
	text-shadow: 1px 1px 2px #202020;
	letter-spacing: normal;
	}

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

.defcon-00 p{
	font-size:1.5em;
	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;
}

.con-imgway {
	width: 100%;
	height: auto;
	margin-bottom:0;
	font-size:1.25em;
	}


.con-imgway ul{
	width: calc(100%);
	height: auto;
	margin: 0;
	box-sizing: border-box;
	letter-spacing: -0.4em;
}

.con-imgway li{
	display: inline-block;
	letter-spacing: normal;
	vertical-align: top;
	list-style: none;
	height: auto;
	padding: 0px 14px 0px 0px;
	box-sizing: border-box;
}

.con-imgway li:last-child{
    padding: 0px 0px 10px 0px;
}

.litype02 {
	width: calc(calc(100% + 14px) / 2);
}

.litype02:last-child{
    width: calc(100% / 2 - 7px);
}

.litype03 {
	width: calc(calc(100% + 14px) / 3);
}

.litype03:last-child{
    width: calc(100% / 3 - 9.33px);
}

.litype04 {
	width: calc(calc(100% + 14px) / 4);
}

.litype04:last-child{
    width: calc(100% / 4 - 10.5px);
}

.con-imgway img{
	width: 100%;
	height:auto;
	border:solid 1px #cccccc;
	box-sizing:border-box;
	margin-bottom:0.5em;
}

.con-imgway h3, .con-imgway h4{
	font-size: 1.2em;
	padding-top: 0.3em;
    font-weight: bold;
	letter-spacing: normal;
}

.con-imgway h3:before, .con-imgway h4: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.1em;
	margin-left:0.15em;
	color: green;
}

.con-at {
	width: 100%;
	height:auto;
	overflow:hidden;
	margin:0 auto;
	box-sizing: border-box;
	margin-bottom:1.5em;
	background: #DDDDDD;
}

.con-at p{
	font-size: 1.6em;
	padding: 1em;
}

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

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

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

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

.layout-blogboxh3 h3, .layout-blogboxh4 h4{
	overflow: hidden;
	width:100%;
	height:border-box;
	margin: 0 0 0.8em 0;
	clear: both;
    font-size: 1.75em;
	font-weight: bold;
	text-align: left;
	}
	
	
.layout-blogboxh3 h3:before, .layout-blogboxh4 h4:before{
	padding: 0 0 0 1px;
	content: '\f058';
    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: green;
}

.beafter-td p,.txt_defleft{
	text-align: left;
}

.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;
}

.case_txtbox {
	letter-spacing: -0.4em;
}

.beafter-case{ 
	display: inline-block;
	width: 40%;
	vertical-align: top;	
	text-align: center;
	letter-spacing: normal;
	margin-bottom: 1.0em;
}

.beafter-case span{
	font-size: 1.2em;
    border-radius: 8px;
    padding: 8px 16px;
    line-height: 20px;
    display: inline-block;
    margin: 0.6em 0 0.6em 0;
}

.beafter-case img{
	width: 99%;
	margin: 1px 0 0 0;
	border: 1px solid #DDDDDD;
}

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

.beafter-casetd table:last-child{
    margin-bottom: 0em;
}

.beafter-casetd th{
	background: #CCCCCC;
    color: #333333;
	width: 250px;
	font-size: 1.2em;
}

.beafter-casetd td{
	text-align: left;
	font-size: 1.2em;
}

.beafter-casetd{
	display: inline-block;
	width: 59%;
	font-size: 1.2em;
	letter-spacing: normal;
	vertical-align: top;
	margin: 0 0 0 1%;
}

.reset_ttd {
    padding: 0px 0px 0px 0px;
    text-align: left;
}

.bef {
	background-color: #444444;
	font-weight: bold;
	color: #FFFFFF;
}

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

.aft_undeteb td {
    text-align: left;
}

.subtite {
    width: 250px;
    margin-right: 10px;
    padding: 10px;
    font-weight: bold;
    display: block;
    background: #CCCCCC;
    color: #333333;
    border-top: 0px solid #ffffff;
    border-bottom: 1px solid #ffffff;
    border-left: 0px solid #ffffff;
    border-right: 1px solid #ffffff;
    text-align: left;
}

.subtexts {
    padding: 10px;
    display: block;
}

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

.beafter-td {
	display: block;
	width: 98%;
	margin: 0 1% 0 1%;
	font-size: 1.2em;
}

.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;
}

/* コンテンツ依存 */

.con-cont09, .con-4-wbox {
	position: relative;
	letter-spacing: -0.4em;
}

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

.con-cont09-img img{
	width: 100%;
}

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

.con-cont09-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;
	}
	
.con-cont09-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:#E31C1C;
}

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

.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: '\f06a';
    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: green;
}

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

.layout-step-flow{
	clear:both;
	margin: -1.3em 0 1em 0;
	font-size:1.75em;
	font-weight:bold;
	}

.layout-step-flow img{
	width:4.75em;
	height:auto;
	margin:1em 0.5em 0 0;
	}

.stepicon {
	font-size: 1.0em;
	border-radius: 3px;
	margin: 0 10px 0 0;
	padding: 8px 16px;
	background-color: #B80000;
	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;
}

.gray_txt {
	background: #DDDDDD;
    font-size: 1.8em;
    line-height: 1.5em;
    padding: 15px 20px;
}

/* コンテンツ依存 */


/* ------------------------------
faq
------------------------------ */

.faq {
	width:100%;
	margin-top:3em;
}

div.faq-ray-01{
	box-sizing:border-box;
	width:100%;
	height: auto;
	padding:0.25em 0 0 70px;
	margin-bottom: 1em;
	min-height:50px;
	font-size: 1.3em;
	overflow:hidden;
	background-image: url("../img/upload/jpg/0fncq7sp6aoigeyj1t28h5r3.jpg");
	background-repeat:no-repeat;
	background-position: 0.5em 0em;
	background-size: 45px 45px;
	}
	


div.faq-ray-02{
	box-sizing:border-box;
	width:100%;
	height: auto;
	padding:0.25em 0.25em 0.5em 85px;
	margin-bottom: 2.80em;
	min-height: 100px;
	font-size: 20px;
	overflow:hidden;
	position: relative;
	}

div.faq-ray-02:last-child{
	margin-bottom: 0em;
	}

div.faq-ray-02 img{
	position: absolute;
	width: 70px;
	left: 5px;
	top: -0px;
}

div.faq-ray-02 p{
	background-color: #dddddd;
	padding: 5px 5px 5px 5px;
	font-size: 1.0em;
	border-radius: 3px;
	text-align: left;
}

/* Q＆A */

/* twitter */

.header-news{
	width: 1000px;
	height: auto;
	margin: 0 auto;
	padding:0;
	text-align: center;
}

.twitter-timeline{
	width:100%;
}

/* twitter */

/* 料金表 */

.con-attention{
	width:100%;
	height: auto;
}

.con-attention h3{
	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.75em;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin-top: 1em;
    text-shadow: 1px 1px 2px #202020;
    letter-spacing: normal;
}
/*
.con-attention h3{
	width:100%;
	height: auto;
    font-size: 1.7em;
	padding: 0em 0 1em 0.25em;
	box-sizing: border-box;
    font-weight: bold;
}
.con-attention h3: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;
	color: green;
}
*/
.con-attention dl{
	width:100%;
	height: auto;
	background-color: #eeeeee;
    font-size: 1.5em;
	padding: 0.5em 0.5em;
	box-sizing: border-box;
}

/* 料金表 */


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

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

.contact-line {
  width: 40%;
  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.7em;
	padding: 0.5em 0 0.5em 0.2em;
	box-sizing: border-box;
    font-weight: bold;
	text-align: left;
}

.contact-line 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;
	color: green;
}


.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-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;
	margin-top: 1.0em;
}

.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: 68%;
	padding: 10px;
	margin: 0px 0px 0.6em 0px;
}

.contact-line02 textarea{
	width: 94%;
	font-size: 1.4em;
}

.halfinput {
	width: 40%;
	padding: 10px;
	font-size: 20px;
	margin: 0px 0px 0.6em 0px;
}

.selectbox {
	width: calc(75% + 24px);
	padding: 10px;
	font-size: 1.2em;
}

.btn-select {
  width: calc(75% + 24px);
  margin: 20px auto;
  position: relative;
  border-radius: 6px;
  cursor: pointer; /* IEでcursorがチラついたので */
  border: 1px solid #CCCCCC;
}

.selectbox_case {
  width: 100%;
  padding: 10px;
  font-size: 20px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  display: block;
  cursor: pointer;
  opacity: 0;
  position: relative;
  z-index: 2;
  color: #333333;
}

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

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

.btn-select p{
	font-size: 1.25em;
	line-height: 1.75em;
}

.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;
}

div.priv{
    font-size: 1em;
	color: #000000;
	width: 100%;
	height:200px;
	overflow:auto;
	border: solid 1px #000000;
	background-color: #FFFFFF;
    margin: 0 auto;
	box-sizing: border-box;
	text-align: left;
	}

div.priv ul{
   background-color: #FFFFFF;
   margin:0 auto;
	box-sizing: border-box;
	}

div.priv li{
	width:96%;
    list-style:none;
   margin:0 3% 0 1%;
	box-sizing: border-box;

	}
	
div.priv li a{
    color:#000;
	}

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

/*================================================
 *  ご利用規約
 ================================================*/


.rowunder {
		overflow:auto;
		width:100%;
		height:150px;
		padding:5px;
		border:solid 1px #ccc;
		color:#000;
		line-height:1.5em;
	box-sizing:border-box;
	}
	
.rowunder p{
	text-align:right;
	font-size:1em;
	}

/*================================================
 *  youtube
 ================================================*/

.youtube_box {
	width: 100%;
	text-align: center;
	margin: 0 auto;
}


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

.exend_table_css {
	width: 100%;
	margin: 0 auto 120px;
	font-size: 1.3em;
}

.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 > .exendtable_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 > .exendtable_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;
}

.foot-box {
	width:100%;
	height:0.5em;
	overflow:hidden;
	margin-bottom:0.5em;
}

.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-title{
	clear: both;
	width: auto;
	text-align: left;
	margin-bottom: 0.3%;
	font-size: 1.3em;
	font-weight: 700;
	color: #fff;
	text-align:left;
	}

.footer-title a{
	color: #fff;
	}

.footer-comment{
	clear: both;
	width: auto;
	margin-bottom:1%;
	text-align: left;
	font-size: 1.1em;
	font-weight: 600;
	color: #fff;
	}
	

.footer-comment a{
	color: #fff;
	}

.footer-comment a:hover{
	color: #fff;
	text-decoration: underline;
	}
	
.footer-comment p{
	color: #fff;
	font-size:1em;
	}

.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-info{
	clear: both;
	width: auto;
	text-align: left;
	font-size: 1em;
	font-weight: 600;
	color: #fff;
	text-align:center;
	margin-bottom:0.75em;
	}
	
.footer-info a{
	clear: both;
	width: auto;
	text-align: left;
	font-size: 1em;
	font-weight: 600;
	color: #fff;
	}
	
	
.footer-info p{
	font-weight: 600;
}
	
.footer-copy{
	clear: both;
	width: auto;
	margin-bottom:1em;
	text-align: left;
	font-size: 0.75em;
	font-weight: 500;
	color: #fff;
	text-align:center;
}

/* SP用 ↓ PCでは display制限 */

#footer-fixed
{
    position: fixed;            /* フッターの固定 */
    bottom: 0px;                /* 位置(下0px) */
    left: 0px;                  /* 位置(左0px) */
    width: 100%;                /* 横幅100% */
    height: auto;          
	margin: 0;
 	z-index: 9999;
}

#footer-bk
{
	background-color:rgba(0,0,0,0.70);     /* 背景色(黒) */
	width:100%;                /* 横の幅を100% */
	height:auto;              
	margin: 0;
	position: absolute;
	bottom:0;
} 

.tel-img-1{
	float: left;
	width: 48%;
	height: auto;
	margin: 4% 2% 4% 0;
	cursor: pointer;
	}

.tel-img-1 a{
	cursor: pointer;
} 

.tel-img-1 img{
	width: 100%;
	height: auto;
	}

.tel-img-2{
	float: left;
	width: 48%;
	height: auto;
	margin: 4% 0 4% 2%;
	cursor: pointer;
	}
	

.tel-img-2 img{
	width: 100%;
	height: auto;
	}

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

@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: 2.5em;
	margin-bottom: 1.5em;
}
	
}

/*================================================
 *  case ページ用
 ================================================*/

.topic-path {
	margin: 0px 0px 15px 0px;
	font-weight: bold;
}

.topic-path a{
	text-decoration: underline;
}

.case-menus {
	letter-spacing: -0.4em;
	display: block;
	padding: 0px 0px 0px 0px;
	margin:  0px 0px 0px 0px;
	font-size: 1.5em;
	color: #FFFFFF;
}

.case-menus a{
	color: #FFFFFF;
	text-decoration: none;
	display: block;
}

.case-menus .tokyo-menu {
	letter-spacing: normal;
	width: calc(100% - 22px);
	display: block;
	padding: 10px;
	text-align: center;
	border: 1px solid #CCCCCC;
	background: #444444;
	color: #FFFFFF;
}

.case-menus .et-menu {
	letter-spacing: normal;
	width: calc(25% - 25px);
	display: inline-block;
	padding: 10px;
	margin: 4px 4px 0px 0px;
	text-align: center;
	border: 1px solid #CCCCCC;
	background: #444444;
	color: #FFFFFF;
}

.case-menus .et-menu:last-child{
	margin: 4px 0px 0px 0px;
}


.case-menus .ets-menu {
	letter-spacing: normal;
	width: calc(20% - 24px);
	display: inline-block;
	padding: 10px;
	margin: 4px 2px 0px 0px;
	text-align: center;
	border: 1px solid #CCCCCC;
	background: #444444;
	color: #FFFFFF;
}

.case-menus .ets-menu:last-child{
	margin: 4px 0px 0px 0px;
}

.pagelist {
	display: block;
	width: 100%;
	text-align: center;
	margin-bottom: 3em;
}

.pageicon {
	display: inline-block;
	margin: 0px 0px 10px 0px;
}

.pageicon a{
	display: block;
	padding: 12px 20px;
	font-size: 1.2em;
	border: 1px solid #F7F7F7;
	background-color: #444444;
	color: #FFFFFF;
	text-decoration: none;
}

.active-c{
	display: inline-block;
	margin: 0px 0px 10px 0px;
	padding: 12px 20px;
	font-size: 1.2em;
	border: 1px solid #F7F7F7;
	background-color: #444444;
	color: #FFFFFF;
	text-decoration: none;
}

.morebb {
	text-align: center;
}

.morebb a{
	background-color: #444444;
    font-weight: bold;
    color: #FFFFFF;
    text-shadow: 1px 1px 2px #202020;
	font-size: 1.2em;
    border-radius: 8px;
    padding: 8px 16px;
	display: inline-block;
	text-decoration: none;
	font-size: 1.75em;
	width: 65%;
}

@media screen and (max-width:768px) {
	
.case-menus {
	font-size: 1.2em;
}

.topic-path {
	margin: 10px 0px 0px 0px;
	font-size: 1.4em;
}

.headers_h1 {
	display: none;
	font-size: 1.4em;
}
	
.header-sp-ray {
	margin-top: 2.3em;	
}
	
}

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

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

	footer {
		width:100%;
	}
}

/*================================================
 *  スマートフォン向けデザイン
 ================================================*/
@media screen and (max-width:768px) {
	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) ;
		color:#333;
		font-family: "YuGothic", "游ゴシック",Century Gothic, メイリオ, "MS PGothic", "Hiragino Kaku Gothic Pro", Osaka, Verdana, sans-serif;
		line-height: 1.6;
		background:#fff;
	}

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

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

	h2{
		font-size: 1.1em;
		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;
	}
	
	.bnr {
	overflow:hidden;
	}

	.bnr ul {
		overflow:hidden;
	}

	.bnr li {
		width: 60%;
		margin:0 auto 10px auto;
		padding:0;
		list-style:none;
	}
	.bnr li a:hover {
		opacity:0.8;
		filter:alpha(opacity=80);
		-ms-filter:"alpha( opacity=80 )";
	}
	.bnr img {
		width:100%;
		height: auto;
	}

	.header-sp-ray{
		display: block;
		width: auto;
	}
	
	.re_subspace {
		display: none;
		animation: fadeIn 0.2s ease 0.3s 1 normal;
	}
	
	.top_header_bigimg {
		width: 100%;
	}
	
/*================================================
 *  コンテンツ 基本クラス
 ================================================*/
div.layout-def h2{
	overflow: hidden;
	width:100%;
	height:auto;
	margin-bottom:0.65em;
	padding-bottom: 0.3em;
	clear:both;
    -moz-background-size:contain;
    background-size:100% auto; 
	font-size: 1.35em;
	font-weight: bold;
	}

div.layout-def h2:before{
	border-bottom: 3px solid #DDDDDD;
	}

div.layout-def h2:after{
	border-bottom: 3px solid #444444;
	}

.layout-defh3 ,.layout-caseboxh3 h3{
	overflow: hidden;
	width:100%;
	margin: 0 0 1em 0;
	padding: 5px 0 4px 0;
	clear:both;
	background-color:#444444;
    font-size: 1.8em;
	font-weight: bold;
	color:#fff;
	text-align:center;
	}
	
.defcon-00 {
	width: 100%;
	height:auto;
	overflow:hidden;
	padding: 0 0em 0.5em 0em;
	box-sizing: border-box;
}

.defcon-00 span img{
	width: 100%;
	height:auto;
	margin:0 0;
	box-sizing: border-box;
	margin-bottom:1.5em;
	margin-top:0.25em;
}

.con-imgway {
	width: 100%;
	height: auto;
	margin-bottom: 0;
	font-size: 1.25em;
	}

.con-imgway ul{
	width: 100%;
	height: auto;
	margin: 0%;
}

.con-imgway p{
	font-size:1.1em;
}
	
.con-imgway h3, .con-imgway h4{
	font-size: 1.1em;
	max-height: 46px;
	overflow: hidden;
}

.con-imgway li{
	height: auto;
	padding: 0px 4px 10px 0px;
	box-sizing: border-box;
}

.litype02,.litype03,.litype04 {
	width: calc(50%);
}
	
.litype02:nth-child(even),.litype03:nth-child(even),.litype04:nth-child(even){
    width: calc(100% / 2 - 0px);
}
	
.con-imgway li:nth-child(even){
	padding: 0px 0px 10px 4px;
}
	
.litype03:last-child{
    width: calc(calc(100% - 8px) / 2);
}
	
.con-at {
	width: 100%;
	height:auto;
	overflow:hidden;
	box-sizing: border-box;
	margin-bottom:1em;
}
	
.con-blogbox img{
	width: 50%;
	float: left;
}

.con-blogbox p,.layout-blogboxh3 h3,.layout-blogboxh3 h4{
	font-size: 1.6em;
}

.bottom30 {
	margin: 0px 0px 1.0em 0px;
}
	
.con-blogbox .bottom50:last-child{
	margin: 0;
}
	
/* コンテンツ依存 */
	
.con-cont09-li {
	width: 100%;
	margin: 0 0 0 0;
	display: block;
	letter-spacing: normal;
	vertical-align: top;
	padding: 0;
	font-size: 1.0em;
}

.con-cont09-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;
}

.beafter-table {
	display: table;
	width: 98%;
	margin: 0 1% 0 1%;
}

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

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

.beafter-td {
	display: block;
	width: 98%;
	font-size: 1.0em;
	margin-top: 0.8em;
}
	
.beafter-table > .beafter-th span{
	line-height: 40px;
}
	
/* コンテンツ依存 */

/* Q＆A */	
div.faq-ray-01{
	box-sizing:border-box;
	width:100%;
	height: auto;
	padding:0 0 0 42px;
	margin-bottom: 1em;
	height:auto;
	min-height:34px;
	font-size: 16px;
	overflow:hidden;
	background-repeat:no-repeat;
	background-position: 0.5em 0em;
	background-size: 29px 29px;
	}
	
div.faq-ray-02{
	box-sizing:border-box;
	width:100%;
	height: auto;
	padding:0.15em 0.25em 0.5em 60px;
	margin-bottom: 2.80em;
	min-height: 50px;
	font-size: 16px;
	overflow:hidden;
	position: relative;
	}

div.faq-ray-02:last-child{
	margin-bottom: 0em;
	}
	
div.faq-ray-02 img{
	position: absolute;
	width: 50px;
	left: 5px;
	top: -0px;
}

div.faq-ray-02 a{
	color: #C32626;
	text-decoration-line: underline;
}
	
/* Q＆A */

/* twitter */
	
.header-news {
	width: 100%;
	}
/* twitter */
	
/* 料金表 */
.con-attention h3{
	width:100%;
	height: auto;
    font-size: 1.6em;
	box-sizing: border-box;
    font-weight: bold;
}


.con-attention dl{
	width:100%;
	height: auto;
	background-color: #eeeeee;
    font-size: 1.65em;
	padding: 0.5em 0.5em;
	box-sizing: border-box;
}
	
/* 料金表 */
	

/* ------------------------------
 コンタクト
------------------------------ */
.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: 10px 0 10px 0;
  display: block;
  letter-spacing: normal;
  vertical-align: top;
}

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

.exend_table_css {
	width: 100%;
	margin: 0 auto 40px;
	font-size: 1.6em;
}
	
.csstr {
	width: 100%;
	display: block;
}
	
.csstr > .exendtable_th{
	width: 100%;
	display: block;
	text-align: left;
	border-left: 1px solid #E3E3E3;
}
	
.csstr > .exendtable_td{
	width: 100%;
	display: block;
	margin-bottom: 0px;
	padding-bottom: 10px;
}

/* SP用 ↓ PCでは display制限 */

#footer-fixed
{
    position: fixed;            /* フッターの固定 */
    bottom: 0px;                /* 位置(下0px) */
    left: 0px;                  /* 位置(左0px) */
    width: 100%;                /* 横幅100% */
    height: auto;          
	margin: 0;
 	z-index: 9999;
}

#footer-bk
{
	background-color:rgba(0,0,0,0.70);     /* 背景色(黒) */
	width:100%;                /* 横の幅を100% */
	height:auto;              
	margin: 0;
	position: absolute;
	bottom:0;
} 

.tel-img-1{
	float: left;
	width: 48%;
	height: auto;
	margin: 4% 2% 4% 0;
	cursor: pointer;
	}

.tel-img-1 a{
	cursor: pointer;
} 

.tel-img-1 img{
	width: 100%;
	height: auto;
	}

.tel-img-2{
	float: left;
	width: 48%;
	height: auto;
	margin: 4% 0 4% 2%;
	cursor: pointer;
}
	

.tel-img-2 img {
	width: 100%;
	height: auto;
	}

.tel-wideimg img{
	width: 100%;
}

.tel-wideimg {
	width: 100%;
	display: block;
	height: auto;
	margin: 2% 0% 0% 0%;
	padding: 10px;
	cursor: pointer;
	box-sizing: border-box;
	background: rgba(0,0,0, 0.7);
}

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

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

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

.footer-title{
	clear: both;
	width: auto;
	text-align: left;
	margin-bottom: 0.3%;
	font-size: 1em;
	font-weight: 700;
	color: #fff;
	}

.footer-comment{
	clear: both;
	width: auto;
	margin-bottom:3%;
	text-align: left;
	font-size: 0.75em;
	font-weight: 600;
	color: #fff;
}
	
.footer-comment a{
	color: #fff;
	}

.footer-comment a:hover{
	color: #fff;
	text-decoration: underline;
	}
	
.footer-info{
	clear: both;
	width: auto;
	text-align: left;
	font-size: 0.75em;
	font-weight: 600;
	color: #fff;
	text-align:center;
}
	
.footer-logo-left {
	clear:both;
	width: 100%;
	text-align:center;
	margin-top: 30px;
	margin-bottom: 30px;
}

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

.youtube_box {
	width: 100%;
	text-align: center;
	margin: 0 auto;
}
	
.case-menus p{
	line-height: 3.0em;
}
	
}


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

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

.totop img {
	width:100%;
}

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

.subtite ,.beafter-casetd th{
	width: 120px;
}

.beafter-casetd{
	margin-left: 0;	
}
	
.beafter-case,.beafter-casetd{
	width: 100%;	
}
	
.totop {
	position:fixed;
	bottom: 9em;
	right: 15px;
	width: 45px;
	height: 45px;
}

.sub_button {
	width: 100%;		
}

.gray_txt {
	font-size: 1.5em;
    padding: 15px 20px;
    line-height: 1.6;
}
	
.pageicon a{
	display: block;
	min-width: 15px;
	padding: 10px;
	font-size: 1.2em;
	border: 1px solid #F7F7F7;
	background-color: #444444;
	color: #FFFFFF;
	text-decoration: none;
}

.active-c{
	display: inline-block;
	min-width: 15px;
	margin: 0px 0px 10px 0px;
	padding: 10px;
	font-size: 1.2em;
	border: 1px solid #F7F7F7;
	background-color: #444444;
	color: #FFFFFF;
	text-decoration: none;
}
	
}