@charset "UTF-8";
/* PC
---------------------------------------------------------------------- */
@media screen and (min-width: 1001px) {
    /* header
---------------------------------------------------------------------- */
  #mainheader .open {
    color: #000; }

  #mainheader .open span {
    background-color: #000; }

  #mainheader .pc_nav ul li a ,
  #mainheader .pc_nav ul li a * {
    color: #595757;
  }
    /* mv
---------------------------------------------------------------------- */
  #pageheader {
    width: 100%;
    height: 230px;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 0;
    margin-top: 133px; }

  #pageheader h1 {
    color: #313131;
    font-size: calc(42em / 16);
    letter-spacing: 0.25em;
    padding-left: 200px; }

  #pageheader h1 span {
    display: block;
    font-size: calc(16em / 42);
    letter-spacing: 0.23em;
    margin-top: 20px; }

    /* btn
---------------------------------------------------------------------- */
  .arrowlink1 {
    font-weight: 700;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0 auto 150px;
    justify-content: center; }

  .arrowlink1:hover {
    opacity: 1; }

  .arrowlink1 span {
    display: block;
    width: 40px;
    height: 40px;
    margin-left: 15px;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #000;
    display: flex;
    justify-content: center;
    align-items: center; }

  .arrowlink1 span img {
    width: 22px; }

  .arrowlink1 span .hover {
    display: none; }

  .arrowlink1:hover span {
    background-color: #3b4b72;
    border: 1px solid #3b4b72; }

  .arrowlink1:hover span img {
    width: 20px; }

  .arrowlink1:hover span .default {
    display: none; }

  .arrowlink1:hover span .hover {
    display: block; }

  .btn_blue{
    width: 270px;
    background-color:#4F6599 ;
    margin: 0 auto 150px;
    padding: 10px 0;
    transition: 0.3s ease-in-out;
  }
  .btn_blue:hover{
    background-color: #751717;
    opacity: 1;
    transition: 0.3s ease-in-out;
  }
  .btn_blue a{
    color: #FFF;
  }
  /*.btn_blue a img{
    position: relative;
    top: -0.3vw;
    right: -0.5vw;
  }*/

  .lead {
    margin-bottom: 25px;
    text-align: left;
    display: inline-block; }

  .ttl {
    font-weight: bold;
    text-align: center;
    border-bottom: 1px solid #000;
    font-size: 24px;
    line-height: 1.6666666667;
    letter-spacing: 0.25em;
    padding-bottom: 20px;
    margin: 0 10px 40px; }

  .icn__ttl {
    position: relative; }
    .icn__ttl i {
      position: absolute;
      top: -10vw;
      left: 50%;
      transform: translateX(-50%);
      top: -50px;
      font-size: 32px; }

        /* form
---------------------------------------------------------------------- */
  .form {
    text-align: center;
    padding: 25px 0 75px; }

  .form__txt {
    display: inline-block;
    text-align: left;
    max-width: 580px; }
    .form__txt P:first-of-type {
      font-weight: bold;
      margin-bottom: 35px; }
    .form__txt P:last-of-type {
      margin-bottom: 90px; }

  .form__bnr {
    max-width: 700px;
    display: block;
    margin: 0 auto 45px; }
    .form__bnr img {
      width: 100%;
      border: #bbbbbb 1px solid; }

  .form__inr {
    margin: 0 auto;
    max-width: 780px; }

  .form__box {
    border-bottom: 1px solid #000;
    margin-bottom: 45px; }

  .form dl {
    text-align: left;
    margin-bottom: 45px;
    margin-bottom: 35px;
    display: flex;
    align-items: center; }
    .form dl.top {
      align-items: flex-start; }
    .form dl:last-of-type {
      margin-bottom: 50px; }
    .form dl dt {
      width: 26%;
      margin-bottom: 0;
      font-weight: bold; }
    .form dl dd {
      position: relative;
      width: 74%; }

  .form__privacy {
    text-align: center;
    font-size: 14px;
    line-height: 1.9285714286;
    letter-spacing: 0em;
    margin-bottom: 40px; }
    .form__privacy a {
      color: #3B4B72; }

  .form label {
    color: #000000;
    font-weight: bold;
    /*cursor: pointer;*/ }

  .error {
    color: #8E0000;
    position: absolute;
    left: 0;
    bottom: -25px;
    margin: 0 0 0 15px;
    font-size: 13px; }
  .formItem__m .error:nth-of-type(2){
    left: 160px;
  }
  .formItem__m .error:nth-of-type(3){
    left: 320px;
  }
  .required {
    display: flex;
    align-items: center;
    justify-content: space-between; }
  .inq_item .required {
    justify-content: center; }
  .required::after {
    content: "必 須";
    display: block;
    text-align: center;
    color: #8E0000;
    margin: 0 15px;
    font-size: 13px; }

  .radio__box {
    background-color: #F3F3F3;
    padding: 10px; }
    .radio__box label {
      display: flex;
      align-items: center;
      font-weight: 400;
      margin-bottom: 15px; }
    .radio__box:hover {
      outline: 1px #999999 solid; }

  .form .zip {
    display: flex;
    align-items: center; }
    .form .zip input[type="text"] {
      padding: 10px; }
    .form .zip input[type="text"]:first-of-type {
      width: 60px; }
    .form .zip input[type="text"]:last-of-type {
      width: 240px; }

  .form input[type="text"],
  .form input[type="email"],
  .form input[type="tel"] {
    width: 100%;
    background-color: #F3F3F3;
    padding: 15px;
    border: none;
    font-size: 19px;
    height: 50px;
    line-height: 50px;
    font-size: 16px; }

  .form input[type="checkbox"],
  .form input[type="radio"] {
    width: 20px;
    height: 20px;
    margin-right: 10px;
    margin-top: 0px; }

  .form .privacyCheck {
    display: block;
    font-size: 15px;
    margin-bottom: 40px; }

  .form textarea {
    resize: vertical;
    font-family: 'Open Sans', 'Noto Sans JP', "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, sans-serif;
    width: 100%;
    line-height: 2;
    border: none;
    background-color: #F3F3F3;
    display: block;
    overflow: auto;
    height: 240px;
    padding: 10px 20px;
    font-size: 16px; }
    .form textarea:focus {
      border: 1px solid #CCCCCC; }

  input:focus,
  textarea:focus {
    outline: 1px #999999 solid; }

  .form__link {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto; }
    .form__link button {
      cursor: pointer;
      font-weight: bold;
      background-color: #ACB3C4;
      border: 1px solid #ACB3C4;
      color: #FFFFFF;
      max-width: 100%;
      transition: 0.5s;
      width: 280px;
      height: 66px;
      font-size: 16px;
      line-height: 1.1875; }
      .form__link button:hover {
        background-color: #FFFFFF;
        border: 1px solid #ACB3C4;
        color: #ACB3C4; }

  .form dl dd.formItem__s {
    width: 180px; }

  .form dl dd.formItem__m {
    /*width: 380px;*/ width:570px; }
  .form dl dd.formItem__m.f-male {
    /*width: 380px;*/ width:80px; }
  .form dl dd.formItem__m.f-male .error{
    width:13em; 
    left: -80px;}
  .form .formItem__m input[type="text"].short {
    /*width: 40%;*/
    width: 20%;
  }
  .form .formItem__m select#bmonth {
    width: 20%;
    height: 50px;
    margin-left: 30px;
  }
  .form .formItem__m select#bday {
    width: 20%;
    height: 50px;
    margin-left: 30px;
  }
  .form .people_item input.short {
    width: 20%;
  }
  .form .wanwan_item input.short {
    width: 20%;
  }
  ::placeholder {
    color: #999999; }

        /* tel
---------------------------------------------------------------------- */
  #contents .tel {
    text-align: center;
    color: #000;
    padding: 75px 0 110px; }
    #contents .tel span {
      display: block;
      padding: 5px 0 10px; }

  .tel__no {
    font-weight: 300;
    display: inline-block;
    font-size: 32px;
    line-height: 1;
    padding: 10px 0 10px; }
    .tel__no i {
      margin-right: 5px; }

    /* check page
---------------------------------------------------------------------- */
  .check .form {
    padding: 75px 0 130px; }

  .check .lead {
    margin-left: -190px;
    margin-bottom: 65px; }

  .check .form textarea {
    resize: none; }

  .check .form dl {
    margin-bottom: 20px; }

  .check .form__box {
    padding-bottom: 30px; }

  .check .form__link button {
    background-color: #3B4B72;
    border: 1px solid #3B4B72;
    color: #FFFFFF; }
    .check .form__link button:hover {
      background-color: #FFFFFF;
      border: 1px solid #3B4B72;
      color: #3B4B72; }

    /* thnks page
---------------------------------------------------------------------- */
  .thanks .form {
    padding: 75px 0 0; }

  .thanks .lead {
    margin: 0 0 0 100px;
    width: 580px; }
    .thanks .lead span {
      font-weight: bold; }

  .residence {
    text-align: center;
    color: #000;
    padding: 30px 0 130px; }
    .residence span {
      display: block;
      padding: 10px 0 10px; }

  .residence .tel {
    font-weight: 300;
    display: inline-block;
    font-size: 32px;
    line-height: 1;
    padding: 10px 0 10px; }
    .residence .tel i {
      margin-right: 5px; }

  .residence .mail {
    color: #000;
    font-weight: 300;
    display: inline-block;
    padding: 10px 0 10px; }
    .residence .mail i {
      margin-right: 5px; } }

    .cake_item select {
        height: 4em;
      }
    .cake_item select.cakecandlenumber {
        height: 2em;
        width: 4em;
      }
  .form dl.cakeceleb ,
  .form dl.cakecandle , 
  .form dl.caketiming ,
  .form dl.dlsdate,
  .form dl.cakesurprise {
    align-items: flex-start;
  }
  .cakeceleb input[type="radio"] {
    margin-bottom: 5px;
  }
  .cakecandle input[type="radio"] {
    margin-bottom: 5px;
  }
  .form dl.caketiming .error,
  .form dl.cakesurprise .error {
    bottom: 0;
  }
  .form dl.dlsdate dt label {
    margin-top: 13px;
  }


  /* SP
---------------------------------------------------------------------- */
@media screen and (max-width: 1000px) {
    /* mv
---------------------------------------------------------------------- */
  #pageheader {
    width: 100%;
    display: flex;
    margin: calc(80 / 375 * 100vw) 0 calc(10 / 375 * 100vw);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 0; }

  #pageheader h1 {
    color: #313131;
    font-size: calc(32em / 16);
    letter-spacing: 0.25em; }

  #pageheader h1 span {
    display: block;
    text-align: center;
    font-size: calc(15em / 32);
    letter-spacing: 0.23em;
    margin-top: calc(20 / 375 * 100vw); }

    /* btn
---------------------------------------------------------------------- */
  .arrowlink1 {
    font-weight: 700;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    margin: 0vw auto 25.3333333333vw; }

  .arrowlink1:hover {
    opacity: 1; }

  .arrowlink1 span {
    display: block;
    width: calc(40 / 375 * 100vw);
    height: calc(40 / 375 * 100vw);
    margin-left: calc(15 / 375 * 100vw);
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #000;
    display: flex;
    justify-content: center;
    align-items: center; }

  .arrowlink1 span .hover {
    display: none; }

  .arrowlink1:hover span {
    background-color: #3b4b72;
    border: 1px solid #3b4b72; }

  .arrowlink1 span img {
    width: calc(20 / 375 * 100vw); }

  .arrowlink1:hover span .default {
    display: none; }

  .arrowlink1:hover span .hover {
    display: block; }

  .btn_blue{
    width: 82vw;
    background-color:#4F6599 ;
    margin: 0 auto 25.3333333333vw;;
    padding: 16px 0;
  }
  .btn_blue:hover{
    background-color: #751717;
    opacity: 1;
  }
  .btn_blue a{
    color: #FFF;
  }
  /*.btn_blue a img{
    position: relative;
    top: -2vw;
    right: -2.5vw;
  }*/

  .lead {
    display: inline-block;
    margin-bottom: 6.6666666667vw;
    text-align: justify; }

  .ttl {
    font-weight: bold;
    text-align: center;
    border-bottom: 1px solid #000;
    margin-bottom: 8vw;
    padding-bottom: 6.6666666667vw;
    font-size: 5.3333333333vw;
    line-height: 1.5;
    letter-spacing: 0em; }

  .icn__ttl {
    position: relative; }
    .icn__ttl i {
      position: absolute;
      top: -10vw;
      left: 50%;
      transform: translateX(-50%);
      font-size: 6.6666666667vw; }

    /* form
---------------------------------------------------------------------- */
  .form {
    text-align: center;
    padding: 2.6666666667vw 0vw 9.3333333333vw 0vw; }

  .form__txt {
    display: inline-block;
    text-align: left;
    max-width: 580px; }
    .form__txt P:first-of-type {
      font-weight: bold;
      margin-bottom: 5.3333333333vw; }
    .form__txt P:last-of-type {
      margin-bottom: 10.6666666667vw; }

  .form__bnr {
    max-width: 700px;
    display: block;
    margin: 0 auto;
    margin-bottom: 6.6666666667vw; }
    .form__bnr img {
      border: #bbbbbb 1px solid;
      width: 90%; }

  .form__inr {
    margin: 0 auto; }

  .form__box {
    border-bottom: 1px solid #000;
    margin-bottom: 6.6666666667vw; }

  .form dl {
    text-align: left;
    margin-bottom: 8vw; }
    .form dl:last-of-type {
      margin-bottom: 8vw; }
    .form dl dt {
      margin-bottom: 15px;
      font-weight: bold; }
    .form dl dd {
      position: relative; }

  .form__privacy {
    text-align: justify;
    margin-bottom: 4vw; }
    .form__privacy a {
      color: #3B4B72; }

  .form label {
    color: #000000;
    font-weight: bold;
    cursor: pointer; }

  .error {
    color: #8E0000;
    position: absolute;
    left: 0;
    bottom: -6.5vw;
    margin-top: 15px;
    font-size: calc(13em / 16); }
  .formItem__m .error:nth-of-type(2){
    left: 39vw;
  }
  .formItem__m .error:nth-of-type(3){
    left: 60vw;
  }
  .required {
    display: flex;
    align-items: center; }

  .required::after {
    content: "必 須";
    display: block;
    text-align: center;
    color: #8E0000;
    margin-left: 5.3333333333vw;
    font-size: calc(13em / 16); }

  .radio__box {
    background-color: #F3F3F3;
    padding: 5.3333333333vw 4vw 2.6666666667vw 4vw; }
    .radio__box label {
      display: flex;
      align-items: center;
      font-weight: 400;
      margin-bottom: 4vw; }
    .radio__box:hover {
      outline: 1px #999999 solid; }

  .form .zip {
    display: flex;
    align-items: center; }
    .form .zip input[type="text"] {
      padding: 10px; }
    .form .zip input[type="text"]:first-of-type {
      width: 16vw; }
    .form .zip input[type="text"]:last-of-type {
      width: 21.3333333333vw; }

  .form input[type="text"],
  .form input[type="email"],
  .form input[type="tel"] {
    width: 100%;
    background-color: #F3F3F3;
    padding: 15px;
    border: none;
    font-size: calc(16em / 16); }

  .form input[type="checkbox"],
  .form input[type="radio"] {
    width: 20px;
    height: 20px;
    margin-right: 10px;
    margin-top: 0px; }

  .form .privacyCheck {
    display: block;
    margin-bottom: 5.3333333333vw; }

  .form textarea {
    resize: vertical;
    font-family: 'Open Sans', 'Noto Sans JP', "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, sans-serif;
    height: 50vw;
    line-height: 2;
    width: 100%;
    border: none;
    background-color: #F3F3F3;
    padding: 5px 15px;
    display: block;
    overflow: auto;
    font-size: calc(16em / 16); }
    .form textarea:focus {
      border: 1px solid #CCCCCC; }

  input:focus,
  textarea:focus {
    outline: 1px #999999 solid; }

  .form__link {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto; }
    .form__link button {
      cursor: pointer;
      font-weight: bold;
      background-color: #ACB3C4;
      border: 1px solid #ACB3C4;
      color: #FFFFFF;
      max-width: 100%;
      height: 17.6vw;
      transition: 0.5s;
      width: 65%;
      font-size: 4.2666666667vw;
      line-height: 1.1875;
      letter-spacing: 0.1em; }
      .form__link button:hover {
        background-color: #FFFFFF;
        border: 1px solid #ACB3C4;
        color: #ACB3C4; }

  ::placeholder {
    color: #999999; }

        /* tel
---------------------------------------------------------------------- */
  #contents .tel {
    text-align: center;
    color: #000;
    padding: 13.3333333333vw 0vw 20vw 0vw; } }
  @media screen and (max-width: 1000px) and (min-width: 1000px) {
    #contents .tel {
      padding: 75px 0 125px; } }
@media screen and (max-width: 1000px) {
    #contents .tel span {
      display: block; }

  .tel__no {
    font-weight: 300;
    display: inline-block;
    padding: 0vw 0vw 2.6666666667vw 0vw;
    font-size: 8.5333333333vw;
    line-height: 1;
    letter-spacing: 0em; }
    .tel__no i {
      margin-right: 5px; }

     /* check page
---------------------------------------------------------------------- */
  .check .form {
    padding: 20vw 0vw 34.6666666667vw 0vw; }

  .check .form__lead {
    margin-bottom: 65px; }

  .check .form textarea {
    resize: none; }

  .check .form dl {
    margin-bottom: 20px; }

  .check .form__box {
    padding-bottom: 30px; }

  .check .form__link button {
    background-color: #3B4B72;
    border: 1px solid #3B4B72;
    color: #FFFFFF; }
    .check .form__link button:hover {
      background-color: #FFFFFF;
      border: 1px solid #3B4B72;
      color: #3B4B72; }

    /* thnks page
---------------------------------------------------------------------- */
  .thanks .form {
    padding: 20vw 0vw 0vw 0vw; }

  .thanks .lead {
    margin-bottom: 0; }
    .thanks .lead span {
      font-weight: bold; }

  .residence {
    text-align: center;
    color: #000;
    padding: 8vw 0vw 16vw 0vw; }
    .residence span {
      display: block; }

  .residence .tel {
    font-weight: 300;
    display: inline-block;
    padding: 0vw 0vw 2.6666666667vw 0vw;
    font-size: 8.5333333333vw;
    line-height: 1;
    letter-spacing: 0em; }
    .residence .tel i {
      margin-right: 5px; }

  .residence .mail {
    color: #000;
    font-weight: 300;
    display: inline-block;
    padding: 0vw 0vw 2.6666666667vw 0vw; }
    .residence .mail i {
      margin-right: 5px; } 

    .form .formItem__m input[type="text"].short {
      width: 40%;
    }
    .form .formItem__m select#bmonth {
      width: 20%;
      height: 50px;
    }
    .form .formItem__m select#bday {
      width: 20%;
      height: 50px;
    }
    .form .people_item input.short {
      width: 20%;
    }
    .form .wanwan_item input.short {
      width: 20%;
    }
    
  .form dl.caketiming .error,
  .form dl.cakesurprise .error {
    bottom: 0;
  }

    }



/*  2023/11/25追加 */
/*  2024年4月から利用時間変更のため2024年3月31日までの利用時間と併記する為に使用する */
/*@media(min-width:1001px){
  .dayuse_item {
    position: relative;
    padding-top: 40px;
  }
  .form .bath_item dl:nth-child(2) {
    align-items: flex-start;
  }
  .dayuse_item span {
    display: block;
  }
  .dayuse_item span:nth-of-type(3) {
    margin-bottom: 40px;
  }
  .dayuse_item::before {
    content: "2024/03/31まで";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 10px;
    font-weight: bold;
  }
  .dayuse_item::after {
    content: "2024/04/01以降";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 120px;
    font-weight: bold;
  }

  .stay_item {
    position: relative;
    padding-top: 40px;
  }
  .stay_item span {
    display: block;
  }
  .stay_item span:nth-of-type(4) {
    margin-bottom: 40px;
  }
  .stay_item::before {
    content: "2024/03/31まで";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 10px;
    font-weight: bold;
  }
  .stay_item::after {
    content: "2024/04/01以降";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 150px;
    font-weight: bold;
  }
}

@media(max-width:1000px){
  .dayuse_item {
    position: relative;
    padding-top: 40px;
  }
  .dayuse_item span {
    display: block;
  }
  .dayuse_item span:nth-of-type(3) {
    margin-bottom: 40px;
  }
  .dayuse_item::before {
    content: "2024/03/31まで";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    font-weight: bold;
  }
  .dayuse_item::after {
    content: "2024/04/01以降";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 7.5em;
    font-weight: bold;
  }

  .stay_item {
    position: relative;
    padding-top: 40px;
  }
  .stay_item span {
    display: block;
  }
  .stay_item span:nth-of-type(4) {
    margin-bottom: 40px;
  }
  .stay_item::before {
    content: "2024/03/31まで";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 0;
    font-weight: bold;
  }
  .stay_item::after {
    content: "2024/04/01以降";
    display: inline-block;
    position: absolute;
    left: 0;
    top: 8.8em;
    font-weight: bold;
  }
}
*/
  .fw_bold { font-weight:bold; }


/*# sourceMappingURL=style.css.map */
