@charset "UTF-8";
/*--------------------------------------------------------------------
// config
--------------------------------------------------------------------*/
/*--------------------------------------------------------------------
// base
--------------------------------------------------------------------*/
html {
  font-size: 62.5%;
  height: 100%;
  min-width: 320px; }

body {
  position: relative;
  font-size: 1.6em;
  line-height: 1.4;
  height: 100%;
  margin: 0;
  padding: 0;
  line-break: strict;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  color: #333;
  /*background-color: $col-base-bg;*/
  font-family: 'Avenir','Helvetica Neue','Helvetica','Arial',"メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif; }
  body::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 400px;
    content: "";
    z-index: -10;
    background: linear-gradient(to bottom, #F6C1CB 0%, #fff 200px, #fff 100%); }

h1, h2, h3, h4, h5, h6, p,
dl, ul, ol, table, blockquote {
  font-size: 1em;
  margin: 0;
  padding: 0; }

dt, dd, li {
  margin: 0;
  padding: 0; }

ul, ol {
  list-style: none; }

img {
  vertical-align: top;
  border: none; }

a:link, a:visited {
  text-decoration: none; }
a:hover, a:active {
  text-decoration: underline; }

em {
  font-style: normal; }

h1, h2, h3, h4, h5, h6, strong {
  font-weight: bold; }

.none {
  display: none; }

@media screen and (max-width: 767px) {
  .is_pc {
    display: none !important; } }
@media screen and (min-width: 768px) {
  .is_mobile {
    display: none !important; } }
.left {
  text-align: left; }

.center {
  text-align: center; }

.right {
  text-align: right; }

.clear {
  clear: both; }

.nolink {
  text-decoration: none !important; }

/*--------------------------------------------------------------------
// nav menu
--------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  #header_menu {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 3;
    /*  .menulist {
        height: 0;
        padding: 0;
        overflow: hidden;
        opacity: 0;
        transition: .6s;
        border-top: none;
        background-color: $col-menu-bg;
        li a {
          display: block;
          font-size: $fz-1;
          font-weight: bold;
          padding: 1.4rem 5% 1.4rem; 
          border-bottom: 3px dotted #fff;
          color: $col-lead;
        }
        .gotop.none {
          display: block;
          img {
            margin-top: 3rem;
            width: 16rem;
          }
        }
      }*/ }
    #header_menu #menu-on {
      display: none; }
      #header_menu #menu-on:checked + label + .menulist {
        padding: 5rem 10% 2rem;
        height: auto;
        opacity: 1; }
      #header_menu #menu-on:checked + label .fa-bars {
        display: none; }
      #header_menu #menu-on:checked + label .fa-times {
        display: block; }
    #header_menu .fa-bars {
      position: absolute;
      top: 15px;
      right: 20px;
      font-size: 3rem;
      color: #765E5E;
      cursor: pointer; }
    #header_menu .fa-times {
      display: none;
      position: absolute;
      top: 16px;
      right: 27px;
      font-size: 34px;
      color: #fff;
      cursor: pointer; } }
/*--------------------------------------------------------------------
// common
--------------------------------------------------------------------*/
body[id^="ume"]::before {
  background: linear-gradient(to bottom, #FFDEC9 0%, #fff 200px, #fff 100%); }

body[id^="sakura"]::before {
  background: linear-gradient(to bottom, #FAD7E0 0%, #fff 200px, #fff 100%); }

.bg-wrap {
  background: url("../img/bg_umesakura.png") no-repeat -7.2% 6px;
  background-size: 100%;
  text-align: center;
  position: relative; }
  .bg-wrap::after {
    position: absolute;
    top: 20px;
    right: 0;
    width: 140px;
    height: 100px;
    content: "";
    z-index: 2; }
    body#ume .bg-wrap::after {
      background: url("../ume/2022/img/stamp_ume_2022.png") no-repeat;
      background-size: contain; }
    body#sakura .bg-wrap::after {
      background: url("../sakura/2022/img/stamp_sakura_2022.png") no-repeat;
      background-size: contain; }
    @media screen and (min-width: 768px) {
      .bg-wrap::after {
        top: 50px;
        width: 34%;
        height: 160px; } }
  @media screen and (min-width: 768px) {
    .bg-wrap {
      text-align: left;
      background-position: 0 60px; } }

.notice {
  width: 70%;
  margin: 10% auto;
  background-color: #FFFFF0;
  border: 2px solid #A0522D;
  border-radius: 10px;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .notice {
      width: 86%; } }
  .notice p {
    display: inline-block;
    font-size: 1.125em;
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
    color: #A0522D;
    font-weight: bold;
    text-align: left;
    position: relative;
    padding: 65px 1.5em 1.5em; }
    .notice p::before {
      content: "\f06a";
      font-family: "Font Awesome 5 Free";
      color: #DD2121;
      font-size: 4rem;
      font-weight: 900;
      line-height: 1;
      position: absolute;
      top: 15px;
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%); }
    @media screen and (min-width: 768px) {
      .notice p.col {
        padding: 1.5em 1.5em 1.5em 80px; }
        .notice p.col::before {
          top: 50%;
          left: 25px;
          transform: translateY(-50%);
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%); } }

