@charset "UTF-8";
.anc {
  display: block;
  padding-top: 90px;
  margin-top: -90px; }

#pageHead {
  padding: 130px 0;
  text-align: center;
  font-family: "Noto Sans JP",sans-serif;
  font-size: 50px;
  font-weight: 100;
  letter-spacing: 10px;
  text-shadow: #000 0 0 5px;
  color: #fff;
  box-shadow: inset 0px -5px 10px rgba(0, 0, 0, 0.3); }

#breadcrumbs {
  background: rgba(205, 230, 255, 0.5); }
  #breadcrumbs ol {
    padding: 5px 20px;
    font-size: 0; }
    #breadcrumbs ol li {
      display: inline-block;
      font-size: 14px; }
      #breadcrumbs ol li:not(:last-of-type) {
        position: relative;
        margin: 0 25px 0 0; }
        #breadcrumbs ol li:not(:last-of-type)::after {
          content: '>';
          position: absolute;
          top: 0;
          left: calc(100% + 10px); }
      #breadcrumbs ol li a {
        text-decoration: underline; }
        #breadcrumbs ol li a:visited, #breadcrumbs ol li a:link {
          color: saddlebrown; }
        #breadcrumbs ol li a:hover {
          color: #8fadf4; }

#flow #flowHead {
  padding: 15px;
  margin: 0 0 60px;
  background: #b4c8fa; }
  #flow #flowHead h2 {
    padding: 10px 15px;
    border: dashed 2px #fff;
    text-align: center;
    font-size: 40px;
    color: #fff; }
#flow ul {
  display: flex; }
  #flow ul li {
    width: calc((100% - 40px) / 3);
    text-align: center; }
    #flow ul li:nth-child(2) {
      margin: 0 10px; }
    #flow ul li h3 {
      position: relative;
      width: fit-content;
      margin: 0 auto 32px;
      font-size: 28px;
      color: #ffa0b4; }
      #flow ul li h3::before {
        content: '';
        position: absolute;
        bottom: -10px;
        left: 0;
        width: 100%;
        height: 2px;
        border-radius: 20px;
        background: #8fadf4; }
    #flow ul li img {
      max-width: 100%; }
#flow #attention {
  padding: 20px;
  border: 1px solid #ffa0b4;
  margin: 60px 0 0;
  font-size: 17px;
  font-family: "Noto Sans JP",sans-serif; }
  #flow #attention p {
    position: relative;
    padding-left: 13px;
    line-height: 38px;
    color: #ffa0b4; }
    #flow #attention p::before {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      margin: auto 0;
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: #ffa0b4; }
  #flow #attention a {
    display: block;
    width: fit-content;
    padding: 10px 20px;
    margin: 10px 0;
    color: #fff;
    background: #ffa0b4;
    transition: 0.3s; }
    #flow #attention a:visited, #flow #attention a:link {
      color: #fff; }
    #flow #attention a:hover {
      background: #b4c8fa; }

#concept #pageHead {
  background: url(img/concept/head.png);
  background-position: center;
  background-attachment: fixed; }
#concept #greeting {
  overflow: hidden; }
  #concept #greeting h1 {
    float: left;
    width: 120px;
    font-size: 40px;
    line-height: 42px;
    color: #ffa0b4; }
    #concept #greeting h1 span {
      display: block;
      float: left;
      width: 50%; }
      #concept #greeting h1 span:last-of-type {
        margin: 10px 0 0; }
  #concept #greeting div {
    float: right;
    width: calc(100% - 140px); }
    #concept #greeting div p {
      line-height: 40px; }
      #concept #greeting div p.chapter {
        padding: 40px 0 0; }
      #concept #greeting div p span {
        color: #ffa0b4; }
        #concept #greeting div p span.blue {
          color: #8fadf4; }
#concept #about h2 {
  width: fit-content;
  font-size: 50px; }
  #concept #about h2 span {
    display: block;
    float: left;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    margin: 0 0 0 10px;
    text-align: center;
    color: #fff;
    background: #b4c8fa;
    box-shadow: 10px 10px 0 rgba(143, 173, 244, 0.2); }
    #concept #about h2 span:first-of-type {
      margin: 0;
      color: #fff;
      background: #ffa0b4; }
#concept #about h3 {
  clear: both;
  position: relative;
  padding: 0 0 15px;
  margin: 120px 0 30px;
  font-size: 40px; }
  #concept #about h3::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px;
    border-radius: 5px;
    background: #ffa0b4; }
  #concept #about h3::after {
    content: '';
    position: absolute;
    bottom: 15px;
    right: 0;
    width: 40px;
    height: 6px;
    border-radius: 10px;
    background: #cde6ff; }
#concept #about p {
  line-height: 44px; }
  #concept #about p span {
    color: #ffa0b4; }
#concept #service .title {
  padding: 15px;
  margin: 0 0 40px;
  background: #ffa0b4; }
  #concept #service .title h2 {
    padding: 15px;
    border: dashed 2px #fff;
    text-align: center;
    font-size: 40px;
    color: #fff; }
#concept #service ul {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 13px; }
  #concept #service ul li {
    position: relative;
    flex: 0 0 calc(100% / 4 - 10px);
    display: flex;
    flex-direction: column;
    padding: 10px 10px 70px;
    border: 1px solid #ffa0b4; }
    #concept #service ul li h3 {
      padding: 0 0 5px;
      border-bottom: 1px solid #ffa0b4;
      margin: 0 0 10px;
      text-align: center; }
    #concept #service ul li p {
      position: relative;
      text-align: center;
      font-size: 18px;
      transition: 0.5s; }
      #concept #service ul li p:last-of-type {
        position: absolute;
        bottom: 10px;
        left: 50%;
        transform: translateX(-50%);
        width: fit-content;
        padding: 5px 10px 8px;
        border: 1px solid #b4c8fa;
        border-radius: 20px;
        text-align: center;
        font-size: 18px;
        color: #fff;
        background: #b4c8fa; }
    #concept #service ul li .spacer {
      flex-grow: 1; }
    #concept #service ul li:hover p:last-of-type {
      border: 1px solid #ffa0b4;
      background: #ffa0b4; }

