@charset "utf-8";

/* --------------------------------- */
/* 初期設定 */
/* --------------------------------- */

body {
	font-size:15px;
	color:#666666;
	font-family: "メイリオ", Meiryo,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",  Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	line-height:1.5;
	text-align:center;
	background:#fff;
	}

a {
	text-decoration: none;
	}

a:hover {
    -webkit-transition:all 0.4s;
    -moz-transition:all 0.4s;
    -o-transition:all 0.4s;
    transition:all 0.4s;
	text-decoration: underline;
	}

a img {
    -webkit-transition:all 0.4s;
    -moz-transition:all 0.4s;
    -o-transition:all 0.4s;
    transition:all 0.4s;
	filter: alpha(opacity=100);
	-moz-opacity:1.0;
	opacity:1;
	}

a img:hover {
    -webkit-transition: 0.4s;
    -moz-transition: 0.4s;
    -o-transition: 0.4s;
    transition: 0.4s;
	filter: alpha(opacity=50);
	-moz-opacity:0.5;
	opacity:0.5;
	zoom:1;
}

ul {
  list-style: none;
}


/* --------------------------------- */
/* ナビゲーション */
/* --------------------------------- */

#mainmenu {
	position:relative;
	left:0;
	top:0px;
	margin: 0 auto 0px auto;
	width: 100%;
	text-align: center;
	background:url(../img/menu_bg.png) 0 0 repeat-x;
}

#mainmenu ul {
	overflow:visible;
	padding:15px 0 0 0 ;
	margin: 0 auto 0 auto;
	width: 1090px;
	height:70px;
	text-align: center;
	zoom:1;
}

#mainmenu li {
	float:left;
	background-color: #ffffff;
	}

#mainmenu2 {
	display: block;
	left:0;
	padding:0px 0 30px 0 ;
	top:0px;
	margin: 0 auto 0px auto;
	width: 100%
	text-align: center;
	background:url(../img/menu_bg.png) 0 0 repeat-x;
}

#mainmenu2 ul {
	overflow:visible;
	padding:15px 0 30px 0 ;
	margin: 0 auto 0 auto;
	width: 545px;
	height:70px;
	text-align: center;
	zoom:1;
}

#mainmenu2 li {
	margin: 0 auto 0 auto;
	background-color: #ffffff;
	}
	
/* --------------------------------- */
/* メイン */
/* --------------------------------- */


#content {
	margin:0 auto 30px auto;
	padding:60px 0 0 0;
	width:90%;
	max-width:1100px;
	text-align:center;
}

.flex_wrap{
	display: flex;
	flex-direction: row;
	align-items: stretch;
	justify-content:space-between;
	align-content:center;
}

.maincontent1 {
	display:inline;
	margin: 0 auto;
	padding: 0px 30px 0 30px;
	width:860px;
	}

.headline1 {
    font-size:25px;
    color: #2a89cb;
    font-weight:bold;
    margin-bottom:10px;
    text-align:left;
    position: relative;
    padding: 1rem .5rem;
    }

