/* CSS Document */

html {
    font-size: 100%;
}

body {
    background: url(../logo/sub_block_bg.jpg);
    margin: 0px;
    color: #666;
    font-size: 14px;
    line-height: 150%;
    padding: 60px 0 0;
}

body.top{
    background: #fcfcfc;
}

/****************************************/
/*layout*/
/****************************************/

.mr15 {
  margin-right: 15px;
}

.mr20 {
  margin-right: 20px !important;
}

.mb0{
  margin-bottom: 0px;
}

.mb30{
  margin-bottom: 30px;
}

.mb45{
  margin-bottom: 45px;
}

.mb60{
  margin-bottom: 60px;
}

.mb90{
  margin-bottom: 90px;
}

.mb120{
  margin-bottom: 120px;
}

.pc_none{
  display:block;
}
.sp_none{
  display:none;
}

br.pc_none{
  display: inline-block;
}
br.sp_none{
  display:none;
}

/****************************************/
/*  */
/****************************************/
a img,
img,
table {
    border: 0;
    width: 100%;
}


#all {
    width: 100%;
    margin: 0px auto;
}


#wrapper {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
}

#container {
    width: 100%;
    margin: 0px auto;
}

#header {
    width: 100%;
}


#logo {
    float: none;
    padding: 0;
    text-align: left;
    width: 100%;
    height: 60px;
    background: #fff;
    box-shadow: 0 2px 10px rgba(0,0,0,.15);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    transition: .3s;
}

.js-header_minimize #logo {
    transform: translateY(-60px);
}

div#logo a img {
    width: 130px;
    margin: 5px;
    height: auto;
}

#menu1 {
    border-left: 1px solid #ECECEC;
    float: left;
    font-size: 12px;
    padding: 0;
    text-align: center;
    width: 100%;
}

#menu1 li:nth-of-type(4),
#menu1 li:nth-of-type(5),
#menu1 li:nth-of-type(6){
    display: none;
}

#menu2 {
    display: none;
}

div#main_img{
    height: 90px;
    position: relative;
    border-bottom: 2px solid #b18c35;
}

div#main_img:after {
    content: "";
    display: block;
    background: #444;
    position: absolute;
    width: 100%;
    height: 100%;
    right: 40%;
    top: 0;
    transform: skew(35deg);
}

#main_img img {
    height: 90px;
    width: auto;
    position: relative;
    left: -35%;
}

#main_img img#mainimg1 {
    width: 100%;
}

#main_img img#mainimg2 {
    width: 23.5%;
}

#main_img img#mainimg3 {
    width: 76.5%;
}

#main_img .main_img_h2{
    color: #fff;
    font-size: 18px;
    font-family: serif;
    letter-spacing: .1rem;
    position: relative;
    z-index: 1;
    bottom: 60px;
    margin: 0;
    line-height: 90%;
    padding: 0 15px;
}

#main_img h2 span {
    font-size: 12px;
    color: #c49e44;
}

#contents {
    width: 94%;
    margin: 0 auto;
}

#footer {
    width: 100%;
    text-align: center;
    margin: 0px auto 0px auto;
    padding: 30px 0px 20px 0px;
    font-size: 0.7rem;
}

#footer li a {
    color: #666;
    text-decoration: none;
    display: block;
    font-size: 0.9rem;
}

#footer li a:hover {
    color: #000;
    text-decoration: none;
    display: block;
    font-size: 1rem;
}


div.top_left,
div.top_middle{
    border-radius: 5px;
    background: #fefefe;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
    box-sizing: border-box;
    padding: 15px;
    width: 100%;
    margin: 0 0 60px;
    position: relative;
}

div.top_left {
    margin-bottom: 170px;
}

div.top_left:before, div.top_middle:before {
    content: "";
    display: block;
    height: 4px;
    width: 70px;
    background: #f33;
    position: absolute;
    left: calc(50% - 40px);
    top: 0;
}

div.top_left:after{
    content: "";
    display: block;
    background: url(../logo/top_block_car.png) no-repeat;
    width: 97px;
    height: 84px;
    position: absolute;
    left: calc(50% - 48px);
    bottom: -130px;
}

div.top_section_space img{
    display: none;
}

.top_right_outer{
    background: url(../logo/top_right_bg2.jpg) repeat-x center top;
    padding: 60px 0 30px;
    background-attachment: fixed;
}

h2.h2_top_right{
    color: #151515;
    padding: 5px;
    font-size: 20px;
    text-align: left;
    font-weight: bold;
    letter-spacing: .2em;
    line-height: 130%;
    margin: 15px 0;
}

