/* ==================================================
	from content.css
================================================== */
.tw-page_detail_01 .btn_box01 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 40px;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
  .tw-page_detail_01 .btn_box01 {
    display: block;
  }
}
/* ========== end △ */

.tw-page_detail_01 #sec_form {
  background: #f8f8f8;
  padding: 40px 20px;
  margin-top: 80px;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
  .tw-page_detail_01 .btn_box01 a {
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
}
/* ========== end △ */
  .tw-page_detail_01 #sec_form {
    padding: 10.664vw 3.999vw 10.664vw 3.999vw;
    margin-top: 10.664vw;
  }
}
/* ========== end △ */
.tw-page_detail_01 #sec_form .tw-resize {
  max-width: 800px;
  margin: auto;
}
.tw-page_detail_01 #sec_form .tw-resize form > h2 {
  font-size: 2.6rem;
  text-align: center;
  margin-bottom: 30px;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
  .tw-page_detail_01 .btn_box01 > *:not(:first-child) {
    margin-top: 6.665vw;
  }

  .tw-page_detail_01 #sec_form .tw-resize form > h2 {
    font-size: 6.9316vw;
    margin-bottom: 7.998vw;
  }
}
/* ========== end △ */

.tw-resume_model .table_style {
  margin-top: 60px;
}

.tw-page_detail_01 #sec_form .mode_form {
  margin-top: 35px;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
  .tw-resume_model .table_style {
    margin-top: 10.664vw;
  }

  .tw-page_detail_01 #sec_form .mode_form {
    margin-top: 9.331vw;
  }
}
/* ========== end △ */
.tw-resume_model .submit, .tw-page_detail_01 #sec_form .submit {
  text-align: center;
  width: 240px;
  box-sizing: border-box;
  background: #ea6c2d;
  color: #fff;
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  padding: 15px 10px;
  transition: all 0.3s ease;
  font-size: 1.6rem;
  border: none;
  border-radius: 50px;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 768px) {
  .tw-resume_model .submit:hover, .tw-page_detail_01 #sec_form .submit:hover {
    background: #fdd204;
  }
}
/* ========== end △ */

/* ==================================================
	table_style
================================================== */
.table_style {
  width: 100%;
  display: table;
  border-bottom: 1px solid #e7ebef;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
  .table_style {
    display: block;
  }
}
/* ========== end △ */
.table_style > dl {
  display: table-row;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
  .table_style > dl {
    display: block;
  }
}
/* ========== end △ */
.table_style > dl > dt,
.table_style > dl > dd {
  box-sizing: border-box;
  display: table-cell;
  padding: 22px 10px;
  border-top: 1px solid #e7ebef;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
  .table_style > dl > dt,
  .table_style > dl > dd {
    display: block;
    padding: 5.332vw 3.999vw 1.333vw 3.999vw;
  }
}
/* ========== end △ */
.table_style > dl > dt {
  font-weight: bold;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
  .table_style > dl > dd {
    border-top: 1px solid transparent;
    padding: 1.333vw 3.999vw 5.332vw 3.999vw;
  }
}

/* ========== end △ */
.table_style.mode_form .fs {
  font-size: 1.1rem;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
  .table_style.mode_form .fs {
    font-size: 2.9326vw;
  }
}
/* ========== end △ */
.table_style.mode_form dt {
  width: 260px !important;
  position: relative;
  vertical-align: middle;
  padding: 22px 20px 22px 60px;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
  .table_style.mode_form dt {
    width: 100% !important;
    display: block;
    padding: 5.332vw 3.999vw 1.333vw 15.996vw;
  }
}
/* ========== end △ */
.table_style.mode_form dt::before,
.table_style.mode_form dt.req::before,
.table_style.mode_form dt.any::before {
  background: #fff;
  color: #ea6c2d;
  content: "必須";
  font-size: 1.1rem;
  padding: 5px 5px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.table_style.mode_form dt.req::before {
  content: "必須";
  color: #ea6c2d;
}

.table_style.mode_form dt.any::before {
  content: "任意";
  color: #c9c9c9;
}

/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
  .table_style.mode_form dt::before,
  .table_style.mode_form dt.req::before,
  .table_style.mode_form dt.any::before {
    font-size: 2.9326vw;
    padding: 1.333vw;
    top: 4vw;
    left: 3.999vw;
    transform: translateY(0);
  }
}
/* ========== end △ */
.table_style.mode_form dt.any::before {
  color: #c9c9c9;
  content: "任意";
}
.table_style.mode_form dd > p > .wpcf7-form-control-wrap:not(:first-child) {
  display: block;
  margin-top: 10px;
}
.table_style.mode_form dd > p br {
  display: none;
}
.table_style.mode_form dd .fc {
  font-size: 1.2rem;
}

.table_style.mode_form input[type=text],
.table_style.mode_form input[type=email],
.table_style.mode_form input[type=url],
.table_style.mode_form input[type=tel],
.table_style.mode_form input[type=password] {
  padding: 10px 10px;
  width: 100%;
}
.table_style.mode_form input[type=text].size_ss,
.table_style.mode_form input[type=email].size_ss,
.table_style.mode_form input[type=url].size_ss,
.table_style.mode_form input[type=tel].size_ss,
.table_style.mode_form input[type=password].size_ss {
  width: 80px;
  margin-right: 10px;
}
.table_style.mode_form input[name=price] {
  width: calc(100% - 2em);
}
.table_style.mode_form input[name=number] {
  width: 6em;
  margin-right: 8px;
}
.table_style.mode_form .input_li {
  display: flex;
  gap: 20px;
}

.accept_box input {
  position: relative;
  margin-right: 8px;
  top: -2px;
}

