    .clearfix::after {
      content: "";
      display: block;
      clear: both;
    }

    html {
      font-family: "Noto Sans JP", sans-serif, arial;
      /* font-family: 'M PLUS Rounded 1c', sans-serif; */
      font-weight: 400;
      font-size: 15px;
      color: #666;
    }

    .mpr {
      font-family: "M PLUS Rounded 1c", sans-serif;
    }

    body {
      /* font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; */
      font-size: 16px;
      color: #888;
      background-color: #f7fff0;
      margin: 0;
    }

    a {
      color: #00bfc7;
      text-decoration: none;
    }


    #wrapper {
      position: relative;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto;
      border-left: 1px solid lightgray;
      border-right: 1px solid lightgray;
      box-shadow: 1px 0 5px 1px #999;
      background-color: white;
      overflow: hidden;
      /* これが無いとheight auto 効かない */
    }

    .box {
      position: relative;
      text-align: center;
      padding: 1em;
      border: solid 2px #ccc;
      border-radius: 8px;
      color: #02b6af;
    }

    #contents {
      float: left;
      margin-top: 6px;
    }

    .shouhin {
      margin: 0 auto;
      text-align: center;
    }
    
    ul {
      list-style-type: none;
    }

    hr {
      /* FF対策 */
      border-width: 1px 0px 0px 0px;
      /* 太さ */
      height: 1px;
      border-color: #aaaaaa;
    }

    .hr2 {
      border-width: 0 0 8px;
      border-style: solid;
      border-image: url('data:image/svg+xml,<svg xmlns="https://www.w3.org/2000/svg" viewBox="0 0 2 1"><circle fill="hsla(0, 0%, 65%, 1.0)" cx="1" cy="0.5" r="0.5"/></svg>') 0 0 100% repeat;
    }

    .hr3 {
      border-color: #dddddd;
      border-style: solid;
    }