div.top_right {
    font-size: 0.8rem;
    line-height: 180%;
    margin: 0 auto 30px;
    padding: 20px 15px 55px;
    width: 90%;
    box-sizing: border-box;
    background: #fefefe;
    position: relative;
    border-radius: 6px;
    box-shadow: rgb(0 0 0 / 10%) 0px 10px 15px -3px, rgb(0 0 0 / 5%) 0px 4px 6px -2px;
}

div.top_right:before {
    content: "";
    display: block;
    width: 10%;
    height: 4px;
    background: #b9aa88;
    position: absolute;
    left: 20px;
    top: 0;
}

div.top_right:after {
    content: "";
    display: block;
    width: 70px;
    height: 81px;
    background: #b9aa88;
    position: absolute;
    right: 0;
    bottom: 0;
}

div.top_right:nth-of-type(1):after {
    background: url(../logo/top_right_dog1.png) no-repeat;
    background-size: contain;
}

div.top_right:nth-of-type(2):after {
    background: url(../logo/top_right_dog2.png) no-repeat;
    background-size: contain;
}

div.main_right2 .top_text1 {
    font-size: 0.8rem;
    line-height: 180%;
    margin: 0 auto 30px;
    padding: 45px 15px 30px;
    width: 100%;
    box-sizing: border-box;
    background: #fefefe;
    position: relative;
    border-radius: 6px;
    box-shadow: rgb(0 0 0 / 10%) 0px 10px 15px -3px, rgb(0 0 0 / 5%) 0px 4px 6px -2px;
}

.main_right2 .top_text1:before {
    content: "";
    display: block;
    height: 4px;
    width: 50px;
    background: #b9aa88;
    position: absolute;
    left: 20px;
    top: 0;
}

div.top_right .top_text1 p {
    font-size: 0.9rem;
    padding: 0;
    margin: 0;
}

.top_text1 .h3_top_right~img{
    width: 200px;
    margin-right: 5%;
    margin-bottom: 15px;
}

.top_text1 .p_main_right~img{
    width: 210px;
    height: auto;
    margin: 0;
}

.paypay_banner img {
  border-radius: 5px;
  margin: 0 auto 30px;
}

.paypay_campaign {
    line-height: 180%;
    margin: 0 auto 30px;
    padding: 20px;
    width: 90%;
    box-sizing: border-box;
    background: #fefefe;
    position: relative;
    border-radius: 6px;
    box-shadow: rgb(0 0 0 / 10%) 0px 10px 15px -3px, rgb(0 0 0 / 5%) 0px 4px 6px -2px;
}

.paypay_link a{
    border-radius: 5px;
    background: #006db7;
    text-shadow: 1px 1px 1px rgb(0 0 0 / 50%), -1px -1px 1px rgb(255 255 255 / 30%);
    margin: 0 auto;
    display: block;
    width: 100%;
    color: #fff;
    text-decoration: none;
    padding: 12px;
    box-sizing: border-box;
    font-size: 14px;
    text-align: center;
    letter-spacing: .1rem;
}

div.top_jisseki {
    width: 100%;
}

.top_jisseki_box{
    position: relative;   
}

p.p_top_jisseki {
    margin: 0 0 60px;
    padding: 0 20px;
    text-align: right;
}

div.top_jisseki_box {
    font-size: 0.8rem;
    line-height: 180%;
    margin: 0 0 20px;
    padding: 20px 15px 15px;
    width: 100%;
    box-sizing: border-box;
    float: left;
    background: #fefefe;
    position: relative;
    border-radius: 6px;
    box-shadow: rgb(0 0 0 / 10%) 0px 10px 15px -3px, rgb(0 0 0 / 5%) 0px 4px 6px -2px;
}

div.top_jisseki_box:before {
    content: "";
    display: block;
    width: 10%;
    height: 4px;
    background: #b9aa88;
    position: absolute;
    left: 20px;
    top: 0;
}

div.top_jisseki_box p{
    font-size: 0.9rem;
    float: right;
    text-align: left;
    width: 55%;
    margin: 0 0 10px;
}

div.top_jisseki_box span{
    width: 55%;
}

div.top_jisseki_box img {
    width: 40%;
    float: left;
    margin: 0 5% 0 0;
}

h2.h2_top{
  font-weight: normal;
  font-size: 20px;
  display: block;
  line-height: 130%;
  letter-spacing: 0.2em;
  margin: 60px 0 45px;
  color: #404040;
  position: relative;
  text-shadow: 1px 1px 1px rgb(255 255 255), 1px 1px 5px rgba(0,0,0,.25);
}

address {
    background: none repeat scroll 0 0 #333333;
    border-radius: 5px;
    color: #FFFFFF;
    float: right;
    font-style: normal;
    padding: 5px;
    font-size: 0.6rem;
}

.tel {
    font-size: 1.2rem;
    margin: 0;
}

.tel a {
    background: none repeat scroll 0 0 #333333;
    color: #fff;
    text-decoration: none;
}