.txt_box > ul:not(:first-child),
.txt_box > img:not(:first-child),
.txt_box > p:not(:first-child) {
  margin-top: 25px;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
  .txt_box > ul:not(:first-child),
  .txt_box > img:not(:first-child),
  .txt_box > p:not(:first-child) {
    margin-top: 5.332vw;
  }
}
/* ========== end △ */

/* ==================================================
	from utility.css
================================================== */
/* ==================================================
	color settings
================================================== */
/* ==================================================
	basic settings
================================================== */
a {
  text-decoration: none;
  color: #333333;
  transition: all 0.3s ease;
}
a:link {
  text-decoration: none;
}
a:hover {
  text-decoration: none;
}

label {
  vertical-align: middle;
}
label:hover {
  cursor: pointer;
}

input,
select, optgroup, option,
textarea {
    box-sizing: border-box;
    margin: 0;
    font-weight: normal;
    border: 1px solid #e4e4e4;
    font-family: "Montserrat", "Noto Sans JP", "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
    color: inherit;
    letter-spacing: 0.15rem;
    font-size: 1.5rem;
}

.resume_model h3 {
    font-size: 2.6rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 25px;
}
.resume_model .scrol_box {
    border: 5px solid #e7ebef;
    margin-top: 40px;
}
.resume_model .scrol_box .inner {
  background: #fff;
  padding: 40px;
}
.resume_model .scrol_box .inner h4 {
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 25px;
}
/* ========== page-sponserd,page-inquiry ========== */
.resume_model .table_style {
    margin-top: 60px;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
    .resume_model .table_style {
        margin-top: 10.664vw;
    }
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
  input,
  select, optgroup, option,
  textarea {
    font-size: 3.7324vw;
  }
  .resume_model .scrol_box .inner {
    padding: 10.664vw 3.999vw 10.664vw 3.999vw;
  }
}
/* ========== end △ */
/* ▽ TAB layout ========== */
@media print, screen and (min-width: 768px) and (max-width: 1500px) {
  input,
  select, optgroup, option,
  textarea {
    font-size: 1.3rem;
  }
}
/* ========== end △ */

select:hover {
  cursor: pointer;
}

input[type=text]:hover,
input[type=tel]:hover,
input[type=url]:hover,
input[type=email]:hover,
input[type=password]:hover {
  cursor: text;
}

textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 10px 10px;
  resize: vertical;
}

/* ▽ PC layout ========== */
.resume_model .submit {
    width: 240px;
    box-sizing: border-box;
    background: #ea6c2d;
    color: #fff;
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    padding: 15px 10px;
    transition: all 0.3s ease;
    font-size: 1.6rem;
    border: none;
    border-radius: 50px;
}
@media print, screen and (min-width: 768px) {
  .resume_model .submit:hover {
    background: #fdd204;
  }
}
/* ========== end △ */

.page_detail_01 .btn_box01 {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 40px;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
    .page_detail_01 .btn_box01 {
        display: block;
    }
}
/* ========== end △ */
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
    .page_detail_01 .btn_box01 a {
        display: block;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
}

/* ==================================================
	multiple
================================================== */
.accept_box {
  text-align: center;
  margin-top: 25px;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
  .accept_box {
    margin-top: 6.665vw;
  }
  .page_detail_01 .btn_box01 > *:not(:first-child) {
    margin-top: 6.665vw;
  }
}
/* ========== end △ */
.accept_box input {
  position: relative;
  margin-right: 8px;
  top: -2px;
}

.page_detail_01 #sec_form {
    background: #f8f8f8;
    padding: 40px 20px;
    margin-top: 80px;
}
@media only screen and (max-width: 767px) {
    .page_detail_01 #sec_form {
        padding: 10.664vw 3.999vw 10.664vw 3.999vw;
        margin-top: 10.664vw;
    }
}

.link_a {
  color: #7671e1;
  text-decoration: underline !important;
}
.link_a:hover {
  opacity: 0.7;
}

.btn_mt {
  margin-top: 10.664vw;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 768px) {
  .btn_mt {
    margin-top: 40px;
  }
}
/* ========== end △ */
.page_detail_01 #sec_form .resize {
    max-width: 800px;
    margin: auto;
}
.page_detail_01 #sec_form .resize form > h2 {
    font-size: 2.6rem;
    text-align: center;
    margin-bottom: 30px;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
    .page_detail_01 #sec_form .resize form > h2 {
        font-size: 6.9316vw;
        margin-bottom: 7.998vw;
    }
}

/* ▽ PC layout ========== */
@media print, screen and (min-width: 768px) {

  .btn_mt.btn_back a:hover {
    opacity: 0.7;
  }
}
/* ========== end △ */

.tac {
  text-align: center;
}

/* ==================================================
	RWD layout settings
================================================== */

.required::before, .any::before {
  float: right;
  display: inline-block;
  padding: 2px 10px;
  color: #fff;
  font-size: 1.1rem;
}

.required::before {
  content: "必須";
  background-color: #e02a12;
}

.any::before {
  content: "任意";
  background-color: #0068b7;
}

.page_detail_01 #sec_form .mode_form {
    margin-top: 35px;
}
/* ▽ SP layout ========== */
@media only screen and (max-width: 767px) {
    .page_detail_01 #sec_form .mode_form {
        margin-top: 9.331vw;
    }
}
/* ========== end △ */
.page_detail_01 #sec_form .submit {
    text-align: center;
    width: 240px;
    box-sizing: border-box;
    background: #ea6c2d;
    color: #fff;
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    padding: 15px 10px;
    transition: all 0.3s ease;
    font-size: 1.6rem;
    border: none;
    border-radius: 50px;
}
/* ▽ PC layout ========== */
@media print, screen and (min-width: 768px) {
    .page_detail_01 #sec_form .submit:hover {
        background: #fdd204;
    }
}