#service #pageHead {
  background: url(img/concept/head.png);
  background-position: center;
  background-attachment: fixed; }
#service h1 {
  position: relative;
  width: fit-conten;
  padding: 0 0 20px;
  margin: 60px auto 40px;
  font-size: 40px; }
  #service h1::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: calc((100% - 60px) / 2);
    width: 60px;
    height: 4px;
    border-radius: 10px;
    background: #ffa0b4; }
#service #desc {
  position: relative;
  padding: 10px 300px 10px 0; }
  #service #desc::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: url(img/service/service.png);
    background-position: center right;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: -1; }
  #service #desc p {
    position: relative;
    line-height: 40px;
    text-shadow: 0 0 5px #fff; }
#service ul {
  margin: 80px 0 0; }
  #service ul li {
    display: flex;
    margin: 40px 0 0; }
    #service ul li figure {
      width: 259px; }
    #service ul li .desc {
      flex: 1;
      padding: 15px 0 15px 30px; }
      #service ul li .desc h2 {
        position: relative;
        width: fit-content;
        padding: 0 0 10px;
        margin: 0 0 20px;
        font-size: 28px;
        color: #ffa0b4; }
        #service ul li .desc h2::after {
          content: '';
          position: absolute;
          bottom: 0;
          left: 0;
          width: 100%;
          height: 3px;
          border-radius: 20px;
          background: #ffa0b4; }
      #service ul li .desc p {
        line-height: 40px; }
      #service ul li .desc .more {
        position: relative;
        overflow: hidden;
        width: fit-content;
        border-radius: 40px;
        margin: 20px 0 0;
        background: #ffa0b4; }
        #service ul li .desc .more .slideHover {
          background: #b4c8fa; }
        #service ul li .desc .more a {
          position: relative;
          display: block;
          padding: 10px 35px 15px;
          color: #fff; }
          #service ul li .desc .more a:visited, #service ul li .desc .more a:link {
            color: #fff; }
        #service ul li .desc .more:hover .slideHover {
          left: 0; }
        #service ul li .desc .more:hover a {
          color: #fff; }
    #service ul li:nth-of-type(even) {
      flex-direction: row-reverse; }
      #service ul li:nth-of-type(even) .desc {
        text-align: right;
        align-items: flex-end;
        padding: 15px 30px 15px 0; }
        #service ul li:nth-of-type(even) .desc h2, #service ul li:nth-of-type(even) .desc p, #service ul li:nth-of-type(even) .desc .more {
          margin-left: auto; }

#contents h1 {
  position: relative;
  width: fit-content;
  margin: 40px auto 150px;
  font-size: 28px; }
  #contents h1::before, #contents h1::after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 50px;
    height: 2px;
    border-radius: 20px;
    background: saddlebrown; }
  #contents h1::before {
    left: -70px; }
  #contents h1::after {
    right: -70px; }
  #contents h1 .big, #contents h1 .big2 {
    font-size: 46px;
    color: #ffa0b4; }
  #contents h1 .big2 {
    color: #b4c8fa; }
#contents ul li {
  position: relative;
  margin: 80px 0 0; }
  #contents ul li figure {
    position: absolute;
    top: -50px;
    z-index: 1; }
    #contents ul li figure img {
      width: 100%; }
  #contents ul li div {
    padding: 30px 30px 30px 440px;
    border-radius: 0 0 30px 0;
    background: #cde6ff;
    background: linear-gradient(90deg, rgba(205, 230, 255, 0) 5%, #cde6ff 70%); }
    #contents ul li div h2 {
      margin: 0 0 20px;
      color: #ffa0b4;
      font-family: "Noto Sans JP",sans-serif; }
    #contents ul li div p {
      line-height: 36px; }
      #contents ul li div p a {
        text-decoration: underline;
        color: saddlebrown; }
        #contents ul li div p a:visited, #contents ul li div p a:link {
          color: saddlebrown; }
        #contents ul li div p a:hover {
          color: #8fadf4; }
  #contents ul li:nth-of-type(odd) figure {
    left: 0; }
  #contents ul li:nth-of-type(even) figure {
    right: 0; }
  #contents ul li:nth-of-type(even) div {
    padding: 30px 440px 30px 30px;
    border-radius: 0 0 0 30px;
    background: #FFA0B4;
    background: linear-gradient(270deg, rgba(255, 160, 180, 0) 5%, rgba(255, 160, 180, 0.5) 70%); }
    #contents ul li:nth-of-type(even) div h2 {
      color: #fff; }
#contents #toMenu {
  position: relative;
  width: fit-content;
  border-radius: 10px;
  margin: 50px auto 0; }
  #contents #toMenu p {
    padding: 10px 10px 15px 60px;
    border-radius: 10px;
    color: #fff;
    font-size: 24px;
    background: #ffa0b4;
    transition: 0.3s; }
  #contents #toMenu div {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 35px;
    height: 3px;
    margin: auto 0; }
    #contents #toMenu div span:first-of-type, #contents #toMenu div span:nth-of-type(2), #contents #toMenu div span:last-of-type {
      content: '';
      position: absolute;
      top: -10px;
      left: 10px;
      width: 35px;
      height: 3px;
      border-radius: 5px;
      margin: auto 0;
      background: #fff;
      transition: 0.3s; }
    #contents #toMenu div span:nth-of-type(2) {
      top: 0; }
    #contents #toMenu div span:last-of-type {
      top: 10px; }
  #contents #toMenu:hover p {
    background: #b4c8fa; }
  #contents #toMenu:hover div span:first-of-type {
    top: -13px; }
  #contents #toMenu:hover div span:last-of-type {
    top: 13px; }

#menuWrapper #pageHead {
  background: url(img/concept/head.png);
  background-position: center;
  background-attachment: fixed; }
