@charset "UTF-8";
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  margin: 0;
  padding: 0; }

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

body {
  line-height: 1; }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

.clearfix {
  display: inline-block; }

/* Hides from IE Mac */
* html .clearfix {
  height: 1%; }

.clearfix {
  display: block; }

/* ---------- 初期 ---------- */
body {
  letter-spacing: 0.01em;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  -webkit-text-size-adjust: 100%; }

img {
  max-width: 100%;
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none; }

a {
  text-decoration: none; }

strong {
  font-weight: bold; }

/* ---------- /共通部分 ---------- */
#jougetyuou {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
  margin: auto; }

#kadomaru {
  border-radius: 10px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px; }

#resbtn {
  -webkit-appearance: none; }

.ancr {
  position: relative;
  transition: 0.5s; }

.anca {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 10;
  cursor: pointer; }

.ancr:hover {
  opacity: 0.75;
  transition: 0.5s;
  cursor: pointer; }

/* ---------- /参考タグ部分 ---------- */
.wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }

html {
  scroll-behavior: smooth; }

/* PC */
@media screen and (min-width: 431px) {
  .pc_btn {
    width: calc((100% - 430px)/2 - 58px);
    position: fixed;
    right: 29px;
    bottom: 24px;
    z-index: 3;
    text-align: right; }
    .pc_btn a {
      display: inline-block;
      width: 100%;
      max-width: 184px; }
      .pc_btn a img {
        display: block; }

  .pc_menu {
    width: calc((100% - 430px)/2 - 70px);
    position: fixed;
    left: 35px;
    top: 42px;
    z-index: 3;
    text-align: left; }
    .pc_menu .pc_menu_img {
      width: 100%; }
      .pc_menu .pc_menu_img .pc_menu_logo {
        text-align: center;
        width: 100%;
        margin-bottom: 20px;
        max-width: 268px; }
        .pc_menu .pc_menu_img .pc_menu_logo img {
          width: 100%; }
      .pc_menu .pc_menu_img .pc_menu_btn {
        width: 100%;
        margin-bottom: 16px;
        max-width: 268px; }
    .pc_menu a {
      display: inline-block;
      width: 100%; }
      .pc_menu a img {
        display: block; }

  body {
    position: relative; }
    body:before {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      background-position: center top;
      background-repeat: repeat;
      background-color: #ffcfdf;
      background-image: url("../common/bg_pc.png");
      position: fixed;
      top: 0;
      left: 0;
      z-index: 1; }

  img {
    max-width: 100%;
    display: block; }

  #head {
    background: #fff;
    box-sizing: border-box;
    padding: 9px 16px 9px 13px;
    box-sizing: border-box;
    width: 430px;
    margin: 0 auto;
    position: relative;
    z-index: 2; }
    #head .head_inner {
      display: flex;
      justify-content: space-between;
      align-items: center; }
      #head .head_inner .head_left {
        display: flex;
        align-items: center; }
        #head .head_inner .head_left div img {
          display: block; }
        #head .head_inner .head_left div:nth-child(1) {
          margin-right: 11px;
          width: 62px; }
        #head .head_inner .head_left div:nth-child(2) {
          width: 86px; }
      #head .head_inner .head_right .head_sns {
        display: flex; }
        #head .head_inner .head_right .head_sns li {
          width: 32px;
          margin-left: 14px; }
          #head .head_inner .head_right .head_sns li img {
            display: block; }

  main {
    width: 430px;
    margin: 0 auto;
    position: relative;
    z-index: 2; }

  #hero {
    background: #fcedf4;
    padding-top: 13px; }
    #hero .hero_img01 {
      width: 356px;
      margin: 0 auto 18px; }
    #hero .hero_img02 {
      width: 346px;
      margin: 0 auto 21px; }
    #hero .hero_img03 {
      width: 402px;
      margin: 0 auto 40px; }
    #hero .hero_img04 {
      width: 402px;
      margin: 0 auto 16px; }
    #hero .hero_img05 {
      width: 400px;
      margin: 0 auto 24px; }
    #hero .hero_img06 {
      width: 100%;
      margin: 0 auto; }

  #content {
    background: url("../contents/bg.png") repeat-y;
    background-size: contain;
    padding-top: 35px; }
    #content .content_ttl {
      width: 370px;
      margin: 0 auto 45px; }
    #content .content_list li {
      width: 406px;
      margin: 0 auto 24px;
      position: relative; }
      #content .content_list li .btn {
        display: block;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 25px;
        width: 360px; }
        #content .content_list li .btn:hover {
          opacity: 0.9; }

  #about {
    background: #fcedf4;
    padding: 32px 0 55px; }
    #about .about_ttl {
      width: 336px;
      margin: 0 auto 38px; }
    #about .about_img01 {
      width: 403px;
      margin: 0 auto 38px; }
    #about .about_btntxt {
      width: 289px;
      margin: 0 auto 11px; }
    #about .about_btn {
      width: 360px;
      margin: 0 auto; }

  #maker {
    background: url("../contents/bg.png") repeat-y;
    background-size: cover;
    padding-bottom: 52px; }
    #maker .maker_img02 {
      width: 358px;
      margin: 33px auto 25px; }
    #maker .maker_img03 {
      width: 289px;
      margin: 0 auto 11px; }
    #maker .maker_img04 {
      width: 289px;
      margin: 0 auto; }
    #maker .maker_img05 {
      width: 289px;
      margin: 0 auto 11px; }
    #maker .maker_img06 {
      width: 289px;
      margin: 0 auto; }

  #biko {
    background: #fff;
    padding-top: 80px;
    padding-bottom: 50px; }
    #biko .biko_ttl {
      font-size: 18px;
      line-height: 1.8em;
      font-weight: 600;
      text-align: center;
      margin-bottom: 45px; }
    #biko .txt {
      width: 389px;
      margin: 0 auto;
      position: relative;
      padding-left: 1em;
      font-size: 11px;
      margin-bottom: 3px; }
      #biko .txt:before {
        content: '◼︎';
        position: absolute;
        left: 0;
        top: 0; }
    #biko .list {
      width: 389px;
      margin: 0 auto 25px; }
      #biko .list li {
        position: relative;
        padding-left: 1em;
        font-size: 11px;
        line-height: 1.7em;
        font-feature-settings: "palt"; }
        #biko .list li:before {
          content: '・';
          position: absolute;
          left: 0;
          top: 0; }
        #biko .list li.kome:before {
          content: '※'; }

  #foot {
    background: #f8f8f8;
    box-sizing: border-box;
    padding: 31px 13px 23px;
    width: 430px;
    margin: 0 auto;
    position: relative;
    z-index: 2; }
    #foot .foot_copy {
      text-align: center;
      font-size: 12px;
      margin-bottom: 19px; }
    #foot .foot_logos {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 22px; }
      #foot .foot_logos div:nth-child(1) {
        margin-right: 8px;
        width: 45px; }
      #foot .foot_logos div:nth-child(2) {
        width: 92px; }
    #foot .foot_lists {
      border-top: solid 0.5px #606060;
      margin-bottom: 20px; }
      #foot .foot_lists div {
        border-bottom: solid 0.5px #606060;
        padding: 18px 0 18px 68px;
        font-size: 14px; }
        #foot .foot_lists div a {
          color: #000; }
        #foot .foot_lists div:nth-child(1) {
          background: url("../footer/icon_1.png") no-repeat;
          background-size: 33px;
          background-position: left 0 center; }
        #foot .foot_lists div:nth-child(2) {
          background: url("../footer/icon_2.png") no-repeat;
          background-size: 27px;
          background-position: left 2px center; }
        #foot .foot_lists div:nth-child(3) {
          background: url("../footer/icon_3.png") no-repeat;
          background-size: 34px;
          background-position: left 0 center; }
        #foot .foot_lists div:nth-child(4) {
          background: url("../footer/icon_4.png") no-repeat;
          background-size: 29px;
          background-position: left 1px center; }
    #foot .foot_txt {
      font-size: 12px;
      line-height: 1.5em; } }