.headline1:after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 8px;
  content: '';
  background-image: -webkit-gradient(linear, left top, right top, from(#fa709a), to(#fee140));
  background-image: -webkit-linear-gradient(left, #fa709a 0%, #fee140 100%);
  background-image: linear-gradient(to right, #fa709a 0%, #fee140 100%);
    }

.headline2 {
    margin-bottom:5px;
    padding:10px 20px;
    width: 100%;
    font-size:22px;
    font-weight:bold;
    text-align:left;
    padding: 12px 0px 10px 20px;
    color: #fff;
    border-radius: 10px;
    background-image: -webkit-gradient(linear, left top, right top, from(#209cff), to(#68e0cf));
    background-image: -webkit-linear-gradient(left, #209cff 0%, #68e0cf 100%);
    background-image: linear-gradient(to right, #209cff 0%, #68e0cf 100%);
    }

.headline3 {
    margin-bottom:30px;
    padding:10px 20px;
    width: 100%;
    font-size:22px;
    font-weight:bold;
    text-align:left;
    padding: 12px 0px 10px 20px;
    color: #fff;
    border-radius: 10px;
    background-image: -webkit-gradient(linear, left top, right top, from(#209cff), to(#68e0cf));
    background-image: -webkit-linear-gradient(left, #209cff 0%, #68e0cf 100%);
    background-image: linear-gradient(to right, #209cff 0%, #68e0cf 100%);
    }

.img100 {
	width:100%;
	padding:0 0 30px 0;
	}

.img100-2 {
	width:100%;
	padding:40px 0 0 0;
	}

.img100-3 {
	width:100%;
	padding:40px 0 30px 0;
	}


.text1 {
	margin-top:30px;
	}

.text1 p {
	font-size:18px;
	margin-bottom:25px;
	text-align:left;
	}

.block_type {
	margin-bottom:25px;
	width: 100%;
	}

.block_type .block {
	display: flex;
	align-items: stretch;
	justify-content:space-between;
	flex-wrap: wrap;
	align-content:center; 
	margin-bottom:20px;
	}

.block_type .block .block_sub {
	display: block;
	padding: 0 20px 0 20px ;
	width: 50%;
	}

.block_type .block .block_sub img {
	max-width:100%;
	}



.block_type p {
	font-size:16px;
	margin-bottom:15px;
	padding:5px 10px 20px 10px;
	text-align:left;
	}


.block_menu {
	display: flex;
	align-items: stretch;
	justify-content:space-between;
	flex-wrap: wrap;
	align-content:center; 
	}
	
.block_menu_sub {
	width:33%;
	}

.block_menu_sub img {
	max-width:90%;
	}

.block_menu  p {
	font-size:16px;
	text-align:left;
	}

.block_menu a {
	color: #1073c8;
	transition: color 0.3s;
	}

.block_menu a:hover {
	color: #1073c8;
	}
	

.contact {
	position:relative;
	padding:40px 0px 40px 0px;
	}

.contact p {
	font-size:20px;
	font-weight:bold;
	text-align:center;
	padding:10px 0px 10px 0px;
	}

/* --------------------------------- */
/* お知らせ */
/* --------------------------------- */
.information {
	position:relative;
	width:100%;
	height:0;
	padding-top:30%;
	border:1px solid #CCC;box-sizing:
	border-box;
	margin:0px 0px 50px 0px;
	}

.information iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}


/* --------------------------------- */
/* サイド */
/* --------------------------------- */

.maincontent2 {
	display:inline;
	position:relative;
	float:left;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
	width: 236px;
	text-align: left;
}

.sideimg div {
	margin:0 0 10px 0;
	}


.banner {
	margin-left:auto;
	margin-right:auto;
	width:720px;
	text-align:center;
	}

.banner p {
	width:100%;
	text-align:center;
	}

/* --------------------------------- */
/* セカンドページ */
/* --------------------------------- */

.boldtext {
	font-size:20px;
	font-weight:bold;
	padding:10px 0px 10px 0px;
	}

figure {
	float: left;
	margin: 0 15px 15px 0;
}
figure img {
	max-width: 100%;
	margin: 20px 0px 0px 5px;
}

#secondtext {
	display:  block;
	text-align: left;
	width: 100%;
}

#secondtext p {
	font-size:18px;
	line-height: 1.8em;
}

#secondtext h2 {
	font-size:20px;
	border-left: 6px solid #fd890c;
	border-bottom: 1px dashed #909090;
	padding: 5px 20px;
	margin: 0px 5px 0px 5px;
}

.childtext {
	display:  block;
	text-align: left;
	width: 100%;
	float: left;
}

.childtextimg {
	display:  block;
	padding: 15px 0 0px 0 ;
}

.childtextimg2 {
	display:  block;
	padding: 15px 0 30px 0 ;
}


.childtext table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 0 15px -6px #00000073;
}

.childtext table th,
table td {
  padding: 20px 20px 20px 20px;
  border-bottom: 1px solid #eee;
}

.childtext table tr {
  background-color: #fff;
}

.childtext table  th {
  padding: 10px 0;
  font-size: 18px;
  padding: 15px;
  background-color: #8b8b8b;
  color:#fff;
}

.childtext table tr{
  padding: 20px 0;
  background-color: #fff;
  color:#3a3a3a;
}

.childtext2 {
	text-align: left;
	color:#3e3e3e;
	font-size:18px;
	font-weight:bold;
	padding:30px 0px 10px 0px;
}

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

.footer {
	clear:both;
	padding:30px 0 0 0;
	width:100%;
	color:#FFFFFF;
	background-color:#598ce2;
}

.underlink {
	display:block;
	position:relative;
	padding: 0px 0px 10px 0px;
	font-size:14px;
	text-align:center;
	width: 100%;
	background-color:;
}


.footer ul {
	height:60px;
	text-align:center;
	}

.footer ul li {
	display:inline;
	color:#ffffff;
	font-weight:normal;
	}

.footer ul li a {
	color:#ffffff;
	}

.footer_bottom {
	overflow: auto;
	margin:0 auto 40px auto;
	width:980px;
	}


.footer .companyname1 {
	float:left;
	margin:0 auto 0 auto;
	padding:40px 0 0 0;
	width:300px;
	max-width: 100%;
	text-align:left;
}

.footer .companyname1 strong {
	display:block;
	margin-bottom:10px;
	font-size:25px;
	}
	
.footer .companyname1 .address1 {
	margin: 5px 0;
	line-height: 1.25em;
}


.footer_bottom2 {
	overflow: auto;
	margin:0 auto 0px auto;
	width:90%;
	}

.footer .companyname2 {
	display:block;
	margin:0 auto 0 auto;
	padding:0 0 0 0;
	width:100%;
	max-width: 100%;
	text-align:left;
}

.footer .companyname2 strong {
	display:block;
	margin-bottom:10px;
	font-size:25px;
	}
	
.footer .companyname2 .address2 {
	margin: 5px 0;
	line-height: 1.25em;
}


.arealist {
	float:right;
	padding-top:20px;
	width:670px;
	}

.arealisttext {
	margin-bottom:5px;
	padding:10px 0px 0px 0px;
	text-align:left;
	font-size:12px;
	color:#feffb4;
}

.footer .arealist p {
	margin-bottom:5px;
	padding:3px 10px;
	text-align:left;
	background-color:#63bae2;
}


.arealist2 {
	padding-top:20px;
	width:100%;
	text-align:left;
	}

.arealist2text {
	margin-bottom:5px;
	padding:10px 0px 0px 0px;
	text-align:left;
	font-size:12px;
	color:#feffb4;
}

.arealist2title {
	width:100%;
	margin-bottom:5px;
	padding:5px 5px 5px 5px;
	text-align:left;
	background-color:#63bae2;
}


.footer table{
  width: 100%;
  border-collapse: collapse;
}

.footer table tr{
  border-bottom: solid 1px white;
}

.footer  table th{
  position: relative;
  text-align: left;
  font-size:12px;
  line-height: 1.25em;
  width: 20%;
  color: white;
  text-align: left;
  padding: 10px 0;
}

.footer  table td{
  text-align: left;
  width: 80%;
  font-size:12px;
  line-height: 1.25em;
  text-align: left;
  background-color:;
  padding: 10px 0;
}



#copy {
	padding:20px 0 20px 0;
	text-align:center;
	background-color:#598ce2;
	}

.totop {
	position: fixed;
	bottom:20px;
	right:30px;
	}

.totop p {
	overflow:visible;
	padding:10px;
	}

.totop a {
	float:right;
	}



/*-------------------------------------
 ハンバーガーメニュー
--------------------------------------*/

.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 13px;
  top   : 12px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 4px ;
  left    : 6px;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top : 16px;
  left: 6px;
  background :#fff;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background :#fff;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.globalMenuSp {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #fff;
  background: rgba(0,0,0,0.7);
  text-align: center;
  width: 100%;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
}

nav.globalMenuSp ul {
  margin: 0 auto;
  padding:  20px 0 0 0;
  width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #fff;
  padding: 0.4em 0;
  text-decoration :none;
}


nav.globalMenuSp.active {
  opacity: 100;

}

/*-------------------------------------
 @media
--------------------------------------*/


.pc { display: block !important; }
.sp { display: none !important; }
 
@media only screen and (max-width: 1000px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}

@media only screen and (max-width: 1000px) {
    img { max-width: 100%; }
}

/* --------------------------------- */
/* セカンドページ */
/* --------------------------------- */


.secondheaderimg {
        width: 100%;
        min-width :1100px;
        max-width :768px;
        margin: 0 auto;
        padding:15px 0 10px 0 ;
    }


.text2 {
	margin-top:0px;
	}

.inquirytable table {
  width: 100%;
  border-collapse: collapse;
}

.inquirytable table tr{
  border-bottom: solid 2px white;
}

.inquirytable table tr:last-child{
  border-bottom: none;
}

.inquirytable table th{
  position: relative;
  text-align: left;
  width: 30%;
  background-color: #6e6e6e;
  color: white;
  text-align: center;
  padding: 30px 0;
}



.inquirytable table td{
  text-align: left;
  width: 70%;
  text-align: left;
  background-color: #eee;
  padding: 10px 30px 10px 30px;
}




.companytable table tr{
  border-bottom: solid 2px white;
}

.companytable table tr:last-child{
  border-bottom: none;
}

.companytable table th{
  position: relative;
  text-align: left;
  width: 30%;
  background-color: #52c2d0;
  color: white;
  text-align: center;
  padding: 30px 0;
}

.companytable table th:after{
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top:calc(50% - 10px);
  right:-10px;
  border-left: 10px solid #52c2d0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

.companytable table td{
  text-align: left;
  width: 70%;
  text-align: left;
  background-color: #eee;
  padding: 10px 30px 10px 30px;
}

/* --------------------------------- */
/* お見積り */
/* --------------------------------- */
.m-form-select {
    position: relative;
}



.m-form-select select {
    height: 2.4em;
    width: 30%;
    padding: 0 8px;
    border-radius: 4px;
    border: none;
    box-shadow: 0 0 0 1px #ccc inset;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    cursor: pointer;
}

.m-form-select select::-ms-expand {
    display: none;
}

.m-form-select select:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}




.m-form-text {
    height: 2.4em;
    width: 30%;
    padding: 0 16px;
    border-radius: 4px;
    border: none;
    box-shadow: 0 0 0 1px #ccc inset;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.m-form-text:focus {
    outline: 0;
    box-shadow: 0 0 0 2px rgb(33, 150, 243) inset;
}


.esresult {
    margin-bottom:0px;
    padding:0px 0px;
    color: #fff;
    border-radius: 10px;
    background-image: -webkit-gradient(linear, left top, right top, from(#209cff), to(#68e0cf));
    background-image: -webkit-linear-gradient(left, #209cff 0%, #68e0cf 100%);
    background-image: linear-gradient(to right, #209cff 0%, #68e0cf 100%);
    }
