/*********************************
 Reset
 *********************************/
/*
 html5doctor.com Reset Stylesheet
 v1.6.1
 Last Updated: 2010-09-17
 Author: Richard Clark - http://richclarkdesign.com
 Twitter: @rich_clark
 */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  min-width: 300px;
  line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/*********************************
 common
 *********************************/
* {
  box-sizing: border-box; }
  *:before, *:after {
    box-sizing: border-box; }

html {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.3333vw; }
  @media screen and (min-width: 751px) {
    html {
      font-size: 10px; } }

body {
  line-height: 1.5;
  color: #3E3E3E;
  background-color: #ffffff; }

img {
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0;
  display: block;
  vertical-align: bottom; }

button, input[type="button"], input[type="submit"], input[type="reset"] {
  border: none;
  background: transparent;
  outline: none;
  -webkit-appearance: none; }

/*********************************
 header
 *********************************/
#header {
  max-width: 1000px;
  margin: 0 auto 3rem auto;
  background-color: #ffffff;
  display: flex;
  justify-content: space-between;
  box-shadow: 0 0.5rem 0.8rem rgba(0, 0, 0, 0.16); }
  #header h1 {
    width: 55.4666666667%; }
  #header .contact {
    width: 34.2666666667%;
    margin: 1.4rem 1.4rem 0 0; }

/*********************************
 footer
 *********************************/
#footer {
  max-width: 1000px;
  margin: 10rem auto 0 auto;
  padding-top: 2rem;
  text-align: center;
  border-top: solid 0.8rem #E73379; }
  #footer .link {
    margin: 1em 0;
    font-size: 1.6rem;
    text-align: center; }
    #footer .link a {
      color: #000000;
      display: inline-block; }
      #footer .link a + a {
        margin-left: 1em; }
  #footer .copyright {
    font-size: 1.4rem; }

/*********************************
 content
 *********************************/
