@charset "UTF-8";
/* Scss Document */
/* Scss Document */
/* A Modern CSS Reset */
*, *::before, *::after {
  box-sizing: border-box; }

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0; }

ul[role="list"], ol[role="list"] {
  list-style: none; }

html:focus-within {
  scroll-behavior: smooth; }

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5; }

a:not([class]) {
  text-decoration-skip-ink: auto; }

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

input, button, textarea, select {
  font: inherit; }

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto; }

  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important; } }
img {
  width: 100%;
  max-width: 100%;
  height: auto;
  backface-visibility: hidden; }

ul, li {
  list-style: none;
  padding: 0;
  margin: 0; }

a {
  outline: none;
  text-decoration: none !important; }

/*--------------------------
メディアクエリ設定
---------------------------*/
/*マップ型変数で定義*/
/*@mixinでメディアクエリを呼び出す。変数mq、初期値sm*/
/*フォントサイズレスポンシブ*/
/*20pxのテキストを画面幅に合わせて変更する場合*/
/*.sample {
  @include fs-vw(20);
}*/
/*-------------------------------------
変数
-------------------------------------*/
/*-------------------------------------
全体
-------------------------------------*/
* {
  box-sizing: border-box; }

html, body {
  scroll-behavior: smooth;
  scroll-padding-top: 60px;
  overflow-x: hidden; }
  @media screen and (min-width: 768px) {
    html, body {
      scroll-padding-top: 144px; } }

body {
  font-family: 'Noto Sans JP',"Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #333333;
  font-size: 3.8647342995vw; }
  @media screen and (min-width: 768px) {
    body {
      font-size: 16px; } }

