@charset "UTF-8";
/* ---------------------------------------------------
	common
------------------------------------------------------ */
#pagetit:before {
  background: url(../../osechi/img/pagetit.jpg?20240912) no-repeat center;
  background-size: cover;
}
#pagetit .pagetit_tit .en {
  text-shadow    :
    1px  1px 0px #ffffff,
    -1px  1px 0px #ffffff,
    1px -1px 0px #ffffff,
    -1px -1px 0px #ffffff,
    1px  0px 0px #ffffff,
    0px  1px 0px #ffffff,
    -1px  0px 0px #ffffff,
    0px -1px 0px #ffffff;
}

#lead .lead_txt {
	width: fit-content;
	margin: 0 auto;
}
/* ---------------------------------------------------
	sec1
------------------------------------------------------ */
#sec1 {
  padding: 0 0 80px;
}
#sec1 .form_wrap {
  margin-top: 56px;
  padding: 32px 0 80px;
  border: 1px solid #1a1a1a;
}
#sec1 .form_table {
  max-width: 950px;
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 20px 0;
}
#sec1 .form_table th,
#sec1 .form_table td {
  vertical-align: top;
  border-bottom: 1px solid #1a1a1a;
}
#sec1 .form_table th {
  width: 220px;
  padding: 17px 0 15px;
}
#sec1 .form_table th > span {
  display: inline-block;
}
#sec1 .form_table th .note {
  display: block;
  margin-top: 10px;
  margin-bottom: 5px;
  padding: 5px 8px;
  border: 1px dotted;
  color: #e01c24;
  font-size: 1.4rem;
  letter-spacing: 0;
  line-height: 1.4;
}
#sec1 .form_table th .note a {
  display: inline-block;
  color: #e01c24;
  text-decoration: underline;
}
#sec1 .form_table th .note a:hover {
  text-decoration: none;
  opacity: 1;
}
#sec1 .form_table td {
  width: calc(100% - 180px);
  padding: 14px 0 10px 0;
}
#sec1 .form_table td > span {
  display: inline-block;
  padding-left: 10px;
}
#sec1 .form_table input[type=text],
#sec1 .form_table input[type=tel],
#sec1 .form_table input[type=email],
#sec1 .form_table input[type=number] {
  width: 100%;
  max-width: 100%;
  margin: 5px 0;
  padding: 3px 6px;
  border: 1px solid #b2b2b2;
  box-sizing: border-box;
  font-size: 18px;
  font-family: "M PLUS Rounded 1c", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#sec1 .form_table select {
  max-width: 100%;
  margin: 6px 0 6px;
  padding: 3px 6px;
  font-size: 16px;
  font-family: "M PLUS Rounded 1c", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#sec1 .form_table textarea {
  width: 97%;
  max-width: 100%;
  margin: 6px 0;
  padding: 3px 3px;
  height: 17em;
  border: 1px solid #bfc3bf;
  font-size: 16px;
  font-family: "M PLUS Rounded 1c", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