#menuWrapper #menu #head {
  display: flex; }
  #menuWrapper #menu #head h1 {
    text-align: right;
    font-size: 42px;
    font-weight: 400;
    line-height: 80px;
    color: #ffa0b4; }
  #menuWrapper #menu #head div {
    flex: 1;
    padding: 2px 0 0 40px; }
    #menuWrapper #menu #head div p {
      padding: 15px 0 0;
      line-height: 32px; }
#menuWrapper #menu #price h2 {
  position: relative;
  width: fit-content;
  margin: 70px auto 50px;
  text-align: center;
  font-size: 24px;
  color: #ffa0b4; }
  #menuWrapper #menu #price h2 span {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    margin: auto 0;
    background: #cde6ff; }
    #menuWrapper #menu #price h2 span:first-of-type {
      left: -30px; }
    #menuWrapper #menu #price h2 span:nth-of-type(2) {
      left: -50px; }
    #menuWrapper #menu #price h2 span:nth-of-type(3) {
      left: -70px; }
    #menuWrapper #menu #price h2 span:nth-of-type(4) {
      right: -30px; }
    #menuWrapper #menu #price h2 span:nth-of-type(5) {
      right: -50px; }
    #menuWrapper #menu #price h2 span:last-of-type {
      right: -70px; }
#menuWrapper #menu #price table {
  width: 100%; }
  #menuWrapper #menu #price table tr th, #menuWrapper #menu #price table tr td {
    width: 60%;
    padding: 10px 0;
    text-align: right;
    font-size: 40px;
    font-weight: 500; }
    #menuWrapper #menu #price table tr th p:nth-of-type(2), #menuWrapper #menu #price table tr td p:nth-of-type(2) {
      font-size: 18px; }
    #menuWrapper #menu #price table tr th p a, #menuWrapper #menu #price table tr td p a {
      text-decoration: underline;
      color: #8fadf4; }
      #menuWrapper #menu #price table tr th p a:visited, #menuWrapper #menu #price table tr th p a:link, #menuWrapper #menu #price table tr td p a:visited, #menuWrapper #menu #price table tr td p a:link {
        color: #8fadf4; }
      #menuWrapper #menu #price table tr th p a:hover, #menuWrapper #menu #price table tr td p a:hover {
        color: #ffa0b4; }
  #menuWrapper #menu #price table tr th:first-of-type {
    vertical-align: top; }
  #menuWrapper #menu #price table tr td {
    width: 40%; }
    #menuWrapper #menu #price table tr td span {
      padding: 0 5px 0 0;
      color: #ffa0b4; }
    #menuWrapper #menu #price table tr td:last-of-type {
      width: 50px;
      padding: 6px 0 0;
      text-align: left;
      font-size: 28px; }
    #menuWrapper #menu #price table tr td.reco {
      position: relative; }
      #menuWrapper #menu #price table tr td.reco::before {
        content: 'おすすめ';
        position: absolute;
        top: 24px;
        right: 200px;
        height: 32px;
        padding: 5px 20px 0;
        border: 1px solid #ffa0b4;
        border-radius: 20px;
        font-size: 16px;
        color: #ffa0b4; }
#menuWrapper #menu #price #tax {
  margin: 10px 0 0;
  text-align: right;
  font-size: 16px; }

#blogHead #pageHead {
  background: url(img/blog/head.png);
  background-position: center;
  background-attachment: fixed; }

