@charset "utf-8";

/*reset css
---------------------------------------------------*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
  font-weight: 300;
	vertical-align: baseline;
  font-feature-settings : "palt";
}

img{
  vertical-align: bottom;
  border: 0px;
  -ms-interpolation-mode: bicubic;
  vertical-align: text-bottom;
  border:none;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
	display: block;
}

html{
	overflow-y: scroll;
	font-size:62.5%;
}

body {
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","游ゴシック Medium",YuGothic,YuGothicM,"Hiragino Kaku Gothic ProN",メイリオ,Meiryo,sans-serif;
  font-weight: 300;
  font-size:1.8rem;
  line-height: 1.6;
  letter-spacing: .1rem;
  overflow:hidden;
  color: #444444;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

input, textarea{
	margin: 0;
	padding: 10px;
}

ol, ul{list-style:none;}

table{
    border-collapse: collapse;
    border-spacing:0;
}

caption, th{
    text-align: left;
}

a,
a:hover,
a:visited {
	text-decoration: none;
  color: #0d0000;
  transition-property: all;
  transition: 0.3s linear;
}

a:hover {
  opacity: 0.9;
  filter: alpha(opacity=90);
  -ms-filter: "alpha(opacity=90)";
}


a:focus {
	outline:none;
}

a:hover img {
  opacity: 0.9;
  filter: alpha(opacity=90);
  -ms-filter: "alpha(opacity=90)";
}

*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}


/*cleafix
/------------------------------------------------------------*/
.cf:before,
.cf:after {
    content:"";
    display:table;
}

.cf:after {
    clear:both;
}

/* For IE 6/7 (trigger hasLayout) */
.cf {
    zoom:1;
}


/*flex(均等配置)
---------------------------------------------------*/
/*折り返し*/
.flexbox {
  display:-webkit-box;
  display:-moz-box;
  display:-webkit-flexbox;
  display:-moz-flexbox;
  display:-ms-flexbox;
  display:-webkit-flex;
  display:-moz-flex;
  display:flex;
  -webkit-box-lines:multiple;
  -moz-box-lines:multiple;
  -webkit-flex-wrap:wrap;
  -moz-flex-wrap:wrap;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}

/*折り返し無し*/
.flexbox02 {
  display:-webkit-box;
  display:-moz-box;
  display:-webkit-flexbox;
  display:-moz-flexbox;
  display:-ms-flexbox;
  display:-webkit-flex;
  display:-moz-flex;
  display:flex;
  display:-webkit-box;
  display:-moz-box;
  display:-webkit-flexbox;
  display:-moz-flexbox;
  display:-ms-flexbox;
  display:-webkit-flex;
  display:-moz-flex;
  display:flex;
}

/*要素の間をあける、端は除く、垂直方向ベースライン揃え*/
.flexbox-container {
  display:-webkit-box;
  display:-moz-box;
  display:-webkit-flexbox;
  display:-moz-flexbox;
  display:-ms-flexbox;
  display:-webkit-flex;
  display:-moz-flex;
  display:flex;
  -webkit-box-pack:justify;
  -moz-box-pack:justify;
  -webkit-flex-pack:justify;
  -moz-flex-pack:justify;
  -ms-flex-pack:justify;
  -webkit-justify-content:space-between;
  -moz-justify-content:space-between;
  justify-content:space-between;
}

.flexbox-reverse {
  display:-webkit-box;/*--- Androidブラウザ用 ---*/
  display:-ms-flexbox;/*--- IE10 ---*/
  display: -webkit-flex; /* Safari */
  display: flex;
  -webkit-box-direction:reverse;/*--- Androidブラウザ用 ---*/
  -ms-flex-direction: reverse;/*--- IE10用 ---*/
  -webkit-flex-direction: row-reverse; /* Safari */
  flex-direction:row-reverse;
}


/* sp非表示
---------------------------------------------------*/
.sp {
  display: none;
}


/*画像
---------------------------------------------------*/
.img100 {
  width: 100%;
  height: auto;
}


/*margin
---------------------------------------------------*/
.mb-10 {
  margin-bottom: 10px;
}

.mb-20 {
  margin-bottom: 20px;
}

.mb-25 {
  margin-bottom: 25px;
}