.notice-b {
  width: 80%;
  display: inline-block;
  background-color: #FFFFF0;
  border: 2px solid #A0522D;
  border-radius: 10px;
  padding: 2em 1.8em;
  text-align: left; }
  #ume .notice-b {
    margin-top: 0; }
  @media screen and (min-width: 768px) {
    .notice-b {
      width: 33%; } }
  .notice-b h2 {
    color: #A0522D;
    font-size: 1.125em;
    text-align: center;
    margin-bottom: 1em; }
  .notice-b p {
    line-height: 1.4;
    font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif; }
  .notice-b .golink {
    text-align: center;
    padding-top: 1em; }
    .notice-b .golink a {
      display: inline-block;
      text-align: left;
      font-weight: bold;
      padding-right: 4rem;
      position: relative;
      color: #5C3737; }
      .notice-b .golink a::after {
        content: "\f0a9";
        font-family: "Font Awesome 5 Free";
        color: #AA8585;
        font-size: 3.5rem;
        font-weight: 900;
        position: absolute;
        bottom: 0;
        right: 0; }

.link-btn a {
  display: inline-block;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif;
  font-size: 1.125em;
  font-weight: bold;
  padding: .8em 3em .8em 1.8em;
  border-radius: 1em;
  color: #5C3737;
  background-color: #FDF0E3;
  border: 4px solid #FDF0E3;
  position: relative; }
  #sakura .link-btn a {
    background-color: #FDEBF0;
    border: 4px solid #FDEBF0; }
  .link-btn a::before {
    content: "\f04b";
    font-family: "Font Awesome 5 Free";
    color: #AA8585;
    font-size: 1em;
    font-weight: 900;
    position: absolute;
    right: 1.4em; }
  .link-btn a:hover, .link-btn a:active {
    text-decoration: none;
    border: 4px solid rgba(170, 133, 133, 0.15) !important; }

.sublink .link li a {
  display: block;
  background-color: #F5F5F5;
  border-top: 2px solid #FAF8F8;
  border-bottom: 2px solid #EDE5E5;
  font-size: 1.125em;
  padding: 1.5em 1em 1.5em 3.5em;
  text-align: left;
  position: relative; }
  @media screen and (min-width: 768px) {
    .sublink .link li a {
      background-color: transparent;
      border: none;
      padding: .7em .5em .7em 2em; } }
  .sublink .link li a::before {
    content: "\f04b";
    font-family: "Font Awesome 5 Free";
    color: #AA8585;
    font-size: 1em;
    font-weight: 900;
    position: absolute;
    left: 2em; }
    @media screen and (min-width: 768px) {
      .sublink .link li a::before {
        left: .5em; } }
@media screen and (min-width: 768px) {
  #hana .sublink .link {
    padding-bottom: 18px;
    margin-bottom: 15px;
    border-bottom: 3px dotted #e2e2e2; } }

/*--------------------------------------------------------------------
// header
--------------------------------------------------------------------*/
header {
  text-align: center; }
  header h1 {
    padding-top: 4%;
    background: #F6C1CB url("../img/hana_card2022.jpg") bottom no-repeat;
    background-size: 100%;
    padding-bottom: 50%; }
    @media screen and (min-width: 768px) {
      header h1 {
        background-color: transparent;
        background-image: none;
        padding: 2rem 2rem 4rem; } }
  @media screen and (min-width: 768px) {
    header .card {
      /*background-color: #fff;*/
      position: relative; }
      header .card::before {
        content: "";
        width: 366px;
        height: 156px;
        background: transparent url("../img/stamp_hana.png") no-repeat right top;
        background-size: contain;
        position: absolute;
        top: -80px;
        right: -20px;
        z-index: 3; } }
  header .card .cardtxt {
    font-size: 1.8rem;
    text-align: left;
    line-height: 1.7;
    width: 80%;
    margin: 1em auto 3em;
    color: #743B0A;
    background: transparent url("../img/stamp_hana.png") no-repeat center top;
    background-size: 80%;
    padding-top: 38%;
    font-weight: bold;
    font-family: "游明朝","Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    letter-spacing: .06em; }
    @media screen and (min-width: 768px) {
      header .card .cardtxt {
        width: 98%;
        min-width: 820px;
        padding: 70px 30px 30px 530px;
        background-image: none;
        background-color: transparent;
        position: relative;
        background: #fff url("../img/hana_card2022.jpg") no-repeat;
        background-size: 520px; }
        header .card .cardtxt span.indent {
          display: inline-block;
          text-indent: -1em;
          margin-bottom: .5em;
          margin-left: 10%; } }
  @media screen and (min-width: 768px) {
    header {
      width: 100%;
      max-width: 1024px;
      padding: 0 12px;
      margin: 0 auto; } }

/*--------------------------------------------------------------------
// hana-main
--------------------------------------------------------------------*/
main .hanamenu {
  width: 80%;
  margin: 0 auto;
  text-align: center; }
  main .hanamenu article {
    margin-bottom: 3em; }
  main .hanamenu a:hover, main .hanamenu a:active {
    opacity: 0.7;
    text-decoration: none; }
  main .hanamenu img {
    width: 80%;
    max-width: 316px; }
  main .hanamenu h2 {
    font-size: 2.4rem;
    color: #765E5E;
    margin: .6em 0;
    font-family: "游明朝","Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    letter-spacing: .06em;
    font-weight: bold; }
  main .hanamenu p {
    text-align: left;
    font-size: 0.9375em;
    line-height: 1.5;
    color: #666; }
@media screen and (min-width: 768px) {
  main {
    width: 100%;
    max-width: 1024px;
    padding: 0 12px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between; }
    main .hanamenu {
      width: 67%;
      margin-bottom: 4em;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-around; }
      main .hanamenu article {
        width: 46%; }
        main .hanamenu article img {
          width: 90%; }
    main .sublink {
      width: 33%;
      padding-left: 30px; }
      main .sublink .notice {
        width: 96%; }
      main .sublink .menulist .link li a::before {
        content: "";
        background-color: #EB9A9A;
        width: .9em;
        height: .9em;
        border-radius: 50%;
        top: .9em; }
      main .sublink .link .nolink {
        line-height: 1.2; }
        main .sublink .link .nolink span {
          font-size: 13px; } }

/*--------------------------------------------------------------------
// footer
--------------------------------------------------------------------*/
footer {
  background-color: #EBEBEB;
  text-align: center;
  padding: 10% 1em;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic Medium", "Yu Gothic", Verdana, Meiryo, sans-serif; }
  footer .linkfree {
    margin-bottom: 3em; }
    footer .linkfree .txt {
      display: inline-block;
      font-size: 1.5rem;
      text-align: left; }
      footer .linkfree .txt a {
        font-weight: bold;
        color: #E64386;
        text-decoration: none; }
        footer .linkfree .txt a:hover, footer .linkfree .txt a:active {
          text-decoration: none;
          opacity: .7; }
  footer address .txtlink {
    margin: 1.2em 0;
    font-size: 0; }
    footer address .txtlink li {
      display: inline-block;
      font-size: 1.5rem;
      border-left: 1px solid #333;
      padding-left: 11px;
      padding-right: 10px;
      line-height: 1;
      margin: .4em 0; }
      footer address .txtlink li:first-child {
        border: none; }
  footer address .nishi, footer address .by {
    display: inline-block;
    margin: 3px;
    vertical-align: middle; }
  footer address .by img {
    width: 17rem; }
  @media screen and (min-width: 768px) {
    footer {
      text-align: left;
      padding: 5% 1em 30px; }
      footer .wrap {
        width: 100%;
        max-width: 1024px;
        padding: 0 12px 0 100px;
        margin: 0 auto;
        position: relative; }
        footer .wrap .linkfree {
          margin-bottom: 0;
          padding-left: 10px; }
        footer .wrap address {
          display: flex;
          justify-content: space-between;
          align-items: center; }
          footer .wrap address .nishi {
            position: absolute;
            top: 10px;
            left: 0; } }
  footer .linkfree img {
    margin-top: 1em; }
  @media screen and (min-width: 768px) {
    footer .wrap {
      text-align: center;
      padding-left: 12px;
      display: flex;
      flex-direction: row-reverse;
      justify-content: space-between;
      align-items: flex-end; }
      footer .wrap address {
        padding-bottom: 10px; }
        footer .wrap address .nishi {
          position: inherit;
          order: -1; } }
