/**
 * Common
 */
h1,
h2,
h3,
h4,
h5,
h6,
p,
ol,
ul,
li,
dl,
dt,
dd {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: normal;
  line-height: 1.5;
  box-sizing: border-box;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  /*font-size: 18px;*/
  -webkit-font-smoothing: antialiased; }

em {
  font-style: normal; }

figure {
  margin: 0;
  padding: 0; }

img {
  max-width: 100%;
  border: 0; }

div,
a,
span {
  box-sizing: border-box;
  font-family: 'Noto Sans JP', sans-serif;
  /*font-size: 1rem;*/
}
  div.eng,
  a.eng,
  span.eng {
    font-family: 'Roboto', sans-serif; }

a {
  /*color: #f55700;*/ }
  a img {
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out;
    opacity: 1; }
  a:hover {
    color: #ff8f52; }
    a:hover img {
      opacity: 0.8; }

body {
  background: #fff;
  margin: 0;
  padding: 0;
  font-size: 18px;
  -webkit-font-smoothing: antialiased; }
  @media screen and (max-width: 540px) {
    body {
      font-size: 4.5vw; } }

#GW {
    display: none !important;
}
#main_content #GW {
    display: block !important;
    padding: 40px 0px 20px;
    border: none;
    margin-bottom: 0;
}

/**
 * Layouts
 */
#side_col {
  display: none !important;
}

#main_content {
  /*width: 1100px !important;*/
  width: 100% !important;
}

.container {
  width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 540px) {
	#main_content #GW {
	    margin-bottom: -45px;
	}
	#main_content #GW .body {
    	padding: 0.5em 0em;
	}
  .container {
    width: 100%;
    overflow: hidden;
  }
}

.pc {
  display: block; }
.sp {
  display: none; }

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

/**
 * Header
 */
#header {
  width: 1100px !important;
}
#first_text {
  position: fixed;
  top: 0;
  z-index: 100;
  width: 100%;
}
#header_wrap {
  position: fixed;
  z-index: 100;
  width: 100%;
  background: #fff;
}

#hiddenMenuSection {
  position: fixed !important;
}

@media screen and (max-width: 540px) {
  #header {
    width: 100% !important;
  }
}

/*********************************************************************/
#fv {
  padding-top: 131px;
}

.catch img.sp {
	width: 100%;
}

#fv .fv01 {}
  #fv .fv01 .catch {}
  #fv .fv01 h1 {}
  #fv .fv01 h2 {}
  @media screen and (max-width: 540px) {
    #fv .fv01 {}
    #fv .fv01 h2 {}
   }
#fv .fv02 {}
  @media screen and (max-width: 540px) {
    #fv .fv02 {}
  }

.banner {
    background-image: url('../img/img_banner_bg@2x.jpg');
    width: 100%;
    position: relative;
    height: 180px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top left;
}
.banner .title {
    position: absolute;
    transform: translate(-50%,-50%);
    top: 35%;
    left: 50%;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    width: 100%;
    text-align: center;
    text-transform: uppercase;
}
.banner .title span {
	border-bottom: 3px solid #FFC400;
}
.banner .text {
    position: absolute;
    transform: translate(-50%,-50%);
    bottom: 12%;
    left: 50%;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 500;
    width: 100%;
    text-align: center;
    text-transform: uppercase;
}
.banner .text span {
    background: #000;
    padding: 0.15rem 2rem 0.275rem;
}
@media screen and (max-width: 540px) {
	.banner {
	    height: 140px;
		background-position: top right 28%;
	}
	.banner .title {
	    top: 30%;
	    font-size: 1.5rem;
	}
	.banner .text {
	    bottom: -5%;
	    background: #000;
	    width: 83%;
	    font-size: 0.825rem;
	    padding: 0.15rem 0 0.275rem;
	}
	.banner .text span {
	    background: none;
	    padding: 0;
	}
}

/*********************************************************************/
section .container.item {
    margin-top: 4rem;
    padding: 2rem 4rem 3.5rem;
    background: #FFF;
    box-shadow: 0 0 10px rgba(60, 100, 124, 0.2);
}

