@charset "utf-8";
/* CSS Document */
header {
  z-index: 99;
}
/* for sp 表示非表示のスイッチ
---------------------------------------------------------- */
@media screen and (max-width: 959px) {
  .only-pc, .no-sp, .only-tb, img.only-tb {
    display: none !important;
  }
  .only-sp, .no-pc, .no-tb {
    display: block !important;
  }
  img.only-sp, img.no-pc, img.no-tb {
    display: inline-block !important;
  }
  .txt-note-01 {
    font-size: 12px;
  }
  section:first-child {
    margin-top: 15%;
    padding-top: 15%;
  }
  /*改行削除したい場合*/
  br.only-sp, br.no-pc, br.no-tb {
    display: none;
  }
}
/* for pc 表示非表示のスイッチ
---------------------------------------------------------- */
@media only screen and (min-width : 960px) {
  .only-pc {}
  .only-tb, .only-sp, .no-pc {
    display: none !important;
  }
  .no-tb {}
  .no-sp {}
  /*改行削除したい場合*/
  br.only-pc {
    display: none;
  }
  section:first-child {
    margin-top: 100px;
  }
}
/* ---------------------------
 animation 
------------------------------ */
.movetext {
  opacity: 0;
}
.movetext span {
  opacity: 0;
}
.cover, .cover_fast {
  position: relative;
}
.cover::after, .cover_fast::after {
  content: "";
  display: block;
  position: absolute;
  background: #fff;
  width: 100%;
  height: 103%;
  top: -1%;
  left: 0;
  transition-property: width;
  transition-duration: 1s;
  transition-delay: .3s;
}
.cover_fast::after {
  transition-duration: .6s;
  transition-delay: 0;
}
.cover.show::after, .cover_fast.show::after {
  width: 0;
}
.fade_list li, .fade {
  opacity: 0;
  transition-duration: 1s;
  transition-property: opacity;
}
.fade_list li.show, .fade.show {
  opacity: 1;
}
.fadeup_list {
  position: relative;
}
.fadeup_list li {
  opacity: 0;
  transform: translateY(100px);
  transition-duration: 1s;
  transition-property: opacity, transform;
}
.fadeup_list li.show {
  opacity: 1;
  transform: translateY(0);
}
/* ---------------------------
contents
------------------------------ */
article {
  font-weight: 300;
  font-family: "ryo-gothic-plusn", "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  font-style: normal;
  font-size: 14px;
  line-height: 1.6;
  color: #121212;
  margin-top: 100px;
  z-index: -99;
}
div#contents {
  color: #f5f2ea;
}
@media only screen and (max-width : 959px) {
  div#contents h1 {
    position: absolute;
    font-size: 110%;
    top: 5%;
    left: 3%;
    /*  bottom: 30px;
        right: 10px;*/
    padding: 3%;
    z-index: 98;
    /*  -webkit-writing-mode: vertical-rl;
        -moz-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        -ms-writing-mode: vertical-rl;
        writing-mode: vertical-rl;*/
  }
}
div#contents h2 {
  font-size: 160%;
  font-weight: 600;
  /*    margin-top: 5%;*/
  text-align: center;
  margin-bottom: 0%;
  letter-spacing: .35em;
}
div#contents h2 img {
  max-width: 300px;
}
div#contents h3 {
  font-size: 96%;
  text-align: center;
  margin-top: 0%;
  margin-bottom: 3%;
}
div#contents h4 {
  font-family: a-otf-ryumin-pr6n, serif;
  font-size: 135%;
  text-align: left;
  margin-top: 0%;
  margin-bottom: 3%;
  font-weight: 600;
}
div#contents h5 {
  font-family: a-otf-ryumin-pr6n, serif;
  text-align: center;
  margin-top: 0%;
  font-weight: 600;
  font-size: 120%;
  margin-bottom: 5%;
  letter-spacing: .25em;
  line-height: 1.8;
}
section#lead h5 {
  font-size: 115%;
  margin-bottom: 5%;
  letter-spacing: .15em;
  line-height: 1.9;
}
div#contents img {
  max-width: 100%;
  vertical-align: bottom;
}
#top {
  margin-top: 100px;
}
.ryumin {
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 400;
  font-style: normal;
}
.din {
  font-family: din-2014, sans-serif;
  font-weight: 600;
  font-style: normal;
}
.ls25 {
  letter-spacing: 0.25em;
}
.tar {
  text-align: right;
}
/* リセットCSS */
hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
/* 点線 */
.hr_dot {
  border-top: 1px dotted #111;
  padding-top: 5px;
  padding-bottom: 5px;
}
/*見出し*/
.h2_design {
  color: #424242;
  font-size: 3.5rem;
  letter-spacing: .30em;
}
.h3_design {
  font-size: 1rem;
  color: #9e8275;
  font-family: "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Sawarabi Mincho", "HG明朝E", Meiryo, serif;
  letter-spacing: .4em;
}
.fixed {
  position: fixed;
  top: 0;
  z-index: 98;
}
.display_n {
  display: none;
}
.fixed .display_n {
  display: block;
}
#topicPath img {
  width: 16px;
}
a {
  transition-duration: .3s;
  transition-property: color;
}
a:link {
  color: #3C3835;
  text-decoration: none;
}
a:visited {
  color: #3C3835;
  text-decoration: none;
}
a:hover {
  color: #85BFC7;
  text-decoration: none;
}
a:active {
  color: #4AAABE;
  text-decoration: none;
}
/* header */
#top {
  position: relative;
  z-index: 97;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.form a {
  display: block;
  position: relative;
  margin: 0 auto;
  padding: 1em 2em;
  width: 300px;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
  background-color: #67B6B0;
  transition: 0.3s;
  border-radius: 40vh;
}
.form a::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 2em;
  transform: translateY(-50%) rotate(45deg);
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transition: 0.3s;
}
.form a::after {
  content: '';
  position: absolute;
  top: 50%;
  right: calc(2em + 5px);
  transform: translateY(-50%) rotate(45deg);
  width: 5px;
  height: 5px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transition: 0.3s;
}
.form a:hover {
  text-decoration: none;
  background-color: #55C5BD;
}
.form a:hover::before {
  right: 1.8em;
}
.form a:hover::after {
  right: calc(1.8em + 5px);
}
.link a {
  display: block;
  position: relative;
  margin: 0 auto;
  width: 300px;
  font-weight: 500;
  background: #ddd;
  padding: 15px;
}
.link a img {
  width: 160px;
  height: auto;
  margin-bottom: 5px;
  mix-blend-mode: multiply;
}
/*--------------------------------------------------------
smartphone 1st(解像度640px以下)
--------------------------------------------------------*/
/*--------------------------------------------------------
smartphone 1st(解像度640px以下)
--------------------------------------------------------*/
/* common for smartphone
--------------------*/
/*========= レイアウトのためのCSS ===============*/
/*a {
    color: #333;
    text-decoration: none;
}*/
/*div#contents nav{
    display: none;
}


}*/
div#contents h1 {
  font-family: Lora, serif;
  letter-spacing: 0.4em;
  line-height: 2em;
  font-weight: 800;
  /*    margin-top: 6%;*/
  padding: 5%;
  color: #111;
  background: rgba(255, 255, 255, 0.7);
  z-index: 99;
}
.lead {
  margin: 20px 0 0 0;
}
.btn-block {
  width: 200px;
  padding: 30px;
}
.main {
  width: 100%;
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 15%;
}
article p {
  width: 96%;
  text-align: center;
  margin: 0 auto;
}
/* #topImg for smartphone
--------------------*/
#topImg {
  width: 94%;
  margin: 0 auto;
  margin-top: 5%;
  margin-bottom: 10%;
}
section#top h2 {
  height: auto;
}
section#top h4 {
  margin: 0;
  letter-spacing: 0.4em;
}
section#top {
  margin-bottom: 0px;
}
/* lead  for smartphone
___________________*/
section#lead h2 {
  margin-bottom: 5%;
}
section#lead h3 {
  font-size: 120%;
  margin-top: 10%;
  margin-bottom: 5%;
  letter-spacing: .25em;
}