/****************************************/
/* h */
/****************************************/

h1 {
    display: none;
}

/****************************************/
/* top page */
/****************************************/

h2.h2_top_left,h2.h2_top_middle{
    color: #151515;
    padding: 5px;
    font-size: 20px;
    text-align: center;
    font-weight: normal;
    letter-spacing: .2em;
    line-height: 130%;
    margin: 45px 5px 30px;
}

.h2_top_small {
    font-size: 12px;
    color: #b18c35;
    letter-spacing: 0.3em;
    font-weight: lighter;
    line-height: 150%;
    display: inline-block;
    padding: 0 0 10px;
}

h2.h2_top_intro{
    color: #222222;
    padding: 0 10px;
    font-size: calc(0.8125rem + ((1vw - 3.2px) * 1.0989));
    text-align: center;
    letter-spacing: .15em;
    font-family: serif;
    margin: 0 0 30px;
    position: relative;
    font-weight: bold;
    text-shadow: 1px 1px 1px rgb(255 255 255), 1px 1px 5px rgb(0 0 0 / 25%);
}

h2.h2_top_intro span {
    color: #b18c35;
    font-size: calc(2.25rem + ((1vw - 3.2px) * 4.3956));
    font-weight: normal;
    line-height: 150%;
}

.reason3 h3.h3_top_left {
    color: #333;
    position: relative;
    margin: 45px 0 0;
    font-size: 18px;
}

h3.number span {
    color: #b18c35;
    font-size: 30px;
    font-family: serif;
    font-style: oblique;
    margin-right: 8px;
    position: relative;
    bottom: -1px;
}

h3.h3_top_left {
    color: #EF9032;
    font-size: 0.9rem;
    line-height: 150%;
}

h3.h3_top_middle {
    color: #6EB4D6;
    font-size: 0.9rem;
}

h3.h3_top_right {
    color: #778494;
    font-size: 0.9rem;
    margin: 0 0 5px;
}

.text_red {
    color: #f33;
}

.p_link{
text-align:right;
color:#f33;
text-decoration:none;
padding: 15px 0 0;
}

.p_link a{
  border-radius: 5px;
  background: #d0312e;
  background-image: -moz-linear-gradient( 90deg, rgb(176,19,31) 0%, rgb(228,67,55) 100%);
  background-image: -webkit-linear-gradient( 90deg, rgb(176,19,31) 0%, rgb(228,67,55) 100%);
  background-image: -ms-linear-gradient( 90deg, rgb(176,19,31) 0%, rgb(228,67,55) 100%);
  box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.75),inset 0px 1px 0px 0px rgba(255, 255, 255, 0.4);
  text-shadow: 1px 1px 1px rgba(0,0,0,.5), -1px -1px 1px rgb(255,255,255,.3);
  margin: 0 auto;
  display: block;
  width: 100%;
  color: #fff;
  text-decoration: none;
  padding: 12px;
  box-sizing: border-box;
  font-size: 14px;
  text-align: center;
  letter-spacing: .1rem;
}
.p_link:visited{
text-align:right;
margin:0px;
color:#f33;
text-decoration:none;
padding:3px 0px 3px 20px ;
}

.coment {
    font-size: 12px;
}


.fb_ban {
    display: block;
    text-align: center;
    padding: 0;
    width: 210px;
}

.fb_ban_top {
    background: none repeat scroll 0 0 #3b589e;
    border-radius: 8px;
    clear: both;
    margin: 0 auto;
    text-align: center;
    width: 94%;
}

.fb_ban_top p a {
    background: url(../logo/fb_top_logo.jpg) no-repeat 5px top;
    color: #fff;
    display: block;
    line-height: 60px;
    margin: 0 auto;
}

p.flon_number{
    background: #f7f7f7;
    box-sizing: border-box;
    border-radius: 5px;
    padding: 10px;
}


/****************************************/
/*  */
/****************************************/
p.clear0 {
    clear: both;
    margin: 0px;
}

p.clear0 img {
    display: none;
}


ul {
    list-style: none outside none;
    margin: 10px 0 0;
    padding: 0;
}

/****************************************/
/* main */
/****************************************/
#mainImg_outline{
    width: 100%;
    margin: 0 auto;
    padding: 0;
    box-sizing: border-box;
}

#mainImg_wrapper {
    width: 100%;
    height: 150px;
    margin: 0 auto;
    background: #fff url(../logo/topBackAlpha.jpg) repeat-x 0 0;
    background-size: 3500px auto;
    padding: 0;
}

#mainImg {
    width: 100%;
    height: 100%;
    margin: 0 auto;
    background: #fff;
    position: relative;
}

#mainImg ul {
    width: 100%;
    height: 100%;
    background: #fff url(../logo/topBack.jpg) repeat-x 0 center;
    background-size: 2300px auto;
    margin: 0 auto;
    overflow: hidden;
    padding: 0;
}