section .section-header {
    margin: 1.5rem 0 3.5rem;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
}
section .section-header .eng {
	padding: 0 0.1em;
}
section .section-header:after {
	content: "";
	display: block;
	width: 320px;
	height: 3px;
	margin: 2rem auto 0;
	background-color: #278dbf;
}
section .section-header em {
	font-size: 2.4em;
	font-weight: 900;
}

section .item .description {
    display: flex;
    align-items: center;
    margin-bottom: 3rem;
}
section .item .description .cols-2 {
    position: relative;
    width: 50%;
    padding: 20px;
}
section .item .description .cols-2:first-child {
    text-align: center;
}
section .item .description .cols-2 .caption {
    position: absolute;
    width: 100%;
    transform: translate(-50%,-50%);
    bottom: -2.75rem;
    left: 50%;
    font-size: 0.9rem;
    text-align: center;
}
section .item .description .cols-2 .caption.singleline {
    bottom: -0.85rem;
}
section .item h3 {
    margin-bottom: 4rem;
    font-size: 1.3em;
    font-weight: 700;
    color: #11347d;
    line-height: 1.3em;
    text-align: center;
    position: relative;
}
section .item h3::before {
    position: absolute;
    top: 50%;
    z-index: 1;
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    background-color: #5d627b;
}
section .item h3::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -40px;
    left: 0;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-color: #FFC400 transparent transparent transparent;
    border-width: 25px 50px 0 50px;
}
section .item h3 > span {
    position: relative;
    z-index: 2;
    display: inline-block;
    margin: 0 2.5em;
    padding: 0 1em;
    background-color: #FFF;
    text-align: center;
}

section .item .location {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: center;
    margin-bottom: 5px;
}
section .item .location .th_block {
    width: 15%;
    margin-right: 0px!important;
    padding: 0.8rem 0;
    background: #0896E9;
    display: -webkit-box;
    display: -ms-flexbox;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.35;
}
section .item .location .td_block {
    width: 85%;
    /*padding-left: 1rem;*/
    padding: 0.5rem 0 0.5rem 0.75rem;
    background: #fff;
    border: 1px solid #9FCEE5;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: 700;
    font-size: 1rem;
    color: #222;
    line-height: 1.5;
}

section .item .linkBtn {
    text-align: center;
    margin: 2.5rem 0 0;
}
section .item .linkBtn a {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 400px;
    line-height: 1;
    color: #fff;
    font-size: 1.28rem;
    font-weight: 700;
    text-decoration: none;
    background: #000;
    padding: 15px;
    bottom: 4px;
    box-shadow: 3px 3px 0px rgb(217 221 223);
    /*background: #000 url('../img/arrow@2x.png') no-repeat;
    background-position: left 15px center;*/
}
section .item .linkBtn a:hover {
	opacity: 0.7;
}
section .item .linkBtn a > span {
    position: absolute;
    transform: translate(-50%,-50%);
    top: 50%;
    left: 23px;
}

@media screen and (max-width: 540px) {
 	#header_logo_area {
		margin-bottom: 3px;
	}
	section .container.item {
	    width: 95%;
	}
	section .section-header {
		margin: 0.5rem 0 1rem;
		font-size: 1.2rem;
		line-height: 1.3;
	}
	section .section-header:after {
		width: 55.5vw;
		height: 0.7vw;
		margin-top: 5vw;
	}
	section .container.item {
	    padding: 1rem;
	}
	section .item .description {
	    display: block;
	}
	section .item .description .cols-2 {
	    width: 100%;
	    padding: 0.5rem;
	    font-size: 1rem;
	}
	section .item .description .cols-2 .caption {
	    position: initial;
	    transform: none;
	    font-size: 0.85rem;
	}
	section .item h3 {
	    font-size: 0.9em;
	}
	section .item .location {
		flex-direction: column;
	}
	section .item .location .th_block {
	    width: 100%;
	    padding: 0.5rem 0;
	}
	section .item .location .td_block {
	    width: 100%;
	    padding: 0.5rem;
	    font-size: 0.85rem;
	}
	section .item .linkBtn a {
	    width: 90%;
	    max-width: 400px;
	    font-size: 1.05rem;
	    padding: 15px;
	    bottom: 4px;
	}
	section .item .linkBtn a > span {
	    top: 52%
	    left: 18px;
	}
	section .item .linkBtn a > span img {
	    width: 24px;
	}
}