#content {
  max-width: 1000px;
  margin: 0 auto;
  background-color: #FFF9E8; }
  #content .inner {
    width: 93%;
    margin-left: auto;
    margin-right: auto; }
    #content .inner .inner_in {
      width: 93%;
      margin-left: auto;
      margin-right: auto; }
  #content img {
    width: 100%; }
  #content .mv {
    background-color: #ffffff; }
  #content .order {
    padding: 5rem 0;
    background-image: url("../img/canpain_bg.png");
    -webkit-background-size: cover;
    background-size: cover; }
    #content .order p {
      margin-bottom: 1em;
      font-size: 3rem;
      letter-spacing: 0.1em;
      text-align: center; }
      #content .order p img {
        margin-bottom: 0.25em; }
  #content .whats {
    margin-bottom: 5rem;
    background-image: url("../img/what_ttl_bg.png");
    -webkit-background-size: contain;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center top; }
    #content .whats h2 {
      padding: 0.25em;
      font-size: 6rem;
      font-weight: 500;
      text-align: center;
      color: #ffffff; }
    #content .whats .box {
      padding: 3rem 2.5rem;
      background-color: #ffffff;
      border: solid 0.4rem #D54479;
      border-radius: 3rem; }
      #content .whats .box h3 {
        font-size: 4rem;
        font-weight: 500;
        text-align: center;
        color: #000000; }
        #content .whats .box h3 span {
          color: #D54479; }
        #content .whats .box h3 + img {
          margin: 4rem 0;
          box-shadow: 1.5rem 1.5rem 0 rgba(0, 0, 0, 0.07); }
      #content .whats .box p {
        font-size: 3.4rem; }
  #content .before_after {
    margin-bottom: 5rem; }
    #content .before_after h2 {
      margin-bottom: 5rem; }
    #content .before_after .before_after_text {
      margin-bottom: 1em;
      font-size: 3.6rem; }
    #content .before_after ul {
      margin: 0;
      padding: 0;
      list-style: none; }
      #content .before_after ul li {
        margin-bottom: 3rem;
        padding: 0; }
        #content .before_after ul li:last-child {
          margin-bottom: 0; }
        #content .before_after ul li p {
          font-size: 2.6rem; }
          #content .before_after ul li p img {
            margin-bottom: 0.5em; }
  #content .nayami ol {
    margin: 0;
    padding: 3rem 0 5rem 0;
    list-style: none;
    background-color: #949698; }
    #content .nayami ol li {
      margin-bottom: 3rem;
      padding: 0; }
      #content .nayami ol li:last-child {
        margin-bottom: 0; }
  #content .point {
    margin-bottom: 5rem; }
    #content .point h2 {
      margin-bottom: 5rem; }
    #content .point ol {
      margin: 0;
      padding: 0;
      list-style: none; }
      #content .point ol li {
        margin-bottom: 5rem;
        padding: 0; }
        #content .point ol li:last-child {
          margin-bottom: 0; }
        #content .point ol li img {
          box-shadow: 1.5rem 1.5rem 0 rgba(0, 0, 0, 0.07); }
        #content .point ol li h3 {
          margin: 0.75em 0;
          padding-bottom: 0.25em;
          font-size: 4rem;
          font-weight: 500;
          color: #000000;
          border-bottom: solid 0.2rem #D54479; }
        #content .point ol li p {
          font-size: 3.4rem; }
        #content .point ol li .annottion {
          margin-top: 1em;
          font-size: 3rem; }
  #content .voice {
    margin-bottom: 5rem; }
    #content .voice h2 {
      margin-bottom: 5rem; }
    #content .voice ul {
      list-style: none; }
      #content .voice ul li {
        margin-bottom: 5rem;
        background-color: #ffffff;
        border: solid 0.2rem #CCB384; }
        #content .voice ul li:last-child {
          margin-bottom: 0; }
        #content .voice ul li .text {
          padding: 3rem; }
          #content .voice ul li .text p {
            font-size: 3.4rem; }
            #content .voice ul li .text p.annotation {
              margin-top: 1em;
              font-size: 2.6rem; }
  #content .price {
    margin-bottom: 5rem; }
    #content .price h2 {
      margin-bottom: 5rem; }
    #content .price ul {
      list-style: none; }
      #content .price ul li {
        margin-bottom: 5rem; }
        #content .price ul li:last-child {
          margin-bottom: 0; }
  #content .flow {
    padding-bottom: 5rem;
    background-color: #ffffff; }
    #content .flow h2 {
      margin-bottom: 5rem; }
    #content .flow ol {
      margin-bottom: 0;
      padding: 0;
      list-style: none; }
      #content .flow ol li:after {
        width: 100%;
        height: 4.4666666667vw;
        margin: 5rem 0;
        content: '';
        background-image: url("../img/flow_bar.png");
        -webkit-background-size: cover;
        background-size: cover;
        background-position: center center;
        display: block; }
      #content .flow ol li:last-child:after {
        content: none; }
      #content .flow ol li h3 {
        font-size: 4.5rem;
        font-weight: 700;
        color: #000000; }
        #content .flow ol li h3 span {
          width: 11.7rem;
          margin-right: 1rem;
          display: inline-block;
          vertical-align: -0.25em; }
      #content .flow ol li p {
        font-size: 3.4rem; }
  #content .faq {
    margin-bottom: 5rem; }
    #content .faq h2 {
      margin-bottom: 5rem; }
    #content .faq ul {
      padding: 0;
      list-style: none; }
      #content .faq ul .accordion {
        margin-bottom: 5rem;
        background-color: #ffffff;
        border: solid 0.2rem #C8B48A; }
        #content .faq ul .accordion .faq_q {
          padding: 3rem 12.5rem 3rem 9rem;
          font-size: 4rem;
          font-weight: 500;
          color: #000000;
          position: relative; }
          #content .faq ul .accordion .faq_q:after {
            width: 3.1rem;
            height: 3.1rem;
            content: '';
            background-image: url("../img/icon_cross01.png");
            -webkit-background-size: cover;
            background-size: cover;
            position: absolute;
            top: 5rem;
            right: 3.5rem;
            transform: rotate(-405deg);
            transition: transform 0.3s; }
          #content .faq ul .accordion .faq_q span {
            width: 4.4rem;
            position: absolute;
            top: 3rem;
            left: 2.5rem; }
        #content .faq ul .accordion .faq_a {
          padding: 0 12.5rem 3rem 9rem;
          font-size: 3.4rem;
          display: none;
          position: relative; }
          #content .faq ul .accordion .faq_a span {
            width: 4.4rem;
            position: absolute;
            top: 0;
            left: 2.5rem; }
        #content .faq ul .accordion.open .faq_q:after {
          transform: none; }
  #content .shop_list {
    padding-bottom: 8rem; }
    #content .shop_list h2 {
      margin-bottom: 0.5em;
      padding: 0.15em 0;
      font-size: 6rem;
      font-weight: 700;
      text-align: center;
      color: #ffffff;
      background-color: #E73379; }
    #content .shop_list dl dt {
      margin-bottom: 0.5em;
      padding-bottom: 0.5em;
      font-size: 4rem;
      font-weight: 500;
      color: #000000;
      text-align: center;
      border-bottom: solid 0.3rem #E73379; }
    #content .shop_list dl dd + dt {
      margin-top: 0.5em; }
    #content .shop_list dl dd ul {
      margin: 0;
      padding: 0;
      list-style: none; }
      #content .shop_list dl dd ul:after {
        content: '';
        display: block;
        clear: both; }
      #content .shop_list dl dd ul li {
        width: 48%;
        margin: 0 4% 4% 0;
        padding: 0;
        float: left; }
        #content .shop_list dl dd ul li > a {
          width: 100%;
          padding: 0.5em;
          font-size: 3.6rem;
          font-weight: 500;
          text-decoration: none;
          text-align: center;
          color: #000000;
          display: block;
          background-color: #ffffff;
          border: solid 0.3rem #C8B48A;
          border-radius: 1rem; }
        #content .shop_list dl dd ul li > div {
          width: 208.5%;
          padding: 2.5rem;
          background-color: #ffffff;
          border: solid 0.3rem #C8B48A;
          display: none;
          position: absolute;
          top: calc(100% + 2.2rem);
          left: 0;
          z-index: 10; }
          #content .shop_list dl dd ul li > div:after {
            width: 0;
            height: 0;
            content: "";
            border: solid transparent;
            border-color: rgba(0, 0, 0, 0);
            border-bottom-color: #C8B48A;
            border-width: 2rem;
            pointer-events: none;
            position: absolute;
            bottom: 100%;
            left: 21%; }
          #content .shop_list dl dd ul li > div h3 {
            margin-bottom: 0.5em;
            font-size: 3.4rem;
            font-weight: 500;
            color: #C8B48A; }
          #content .shop_list dl dd ul li > div p {
            margin-bottom: 1em;
            font-size: 2.8rem; }
          #content .shop_list dl dd ul li > div .link a {
            font-size: 2.8rem;
            color: #E73379;
            text-decoration: none; }
          #content .shop_list dl dd ul li > div .close {
            width: 3.1rem;
            height: 3.1rem;
            background-image: url("../img/icon_cross01.png");
            -webkit-background-size: cover;
            background-size: cover;
            position: absolute;
            top: 5%;
            right: 5%; }
        #content .shop_list dl dd ul li.current {
          position: relative; }
          #content .shop_list dl dd ul li.current > a {
            color: #ffffff;
            background-color: #C8B48A; }
          #content .shop_list dl dd ul li.current > div {
            display: block; }
        #content .shop_list dl dd ul li:nth-child(2n) {
          margin-right: 0; }
          #content .shop_list dl dd ul li:nth-child(2n) > div {
            left: auto;
            right: 0; }
            #content .shop_list dl dd ul li:nth-child(2n) > div:after {
              left: auto;
              right: 21%; }
  #content .form {
    background-color: #ffffff; }
    #content .form h2 {
      margin-bottom: 0.5em;
      padding: 0.15em 0;
      font-size: 6rem;
      font-weight: 700;
      text-align: center;
      color: #ffffff;
      background-color: #E73379; }
    #content .form form > div {
      margin-bottom: 2rem; }
      #content .form form > div label {
        margin-bottom: 0.5em;
        font-size: 3.6rem;
        font-weight: 500;
        display: block; }
        #content .form form > div label span {
          margin-left: 1em;
          font-size: 2rem;
          color: #E73379;
          display: inline-block; }
      #content .form form > div input, #content .form form > div select, #content .form form > div textarea {
        width: 100% !important;
        margin-bottom: 2rem;
        padding: 0.25em;
        font-size: 3.6rem;
        font-weight: 500;
        display: block;
        background-color: #ffffff;
        border: solid 1px #DEDEDE;
        border-radius: 0.3rem; }
      #content .form form > div textarea {
        height: 12em !important; }
      #content .form form > div > div + div {
        margin-top: 2rem; }
      #content .form form > div > div.annotation {
        font-size: 2.6rem;
        color: #B4B4B4; }
      #content .form form > div > div label {
        font-size: 3rem;
        color: #000000; }
      #content .form form > div.attention {
        margin-bottom: 2em;
        font-size: 2.6rem; }
      #content .form form > div.privacy_check {
        margin-bottom: 2em;
        padding: 0.5em;
        font-size: 2.6rem;
        border: solid 1px #cccccc; }
        #content .form form > div.privacy_check input[type="checkbox"] {
          width: auto !important;
          margin: 0;
          padding: 0;
          display: inline-block;
          vertical-align: middle; }
        #content .form form > div.privacy_check label {
          width: auto;
          font-size: 2.6rem;
          display: inline-block; }
      #content .form form > div.submit input[type="reset"] {
        border: none; }
      #content .form form > div.submit .mfp_element_submit {
        width: 107%;
        margin: 0 -3.5% 4rem -3.5%;
        padding: 0;
        border: none;
        background: none;
        border-radius: 0;
        background: none;
        text-shadow: none;
        cursor: pointer;
        outline: none; }
        #content .form form > div.submit .mfp_element_submit:hover {
          background: none;
          box-shadow: none; }
      #content .form form > div.submit .mfp_element_reset {
        width: 73.538%;
        margin: 0 auto;
        padding: 1em;
        font-weight: 700;
        border: none;
        border-radius: 1.2rem;
        color: #3E3E3E;
        background: none;
        background-color: #E3E3E3;
        border-radius: 0;
        text-shadow: none;
        cursor: pointer;
        outline: none; }
        #content .form form > div.submit .mfp_element_reset:hover {
          background: none;
          background-color: #E3E3E3;
          box-shadow: none; }
    #content .form form .mfp_element_all {
      max-width: none; }
  #content .tokutei {
    margin-bottom: 5rem;
    padding-top: 5rem; }
    #content .tokutei h2 {
      margin-bottom: 1em;
      font-size: 3.6rem;
      text-align: center; }
    #content .tokutei table {
      width: 100%;
      font-size: 2.6rem; }
      #content .tokutei table th {
        padding: 0.5em 1em;
        vertical-align: top;
        background-color: #fafafa;
        border: solid 1px #cccccc; }
      #content .tokutei table td {
        padding: 0.5em 1em;
        vertical-align: top;
        background-color: #ffffff;
        border: solid 1px #cccccc; }
  #content .privacypolicy {
    padding-top: 5rem;
    background-color: #ffffff; }
    #content .privacypolicy h2 {
      margin-bottom: 1em;
      font-size: 3.6rem;
      text-align: center; }
    #content .privacypolicy .privacypolicy_text {
      padding-left: 1em;
      list-style: decimal outside; }
      #content .privacypolicy .privacypolicy_text > li {
        margin-bottom: 1em;
        font-size: 2.6rem; }
        #content .privacypolicy .privacypolicy_text > li:last-child {
          margin-bottom: 0; }
        #content .privacypolicy .privacypolicy_text > li ol {
          padding-left: 1em;
          list-style: lower-roman outside; }
  #content .fix_btn {
    width: 100%;
    position: fixed;
    bottom: 3%;
    left: 0;
    z-index: 99; }
    #content .fix_btn .inner {
      max-width: 1000px; }
  #content .thanks_message {
    padding-top: 5rem;
    background-color: #ffffff; }
    #content .thanks_message p {
      margin-bottom: 5rem;
      font-size: 3.4rem; }
    #content .thanks_message .back {
      font-size: 3.4rem;
      text-align: right; }
      #content .thanks_message .back a {
        color: #3E3E3E; }