#mainImg li {
    width: 100%;
    height: 100%;
    background: none;
    border: none;
    float:left;
    padding: 0;
}

#mainImg ul li img {
    width:100%;
}


#slideBtnBack{
    display:none;
}

#slideBtnPrev {
    display:none;
}

.display_none{
    display: none;
}

div.main {}



div.main_left_top {
    font-size: 12px;
    height: auto;
    padding: 15px 0;
}


div.main_right {
    background: url(../logo/top_right_bg2.jpg) repeat-x center top;
    padding: 60px 0 30px;
    margin: 60px 0 0;
    background-attachment: fixed;
}

.img_width100 {
    width: 100%;
    height: auto;
}

div.main_right2 {
    width: 94%;
    margin: 0 auto;
    /*border:1px solid #900;*/
}

div.main_right_top {

    width: 96%;
    padding: 2% 2% 0 2%;
    margin: 0px;
    background: none repeat scroll 0 0 #EFEFEF;
    border-radius: 5px 5px 0 0;
    text-align: right;
    color: #ccc;


    /*border:1px solid #900;*/
}

div.main_right_bottom {
    width: 96%;
    padding: 2%;
    margin: 0px;
    background: none repeat scroll 0 0 #EFEFEF;
    border-radius: 0 0 5px 5px;
    text-align: right;
    color: #ccc;
    box-shadow: 0 3px 0 #CCCCCC;
}

h2.h2_main_center{
    color: #151515;
    padding: 5px;
    font-size: 20px;
    text-align: center;
    font-weight: normal;
    letter-spacing: .2em;
    line-height: 130%;
    margin: 45px 5px 30px;
}

h2.h2_main_right {
    font-size: 28px;
    color: #222;
    padding: 0 0 10px;
    margin: 0px;
    font-weight: normal;
}

.card_info_bg{
    width: 230px;
    background: #f7f7f7;
    border-radius: 5px;
    padding: 0 10px;
    margin: 10px 0;
    box-sizing: border-box;
}

.card_info_bg img{
    width: 100%;
    margin-bottom: 10px;
}

.serif {
    font-family: serif;
    font-weight: bold;
}

.price_block{
    margin: 0 0 45px;
}

.price_block:last-of-type{
    margin: 0 0 30px;
}

.price_under{
    font-family: serif;
    color: #f33;
    font-weight: bold;
    font-size: 30px;
    position: relative;
}

.price_under:after {
    content: "";
    display: block;
    background: url(../logo/price_intro_under.png) no-repeat;
    width: 30px;
    height: 32px;
    position: absolute;
    top: -26px;
    left: 6px;
    background-size: contain;
}

.price_intro img{
    width: 100px;
    height: auto;
    position: absolute;
    top: 33px;
}

.price_intro .h2_sub_text {
    color: #858585;
    font-size: 16px;
    letter-spacing: 0.6rem;
}

.price_intro_img {
    position: relative;
    z-index: 2;
}

.price_intro h3 {
    position: relative;
    font-family: serif;
    text-align: center;
    font-size: 16px;
    line-height: 200%;
    letter-spacing: .2em;
    box-sizing: border-box;
    padding: 15px 0;
    z-index: 1;
    color: #fff;
    margin: 30px 0;
    float: right;
}

.price_intro h3:before {
    content: "";
    display: block;
    height: 100%;
    background: #444;
    background-image: -moz-linear-gradient( 0deg, rgb(240,240,240) 0%, rgb(102,101,101) 36%, rgb(68,68,68) 61%);
    background-image: -webkit-linear-gradient( 0deg, rgb(240,240,240) 0%, rgb(102,101,101) 36%, rgb(68,68,68) 61%);
    background-image: -ms-linear-gradient( 0deg, rgb(240,240,240) 0%, rgb(102,101,101) 36%, rgb(68,68,68) 61%);
    width: 94vw;
    position: absolute;
    right: -10px;
    top: 0;
    z-index: -1;
}

table.price td.price_categoty {
    background: #444;
    color: #fff;
    border: 1px solid #555;
}

table.price td {
    width: 52%;
    padding: 6px;
    margin: 0;
    border: 1px solid #ccc;
}

table.price td:nth-of-type(2n) {
    padding: 6px 6px 6px 12px;
}


table.price.price_all td {
    padding: 8px;
    font-size: 18px;
}

table.price.price_all td:nth-of-type(2) {
    padding: 8px 8px 8px 12px;
}

table.price.price_all td span{
    font-size: 12px;
}

td.total_price{
    background: #e9e9e7;
}

.price_jirei{
  position: relative;
  margin: 0 5% 15px 0;
}

