﻿
/*メニューをページ下部に固定*/
#sp-fixed-menu{
   position: fixed;
   width: 100%;
   bottom: 0px;
   font-size: 0;
   opacity: 1.0;
   z-index: 999;
}

/*メニューを横並びにする*/
#sp-fixed-menu ul{
   display: flex;
   list-style: none;
   padding:0;
   margin:0;
   width:100%;
}

#sp-fixed-menu li{
   justify-content: center;
   align-items: center;
   padding:8px 0;
   margin:0;
   font-size: 16px;
   border-right: 1px solid #fff;
   border-top: 1px solid #fff;
}

/*メニューを緑色に*/
#sp-fixed-menu li.first{
   background: #2A8BDC;
   width: 50%;
}

#sp-fixed-menu li.second{
   background: #005BAE;
   width: 50%;
}


/*ボタンを調整*/
#sp-fixed-menu li a{
   color: #fff;
   text-align: center;
   display:block;
   width: 100%;
   padding:5px 0px 5px 6px;
}

@media (max-width: 768px) {

body { margin-bottom:35px;}
}

/* Tables */

table.about3{width:100%;  border-collapse:collapse; table-layout:auto; vertical-align:top; margin-bottom:15px; border:1px solid #CCC;}
table.about3 tbody td{color:#000;vertical-align:top; border-collapse:collapse; border:1px solid #CCC; }
table.about3 tbody th{color:#FFF;width:30%; font-weight:bold; background: url("../img/bg-cya.png") no-repeat top left; vertical-align:middle; border-collapse:collapse; border:1px solid #CCC;}
table.about3 th, table.about3 td{padding:5px; border-collapse:collapse;}

@media screen and (max-width: 680px){
table.about3{font-size:16px;}

}

table.about2{width:100%; color:#333; border-collapse:collapse; table-layout:auto; vertical-align:top; margin-bottom:15px; border:1px solid #CCC;}
table.about2 tbody td{vertical-align:middle; border-collapse:collapse; border:1px solid #CCC; }
table.about2 tbody th{font-weight:bold; background:#F7F7F7; text-align:center; vertical-align:middle; border-collapse:collapse; border:1px solid #CCC;}
table.about2 th, table.about td{padding:5px; border-collapse:collapse;}

table.cont{width:93%; margin:20px 15px; border-collapse:collapse; border:7px solid #EFEFEF;font-size:16px;}
table.cont td{border:1px solid #ccc; padding:5px; font-size:100%; color:#333;line-height:2em; }
table.cont td.l_Cel{width:25%}
table.cont td span{color:#DF0000;}

@media (max-width:425px) {
table.cont{font-size:14px;}
table.cont td.l_Cel{width:45%}

}
@media screen and (max-width: 320px){
table.cont{font-size:12px;}

}

/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
#page-top{
  z-index: 9999;
	position: fixed;
	bottom: 0;
	right: 0;
	background: rgba(0,91,174,.9);
	min-width: 40px;
	min-height: 40px;
	line-height: 40px;
	text-align: center;
	color: #fff;
	border-radius: 50%;
	bottom: 10%;
	right: 2%;
        font-size:24px;
        cursor: pointer;
}


/* Forms */

.form{ background: #FFF; padding: 20px 10px 10px 10px; }
.form{ font-size:13px;}
.form h3{font-size:1.2em; margin:0;}
.form h3 span{color:#C22D47;}
form input.text{display:block; width:100%; padding:5px; border:1px solid #CCC; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;}
form textarea{display:block; width:100%; padding:5px; border:1px solid #CCC; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box;}
form textarea{overflow:auto;}
form input[type="submit"]{margin-bottom:10px;}


/* Google map */

.ggmap {position: relative; padding-bottom: 36.25%; padding-top: 40px; height: 0; overflow: hidden;} 
.ggmap iframe, .ggmap object, .ggmap embed {position: absolute; top: 0; left: 0; width: 100%; height: 100%;}

@media screen and (max-width: 680px){

.ggmap {padding-bottom: 76.25%;}
}


/*=========
accordion
=========*/

.accordion_area {}
.accordion_area .accordion_one .ac_header {
  background-color: #ffffff;
  border: 1px solid #ccc;
  padding: 1.5rem 4rem .5rem 2rem;
  position: relative;
  z-index: +1;
  cursor: pointer;
  transition: .2s;
}
.accordion_area .accordion_one .ac_header:not(.open):hover {
  background-color: #A6CBFD;
}
.accordion_area .accordion_one:nth-child(odd) .ac_header {
  background-color: #F7F7F7;
}
.accordion_area .accordion_one:nth-child(odd) .ac_header:not(.open):hover {
  background-color: #A6CBFD;
}
.accordion_area .accordion_one .ac_header .i_box {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 20px;
  height: 20px;
  margin-top: -10px;
}
.accordion_area .accordion_one .ac_header .i_box:before, .accordion_area .accordion_one .ac_header .i_box:after {
  position: absolute;
  content: "";
  margin: auto;
  box-sizing: border-box;
  vertical-align: middle;
}
.accordion_area .accordion_one .ac_header .i_box:before {
  border-top: 2px solid #014897;
  width: 20px;
  height: 0;
  top: 0;
  bottom: 0;
  right: 0;
}
.accordion_area .accordion_one .ac_header .i_box:after {
  border-left: 2px solid #014897;
  width: 0;
  height: 20px;
  top: 0;
  bottom: 0;
  right: 9px;
  transition: .3s;
}
.accordion_area .accordion_one .ac_header.open .i_box:after {
  height: 0;
}
.accordion_area .accordion_one .ac_inner {
  display: none;
  padding: 1.5rem 2rem 1.5rem 2rem;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  box-sizing: border-box;
  background: #fff;
}
@media screen and (max-width: 736px) {
  .accordion_area .accordion_one .ac_header {
    padding: 1.5rem 2rem 1.5rem 1.0rem;
  }
  .accordion_area .accordion_one .ac_header .i_box {
    right: 0.8rem;
    width: 15px;
    height: 15px;
    margin-top: -7px;
  }
  .accordion_area .accordion_one .ac_header .i_box:before {
    width: 15px;
  }
  .accordion_area .accordion_one .ac_header .i_box:after {
    height: 15px;
    right: 7px;
  }
  .accordion_area .accordion_one .ac_inner {
    padding: 1.5rem 1.5rem 1.5rem 1.5rem;
  }
}

/*=========
faq
=========*/

.p-faq__headinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}
.p-faq__headinner::before {
  position: absolute;
  left: 0;
  content: "Q．";
  color: #0457CC;
  font-size: 16px;
  font-weight: bold;
}
.p-faq__headinner p.p-faq__q-txt {
  font-size: 16px;
}
@media screen and (max-width: 736px) {
  .p-faq__headinner {
    padding-left: 25px;
  }
  .p-faq__headinner::before {
    font-size: 14px;
  }
  .p-faq__headinner p.p-faq__q-txt {
    font-size: 14px;
  }
}
.p-faq__bodyinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}
.p-faq__bodyinner::before {
  position: absolute;
  left: 0;
  content: "A．";
  color: #FF6200;
  font-size: 16px;
  font-weight: bold;
}
.p-faq__bodyinner p.p-faq__a-txt {
  font-size: 16px;
}
@media screen and (max-width: 736px) {
  .p-faq__bodyinner {
    padding-left: 25px;
  }
  .p-faq__bodyinner::before {
    font-size: 14px;
  }
  .p-faq__bodyinner p.p-faq__a-txt {
    font-size: 14px;
  }
}

/*=========
faq
=========*/

.qa-1 {
    max-width: 100%;
    margin-bottom: 7px;
    border: 1px solid #d6dde3;
    border-radius: 5px;
}

.qa-1 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 8px 1em 8px 1em;
    color: #000;
    font-weight: 500;
    cursor: pointer;
}

.qa-1 summary::before,
.qa-1 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-1 summary::before {
    color: #75bbff;

}

.qa-1 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}

.qa-1[open] summary::after {
    transform: rotate(225deg);
}

.qa-1 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.qa-1[open] p {
    transform: none;
    opacity: 1;
}

.qa-1 p::before {
    color: #ff8d8d;
    line-height: 1.2;

}

.qa-1 p a{color:#005BAE;}

i.fa-asterisk{color:#FF0000;}
i.fa-exclamation-triangle{color:#2A8BDC;}

/*=========
base
=========*/

.s_section {
  max-width: 1500px;
  margin: 0 auto;
  padding: 2rem 10px;
}
.gutter>*:not(:last-child) {
  margin-bottom: 1.5rem;
}



/*PCの場合にはメニューを表示させない*/
@media (min-width: 769px) {


   .for-sp{
      display:none;
    }
}


/*PC及びスマホの改行区別*/
@media screen and (min-width: 680px){   
  .pc { display:block; }
  .sp { display:none; }

#team .pic2{display:none;}

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

.section-title h2 {font-size: 26px;}
#footer .footer-top .footer-info {text-align:center;}
#team .pic{display:none;}
.team .member {padding-left: 0px; padding-right:25px;}
.team .member .pic2 {margin-top:10px;text-align:center; overflow: hidden;width: 100%;}
#hero h2 {margin-bottom: 10px;}

}

@media screen and (min-width:769px) and (max-width:1024px) {
 .haba span.url{
  font-size:14px;
}
｝


/* レスポンシブ　電話リンク */

@media (min-width: 769px) {
a[href*="tel:"] {
pointer-events: none;
cursor: default;
text-decoration: none;
}
}

.service-item figure.hover-parent {
　width: 250px;
　height: 175px;
　position: relative;
　margin-bottom: 30px;
　overflow: hidden;
}
.service-item figcaption.hover-mask {
　width: 250px;
　height: 175px;
　position: absolute;
　top: 0;
　bottom: 0;
　left: 0;
　right: 0;
　background: rgba(0,0,0,0.5);
　opacity: 0;
　color: #fff;
　display: flex;
　align-items: center;
　text-align: center;
　padding: 30px;
}