#blogWrapper {
  display: flex; }
  #blogWrapper #blogMain {
    flex: 1; }
    #blogWrapper #blogMain h1 {
      padding: 0 0 10px;
      border-bottom: 1px solid saddlebrown;
      font-size: 38px;
      color: #ffa0b4; }
    #blogWrapper #blogMain #info {
      display: flex;
      padding: 10px 0;
      margin: 0 0 15px; }
      #blogWrapper #blogMain #info #date {
        padding: 5px 0 0;
        font-family: "Noto Sans JP",sans-serif; }
      #blogWrapper #blogMain #info ul {
        display: flex;
        flex-wrap: wrap; }
        #blogWrapper #blogMain #info ul li {
          position: relative;
          padding: 5px 15px 7px;
          border-radius: 20px;
          margin: 0 0 10px 10px;
          font-size: 17px;
          color: #fff;
          background: #b4c8fa;
          transition: 0.3s; }
          #blogWrapper #blogMain #info ul li:hover {
            background: #ffa0b4; }
      #blogWrapper #blogMain #info div {
        position: relative;
        width: 40px;
        height: 40px;
        padding: 3px;
        border-radius: 50%;
        margin: 0 0 0 10px;
        background: saddlebrown; }
        #blogWrapper #blogMain #info div:hover {
          background: #3c281e; }
    #blogWrapper #blogMain figure {
      width: 100%; }
      #blogWrapper #blogMain figure img {
        width: 100%; }
    #blogWrapper #blogMain #content .text p {
      line-height: 34px; }
      #blogWrapper #blogMain #content .text p.margin {
        margin-top: 20px; }
      #blogWrapper #blogMain #content .text p span.underLine, #blogWrapper #blogMain #content .text p span.underLine2 {
        text-decoration: underline;
        text-decoration-color: #ffa0b4;
        text-decoration-thickness: 5px;
        text-underline-offset: 0; }
      #blogWrapper #blogMain #content .text p span.underLine2 {
        text-decoration-color: #b4c8fa; }
      #blogWrapper #blogMain #content .text p a {
        text-decoration: underline;
        color: saddlebrown; }
        #blogWrapper #blogMain #content .text p a:visited, #blogWrapper #blogMain #content .text p a:link {
          color: saddlebrown; }
        #blogWrapper #blogMain #content .text p a:hover {
          color: #ffa0b4; }
    #blogWrapper #blogMain #content #learnHead {
      padding: 5px 10px 8px;
      margin: 30px 0 0;
      font-size: 22px;
      color: #fff;
      background: #b4c8fa; }
      #blogWrapper #blogMain #content #learnHead p {
        position: relative;
        width: fit-content;
        padding: 0 0 0 70px; }
        #blogWrapper #blogMain #content #learnHead p::after {
          content: url(img/blog/hat.png);
          position: absolute;
          top: -6px;
          left: 0; }
    #blogWrapper #blogMain #content #learn {
      padding: 0 10px 10px;
      border: 1px solid #b4c8fa; }
      #blogWrapper #blogMain #content #learn li {
        padding: 10px 0 0; }
    #blogWrapper #blogMain #content #tableOFcontents, #blogWrapper #blogMain #content #summary {
      display: flex;
      flex-wrap: wrap;
      margin: 40px 0; }
      #blogWrapper #blogMain #content #tableOFcontents span, #blogWrapper #blogMain #content #summary span {
        display: block;
        width: 60px;
        height: 60px;
        padding: 7px 0 0;
        border-radius: 50%;
        margin: 0 0 0 10px;
        text-align: center;
        font-size: 28px;
        color: #fff;
        background: #b4c8fa; }
        #blogWrapper #blogMain #content #tableOFcontents span:first-of-type, #blogWrapper #blogMain #content #summary span:first-of-type {
          margin: 0;
          background: #ffa0b4; }
      #blogWrapper #blogMain #content #tableOFcontents div, #blogWrapper #blogMain #content #summary div {
        flex: 1;
        border-top: 10px dotted #b4c8fa;
        margin: 25px 0 0 20px; }
    #blogWrapper #blogMain #content #list {
      flex-basis: 100%; }
      #blogWrapper #blogMain #content #list li a {
        color: saddlebrown; }
        #blogWrapper #blogMain #content #list li a:visited, #blogWrapper #blogMain #content #list li a:link {
          color: saddlebrown; }
        #blogWrapper #blogMain #content #list li a:hover {
          text-decoration: underline;
          color: #ffa0b4; }
      #blogWrapper #blogMain #content #list li.head {
        position: relative;
        padding: 0 0 0 40px;
        margin: 20px 0; }
        #blogWrapper #blogMain #content #list li.head span {
          position: absolute;
          top: 0;
          left: 0;
          padding: 0 10px 4px;
          color: #fff;
          background: #ffa0b4; }
      #blogWrapper #blogMain #content #list li.child {
        position: relative;
        padding: 0 0 0 65px;
        margin: 0 0 10px; }
        #blogWrapper #blogMain #content #list li.child::before {
          content: '';
          position: absolute;
          top: 7px;
          left: 44px;
          width: 10px;
          height: 10px;
          border-left: 2px solid saddlebrown;
          border-bottom: 2px solid saddlebrown; }
      #blogWrapper #blogMain #content #list li.arrow div {
        position: relative;
        width: fit-content; }
        #blogWrapper #blogMain #content #list li.arrow div::after {
          content: '▶';
          position: absolute;
          top: 7px;
          right: -12px;
          font-size: 10px;
          transition: 0.5s; }
        #blogWrapper #blogMain #content #list li.arrow div:hover::after {
          right: -18px;
          color: #ffa0b4; }
    #blogWrapper #blogMain #content .secter h2 {
      position: relative;
      padding: 10px 10px 10px 74px;
      margin: 50px 0 25px;
      font-size: 32ppx;
      color: #fff;
      background: #b4c8fa; }
      #blogWrapper #blogMain #content .secter h2 div {
        padding: 3px 15px;
        border: 2px dashed #fff; }
      #blogWrapper #blogMain #content .secter h2 span {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        padding: 14px 15px 0;
        font-family: "Noto Sans JP",sans-serif;
        background: #ffa0b4; }
    #blogWrapper #blogMain #content #conclusion h2 {
      padding: 10px 0;
      border-top: 2px dashed #ffa0b4;
      border-bottom: 2px dashed #b4c8fa;
      margin: 60px 0 30px;
      font-size: 27px; }
    #blogWrapper #blogMain #content #toContact a {
      display: block;
      width: fit-content;
      padding: 10px 20px;
      margin: 20px 0 0;
      color: #fff;
      background: #ffa0b4;
      transition: 0.5s; }
      #blogWrapper #blogMain #content #toContact a:visited, #blogWrapper #blogMain #content #toContact a:link {
        color: #fff; }
      #blogWrapper #blogMain #content #toContact a:hover {
        background: #b4c8fa; }
    #blogWrapper #blogMain #blogNav {
      display: flex;
      margin: 40px 0 0; }
      #blogWrapper #blogMain #blogNav #prev, #blogWrapper #blogMain #blogNav #next, #blogWrapper #blogMain #blogNav .toList {
        position: relative;
        width: 50%;
        padding: 20px 20px 50px;
        color: #fff;
        background: #b4c8fa; }
        #blogWrapper #blogMain #blogNav #prev p, #blogWrapper #blogMain #blogNav #next p, #blogWrapper #blogMain #blogNav .toList p {
          position: relative; }
        #blogWrapper #blogMain #blogNav #prev span, #blogWrapper #blogMain #blogNav #next span, #blogWrapper #blogMain #blogNav .toList span {
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          width: 0;
          height: 0;
          margin: auto;
          background: #ffa0b4;
          transition: 0.6s; }
        #blogWrapper #blogMain #blogNav #prev::after, #blogWrapper #blogMain #blogNav #next::after, #blogWrapper #blogMain #blogNav .toList::after {
          content: 'PREV BLOG';
          position: absolute;
          width: fit-content;
          left: 0;
          right: 0;
          bottom: 10px;
          margin: 0 auto;
          font-size: 16px;
          color: #fff; }
      #blogWrapper #blogMain #blogNav #prev {
        background: #ffa0b4; }
        #blogWrapper #blogMain #blogNav #prev span {
          background: #b4c8fa; }
        #blogWrapper #blogMain #blogNav #prev:hover span {
          width: 100%;
          height: 100%; }
      #blogWrapper #blogMain #blogNav #next:hover span {
        width: 100%;
        height: 100%; }
      #blogWrapper #blogMain #blogNav #next::after {
        content: 'NEXT BLOG'; }
      #blogWrapper #blogMain #blogNav .toList {
        text-align: center;
        border: 1px solid saddlebrown;
        color: saddlebrown;
        background: #fff; }
        #blogWrapper #blogMain #blogNav .toList span {
          background: #fff; }
        #blogWrapper #blogMain #blogNav .toList::after {
          content: 'TO LIST';
          color: saddlebrown; }
        #blogWrapper #blogMain #blogNav .toList:hover span {
          width: 100%;
          height: 100%;
          background: #eee; }
  #blogWrapper #sideBer {
    width: 300px;
    padding: 0 0 0 50px; }
    #blogWrapper #sideBer #rankingHead, #blogWrapper #sideBer #newHead, #blogWrapper #sideBer #cateHead {
      position: relative;
      width: fit-content;
      padding: 5px 0 0;
      margin: 0 auto;
      text-align: center;
      font-size: 24px; }
      #blogWrapper #sideBer #rankingHead::before, #blogWrapper #sideBer #newHead::before, #blogWrapper #sideBer #cateHead::before {
        content: url(img/blog/tiara.png);
        position: absolute;
        top: 5px;
        left: -40px; }
    #blogWrapper #sideBer #newHead {
      margin: 40px auto 0; }
      #blogWrapper #sideBer #newHead::before {
        content: url(img/blog/new.png); }
    #blogWrapper #sideBer #cateHead {
      margin: 40px auto 0; }
      #blogWrapper #sideBer #cateHead::before {
        content: url(img/blog/tag.png);
        top: 9px; }
    #blogWrapper #sideBer #ranking, #blogWrapper #sideBer #new {
      padding: 20px 10px;
      border: 1px solid saddlebrown;
      border-radius: 20px;
      margin: 10px 0 0; }
      #blogWrapper #sideBer #ranking li, #blogWrapper #sideBer #new li {
        position: relative;
        margin: 0 0 20px; }
        #blogWrapper #sideBer #ranking li:last-of-type, #blogWrapper #sideBer #new li:last-of-type {
          margin: 0; }
        #blogWrapper #sideBer #ranking li span, #blogWrapper #sideBer #new li span {
          position: absolute;
          top: -8px;
          left: -8px;
          width: 40px;
          height: 40px;
          border: 1px solid #ffa0b4;
          border-radius: 50%;
          background: #fff;
          z-index: 1; }
          #blogWrapper #sideBer #ranking li span::after, #blogWrapper #sideBer #new li span::after {
            content: '1';
            position: absolute;
            top: 3px;
            right: 0;
            left: 0;
            width: fit-content;
            margin: auto;
            font-family: -apple-system, blinkMacSystemFont, "Helvetica Neue", "Segoe UI", YuGothicM, YuGothic;
            font-size: 22px;
            color: #ffa0b4; }
          #blogWrapper #sideBer #ranking li span#number1, #blogWrapper #sideBer #new li span#number1 {
            border: none;
            background: linear-gradient(-45deg, #B67B03 0%, #DAAF08 45%, #FEE9A0 70%, #DAAF08 85%, #B67B03 90% 100%); }
            #blogWrapper #sideBer #ranking li span#number1::after, #blogWrapper #sideBer #new li span#number1::after {
              color: #fff; }
          #blogWrapper #sideBer #ranking li span#number2, #blogWrapper #sideBer #new li span#number2 {
            border: none;
            background: linear-gradient(-45deg, #757575 0%, #9E9E9E 45%, #E8E8E8 70%, #9E9E9E 85%, #757575 90% 100%); }
            #blogWrapper #sideBer #ranking li span#number2::after, #blogWrapper #sideBer #new li span#number2::after {
              content: "2";
              color: #fff; }
          #blogWrapper #sideBer #ranking li span#number3, #blogWrapper #sideBer #new li span#number3 {
            border: none;
            background: linear-gradient(-45deg, #7C3F1D 0%, #B87333 30%, #D99058 50%, #B87333 70%, #7C3F1D 100%); }
            #blogWrapper #sideBer #ranking li span#number3::after, #blogWrapper #sideBer #new li span#number3::after {
              content: "3";
              color: #fff; }
          #blogWrapper #sideBer #ranking li span#number4::after, #blogWrapper #sideBer #new li span#number4::after {
            content: "4"; }
          #blogWrapper #sideBer #ranking li span#number5::after, #blogWrapper #sideBer #new li span#number5::after {
            content: "5"; }
          #blogWrapper #sideBer #ranking li span#number6::after, #blogWrapper #sideBer #new li span#number6::after {
            content: "6"; }
          #blogWrapper #sideBer #ranking li span#number7::after, #blogWrapper #sideBer #new li span#number7::after {
            content: "7"; }
          #blogWrapper #sideBer #ranking li span#number8::after, #blogWrapper #sideBer #new li span#number8::after {
            content: "8"; }
          #blogWrapper #sideBer #ranking li span#number9::after, #blogWrapper #sideBer #new li span#number9::after {
            content: "9"; }
          #blogWrapper #sideBer #ranking li span#number10::after, #blogWrapper #sideBer #new li span#number10::after {
            content: "10"; }
        #blogWrapper #sideBer #ranking li figure, #blogWrapper #sideBer #new li figure {
          width: 100%; }
          #blogWrapper #sideBer #ranking li figure img, #blogWrapper #sideBer #new li figure img {
            width: 100%;
            height: auto;
            transition: 0.3s; }
        #blogWrapper #sideBer #ranking li p, #blogWrapper #sideBer #new li p {
          font-size: 18px;
          line-height: 24px;
          transition: 0.3s;
          margin: -20px 0 30px; }
        #blogWrapper #sideBer #ranking li:hover img, #blogWrapper #sideBer #new li:hover img {
          opacity: 0.8; }
        #blogWrapper #sideBer #ranking li:hover p, #blogWrapper #sideBer #new li:hover p {
          color: #ffa0b4; }
    #blogWrapper #sideBer #cate {
      padding: 20px 5px;
      border: 1px solid saddlebrown;
      border-radius: 20px;
      margin: 10px 0 0;
      font-size: 0; }
      #blogWrapper #sideBer #cate li {
        display: inline-block;
        font-size: 18px; }
        #blogWrapper #sideBer #cate li a {
          display: block;
          padding: 1px 10px 5px;
          border-left: 5px solid #8fadf4;
          border-radius: 0 5px 5px 0;
          margin: 5px;
          color: #fff;
          background: #b4c8fa; }
          #blogWrapper #sideBer #cate li a:visited, #blogWrapper #sideBer #cate li a:link {
            color: #fff; }
          #blogWrapper #sideBer #cate li a:hover {
            background: #ffa0b4; }