.price_jirei a{
  position: absolute;
  left: calc(100vw - 182px);
  width: 130px;
  bottom: 5px;
}

.price_red {
    color: #f33;
    font-weight: bold;
}

.h3_big{
    font-size: 28px;
}

.text_gold {
    color: #b18c35;
}

p.p_main {
    font-size: 0.8rem;
}

.price_intro p.p_main:nth-of-type(2) {
    clear: both;
}

p.p_main span{
    display: block;
    background: #f6f4f4;
    padding: 5px 10px;
    border-radius: 3px;
    margin: 0px 0 15px;
}

p.p_main_right {
    margin: 0;
}

iframe.footer_map{
    width: 320px;
}

h2.h2_main {
    font-weight: normal;
    font-size: 20px;
    display: block;
    line-height: 130%;
    letter-spacing: 0.2em;
    margin: 30px 0 45px;
    color: #333;
    position: relative;
    text-shadow: 1px 1px rgb(255 255 255), 0 0 30px rgb(0 0 0 / 20%);
}

.h2_main span {
    color: #996633;
    display: inline-block;
    font-size: 12px;
    letter-spacing: 0.2em;
    line-height: 130%;
    padding: 0;
}

h3.h3_main {
    color: #333333;
    font-size: large;
    font-weight: normal;
    margin: 0 0 5px;
    width: 100%;
    line-height: 130%;
}

.image_box_l {
    width: 40%;
    margin-right: 5%;
    text-align: center;
    float: left;
}

.column3_img .image_box_l{
    width: 33%;
    margin: 0;
    float: left;
}

.image_box_r {
    height: auto;
    float: left;
    width: 50%;
    margin-bottom: 15px;
}

.image_box_r img{
    width: 90%;
}

.sub_block {
    border-radius: 5px;
    background: #fefefe;
    box-shadow: rgba(0,0,0,.1) 0px 10px 15px -3px, rgba(0,0,0,.05) 0px 4px 6px -2px;
    box-sizing: border-box;
    padding: 15px 15px 30px;
    width: 100%;
    margin: 0 0 60px;
    position: relative;
}

.sub_block:before{
    content: "";
    display: block;
    height: 4px;
    width: 50px;
    background: #f33;
    position: absolute;
    left: 20px;
    top: 0;
}

.sub_block table{
    margin-bottom: 15px;
    border-collapse: collapse;
}

.sub_top_banner{
    margin-bottom: 30px; 
}

/****************************************/
/* tenpo */
/****************************************/
.box_tenpo {
    padding: 0;
}

.box_tenpo dl dd {
    padding: 0;
    margin: 0 0 5px;
}

.text_box_setubi{
    float: left;
    width:55%;
    margin: 0 0 30px;
}

.box_tenpo .text_box_setubi{
    margin: 0;
}

.image_box_l_setubi {
    width: 40%;
    float: left;
    margin-right: 5%;
}

.image_box_l_staff {
    width: 40%;
    float: left;
    margin-right: 5%;
}

.text_box_setubi + p.clear0,
.text_box_staff1 + p.clear0 {
    border-bottom: 1px solid #eeeeee;
    margin: 20px 0 30px;
}

.box_tenpo .text_box_setubi + p.clear0,
.box_tenpo .text_box_staff1 + p.clear0 {
    border: none;
}

.image_box_r_staff {
    width: 40%;
    float: right;
    margin-left: 5%;
}

.h3_staff {
    font-weight: normal;
    margin: 0px 0px 5px 5px;
}

.h4_staff {
    font-weight: normal;
    float: right;
    width: 55%;
    margin: 0;
}

.p_staff {
    float: right;
    width: 55%
}

.box_tenpo dt {
    font-size: 16px;
    background: #f6f4f4;
    padding: 10px;
    border-radius: 3px;
    margin: 0 0 30px;
}

.company_movie iframe {
  width:100% !important;
  height:calc(((100vw * 0.95) - 30px) * 0.6) !important;
  margin:0 auto !important;
}

/****************************************/
/* shaken */
/****************************************/
.box_shaken {
    height: 100%;
    padding: 80px 20px 20px 100px;
    background: url(../logo/shaken_meritto.jpg) no-repeat top left;
}

.h3_shaken {
    margin: 0px;
    padding: 0px;
    font-size: 18px;
    color: #000;
}

.s_main {
    font-size: 12px;
    padding: 0px 0px 0px 0px;
    margin: 20px 0px 50px 0px;
    line-height: 150%;
}

.shaken_text {
    width: 320px;
}

.nagare_box {
    height: 200px;
    background: url(../logo/nagare_bg.jpg) no-repeat top left;
}

.text_box_shaken {
    float: left;
    padding: 0px 20px 0px 20px;
    width: 100%;
}

/****************************************/
/* okyakusama */
/****************************************/

.text_box_okyakusama {
    float: left;
    width: 57%;
    margin: 0 0 30px;
    background: #f6f6f4;
    box-sizing: border-box;
    padding: 10px 10px 0;
    border-radius: 5px;
}

.text_box_okyakusama + p.clear0{
    border-bottom: 1px solid #eeeeee;
    margin: 20px 0 30px;
}

.image_box_l_okyakusama {
    width: 40%;
    float: left;
    margin-right: 3%;
}
.h3_okyakusama {
    font-size: 0.7rem;
    font-weight: normal;
    margin: 5px 0px;
    line-height: 110%;
}

.h4_okyakusama {
    line-height: 130%;
    margin: 5px 0;
}


/****************************************/
/* q-a */
/****************************************/
.box_q_a {
padding:0;

}


.h3_q {
  font-weight: normal;
  color: #333;
  background: #f6f4f4;
  padding: 30px 15px 20px 65px;
  letter-spacing: 0.2em;
  margin: 0;
  font-size: 18px;
  line-height: 150%;
  position: relative;
  border-radius: 5px 5px 0 0;
}

.h3_q:before {
  content: "";
  display: block;
  background: url(../logo/q.png) no-repeat;
  width: 19px;
  height: 21px;
  position: absolute;
  left: 33px;
  top: 34px;
}

.p_a{
  color: #666;
  background: #f6f4f4;
  padding: 0px 15px 30px 65px;
  line-height: 180%;
  margin: 0 0 30px;
  position: relative;
  border-radius: 0 0 5px 5px;
}
.p_a:before {
  content: "";
  display: block;
  background: url(../logo/a.jpg) no-repeat;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  position: absolute;
  left: 15px;
  top: -2px;
}

/****************************************/
/* access */
/****************************************/
.access_map {
    text-align: center;
    padding: 10px;
    background: #fff;
    margin: 10px auto;
    width: 270px;
    height: 330px;
}

.access_map iframe {
    width: 270px;
    height: 270px;
}

/****************************************/
/* otoiawase */
/****************************************/

.box_otoiawase {
    padding: 10px;
}


/****************************************/
/* menu */
/****************************************/
#menu1 ul {
    background: #bb2525;
    list-style: none;
    padding: 0;
    margin: 0;
}

#menu1 ul:after {
    content: "";
    display: block;
    clear: both;
}

#menu1 li {
    width: 33.3%;
    float: left;
    background: #be2121;
    border-right: 1px solid #bb2525;
    border-top: 1px solid #bb2525;
    padding: 8px 6px;
    box-sizing: border-box;
    /* Old browsers */
    background: -moz-linear-gradient(top, rgb(231, 40, 40) 0%, rgb(162, 28, 28) 100%);
    /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, rgb(231, 40, 40) 0%, rgb(162, 28, 28) 100%);
    /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, rgb(231, 40, 40) 0%, rgb(162, 28, 28) 100%);
    /* Opera 11.10+ */
    background: -ms-linear-gradient(top, rgb(231, 40, 40) 0%, rgb(162, 28, 28) 100%);
    /* IE10+ */
    background: linear-gradient(to bottom, rgb(231, 40, 40) 0%, rgb(162, 28, 28) 100%)
    /* W3C */

}

#menu1 li a {
    font-size: small;
    display: block;
    text-decoration: none;
    color: #fff;
    padding: 0;
}

#menu1 li a:link,
#menu1 li a:active,
#menu1 li a:visited{
    color: #fff;
}

.nptxt {
    margin: 0px;
    padding: 0px;
    clear: both;
    text-align: left;
    letter-spacing: 0em;
}

.nptxt2 {
    padding: 0px;
    clear: both;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 5px;
    margin-left: 0px;
    text-align: left;
    letter-spacing: 0em;
}

.footer_text2 {
    font-size: 10px;
    letter-spacing: 0em;
    text-align: center;
    clear: both;
    padding-top: 10px;
    color: #666666;
}

#footer_wrapper{
    background: #222;
    padding: 20px 4% 25px;
    margin-bottom: calc(100vw * 0.124);
}

.backtop{
    display: none;
}

.copyright{
  font-size: 12px;
  width: 100%;
  margin: 0 auto;
  color: #ccc;
  text-align: center;
}

.copyright a:link, .copyright a:visited{
  color:#006da2;
  text-decoration: none;
}

.copyright a:active, .copyright a:hover{
  text-decoration: underline;
}

table {
    font-size: 12px;
    width: 100%;
    line-height: 130%;
}

table td.table_car {
    background: none repeat scroll 0 0 #FFFFFF;
    width: 30%;
}

table td.table_car div {
    text-align: center;
}

table td.table_car img {
    width: 80%;
    height: auto;
}

.box-form table{
    table-layout: fixed;
    word-break: break-all;
    word-wrap: break-all;
}