section#lead h5 {
  font-size: 90%;
  margin-bottom: 5%;
  letter-spacing: .15em;
  line-height: 1.9;
}

section#lead p {
  margin: 0 auto;
  text-align: left;
  width: 75%;
  margin-top: 5%;
  line-height: 1.8;
  letter-spacing: .1em;
}
section#lead .main {
  width: 96%;
  margin: 0 auto 20%;
}
section#lead img {
  vertical-align: bottom;
  width: 100%;
}
div#inv {
  font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  margin: 0 auto;
  margin-top: 50px;
  margin-bottom: 50px;
  max-width: 960px;
  width: 70%;
  line-height: 1.9;
  padding: 0.5%;
  padding-top: 50px;
  padding-bottom: 50px;
  border: dotted #333 1px;
}
div#inv > h3 {
  font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  margin: 0 auto;
  font-size: 100%;
  width: 80%;
  color: #499EAA; /*文字色*/
  padding: 0.5em 0; /*上下の余白*/
  border-top: solid 3px #499EAA; /*上線*/
  border-bottom: solid 3px #499EAA; /*下線*/
}
.str {
  font-weight: 700;
  letter-spacing: 0.25rem;
}
.photolist {
  width: 96%;
  display: flex;
}
.box60 {
  width: 60%;
}
.box40 {
  width: 40%;
}
.box80 {
  width: 80%;
}
.box90 {
  width: 90%;
}
.photoli {
  display: block;
}
.flexend {
  align-items: flex-end;
}
.flexcenter {
  align-items: center;
}
/* #plan for smartphone
--------------------*/
section#plan h2 {
  margin-bottom: 3%;
  padding: 0;
}
section#plan p {
  margin: 0 auto;
  max-width: 960px;
  text-align: left;
  width: 85%;
  margin-top: 0;
  margin-bottom: 5%;
  line-height: 1.8;
  letter-spacing: .1em;
}
/* #photos for smartphone
--------------------*/
section#photos {
  margin-top: 60px;
}
section#photos ul {
  width: 90%;
  margin: 0 auto;
}
#photos .entry_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#photos .entry_list li {
  position: relative;
  width: 46%;
  padding-bottom: 25px;
}
section#photos .entry_list li:last-child {
  margin-right: 0;
}
section#photos .entry_list li .photo {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  padding-bottom: calc(100% - 20px);
  width: calc(100% - 20px);
  margin-bottom: 15px;
}
section#photos .entry_list li .place {
  position: absolute;
  right: 0;
  top: -2px;
  font-family: 'Lato', sans-serif;
  font-size: 11px;
  font-style: italic;
  font-weight: 700;
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}
section#photos .entry_list li p.tit {
  text-align: left;
  font-size: 13px;
  margin: 0;
  margin-top: 5px;
  margin-bottom: 10px;
  padding-left: 0px;
  line-height: 2;
  letter-spacing: .1em;
  font-feature-settings: "palt";
}
/* #area for smartphone
--------------------*/
section#area {
  width: 90%;
  margin: 0 auto;
}
/*section#area dl {

  display: flex;
  flex-wrap: wrap;
  letter-spacing: .15em;
  line-height: 1.8;
}
section#area dl dt {
  width: 28%;
  font-weight: 600;
}
section#area dl dd {
  width: 72%;
}*/
section#area dl {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
}
section#area dt {
  flex-basis: 28%;
  padding: 20px;
  border-bottom: dotted 1px #ddd;
  background-color: #ECF2F2;
  line-height: 1.8;
  font-weight: bold;
}
section#area dd {
  flex-basis: 72%;
  padding: 20px;
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  line-height: 1.8;
}
section#area dl {
  flex-flow: column;
}
.traf {
  width: 60%;
  margin: 0 auto;
}
.traf li {
  min-width: 30px;
  margin-bottom: 40px;
}
section#area h2 {
  margin-bottom: 3%;
  padding: 0;
}
section#area p {
  margin: 0 auto;
  max-width: 960px;
  text-align: left;
  width: 85%;
  margin-top: 0;
  margin-bottom: 5%;
  line-height: 1.8;
  letter-spacing: .1em;
}
/* #form for smartphone
--------------------*/
#form_box {
  min-width: 150px;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 30%;
}
#form_box a:hover img {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -moz-opacity: 0.6;
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
/* #form for smartphone
--------------------*/
#form_box {
  min-width: 150px;
  text-align: center;
  margin: 0 auto;
  margin-bottom: 30%;
}
#form_box a:hover img {
  opacity: 0.6;
  filter: alpha(opacity=60);
  -moz-opacity: 0.6;
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
/* #service for smartphone
--------------------*/
section#service {
  width: 96%;
}
/* #details for smartphone
--------------------*/
section#details {
  width: 96%;
  margin: 0 auto;
  font-size: 16px;
  ;
}