#pageNav {
  margin: 80px auto 0;
  text-align: center; }
  #pageNav .current, #pageNav .page, #pageNav .larger, #pageNav .nextpostslink, #pageNav .previouspostslink {
    color: #fff;
    background: #ffa0b4; }
  #pageNav .page, #pageNav .larger, #pageNav .nextpostslink, #pageNav .previouspostslink {
    border: 1px solid #ffa0b4; }
    #pageNav .page:hover, #pageNav .larger:hover, #pageNav .nextpostslink:hover, #pageNav .previouspostslink:hover {
      border: 1px solid #b4c8fa;
      background: #b4c8fa; }
  #pageNav .current {
    border: 1px solid #8fadf4;
    background: #8fadf4; }

#rivacy #pageHead {
  background: url(img/privacy/head.png);
  background-position: center;
  background-attachment: fixed; }
#rivacy #rivacyCon {
  margin: 20px auto 0; }
  #rivacy #rivacyCon p {
    line-height: 38px; }
  #rivacy #rivacyCon h1 {
    position: relative;
    width: fit-content;
    padding: 0 0 80px;
    margin: 0 auto;
    font-size: 42px; }
    #rivacy #rivacyCon h1::before {
      content: url(img/privacy/key.png);
      position: absolute;
      bottom: 0;
      left: calc((100% - 50px) / 2); }
  #rivacy #rivacyCon #headText {
    margin: 20px 0 60px; }
  #rivacy #rivacyCon ul li {
    margin: 0 0 40px; }
    #rivacy #rivacyCon ul li h2 {
      width: fit-content;
      padding: 0 0 5px;
      border-bottom: 2px solid #ffa0b4;
      margin: 0 0 10px; }
    #rivacy #rivacyCon ul li p.point {
      position: relative;
      padding-left: 10px; }
      #rivacy #rivacyCon ul li p.point::before {
        content: '';
        position: absolute;
        top: 19px;
        left: 0;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        background: saddlebrown; }
    #rivacy #rivacyCon ul li p a {
      text-decoration: underline; }
      #rivacy #rivacyCon ul li p a:visited, #rivacy #rivacyCon ul li p a:link {
        color: saddlebrown; }
      #rivacy #rivacyCon ul li p a:hover {
        color: #ffa0b4; }