/*
    a {
      text-decoration: none;
    }
*/

    .kiji a {
      color: #349fc0;
    }

    .kiji a:hover {
      color: deeppink;
      /* #ff5817 */
    }

    .flex {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
    }

    .iflex0 {
      display: inline-flex;
    }


    .iflex {
      display: inline-flex;
      padding: 4px;
      border: 1px solid #888888;
      border-collapse: collapse;
      margin-top: -1px;
      margin-left: -1px;
    }

    .iflex2 {
      display: inline-flex;
      padding: 4px;
      margin: 10px;
      background-color: cornsilk;
    }

    .c1 {
      width: 190px;
      font-size: 18px;
      font-weight: 600;
    }

    .c2 {
      width: 180px;
      align-items: center;
      justify-content: center;
    }

    .c3 {
      width: 270px;
    }

    .sp1 {
      height: 10px;
    }

    .sp2 {
      height: 25px;
    }

    .sp3 {
      height: 40px;
    }

    .bar {
      height: 34px;
      width: 100%;
    }

    .bartext {
      font-family: 'M PLUS Rounded 1c', sans-serif;
      position: relative;
      color: #02b6af;
      /* display: table; */
      /* margin: 0 auto -34px auto; */
      background-color: transparent;
      top: 3px;
      font-style: italic;
      text-align: center;
    }

    table.list {
      border-collapse: collapse;
      border-spacing: 0;
      empty-cells: show;
      text-align: center;
    }

    .list th {
      border-width: 1px;
      border-style: solid;
      border-color: #999999;
      padding: 6px;
      background-color: white;
    }

    .list th span {
      /* padding: 19px 0 19px 26px; */
      display: block;
      border-left: solid 3px #dbe249;
    }

    .list td {
      border-width: 1px;
      border-style: solid;
      border-color: #999999;
      padding: 6px;
      background-color: white;
    }



    .btn-gradation:hover {
      background-position: right center;
    }


    .blog a {
      color: #349fc0;
    }

    .news a:hover {
      color: deeppink;
      /* #ff5817 */
    }

    #me {
      background-color: #6ddcd7;
    }

    .green {
      background-color: #f2fff6;
    }

    .yellow {
      background-color: #ffffea;
    }

    .blue {
      color: #2385ff;
    }

    .lg {
      color: #888;
    }


    .box-title {
      font-family: 'M PLUS Rounded 1c', sans-serif;
      position: absolute;
      display: inline-block;
      top: -9px;
      left: 10px;
      padding: 0 9px;
      line-height: 1;
      font-size: 16px;
      background: #FFF;
      color: #ff8c00;
      font-weight: bold;
    }

    .kodawari {
      font-size: 18px;
      font-weight: 600;
      /* color:lightseagreen; */
      color: #444444;
    }

    .kodawari2 {
      color: #009900;
      padding-left: 81px;
      font-size: 16px;
    }

    #page_top {
      width: 60px;
      height: 60px;
      position: fixed;
      right: 0;
      bottom: 8px;
      opacity: 0.6;
    }

    #page_top a {
      width: 60px;
      height: 60px;
      text-decoration: none;
    }

    #page_top a::before {
      font-family: 'Font Awesome 5 Free';
      font-weight: 900;
      content: '\f139';
      font-size: 50px;
      /* color: #3fefee; */
      color: #37d6c0;
    }


    #chuui li {
      margin-bottom: 25px;
    }

    .b {
      font-weight: 600;
    }

    .enhance {
      font-weight: 700;
    }

    hr.grad1 {
      border: 0;
      height: 2px;
      background: #333;
      margin-bottom: 17px;
      background-image: -webkit-linear-gradient(left, #fff9f9, #ff7600, #fff9f9);
    }

    .shadow {
      box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);
    }

    .welcome {
      /* height: 50px; */
      color: #00bfc7;
      font-size: 22px;
      font-weight: 500;
      font-style: italic;
    }

    .fl {
      float: left;
    }

    .cb {
      clear: both;
    }

    /******************************* PC用 ******************************/
    @media screen and (min-width: 801px) {

    .btn-gradation {
      display: inline-block;
      width:346px;
      margin: 0 auto;
      text-align: center;
      font-size: 20px;
      color: #FFF;
      text-decoration: none;
      font-weight: bold;
      padding: 12px 24px;
      border-radius: 6px;
      background-image: linear-gradient(-90deg, #FF006E, #FFD500);
      transition: .5s;
      background-size: 200%;
    }

      .vw10 {
        padding-left:82px;
      }

      li {
        font-size: 16px;
      }

      #wrapper {
        width: 800px;
      }

      #logo {
        width: 698px;
      }

      #top_photo_body {
        width: 660px;
        margin: 0 auto;
      }

      .top_photo {
        height: 243px;
        width: 330px;
        border-style: none;
      }

      .box {
        margin: 0 auto;
        width: 624px;
      }

      #contents {
        width: 800px;
      }

      .shouhin {
        width: 650px;
        height: 240px;
        display:flex;
        margin-top:28px;
      }

      .shouhin_c {
        width: 700px;
        height: 240px;
        background-color: #f8f8f8f8;
        color: #029fa7;
        padding-top:10px;
      }


      .shouhin_l {
        width: 350px;
        height: 240px;
        background-color: #f8f8f8f8;
        color: #029fa7;
        padding-top:10px;
        margin-right:12px;
      }

      .shouhin_r {
        width: 350px;
        height: 240px;
        background-color: #f8f8f8f8;
        color: #029fa7;
        padding-top:10px;
        margin-left:12px;
      }

      .shouhin_photo_half {
        width: 125px;
        height: 188px;
        border-style: none
      }

      .shouhin_photo_full {
        width: 258px;
        height: 194px;
        border-style: none
      }

      .photo_pad {
        padding-top:10px;
        padding-bottom:10px;
        background-color: #f8f8f8f8;
      }

      .shouhin_setumei {
        padding-left: 326px;
        width: 300px;
        vertical-align: middle;
        display: table-cell;
      }

      #chuui {
        font-size: 16px;
        padding-left: 140px;
      }


      #buy {
        position: fixed;
        right: calc(50% - 192px);
        bottom: 17px;
        z-index: 3;
      }

      #katei_setumei {
        text-align: left;
        padding-left: 162px;
      }

      .enhance {
        font-size: 18px;
        background-color: white;
        margin-left:8px;
        margin-right:8px;
        padding-top:6px;
        padding-bottom:6px;

      }

      .bartext {
        font-size: 22px;
        font-weight: 500;
      }

      .mobile {
        display: none !Important;
      }

      #map {
        width: 800px;
        height: 400px;
        border: 0;
      }

      .blog {
        padding-left: 180px;
      }

      #url {
        position: relative;
        top: -95px;
        left: 256px;
        color: #00bfc7;
      }

      .table_decor {
        padding: 35px;
        background: url(../img/pattern.jpg) 0 0 repeat;
      }

      .cat {
        height: 36px;
        color: #02b6af;
        font-size: 20px;
        font-weight: 400;
      }

      .spacer {
        height:65px;
      }

      /* PC用ナビ */

      nav li {
        color: #555;
        font-size: 14px;
        font-size: 1.4rem;
        padding: 0;
        margin: 0 6px;
        border-left: solid 1px #e1e1e1;
        display: block;
        transition: all 0.3s ease;
        text-align: center;
        float: left;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
      }

      nav li:last-child {
        border-right: solid 2px #e1e1e1;
      }

      nav li a {
        color: #888;
        font-size: 16px;
        /* font-size: 1.4rem; */
        padding: 0 12px;
        border-left: solid 1px #e1e1e1;
        display: block;
        transition: all 0.3s ease;
        -webkit-transition: all 0.3s ease;
        -moz-transition: all 0.3s ease;
      }

      nav li a:hover {
        color: deeppink;
      }

      #navMobile {
        display: none;
      }

      #header {
        height: 127px;
        text-align: center;
      }

      #contents {
        border-top: solid 2px #02bfb8;
      }

    }

    /******************************** PC用終了 ****************************/

    /******************************** スマホ用 ***************************/
    @media screen and (max-width:800px) {

    .btn-gradation {
      display: inline-block;
      width: 195px;
      margin: 0 auto;
      text-align: center;
      font-size: 16px;
      color: #FFF;
      text-decoration: none;
      font-weight: bold;
      padding: 12px 24px;
      border-radius: 6px;
      background-image: linear-gradient(-90deg, #FF006E, #FFD500);
      transition: .5s;
      background-size: 200%;
    }

      
      li {
        font-size: 15px;
      }


      #wrapper {
        width: 100vw;
      }

      #logo {
        width: 98vw;
      }

      #top_photo_body {
        width: 100vw;
      }

      .top_photo {
        width: 45vw;
        height: 30vw;
        border-style: none;
      }

      .box {
        width: 85vw;
        margin: auto;
      }

      #contents {
        width: 100vw;
      }

      .shouhin {
        width: 94vw;
        height: 38vw;
        display:flex;
        margin-top:20px;
        justify-content: space-between;
      }

      .shouhin_c {
        width: 95vw;
        height: auto;
        background-color: #f8f8f8f8;
        color: #029fa7;
        padding-top:1.2vw;
      }


      .shouhin_l {
        width: 42vw;
        height: auto;
        background-color: #f8f8f8f8;
        color: #029fa7;
        padding-top:1.2vw;
        margin-left:2vw;
        margin-right:1vw;
      }

      .shouhin_r {
        width: 42vw;
        height: auto;
        background-color: #f8f8f8f8;
        color: #029fa7;
        padding-top:1.2vw;
        margin-left:1vw;
        margin-right:2vw;
      }

      .shouhin_photo_half {
        width: 21vw;
        height: 30vw;
        border-style: none
      }

      .shouhin_photo_full {
        width: 36vw;
        height: 28vw;
        border-style: none;
      }

      .photo_pad {
        padding-top:2vw;
        padding-bottom:1vw;
        background-color: #f8f8f8f8;
      }

      .shouhin_setumei {
        padding-left: 49vw;
        width: 40vw;
        vertical-align: middle;
        display: table-cell;
      }

      #chuui {
        font-size: 15px;
        padding: 0 3vw 0 0;
      }

      #buy {
        position: fixed;
        left: calc(50vw - 155px);
        bottom: 17px;
        z-index: 3;
      }

      #katei_setumei {
        width: 90vw;
        text-align: left;
        padding-left: 7vw;
      }

      .enhance {
        font-size: 16px;
        background-color: white;
        margin-left:8px;
        margin-right:8px;
      }

      .bartext {
        font-size: min(5vw, 22px);
        /* 基本5vwだが22pxは超えない */
        font-weight: 400;
      }

      .pc {
        display: none !Important;
      }

      #map {
        width: 100vw;
        height: 100vw;
        border: 0;
      }

      .blog {
        width: 95vw !Important;
        /* font-size: min(4vw, 16px); */
        padding-left: 3vw;
      }

      #url {
        position: absolute;
        top: 23.5vw;
        right: 2.5vw;
        color: #01b2b9;
        /* #00bfc7; */
        font-family: 'M PLUS Rounded 1c', sans-serif;
        font-size: 3.35vw;
      }

      .souryou {
        font-size: min(4vw, 16px);
      }

      .table_decor {
        padding: 10px;
        background: url(../img/pattern.jpg) 0 0 repeat;
      }

      .vw10 {
        width: 10vw;
      }

      .vw40 {
        width: 40vw;
      }

      .vw42 {
        width: 42vw;
      }

      .vw45 {
        width: 45vw;
      }

      .vw50 {
        width: 50vw;
      }

      .vw53 {
        width: 53vw;
      }

      .vw55 {
        width: 55vw;
      }

      .vw80 {
        width: 80vw;
      }

      .cat {
        height: 36px;
        color: #02b6af;
        font-size: 17px;
        font-weight: 400;
      }

      .px14 {
        font-size: 14px;
      }

      .px15 {
        font-size: 15px;
      }

      .px16 {
        font-size: 16px;
      }

      .spacer {
        height:20vw;
      }


      /* スマホ用ナビ */

      nav {
        display: block;
        position: fixed;
        top: 0;
        left: -300px;
        bottom: 0;
        width: 300px;
        background: #ffffff;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        transition: all .5s;
        z-index: 10;
        opacity: 0;
      }

      .open nav {
        left: 0;
        opacity: 1;
      }

      nav .inner {
        padding: 25px;
      }

      nav .inner ul {
        list-style: none;
        margin: 0;
        padding: 0;
      }

      nav .inner ul li {
        position: relative;
        margin: 0;
        border-bottom: 1px solid #333;
      }

      nav .inner ul li a {
        display: block;
        color: #333;
        font-size: 14px;
        padding: 1em;
        text-decoration: none;
        transition-duration: 0.2s;
      }

      nav .inner ul li a:hover {
        background: #e4e4e4;
      }

      nav {
        left: -80vw;
        width: 80vw;
      }

      .toggle_btn {
        display: block;
        position: fixed;
        top: 6px;
        right: 30px;
        width: 30px;
        height: 30px;
        transition: all .5s;
        cursor: pointer;
        z-index: 10;
      }

      .toggle_btn span {
        display: block;
        position: absolute;
        left: 0;
        width: 30px;
        height: 2px;
        background-color: #333;
        border-radius: 4px;
        transition: all .5s;
      }

      .toggle_btn span:nth-child(1) {
        top: 4px;
      }

      .toggle_btn span:nth-child(2) {
        top: 14px;
      }

      .toggle_btn span:nth-child(3) {
        bottom: 4px;
      }

      .open .toggle_btn span {
        background-color: #fff;
      }

      .open .toggle_btn span:nth-child(1) {
        -webkit-transform: translateY(10px) rotate(-315deg);
        transform: translateY(10px) rotate(-315deg);
      }

      .open .toggle_btn span:nth-child(2) {
        opacity: 0;
      }

      .open .toggle_btn span:nth-child(3) {
        -webkit-transform: translateY(-10px) rotate(315deg);
        transform: translateY(-10px) rotate(315deg);
      }

      #mask {
        display: none;
        transition: all .5s;
      }

      .open #mask {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: #000;
        opacity: .8;
        z-index: 4;
        cursor: pointer;
      }

      #header {
        height: 22vw;
        text-align: center;
        margin-top: 25px;
      }

      #header_hr {
        display: none;
      }

      .fl2 {
        float: left;
        width: 30vw;
      }

      .fl3 {
        float: left;
        width: 60vw;
      }

      .tr {
        text-align: right;
      }

      #contents {
        border-top: solid 1px #02bfb8;
      }

      .px15_mobile {
        font-size: 15px;
      }

    }

    /************************** スマホ用終了 **********************/

    /*** 360px用 ***/

    @media screen and (width:360px) {

      .bartext {
        font-size: 19px;
      }

    }