#sec1 .form_table label {
  margin: 5px 1em 5px 0;
}
#sec1 .form_table label:last-of-type {
  margin-bottom: 0;
}
#sec1 .form_table .must {
  padding-left: 4px;
}
#sec1 .form_table small {
  display: inline-block;
}
#sec1 .form_table img.mail {
  margin: 0 3px;
  vertical-align: middle;
}
#sec1 .must {
  color: #e01c24;
}
#sec1 .btn_wrap {
  margin: 56px auto 0;
  text-align: center;
}
#sec1 #btn_submit {
  position: relative;
  display: inline-block;
  min-width: 264px;
  max-width: 100%;
  min-height: 72px;
  padding: 22px 64px 20px 20px;
  background: #fff;
  border: 1px solid #1a1a1a;
  border-radius: 4px;
  color: #1a1a1a;
  box-sizing: border-box;
  font-family: "M PLUS Rounded 1c", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  cursor: pointer;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
  text-align: left;
  transition: all 0.3s;
}
#sec1 #btn_submit:hover {
  color: #ffbd00;
  opacity: 1;
}
#sec1 #btn_submit:hover .arrow .icon_arrow {
  animation: arrow_anime 0.3s ease-in-out forwards;
}
#sec1 #btn_submit .arrow {
  position: absolute;
  right: 9px;
  top: 0;
  bottom: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 39px;
  height: calc(100% - 16px);
  margin: auto 0;
  background: #ffbd00;
  border-radius: 3px;
  text-align: center;
  line-height: 1;
  overflow: hidden;
}
#sec1 .txt02 {
  margin-top: 48px;
  text-align: center;
}
#sec1 .txt02 .txt_large {
  font-size: 18px;
}
#sec1 .form_table .noborder {
	border: none;
}
#sec1 .form_table .place_number {
	padding: 12px;
	background: #ffbd00;
	text-align: center;
  position: relative;
  top: -1px;
}
@media screen and (max-width: 810px) {
  #sec1 {
    padding: 0 0 40px;
  }
  #sec1 .form_wrap {
    margin-top: 0;
    padding: 32px 0;
    border: none;
  }
  #sec1 .form_table {
    border-spacing: 0;
  }
  #sec1 .form_table th {
    display: block;
    width: 100%;
    padding: 10px 10px;
    background: #ffebb2;
    white-space: normal;
    line-height: 1.6;
  }
  #sec1 .form_table td {
    display: block;
    width: 100%;
    padding: 10px 10px 15px;
    font-size: 16px;
    line-height: 1.6;
  }
  #sec1 .form_table td > span {
    padding-left: 0;
  }
  #sec1 .form_table input[type=text],
  #sec1 .form_table input[type=tel],
  #sec1 .form_table input[type=mail] {
    width: 100%;
  }
  #sec1 .form_table label {
    white-space: normal;
  }
  #sec1 .form_table textarea {
    width: 100%;
  }
  #sec1 .form_table img.mail {
    width: 188px;
  }
  #sec1 .btn_wrap {
    margin: 30px 0 10px;
  }
  #sec1 #btn_submit {
    width: 100%;
  }
  #sec1 .txt02 {
    margin: 25px 0 0;
  }
}
/* ---------------------------------------------------
	sec2
------------------------------------------------------ */
#sec2 {
  margin-bottom: 160px;
  padding: 80px 0;
  background: #ffbd00;
}
#sec2 .contact_box {
  background: #2d2d2c;
  color: #fff;
  text-align: center;
}
#sec2 .contact_box .box_txt {
  width: 46%;
  padding-top: 4px;
}
#sec2 .contact_box .box_txt .tit {
  margin-bottom: 10px;
  line-height: 1.4;
}
#sec2 .contact_box .box_txt .tit .main {
  display: block;
  margin-top: 5px;
  font-size: 2.4rem;
}
#sec2 .contact_box .box_txt .tel {
  margin: 10px 0;
  font-size: 2.6rem;
  line-height: 1;
  white-space: nowrap;
}
#sec2 .contact_box .box_txt .tel a {
  color: #fff;
}
#sec2 .contact_box .box_txt .tel .sp_tel {
  font-size: 3.2rem;
}
#sec2 .contact_box .box_txt .txt {
  letter-spacing: 0;
}
#sec2 .contact_box .box_pic01,
#sec2 .contact_box .box_pic02 {
  width: 27%;
  max-width: 296px;
}
#sec2 .contact_box .box_pic01 {
  order: -1;
}

@media screen and (max-width: 810px) {
  #sec2 {
    margin-bottom: 80px;
    padding: 40px 0;
  }
  #sec2 .contact_box .box_txt {
    width: 100%;
    padding: 20px 0;
  }
  #sec2 .contact_box .box_txt .tit {
    margin-bottom: 16px;
  }
  #sec2 .contact_box .box_txt .tit .main {
    margin-top: 10px;
  }
  #sec2 .contact_box .box_pic01,
  #sec2 .contact_box .box_pic02 {
    width: 50%;
    max-width: 50%;
  }
  #sec2 .contact_box .box_pic01 {
    order: 0;
  }
}

/* ---------------------------------------------------
	sec3
------------------------------------------------------ */
#sec3 {
	padding-bottom: 72px;
}
@media screen and (max-width: 810px) {
	#sec3 {
		padding-bottom: 36px;
	}
}
/* ---------------------------------------------------
	thanks
------------------------------------------------------ */
.thanks #lead {
  margin-bottom: 80px;
}

@media screen and (max-width: 810px) {
  .thanks #lead {
    margin-bottom: 40px;
  }
}