#form {
  margin: 0 auto; }
  #form h1 {
    position: relative;
    padding: 0 0 30px;
    text-align: center;
    font-size: 36px;
    color: #ffa0b4; }
    #form h1::after {
      content: '';
      bottom: 10px;
      left: calc((100% - 50px) / 2);
      position: absolute;
      width: 50px;
      height: 2px;
      font-weight: 400;
      border-radius: 3px;
      background: #ffa0b4; }
  #form #please {
    margin: 10px 0 60px;
    font-size: 20px;
    text-align: center; }
    #form #please p {
      line-height: 36px; }
      #form #please p a {
        font-size: 32px;
        text-decoration: underline;
        color: #b4c8fa; }
        #form #please p a:visited, #form #please p a:link {
          color: #b4c8fa; }
        #form #please p a:hover {
          color: #ffa0b4; }
  #form table {
    width: 100%;
    font-size: 18px;
    font-weight: 400; }
    #form table tr th {
      width: 25%;
      padding: 20px 10px;
      text-align: left;
      color: #ffa0b4;
      background: rgba(255, 160, 180, 0.2); }
      #form table tr th.req {
        position: relative; }
        #form table tr th.req::after {
          content: '必須';
          position: absolute;
          top: 0;
          bottom: 0;
          right: 10px;
          height: fit-content;
          margin: auto;
          padding: 2px 3px 4px;
          font-size: 14px;
          color: #fff;
          background: #8fadf4; }
    #form table tr td {
      width: 75%;
      padding: 20px 10px;
      border-bottom: 1px solid #ffa0b4; }
  #form .wpcf7-response-output {
    margin: 0 0 40px;
    text-align: center;
    color: #ffa0b4; }
  #form .wpcf7 input[type="text"],
  #form .wpcf7 input[type="email"],
  #form .wpcf7 input[type="number"],
  #form .wpcf7 input[type="url"],
  #form .wpcf7 select,
  #form .wpcf7 textarea {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    border: 1px solid #ffa0b4; }
  #form .wpcf7 textarea {
    line-height: 32px; }
  #form .wpcf7 input[type="checkbox"] {
    margin: 0 3px 0 10px; }
  #form .wpcf7 input[type="submit"] {
    width: 500px;
    font-size: 22px;
    font-weight: 700;
    border: none !important;
    display: block;
    cursor: pointer;
    margin: 30px auto 10px;
    padding: 15px 30px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    background: #ffa0b4;
    border-radius: 5px;
    box-shadow: 0 6px 0 #b4c8fa, 0 12px 0 rgba(0, 0, 0, 0.2);
    -graphickit-transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, -graphickit-transform 0.3s;
    transition: color 0.3s, background-color 0.3s, box-shadow 0.3s, transform 0.3s; }
  #form .wpcf7 input[type="submit"]:visited, #form .wpcf7 input[type="submit"]:link {
    border: none !important; }
  #form .wpcf7 input[type="submit"]:hover {
    background: #b4c8fa;
    box-shadow: 0 3px 0 #8fadf4, 0 6px 0px rgba(0, 0, 0, 0.2);
    -graphickit-transform: translateY(3px);
    transform: translateY(3px);
    border: none !important; }
  #form .wpcf7 input[type="submit"]:active {
    color: #ddd;
    background: #8fadf4;
    box-shadow: 0 0 0 #ffa0b4, 0 0 0px rgba(0, 0, 0, 0.2);
    -graphickit-transform: translateY(6px);
    transform: translateY(6px);
    transition-duration: 0.1s;
    border: none !important; }
  #form .wpcf7-not-valid-tip {
    padding: 5px !important;
    color: #fff !important;
    background: #ffa0b4 !important; }
  #form .wpcf7-response-output {
    padding: 10px 0;
    margin: -30px auto 0;
    border: 1px solid #ffa0b4; }

