@charset "UTF-8";
/*
Theme Name: original theme
Theme URI:
Author: pipeline samy
Description: original theme
*/
/* CSS Document */
/* contents---------------
	 1.Reset
	 2.Base
	 3.Layout
	 4.Common
	 5.Page
	 6.Script
		------------ */
/*----------------------------------------------------------
	reset
--------------------------------------------------------- */
body, dl, dt, dd, ul, li, h1, h2, h3, h4, form, p, th, td, input, textarea, select {
  margin: 0px;
  padding: 0px;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  font-weight: normal;
}

img {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: top;
}

ul, dl {
  list-style-type: none;
}

/*----------------------------------------------------------
	Base
--------------------------------------------------------- */
body {
  font-size: 0.96rem;
  color: #434343;
  font-family: "Hiragino Kaku Gothic", "Hiragino Kaku Gothic Pro", 'ヒラギノ角ゴ Pro W3', メイリオ, Meiryo,sans-serifsans-serif;
  src: local("Yu Gothic Medium");
  font-weight: 400;
  margin: 0 auto;
}

@media screen and (max-width: 850px) {
  * {
    -webkit-text-size-adjust: 100%;
  }
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  word-break: normal;
}

.flex {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}

@media screen and (max-width: 850px) {
  * {
    word-break: normal;
  }
}
img {
  max-width: 100%;
  height: auto;
  width: auto;
}

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

.clear {
  clear: both;
}

p {
  line-height: 1.6;
}

a {
  -webkit-tap-highlight-color: transparent;
}

a:link {
  color: #276485;
  font-style: normal;
  text-decoration: underline;
}

a:visited {
  color: #486083;
}

a:hover {
  text-decoration: none;
}

a:active {
  text-decoration: none;
}

a img:hover {
  opacity: 0.7;
}

strong {
  font-weight: bold;
}

small {
  font-size: 85%;
  line-height: 1.1;
}

.bold {
  font-weight: bold;
}

.cl1 {
  color: #1c97ac;
}

blockquote {
  padding: 2px 0 2px 1em;
  border-left: 7px #C0D9FE solid;
  margin: 10px 0;
}

.spDisp {
  display: none;
}

table.pcDisp {
  display: table;
}

table.spDisp {
  display: none;
}

@media screen and (max-width: 850px) {
  .spDisp {
    display: block;
  }

  .pcDisp {
    display: none;
  }

  table.spDisp {
    display: table;
  }

  table.pcDisp {
    display: none;
  }

  br.sp {
    display: block;
  }

  br.pc {
    display: none;
  }
}
@media screen and (min-width: 851px) {
  a[href^="tel:"] {
    pointer-events: none;
  }

  br.sp {
    display: none;
  }

  br.pc {
    display: block;
  }
}
/*----------------------------------------------------------
	Layout
--------------------------------------------------------- */
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  z-index: -10;
}

.sitewidth {
  position: relative;
  /*overflow: hidden;*/
  max-width: 980px;
  margin: 0 auto;
}

.layout2clm {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.layout2clm .layout_main {
  width: 80%;
  padding-right: 2%;
}
.layout2clm .layout_side {
  width: 20%;
}

@media screen and (max-width: 1079px) {
  .sitewidth {
    padding: 0 2%;
  }
}
@media screen and (max-width: 850px) {
  #wrapper {
    display: block;
  }
  #wrapper header {
    width: 100%;
  }
  #wrapper .mainArea {
    width: auto;
  }

  .sitewidth {
    padding: 0 2%;
  }

  .layout2clm {
    display: block;
  }
  .layout2clm .layout_main, .layout2clm .layout_side {
    width: 100%;
    padding: 3% 2%;
    margin-top: 5vh;
  }
}
/* sp */
/* Header
----------------------------------------------- */
header .headnav {
  background: #1c97ac;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
}
header .headnav h1 {
  padding: 0 2em;
}
header .headnav .gnav {
  margin-left: auto;
}
header .headnav .gnav ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-end;
}
header .headnav .gnav ul li {
  border-left: 1px dashed #fff;
  background: #1c97ac;
  transition: .3s;
}
header .headnav .gnav ul li a {
  text-decoration: none;
  color: #FFF;
  font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  display: block;
  padding: 2em 1em;
  font-weight: bold;
}
header .headnav .gnav ul li.contact {
  background: #d21376;
  border-left: none;
}
header .headnav .gnav ul li:hover {
  background: #7acad8;
}
header .headnav .gnav ul li.contact:hover {
  background: #F65E89;
}

@media screen and (max-width: 1079px) {
  header .headnav .gnav ul li a {
    padding: 2em 0.8em;
    font-size: 0.8rem;
  }
}
@media screen and (max-width: 850px) {
  header .headnav {
    display: block;
  }
  header .headnav h1 {
    padding: 0.7em 1em;
  }
  header .headnav h1 img {
    height: 30px;
  }
  header .headnav .gnav ul {
    display: block;
  }
  header .headnav .gnav ul li {
    border-bottom: 1px dashed #fff;
    border-left: 0;
    text-align: center;
  }
}
/* sp */
header.clone-nav .headnav h1 {
  padding: 0 1em;
}
header.clone-nav .headnav h1 img {
  max-width: 13vw;
}
header.clone-nav .headnav .gnav ul {
  font-size: 0.8rem;
}
header.clone-nav .headnav .gnav ul li a {
  padding: 1.3em;
  font-weight: normal;
}

@media screen and (max-width: 850px) {
  header.clone-nav .headnav {
    min-height: 50px;
  }
  header.clone-nav .headnav h1 {
    padding: 0.7em 1em;
  }
  header.clone-nav .headnav h1 img {
    max-width: 30vw;
  }
  header.clone-nav .headnav .gnav ul {
    font-size: 1rem;
  }
  header.clone-nav .headnav .gnav ul li a {
    text-decoration: none;
    color: #FFF;
    font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
    display: block;
    padding: 2em 1em;
    font-weight: bold;
  }
}
/* sp */
/* Contents
----------------------------------------------- */
/* sp */
/* Footer
----------------------------------------------- */
footer {
  background: #1c97ac;
  color: #FFF;
  text-align: center;
}
footer .pagetop {
  position: fixed;
  bottom: 30px;
  right: 15px;
}
footer .pagetop a {
  text-decoration: none;
  font-size: 0;
  display: inline-block;
  transition: .3s;
}
footer .pagetop a:before {
  font-family: 'basicicon';
  content: "\e623";
  color: #FFF;
  font-size: 30px;
  background: rgba(0, 0, 0, 0.4);
  padding: 0.7em;
  border-radius: 50%;
}
footer .pagetop a:hover {
  opacity: 0.7;
}
footer .footNav {
  border-bottom: 1px solid #bcf5ff;
  padding: 30px 0;
}
footer .footNav ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
}
footer .footNav ul li {
  font-size: 0.8rem;
}
footer .footNav ul li a {
  color: #fff;
  text-decoration: none;
  display: block;
  padding: 0 1.3em;
  border-right: 2px solid #FFF;
}
footer .footNav ul li:last-child a {
  border-right: 0;
}
footer .shopinfo {
  border-top: 1px solid #bcf5ff;
  margin-top: 2px;
  padding: 25px 0 15px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
}
footer .shopinfo .tel {
  color: #bcf5ff;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  margin-right: 1vw;
  line-height: 1.2;
}
footer .shopinfo .tel a {
  color: #bcf5ff;
  text-decoration: none;
}
footer .shopinfo .tel span.title {
  display: block;
  font-weight: 500;
}
footer .shopinfo .tel span.tel {
  font-size: 2.3rem;
  font-weight: 200;
}
footer .shopinfo .tel span.tel:before {
  font-family: 'basicicon';
  content: "\e0cd";
  margin-right: 0.2em;
}
footer .shopinfo .contact a {
  display: block;
  background: #FFF;
  border: 3px solid #bcf5ff;
  color: #1c97ac;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 500;
  text-decoration: none;
  font-size: 1.1rem;
  padding: 0.8em 1.3em;
  border-radius: 5px;
  transition: .3s;
}
footer .shopinfo .contact a:hover {
  opacity: 0.7;
}
footer .logo {
  margin: 15px auto 10px;
}
footer .info {
  font-size: 0.8rem;
  margin-bottom: 25px;
}
footer .info dt {
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 600;
  margin-bottom: 0.5em;
  font-size: 1.1rem;
}
footer .info dd a {
  color: #FFF;
  text-decoration: none;
}
footer .copy {
  font-size: 0.8rem;
  padding-bottom: 1em;
}

@media screen and (max-width: 1079px) {
  footer .footNav ul {
    flex-wrap: wrap;
  }
  footer .footNav ul li {
    width: 23%;
    margin: 0 1%;
  }
  footer .footNav ul li a {
    display: block;
    padding: 1em 0;
    border-right: 0;
    border-bottom: 1px dotted #bcf5ff;
  }
}
@media screen and (max-width: 850px) {
  footer .pagetop a:before {
    padding: 0.6em;
    font-size: 24px;
  }
  footer .footNav {
    border-bottom: none;
  }
  footer .footNav ul {
    flex-wrap: wrap;
  }
  footer .footNav ul li {
    width: 49%;
    margin: 0 0.5%;
  }
  footer .footNav ul li a {
    border-bottom: 1px dotted #bcf5ff;
    padding: 0.8em 0.5em;
    border-right: none;
  }
  footer .shopinfo {
    display: block;
    border-top: none;
    padding: 10px 0 15px;
  }
  footer .shopinfo .contact {
    margin: 10px auto;
    max-width: 80%;
  }
}
/* sp */
/*----------------------------------------------------------
	Page
--------------------------------------------------------- */
/*  common
----------------------------------------------- */
.breadcrumbs {
  font-size: 0.8rem;
  text-align: right;
  margin: 1em 0 1.5em;
}
.breadcrumbs:after {
  font-family: 'basicicon';
  content: "\e9aa";
  margin-left: 0.1em;
  color: #1c97ac;
}

em {
  font-style: normal;
}

em {
  color: #1c97ac;
  font-weight: bold;
}

em.type1 {
  color: #1c97ac;
  font-weight: bold;
  background: linear-gradient(rgba(0, 0, 0, 0) 60%, #f8d5e4 60%);
}

em.ul {
  background: linear-gradient(rgba(0, 0, 0, 0) 60%, #f8d5e4 60%);
  color: inherit;
}

.fontL {
  font-size: 115%;
}

.em1 {
  color: #d21376;
  border-bottom: 1px dotted #7acad8;
}

.box1 {
  margin: 30px auto;
  font-size: 17px;
  text-align: center;
  color: #1c97ac;
  width: 90%;
  background: rgba(255, 255, 255, 0.8);
  padding: 20px;
  line-height: 1.8;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 300;
}
.box1 p {
  margin-bottom: 0 !important;
}

a.btn_gr_s {
  color: #FFF;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 500;
  padding: 0.8em 3em;
  display: inline-block;
  text-decoration: none;
  font-size: 1.1rem;
  transition: .3s;
  background: #1c97ac;
  background: -moz-linear-gradient(top, #1c97ac 0%, #61c8da 100%);
  background: -webkit-linear-gradient(top, #1c97ac 0%, #61c8da 100%);
  background: linear-gradient(to bottom, #1c97ac 0%, #61c8da 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1c97ac', endColorstr='#61c8da',GradientType=0 );
}

a.btn_gr_s:hover {
  background: #61c8da;
  background: -moz-linear-gradient(top, #61c8da 0%, #1c97ac 100%);
  background: -webkit-linear-gradient(top, #61c8da 0%, #1c97ac 100%);
  background: linear-gradient(to bottom, #61c8da 0%, #1c97ac 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#61c8da', endColorstr='#1c97ac',GradientType=0 );
}

a.btn_gr_l {
  color: #FFF;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 500;
  padding: 1em 4em;
  display: inline-block;
  text-decoration: none;
  font-size: 1.7rem;
  transition: .3s;
  border-radius: 3px;
  background: #1c97ac;
  background: -moz-linear-gradient(top, #1c97ac 0%, #61c8da 100%);
  background: -webkit-linear-gradient(top, #1c97ac 0%, #61c8da 100%);
  background: linear-gradient(to bottom, #1c97ac 0%, #61c8da 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1c97ac', endColorstr='#61c8da',GradientType=0 );
}

a.btn_gr_l:hover {
  background: #61c8da;
  background: -moz-linear-gradient(top, #61c8da 0%, #1c97ac 100%);
  background: -webkit-linear-gradient(top, #61c8da 0%, #1c97ac 100%);
  background: linear-gradient(to bottom, #61c8da 0%, #1c97ac 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#61c8da', endColorstr='#1c97ac',GradientType=0 );
}

span.btnsub {
  display: block;
  color: #1c97ac;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 500;
  font-size: 1.5rem;
}

@media screen and (max-width: 850px) {
  a.btn_gr_l {
    padding: 0.8em 0.5em;
    width: 90%;
    margin: 0 auto;
    font-size: 1.3rem;
  }

  span.btnsub {
    font-size: 1.1rem;
  }
}
/* sp */
section.trial {
  background: #e2f5f8;
  padding-bottom: 40px;
  text-align: center;
  margin-top: 150px;
}
section.trial .title {
  position: relative;
  top: -75px;
  margin-bottom: -50px;
}
section.trial .imgBlockT .img-l {
  width: 30%;
}
section.trial .imgBlockT .text {
  width: 70%;
}
section.trial .imgBlockT .title {
  display: block;
  top: 0;
  background: #FFF;
  text-align: center;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  color: #1c97ac;
  font-weight: 500;
  font-size: 1.7rem;
  padding: 0.8em 0;
  margin-bottom: 0.8em;
}
section.trial .imgBlockT p {
  color: #1c97ac;
  font-size: 1.2rem;
  text-align: left;
  line-height: 1.8;
}

@media screen and (max-width: 850px) {
  section.trial {
    margin-top: 60px;
    padding: 0 2% 3%;
  }
  section.trial .title {
    padding: 0 2%;
    top: -40px;
  }
  section.trial .imgBlockT .img-l {
    width: 100%;
  }
  section.trial .imgBlockT .text {
    width: 100%;
  }
  section.trial .imgBlockT .text .title {
    font-size: 1.4rem;
  }
  section.trial .imgBlockT .text p {
    font-size: 1rem;
  }
}
/* sp */
.contactArea {
  background: url(img/bg01.png) repeat;
  padding-bottom: 40px;
  text-align: center;
  margin-top: 150px;
}
.contactArea .title {
  position: relative;
  top: -75px;
}
.contactArea .title + .align-c {
  margin: -70px auto 40px;
}
.contactArea .contact2clm {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
.contactArea .contact2clm .clm {
  padding: 0 2%;
}
.contactArea .contact2clm .clm:first-child {
  border-right: 5px solid #fff;
}
.contactArea .contact2clm .clm:first-child .title {
  display: block;
  top: 0;
}
.contactArea .contact2clm .clm:first-child .tel {
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 500;
}
.contactArea .contact2clm .clm:first-child .tel a {
  text-decoration: none;
  color: #1c97ac;
  font-size: 3rem;
  line-height: 1.2;
}
.contactArea .contact2clm .clm:first-child .tel a:before {
  font-family: 'basicicon';
  content: "\e62d";
  margin-right: 0.2em;
}
.contactArea .contact2clm .clm:first-child .time {
  display: block;
  background: #1c97ac;
  color: #FFF;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  border-radius: 15px;
  padding: 0.15em;
  letter-spacing: 0.1em;
  margin-top: 0.2em;
}
.contactArea .contact2clm .clm:first-child .time:before {
  font-family: 'basicicon';
  content: "\e623";
  margin-right: 0.2em;
}

@media screen and (max-width: 850px) {
  .contactArea {
    margin-top: 10vh;
    padding: 0 2% 5%;
  }
  .contactArea .title {
    position: relative;
    top: -50px;
  }
  .contactArea .title + .align-c {
    margin: -40px auto 10px;
  }
  .contactArea .contact2clm {
    display: block;
  }
  .contactArea .contact2clm .clm {
    padding: 2% 5%;
  }
  .contactArea .contact2clm .clm:first-child {
    border-right: none;
  }
  .contactArea .contact2clm .clm:first-child .title img {
    max-width: 70vw;
  }
  .contactArea .contact2clm .clm:first-child .tel a {
    font-size: 2.5rem;
  }
  .contactArea .contact2clm .clm:last-child a img {
    width: 70vw;
  }
}
/* sp */
/*  headline
----------------------------------------------- */
h2.pageTitle {
  text-align: center;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-size: 2.1rem;
  color: #1c97ac;
  font-weight: 200;
  padding: 3em 0 4em;
  letter-spacing: 0.1em;
  text-shadow: 2px 2px 1px #FFF, -2px 2px 1px #FFF, 2px -2px 1px #FFF, -2px -2px 1px #FFF;
}
h2.pageTitle.model {
  background: url(img/h1_model.png) no-repeat center center;
  background-size: cover;
}
h2.pageTitle.self-whitening {
  background: url(img/h1_self-whitening.png) no-repeat center center;
  background-size: cover;
}
h2.pageTitle.platinum-ge {
  background: url(img/h1_platinum-ge.png) no-repeat center center;
  background-size: cover;
}
h2.pageTitle.voice {
  background: url(img/h1_voice.png) no-repeat center center;
  background-size: cover;
}
h2.pageTitle.faq {
  background: url(img/h1_faq.png) no-repeat center center;
  background-size: cover;
}
h2.pageTitle.contact, h2.pageTitle.thanks {
  background: url(img/h1_contact.png) no-repeat center center;
  background-size: cover;
}
h2.pageTitle {
  background: url(img/h1_other.png) no-repeat center center;
  background-size: cover;
}
h2.pageTitle span {
  background: rgba(255, 255, 255, 0.5);
  border-radius: 10px;
  padding: 0.3em 1em 0.5em;
  line-height: 1.8;
}

@media screen and (max-width: 850px) {
  h2.pageTitle {
    background-position: center right !important;
    padding: 10vh 0 !important;
  }
  h2.pageTitle span {
    display: block;
    font-size: 1.7rem;
    border-radius: 0;
  }
}
/* sp */
h2.mincho {
  color: #d21376;
  font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  font-size: 150%;
  line-height: 1.8;
}

h2.basic {
  font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  font-weight: 200;
  padding: .5em .75em .5em .75em;
  background-color: #f6f6f6;
  border-top: 4px double #ccc;
  border-bottom: 4px double #ccc;
  text-align: center;
  font-size: 140%;
  color: #1c97ac;
}

h3.box {
  background: #7f98d6;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-size: 1.3rem;
  color: #FFF;
  font-weight: 500;
  padding: 0.5em 0.8em;
}

h3.basic {
  font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  font-weight: 500;
  padding: .8em .75em .8em 1.5em;
  border-top: dashed 1px #7acad8;
  border-bottom: dashed 1px #ccc;
  font-size: 1.4rem;
  color: #1c97ac;
  position: relative;
  margin: 1.5em 0 1em;
}
h3.basic:before {
  font-family: 'basicicon';
  content: "\ea29";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  height: 1.8rem;
  left: 0.1em;
}

h4 {
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-size: 110%;
  background: #eee;
  padding: 0.4em 0.7em;
  margin: 1.3em 0 0.8em;
}

h5 {
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-size: 110%;
  position: relative;
  padding: 0 .5em .5em 1.7em;
  border-bottom: 1px solid #ccc;
  margin: 1.3em 0 0.8em;
}

h5::after {
  position: absolute;
  top: .4em;
  left: .4em;
  z-index: 2;
  content: '';
  width: 12px;
  height: 12px;
  background-color: #7acad8;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

h6 {
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-size: 105%;
  font-weight: 500;
  margin: 1.3em 0 0.8em;
}

@media screen and (max-width: 850px) {
  h3.basic {
    font-size: 1.2rem;
  }
}
/* sp */
.gr-mincho {
  color: #fff;
  font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  font-size: 2rem;
  padding: 0.5em 0.8em 0.3em;
  font-weight: bold;
  line-height: 1.3;
  background: #1c97ac;
  background: -moz-linear-gradient(left, #1c97ac 0%, #1c7eac 100%);
  background: -webkit-linear-gradient(left, #1c97ac 0%, #1c7eac 100%);
  background: linear-gradient(to right, #1c97ac 0%, #1c7eac 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#1c97ac', endColorstr='#1c7eac',GradientType=1 );
}
.gr-mincho span {
  font-size: 1.2rem;
  display: block;
  font-weight: normal;
}

.border-tb {
  border-top: 1px solid #404298;
  border-bottom: 1px solid #404298;
  position: relative;
  padding: 0.8em 0;
}
.border-tb:before {
  position: absolute;
  width: 100%;
  content: "";
  border-top: 1px solid #404298;
  left: 0;
  top: -4px;
}
.border-tb:after {
  position: absolute;
  width: 100%;
  content: "";
  border-bottom: 1px solid #404298;
  left: 0;
  bottom: -4px;
}

.border-b {
  border-bottom: 1px solid #404298;
  position: relative;
  padding: 0.8em 0;
}
.border-b:after {
  position: absolute;
  width: 100%;
  content: "";
  border-bottom: 1px solid #404298;
  left: 0;
  bottom: -4px;
}

.hl.hishi {
  text-align: center;
  color: #1c97ac;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-size: 2.5rem;
  letter-spacing: 0.05em;
  padding: 0.64em 0;
  background: url(img/mark02.png) center center no-repeat;
  font-weight: 200;
  line-height: 1.3;
}
.hl.hishi span {
  font-weight: 600;
}

.bl-min {
  border-left: #7acad8 5px solid;
  font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  font-size: 1.3rem;
  padding: 0.5em 0.8em;
}

.bl-min2 {
  border-left: #023894 5px solid;
  font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  font-size: 1.7rem;
  padding: 0.5em 0.6em;
  color: #023894;
}

.bl-min3 {
  border-left: #FFF 6px solid;
  font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  font-size: 2rem;
  padding: 0.5em 0.6em;
  color: #434343;
}
.bl-min3 small {
  font-size: 1.2rem;
}

@media screen and (max-width: 850px) {
  h3.box {
    font-size: 1.1rem;
  }

  .gr-mincho {
    font-size: 1.5rem;
  }
  .gr-mincho span {
    font-size: 1.1rem;
  }

  .hl.hishi {
    font-size: 1.8rem;
    padding: 1em 0.2em;
  }

  .bl-min {
    font-size: 1.2rem;
  }

  .bl-min2 {
    font-size: 1.4rem;
  }

  .bl-min3 {
    font-size: 1.4rem;
  }
}
/* sp */
/*  post archive
----------------------------------------------- */
.faqList {
  border: 1px solid #dcdcdc;
  padding: 3%;
  margin: 30px auto;
}
.faqList .post {
  border-bottom: 1px solid #dcdcdc;
  padding: 2em 0;
}
.faqList .post dl dt {
  color: #1c97ac;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 500;
  font-size: 1.1rem;
  margin-bottom: 0.5em;
}
.faqList .post:first-child {
  padding-top: 0;
}
.faqList .post:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

@media screen and (max-width: 850px) {
  .faqList {
    border: none;
    padding: 3% 5%;
  }
}
/* sp */
.voiceList dl.post {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin: 40px auto;
}
.voiceList dl.post dd.img {
  width: 33%;
  padding: 0 1.5%;
}
.voiceList dl.post dt {
  width: 67%;
}
.voiceList dl.post dt .title {
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  color: #d21376;
  font-size: 1.1rem;
  margin-bottom: 0.7em;
  font-weight: 500;
}
.voiceList dl.post dt strong {
  font-weight: normal;
  background: linear-gradient(rgba(0, 0, 0, 0) 60%, #f8d5e4 60%);
}
.voiceList dl.post dt .excerpt p {
  line-height: 1.8;
}
.voiceList dl.post:nth-child(even) dt {
  order: 1;
}
.voiceList dl.post:nth-child(even) dd {
  order: 2;
}

@media screen and (max-width: 850px) {
  .voiceList dl.post {
    display: block;
  }
  .voiceList dl.post dd.img {
    text-align: center;
    margin: 10px auto;
  }
  .voiceList dl.post dt {
    width: 90%;
    margin: auto;
  }
  .voiceList dl.post dt .title {
    font-size: 1rem;
  }
  .voiceList dl.post dt .excerpt {
    font-size: 0.9rem;
  }
}
/* sp */
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 40px 0;
  position: relative;
  font-size: 13px;
}

.pagination span, .pagination a {
  display: block;
  width: auto;
  margin: 4px;
  padding: 0.6em 1em;
  border: 1px solid #000;
  background-color: #fff;
  text-decoration: none;
  text-align: center;
  line-height: 16px;
}

/* ページ番号 */
.pagination .pager {
  width: 32px;
}

/* ホバー時 & 現在のページ */
.pagination a:hover,
.pagination .current {
  color: #fff;
  border-color: #000;
  background-color: #000;
}

/* 前へ */
.pagination a.before {
  margin-right: 16px;
}

/* 次へ */
.pagination a.next {
  margin-left: 16px;
}

/* 最初へ */
/* 最後へ */
/* Page x / y */
.pagination span.page_num {
  display: none;
}

/* sp */
/*  page
----------------------------------------------- */
.contInner {
  max-width: 980px;
  margin: 0 auto;
}
.contInner p {
  margin-bottom: 0.8em;
}

.ggmap {
  position: relative;
  padding-bottom: 40%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  margin-top: 30px;
}

.ggmap iframe,
.ggmapr object,
.ggmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 300px;
}

.mainArea.page strong {
  font-weight: normal;
  background: linear-gradient(rgba(0, 0, 0, 0) 60%, #f8d5e4 60%);
  font-weight: bold;
}
.mainArea.page p {
  margin-bottom: 0.8em;
  line-height: 1.9;
}

/*  page home */
body.home {
  /* sp */
  /* sp */
}
body.home #topKv {
  background: url(img/bg_top_kv.png) top center repeat-x;
  background-size: cover;
}
body.home #topKv .inner {
  text-align: center;
  max-width: 90vw;
  margin: auto;
  padding-bottom: 50px;
}
body.home #topKv .scene {
  background: #FFF;
}
body.home #topKv .scene ul {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  position: relative;
  top: -100px;
  margin-bottom: -90px;
}
body.home #topKv .scene ul li {
  padding: 0 1.3%;
}
body.home #topKv .sceneText {
  background: #e2f5f8;
  text-align: center;
  color: #1c97ac;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  padding: 0.6em 0;
}
body.home #topKv + .contactArea {
  margin-top: 120px;
  padding-bottom: 80px;
}
@media screen and (max-width: 850px) {
  body.home #topKv .inner {
    max-width: 100vw;
    padding-bottom: 0px;
  }
  body.home #topKv .scene {
    padding: 2% 0;
  }
  body.home #topKv .scene ul {
    display: block;
    top: 0;
    margin-bottom: 0;
  }
  body.home #topKv .scene ul li {
    width: 100%;
    margin: 10px auto;
  }
  body.home #topKv + .contactArea {
    margin-top: 70px;
    padding-bottom: 50px;
  }
}
body.home section.topSec1 {
  /* sp */
  /* sp */
  /* sp */
}
body.home section.topSec1 .inner {
  background: #FFF;
  color: #404298;
}
body.home section.topSec1 .why img {
  position: relative;
  top: -27px;
}
body.home section.topSec1 .answer {
  margin-bottom: -50px;
}
body.home section.topSec1 .answer img {
  position: relative;
  top: -100px;
}
@media screen and (max-width: 850px) {
  body.home section.topSec1 .inner.sitewidth {
    padding: 0;
  }
  body.home section.topSec1 .inner.sitewidth p {
    font-size: 90%;
  }
  body.home section.topSec1 .answer {
    margin-bottom: -60px;
  }
  body.home section.topSec1 .answer img {
    top: -67px;
  }
}
body.home section.topSec1 .sec1 .text {
  line-height: 1.8;
}
body.home section.topSec1 .sec1 .text .title {
  text-align: center;
  border-bottom: 1px solid #404298;
  padding-bottom: 1em;
  margin-bottom: 35px;
  position: relative;
}
body.home section.topSec1 .sec1 .text .title:after {
  border-bottom: 1px solid #404298;
  bottom: 4px;
  left: 0;
  position: absolute;
  content: "";
  width: 100%;
}
body.home section.topSec1 .sec1 .text p {
  line-height: 2;
}
body.home section.topSec1 .arari p {
  text-align: center;
  line-height: 2;
}
body.home section.topSec1 .arari .case {
  position: relative;
  margin-bottom: 60px;
}
body.home section.topSec1 .arari .case .deco {
  position: absolute;
  right: -20px;
  bottom: -70px;
}
@media screen and (max-width: 850px) {
  body.home section.topSec1 .sec1 {
    padding: 0 3%;
  }
  body.home section.topSec1 .sec1 .text .title {
    margin-bottom: 0.8em;
  }
  body.home section.topSec1 .arari {
    padding: 0 3%;
  }
  body.home section.topSec1 .arari p {
    text-align: left;
  }
  body.home section.topSec1 .arari .case {
    margin-bottom: 30px;
  }
  body.home section.topSec1 .arari .case .deco {
    display: none;
  }
  body.home section.topSec1 .simulation, body.home section.topSec1 .comparison {
    padding: 0 3%;
  }
  body.home section.topSec1 .simulation h2.img, body.home section.topSec1 .comparison h2.img {
    padding: 0.8em 3%;
  }
}
body.home section.topSec1 .end .model {
  background: url(img/bg02.jpg) top center repeat;
  padding: 55px 0;
  margin: 30px auto;
}
@media screen and (max-width: 850px) {
  body.home section.topSec1 .end img {
    max-width: 90%;
    margin: auto;
  }
  body.home section.topSec1 .end .model {
    padding: 5vh 3%;
    margin: 20px auto;
  }
  body.home section.topSec1 .end .align-c img {
    max-width: 90%;
    margin: auto;
  }
  body.home section.topSec1 .end .align-c.sp-v40 {
    margin: 25px auto !important;
  }
}
body.home section.topSec2 {
  /* sp */
  /* sp */
  /* sp */
  /* sp */
  /* sp */
  /* sp */
  /* sp */
}
body.home section.topSec2 p {
  line-height: 1.8;
}
body.home section.topSec2 .question {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  align-items: stretch;
}
body.home section.topSec2 .question dl {
  margin: 10px 1%;
  width: 40%;
}
body.home section.topSec2 .question dl dd {
  text-align: center;
  margin: 15px auto;
}
body.home section.topSec2 .question dl dt {
  background: #eee;
  padding: 1.5em;
  border-radius: 3px;
  min-height: 250px;
}
body.home section.topSec2 .question dl dt .title {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 0.8em;
}
body.home section.topSec2 .question dl dt ol span {
  display: inline-block;
}
body.home section.topSec2 .question dl dt ol .text {
  width: 60%;
}
@media screen and (max-width: 850px) {
  body.home section.topSec2 h3.gr-mincho.align-r {
    text-align: left !important;
  }
  body.home section.topSec2 .question dl {
    width: 50%;
    padding: 1%;
    margin: 10px auto;
  }
  body.home section.topSec2 .question dl dt {
    padding: 1em;
    min-height: 260px;
  }
  body.home section.topSec2 .question dl dt .title {
    font-size: 0.9rem;
  }
  body.home section.topSec2 .question dl dt ol {
    font-size: 0.8rem;
  }
  body.home section.topSec2 .question dl dt ol span {
    vertical-align: top;
  }
  body.home section.topSec2 .question dl dt ol .text {
    width: 70%;
  }
}
body.home section.topSec2 .casestudy {
  margin: 30px auto;
}
body.home section.topSec2 .casestudy h3 {
  text-align: center;
  margin-bottom: 30px;
}
body.home section.topSec2 .casestudy .case {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  margin: 20px auto;
}
body.home section.topSec2 .casestudy .case dl {
  padding: 0 3%;
  width: 30%;
}
body.home section.topSec2 .casestudy .case dl dd {
  font-size: 0.9rem;
}
body.home section.topSec2 .casestudy .case dl dt {
  margin-bottom: 0.5em;
}
body.home section.topSec2 .casestudy .more {
  background: #fce9f3;
  padding: 1em 2em 1.8em;
}
body.home section.topSec2 .casestudy .more .head {
  color: #d21376;
  text-align: center;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 500;
  font-size: 1.2rem;
  margin-bottom: 0.5em;
}
body.home section.topSec2 .casestudy .more .head:before {
  font-family: 'basicicon';
  content: "\7a";
  margin-right: 0.2em;
}
body.home section.topSec2 .casestudy .more .head:after {
  font-family: 'basicicon';
  content: "\7a";
  margin-left: 0.1em;
}
@media screen and (max-width: 850px) {
  body.home section.topSec2 .casestudy .case {
    display: block;
  }
  body.home section.topSec2 .casestudy .case dl {
    width: 100%;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    margin: 15px auto;
    align-items: center;
  }
  body.home section.topSec2 .casestudy .case dl dd {
    width: 60%;
    padding-left: 4%;
  }
  body.home section.topSec2 .casestudy .case dl dt {
    width: 40%;
  }
  body.home section.topSec2 .casestudy .more {
    font-size: 0.9rem;
  }
  body.home section.topSec2 .casestudy .more .head {
    font-size: 1.1rem;
  }
}
body.home section.topSec2 .typeList {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  margin: 30px auto;
}
body.home section.topSec2 .typeList div {
  padding: 0 0.5%;
}
@media screen and (max-width: 850px) {
  body.home section.topSec2 .typeList {
    display: block;
    text-align: center;
  }
  body.home section.topSec2 .typeList div {
    padding: 0 4%;
    margin: 10px auto;
    width: 70%;
  }
}
body.home section.topSec2 .effect {
  background: #ddedff;
  margin: 30px auto;
  padding: 0 0 0 25px;
}
body.home section.topSec2 .effect .bl-min2 {
  margin-bottom: 0.8em;
}
body.home section.topSec2 .effect .imgBlockT .img-r {
  width: 40vw;
  text-align: right;
}
@media screen and (max-width: 850px) {
  body.home section.topSec2 .effect {
    padding: 0 3%;
  }
}
body.home section.topSec2 .ge {
  background: #e3f5f8;
  border-bottom: 2px solid #1c97ac;
  padding: 0 0 40px;
  text-align: center;
  margin-top: 100px;
}
body.home section.topSec2 .ge .white {
  background: #FFF;
  padding: 0 2em;
  border-radius: 8px;
  display: inline-block;
  margin: 0 auto;
  text-align: center;
  position: relative;
  top: -70px;
}
body.home section.topSec2 .ge .inner {
  text-align: left;
  margin-top: -40px;
}
body.home section.topSec2 .ge .inner .imgBlockC:first-child {
  margin-bottom: 30px;
}
body.home section.topSec2 .ge .inner .imgBlockC:first-child .img-r {
  width: 50vw;
}
body.home section.topSec2 .ge .inner .imgBlockC:last-child .img-l {
  width: 50vw;
}
@media screen and (max-width: 850px) {
  body.home section.topSec2 .ge .white {
    padding: 0;
    width: 90%;
  }
}
body.home section.topSec2 .machine h2 {
  margin: 40px auto;
  align-items: center;
}
body.home section.topSec2 .machine span.hishi {
  width: 55%;
  font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  position: relative;
  font-size: 2.3rem;
  line-height: 1.2;
  border-right: 2px solid #7acad8;
  padding: 0.4em 0 0.4em 80px;
}
body.home section.topSec2 .machine span.hishi small {
  font-size: 1.1rem;
}
body.home section.topSec2 .machine span.hishi:before {
  font-family: 'basicicon';
  content: "\ea29";
  margin-right: 0.2em;
  color: #7acad8;
  position: absolute;
  left: 0;
  font-size: 70px;
  top: 20%;
}
body.home section.topSec2 .machine span.lead {
  width: 45%;
  padding-left: 2%;
}
body.home section.topSec2 .machine .machineList {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin: 35px auto;
  justify-content: center;
}
body.home section.topSec2 .machine .machineList dl {
  padding: 0 0.5%;
}
body.home section.topSec2 .machine .machineList dl dd {
  margin-top: 8px;
}
body.home section.topSec2 .machine .msg {
  text-align: center;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 25px 0;
  margin: 30px auto;
}
@media screen and (max-width: 850px) {
  body.home section.topSec2 .machine h2 {
    margin: 25px auto;
    display: block;
  }
  body.home section.topSec2 .machine h2 span.hishi {
    width: 100%;
    border-right: 0;
    font-size: 1.5rem;
    display: block;
    padding: 0.4em 0 0.4em 46px;
  }
  body.home section.topSec2 .machine h2 span.hishi:before {
    font-size: 40px;
  }
  body.home section.topSec2 .machine h2 span.lead {
    width: 100%;
    font-size: 0.8rem;
    margin-top: 0.7em;
    display: block;
  }
  body.home section.topSec2 .machine .machineList {
    display: block;
  }
  body.home section.topSec2 .machine .machineList dl {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    margin: 15px auto;
    flex-wrap: wrap;
    align-items: center;
  }
  body.home section.topSec2 .machine .machineList dl dt {
    width: 40%;
  }
  body.home section.topSec2 .machine .machineList dl dd {
    width: 60%;
    padding-left: 4%;
  }
  body.home section.topSec2 .machine .machineList dl dd img {
    max-height: 100px;
  }
}
body.home section.topSec2 .secret h2 {
  font-size: 2rem;
  margin: 20px auto;
}
body.home section.topSec2 .secret h2 small {
  font-size: 1.2rem;
}
body.home section.topSec2 .secret .imgBlockC .img-r {
  width: 50vw;
}
@media screen and (max-width: 850px) {
  body.home section.topSec2 .secret h2 {
    font-size: 1.5rem;
  }
  body.home section.topSec2 .secret h2 small {
    font-size: 1rem;
  }
}
body.home .topVoice h2 {
  margin: 40px auto;
}
body.home .topFlow h2 {
  background: #fee1ee;
  text-align: center;
  padding: 20px 0 40px;
}
body.home .topFlow h2 + .subtitle {
  text-align: center;
  margin-top: -30px;
}
body.home .topFlow .flow {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin-top: 30px;
}
body.home .topFlow .flow dl {
  width: 48%;
  margin: 20px 1%;
  border: 4px #f8d5e4 solid;
  text-align: center;
}
body.home .topFlow .flow dl dt {
  background: #d21376;
  color: #FFF;
  padding: 0.2em 2em;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 600;
  border-radius: 50px;
  font-size: 1rem;
  display: inline-block;
  position: relative;
  top: -20px;
}
body.home .topFlow .flow dl dt span {
  font-size: 1.4rem;
  padding-left: 0.2em;
}
body.home .topFlow .flow dl dd {
  text-align: left;
  padding: 0 20px 20px;
  margin-top: -10px;
}
body.home .topFlow .flow dl dd strong {
  display: block;
  text-align: center;
  color: #d21376;
  font-size: 1.2rem;
  margin-bottom: 0.8em;
}
body.home .instagram {
  width: 70%;
  margin: 20px auto 0;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
}
body.home .instagram .image {
  text-align: center;
  width: 24%;
  padding: 1.5% 0;
  margin: 0 0.5%;
}
@media screen and (max-width: 850px) {
  body.home .instagram {
    width: 100%;
  }
  body.home .topFlow h2 {
    padding: 15px 3% 30px;
  }
  body.home .topFlow h2 + .subtitle {
    margin-top: -20px;
    padding: 0 8%;
  }
  body.home .topFlow .flow {
    display: block;
  }
  body.home .topFlow .flow dl {
    width: 94%;
    margin: 30px auto;
  }
  body.home .topFlow .flow dl dt {
    font-size: 0.8rem;
  }
  body.home .topFlow .flow dl dt span {
    font-size: 1.2rem;
  }
  body.home .topFlow .flow dl dd {
    font-size: 0.9rem;
  }
  body.home .topFlow .flow dl dd strong {
    margin-bottom: 0.6em;
    font-size: 1rem;
  }
}
body.home .topFaq {
  margin: 40px auto;
}
body.home .topFaq .bg-gr {
  background: #eee;
  text-align: center;
  padding: 10px 0;
  margin-bottom: 20px;
}

/* body */
/*  page model */
.mainArea.model .comparison dl {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin: 8px auto;
  align-items: center;
}
.mainArea.model .comparison dl dt {
  width: 22%;
  color: #1c97ac;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 500;
  font-size: 90%;
}
.mainArea.model .comparison dl dt:before {
  font-family: 'basicicon';
  content: "\e952";
  margin-right: 0.1em;
  color: #7acad8;
  padding: 0 0 0.5em 0;
}
.mainArea.model .comparison dl dd {
  width: 23%;
  background: #eee;
  padding: 1.4em 0.8em;
  margin: 0 0.5%;
  text-align: center;
}
.mainArea.model .comparison dl dd span.company {
  display: none;
}
.mainArea.model .comparison dl dd.main {
  width: 32%;
  background: #DCF4F3;
  font-weight: bold;
}
.mainArea.model .comparison dl.title dt:before {
  content: none;
}
.mainArea.model .comparison dl.title dd.main {
  background: #1c97ac;
  color: #fff;
  padding: 0.8em;
}
.mainArea.model .comparison dl.title dd {
  background: #939393;
  color: #fff;
  padding: 0.8em;
}
.mainArea.model .msg {
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 200;
  font-size: 1.5rem;
  margin: 1.3em auto;
  text-align: center;
  color: #1c97ac;
}
.mainArea.model .msg span {
  font-weight: 600;
}
.mainArea.model .merit {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
}
.mainArea.model .merit dl {
  width: 31%;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  border: 1px solid #7acad8;
  border-radius: 6px;
  padding: 13px;
  margin: 11px 1%;
}
.mainArea.model .merit dl dt {
  font-weight: 600;
  color: #1c97ac;
  border-bottom: 2px solid #1c97ac;
  padding: 0.5em;
  text-align: center;
  font-size: 1.3rem;
  margin-bottom: 0.5rem;
}
.mainArea.model .merit dl dd {
  color: #1c97ac;
  font-size: 0.85rem;
  padding-bottom: 1.2rem;
}

/* model */
@media screen and (max-width: 850px) {
  .mainArea.model .comparison dl {
    align-items: stretch;
    font-size: 90%;
  }
  .mainArea.model .comparison dl dd {
    padding: 1em 0.5em;
  }
  .mainArea.model .comparison dl dd span.company {
    display: none;
    font-size: 80%;
  }
  .mainArea.model .merit dl {
    width: 100%;
    margin: 1% 0.5%;
  }
  .mainArea.model .merit dl dt {
    font-size: 1.1rem;
  }
}
/* sp */
/*  page self */
.mainArea.self-whitening .feature {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
}
.mainArea.self-whitening .feature dl {
  background: #ade9ed;
  width: 31%;
  margin: 1% 1%;
  background: -moz-linear-gradient(top, #ade9ed 0%, #c9e3fc 100%);
  background: -webkit-linear-gradient(top, #ade9ed 0%, #c9e3fc 100%);
  background: linear-gradient(to bottom, #ade9ed 0%, #c9e3fc 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ade9ed', endColorstr='#c9e3fc',GradientType=0 );
}
.mainArea.self-whitening .feature dt {
  font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  font-size: 1.3rem;
  font-weight: bold;
  text-align: center;
  border-bottom: 3px solid #fff;
  padding: 0.5em 0 1.2em;
}
.mainArea.self-whitening .feature dt:before {
  display: block;
  font-family: 'basicicon';
  content: "\ea2c";
  color: #fff;
  font-weight: normal;
  font-size: 2.2rem;
}
.mainArea.self-whitening .feature dd {
  font-size: 85%;
  padding: 1.5em;
}
.mainArea.self-whitening .type {
  margin: 20px auto;
}
.mainArea.self-whitening .type dl {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin: 5px 8px auto;
  align-items: center;
}
.mainArea.self-whitening .type dl dt {
  width: 24%;
  color: #1c97ac;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 600;
}
.mainArea.self-whitening .type dl dt:before {
  font-family: 'basicicon';
  content: "\e952";
  margin-right: 0.1em;
  color: #7acad8;
  padding: 0 0 0.5em 0;
}
.mainArea.self-whitening .type dl dd {
  width: 38%;
  background: #eee;
  padding: 1.4em 0.8em;
  margin: 0 0.5%;
  text-align: center;
}
.mainArea.self-whitening .type dl dd span.company {
  display: none;
}
.mainArea.self-whitening .type dl dd.main {
  width: 38%;
  background: #DCF4F3;
  font-weight: bold;
}
.mainArea.self-whitening .type dl.title dt:before {
  content: none;
}
.mainArea.self-whitening .type dl.title dd.main {
  background: #1c97ac;
  color: #fff;
  padding: 0.8em;
}
.mainArea.self-whitening .type dl.title dd {
  background: #939393;
  color: #fff;
  padding: 0.8em;
}
.mainArea.self-whitening .flow {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
}
.mainArea.self-whitening .flow dl {
  text-align: center;
  width: 25%;
  margin: 1% auto;
  position: relative;
  padding-right: 3%;
}
.mainArea.self-whitening .flow dl dt {
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  color: #1c97ac;
  font-weight: 500;
}
.mainArea.self-whitening .flow dl:after {
  font-family: 'basicicon';
  content: "\e62a";
  color: #1c97ac;
  font-size: 2.4rem;
  position: absolute;
  margin: auto;
  right: 0;
  top: 0;
  bottom: 0;
  height: 2.4rem;
}
.mainArea.self-whitening .flow dl:last-child:after {
  content: none;
}
.mainArea.self-whitening .msg {
  text-align: center;
  font-family: Garamond , "Times New Roman" , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;
  color: #1c97ac;
  font-size: 1.4rem;
  margin: 1.3rem auto;
}
.mainArea.self-whitening .effect {
  width: 90%;
  margin: 20px auto;
}
.mainArea.self-whitening .effect .clm {
  padding: 0 1%;
}
.mainArea.self-whitening .effect .title {
  color: #1c97ac;
  padding: 0.8em;
  border-bottom: 2px solid #1c97ac;
  margin: 0.7em 0 1em;
  padding: 0.5em 0;
  font-size: 1.1rem;
}
.mainArea.self-whitening .effect .result {
  margin-bottom: 20px;
}
.mainArea.self-whitening .effect .result dl {
  text-align: center;
  margin: 15px auto 33px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
  border: 2px dotted #7acad8;
  position: relative;
  padding: 10px;
  border-radius: 8px;
}
.mainArea.self-whitening .effect .result dl dt {
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 200;
  font-size: 1.2rem;
  color: #1c97ac;
}
.mainArea.self-whitening .effect .result dl:after {
  font-family: 'basicicon';
  content: "\e950";
  color: #1c97ac;
  display: block;
  font-size: 2rem;
  position: absolute;
  bottom: -37px;
  margin: auto;
  left: 0;
  right: 0;
}
.mainArea.self-whitening .effect .result dl:last-child:after {
  content: none;
}

@media screen and (max-width: 850px) {
  .mainArea.self-whitening .feature {
    display: block;
  }
  .mainArea.self-whitening .feature dl {
    width: 100%;
    margin: 3% 0;
  }
  .mainArea.self-whitening .type {
    font-size: 90%;
  }
  .mainArea.self-whitening .type dl {
    align-items: stretch;
  }
  .mainArea.self-whitening .flow dl {
    width: 50%;
  }
  .mainArea.self-whitening .flow dl dt {
    font-size: 0.9rem;
  }
  .mainArea.self-whitening .flow dl dd.img {
    position: relative;
    left: -0.3rem;
  }
  .mainArea.self-whitening .flow dl:after {
    font-size: 1.2rem;
    height: 1.2rem;
    right: -0.3rem;
    bottom: 20%;
  }
  .mainArea.self-whitening .effect {
    width: 100%;
  }
  .mainArea.self-whitening .effect .title {
    font-size: 0.9rem;
    min-height: 4rem;
  }
  .mainArea.self-whitening .effect .result dl {
    display: block;
  }
  .mainArea.self-whitening .effect .result dl dt {
    font-size: 0.9rem;
  }
  .mainArea.self-whitening .msg {
    font-size: 1.2rem;
  }
}
/* sp */
/*  page ge */
.mainArea.platinum-ge .care {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-wrap: wrap;
  width: 90% auto;
}
.mainArea.platinum-ge .care dl {
  border: 2px solid #7acad8;
  border-radius: 5px;
  padding: 15px;
  width: 48%;
  margin: 1%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-items: center;
}
.mainArea.platinum-ge .care dl dd {
  width: 30%;
}
.mainArea.platinum-ge .care dl dt {
  width: 70%;
  color: #1c97ac;
  font-size: 90%;
}

@media screen and (max-width: 850px) {
  .mainArea.platinum-ge .care {
    display: block;
  }
  .mainArea.platinum-ge .care dl {
    width: 100%;
    margin: 2% auto;
  }
  .mainArea.platinum-ge .care dl dt {
    padding-left: 2%;
  }
}
/* sp */
/*  page contact */
.mainArea.contact .form span.info {
  display: block;
  border: 1px solid #ccc;
  margin: 10px 0;
  padding: 1em;
  font-size: 90%;
  border-radius: 3px;
}
.mainArea.contact .form span.info strong {
  background: none;
}
.mainArea.contact .form dl.cat span.your-cat {
  color: #1c97ac;
}
.mainArea.contact .form dl.date dd {
  padding-left: 2%;
}
.mainArea.contact .form dl.date dd .prefer {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.mainArea.contact .form dl.date dd .prefer span:first-child {
  margin-right: 2%;
}
.mainArea.contact .form dl.date dd .prefer input {
  width: auto;
}
.mainArea.contact .form dl.date dd .prefer select {
  padding: 10px 6px;
}

@media screen and (max-width: 850px) {
  .mainArea.contact .form input[type="text"], .mainArea.contact .form input[type="email"] {
    width: 100%;
  }
  .mainArea.contact .form dl.cat span.your-cat span.wpcf7-radio {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
  }
  .mainArea.contact .form dl.cat span.your-cat span.wpcf7-radio .wpcf7-list-item {
    width: 48%;
    margin: 1%;
  }
  .mainArea.contact .form dl.cat span.your-cat span.wpcf7-radio .wpcf7-list-item label {
    border: 1px solid #1c97ac;
    display: block;
    text-align: center;
    padding: 5px;
    border-radius: 3px;
  }
  .mainArea.contact .form span.your-gender span.wpcf7-radio {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
  }
  .mainArea.contact .form span.your-gender span.wpcf7-radio .wpcf7-list-item {
    width: 48%;
    margin: 1%;
  }
  .mainArea.contact .form span.your-gender span.wpcf7-radio .wpcf7-list-item label {
    border: 1px solid #1c97ac;
    display: block;
    text-align: center;
    padding: 5px;
    border-radius: 3px;
  }
}
/* sp */
/*----------------------------------------------------------
	Common
--------------------------------------------------------- */
a.btn {
  transition: .3s;
}

a.btn:hover {
  opacity: 0.8;
}

.basicBtn a {
  display: inline-block;
  background: #1c97ac;
  text-decoration: none;
  color: #FFF;
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 500;
  padding: 0.8em 1.3em;
  border-radius: 5px;
  font-size: 120%;
}

/*  list
----------------------------------------------- */
ol {
  margin: 0;
  padding-left: 22px;
}

ol li {
  list-style: decimal;
  margin: 0.5em 0px;
  line-height: 1.5em;
}

ul.normal li, ul.border li, ul.arrow li, ul.dot li, ul.record li, ul.notice li, ul.notice-red li {
  margin: 0.3em 0;
}

ul.normal li:before {
  font-family: 'basicicon';
  content: "\e625";
  color: #1c97ac;
}

ul.border li:before {
  font-family: 'basicicon';
  content: "\71";
  color: #1c97ac;
}

ul.arrow li:before {
  font-family: 'basicicon';
  content: "\73";
  color: #1c97ac;
}

ul.dot li:before {
  font-family: 'basicicon';
  content: "\e625";
  color: #7acad8;
}

ul.record li:before {
  font-family: 'basicicon';
  content: "\e620";
}

ul.notice-red li {
  color: #CC0000;
}

ul.notice li:before, ul.notice-red li:before {
  font-family: 'basicicon';
  content: "\31";
  font-size: 90%;
  margin-right: 0.5em;
  position: relative;
  top: 1px;
}

ul.indent {
  padding-left: 0;
  margin-left: 0;
}

ul.indent li {
  margin: 10px 0;
  padding-left: 1em;
  text-indent: -1em;
}

ol.paren {
  counter-reset: item;
}
ol.paren li {
  padding-left: 1.5em;
  text-indent: -1.5em;
  list-style-type: none;
}
ol.paren li:before {
  content: "(" counters(item,"-") ")";
  counter-increment: item;
  margin-right: 0.5em;
}

ol.maru {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
}
ol.maru li {
  list-style: none;
  margin-bottom: 0.8em;
  padding-left: 35px;
  position: relative;
}
ol.maru li:before {
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 500;
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #1c97ac;
  color: #FFF;
  display: block;
  float: left;
  line-height: 30px;
  margin-left: -35px;
  text-align: center;
  height: 30px;
  width: 30px;
  border-radius: 50%;
}

ul.check li {
  margin: 0.7em 0;
}

ul.check li:before {
  font-family: 'basicicon';
  content: "\e946";
  color: #1c97ac;
  font-size: 150%;
  margin-right: 0.3em;
  position: relative;
  top: 0.1em;
}

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
/*  table
----------------------------------------------- */
table.data {
  margin: 10px 0;
  border: 1px solid #999;
  border-collapse: collapse;
  border: 1px solid #999;
  word-break: break-all;
}

table.data th {
  padding: 5px 8px;
  color: #333;
  background: #254676;
  border-bottom: solid 1px #999;
  border-top: none;
  border-right: solid 1px #999;
  border-left: solid 1px #999;
  font-size: 105%;
  text-align: center;
  color: #FFF;
  font-weight: 300;
}

table.data th.h2 {
  background: #C8D0E5;
  font-weight: 300;
  color: #4A4A4A;
}

table.data td.h1 {
  text-align: center !important;
}

table.data td {
  word-break: break-all;
  padding: 10px 8px;
  border-bottom: solid 1px #999;
  border-top: none;
  border-right: solid 1px #999;
  border-left: none;
}

/*
@media screen and (max-width: 850px){
table.data{width:100%; border-bottom:none;}
table.data td,table.data th{width:100%;display:block;text-align:left;}
table.data th{border:none;padding:8px;}
table.data td{border-right:none;padding-bottom:1.3em;}
table.data table.layout td,table.data table.layout th{width:auto;display:inline-table;}
table.data table.layout.line tr{border-bottom:$keycolor;}
}
*/
@media screen and (max-width: 850px) {
  table.data.sp {
    font-size: 13px;
    letter-spacing: -1px;
  }

  table.data.sp th {
    font-size: 12px;
  }
}
/* 表 (レイアウト用) */
table.layout {
  border: none;
  thpadding: 0;
  border: none;
}
table.layout td {
  padding: 0 5px;
  border: none;
}

table.price {
  border-collapse: collapse;
  color: #535353;
  width: 100%;
}
table.price th, table.price td {
  border: 1px solid #7f98d6;
  padding: 1.4em 1em;
  text-align: center;
}
table.price th {
  background: #cbd6f2;
  font-weight: bold;
}
table.price td.price span {
  border-bottom: 4px solid #e9e48f;
  color: #00479d;
  font-weight: bold;
}

@media screen and (max-width: 850px) {
  table.price {
    font-size: 80%;
    width: 100% !important;
  }
  table.price th, table.price td {
    padding: 1em 0.2em;
  }
}
/*  box
----------------------------------------------- */
.box {
  background: #eee;
  padding: 15px 20px;
  margin: 0.7em 0px;
}

.boxGradient {
  padding: 15px 3% 30px;
  background: #ededed;
  background: -moz-linear-gradient(top, #ededed 0%, #ffffff 100%);
  background: -webkit-linear-gradient(top, #ededed 0%, #ffffff 100%);
  background: linear-gradient(to bottom, #ededed 0%, #ffffff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ededed', endColorstr='#ffffff',GradientType=0 );
}

.boxWhite {
  background: rgba(255, 255, 255, 0.9);
  padding: 1.5em;
  border-radius: 5px;
}

.textclm2 {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
}
.textclm2 .clm {
  padding: 0 2.5% 0 0;
  width: 50%;
}
.textclm2 .clm:nth-child(even) {
  padding: 0 0 0 2.5%;
}

@media screen and (max-width: 850px) {
  .textclm2 {
    display: initial;
  }
  .textclm2 .clm {
    padding: 0;
  }
  .textclm2 .clm:nth-child(even) {
    padding: 0;
  }
}
/* sp */
.clearBox:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}

.clearBox {
  overflow: hidden;
  height: auto;
}
.clearBox .img-l, .clearBox .img-r {
  margin-bottom: 10px;
}
.clearBox .img-l {
  float: left;
  margin-right: 3vw !important;
}
.clearBox .img-r {
  float: right;
  margin-left: 3vw !important;
}
.clearBox .hidden {
  height: auto;
}
.clearBox .auto {
  overflow: auto;
  height: auto;
}

.imgBlockT {
  align-items: flex-start;
}

.imgBlockB {
  align-items: baseline;
}

.imgBlockC {
  align-items: center;
}

.imgBlockB, .imgBlockC, .imgBlockT {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-content: space-between;
}
.imgBlockB .img-l, .imgBlockC .img-l, .imgBlockT .img-l {
  margin-right: 2vw;
}
.imgBlockB .img-r, .imgBlockC .img-r, .imgBlockT .img-r {
  margin-left: 2vw;
}

.w10vw {
  max-width: 10vw;
}
.w10vw + .text {
  width: 90vw;
}

.w20vw {
  max-width: 20vw;
}
.w20vw + .text {
  width: 80vw;
}

.w30vw {
  max-width: 30vw;
}
.w30vw + .text {
  width: 70vw;
}

.w40vw {
  max-width: 40vw;
}
.w40vw + .text {
  width: 60vw;
}

.w50vw {
  max-width: 50vw;
}
.w50vw + .text {
  width: 36vw;
}

.w60vw {
  max-width: 60vw;
}
.w60vw + .text {
  width: 40vw;
}

.w70vw {
  max-width: 70vw;
}
.w70vw + .text {
  width: 30vw;
}

.w80vw {
  max-width: 80vw;
}
.w80vw + .text {
  width: 20vw;
}

.clm2, .clm3 {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.clm2 span.caption, .clm3 span.caption {
  display: block;
  margin: 0.5em 0;
  padding-left: 1.2em;
  text-indent: -1.2em;
}
.clm2 span.caption:before, .clm3 span.caption:before {
  font-family: 'basicicon';
  content: "\77";
  margin-right: 0.2em;
}
.clm2 .sp1, .clm3 .sp1 {
  padding: 1vw;
}
.clm2 .sp2, .clm3 .sp2 {
  padding: 2vw;
}

.clm2 .clm {
  width: 50%;
  justify-content: space-between;
}

.clm3 .clm {
  width: 33%;
  justify-content: space-between;
}

@media screen and (max-width: 850px) {
  .imgBlockB, .imgBlockC, .imgBlockT {
    display: block;
  }
  .imgBlockB .img-l, .imgBlockB .img-r, .imgBlockC .img-l, .imgBlockC .img-r, .imgBlockT .img-l, .imgBlockT .img-r {
    margin: 15px auto;
  }
  .imgBlockB .text, .imgBlockC .text, .imgBlockT .text {
    width: 100%;
  }
  .imgBlockB .w10vw, .imgBlockB .w20vw, .imgBlockB .w30vw, .imgBlockB .w40vw, .imgBlockB .w50vw, .imgBlockC .w10vw, .imgBlockC .w20vw, .imgBlockC .w30vw, .imgBlockC .w40vw, .imgBlockC .w50vw, .imgBlockT .w10vw, .imgBlockT .w20vw, .imgBlockT .w30vw, .imgBlockT .w40vw, .imgBlockT .w50vw {
    max-width: 60%;
  }
  .imgBlockB .w60vw, .imgBlockB .w70vw, .imgBlockB .w80vw, .imgBlockC .w60vw, .imgBlockC .w70vw, .imgBlockC .w80vw, .imgBlockT .w60vw, .imgBlockT .w70vw, .imgBlockT .w80vw {
    max-width: 100%;
  }

  div.clearBox .img-l, div.clearBox .img-r {
    float: none;
    text-align: center;
    margin: auto !important;
  }
  div.clearBox .auto {
    overflow: inherit;
  }
  div.clearBox .hidden {
    text-align: left;
  }

  /*.clm2,.clm3{display:block;}
  .clm2 .clm,
  .clm3 .clm{
  	width:100% !important;
  }*/
}
/* sp */
/*  Arrangement
----------------------------------------------- */
.align-r {
  text-align: right !important;
}

.align-c {
  text-align: center !important;
}

.align-l {
  text-align: left !important;
}

.valign-t {
  vertical-align: top;
}

/*  Margin
----------------------------------------------- */
*.sp-v0 {
  margin-top: 0px !important;
  margin-bottom: 0px !important;
}

*.sp-v5 {
  margin-top: 5px !important;
  margin-bottom: 5px !important;
}

*.sp-v10 {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

*.sp-v15 {
  margin-top: 15px !important;
  margin-bottom: 15px !important;
}

*.sp-v20 {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

*.sp-v25 {
  margin-top: 25px !important;
  margin-bottom: 25px !important;
}

*.sp-v30 {
  margin-top: 30px !important;
  margin-bottom: 30px !important;
}

*.sp-v40 {
  margin-top: 40px !important;
  margin-bottom: 40px !important;
}

*.sp-v50 {
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}

*.sp-t0 {
  margin-top: 0px !important;
}

*.sp-t5 {
  margin-top: 5px !important;
}

*.sp-t10 {
  margin-top: 10px !important;
}

*.sp-t15 {
  margin-top: 15px !important;
}

*.sp-t20 {
  margin-top: 20px !important;
}

*.sp-t25 {
  margin-top: 25px !important;
}

*.sp-t30 {
  margin-top: 30px !important;
}

*.sp-t40 {
  margin-top: 40px !important;
}

*.sp-t50 {
  margin-top: 50px !important;
}

*.sp-b0 {
  margin-bottom: 0px !important;
}

*.sp-b5 {
  margin-bottom: 5px !important;
}

*.sp-b10 {
  margin-bottom: 10px !important;
}

*.sp-b15 {
  margin-bottom: 15px !important;
}

*.sp-b20 {
  margin-bottom: 20px !important;
}

*.sp-b25 {
  margin-bottom: 25px !important;
}

*.sp-b30 {
  margin-bottom: 30px !important;
}

*.sp-b40 {
  margin-bottom: 40px !important;
}

*.sp-b50 {
  margin-bottom: 50px !important;
}

@media screen and (min-width: 668px) {
  *.w100 {
    max-width: 100px;
  }

  *.w130 {
    max-width: 130px;
  }

  *.w150 {
    max-width: 150px;
  }

  *.w200 {
    max-width: 200px;
  }

  *.w250 {
    max-width: 250px;
  }

  *.w300 {
    max-width: 300px;
  }

  *.w350 {
    max-width: 350px;
  }

  *.w400 {
    max-width: 400px;
  }

  *.w500 {
    max-width: 500px;
  }

  *.w600 {
    max-width: 600px;
  }
}
@media screen and (max-width: 850px) {
  *.w100 {
    max-width: 40%;
  }

  *.w130 {
    max-width: 40%;
  }

  *.w150 {
    max-width: 50%;
  }

  *.w200 {
    max-width: 60%;
  }

  *.w250 {
    max-width: 80%;
  }

  *.w300 {
    max-width: 80%;
  }

  *.w350 {
    max-width: 80%;
  }

  *.w400 {
    max-width: 90%;
  }

  *.w500 {
    max-width: 90%;
  }

  *.w600 {
    max-width: 90%;
  }
}
*.pd-lr5 {
  padding-right: 5px;
  padding-left: 5px;
}

*.pd-lr10 {
  padding-right: 10px;
  padding-left: 10px;
}

*.pd-lr15 {
  padding-right: 15px;
  padding-left: 15px;
}

*.pd-lr20 {
  padding-right: 20px;
  padding-left: 20px;
}

.indent {
  margin-left: 1em;
}

/*  hr
----------------------------------------------- */
hr {
  height: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

hr.type1 {
  border-top: 1px dashed #bbb;
}

hr.type2 {
  border-top: 1px solid #bbb;
  border-bottom: 1px solid #fff;
}

hr.type3 {
  border-top: 4px double #bbb;
}

/*  form
----------------------------------------------- */
select, textarea,
input[type="text"], input[type="email"], input[type="tel"], input[type="date"] {
  border: #1c97ac 1px solid;
  background: #FFF;
  color: #333;
  padding: 10px 6px;
  width: 100%;
}

input[type="button"], input[type="submit"] {
  background: #1c97ac !important;
  color: #FFF;
  padding: 0.4em 0.8em;
  font-weight: 100%;
  border: none;
  font-size: 20px;
  border-bottom: #8b8b8b 2px solid;
  border-radius: 4px;
  font-family: "Hiragino Kaku Gothic", "Hiragino Kaku Gothic Pro", 'ヒラギノ角ゴ Pro W3', メイリオ, Meiryo,sans-serifsans-serif;
  src: local("Yu Gothic Medium");
  font-weight: 400;
}

input[type="button"]:hover,
input[type="submit"]:hover {
  border-bottom: none;
  position: relative;
  margin-top: 2px;
  opacity: 0.9;
}

.form {
  padding: 3%;
  background: #FFF;
}
.form span.required:after {
  font-family: 'basicicon';
  content: "\e600";
  color: #F57E7E;
  font-size: 120%;
  margin-left: 5px;
  position: relative;
  top: 2px;
}
.form dl {
  margin-bottom: 1em;
}
.form dl dt {
  margin-bottom: 0.5em;
}
.form dl dt:before {
  font-family: 'basicicon';
  content: "\e60f";
  color: #7acad8;
  margin-right: 0.3em;
}
.form .btnArea {
  margin: 15px auto;
  text-align: center;
}
.form .half {
  width: 60%;
}

@media screen and (max-width: 850px) {
  input, select {
    width: 100%;
    font-size: 120%;
    padding: 5px;
  }

  input:focus, input:hover {
    background: #FFF2F2;
  }

  /*input{-webkit-appearance: button;}*/
}
form.sent dl,
form.sent .btnArea,
form.sent .sentnodisp {
  display: none !important;
}

body.thanks div.wpcf7-mail-sent-ok {
  background: #eee;
  padding: 20px;
  border: none;
}

form div.wpcf7-response-output {
  background: #FFF;
  padding: 0.8em;
}

form span.wpcf7-not-valid-tip:before {
  font-family: 'basicicon';
  content: "\e623";
  margin-right: 0.2em;
}

/*----------------------------------------------------------
	Script
--------------------------------------------------------- */
/* page animation */
.fade-up {
  transition: opacity 0.7s;
  -moz-transition: opacity 0.7s;
  -webkit-transition: opacity 0.7s;
  -o-transition: opacity 0.7s;
  transition: transform 0.7s;
  -moz-transition: transform 0.7s;
  -webkit-transition: transform 0.7s;
  -o-transition: transform 0.7s;
}

/*----------------------------------------------------------
	Font
--------------------------------------------------------- */
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 100;
  src: url("fonts/notosans/NotoSansCJKjp-Thin.eot");
  /* IE9 Compat Modes */
  src: url("fonts/notosans/NotoSansCJKjp-Thin.eot?#iefix") format("embedded-opentype"), url("fonts/notosans/NotoSansCJKjp-Thin.woff") format("woff"), url("fonts/notosans/NotoSansCJKjp-Thin.ttf") format("truetype");
  /* Safari, Android, iOS */
}
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 200;
  src: url("fonts/notosans/NotoSansCJKjp-Light.eot");
  src: url("fonts/notosans/NotoSansCJKjp-Light.eot?#iefix") format("embedded-opentype"), url("fonts/notosans/NotoSansCJKjp-Light.woff") format("woff"), url("fonts/notosans/NotoSansCJKjp-Light.ttf") format("truetype");
}
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 300;
  src: url("fonts/notosans/NotoSansCJKjp-DemiLight.eot");
  src: url("fonts/notosans/NotoSansCJKjp-DemiLight.eot?#iefix") format("embedded-opentype"), url("fonts/notosans/NotoSansCJKjp-DemiLight.woff") format("woff"), url("fonts/notosans/NotoSansCJKjp-DemiLight.ttf") format("truetype");
}
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 400;
  src: url("fonts/notosans/NotoSansCJKjp-Regular.eot");
  src: url("fonts/notosans/NotoSansCJKjp-Regular.eot?#iefix") format("embedded-opentype"), url("fonts/notosans/NotoSansCJKjp-Regular.woff") format("woff"), url("fonts/notosans/NotoSansCJKjp-Regular.ttf") format("truetype");
}
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 500;
  src: url("fonts/notosans/NotoSansCJKjp-Medium.eot");
  src: url("fonts/notosans/NotoSansCJKjp-Medium.eot?#iefix") format("embedded-opentype"), url("fonts/notosans/NotoSansCJKjp-Medium.woff") format("woff"), url("fonts/notosans/NotoSansCJKjp-Medium.ttf") format("truetype");
}
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 700;
  src: url("fonts/notosans/NotoSansCJKjp-Bold.eot");
  src: url("fonts/notosans/NotoSansCJKjp-Bold.eot?#iefix") format("embedded-opentype"), url("fonts/notosans/NotoSansCJKjp-Bold.woff") format("woff"), url("fonts/notosans/NotoSansCJKjp-Bold.ttf") format("truetype");
}
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 900;
  src: url("fonts/notosans/NotoSansCJKjp-Black.eot");
  src: url("fonts/notosans/NotoSansCJKjp-Black.eot?#iefix") format("embedded-opentype"), url("fonts/notosans/NotoSansCJKjp-Black.woff") format("woff"), url("fonts/notosans/NotoSansCJKjp-Black.ttf") format("truetype");
}
/*  iconfont
----------------------------------------------- */
[class^="icon-"]:before, [class*=" icon-"]:before,
[class^="icon-"]:after, [class*=" icon-"]:after {
  font-family: 'basicicon';
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1.3;
  vertical-align: middle;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[class^="icon-"]:before, [class*=" icon-"]:before {
  margin-right: 3px;
  font-size: 120%;
}

[class^="icon-"]:after, [class*=" icon-"]:after {
  margin-left: 3px;
  font-size: 120%;
}

[class^="icon-fl_"]:before, [class*=" icon-fl_"]:before,
[class^="icon-fl_"]:after, [class*=" icon-fl_"]:after {
  font-size: 160%;
  vertical-align: middle;
}

/*----------------------------------------------------------
  Script
--------------------------------------------------------- */
/* drwer menu */
.naver {
  margin: 0;
}

.naver,
.naver *,
.naver *:before,
.naver *:after {
  box-sizing: border-box;
}

.naver-handle {
  background: #1c97ac;
  color: #FFF;
  cursor: pointer;
  display: none;
  top: 0;
  right: 0;
  position: absolute;
  width: 50px;
  height: 50px;
  font-size: 30px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  z-index: 10;
}

.naver-handle:after {
  position: absolute;
  left: 20%;
  top: 20%;
  color: #FFF;
  font-family: 'basicicon';
  content: "\e61e";
}

.naver.open .naver-handle:after {
  color: #FFF;
  font-family: 'basicicon';
  content: "\e614";
}

.naver-wrapper {
  border: none;
  height: auto;
  margin: 0;
  padding: 0;
  width: 100%;
}

.naver-container:after {
  clear: both;
  content: ".";
  display: block;
  height: 0;
  line-height: 0;
  visibility: hidden;
}

/* animation */
.naver.open .naver-wrapper {
  display: block;
  opacity: 1;
  animation-duration: 0.5s;
  animation-name: fade-in;
  -moz-animation-duration: 0.5s;
  -moz-animation-name: fade-in;
  -webkit-animation-duration: 0.5s;
  -webkit-animation-name: fade-in;
}

@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
@-moz-keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
@-webkit-keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: block;
    opacity: 0;
  }
  100% {
    display: block;
    opacity: 1;
  }
}
.naver.enabled .naver-handle {
  display: block;
}
.naver.enabled .naver-wrapper {
  height: 0px;
  overflow: hidden;
}
.naver.enabled .naver-container {
  height: auto;
}

/*  post-single
----------------------------------------------- */
.postDetail {
  background: rgba(255, 255, 255, 0.1);
  width: 80%;
  margin: 0 auto;
  position: relative;
}
.postDetail .meta {
  font-size: 90%;
  margin: 0.5em;
}
.postDetail .head {
  border-bottom: double 4px #1c97ac;
  padding: 1em 0;
  margin: 1em 0 1.5em;
}
.postDetail .head .title {
  font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo,sans-serifsans-serif;
  font-weight: 500;
  font-size: 1.8rem;
  padding: 0.5em;
}
.postDetail .head .date {
  text-align: right;
}
.postDetail .head span.category a {
  margin: 0 0.2em;
}
.postDetail .img {
  text-align: center;
  margin-bottom: 15px;
}
.postDetail .img img {
  max-height: 40vh;
}
.postDetail .postEditor img {
  max-width: 80%;
}
.postDetail .postEditor dl, .postDetail .postEditor dt, .postDetail .postEditor fieldset, .postDetail .postEditor form, .postDetail .postEditor frame, .postDetail .postEditor frameset, .postDetail .postEditor h1, .postDetail .postEditor h2, .postDetail .postEditor h3, .postDetail .postEditor h4, .postDetail .postEditor h5, .postDetail .postEditor h6, .postDetail .postEditor noframes, .postDetail .postEditor ol, .postDetail .postEditor p, .postDetail .postEditor ul, .postDetail .postEditor center,
.postDetail .postEditor dir, .postDetail .postEditor hr, .postDetail .postEditor menu, .postDetail .postEditor pre {
  display: block;
  unicode-bidi: embed;
}
.postDetail .postEditor li {
  display: list-item;
}
.postDetail .postEditor head {
  display: none;
}
.postDetail .postEditor table {
  display: table;
}
.postDetail .postEditor tr {
  display: table-row;
}
.postDetail .postEditor thead {
  display: table-header-group;
}
.postDetail .postEditor tbody {
  display: table-row-group;
}
.postDetail .postEditor tfoot {
  display: table-footer-group;
}
.postDetail .postEditor col {
  display: table-column;
}
.postDetail .postEditor colgroup {
  display: table-column-group;
}
.postDetail .postEditor td, .postDetail .postEditor th {
  display: table-cell;
}
.postDetail .postEditor caption {
  display: table-caption;
}
.postDetail .postEditor th {
  font-weight: bolder;
  text-align: center;
}
.postDetail .postEditor caption {
  text-align: center;
}
.postDetail .postEditor body {
  margin: 8px;
}
.postDetail .postEditor h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
.postDetail .postEditor h2 {
  font-size: 1.5em;
  margin: 0.75em 0;
}
.postDetail .postEditor h3 {
  font-size: 1.17em;
  margin: 0.83em 0;
}
.postDetail .postEditor h4, .postDetail .postEditor p, .postDetail .postEditor blockquote, .postDetail .postEditor ul, .postDetail .postEditor fieldset, .postDetail .postEditor form, .postDetail .postEditor ol, .postDetail .postEditor dl, .postDetail .postEditor dir, .postDetail .postEditor menu {
  margin: 1.12em 0;
}
.postDetail .postEditor h5 {
  font-size: .83em;
  margin: 1.5em 0;
}
.postDetail .postEditor h6 {
  font-size: .75em;
  margin: 1.67em 0;
}
.postDetail .postEditor h1, .postDetail .postEditor h2, .postDetail .postEditor h3, .postDetail .postEditor h4, .postDetail .postEditor h5, .postDetail .postEditor h6, .postDetail .postEditor b, .postDetail .postEditor strong {
  font-weight: bolder;
}
.postDetail .postEditor blockquote {
  margin: 0 3%;
}
.postDetail .postEditor i, .postDetail .postEditor cite, .postDetail .postEditor em, .postDetail .postEditor var, .postDetail .postEditor address {
  font-style: italic;
}
.postDetail .postEditor pre, .postDetail .postEditor tt, .postDetail .postEditor code, .postDetail .postEditor kbd, .postDetail .postEditor samp {
  font-family: monospace;
}
.postDetail .postEditor pre {
  white-space: pre;
  overflow: auto;
}
.postDetail .postEditor button, .postDetail .postEditor textarea, .postDetail .postEditor input, .postDetail .postEditor select {
  display: inline-block;
}
.postDetail .postEditor big {
  font-size: 1.17em;
}
.postDetail .postEditor small, .postDetail .postEditor sub, .postDetail .postEditor sup {
  font-size: 0.83em;
}
.postDetail .postEditor sub {
  vertical-align: sub;
}
.postDetail .postEditor sup {
  vertical-align: super;
}
.postDetail .postEditor table {
  border-spacing: 2px;
}
.postDetail .postEditor thead, .postDetail .postEditor tbody, .postDetail .postEditor tfoot {
  vertical-align: middle;
}
.postDetail .postEditor td, .postDetail .postEditor th, .postDetail .postEditor tr {
  vertical-align: inherit;
}
.postDetail .postEditor s, .postDetail .postEditor strike, .postDetail .postEditor del {
  text-decoration: line-through;
}
.postDetail .postEditor hr {
  border: 1px inset;
}
.postDetail .postEditor ol, .postDetail .postEditor ul, .postDetail .postEditor dir, .postDetail .postEditor menu, .postDetail .postEditor dd {
  margin-left: 40px;
}
.postDetail .postEditor ol {
  list-style-type: decimal;
}
.postDetail .postEditor ol ul, .postDetail .postEditor ul ol, .postDetail .postEditor ul ul, .postDetail .postEditor ol ol {
  margin-top: 0;
  margin-bottom: 0;
}
.postDetail .postEditor u, .postDetail .postEditor ins {
  text-decoration: underline;
}
.postDetail .postEditor br:before {
  content: "\A";
  white-space: pre-line;
}
.postDetail .postEditor center {
  text-align: center;
}
.postDetail .postEditor :link, .postDetail .postEditor :visited {
  text-decoration: underline;
}
.postDetail .postEditor :focus {
  outline: thin dotted invert;
}
.postDetail .postEditor ul li {
  margin: 0.5em 0;
  padding-left: 0;
  list-style-type: disc !important;
}
.postDetail .postEditor blockquote {
  border-left: 4px double #F1F1F1;
  padding: 0.5em 1em;
}

@media screen and (max-width: 850px) {
  .postDetail {
    width: 100%;
    padding: 0 5vw 3vh;
  }
  .postDetail .postEditor img {
    max-width: 100%;
  }
}
/* sp */