.box-form table th, .box-form2 table th{
    font-size: 12px;
}


.box-form2 img {
    width: 100%;
}

textarea {
    width: 96%;
}

/* 2015-11-24 弘田　追記*/
form[name="form1"] ul {
    margin: 0;
}

form[name="form1"] li {
    background: none;
    padding: 0;
}

.input_pict_file {
    margin: 0 0 5px 0;
}

#pict_form_plus {
    float: left;
    margin: 0 15px 0px 0;
}

#pict_form_minus {
    margin: 5px;
}

#pict_form_plus img,
#pict_form_minus img {
    width: inherit;
}

.pict_input_block {
    margin: 0 0 15px;
}

.pict_plus_minus_btn_block {
    margin: 0 0 15px;
}

/* 2015-11-24 弘田　追記　ここまで*/


.sp_w100 {
    width: 100%;
}

/*20160316元兼追記*/


.estimate_btn {
    position: fixed;
    bottom: 0;
    z-index: 100;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
}

.estimate_btn li:nth-child(1),
.estimate_btn li:nth-child(2) {
    width: 12.5%;
    padding: 0;
    margin: 0 0%;
    float: left;
    list-style: none;
}

.estimate_btn li:nth-child(3),
.estimate_btn li:nth-child(4),
.estimate_btn li:nth-child(5) {
    width: 25%;
    padding: 0;
    margin: 0 0%;
    float: left;
    list-style: none;
}

.estimate_btn ul {
    padding: 0;
    margin: 0;
}

.estimate_btn li a {
    display: block;

}

.estimate_btn li a img {
    width: 100%;
}

/* form */

.box-form2,
.box-form {
    margin: 0;
    width: 100%;
    padding: 0;
    background: none;
    border: none;
}

.box-form2 img {
    width: 100%;
    height: auto;
}

.box-form table th,
.box-form table td,
.box-form2 table th,
.box-form2 table td {
    padding: 12px;
}

.box-form table input,
.box-form table textarea,
.box-form table select,
.box-form2 table input,
.box-form2 table textarea,
.box-form2 table select {
    padding: 8px;
    font-size: 14px;
    margin: 0 0 10px;
}

input[type="submit"]{
  border-radius: 5px;
  background: #d0312e;
  background-image: -moz-linear-gradient( 90deg, rgb(176,19,31) 0%, rgb(228,67,55) 100%);
  background-image: -webkit-linear-gradient( 90deg, rgb(176,19,31) 0%, rgb(228,67,55) 100%);
  background-image: -ms-linear-gradient( 90deg, rgb(176,19,31) 0%, rgb(228,67,55) 100%);
  box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, 0.75),inset 0px 1px 0px 0px rgba(255, 255, 255, 0.4);
  text-shadow: 1px 1px 1px rgba(0,0,0,.5), -1px -1px 1px rgb(255,255,255,.3);
  margin: 0 auto 15px;
  display: block;
  width: 100%;
  color: #fff;
  text-decoration: none;
  padding: 12px;
  box-sizing: border-box;
  font-size: 14px;
  text-align: center;
  letter-spacing: .1rem;
  border: none;
}

form[name="form1"] input[type="text"] {
    width: 100%;
    box-sizing: border-box;
}

.box-form table input[name="jusyo"],
.box-form2 table input[name="jusyo"] {
    width: 100%;
}

.box-form table input[name="adoresu"],
.box-form2 table input[name="adoresu"] {
    width: 100%;
}

.box-form table input[type="file"],
.box-form2 table input[type="file"] {
    border: none;
    padding: 0;
    border-radius: 0;
}

.box-form table tr,
.box-form2 table tr {
    width: 100%;
}

.box-form table th,
.box-form table td,
.box-form2 table th,
.box-form2 table td {
    width: 100%;
    display: block;
    box-sizing: border-box;
    border: none;
    background: #DDD;
}

.box-form table td,
.box-form2 table td {
    width: 100%;
    display: block;
    box-sizing: border-box;
    background: #F5F5F5;
}

.box-form table textarea,
.box-form2 table textarea {
    width: 100%;
    box-sizing: border-box;
}

.pict_plus_minus_btn_block {
    float: right !important;
    width: 25% !important;
}

input[type="image"],
.button_center input[type="image"] {
    display: block;
    margin: 0 auto 20px;
}

.pict_plus_minus_btn_block {
    width: 100% !important;
    margin: 0 0 10px !important;
}

.pict_form_plus,
.pict_form_minus {
    float: left;
    padding: 0 10px 0 0;
    cursor: pointer;
    margin: 0;
}

.pict_form_plus img,
.pict_form_minus img {
    width: 42px !important;
}

#corona {
    margin: 0 auto 30px;
    background: #f6f6f6;
    text-align: left;
    padding: 10px;
    box-sizing: border-box;
    font-size: 12px;
}