section#details table {
  width: 96%;
  margin: 0% auto 10%;
}
@media(max-width:959px) {
  section#details th, section#details td {
    display: block;
    padding-left: 2.5%;
    height: auto;
    padding-top: 2.3%;
    padding-bottom: 2.1%;
    border: 1px #99BFB7 dotted;
    font-size: 120%;
  }
  section#details th {
    width: 100%;
    background-color: #ECF2F2;
  }
  section#details td {
    width: 100%;
  }
}
/* ---------------------------
.toform
------------------------------ */
.toform {
  position: fixed;
  bottom: 3%;
  right: 1.5%;
  z-index: 9999;
}
.toform img {
  -webkit-box-shadow: 0 10px 40px 0 rgba(0, 0, 0, .15);
  box-shadow: 0 10px 40px 0 rgba(0, 0, 0, .15);
}
.toform a:hover img {
  opacity: 0.6;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  -webkit-box-shadow: 0 10px 20px 0 rgba(0, 0, 0, .15);
  box-shadow: 0 10px 20px 0 rgba(0, 0, 0, .15);
}
.pagetop {
  position: fixed;
  bottom: 5%;
  right: 1.5%;
  z-index: 9999;
}
/*--------------------------------------------------------
for PC(解像度641px以上)

--------------------------------------------------------*/
@media only screen and (min-width : 960px) {
  /* common for PC
--------------------*/
  .main {
    width: 96%;
    max-width: 950px;
    margin: 0 auto;
    margin-bottom: 50px;
  }
  .text {
    width: 800px;
    margin: 120px auto;
    text-align: left;
  }
  .text02 {
    width: 650px;
    margin: 120px auto;
    text-align: left;
  }
  .s {
    font-size: 95%;
  }
  .text, .text02 {
    width: 97%;
    margin: 50px auto;
  }
  div#contents h1 {
    font-size: 130%;
    pointer-events: all;
    position: absolute;
    width: 300px;
    top: 6%;
    padding: 3%;
    left: 10%;
    z-index: 98;
  }
  /* #gnav for PC
--------------------*/
  .gnav ul, .snav ul .contact {
    display: flex;
    align-items: center;
    width: 24px;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
  .gnav, .snav {
    pointer-events: all;
    position: absolute;
    position: fixed;
    font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    font-weight: 700;
    font-size: 13px;
    line-height: 1;
    letter-spacing: .09em;
  }
  .gnav {
    display: block !important;
    margin-left: 5px;
    right: 25px;
    bottom: 30px;
  }
  .snav {
    right: 25px;
    bottom: 30px;
  }
  .gnav ul, .snav ul .reserve {
    display: flex;
    align-items: center;
    width: 24px;
    -webkit-writing-mode: vertical-rl;
    -moz-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -ms-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }
  .gnav ul li + li {
    margin-top: 15px;
  }
  .snav ul .reserve {
    margin-bottom: 15px;
  }
  .snav ul .reserve::before {
    display: block;
    content: "";
    width: 24px;
    height: 24px;
    margin-bottom: 5px;
    background-image: url("../img/mail.png");
    background-repeat: no-repeat;
    background-size: contain;
  }
  .snav ul .reserve::after {
    display: block;
    content: "";
    width: 24px;
    height: 1px;
    background: #3C3835;
    margin-top: 15px;
  }
  .snav ul li + li {
    margin-top: 10px;
  }
  /* #topImg for PC
--------------------*/
  #topImg {
    width: 94%;
    margin: 0 auto;
    margin-top: 5%;
    margin-bottom: 5%;
  }
  section#top h1 {
    display: block;
  }
  section#top h4 {
    margin-top: 25px;
    letter-spacing: 0.4em;
  }
  /* #lead for PC
--------------------*/
section#lead h5 {
  font-size: 120%;
  margin-bottom: 5%;
  letter-spacing: .25em;
  line-height: 2;
}	
	
  section#lead .main {
    margin: 0px auto 100px;
  }
  section#lead a:hover img {
    opacity: 0.6;
    filter: alpha(opacity=60);
    -moz-opacity: 0.6;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }
  /* #plan for PC
--------------------*/
  section#plan p {
    width: 80%;
    max-width: 960px;
    text-align: left;
  }
  section#plan img {
    width: 100%;
  }
  /* #photos for PC
--------------------*/
  section#photos img {
    width: 100%;
    height: auto;
  }
  #photos .entry_list {
    display: flex;
    flex-wrap: wrap;
  }
  section#photos .entry_list li {
    position: relative;
    width: 31%;
  }
   /* #area for PC
--------------------*/
  section#area {
    width: 100%;
    margin: 0 auto;
  }
  section#area p {
    margin: 0 auto;
    max-width: 960px;
    text-align: left;
    width: 85%;
    margin-top: 1%;
    margin-bottom: 3%;
    line-height: 1.8;
    letter-spacing: .1em;
  }
  section#area dl {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
  }
  section#area dt {
    flex-basis: 15%;
    padding: 15px;
    border: dotted 1px #ddd;
    background-color: #ECF2F2;
    line-height: 1.8;
    font-weight: bold;
  }
  section#area dd {
    flex-basis: 75%;
    padding: 15px;
    background-color: #fff;
    border-bottom: 1px solid #ccc;
    line-height: 1.8;
  }
  .traf {
    width: 96%;
    min-width: 750px;
    margin: 0 auto;
  }
  .traf ul {
    display: flex;
  }
  .traf li {
    width: 45%;
    margin-bottom: 40px;
  }
  /* #form for PC
--------------------*/
  #form_box {
    max-width: 300px;
    text-align: center;
    margin: 0 auto;
  }
  #form_box a:hover img {
    opacity: 0.6;
    filter: alpha(opacity=60);
    -moz-opacity: 0.6;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    -o-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }
  /* #details for PC
--------------------*/
  section#details th, section#details td {
    background: transparent;
    /*color: #EFE1C7;*/
    height: 16%;
    padding-top: 1.3%;
    padding-bottom: 1.2%;
    vertical-align: middle;
    font-size: 110%;
    letter-spacing: .1em;
    font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    font-weight: 200;
    font-style: normal;
    border: 1px #99BFB7 dotted;
  }
  section#details th {
    text-align: left;
    padding-left: 2%;
    width: 20%;
    font-weight: bold;
    border-bottom: dotted 1px #ddd;
    background-color: #ECF2F2;
    color: #333;
  }
  section#details td {
    text-align: left;
    width: 80%;
    padding-left: 1%;
    border-bottom: dotted 1px #ddd;
  }
  /* ---------------------------
#gmap for PC
------------------------------ */
  section#gmap {
    width: 96%;
    margin: 10% auto;
  }
  /* ---------------------------
#service for PC
------------------------------ */
  #service {
    margin: 100px auto 0;
    padding: 50px 0px 0px;
  }
  #service ul {
    max-width: 950px;
    margin: 0 auto 50px;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
  }
  #service ul li {
    width: 33%;
  }
  /* ---------------------------
.toform
------------------------------ */
  .toform {
    position: fixed;
    bottom: 3%;
    right: 1.5%;
    z-index: 9999;
  }
  .toform img {
    -webkit-box-shadow: 0 10px 40px 0 rgba(0, 0, 0, .15);
    box-shadow: 0 10px 40px 0 rgba(0, 0, 0, .15);
  }
  .toform a:hover img {
    opacity: 0.6;
    -webkit-transition: 0.6s;
    transition: 0.6s;
    -webkit-box-shadow: 0 10px 20px 0 rgba(0, 0, 0, .15);
    box-shadow: 0 10px 20px 0 rgba(0, 0, 0, .15);
  }
  .pagetop {
    position: fixed;
    bottom: 70px;
    right: 1.5%;
    z-index: 9999;
  }
  /* common min641-
___________________*/
  .left {
    float: left;
  }
  .right {
    float: right;
  }
  .tal {
    text-align: left;
  }
  .mb5p {
    margin-bottom: 5%;
  }
  .mb10p {
    margin-bottom: 10%;
  }
  .mb15p {
    margin-bottom: 15%;
  }
  .mb20p {
    margin-bottom: 20%;
  }
  .mt10 {
    margin-top: 10px;
  }
  .mt20 {
    margin-top: 20px;
  }
  .mt30 {
    margin-top: 30px;
  }
  .mt40 {
    margin-top: 40px;
  }
  .mt50 {
    margin-top: 50px;
  }
  .mt60 {
    margin-top: 60px;
  }
  .mt70 {
    margin-top: 70px;
  }
  .mt80 {
    margin-top: 80px;
  }
  .mt100 {
    margin-top: 100px;
  }
  .mt150 {
    margin-top: 150px;
  }
  .mb5 {
    margin-bottom: 5px;
  }
  .mb10 {
    margin-bottom: 10px;
  }
  .mb20 {
    margin-bottom: 20px;
  }
  .mb30 {
    margin-bottom: 30px;
  }
  .mb40 {
    margin-bottom: 40px;
  }
  .mb50 {
    margin-bottom: 50px;
  }
  .mb60 {
    margin-bottom: 60px;
  }
  .mb70 {
    margin-bottom: 70px;
  }
  .mb80 {
    margin-bottom: 80px;
  }
  .mb100 {
    margin-bottom: 100px;
  }
  .mb200 {
    margin-bottom: 200px;
  }
  .mb250 {
    margin-bottom: 250px;
  }
  .pt10 {
    padding-top: 10px;
  }
  .pt20 {
    padding-top: 20px;
  }
  .pt30 {
    padding-top: 30px;
  }
  .pt40 {
    padding-top: 40px;
  }
  .pt50 {
    padding-top: 50px;
  }
  .pt60 {
    padding-top: 60px;
  }
  .pt70 {
    padding-top: 70px;
  }
  .pt80 {
    padding-top: 80px;
  }
  .pt100 {
    padding-top: 100px;
  }
  .pb10 {
    padding-bottom: 10px;
  }
  .pb20 {
    padding-bottom: 20px;
  }
  .pb30 {
    padding-bottom: 30px;
  }
  .pb40 {
    padding-bottom: 40px;
  }
  .pb50 {
    padding-bottom: 50px;
  }
  .pb60 {
    padding-bottom: 60px;
  }
  .pb70 {
    padding-bottom: 70px;
  }
  .pb80 {
    padding-bottom: 80px;
  }
  .pb90 {
    padding-bottom: 90px;
  }
  .pb100 {
    padding-bottom: 100px;
  }
  .p10 {
    padding: 10px;
  }
  .p15 {
    padding: 15px;
  }
  .p20 {
    padding: 20px;
  }
  .font08 {
    font-size: 0.8rem;
  }
  .font09 {
    font-size: 0.9rem;
  }
  .font10 {
    font-size: 1rem;
  }
  .font11 {
    font-size: 1.1rem;
  }
  .font12 {
    font-size: 1.2rem;
  }
  .font13 {
    font-size: 1.3rem;
  }
  .font14 {
    font-size: 1.4rem;
  }
  .font15 {
    font-size: 1.5rem;
  }
  .font16 {
    font-size: 1.6rem;
  }
  .font18 {
    font-size: 1.8rem;
  }
  .font20 {
    font-size: 2rem;
  }
  .font24 {
    font-size: 2.4rem;
  }
  .font30 {
    font-size: 3rem;
  }
  .font38 {
    font-size: 3.8rem;
  }
  img.rp {
    width: 100%;
    height: auto;
  }
  a:hover img {
    transition: opacity 0.4s ease;
  }
  /* box  */
  .box50 {
    width: 50%;
    margin-left: auto;
    margin-right: auto;
  }
  .box60 {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
  }
  .box70 {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
  }
  .box80 {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
  .box90 {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  /* flex_box
--------------------*/
  [class^="box-flex-"] {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    box-sizing: border-box;
  }
  .box-flex-2 div {
    width: 49%;
    height: 49%;
  }
  .box-flex-3 div {
    width: 32%;
    height: 32%;
  }
  .box-flex-4 div {
    width: 24%;
    height: 24%;
  }
  [class^="box-flex-"] > img {
    max-width: 100%;
    height: auto;
  }
  .center {
    text-align: center;
  }
  /* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
  /*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-size: 100%;
	font: inherit;
	vertical-align: baseline;
}*/
  /* HTML5 display-role reset for older browsers */
  article, aside, details, figcaption, figure, footer, header, hgroup, menu, section {
    display: block;
  }
  body {
    line-height: 1;
  }
  ol, ul {
    list-style: none;
  }
  blockquote, q {
    quotes: none;
  }
  blockquote:before, blockquote:after, q:before, q:after {
    content: '';
    content: none;
  }
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }