@charset "UTF-8";
/* 
  css設定 @charsetが消されるsass仕様へのハック用コメントです。削除しないでください。新規作成時も必須！
 */
/*==================================================================================
 default
==================================================================================*/
/*==================================================================================
 common
==================================================================================*/
main {
  padding-top: 0; }

.commonArea {
  padding: 60px 0 80px; }
  .commonArea .lead {
    font-size: 14px; }

.commonBtns li {
  padding-bottom: 10px; }

.modalArea {
  min-height: 0; }
  .modalArea .inner {
    padding-top: 70px;
    width: auto; }
  .modalArea .modalConts {
    display: none; }
    .modalArea .modalConts h5 {
      padding: 0 3% 60px;
      line-height: 1.4;
      text-align: center; }
    .modalArea .modalConts .scrollArea {
      padding: 0 10%; }
      .modalArea .modalConts .scrollArea .mainImage {
        padding-bottom: 30px; }
        .modalArea .modalConts .scrollArea .mainImage .caption {
          padding-top: 20px;
          font-size: 16px; }
    .modalArea .modalConts .textArea {
      padding: 0 0 0 100px; }
      .modalArea .modalConts .textArea .talk,
      .modalArea .modalConts .textArea .image {
        padding-bottom: 30px; }
      .modalArea .modalConts .textArea .talk {
        font-size: 14px; }
        .modalArea .modalConts .textArea .talk .name {
          left: -100px;
          -webkit-transform: translateX(0);
          -ms-transform: translateX(0);
          -moz-transform: translateX(0);
          transform: translateX(0); }
  .modalArea .closeBtn {
    top: 10px;
    right: 3%;
    width: auto; }
    .modalArea .closeBtn img {
      padding: 10px;
      width: 20px; }

.ps__rail-y {
  right: 7px !important;
  width: 10px; }

.ps--active-y > .ps__rail-y,
.ps__thumb-y {
  width: 10px; }

/*==================================================================================
 siteHeader
==================================================================================*/
.siteHeader {
  box-sizing: border-box;
  position: static;
  padding: 10px 3% 22px; }
  .siteHeader h1 {
    float: none;
    clear: both;
    width: 227px; }
  .siteHeader .menuBtn,
  .siteHeader .closeBtn {
    cursor: pointer;
    position: fixed;
    top: 10px;
    right: 3%;
    width: 40px;
    z-index: 100; }
  .siteHeader .fixingBtns {
    position: fixed;
    top: auto;
    bottom: 0;
    right: 0;
    width: 100%;
    text-align: center;
    font-size: 15px;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    -moz-transform: translateY(0);
    transform: translateY(0);
    z-index: 99; }
    .siteHeader .fixingBtns.visible {
      display: block !important; }
    .siteHeader .fixingBtns li {
      float: left;
      width: 50%;
      line-height: 1; }
      .siteHeader .fixingBtns li:first-child {
        padding-bottom: 0; }
        .siteHeader .fixingBtns li:first-child a:after {
          content: "";
          position: absolute;
          top: 50%;
          right: -1px;
          width: 2px;
          height: 30px;
          background: #fff;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          -moz-transform: translateY(-50%);
          transform: translateY(-50%); }
      .siteHeader .fixingBtns li:last-child {
        float: right; }
      .siteHeader .fixingBtns li a {
        position: relative;
        display: block;
        padding: 16px 0 14px 40px;
        color: #fff;
        background: #d41338; }
        .siteHeader .fixingBtns li a:before {
          content: "";
          display: block;
          position: absolute;
          top: 50%;
          left: 50%;
          width: 27px;
          height: 30px;
          background: url("../img/icon_request.jpg") no-repeat;
          -webkit-transform: translateX(-180%) translateY(-50%);
          -ms-transform: translateX(-180%) translateY(-50%);
          -moz-transform: translateX(-180%) translateY(-50%);
          transform: translateX(-180%) translateY(-50%); }
      .siteHeader .fixingBtns li:last-child a:before {
        background-image: url("../img/icon_reserve.jpg"); }
  .siteHeader .achievements {
    display: none; }
  .siteHeader .spNavi {
    box-sizing: border-box;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    padding: 10px 3% 0;
    width: 100%;
    height: 100%;
    text-align: center;
    z-index: 100; }
    .siteHeader .spNavi .layer {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(255, 255, 255, 0.95);
      z-index: -1; }
    .siteHeader .spNavi .inner {
      margin: 0 auto;
      width: 90%; }
    .siteHeader .spNavi .snsIcons {
      position: static;
      margin: 0 auto 15px;
      padding: 5px 0;
      width: 120px; }
      .siteHeader .spNavi .snsIcons li {
        float: left;
        padding-right: 15px;
        width: 30px; }
        .siteHeader .spNavi .snsIcons li:last-child {
          padding-right: 0; }
        .siteHeader .spNavi .snsIcons li img {
          max-width: 100%;
          height: auto; }
    .siteHeader .spNavi .links {
      margin: 0 auto;
      padding-bottom: 50px;
      width: 90%;
      font-size: 18px; }
      .siteHeader .spNavi .links li {
        line-height: 1.2; }
        .siteHeader .spNavi .links li a {
          display: block;
          padding: 12px 0;
          border-bottom: 1px dashed #000;
          color: #000; }
        .siteHeader .spNavi .links li.external a:after {
          content: "";
          display: inline-block;
          position: relative;
          top: 1px;
          right: -5px;
          width: 16px;
          height: 16px;
          background: url("../img/icon_external.jpg") no-repeat;
          background-size: 100% auto; }
    .siteHeader .spNavi .tel {
      line-height: 1.7;
      font-size: 16px; }
      .siteHeader .spNavi .tel .num {
        font-size: 180%; }
      .siteHeader .spNavi .tel a {
        display: inline-block;
        position: relative;
        padding-left: 40px;
        color: #000; }
        .siteHeader .spNavi .tel a:before {
          content: "";
          display: block;
          position: absolute;
          top: 50%;
          left: 0;
          width: 30px;
          height: 49px;
          background: url("../img/sp/icon_tel.jpg") no-repeat;
          background-size: 100% auto;
          -webkit-transform: translateY(-56%);
          -ms-transform: translateY(-56%);
          -moz-transform: translateY(-56%);
          transform: translateY(-56%); }

/*==================================================================================
 siteFooter
==================================================================================*/
.siteFooter {
  margin-top: 40px;
  padding: 30px 0 45px;
  width: auto; }
  .siteFooter .examined dl {
    padding-bottom: 5px; }
    .siteFooter .examined dl:last-of-type {
      display: none; }
  .siteFooter .examined dt {
    position: static; }
  .siteFooter .examined dd {
    padding-left: 0; }
  .siteFooter .notes {
    padding-bottom: 30px; }
    .siteFooter .notes dd:last-of-type {
      padding-bottom: 0; }
  .siteFooter .pageTop {
    top: -40px;
    right: 3%; }
  .siteFooter .links {
    max-width: 290px;
    font-size: 12px; }
    .siteFooter .links li {
      margin: 0 8px 8px 0;
      padding-right: 8px; }
      .siteFooter .links li:nth-child(3), .siteFooter .links li:nth-child(6) {
        margin-right: 0;
        padding-right: 0;
        border: none; }
      .siteFooter .links li:nth-child(4), .siteFooter .links li:last-child {
        margin-left: 10px;
        padding-left: 10px;
        border-left: 1px solid #000; }
      .siteFooter .links li:last-child {
        margin-bottom: 0; }
      .siteFooter .links li a {
        color: #000; }
        .siteFooter .links li a:hover {
          opacity: 1; }
          @media (min-width: 1001px) {
            .siteFooter .links li a:hover {
              text-decoration: underline; } }
  .siteFooter .siteCopy {
    font-size: 11px; }
  .siteFooter .illustCopy {
    margin-top: 40px; }

/*==================================================================================
 top
==================================================================================*/
#top .mainVisual {
  padding-bottom: 20px; }
#top .intro .lead {
  padding-bottom: 50px;
  font-size: 16px; }
#top .sections > header .lead,
#top .sections > .lead {
  font-size: 20px; }
#top .result {
  padding: 40px 0; }
  #top .result h4 {
    padding-bottom: 30px;
    font-size: 20px; }
  #top .result .graph {
    padding-bottom: 40px; }
  #top .result .wrap:before {
    display: none; }
  #top .result .results li {
    float: none;
    clear: both;
    padding: 0 0 15px !important;
    width: auto;
    text-align: center; }
    #top .result .results li:nth-child(3n) {
      padding-right: 0; }
    #top .result .results li:nth-child(3n+1) {
      clear: both; }
    #top .result .results li:last-child {
      padding-bottom: 0 !important; }