/*********************************************************************/
#point {
  padding-top: 2rem;
  padding-bottom: 5rem; }
  #point .points {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    -js-display: flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: space-between;
    justify-content: space-between;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch; }
  #point .points li {
    position: relative;
    width: 49%;
    margin-bottom: 1rem;
  }
  #point .wide {
    position: relative;
  }
  #point .character {
    position: absolute;
    top: -10%;
    right: 0;
    max-width: 220px;
  }
    #point .points li h3 {
      font-size: 1.1em;
      font-weight: 700;
      text-align: center;
      margin-bottom: 30px; }
    #point .points li p {
      font-size: 0.9em; }
  @media screen and (max-width: 540px) {
    #point {
      padding-bottom: 5vw; }
      #point3 .section-header {
        margin-bottom: 12.5vw;
        padding-bottom: 0; }
      #point .points {
        display: block;
        padding: 0 5vw; }
      #point .points li {
        width: 100%;
        margin-bottom: 5vw;
        padding: 0;
        border: 0; }
      #point .character {
        width: 50%;
        top: -5%;
        right: -8%;
      }
          #point .points li h3 {
            margin-bottom: 5vw; }
          #point .points li p {
            font-size: 0.7em; }
  }

/*********************************************************************/
#system {
  padding-bottom: 40px;
}
  #system .section-header {
    margin-bottom: 1rem;
  }
  #system .section-header:after {}
  #system .system-flow {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    -js-display: flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
  #system .system-flow li {
    width: 50%;
    margin-bottom: 3rem;
  }
  #system figure {
    margin-bottom: 90px;
    text-align: center; }
  #system .sample-area {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    -js-display: flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 15px 0 20px 20px;
    background: #000;
    color: #fff; }
    #system .sample-area .text {
      padding: 0 77px 0 50px; }
      #system .sample-area .text p {
        margin-bottom: 1.5em; }
@media screen and (max-width: 540px) {
  #system {
    margin-bottom: 3.7vw;
    padding-bottom: 0; }
    #system .section-header {
      padding-bottom: 0; }
      #system .section-header:after {
        width: 80vw; }
    #system .container {
      display: -webkit-box;
      display: -moz-box;
      display: -webkit-flexbox;
      display: -moz-flexbox;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-flex;
      -js-display: flex;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-justify-content: space-between;
      -ms-flex-pack: space-between;
      justify-content: space-between;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center; }
      #system .container .system-flow {
        order: 2;
        display: block;
        width: 100%;
        margin-top: 1rem;
      }
      #system .container .system-flow li {
        position: relative;
        width: 95%;
        margin-bottom: 5vw;
        padding: 0;
        background: none;
      }
      #system .container figure {
        order: 1;
        margin-bottom: 7.5vw;
        padding: 0 2.5vw; }
      #system .container .sample-area {
        order: 3;
        padding: 7.5vw 6.7vw 15vw 6.7vw;
        align-items: flex-start; }
        #system .container .sample-area .product {
          width: 32.5vw;
          margin-bottom: 15vw; }
        #system .container .sample-area .text {
          padding: 0 0 0 10vw; }
        #system .container .sample-area .image {
          width: 100%; }
}


/*********************************************************************/
#exercise {
  padding-bottom: 40px;
}
  #exercise .section-header {
    font-size: 2.25rem;
    font-weight: 700;
    margin-bottom: 1rem;
  }
  
   #exercise ul {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    -js-display: flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }
  #exercise ul li {
    width: 49%;
    margin-bottom: 3rem;
  }
  
@media screen and (max-width: 540px) {
  #exercise .section-header {
    font-size: 1.3rem;
    line-height: 1.4;
  }
  #exercise .container ul {
    display: block;
    padding: 0 5vw;
  }
  #exercise .container ul li {
    width: 100%;
    margin-bottom: 5vw;
    padding: 0;
  }

}

/*********************************************************************/
#camera {
  padding-bottom: 40px;
}
  
   #camera ul {
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    -js-display: flex;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    -ms-flex-pack: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    background: #EFEFEF;
    margin: 1rem 0 3rem;
  }
  #camera ul li {
    width: 50%;
    padding: 10px;
  }
  
@media screen and (max-width: 540px) {
  #camera .container figure img {
    width: 100%;
  }
  #camera .container ul {
    display: block;
    padding: 5vw 2vw 1vw;
  }
  #camera .container ul li {
    width: 100%;
    margin-bottom: 5vw;
    padding: 0;
  }

}

.cta-bannar {
    text-align: center;
    margin: 5rem 0;
}

/*********************************************************************/
#footer {
  width: 100% !important;
  /*margin-top: 90px;*/
  }
  @media screen and (max-width: 540px) {
    #footer {
      margin-top: 15vw; } }
  #footer .sec01 {
    padding: 100px;
    border-top: 1px solid #241816;
    border-bottom: 1px solid #241816; }
    #footer .sec01 .logos {
      display: -webkit-box;
      display: -moz-box;
      display: -webkit-flexbox;
      display: -moz-flexbox;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-flex;
      -js-display: flex;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center; }
      #footer .sec01 .logos li:first-child {
        margin-right: 170px; }
    @media screen and (max-width: 540px) {
      #footer .sec01 {
        padding: 13.7vw 0; }
        #footer .sec01 .logos li:first-child {
          width: 33.7vw;
          margin-right: 10vw; }
        #footer .sec01 .logos li:last-child {
          width: 32.5vw; } }
  #footer .sec02 {
    padding: 87px 0 60px 0; }
    #footer .sec02 .container {
      display: -webkit-box;
      display: -moz-box;
      display: -webkit-flexbox;
      display: -moz-flexbox;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: -moz-flex;
      -js-display: flex;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-justify-content: space-between;
      -ms-flex-pack: space-between;
      justify-content: space-between;
      -webkit-align-items: flex-start;
      -ms-flex-align: flex-start;
      align-items: flex-start; }
      #footer .sec02 .container .data table {
        width: 745px; }
        #footer .sec02 .container .data table th {
          width: 265px;
          padding: 12px 0 12px 9px;
          border-bottom: 1px solid #e0e0e0;
          color: #375191;
          font-weight: 400;
          text-align: left; }
        #footer .sec02 .container .data table td {
          padding: 12px 0;
          border-bottom: 1px solid #e0e0e0; }
      #footer .sec02 .container .data .row {
        display: -webkit-box;
        display: -moz-box;
        display: -webkit-flexbox;
        display: -moz-flexbox;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: -moz-flex;
        -js-display: flex;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-justify-content: space-between;
        -ms-flex-pack: space-between;
        justify-content: space-between;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        margin-top: 17px; }
        #footer .sec02 .container .data .row p {
          font-size: 0.9em; }
        #footer .sec02 .container .data .row .mark {
          width: 100px; }
    @media screen and (max-width: 540px) {
      #footer .sec02 {
        padding: 10vw 0 7.5vw 0; }
        #footer .sec02 .container .logo {
          width: 23.7vw;
          margin: 0 auto 10vw auto; }
        #footer .sec02 .container .data {
          padding: 0; }
          #footer .sec02 .container .data table {
            width: 94%;
            display: block;
            margin: 0 auto; }
            #footer .sec02 .container .data table tbody, #footer .sec02 .container .data table tr, #footer .sec02 .container .data table th, #footer .sec02 .container .data table td {
              display: block;
              width: 100%;
              border-bottom: 0;
              font-size: 1em;
              box-sizing: border-box; }
            #footer .sec02 .container .data table th {
              padding: 1.2vw;
              background: #1d4dd0;
              color: #fff; }
            #footer .sec02 .container .data table td {
              padding: 0.5vw 0 2.5vw 0; }
          #footer .sec02 .container .data .row {
            display: block;
            width: 94%;
            margin: 10vw auto; }
            #footer .sec02 .container .data .row p {
              font-size: 0.8em; }
            #footer .sec02 .container .data .row .mark {
              width: 20.7vw;
              float: right;
              margin-top: 3.7vw; } }

/*********************************************************************/
footer {
  padding: 24px 0;
  background: #efefef;
  text-align: center; }
  footer p {
    font-size: 0.7em; }
  @media screen and (max-width: 540px) {
    footer {
      margin-bottom: 5em; } }

/*********************************************************************/
#contact.visible {
  right: 0; }

