@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;/*--- Androidブラウザ用 ---*/
	display:-ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
	-ms-flex-pack:justify;/*--- IE10 ---*/
	-webkit-justify-content: center; /* Safari */
	justify-content:center;
}
.flexbox-between{
	display:-webkit-box;/*--- Androidブラウザ用 ---*/
	display:-ms-flexbox;/*--- IE10 ---*/
	display: -webkit-flex; /* Safari */
	display: flex;
	-webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
	-ms-flex-pack:justify;/*--- IE10 ---*/
	-webkit-justify-content: space-between; /* Safari */
	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;
}

.fb_wrap {
	-ms-flex-wrap:wrap;/*--- IE10用 ---*/
	-webkit-flex-wrap: wrap; /* Safari */
	flex-wrap:wrap;
}


/* 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: 960px;
  width: 100%;
  margin: 0 auto;
}


/*text-center
---------------------------------------------------*/
.text-center {
  text-align: center;
}


/* 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 {
  width: 100%;
}

header .head_l a {
  display: block;
  margin-top: 10px;
  font-size: 3rem;
  font-weight: bold;
}

header .head_r .phone {
  padding: 12px 30px 8px 30px;
  border-radius:7px;
  color: #ffffff;
  font-size: 2.8rem;
  display: block;
  white-space: nowrap;
}

header .head_r .phone span {
  font-weight: bold;
  margin-left: 5px;
}


/* メインイメージ
---------------------------------------------------*/
.main_img {
  padding: 50px 0px;
}
.main_bnr{
	position: relative;
}
.main_bnr dt {
  position: absolute;
  top: 50%;
  left: 10%;
  transform: translateY(-50%) translateX(-10%);
  -webkit- transform: translateY(-50%) translateX(-10%);
  margin: auto;
  text-shadow: #fff 2px 0px 0px, #fff -2px 0px 0px,
    #fff 0px -2px 0px, #fff 0px 2px 0px,
    #fff 2px 2px 0px, #fff -2px 2px 0px,
    #fff 2px -2px 0px, #fff -2px -2px 0px,
    #fff 1px 2px 0px, #fff -1px 2px 0px,
    #fff 1px -2px 0px, #fff -1px -2px 0px,
    #fff 2px 1px 0px, #fff -2px 1px 0px,
    #fff 2px -1px 0px, #fff -2px -1px 0px,
    #fff 1px 1px 0px, #fff -1px 1px 0px,
    #fff 1px -1px 0px, #fff -1px -1px 0px;
}
.main_bnr dt p{
	font-size: 4.0rem;
}
.point {
	padding: 50px 0px;
  margin-left: -1.5%;
  margin-right: -1.5%;
}

.point section {
  background-color: #fff;
  width: 47%;
  margin-left: 1.5%;
  margin-right: 1.5%;
  border :1px solid #e4e4e4;
  padding: 15px;
}

.point section img {
  margin-bottom: 15px;
}

.point section h2 {
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 5px;
}

.point section p {
  font-size: 1.6rem;
}



/* about
---------------------------------------------------*/
.about {
  padding-top: 50px;
  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 {
  border-bottom: 1px solid #e4e4e4;
  padding-bottom: 10px;
}

.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;
}


/* copyright
---------------------------------------------------*/
.copyright {
  text-align: center;
  font-size: 1.2rem;
}



/* 画面サイズが1000px以下の場合に適用 */

/*共通
---------------------------------------------------*/
@media only screen and (max-width: 1000px) {


/*.sp非表示
---------------------------------------------------*/
.pc {
  display: none !important;
}


/*.sp表示
---------------------------------------------------*/
.sp {
  display: block !important;
}


/*margin
---------------------------------------------------*/
.sp-mb-10 {
  margin-bottom: 10px;
}

.sp-mb-20 {
  margin-bottom: 20px;
}

.sp-mb-30 {
  margin-bottom: 30px;
}

.sp-mb-40 {
  margin-bottom: 40px;
}

.sp-mb-50 {
  margin-bottom: 50px;
}

.sp-mb-60 {
  margin-bottom: 60px;
}

.sp-mb-70 {
  margin-bottom: 70px;
}

.sp-mb-80 {
  margin-bottom: 80px;
}


/* container
---------------------------------------------------*/
.container {
  padding-left: .7em;
  padding-right: .7em;
}


/*header
---------------------------------------------------*/
header {
  padding: 15px .7em;
}

header .head_l a {
  margin-top: 0;
}


header .head_r {
  color: #fff;
}


/* about
---------------------------------------------------*/
.about section {
  padding: 15px;
}

.about section ul {
  display: block;
}

.about section ul li:first-child {
  margin-bottom: 5px;
}

}


  /* 画面サイズが576px以下の場合に適用 */


  /*共通
  ---------------------------------------------------*/
  @media only screen and (max-width: 576px) {

  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 {
    font-size: .9rem;
    line-height: 1.4em;
  }


  /*header
  ---------------------------------------------------*/
  header .head_l a {
    font-size: 1.6rem;
  }
  header .head_r .phone {
    font-size: 2.2rem;
    line-height: 100%;
    background: none;
    padding: 0;
  }
  header .head_r .phone span {
    display: none;
  }


  /* 説明
  ---------------------------------------------------*/
  .main_img {
    padding: 25px 0px;
  }

  .main_bnr dt p{
    font-size: 1.4rem;
  }


  /* main_img
  ---------------------------------------------------*/
  .point section {
    width: 97%;
  }

  .point section:first-child {
    margin-bottom: 25px;
  }

  .point section p {
      font-size: 100%;
    }
  .point section h2 {
      font-size: 1.2rem;
    }

  .point section a {
      font-size: 1.4rem;
    }

  .aisatsu h2 {
      font-size: 1.4rem;
    }


  /* about
  ---------------------------------------------------*/
  .about h2 {
    font-size: 1.4rem;
  }


  /* contact
  ---------------------------------------------------*/
  .contact h2 {
    font-size: 1.4rem;
  }

  .copyright {
    font-size: 100%;
  }


  }