#top .team {
  padding-bottom: 60px; }
  #top .team > header {
    padding-bottom: 5px; }
  #top .team h4 {
    padding: 30px 0;
    font-size: 20px; }
  #top .team .catch {
    margin: 0 auto;
    padding: 0 0 90px;
    width: 90%;
    font-size: 16px; }
    #top .team .catch:before, #top .team .catch:after {
      top: auto;
      bottom: 0;
      width: 101px;
      height: 75px; }
  #top .team .inSections {
    padding: 30px 0 50px; }
    #top .team .inSections > header {
      margin-bottom: 30px;
      padding-left: 0;
      text-align: center; }
    #top .team .inSections h5 {
      position: static;
      margin: 0 auto;
      width: 200px; }
    #top .team .inSections .lead {
      display: inline-block;
      padding-top: 20px;
      text-align: left;
      font-size: 16px; }
  #top .team section.about ul {
    padding-bottom: 30px; }
    #top .team section.about ul li {
      float: none !important;
      clear: both;
      width: auto; }
      #top .team section.about ul li:first-child {
        padding-bottom: 40px; }
      #top .team section.about ul li .image {
        padding-bottom: 20px; }
      #top .team section.about ul li .text {
        font-size: 12px; }
  #top .team section.program .tableArea p {
    line-height: 2;
    font-size: 18px; }
  #top .team section.program .tableArea div {
    margin-right: -5.5%; }
#top .recommend h4 {
  margin: 0 -5.5%; }
#top .recommend header .lead {
  padding: 0 0 50px;
  font-size: 13px; }
#top .recommend .points li {
  padding-bottom: 20px; }
#top .shops .lead {
  padding-bottom: 30px;
  text-align: left;
  font-size: 18px; }
#top .shops .image {
  margin-bottom: 40px; }
#top .shops .shopList {
  padding: 0 5%; }
#top .flow {
  margin-bottom: 100px;
  padding: 0 3% 30px;
  width: auto;
  background-size: 150% auto; }
  #top .flow .lead {
    padding-bottom: 40px;
    text-align: left;
    font-size: 18px; }
#top .price ul li {
  padding-bottom: 20px; }
  #top .price ul li:before {
    display: none; }
#top #search1 {
  position: relative;
  margin: 0; }
  #top #search1 > .inner {
    width: auto; }
  #top #search1 .close {
    top: 10px;
    right: 10px; }
    #top #search1 .close.bottom {
      bottom: 30px; }
    #top #search1 .close a {
      width: 20px;
      height: 20px;
      background-image: url("../img/sp/icon_close.png");
      background-size: 100% auto; }
  #top #search1 .step0 {
    padding: 20px 0; }
    #top #search1 .step0 h4 {
      margin-bottom: 15px;
      padding-left: 30px;
      font-size: 20px; }
      #top #search1 .step0 h4:before {
        width: 20px;
        height: 20px;
        background-size: 100% auto; }
  #top #search1 .step1 {
    padding-bottom: 40px; }
    #top #search1 .step1 h4 {
      padding-top: 50px;
      margin-bottom: 30px;
      font-size: 26px; }
    #top #search1 .step1 .txt {
      padding-bottom: 20px;
      font-size: 18px; }
      #top #search1 .step1 .txt p {
        padding-bottom: 5px;
        line-height: 1.7; }
        #top #search1 .step1 .txt p:last-of-type {
          padding: 0; }
      #top #search1 .step1 .txt span {
        padding: 0 5px;
        font-size: 28px; }
    #top #search1 .step1 > .box {
      margin-bottom: 20px;
      padding: 15px 3% 20px; }
      #top #search1 .step1 > .box h5 {
        margin-bottom: 15px;
        line-height: 1.5;
        font-size: 18px;
        color: #ab8d56; }
      #top #search1 .step1 > .box .buttons {
        width: 80%; }
        #top #search1 .step1 > .box .buttons li {
          float: none !important;
          clear: both;
          width: auto !important;
          text-align: center; }
          #top #search1 .step1 > .box .buttons li:first-child {
            padding-bottom: 5px; }
    #top #search1 .step1 > .caption {
      margin: 0 auto;
      width: 94%;
      font-size: 12px;
      text-align: left; }
      #top #search1 .step1 > .caption li {
        line-height: 1.4; }

/*# sourceMappingURL=smartphone.css.map */