.telBtn {
  display: block;
  padding: 12px;
  background: #0a6700;
  color: #fff;
  text-decoration: none;
  box-sizing: border-box;
  width: 190px;
  margin-bottom: 12px;
  margin-left: 5px;
  padding: 5px; }
  .telBtn span:first-child {
    font-size: 0.8em;
    padding-left: 5px;
    background-size: 19px auto; }
  .telBtn span:first-child {
    display: block;
    margin-bottom: 3px; }
  .telBtn span:nth-child(2) {
    display: block;
    background-size: 35px auto;
    font-family: 'Roboto',sans-serif;
    font-weight: 500;
    padding-left: 5px;
    font-size: 26px;
    background-size: 35px auto;
    line-height: 1; }
  .telBtn span.note {
    display: block;
    font-size: 13px;
    text-align: center; }
  .telBtn:hover {
    background: #0f9a00;
    color: #fff; }

.reserveBtn {
  width: 190px;
  margin-bottom: 12px;
  margin-left: 5px;
  padding: 5px;
  background-image: -moz-linear-gradient(90deg, #ff6009 0%, #ff9909 100%);
  background-image: -webkit-linear-gradient(90deg, #ff6009 0%, #ff9909 100%);
  background-image: -ms-linear-gradient(90deg, #ff6009 0%, #ff9909 100%);
  background-color: #f0831e;
  color: white;
  text-decoration: none;
  font-size: 18px;
  line-height: 20px;
  font-family: 'Noto Sans Japanese',sans-serif;
  font-weight: 600;
  border-radius: 3px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  transition: all 300ms 0s ease; }
  .reserveBtn span {
    display: block; }
  .reserveBtn:hover {
    background-image: none;
    background-color: #ffb81d;
    color: #fff; }

div.pmark,
div.bp_bannar {
  display: none !important;
}

#return_top {
  /*display: none !important;*/
}

#footer_wrap,
#myFooter {
  /*display: none !important;*/
}

#footer picture {
  display: none !important;
}

#contact #footer_contact > div.telBtnwrap a.telBtn {
  width: 100%;
  height: 100%;
  margin: 0; }

#footer_contact a {
  display: block; }

#footer_contact a.reserveBtn {
  display: block;
  text-align: center; }

#footer_contact a img {
  display: block;
  height: 14vw;
  width: auto; }

#footer_contact.visible {
  right: 0; }

#contact #pagetop span,
#contact #close span {
  font-size: 0.8rem;
}

@media screen and (min-width: 481px) {
  #footer_contact {
    display: none; } }
@media screen and (max-width: 540px) {
  #contact ul.pc {
    display: none; }

  #contact #footer_contact > a.reserveBtn {
    width: 48%;
    padding-right: 0;
    padding-left: 0;
    font-size: 4.2vw;
    line-height: 6vw;
    box-sizing: border-box;
    margin: 0;
    display: flex;
    align-content: center; }

  #contact #footer_contact > div.telBtnwrap {
    width: 48%;
    box-sizing: border-box;
    margin: 0; }

  #contact #footer_contact a.telBtn {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    width: 100%; }

  #contact .telBtn span:nth-child(2) {
    font-size: 5vw;
    justify-content: center;
    width: 100%;
    text-align: center;
    padding-left: 0; }

  #contact .telBtn span.note {
    font-size: 11px;
    position: relative;
    /*right: -0.3em;*/
    justify-content: flex-end;
    width: 100%; }
    #contact .telBtn span.note.small {
    font-size: 10px;
    line-height: 1.2;} }
#contact {
  position: fixed;
  right: -250px;
  bottom: 80px;
  width: 250px;
  padding: 5px 50px 0px 5px;
  background: rgba(0, 0, 0, 0.7);
  z-index: 55;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
  /* ////// BIGIN @media */
  /* ////// END @media */ }
  @media screen and (max-width: 540px) {
    #contact {
      bottom: 0;
      right: -100%;
      width: 100%;
      height: auto;
      padding: 2.5vw;
      background: rgba(255, 255, 255, 0.9);
      box-shadow: 0 -3px 8px rgba(0, 0, 0, 0.1); } }
  #contact.visible {
    right: 0; }
  #contact #pagetop {
    position: absolute;
    top: 88px;
    right: 5px;
    z-index: 56;
    width: 40px;
    color: #fff;
    font-size: 12px;
    text-align: center;
    text-decoration: none;
    line-height: 1.2;
    opacity: 0;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out; }
    #contact #pagetop.visible {
      opacity: 1; }
      #contact #pagetop.visible:hover {
        opacity: 0.9;
        text-shadow: 0 0 8px #fff; }
  #contact #close {
    width: 40px;
    position: absolute;
    top: 12px;
    right: 5px;
    z-index: 57;
    color: #fff;
    font-size: 12px;
    text-align: center;
    text-decoration: none; }
    #contact #close:hover {
      opacity: 0.9;
      text-shadow: 0 0 8px #fff; }