#corona span {
    padding: 3px 7px;
    background: #666;
    color: #fff;
    margin: 0 10px 0 0;
    font-size: 12px;
    border-radius: 1px;
}

/*ここからハンバーガー*/

   #footer{
        width: 100%;
        height: 100%;
        position: fixed;
        margin: 60px 0 0 0;
        padding: 0;
        left: 0;
        top: 0;
        transform: translate(100%);
        transition: .5s;
        z-index: 101;
    }
    #menu_close {
        height: 60px;
        width: 60px;
        background: #443c32;
        position: fixed;
        padding: 0;
        margin: 0;
        transition: .3s;
        top: 0;
        right: 0;
        z-index: 100;
    }

    .js-header_minimize #menu_close{
        transform: translateY(-100%);
    }

    #footer a :link {
        color: #ffffff;
    }
    #footer.foot_nav_a_after {
        width: 100%;
        height: 100%;
        background-color: #d63737;
        margin-top: 60px;
        position: fixed;
        top: 0;
        left: 0%;
        z-index: 101;
        transform: translate(0);
        transition: .5s;
        padding: 0 15px;
        box-sizing: border-box;
    }
    #bottom_menu a{
        /*transform: translateX(100%);*/
        transition: all 0s linear;
        left: 0;
    }
    #bottom_menu a{
        width: 100%;
        color: #ffffff;
        display: block;
        text-align: center;
        font-size: 16px;
        font-weight: 700;
        text-decoration: none;
        padding: 1% 0;
        border-top: 0.5px solid #72a712;
        display: block;
    }
    #footer a.right {
        border-bottom: 0.5px solid #333;
    }
    #footer a.drawer-content {
        transform: translateX(0);
        display: block;
        border-bottom: solid 1px #e05757;
        line-height: 2.5;
        font-weight: bold;
        font-size: 14px;
    }
    #footer a:link, .drawer-content a:visited {
        color: #ffffff;
        text-decoration: none;
        display: block;
        line-height: 3.3;
        font-weight: bold;
        font-size: 13px;
    }
    #menu_close:before {
        content: "MENU";
        font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, sans-serif;
        color: #fff;
        font-size: 10px;
        letter-spacing: 1.5px;
        text-indent: 0px;
        position: absolute;
        left: calc(50% + 1px);
        transform: translatex(-50%);
        bottom: 8px;
    }
    #menu_close span {
        content: '';
        display: block;
        position: absolute;
        height: 3px;
        width: 30px;
        background: #fff;
        -webkit-transition: .3s;
        -moz-transition: .3s;
        transition: .3s;
        left: 15px;
        padding: 0;
    }

    #menu_close span:nth-child(1) {
        top: 13px;
        background: #fff;
    }
    #menu_close span:nth-child(2) {
        top: 22px;
        width: 24px;
        background: #fff;
    }
    #menu_close span:nth-child(3) {
        top: 31px;
        width: 15px;
        background: #fff;
    }
    #menu_close.menu_open span:nth-child(2) {
        background: rgba(255, 255, 255, 0);
    }
    #menu_close.menu_open span:nth-child(1) {
        top: 21px;
        transform: rotate(45deg);
        background: #fff;
    }
    #menu_close.menu_open span:nth-child(3) {
        top: 21px;
        width: 30px;
        transform: rotate(-45deg);
        background: #fff;
    }
    #menu_close.menu_open:before {
        content: "CLOSE";
        font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, sans-serif;
        color: #fff;
        font-size: 10px;
        letter-spacing: 1.5px;
        text-indent: 0px;
        position: absolute;
        left: calc(50% + 1px);
        transform: translatex(-50%);
        bottom: 8px; 
    }
    #footer a:link, #footer a:visited {
    color: #fff;
}

/*otoiawase banner*/

.otoiawase_container:after{
    content:"";
    display: block;
    clear: both;
}

.otoiawase_container > img{
    margin-bottom: 30px;
}

.otoiawase_container a{
  width: 48%;
  float: left;
}

.otoiawase_container a:first-of-type{
  margin-right: 4%;
}

/****** Validation ******/
div.baloon {
   position: absolute;
   z-index:1;
   min-width:130px;
   left: 50% !important;
}

div.baloon a {
    color: #F60;
    text-decoration: none;
    padding: 3px;
    height: 9px;
    line-height: 9px;
    display: inline-block;
    margin-right: 5px;
    background: #FFF;
    border-radius: 100%;
    font-size: 12px;
}

div.baloon a:hover {
    background-color: #F5F5F5;
}

div.baloon div {
    background: #F60;
    padding: 3px 5px;
    color: #FFF;
    border-radius: 18px;
    font-size: 12px;
}
/* Validation ここまで*/