.mb-30 {
  margin-bottom: 30px;
}

.mb-40 {
  margin-bottom: 40px;
}

.mb-50 {
  margin-bottom: 50px;
}

.mb-60 {
  margin-bottom: 60px;
}

.mb-70 {
  margin-bottom: 70px;
}

.mb-80 {
  margin-bottom: 80px;
}

.mb-90 {
  margin-bottom: 90px;
}

.mb-100 {
  margin-bottom: 100px;
}


/* container
---------------------------------------------------*/
.container {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}


/*背景
---------------------------------------------------*/
.bg_polygon {
  background: #f6f2e9;
}


/*text-center
---------------------------------------------------*/
.text-center {
  text-align: center;
}


/*font color
---------------------------------------------------*/
.purple {
  color: #bf3fbf;
}

.green {
  color: #097c0d;
}


/* header
---------------------------------------------------*/
header {
  background-color: #FFFFFF;
  padding-top: 15px;
  padding-bottom: 15px;
  box-shadow: 0px 0px 5px rgba(0,0,0,0.2);
  z-index: 100;
  position: relative;
}

header .head_l {
  max-width: 350px;
  width: 100%;
}

header .head_l a {
  display: block;
  margin-top: 15px;
  margin-bottom: 5px;
}

header .head_r .comment {
  color: #097c0d;
  line-height: 140%;
  margin-right: 15px;
  margin-top: 10px;
}

header .head_r .comment .reserve {
  font-size: 2.5rem;
  font-weight: bold;
}

header .head_r .phone {
  padding: 12px 30px 8px 30px;
  /* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#17921b+0,097c0d+100 */
  background: #17921b; /* Old browsers */
  background: -moz-linear-gradient(top, #17921b 0%, #097c0d 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #17921b 0%,#097c0d 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #17921b 0%,#097c0d 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#17921b', endColorstr='#097c0d',GradientType=0 ); /* IE6-9 */
  /* border-radius */
  border-radius:7px;
  color: #ffffff;
  font-size: 2.8rem;
  display: block;
}

header .head_r .phone span {
  font-weight: bold;
  margin-left: 5px;
}


/* メインイメージ
---------------------------------------------------*/
.main_img {
  position: relative;
  padding-bottom: 150px;
  padding-top: 15px;
  margin-bottom: 460px;
}

.main_img .point {
  position: absolute;
  width: 1000px;
}

.main_img .point section {
  background-color: #fff;
  width: 320px;
  padding: 8px;
}

.main_img .point section div {
  height: 510px;
  border :1px solid #e4e4e4;
  position: relative;
}

.main_img .point section img {
  margin-bottom: 15px;
}

.main_img .point section h2 {
  color: #097c0d;
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 10px;
}

.main_img .point section a {
  color: #fff;
  font-size: 2rem;
  text-align: center;
  position: absolute;
  bottom: 0;
  width: 100%;
  background-color: #097c0d;
  padding-top: 10px;
  padding-bottom: 10px;
}

.main_img .point section p {
  font-size: 1.5rem;
  padding: 0px 15px;
}


/* 独自の施術方
---------------------------------------------------*/
.aisatsu .photo {
  margin-right: 50px;
  max-width: 250px;
  width: 100%;
}

.aisatsu h2 {
  font-size: 2.5rem;
  font-weight: bold;
}


/* キャンペーンバナー
---------------------------------------------------*/
.campaign {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto 100px;
}


/* about
---------------------------------------------------*/
.about {
  padding-top: 60px;
  padding-bottom: 60px;
}

.about h2 {
  display: inline-block;
  padding: 10px 20px;
  font-size: 3rem;
  font-weight: bold;
  background-color: #fff;
  border-radius:7px;
}

.about section {
  padding: 30px;
  background-color: #fff;
}

.about section ul li:first-child {
  font-weight: bold;
  width: 200px;
}

.about section ul li:nth-child(3) {
  margin-left: 20px;
}

.about section iframe {
  width: 100%;
  height: 300px;
}


/* contact
---------------------------------------------------*/
.contact h2 {
  font-size: 3rem;
  font-weight: bold;
}


/* copyright
---------------------------------------------------*/
.copyright {
  text-align: center;
  font-size: 1.2rem;
}