.contact .telBtn {
  display: block;
  padding: 12px;
  background: #0a6700;
  color: #fff;
  text-decoration: none; }
  .contact .telBtn span:first-child {
    display: block;
    background: url(../img/mv_icon_tel.png) no-repeat left center; }
  .contact .telBtn span:nth-child(2) {
    display: block;
    background: url(../img/mv_icon_free.png) no-repeat left center;
    font-family: 'Arial'; }
  .contact .telBtn span.note {
    display: block;
    font-size: 10px;
    text-align: right; }
  .contact .telBtn:hover {
    background-color: #0f9a00; }

/**
 * mailform
 */
#page_title {
    color: #444;
    padding: 0;
    margin: 0 0 30px 0;
    background-image: none;
    border-top: solid 2px #88bbff;
    border-bottom: solid 1px #fff;
    padding: 10px 10px;
    background-color: #efefef;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(1.00, #ededed), color-stop(0.85, #ededed), color-stop(0.00, #ffffff));
    background: -webkit-linear-gradient(top, #ffffff 0%, #ededed 85%, #ededed 100%);
    background: -moz-linear-gradient(top, #ffffff 0%, #ededed 85%, #ededed 100%);
    background: -o-linear-gradient(top, #ffffff 0%, #ededed 85%, #ededed 100%);
    background: -ms-linear-gradient(top, #ffffff 0%, #ededed 85%, #ededed 100%);
    background: linear-gradient(top, #ffffff 0%, #ededed 85%, #ededed 100%);
    box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.15);
    -moz-box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.15);
    -webkit-box-shadow: 0px 3px 3px rgba(0, 0, 0, 0.15);
    border-radius: 5px;
    behavior: url(/PIE.htc);
}
.post, .post p {
    font-size: 13px;
    line-height: 1.8em;
    color: #333;
    margin: 0;
    padding: 0;
    display: block;
}
.post p.sslText {
    float: right;
}
.contactnew div.mfp_phase div.contactnew_coution2 p {
    padding: 20px 0;
    margin: 30px 55px;
    text-align: center;
    background: #ECE1E1;
    font-size: 16px;
    line-height: 24px;
    color: #600;
}
#privacypolicy {
    width: 800px;
    height: 200px;
    margin: 30px auto;
    padding: 10px;
    overflow: auto;
    border: 1px solid #888;
    font-size: 13px;
}
form#mailformpro .policy-agree {
    margin: 20px 0;
    text-align: center;
}
.btn-send-style {
    position: relative;
    width: 50%;
    padding: 0.5em;
    border: 0;
    background: #000;
    color: #fff;
    appearance: none;
    cursor: pointer;
}
.btn-send-style::after {
    content: "";
    right: 5%;
    top: 50%;
    position: absolute;
    border-top: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 10px solid #fff;
    transform: translateY(-50%);
}
@media screen and (max-width: 540px) {
  form#mailformpro.contactnew {
      padding: 0 0 10px 0;
  }
  .post p.sslText {
    float: none;
    text-align: left;
    padding: 0 1rem;
  }
  form#mailformpro.contactnew textarea {
    width: 100% !important;
  }
  .contactnew div.mfp_phase div.contactnew_coution2 p {
    padding: 10px;
    margin: 0;
    text-align: left;
  }
  #privacypolicy {
    width: 100%;
    box-sizing: border-box;
  }
  form#mailformpro .policy-agree {
    font-size: 14px;
  }
  div.mfp_buttons {
    clear: both;
    padding: 10px 0px;
    text-align: center;
  }
  div.mfp_buttons button {
    font-size: 18px;
    padding-top: 1rem;
    padding-bottom: 0.75rem;
  }
  .btn-send-style {
    width: 100%;
    box-sizing: border-box;
  }
}