a.el_txt_link {
  text-decoration: underline !important;
  color: #671C7A; }

a[href^="tel:"] {
  pointer-events: auto; }
  @media screen and (min-width: 768px) {
    a[href^="tel:"] {
      pointer-events: none; } }

.ly_container {
  overflow-x: hidden; }

.ly_sectionInner {
  width: 100%;
  padding: 2em 1em;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 768px) {
    .ly_sectionInner {
      max-width: 1000px;
      padding: 4em 0; } }
  .ly_sectionInner.ly_sectionInner__pt {
    margin-bottom: 3em; }
  .ly_sectionInner.ly_sectionInner__imgBg {
    padding: 4em 0 2em;
    margin: 4em auto 0; }
    @media screen and (min-width: 768px) {
      .ly_sectionInner.ly_sectionInner__imgBg {
        padding: 7em 0 2em;
        margin: 0 auto; } }
  .ly_sectionInner.ly_sectionInner__thanks {
    width: 90%;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (min-width: 768px) {
      .ly_sectionInner.ly_sectionInner__thanks {
        width: 100%; } }

/*-------------------------------------
ヘルパークラス
-------------------------------------*/
.hp_txt_small {
  font-size: 0.8em !important; }

.hp_txt_large {
  font-size: 1.5em !important; }

.hp_txt_or {
  color: #671C7A !important; }

.hp_txt_caution {
  color: #E00429; }

.hp_txt_marker {
  background: linear-gradient(transparent 60%, #FFEB00 60%); }
  .hp_txt_marker.hp_txt_marker__fill {
    background: #FFEB00; }

.hp_weight_bold {
  font-weight: bold; }

.hp_ta_c {
  text-align: center !important; }

.hp_sp_br {
  display: block; }
  @media screen and (min-width: 768px) {
    .hp_sp_br {
      display: none; } }

.hp_bg_be {
  background-color: #FBF8EE; }

.hp_bg_gray {
  background-color: #F5F2EF; }

.flex_2col {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px; }

/*-------------------------------------
共通パーツ
-------------------------------------*/
.bl_heading {
  text-align: center;
  position: relative;
  font-size: 1.5em;
  font-weight: 700; }
  @media screen and (min-width: 768px) {
    .bl_heading {
      font-size: 2.2em; } }
  .bl_heading .el_heading_txt {
    display: block;
    color: #000; }
  .bl_heading .el_heading_subTxt {
    display: block;
    font-size: 0.5em;
    color: #67C5C5;
    margin-top: 0.2em; }

/*------------ボタン------------*/
.ly_btn {
  width: 90%;
  margin: 1em auto; }
  @media screen and (min-width: 768px) {
    .ly_btn {
      width: 40%;
      margin: 1em auto; } }

.bl_btn {
  /*default*/
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 88px;
  border: solid 2px #3B3B3B;
  padding: 1em;
  background: #fff;
  font-weight: 700;
  text-align: center;
  -webkit-transition: .3s all;
  transition: .3s all;
  background: #FFED4B;
  position: relative;
  box-shadow: 2px 4px 0px 7px #3B3B3B; }
  @media screen and (min-width: 768px) {
    .bl_btn {
      padding: 1em;
      letter-spacing: 0.08em; } }
  .bl_btn:focus {
    box-shadow: none;
    -webkit-transition: .3s all;
    transition: .3s all;
    -webkit-transform: translate(2px, 2px);
    transform: translate(2px, 2px); }
  .bl_btn:hover {
    box-shadow: none;
    -webkit-transition: .3s all;
    transition: .3s all;
    -webkit-transform: translate(2px, 2px);
    transform: translate(2px, 2px); }
  .bl_btn::after {
    display: block;
    content: "";
    width: 20px;
    height: 20px;
    background: url("../images/icon-arrow-bk@2x.png");
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    right: 12px;
    z-index: 1;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  .bl_btn .bl_btn_icon {
    width: 30px;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    margin-left: auto; }
    .bl_btn .bl_btn_icon > img {
      width: 40%;
      display: block;
      margin: 0 auto; }
  .bl_btn .bl_btn_txt {
    width: 100%;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto; }
  .bl_btn .el_btn_txt {
    width: 100%;
    color: #333333;
    text-shadow: 2px 2px 0px white;
    font-size: 1.313em; }
    @media screen and (min-width: 768px) {
      .bl_btn .el_btn_txt {
        font-size: 1.6em; } }
    .bl_btn .el_btn_txt > .hp_txt_s {
      font-size: 0.8em; }
    .bl_btn .el_btn_txt.el_btn_txt__l {
      font-size: 1.1em; }
  .bl_btn.bl_btn__header {
    flex-direction: column;
    border-style: none;
    position: relative;
    -webkit-transition: .3s all;
    transition: .3s all; }
    @media screen and (min-width: 768px) {
      .bl_btn.bl_btn__header {
        flex-direction: row;
        border-style: inherit; } }

/*-------------------------------------
footer
-------------------------------------*/
.ly_footer {
  width: 100%;
  background: #fff;
  /*	padding: 0.4em 0;*/
  /*	@include mq(pc){
  		padding: 48px 0 0;
  	}*/ }
  .ly_footer.ly_footer__contact {
    padding: 0.4em 0;
    /*		@include mq(pc){
    			padding: 48px 0 0;
    		}*/ }

.ly_footer_upperInner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  width: 100%;
  padding: 1em; }
  @media screen and (min-width: 768px) {
    .ly_footer_upperInner {
      flex-direction: row;
      padding: 0 1em; } }
  .ly_footer_upperInner > .bl_logo {
    width: 40%;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto; }
    @media screen and (min-width: 768px) {
      .ly_footer_upperInner > .bl_logo {
        width: 300px; } }

.ly_footerLink {
  width: 100%;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  margin: 1em auto; }
  @media screen and (min-width: 768px) {
    .ly_footerLink {
      margin: 0 auto;
      max-width: 400px; } }

.bl_footerLink {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  padding: 0 2em; }
  @media screen and (min-width: 768px) {
    .bl_footerLink {
      gap: 32px; } }
  .bl_footerLink > li {
    width: 100%;
    text-align: center; }
    .bl_footerLink > li > a {
      display: block;
      padding: 0.5em 0;
      font-size: 0.875em;
      color: #333; }

.ly_copyright {
  background: #fff;
  padding: 0.5em;
  text-align: center;
  font-size: 0.8em;
  border-top: solid 1px #D4D4D4;
  /*	@include mq(pc){
  		margin-top: 32px;
  	}*/ }

/*-------------------------------------
SP固定フッター
-------------------------------------*/
.ly_sp_fixed {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  background: #fff;
  padding: 1em;
  z-index: 980;
  box-shadow: 0px 0px 13px -6px rgba(0, 0, 0, 0.3); }
  @media screen and (min-width: 768px) {
    .ly_sp_fixed {
      display: none; } }

.bl_sp_fixedInner {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: 8px; }

.bl_sp_fixed_left {
  width: 100%;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto; }

.bl_sp_fixed_right {
  width: 100%;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto; }

/**/
/*----------------------------
TOP
----------------------------*/
/*SP準拠・PC上書き*/
/*------------FV----------------*/
.ly_fv {
  position: relative;
  z-index: 1; }

.bl_fv {
  width: 100%;
  margin: 0 auto; }

/*----------------------------
コンテスト名
----------------------------*/
.ly_cv {
  padding: 2em 1em; }
  @media screen and (min-width: 768px) {
    .ly_cv {
      padding: 2em 1em; } }

.bl_contest_subTtl {
  width: 80%;
  margin: 0 auto 1em; }
  @media screen and (min-width: 768px) {
    .bl_contest_subTtl {
      width: 40%; } }

.bl_contest_ttl {
  font-size: 1.5em;
  text-align: center; }
  @media screen and (min-width: 768px) {
    .bl_contest_ttl {
      font-size: 2em; } }

.ly_cvBtn {
  width: 80%;
  margin: 2em auto; }
  @media screen and (min-width: 768px) {
    .ly_cvBtn {
      max-width: 500px;
      width: 100%; } }

/*----------------------------
応募手順
----------------------------*/
#apply {
  background: #e1fff7;
  background: linear-gradient(0deg, #e1fff7 0%, #bbfcff 100%);
  position: relative;
  z-index: 1; }
  #apply::after {
    display: block;
    content: "";
    width: 100%;
    height: 200px;
    background: url("../images/pt-wave-br@2x.png");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -200px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: -1; }

.ly_applyList {
  margin: 2em auto;
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 768px) {
    .ly_applyList {
      max-width: 750px;
      width: 100%; } }
  .ly_applyList::before {
    display: block;
    content: "";
    width: 300px;
    height: 300px;
    background: url("../images/pt-dot-sq@2x.png");
    background-repeat: no-repeat;
    background-size: 70%;
    position: absolute;
    top: -70px;
    right: -180px;
    z-index: -1; }
  .ly_applyList::after {
    display: block;
    content: "";
    width: 300px;
    height: 300px;
    background: url("../images/pt-dot-circle@2x.png");
    background-repeat: no-repeat;
    background-size: 70%;
    position: absolute;
    bottom: -90px;
    left: -150px;
    z-index: -1; }

.bl_applyList.flex_2col {
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 48px; }
  @media screen and (min-width: 768px) {
    .bl_applyList.flex_2col {
      flex-wrap: nowrap; } }
.bl_applyList > li {
  width: 60%;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 768px) {
    .bl_applyList > li {
      width: 100%; } }
  .bl_applyList > li::after {
    display: block;
    content: "";
    width: 100%;
    height: 173px;
    background: #FFED4B;
    border: solid 4px #2A2A2A;
    border-radius: 12px;
    position: absolute;
    top: 8px;
    right: -8px;
    z-index: -1; }
    @media screen and (min-width: 768px) {
      .bl_applyList > li::after {
        height: 183px; } }
  .bl_applyList > li:not(:last-of-type)::before {
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 24px solid transparent;
    border-bottom: 24px solid transparent;
    border-left: 22px solid #67c5c5;
    border-right: 0;
    position: absolute;
    bottom: -48px;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 3;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg); }
    @media screen and (min-width: 768px) {
      .bl_applyList > li:not(:last-of-type)::before {
        display: none; } }
  @media screen and (min-width: 768px) {
    .bl_applyList > li:not(:last-of-type) .bl_apply_img::after {
      display: block;
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-top: 24px solid transparent;
      border-bottom: 24px solid transparent;
      border-left: 22px solid #67c5c5;
      border-right: 0;
      position: absolute;
      top: 50%;
      right: -44px;
      z-index: 1;
      -webkit-transform: translateY(-50%);
      transform: translateY(-50%); } }

.bl_apply_img {
  background: #fff;
  border: solid 4px #2A2A2A;
  border-radius: 12px;
  padding: 1em;
  position: relative;
  z-index: 1; }
  .bl_apply_img > img {
    width: 80%;
    display: block;
    margin: 0 auto; }

.bl_apply_num {
  width: 32%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 4; }

.bl_apply_txtWrapper {
  margin-top: 1em; }

.ly_apply_cautionTxt {
  margin: 2em auto;
  text-align: center; }

.el_apply_cautionTxt {
  font-size: 0.875em; }

/*----------------------------
応募部門
----------------------------*/
#category {
  position: relative;
  z-index: 1; }
  #category::after {
    display: block;
    content: "";
    width: 100%;
    height: 200px;
    background: url("../images/pt-wave-w@2x.png");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: -200px;
    left: 0;
    right: 0;
    margin: auto;
    z-index: -1; }
    @media screen and (min-width: 768px) {
      #category::after {
        bottom: -240px; } }

.ly_categoryList {
  margin: 2em auto; }
  @media screen and (min-width: 768px) {
    .ly_categoryList {
      width: 100%;
      max-width: 700px; } }

.bl_categoryList {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 32px;
  flex-wrap: wrap; }
  @media screen and (min-width: 768px) {
    .bl_categoryList {
      flex-wrap: nowrap; } }
  .bl_categoryList > li {
    width: 80%;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
    background: #fff;
    padding: 12px;
    position: relative;
    z-index: 2; }
    @media screen and (min-width: 768px) {
      .bl_categoryList > li {
        width: 100%; } }
    .bl_categoryList > li::before {
      display: block;
      content: "";
      width: 100%;
      height: 100%;
      background: #fff;
      border: solid 4px #2A2A2A;
      border-radius: 8px;
      position: absolute;
      top: 0;
      right: 0;
      z-index: 1; }
    .bl_categoryList > li::after {
      display: block;
      content: "";
      width: 100%;
      height: 100%;
      background: #67C5C5;
      border: solid 4px #2A2A2A;
      border-radius: 8px;
      position: absolute;
      top: 9px;
      right: -9px;
      z-index: -1; }
    .bl_categoryList > li.office::after {
      background: #FFED4B; }

.bl_category_img {
  position: relative;
  z-index: 1; }

.ly_balloon {
  width: 120px;
  position: absolute;
  top: -20px;
  right: -40px;
  z-index: 2; }
  @media screen and (min-width: 768px) {
    .ly_balloon {
      width: 150px; } }

.bl_category_name {
  padding-top: 0.5em;
  padding-bottom: 1em;
  text-align: center;
  position: relative;
  z-index: 3; }

.el_category_name {
  font-size: 1.2em;
  position: relative;
  z-index: 3; }

.ly_category_txt {
  margin: 1.5em auto;
  text-align: center;
  position: relative;
  z-index: 3; }

.ly_category_cautionTxt {
  margin: 3em auto; }
  @media screen and (min-width: 768px) {
    .ly_category_cautionTxt {
      width: 100%;
      max-width: 700px; } }

.bl_category_cautionTxt {
  background: #E86464;
  padding: 1em; }

.el_icon {
  width: 15%; }
  @media screen and (min-width: 768px) {
    .el_icon {
      width: 5%; } }

.el_txt {
  color: #fff;
  font-size: 1.125em; }

/*----------------------------
ガイドライン
----------------------------*/
#guidelines {
  background: #F6F6F6; }

.ly_guidelinesList {
  margin: 3em auto; }
  @media screen and (min-width: 768px) {
    .ly_guidelinesList {
      width: 100%;
      max-width: 840px; } }

.bl_guidelinesList {
  background: #fff;
  padding: 2em; }

.bl_guidelinesBox:nth-child(n+2) {
  margin-top: 2em; }

.bl_guidelines_ttl {
  color: #67C5C5;
  font-weight: bold;
  font-size: 1.125em;
  margin-bottom: 0.5em; }

.bl_guidelines_cont:nth-of-type(n+2) {
  margin-top: 2em; }
.bl_guidelines_cont .hp_txt_strike {
  position: relative;
  z-index: 1; }
  .bl_guidelines_cont .hp_txt_strike::before {
    display: block;
    content: "";
    width: 100%;
    height: 1px;
    background: #333333;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: 2; }
.bl_guidelines_cont .el_timeTxt {
  display: inline-block; }
.bl_guidelines_cont .el_label.el_label__arrow {
  display: inline-block;
  background: #FFED4B;
  color: #333;
  text-align: center;
  font-size: 0.875em;
  border-radius: 0;
  margin: 0;
  position: relative;
  z-index: 1; }
  .bl_guidelines_cont .el_label.el_label__arrow::after {
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 13px solid transparent;
    border-bottom: 13px solid transparent;
    border-left: 11px solid #ffed4b;
    border-right: 0;
    position: absolute;
    top: 50%;
    right: -10px;
    transform: translateY(-50%);
    z-index: 2; }
  @media screen and (min-width: 768px) {
    .bl_guidelines_cont .el_label.el_label__arrow + .el_timeTxt {
      padding-left: 0.8em; } }

.bl_guidelines_detailList {
  margin-top: 1em; }
  .bl_guidelines_detailList > li {
    text-indent: -1em;
    padding-left: 1em; }
    .bl_guidelines_detailList > li:nth-of-type(n+2) {
      margin-top: 0.2em; }

.bl_contact_company {
  margin-top: 2em; }

.el_cc_ttl {
  font-weight: bold; }

/*----------------------------
利用規約エリア
----------------------------*/
.ly_kiyaku {
  margin: 3em auto; }
  @media screen and (min-width: 768px) {
    .ly_kiyaku {
      width: 100%;
      max-width: 840px; } }

.bl_kiyaku_ttl {
  font-weight: bold;
  font-size: 1.125em;
  margin-top: 1em;
  margin-bottom: 1em; }

.ly_kiyaku_area {
  width: 100%;
  height: 400px;
  overflow-y: scroll;
  margin: 1em auto;
  padding: 2em;
  background: #fff;
  font-size: 0.875em; }

.bl_kiyaku_lead {
  margin-bottom: 1em;
  line-height: 1.7; }

.bl_kiyakuList > li {
  line-height: 1.7; }
  .bl_kiyakuList > li:nth-of-type(n+2) {
    margin-top: 0.5em; }

.bl_kiyaku_sign {
  margin: 2em 0; }

/*----------------------------
応募エリア
----------------------------*/
#entry {
  background: linear-gradient(0deg, #FFFFFE 0%, #e1fff7 100%);
  position: relative;
  z-index: 1; }
  #entry .ly_formWrapper {
    position: relative; }
    #entry .ly_formWrapper::before {
      display: block;
      content: "";
      width: 200px;
      height: 200px;
      background-image: url("../images/pt-dot-sq@2x.png");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      top: -80px;
      left: -20px;
      z-index: -1; }
    #entry .ly_formWrapper::after {
      display: block;
      content: "";
      width: 100px;
      height: 100px;
      background-image: url("../images/pt-circle-w@2x.png");
      background-repeat: no-repeat;
      background-size: contain;
      background-position: center;
      position: absolute;
      top: 180px;
      right: 0;
      z-index: -3; }
  #entry .ly_form {
    width: 100%;
    padding: 2em;
    position: relative;
    background: #fff;
    border: solid 4px #3B3B3B;
    border-radius: 16px; }
    #entry .ly_form::after {
      display: block;
      content: "";
      width: 100%;
      height: 100%;
      background: #D6D6D6;
      border: solid 4px #3B3B3B;
      border-radius: 16px;
      position: absolute;
      top: 13px;
      right: -13px;
      z-index: -2; }

/**/
/*----------------------------
お問合せフォーム
----------------------------*/
.ly_contact_lead {
  margin: 2em auto; }
  @media screen and (min-width: 768px) {
    .ly_contact_lead {
      margin: 32px auto; } }

.bl_contact_lead {
  text-align: center;
  line-height: 1.8; }

.ly_camp_caution {
  border: solid 1px #CC6055;
  padding: 1em 1.5em;
  width: 90%;
  margin: 1em auto 0.5em; }
  @media screen and (min-width: 768px) {
    .ly_camp_caution {
      width: 80%;
      padding: 1.5em; } }

.bl_camp_caution {
  text-align: center;
  line-height: 1.5; }
  @media screen and (min-width: 768px) {
    .bl_camp_caution {
      line-height: 1.8; } }

/*--------------------------------------------------
文字関係
---------------------------------------------------*/
.ly_lead_catuion {
  width: 96%;
  margin: 2em auto;
  border: solid 1px #e50000;
  margin: 2em auto; }
  @media screen and (min-width: 768px) {
    .ly_lead_catuion {
      width: 100%;
      max-width: 800px; } }

.bl_lead_caution {
  color: #e50000;
  padding: 1em;
  text-align: center; }

.el_lead {
  text-align: center;
  display: block;
  margin: 1em auto; }
  @media screen and (min-width: 768px) {
    .el_lead {
      margin: 1.5em auto; } }
  .el_lead.el_lead__form {
    color: #671C7A; }

/*--------------------------------------------------
横並び
---------------------------------------------------*/
.ly_flex {
  width: 96%;
  margin: 2em auto; }
  @media screen and (min-width: 768px) {
    .ly_flex {
      width: 100%;
      max-width: 900px;
      margin: 2em auto; } }

.bl_flexList {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap; }
  @media screen and (min-width: 768px) {
    .bl_flexList {
      flex-wrap: nowrap; } }

.bl_flexListItem {
  width: 100%;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto; }
  .bl_flexListItem:nth-child(n+2) {
    margin-top: 1em; }
    @media screen and (min-width: 768px) {
      .bl_flexListItem:nth-child(n+2) {
        margin-left: 1em; } }

/*--------------------------------------------------
注釈
---------------------------------------------------*/
.ly_caution {
  width: 96%;
  margin: 2em auto; }
  @media screen and (min-width: 768px) {
    .ly_caution {
      width: 100%;
      max-width: 900px;
      margin: 2em auto; } }

.bl_caution_ttl {
  border-top: solid 1px #333;
  border-bottom: solid 1px #333;
  padding: 0.5em 0;
  position: relative;
  font-size: 3.3816425121vw; }
  @media screen and (min-width: 768px) {
    .bl_caution_ttl {
      font-size: 0.875em; } }
  .bl_caution_ttl::after {
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 8px 0 8px;
    border-color: #000333 transparent transparent transparent;
    position: absolute;
    top: 50%;
    right: 1em;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }

.bl_caution_cont {
  margin-top: 1em; }

.bl_cautionListItem {
  font-size: 2.8985507246vw; }
  @media screen and (min-width: 768px) {
    .bl_cautionListItem {
      font-size: 0.8em; } }

/*--------------------------------------------------
お問合せフォーム本体
---------------------------------------------------*/
.ly_form {
  display: block;
  width: 100%;
  margin: 2em auto; }
  @media screen and (min-width: 768px) {
    .ly_form {
      width: 100%;
      max-width: 800px;
      margin: 2em auto; } }
  .ly_form.ly_form__confirm {
    width: 90%; }
    @media screen and (min-width: 768px) {
      .ly_form.ly_form__confirm {
        width: 100%; } }
  .ly_form input[type="text"] {
    padding: 0.5em;
    width: 100%;
    font-size: 4.347826087vw; }
    @media screen and (min-width: 768px) {
      .ly_form input[type="text"] {
        font-size: 1.125em; } }
  .ly_form input[type="tel"] {
    padding: 0.5em;
    width: 100%;
    font-size: 4.347826087vw; }
    @media screen and (min-width: 768px) {
      .ly_form input[type="tel"] {
        font-size: 1.125em; } }
  .ly_form input[type="email"] {
    padding: 0.5em;
    width: 100%;
    font-size: 4.347826087vw; }
    @media screen and (min-width: 768px) {
      .ly_form input[type="email"] {
        font-size: 1.125em; } }
  .ly_form select {
    padding: 0.5em;
    width: 100%;
    font-size: 4.347826087vw; }
    @media screen and (min-width: 768px) {
      .ly_form select {
        font-size: 1.125em; } }
  .ly_form input[type="checkbox"] {
    width: 24px;
    height: 24px;
    vertical-align: middle; }
  .ly_form input[type="radio"] {
    width: 24px;
    height: 24px;
    vertical-align: middle; }
  .ly_form .el_labeltxt {
    vertical-align: middle; }
  .ly_form textarea {
    width: 100%;
    padding: 0.5em;
    font-size: 4.347826087vw; }
    @media screen and (min-width: 768px) {
      .ly_form textarea {
        font-size: 1.125em; } }

.bl_formList {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  border-top: solid 1px #BFBFBF;
  padding: 1em;
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    .bl_formList {
      flex-wrap: nowrap; } }
  .bl_formList:first-child {
    border-top-style: none; }
  .bl_formList:last-child {
    border-bottom: solid 1px #BFBFBF; }

.el_formList_ttl {
  width: 100%;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  font-weight: 700;
  color: #333333; }
  @media screen and (min-width: 768px) {
    .el_formList_ttl {
      width: 50%; } }

.bl_formList_cont {
  width: 100%;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  margin-top: 0.8em; }
  @media screen and (min-width: 768px) {
    .bl_formList_cont {
      margin-top: 0; } }
  .bl_formList_cont.bl_formList_cont__flex {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap; }
    @media screen and (min-width: 768px) {
      .bl_formList_cont.bl_formList_cont__flex {
        flex-wrap: nowrap; } }
    @media screen and (min-width: 768px) {
      .bl_formList_cont.bl_formList_cont__flex div:nth-child(n+2) {
        margin-left: 0.5em; } }
  .bl_formList_cont.bl_formList_cont__photo > div {
    display: block;
    margin: 0 auto;
    max-width: 300px;
    max-height: 600px; }
  .bl_formList_cont.bl_formList_cont__photo img {
    object-fit: contain;
    height: 100%; }

.bl_formList_contListItem {
  width: 100%;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto; }

.bl_product_img {
  display: block;
  margin-top: 1em; }

/*送信ボタン*/
.ly_submit {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  align-items: center;
  gap: 24px;
  width: 96%;
  margin: 2em auto;
  /*確認画面用*/ }
  @media screen and (min-width: 768px) {
    .ly_submit {
      width: 100%;
      max-width: 440px;
      margin: 2em auto; } }
  @media screen and (min-width: 768px) {
    .ly_submit.ly_submit__confirm {
      max-width: 440px; } }

.bl_submit {
  width: 100%;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto; }
  .bl_submit.bl_submit__back {
    width: 60%; }

.el_submit {
  display: block;
  width: 100%;
  padding: 1em 1.5em;
  border-radius: 88px;
  background-color: #FFED4B;
  background-image: url("../images/icon-arrow-circle-arrow@2x.png");
  background-size: 24px;
  background-position: center right 13px;
  background-repeat: no-repeat;
  text-align: center;
  color: #3B3B3B;
  border: solid 4px #3B3B3B;
  font-weight: 900;
  border-style: none;
  cursor: pointer;
  pointer-events: auto;
  transition: .3s all;
  -webkit-appearance: none;
  appearance: none;
  box-shadow: 2px 4px 0px 7px #3B3B3B;
  font-size: 5.0724637681vw; }
  @media screen and (min-width: 768px) {
    .el_submit {
      font-size: 1.5em;
      background-size: 40px;
      background-position: center right 20px; } }
  .el_submit.el_submit__back {
    background: #B1B1B1;
    padding: 0.5em;
    box-shadow: none; }
  .el_submit.js-disabled {
    background: #aaa;
    pointer-events: none;
    transition: .3s all;
    background-image: url("../images/icon-arrow-circle-arrow@2x.png");
    background-size: 24px;
    background-position: center right 13px;
    background-repeat: no-repeat; }
    @media screen and (min-width: 768px) {
      .el_submit.js-disabled {
        background-size: 40px;
        background-position: center right 20px; } }
  .el_submit:focus {
    box-shadow: none;
    -webkit-transition: .3s all;
    transition: .3s all;
    -webkit-transform: translate(2px, 2px);
    transform: translate(2px, 2px); }
  .el_submit:hover {
    box-shadow: none;
    -webkit-transition: .3s all;
    transition: .3s all;
    -webkit-transform: translate(2px, 2px);
    transform: translate(2px, 2px); }

.el_label {
  background: #333;
  padding: 0.2em 0.6em;
  border-radius: 4px;
  color: #fff;
  text-align: center;
  font-size: 0.8em;
  margin-left: 0.2em; }
  .el_label.el_label__any {
    background: #fff;
    color: #9B9A9A;
    border: solid 1px currentColor; }

.bl_formList_cautionTxt {
  color: #7D7D7D; }

/*--------------------------------------------------
同意チェックボックス
---------------------------------------------------*/
.bl_agree {
  width: 96%;
  margin: 2em auto; }
  @media screen and (min-width: 768px) {
    .bl_agree {
      width: 100%;
      max-width: 800px;
      margin: 2em auto; } }

.bl_agreeInner {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center; }

/*--------------------------------------------------
footer
---------------------------------------------------*/
.bl_footer {
  padding: 2em;
  text-align: center; }
  .bl_footer small {
    font-size: 0.7em; }

/*--------------------------------------------------
確認画面
---------------------------------------------------*/
.bl_header.bl_header__single {
  padding: 1em;
  background: #67C5C5; }
  .bl_header.bl_header__single > h1 {
    text-align: center;
    font-size: 1.125em;
    color: #fff; }

.ly_singlepage {
  padding: 2em 1em; }

/*--------------------------------------------------
完了画面
---------------------------------------------------*/
.ly_thanksLead {
  width: 96%;
  margin: 2em auto; }
  @media screen and (min-width: 768px) {
    .ly_thanksLead {
      width: 100%;
      max-width: 800px;
      margin: 2em auto; } }

.bl_thanksLead {
  text-align: center;
  line-height: 1.9; }

.bl_cautionLeadBox {
  border: solid 1px #E00429;
  border-radius: 8px;
  padding: 1.5em;
  text-align: center;
  line-height: 1.9; }

.ly_btnTop {
  width: 96%;
  margin: 2em auto; }
  @media screen and (min-width: 768px) {
    .ly_btnTop {
      width: 100%;
      max-width: 400px;
      margin: 2em auto; } }

/**/

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