#payment #desc {
  text-align: center; }
  #payment #desc h1 {
    margin: 0 0 20px;
    font-size: 40px;
    color: #ffa0b4; }
  #payment #desc p {
    line-height: 34px; }
#payment #cancel {
  padding: 20px;
  border: 1px solid #ffa0b4;
  margin: 20px 0 40px;
  color: #ffa0b4; }
  #payment #cancel h4 {
    font-size: 22px;
    font-weight: 700; }
  #payment #cancel p {
    position: relative;
    padding: 10px 0 0 10px; }
    #payment #cancel p::before {
      content: '';
      position: absolute;
      top: 23px;
      left: 0;
      width: 5px;
      height: 5px;
      border-radius: 50%;
      background: #ffa0b4; }
#payment ul {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 75px; }
  #payment ul li {
    flex: 0 0 calc(100% / 3 - 50px);
    display: flex;
    justify-content: center;
    align-items: center; }

@media screen and (max-width: 999px) {
  #concept #service .title {
    padding: 10px;
    margin: 0 0 40px;
    background: #ffa0b4; }
    #concept #service .title h2 {
      padding: 10px;
      border: dashed 2px #fff;
      text-align: center;
      font-size: 28px;
      color: #fff; }
  #concept #service ul {
    display: block;
    gap: 0; }
    #concept #service ul li {
      flex: 100%;
      display: block;
      margin: 0 0 20px; } }