/* SP */
@media screen and (max-width: 800px) {
  .midonly {
    display: none !important; } }
@media screen and (max-width: 430px) {
  .pconly {
    display: none !important; }

  html {
    font-size: calc(1vw * 100 / 430); }

  img {
    max-width: 100%;
    display: block; }

  #head {
    background: #fff;
    box-sizing: border-box;
    padding: 9rem 16rem 9rem 13rem; }
    #head .head_inner {
      display: flex;
      justify-content: space-between;
      align-items: center; }
      #head .head_inner .head_left {
        display: flex;
        align-items: center; }
        #head .head_inner .head_left div img {
          display: block; }
        #head .head_inner .head_left div:nth-child(1) {
          margin-right: 11rem;
          width: 62rem; }
        #head .head_inner .head_left div:nth-child(2) {
          width: 86rem; }
      #head .head_inner .head_right .head_sns {
        display: flex; }
        #head .head_inner .head_right .head_sns li {
          width: 32rem;
          margin-left: 14rem; }
          #head .head_inner .head_right .head_sns li img {
            display: block; }

  #hero {
    background: #fcedf4;
    padding-top: 13rem; }
    #hero .hero_img01 {
      width: 356rem;
      margin: 0 auto 18rem; }
    #hero .hero_img02 {
      width: 346rem;
      margin: 0 auto 21rem; }
    #hero .hero_img03 {
      width: 402rem;
      margin: 0 auto 40rem; }
    #hero .hero_img04 {
      width: 402rem;
      margin: 0 auto 16rem; }
    #hero .hero_img05 {
      width: 400rem;
      margin: 0 auto 24rem; }
    #hero .hero_img06 {
      width: 100%;
      margin: 0 auto; }

  #content {
    background: url("../contents/bg.png") repeat-y;
    background-size: contain;
    padding-top: 35rem; }
    #content .content_ttl {
      width: 370rem;
      margin: 0 auto 45rem; }
    #content .content_list li {
      width: 406rem;
      margin: 0 auto 24rem;
      position: relative; }
      #content .content_list li .btn {
        display: block;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 25rem;
        width: 360rem; }
        #content .content_list li .btn:hover {
          opacity: 0.9; }

  #about {
    background: #fcedf4;
    padding: 32rem 0 55rem; }
    #about .about_ttl {
      width: 336rem;
      margin: 0 auto 38rem; }
    #about .about_img01 {
      width: 403rem;
      margin: 0 auto 38rem; }
    #about .about_btntxt {
      width: 289rem;
      margin: 0 auto 11rem; }
    #about .about_btn {
      width: 360rem;
      margin: 0 auto; }

  #maker {
    background: url("../contents/bg.png") repeat-y;
    background-size: cover;
    padding-bottom: 52rem; }
    #maker .maker_img02 {
      width: 358rem;
      margin: 33rem auto 25rem; }
    #maker .maker_img03 {
      width: 289rem;
      margin: 0 auto 11rem; }
    #maker .maker_img04 {
      width: 289rem;
      margin: 0 auto; }
    #maker .maker_img05 {
      width: 289rem;
      margin: 0 auto 11rem; }
    #maker .maker_img06 {
      width: 289rem;
      margin: 0 auto; }

  #biko {
    background: #fff;
    padding-top: 80rem;
    padding-bottom: 50rem; }
    #biko .biko_ttl {
      font-size: 18rem;
      line-height: 1.8em;
      font-weight: 600;
      text-align: center;
      margin-bottom: 45rem; }
    #biko .txt {
      width: 389rem;
      margin: 0 auto;
      position: relative;
      padding-left: 1em;
      font-size: 11rem;
      margin-bottom: 3rem; }
      #biko .txt:before {
        content: '◼︎';
        position: absolute;
        left: 0;
        top: 0; }
    #biko .list {
      width: 389rem;
      margin: 0 auto 25rem; }
      #biko .list li {
        position: relative;
        padding-left: 1em;
        font-size: 11rem;
        line-height: 1.7em;
        font-feature-settings: "palt"; }
        #biko .list li:before {
          content: '・';
          position: absolute;
          left: 0;
          top: 0; }
        #biko .list li.kome:before {
          content: '※'; }

  #foot {
    background: #f8f8f8;
    box-sizing: border-box;
    padding: 31rem 13rem 23rem; }
    #foot .foot_copy {
      text-align: center;
      font-size: 12rem;
      margin-bottom: 19rem; }
    #foot .foot_logos {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 22rem; }
      #foot .foot_logos div:nth-child(1) {
        margin-right: 8rem;
        width: 45rem; }
      #foot .foot_logos div:nth-child(2) {
        width: 92rem; }
    #foot .foot_lists {
      border-top: solid 0.5rem #606060;
      margin-bottom: 20rem; }
      #foot .foot_lists div {
        border-bottom: solid 0.5rem #606060;
        padding: 18rem 0 18rem 68rem;
        font-size: 14rem; }
        #foot .foot_lists div a {
          color: #000; }
        #foot .foot_lists div:nth-child(1) {
          background: url("../footer/icon_1.png") no-repeat;
          background-size: 33rem;
          background-position: left 0 center; }
        #foot .foot_lists div:nth-child(2) {
          background: url("../footer/icon_2.png") no-repeat;
          background-size: 27rem;
          background-position: left 2rem center; }
        #foot .foot_lists div:nth-child(3) {
          background: url("../footer/icon_3.png") no-repeat;
          background-size: 34rem;
          background-position: left 0 center; }
        #foot .foot_lists div:nth-child(4) {
          background: url("../footer/icon_4.png") no-repeat;
          background-size: 29rem;
          background-position: left 1rem center; }
    #foot .foot_txt {
      font-size: 12rem;
      line-height: 1.5em; } }