@media screen and (max-width: 480px) {
  .anc {
    padding-top: 80px;
    margin-top: -80px; }

  #pageHead {
    padding: 120px 0;
    font-size: 30px;
    letter-spacing: 5px; }

  #flow #flowHead {
    padding: 10px;
    margin: 0 0 20px; }
    #flow #flowHead h2 {
      font-size: 34px; }
  #flow ul {
    display: block; }
    #flow ul li {
      width: 100%;
      margin: 0 0 40px;
      text-align: center; }
      #flow ul li:nth-child(2) {
        margin: 0 0 40px; }
        #flow ul li:nth-child(2) h3 {
          margin: 0 auto; }
      #flow ul li #icon {
        width: fit-content;
        margin: 15px auto 0;
        overflow: hidden; }
        #flow ul li #icon div {
          position: relative;
          float: left;
          width: 50px;
          height: 50px;
          padding: 8px 0;
          border-radius: 50%;
          text-align: center;
          background: rgba(255, 160, 180, 0.8); }
          #flow ul li #icon div:nth-of-type(2) {
            margin: 0 15px;
            background: #cde6ff; }
          #flow ul li #icon div:last-of-type {
            background: #50b950; }
  #flow #attention {
    margin: 40px 0 0; }
    #flow #attention p {
      line-height: 24px;
      margin: 0 0 10px; }
      #flow #attention p::before {
        top: 11px;
        margin: 0; }

  #concept #pageHead {
    padding: 120px 0;
    letter-spacing: 5px;
    background: url(img/concept/head-sp.png);
    background-position: center top;
    background-attachment: fixed; }
  #concept #greeting {
    overflow: hidden; }
    #concept #greeting h1 {
      float: none;
      width: 100%;
      margin: 0 0 20px;
      font-size: 40px;
      line-height: 54px; }
      #concept #greeting h1 span {
        display: static;
        float: none;
        width: auto; }
        #concept #greeting h1 span:last-of-type {
          margin: 0; }
    #concept #greeting div {
      float: none;
      width: 100%; }
      #concept #greeting div p {
        font-size: 18px;
        line-height: 34px; }
        #concept #greeting div p.chapter {
          padding: 20px 0 0; }
  #concept #about h2 {
    width: fit-content;
    font-size: 40px; }
    #concept #about h2 span {
      width: 60px;
      height: 60px;
      margin: 0 0 0 5px;
      box-shadow: 7px 7px 0 rgba(143, 173, 244, 0.2); }
  #concept #about h3 {
    padding: 0 0 15px;
    margin: 90px 0 20px;
    font-size: 30px; }
    #concept #about h3::after {
      width: 0;
      height: 0; }
  #concept #about p {
    font-size: 18px;
    line-height: 38px; }

  #service #pageHead {
    padding: 120px 0;
    letter-spacing: 5px;
    background: url(img/concept/head-sp.png);
    background-position: center top;
    background-attachment: fixed; }
  #service h1 {
    position: relative;
    margin: 40px auto 30px;
    text-align: center;
    font-size: 27px; }
  #service #desc {
    position: relative;
    padding: 10px; }
    #service #desc::after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      width: 100vw;
      height: 100%;
      background: url(img/service/service-sp.png);
      background-position: center right;
      background-size: cover;
      background-repeat: no-repeat;
      z-index: -1;
      background-attachment: fixed; }
    #service #desc p {
      line-height: 38px; }
  #service ul {
    margin: 60px 0 0; }
    #service ul li {
      display: block;
      margin: 60px 0 0; }
      #service ul li figure {
        margin: 0 auto 20px; }
      #service ul li .desc {
        padding: 0; }
        #service ul li .desc h2 {
          padding: 0 0 10px;
          margin: 0 auto 15px;
          font-size: 26px; }
        #service ul li .desc p {
          line-height: 38px; }
        #service ul li .desc .more {
          margin: 10px 0 0;
          margin-left: auto; }
          #service ul li .desc .more a {
            padding: 5px 20px 10px; }
      #service ul li:nth-of-type(even) {
        flex-direction: row; }
        #service ul li:nth-of-type(even) .desc {
          text-align: left;
          padding: 0; }

  #contents #pageHead {
    padding: 120px 0;
    letter-spacing: 5px;
    background: url(img/concept/head-sp.png);
    background-position: center top;
    background-attachment: fixed; }
  #contents h1 {
    margin: 30px auto 130px;
    font-size: 22px; }
    #contents h1 .big, #contents h1 .big2 {
      font-size: 36px; }
  #contents ul li {
    margin: 80px 0 0; }
    #contents ul li figure {
      top: -50px;
      width: 80%; }
    #contents ul li div {
      padding: 180px 10px 20px;
      background: #cde6ff; }
      #contents ul li div p {
        line-height: 36px; }
    #contents ul li:nth-of-type(odd) figure {
      left: -10px; }
    #contents ul li:nth-of-type(even) figure {
      right: -10px; }
    #contents ul li:nth-of-type(even) div {
      padding: 180px 10px 20px;
      background: rgba(255, 160, 180, 0.8); }
  #contents #toMenu p {
    font-size: 20px; }

  #menuWrapper #pageHead {
    padding: 120px 0;
    letter-spacing: 5px;
    background: url(img/concept/head-sp.png);
    background-position: center top;
    background-attachment: fixed; }
  #menuWrapper #menu #head {
    display: block; }
    #menuWrapper #menu #head h1 {
      text-align: center;
      font-size: 38px;
      line-height: 55px; }
    #menuWrapper #menu #head div {
      padding: 0; }
      #menuWrapper #menu #head div p {
        padding: 15px 0 0;
        line-height: 32px; }
  #menuWrapper #menu #price table tr th, #menuWrapper #menu #price table tr td {
    padding: 10px 0;
    text-align: right;
    font-size: 40px;
    font-weight: 500; }
    #menuWrapper #menu #price table tr th p:nth-of-type(2), #menuWrapper #menu #price table tr td p:nth-of-type(2) {
      font-size: 18px; }
    #menuWrapper #menu #price table tr th p a, #menuWrapper #menu #price table tr td p a {
      text-decoration: underline;
      color: #8fadf4; }
      #menuWrapper #menu #price table tr th p a:visited, #menuWrapper #menu #price table tr th p a:link, #menuWrapper #menu #price table tr td p a:visited, #menuWrapper #menu #price table tr td p a:link {
        color: #8fadf4; }
      #menuWrapper #menu #price table tr th p a:hover, #menuWrapper #menu #price table tr td p a:hover {
        color: #ffa0b4; }
  #menuWrapper #menu #price table tr th {
    display: block;
    width: 100%;
    text-align: center; }
    #menuWrapper #menu #price table tr th:first-of-type {
      vertical-align: top; }
  #menuWrapper #menu #price table tr td {
    float: left;
    display: block;
    width: calc(100% - 50px); }
    #menuWrapper #menu #price table tr td span {
      padding: 0 5px 0 0;
      color: #ffa0b4; }
    #menuWrapper #menu #price table tr td:last-of-type {
      float: left;
      width: 50px;
      padding: 24px 0; }
    #menuWrapper #menu #price table tr td.reco::before {
      right: 180px; }

  #blogWrapper {
    display: block; }
    #blogWrapper #pageHead {
      padding: 120px 0;
      letter-spacing: 5px;
      background: url(img/blog/head-sp.png);
      background-position: center top;
      background-attachment: fixed; }
    #blogWrapper #blogMain h1 {
      font-size: 30px; }
    #blogWrapper #blogMain figure img {
      height: auto; }
    #blogWrapper #blogMain #content #learnHead {
      font-size: 20px; }
      #blogWrapper #blogMain #content #learnHead p::after {
        top: -9px;
        left: -2px; }
    #blogWrapper #blogMain #content #list {
      flex-basis: 100%; }
    #blogWrapper #blogMain #content .secter h2 {
      line-height: 32px;
      font-size: 26px; }
    #blogWrapper #sideBer {
      width: 100%;
      padding: 50px 0 0; }
      #blogWrapper #sideBer #rankingHead, #blogWrapper #sideBer #newHead, #blogWrapper #sideBer #cateHead {
        width: fit-content;
        padding: 5px 0 10px;
        margin: 0 auto;
        border-bottom: 1px solid saddlebrown;
        font-size: 28px; }
      #blogWrapper #sideBer #newHead {
        margin: 50px auto 0; }
      #blogWrapper #sideBer #ranking, #blogWrapper #sideBer #new {
        border: none; }
        #blogWrapper #sideBer #ranking li, #blogWrapper #sideBer #new li {
          padding: 0 0 5px 35px;
          border-bottom: 1px dashed saddlebrown; }
          #blogWrapper #sideBer #ranking li figure, #blogWrapper #sideBer #new li figure {
            display: none; }
          #blogWrapper #sideBer #ranking li span, #blogWrapper #sideBer #new li span {
            width: 30px;
            height: 30px;
            top: -3px; }
            #blogWrapper #sideBer #ranking li span::after, #blogWrapper #sideBer #new li span::after {
              top: -1px; }
      #blogWrapper #sideBer #new li {
        padding: 0 0 5px; }

  #form {
    margin: 40px auto 0; }
    #form table tr th {
      display: block;
      width: 100%;
      padding: 20px 10px; }
    #form table tr td {
      display: block;
      width: 100%; }
    #form .wpcf7 input[type="submit"] {
      width: 100%; }

  #payment ul li {
    flex: 1; } }
