@charset "utf-8";

/*------------------------

import

------------------------*/
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+1:wght@100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

/*------------------------

共通

------------------------*/
html {
  font-size: 62.5%;
}

body {
  margin: 0;
  padding: 0;
  font-size: 1.6rem;
  font-family: Hiragino Sans, "ヒラギノ角ゴシック", Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", "Noto Sans JP", Roboto, "Droid Sans", YuGothic, "游ゴシック", Meiryo, "メイリオ", Verdana, "ＭＳ Ｐゴシック", sans-serif !important;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.25;
  background-color: #F3F3F3;
  color: #333;
}

@media screen and (max-width: 981px) {
  #SMP_STYLE .body {
    background: #F3F3F3;
  }
}

a {
  color: #35A0A0;
  font-weight: bold;
  text-decoration: underline;
}
a:not(:has(> img))[target="_blank"] {
  padding-right: 35px;
  background:url("../img/icon-link-blank_g.svg") no-repeat right 5px center;
  background-size: contain;
}
@media screen and (min-width: 769px) {
  a:hover {
    text-decoration: none;
  }
  a:hover img{
    opacity: .6;
    filter: alpha(opacity=60);
    -moz-opacity: .6;
  }
}

img {
  max-width: 100%;
  width: auto;
  height: auto;
  vertical-align: bottom;
  margin: 0 auto;
}

strong {
  font-weight: bold;
}
strong.highlight {
  color: #35A0A0;
}
strong.marker {
  background-color: #ece578;
}

.visible_br-ib {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .visible_sp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .visible_pc {
    display: none;
  }
  .visible_tab-sp {
    display: block;
  }
}

@media screen and (min-width: 769px) {
  .visible_tab-sp {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .visible_sp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .visible_pc {
    display: none;
  }
  .visible_tab-sp {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .visible_pc-tab {
    display: none;
  }
  .visible_sp {
    display: block;
  }
}

/*------------------------

関数

------------------------*/
:root {
  --form-maxwidth: 1000px;
  --hover-transition : ease .2s;
}

@media screen and (max-width: 768px) {
}


/*------------------------

form

------------------------*/
::placeholder {
  color: #999;
}

:focus::-webkit-input-placeholder {
  color: white;
}

/* Chrome・Safari・Opera用(※Edgeにも使える) */
:focus:-moz-placeholder {
  color: white;
}

/* Firefox18以前用 */
:focus::-moz-placeholder {
  color: white;
}

/* Firefox19以上用 */
:focus::placeholder {
  color: white;
}

/* CSS標準(予定)の記述 */
#SMP_STYLE textarea {
  min-height: 120px;
}

/* error */
#SMP_STYLE .msg,
#SMP_STYLE .error {
  position: relative;
  margin: 5px 0 0 3px;
  padding-left: 1.2em;
  color: #A70000;
  font-weight: bold;
  background: transparent;
}
#SMP_STYLE .error::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "※";
}

#SMP_STYLE .cf .dd:has(.error) ~ dt .ttl-txt,
#SMP_STYLE .cf:has(dd .error) dt .ttl-txt {
  color: #A70000;
  font-weight: bold;
}

#SMP_STYLE .cf dd:has(.error) input,
#SMP_STYLE .cf dd:has(.error) select,
#SMP_STYLE .cf dd:has(.error) textarea {
  border: 1px solid #A70000 !important;
  background-color: #FFECEC;
}

#SMP_STYLE .msg {
  display: none;
}

/* 追加ここから */

/* header */
#SMP_STYLE .foam_info,
.form_info {
  width: 100%;
  background: #fff;
  margin-bottom: 30px;
}

#SMP_STYLE .foam_info .logo,
.form_info .logo {
  max-width: 918px;
  width: 100%;
  margin: 0 auto;
  padding: 15px 10px;
}
#SMP_STYLE .foam_info .logo img,
.form_info .logo img {
  margin: 0;
}

@media screen and (max-width: 767px) {
  #SMP_STYLE .foam_info,
  .form_info {
    margin-bottom: 18px;
  }
}

/* footer */
#SMP_STYLE .footer_inner {
  padding: 35px 20px 40px;
}
#SMP_STYLE .footer .copyright {
  font-size: 1.2rem;
  text-align: center;
}


/* page title */
#form .page-title,
.page-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  max-width: var(--form-maxwidth);
  width: 100%;
  margin: 0 auto 16px;
}

#form .page-title h1,
.page-title h1 {
  color: #333;
  font-family: "ten-mincho", serif;
  font-size: 3.0rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  background: none;
}

#form .page-title figure,
.page-title figure {
  max-width: 54px;
  max-height: 100%;
  width: 100%;
  height: auto;
  margin: 0;
}

@media screen and (max-width: 767px) {
  #form .page-title,
  .page-title {
    margin: 0 auto 18px;
  }
  #form .page-title h1,
  .page-title h1 {
    font-size: 2.5rem;
    padding: 0;
  }
  #form .page-title figure img,
  .page-title figure img {
    width: 100%;
  }
}


/* form navigation_flow */
/* #SMP_STYLE .navigation_flow {
  display: none;
} */

#SMP_STYLE .navigation_flow,
.navigation_flow {
  display: flex;
  flex-wrap: wrap;
  max-width: 900px;
  width: 100%;
  height: 80px;
  margin: 20px auto 50px !important;
  padding-inline: 20px;
  justify-content: space-between;
  font-size: 1.1rem;
}

#SMP_STYLE .navigation_flow .item,
.navigation_flow .item {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: calc(100% / 4);
  padding-block: 10px;
  color: #999999;
  font-size: 1.6rem;
  line-height: 1.5;
  text-align: center;
  background: #d9eaea;
}

#SMP_STYLE .navigation_flow .item:not(:last-child)::before,
#SMP_STYLE .navigation_flow .item:not(:last-child)::after,
.navigation_flow .item:not(:last-child)::before,
.navigation_flow .item:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  z-index: 2;
  border: 40px solid transparent;
  border-left: 20px solid #d9eaea;
  margin: auto;
}
#SMP_STYLE .navigation_flow .item:not(:last-child)::before,
.navigation_flow .item:not(:last-child)::before {
    margin-left: 1px;
    border-left-color: #f2f4f6;
}

#SMP_STYLE .navigation_flow .item.active,
.navigation_flow .item.active {
  z-index: 1;
  background: #5cb0b0;
  color: #FFF;
  font-weight: bold;
}

#SMP_STYLE .navigation_flow .item.active:not(:last-child)::after,
.navigation_flow .item.active:not(:last-child)::after {
	border-left-color: #5cb0b0;
}
#SMP_STYLE .navigation_flow .item.active:not(:last-child)::before,
.navigation_flow .item.active:not(:last-child)::before {
	border-left: none;
}

#SMP_STYLE .navigation_flow li + li:not(:last-child),
.navigation_flow li + li:not(:last-child) {
  padding-left: 15px;
}

@media (max-width: 767px) {
  #SMP_STYLE .navigation_flow .item,
  .navigation_flow .item {
    font-size: 1.3rem;
  }
}

/* form body */
#SMP_STYLE .body_tbl {
  max-width: var(--form-maxwidth);
  width: 100%;
  margin: 0 auto;
  padding: 55px 50px;
  border: none;
  background: #fff;
  text-align: left;
}

/* デザイン案2 */
#SMP_STYLE .body_tbl:has(.sample02) {
  max-width: var(--form-maxwidth);
  width: 100%;
  margin: 0 auto;
  padding: 55px 100px;
  border: none;
  background: #fff;
  text-align: left;
}

@media screen and (min-width: 768px) and (max-width: 981px) {
  #SMP_STYLE .body_tbl,
  #SMP_STYLE .body_tbl:has(.sample02) {
    padding: 55px 20px;
  }
}
@media screen and (max-width: 767px) {
  #SMP_STYLE .body_tbl,
  #SMP_STYLE .body_tbl:has(.sample02) {
    padding: 50px 10px;
  }
}

/* form header */
#SMP_STYLE .header-ttl {
  margin-bottom: 12px;
  font-size: 2.4rem;
  font-weight: bold;
}

#SMP_STYLE .header_rmesg {
  margin: 0 0 25px;
  padding: 0;
  font-size: 1.6rem;
  font-weight: normal;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  #SMP_STYLE .header-ttl {
    margin-bottom: 18px;
    font-size: 2.0rem;
  }

  #SMP_STYLE .header_rmesg {
    margin: 0 0 25px;
    font-size: 1.6rem;
  }
}

/* form cont */
#SMP_STYLE .smp_tmpl {
  width: 100%;
  padding: 0;
  margin: 0;
}

#SMP_STYLE .form-ttl {
  margin-bottom: 13px;
  color: #1A7577;
  font-size: 2.0rem;
  font-weight: bold;
}

#SMP_STYLE dl {
  padding: 20px 0;
}
#SMP_STYLE dl:last-of-type {
  margin-bottom: 40px;
  border-bottom: none;
}
#SMP_STYLE dl:first-of-type {
  border-top: 1px solid #DDDDDD;
}

#SMP_STYLE dl.cf {
  display: flex;
  gap: 15px;
  width: 100%;
}
#SMP_STYLE dl.cf:not(:has(dd[class*="multi"]))
{
  align-items: center;
}
#SMP_STYLE dl.cf:has(dd[class*="multi"]),
#SMP_STYLE dl.cf:has(dd input[type*="email"]) {
  align-items: flex-start;
}
#SMP_STYLE dl.cf:has(dd.interview)
{
  align-items: center;
}

#SMP_STYLE .cf:before,
#SMP_STYLE .cf:after {
  content: none;
}
#SMP_STYLE dl.cf dt {
  width: calc(30% - 15px);
}
#SMP_STYLE dl.cf dd {
  flex: 1;
  min-width: 0;
  margin: 0;
}

#SMP_STYLE dl.cf .title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 0;
  font-size: 1.6rem;
  line-height: 1.25;
}

#SMP_STYLE dl.cf .title .ttl_txt > .note_txt {
  color: #333;
  font-weight: normal;
}

#SMP_STYLE dl.cf .title .ttl-txt {
  flex: 1;
}

#SMP_STYLE dl.cf .title span.need {
  padding: 0.2em 1em 0.4em;
  border-radius: 3px;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
  background: #BC401B;
  line-height: 1.5;
}

#SMP_STYLE dd.data {
  width: 100%;
  padding: 0;
  color: #333;
  font-size: 1.6rem;
  font-weight: normal;
}

#SMP_STYLE dd.data .cf li {
  width: 100%;
  padding: 10px 9px 10px 13px;
  background: #EFEFEF;
  line-height: 1.25;
}
#SMP_STYLE dd.data .cf li:not(:last-child) {
  margin-bottom: 15px;
}

#SMP_STYLE .multi2 .cf::after {
  content: "";
  display: table;
  clear: both;
}

#SMP_STYLE .multi2 label input {
  margin: 0.05em 0 0;
}

#SMP_STYLE .multi3 .cf,
#SMP_STYLE .multi4 .cf {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
}

#SMP_STYLE .multi3 .cf {
  justify-content: space-between;
}

#SMP_STYLE .multi4 .cf {
  justify-content: flex-start;
}

#SMP_STYLE dd.multi3 .cf li {
  display: flex;
  align-items: center;
  width: calc(50% - 5px);
  margin-bottom: 0 !important;
}

#SMP_STYLE dd.multi4 .cf li {
  display: flex;
  align-items: center;
  width: calc((100% - 20px) / 3);
  margin-bottom: 0 !important;
}

#SMP_STYLE dd.multi3 .cf li label,
#SMP_STYLE dd.multi4 .cf li label {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  width: 100%;
}
#SMP_STYLE dd.multi3 .cf li label .input,
#SMP_STYLE dd.multi4 .cf li label .input {
  width: 1em;
  margin: 0;
  border: none;
  box-shadow: none;
}
#SMP_STYLE dd.multi3 .cf li label span,
#SMP_STYLE dd.multi4 .cf li label span {
  flex: 1;
}

#SMP_STYLE dd.phone .cf {
  display: flex;
  gap: 5px;
}
#SMP_STYLE dd.phone .cf li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 5px;
  width: calc(100% / 3);
  margin: 0;
  margin-bottom: 0 !important;
  padding: 0;
  float: none;
  background: transparent;
}
#SMP_STYLE dd.phone .cf li input {
  flex-grow: 1;
}

#SMP_STYLE dd label {
  display: block;
}
#SMP_STYLE dd label + label {
  margin-top: 15px;
}

#SMP_STYLE .input {
  width: 100%;
  border: none;
  box-shadow: none;
}

#SMP_STYLE select {
  position: relative;
  max-width: 400px;
  width: 100%;
  margin-bottom: 0;
  padding: 8px 24px;
  border: 1px solid #707070;
  border-radius: 3px;
}
#SMP_STYLE select + select {
  margin-top: 20px;
}

#SMP_STYLE textarea {
  width: 100%;
  min-height: 140px;
}

#SMP_STYLE .text-placeholder {
  position: relative;
  width: 100%;
}
#SMP_STYLE .text-placeholder .placeholder {
  position: absolute;
  inset: 0;
  padding: 10px;
  color: #BABABA;
  pointer-events: none;
  white-space: pre-wrap;
  font-family: inherit;
  font-size: 1.6rem;
}
#SMP_STYLE .text-placeholder.textarea-focused .placeholder,
#SMP_STYLE .text-placeholder.textarea-notempty .placeholder {
  display: none;
}

#SMP_STYLE input[type^="email"],
#SMP_STYLE input[type^="text"] {
  margin-bottom: 0;
  padding: 8px 10px;
  border: 1px solid #999999;
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.2) inset;
  text-align: left;
}

#SMP_STYLE dl#input_search-tokyo {
  display: none;
}

/* デザイン案2 */
#SMP_STYLE .sample02 dl.cf {
  display: flex;
  flex-direction: column;
  gap: 15px;
  width: 100%;
}
#SMP_STYLE .sample02 dl.cf:not(:has(dd[class*="multi"]))
{
  align-items: flex-start;
}
#SMP_STYLE .sample02 dl.cf:has(dd[class*="multi"]),
#SMP_STYLE .sample02 dl.cf:has(dd input[type*="email"]),
#SMP_STYLE .sample02 dl.cf:has(dd.interview) {
  align-items: flex-start;
}
#SMP_STYLE .sample02 dl.cf dt {
  width: 100%;
}
#SMP_STYLE .sample02 dl.cf dd {
  width: 100%;
  flex: 1;
  min-width: 0;
  margin: 0;
}

#SMP_STYLE .sample02 dl.cf .title {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 0;
  font-size: 1.6rem;
  line-height: 1.25;
}



@media (max-width: 768px) {
  #SMP_STYLE .form-ttl {
    font-size: 1.8rem;
  }
  #SMP_STYLE dl {
    padding: 20px 0;
  }
  #SMP_STYLE dl:last-of-type {
    margin-bottom: 20px;
    border-bottom: 1px solid #DDDDDD;
  }
  #SMP_STYLE dl:first-of-type {
    border-top: 1px solid #DDDDDD;
  }

  #SMP_STYLE dl.cf {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin: 0;
  }

  #SMP_STYLE dl.cf dt,
  #SMP_STYLE dl.cf dd {
    width: 100%;
  }

  #SMP_STYLE dl.cf .title {
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-start;
    gap: 11px;
    font-size: 1.6rem;
  }
  #SMP_STYLE dd.data {
    font-size: 1.6rem;
  }

  #SMP_STYLE dd.data .cf li {
    padding: 10px 13px;
  }
  #SMP_STYLE dd.data .cf li:not(:last-child) {
    margin-bottom: 15px;
  }
  #SMP_STYLE .multi3 .cf{
    flex-direction: column;
  }
  #SMP_STYLE .multi3 .cf,
  #SMP_STYLE .multi4 .cf {
    gap: 15px;
  }

  #SMP_STYLE dd.multi3 .cf li {
    width: 100%;
    margin-bottom: 0 !important;
  }

  #SMP_STYLE dd.multi4 .cf li {
    width: calc(50% - 7.5px);
  }

  #SMP_STYLE dd.multi3 .cf li label,
  #SMP_STYLE dd.multi4 .cf li label {
    gap: 7px;
  }

  #SMP_STYLE dd.phone .cf li {
    padding: 0;
  }

  #SMP_STYLE select {
    width: 100%;
    padding: 8px 10px;
  }

  #SMP_STYLE textarea {
    width: 100%;
    min-height: 250px;
  }
}

/* 個人情報 */
#SMP_STYLE .entry_txt {
  margin: 20px 0;
  font-size: 1.6rem;
  font-weight: bold;
}
#SMP_STYLE .entry_box {
  width: 100%;
  height: 200px;
  padding: 12px;
  font-size: 1.6rem;
  line-height: 1.5;
}

#SMP_STYLE .entry_box p:not(:last-child) {
  margin-bottom: 20px;
}
.entry_box .emphasis_txt {
  font-weight: bold;
  color: #CC0000;
}

#SMP_STYLE .entry_box .ul-disc {
  list-style: none;
  margin-bottom: 20px;
}

#SMP_STYLE .entry_box .ul-disc li {
  position: relative;
  margin-bottom: 5px;
  padding-left: 15px;
  line-height: 1.5;
}

#SMP_STYLE .entry_box .ul-disc li::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  position: absolute;
  top: 10px;
  left: 0;
  border-radius: 50%;
  background: #35a0a0;
}

@media screen and (max-width: 767px) {
  #SMP_STYLE .entry_txt {
    margin: 10px 0 20px;
  }
  #SMP_STYLE .entry_box {
    height: 160px;
    margin-bottom: 0;
  }
}

/* 送信 */
#SMP_STYLE .submit-box {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 20px;
  margin: 30px auto;
  text-align: center;
}
#SMP_STYLE input.submit {
  min-width: 0;
  max-width: 420px;
  height: 100%;
  margin: 0;
  padding: 0;
  cursor: pointer;
  transition: .5s;
}

@media (min-width: 769px) {
  #SMP_STYLE input.submit:hover {
    opacity: .5;
  }
}

#SMP_STYLE input.submit.confirm-btn {
  width: 420px;
  height: 106px;
  border-radius: 0;
  background: url(../img/img-form_02.svg) no-repeat left bottom;
  background-size: contain;
}

#SMP_STYLE input.submit.next-btn {
  width: 420px;
  height: 80px;
  border-radius: 15px;
  color: #FFF;
  background: #FFAB59;
}

#SMP_STYLE input.submit.prev-btn {
  width: 300px;
  height: 80px;
  border-radius: 15px;
  color: #333;
  background: #D9EAEA;
}

@media (max-width: 767px) {
  #SMP_STYLE .submit-box {
    flex-direction: column-reverse;
    align-items: center;
    gap: 20px;
  }

  #SMP_STYLE input.submit {
    max-width: 400px;
    height: 100%;
  }
  #SMP_STYLE input.submit.confirm-btn {
    width: 94.66666666666667vw;
    height: 24vw;
    max-height: 100px;
    background: url(../img/img-form_02.svg) no-repeat left top;
    background-size: contain;
  }

  #SMP_STYLE input.submit.next-btn {
    width: 94.66666666666667vw;
    max-height: 70px;
    height: 18.666666666666668vw;
    font-size: 1.6rem;
  }

  #SMP_STYLE input.submit.prev-btn {
    width: 94.66666666666667vw;
    max-height: 70px;
    height: 18.666666666666668vw;
    font-size: 1.6rem;
  }
}

/* spiral */
#SMP_STYLE .spiralSeal {
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 767px) {
  #SMP_STYLE .spiralSeal {
    max-width: 400px;
    width: 100%;
  }
}


/*------------------------

確認画面

------------------------*/
#SMP_STYLE .smp_tmpl.confirm {
  margin-bottom: 50px;
}
#SMP_STYLE dl:last-of-type {
  border-bottom: 1px solid #DDDDDD;
}

#SMP_STYLE .confirm dl.cf {
  gap: 30px;
  align-items: center;
}
#SMP_STYLE .confirm dl.cf.flex_top {
  align-items: flex-start;
}

.confirm dl dd {
  font-size: 1.6rem;
  line-height: 1.6;
}

.confirm dl dd .confirm_flex_list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.confirm dl dd .confirm_flex_list li:not(:last-child)::after {
  content: ",";
}

.confirm dl dd pre {
  white-space: pre-line;
}

.confirm dl dd:not(:has(div.raiten)) .raiten_check {
  display: none;
}

@media (max-width: 768px) {
  #SMP_STYLE .confirm dl.cf {
    gap: 10px;
  }
}


/*------------------------

完了

------------------------*/

/* ----------汎用---------- */
/* ボタン */
.btn {
  margin: 35px 0 0;
  text-align: center;
}

.btn a {
  cursor: pointer;
  position: relative;
  display: inline-block;
  min-width: 300px;
  max-width: 450px;
  width: 100%;
  padding: 15px 35px;
  border-radius: 50px;
  color: #fff;
  text-decoration: none;
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
  transition: var(--hover-transition);
}
.btn.btn_green a {
  background: #52A7A7;
}
.btn a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 14px;
  width: 12px;
  height: 12px;
  background: url("../img/icon-link-blank_w.svg") no-repeat;
  background-size: 12px;
   transform: translateY(-50%);
}

@media screen and (min-width: 769px) {
  .btn.btn_green a:hover {
    background: #458181;
  }
}

@media screen and (max-width: 768px) {
  .btn {
    margin: 50px 0 0;
  }
  .btn a {
    min-width: 0;
    max-width: 500px;
    width: 90%;
  }
}
@media screen and (max-width: 320px) {
  .btn a {
    font-size: 5.3vw;
  }
}

/* リンクアイコン */
.link-icon {
  position: relative;
  display: inline-block;
  padding-right: 1em;
  line-height: 1.5;
}
.link-icon::after {
  content: "";
  width: 0.6em;
  height: 0.6em;
  border-top: solid 2px #35A0A0;
  border-right: solid 2px #35A0A0;
  position: absolute;
  right: 0;
}

.link-icon.link-icon_next::after {
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

@media (max-width: 767px) {
  .link-icon {
    padding-right: 0;
  }
  .link-icon::after {
    content: none;
  }
}

/* リスト */
/* ● */
.circle-list:not(:last-child) {
  margin-bottom: 30px;
}

.circle-list li {
  position: relative;
  padding-left: 1.5em;
}
.circle-list li:not(:last-child) {
  margin-bottom: 20px;
}

.circle-list li::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #63B1B1;
}

.box_orange .circle-list li::before {
  background: #feab52;
}

/* 注釈 */
.note_list li {
  padding-left: 1.2em;
  font-size: 1.2rem;
  text-indent: -1.35em;
  line-height: 1.75;
  list-style: none;
}
.note_list li:not(:last-child) {
  margin-bottom: 10px;
}
.note_list li::before {
  content: "※";
  padding-right: 0.2em;
}
.note_list > .red-color {
  color: #A70000;
}
.note_txt { font-size: 1.2rem;}
.note_txt.red-color {
  color: #A70000;
}

/* box */
.brd_box,
.bg_box {
  padding: 20px;
  border-radius: 5px;
  margin-bottom: 30px;
}
.brd_box.brd-green {
  border: 2px solid #63B1B1;
}
.brd_box.brd-gray {
  border: 2px solid #DDD;
}

.box_orange {
  border: 4px solid #ffce9a;
  background: #FCFAEC;
}

.brd_box.brd-orange {
  border: 2px solid #ffce9a;
}

@media (max-width: 767px) {
  .brd_box {
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 30px;
  }
}

/* ohter */
.ib-br {
  display: inline-block;
}
.flex-box {
  display: flex;
}

.text_center { text-align: center;}

/* ----------contents---------- */
#form_completed .container_wrapper {
  max-width: var(--form-maxwidth);
  margin: 16px auto 0;
  padding: 45px 0;
  background: #EDF8F8;
}
.container_wrapper p {
  margin-bottom: 27px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.container_wrapper figure + p {
  margin-top: 27px;
}
.container_wrapper p:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  #form_completed .container_wrapper {
    margin: 18px auto 0;
    padding: 50px 0 35px;
  }
}

/* リード */
#page-lead {
  max-width: 750px;
  margin: 0 auto;
  padding: 0 10px;
}
#page-lead .flex-box {
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin: 0;
}
#page-lead .flex-box > .lead-img {
  width: 150px;
}
#page-lead .flex-box > .lead-txt {
  flex: 1;
}

.thx-txt {
  margin-bottom: 1.3em;
  color: #1A7577;
  font-size: 2.4rem;
  font-weight: bold;
}

@media (max-width: 767px) {
  #page-lead .flex-box {
    flex-direction: column-reverse;
    gap: 20px;
    margin: 0;
  }
  #page-lead .flex-box > .lead-img {
    width: 100%;
    max-width: 150px;
  }
  #page-lead .flex-box > .lead-txt {
    width: 100%;
  }

  .thx-txt {
    font-size: 2.0rem;
  }
}

/* 白背景部分 */
.container_wrapper .contents {
  max-width: 840px;
  margin: 0 auto;
  padding: 30px 10px 0;
  background: #fff;
}
.contents section {
  max-width: 750px;
  margin: 0 auto;
}

.contents section:not(:last-child) .inner {
  margin-bottom: 35px;
}

@media (max-width: 767px) {
  .contents section:not(:last-child) .inner {
    margin-bottom: 27px;
  }
}

/* section title */
section .section-title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
  font-size: 1.8rem;
  font-weight: bold; 
}

section .section-title figure {
  width: 40px;
  height: 35px;
}

#IFA-corporation .section-title {
  justify-content: center;
  margin-bottom: 30px;
  padding: 15px 10px;
  color: #FFF;
  font-size: 2.0rem;
  background: #52A7A7;
}
#service .service-about .section-title .sec-ttl {
  margin-top: 10px;
}
#contact .section-title {
  margin-bottom: 7px;
  font-size: 1.6rem;
}

@media (max-width: 767px) {
  #contact .section-title {
    margin-bottom: 13px;
  }
}

/* IFA法人 */
#IFA-corporation .inner {
  margin-bottom: 35px;
}
#IFA-corporation p:not(:last-of-child) {
  margin-bottom: 35px;
}
#IFA-corporation .corp_txt {
  margin-bottom: 35px;
}
#IFA-corporation p.ifa-intro_txt {
  text-align: center;
}
#IFA-corporation span.ifa-corp_top {
  display: inline-block;
  position: relative;
  min-width: 240px;
  margin: 0 0.5em;
  padding: 0.35em 1em;
  font-size: 2.5rem;
  font-weight: bold;
}
#IFA-corporation span.ifa-corp_top::before,
#IFA-corporation span.ifa-corp_top::after {
  content: "";
  display: inline-block;
  width: 17px;
  height: 30px;
  position: absolute;
}
#IFA-corporation span.ifa-corp_top::before {
  border-left: 2px solid #1A7577;
  border-top: 2px solid #1A7577;
  top: 0;
  left: 0;
}
#IFA-corporation span.ifa-corp_top::after {
  border-right: 2px solid #1A7577;
  border-bottom: 2px solid #1A7577;
  bottom: 0;
  right: 0;
}

#IFA-corporation .ifa-logo {
  margin-top: 30px;
}
#IFA-corporation .ifa-logo > img {
  max-width: 300px;
}

@media (max-width: 767px) {
  #IFA-corporation .inner {
    margin-bottom: 40px;
  }
  #IFA-corporation p.ifa-intro_txt {
    margin-bottom: 30px;
  }
  #IFA-corporation span.ifa-corp_top {
    display: block;
    min-width: 240px;
    width: 90%;
    margin: 0.8em auto;
    font-size: 2.0rem;
  }
  #IFA-corporation .ifa-logo > img {
    max-width: 250px;
  }
}

/* サービス */
#service .inner + .inner {
  margin-top: 35px;
}

#service .inner:last-child {
  padding-bottom: 40px;
  border-bottom: 1px solid #DDDDDD;
}

#service .point-list li {
  line-height: 1.8;
}

#service .point-list li:not(:last-child) {
  margin-bottom: 33px;
}

#service .point-list .point_txt {
  font-weight: bold;
}

/* .onlineValue .rainten_text, */
.raitenValue .online_text {
  display: none;
}

@media (max-width: 767px) {
  #service .inner {
    margin-bottom: 0;
  }
  #service .inner:last-child {
    border-bottom: 1px solid #DDDDDD;
  }
}

/* 実績 */
#achievement .inner {
  padding-bottom: 40px;
  border-bottom: 1px solid #DDDDDD;
}

@media (max-width: 767px) {
  #achievement .inner {
    padding-bottom: 40px;
  }
}

/* 流れ */
#flow {
  max-width: 840px;
  margin: 0 auto;
  padding: 40px 10px 0;
  background: #FFF;
}
#flow .inner {
  max-width: 750px;
  margin: 0 auto;
  padding-bottom: 40px;
  border-bottom: 1px solid #DDDDDD;
}

.flow-list_cont {
  display: flex;
  justify-content: center;
  align-items: center;
}

.flow-list_cont:not(:last-child) {
  margin-bottom: 30px;
}

.flow-list_cont ul > li {
  position: relative;
  list-style: none;
}

.flow-list_cont ul > li:not(:last-child) {
  margin-bottom: 40px;
}

.flow-list_cont ul > li dl {
  box-sizing: border-box;
  width: 100%;
  padding: 20px 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  border: 2px solid #52A7A7;
  border-radius: 10px;
  position: relative;
}

.flow-list_cont ul > li:not(:last-child) dl::before,
.flow-list_cont ul > li:not(:last-child) dl::after {
  content: "";
  border: solid transparent;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.flow-list_cont ul > li:not(:last-child) dl::before {
  border-width: 22px;
  border-top-color: #52A7A7;
}

.flow-list_cont ul > li:not(:last-child) dl::after {
  border-width: 20px;
  border-top-color: #fff;
}

.flow-list_cont ul > li dl dt {
  flex-basis: 20%;
  margin-right: 2vw;
  color: #1A7577;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
}
.flow-list_cont ul > li dl dd {
  flex: 1;
  line-height: 1.8;
}


@media(max-width: 767px) {
  #flow {
    padding: 40px 10px 0;
    border-bottom: none;
  }

  .flow-list_cont ul > li:not(:last-child) {
    margin-bottom: 30px;
  }

  .flow-list_cont ul > li dl {
    display: block;
    padding: 10px 15px;
  }

  .flow-list_cont ul > li dl dt {
    margin-right: 0;
    margin-bottom: 10px;
  }
}


/* 締め */
#sincerely {
  max-width: 840px;
  margin: 0 auto;
  padding: 40px 10px;
  background: #FFF;
}
#sincerely .inner {
  max-width: 750px;
  margin: 0 auto;
}

#sincerely .flex-box > div {
  width: calc((100% - 20px) / 2);
}

#sincerely .flex-box > div:nth-child(1) {
  padding-right: 20px;
  border-right: 1px solid #DDDDDD;
}
#sincerely .flex-box > div:nth-child(2) {
  padding-left: 20px;
}


@media (max-width: 767px) {
  #sincerely .flex-box {
    flex-direction: column;
  }

  #sincerely .flex-box > div {
    width: 100%;
  }

  #sincerely .flex-box > div:nth-child(1) {
    padding-right: 0;
    border-right: none;
    padding-bottom: 30px;
    border-bottom: 1px solid #DDDDDD;
  }
  #sincerely .flex-box > div:nth-child(2) {
    padding-left: 0;
    padding-top: 30px;
  }

}

/* 問い合わせ */
#contact {
  max-width: 840px;
  margin: 0 auto;
  padding: 0 10px 55px;
  background: #FFF;
}
#contact .inner {
  max-width: 750px;
  margin-inline: auto;
}
#contact .contact_box {
  padding: 15px;
  background: #D9EAEA;
}
#contact .contact_box p {
  margin-bottom: 0;
  font-size: 1.4rem;
  line-height: 1.7;
}

@media (max-width: 767px) {
  #contact {
    padding: 0 10px;
    background: transparent;
  }
}

/* footer */
footer.footer {
  max-width: var(--form-maxwidth);
  margin: 0 auto;
  padding: 0 0 45px;
  background: #EDF8F8;
}
footer.footer .copyright {
  font-size: 1.2rem;
  text-align: center;
}

/*------------------------

not result

------------------------*/

/* ----------contents---------- */
#form_notresult .container_wrapper {
  max-width: var(--form-maxwidth);
  margin: 16px auto 0;
  padding: 45px 0;
  background: #FFF;
}
.container_wrapper p {
  margin-bottom: 27px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.container_wrapper p:last-child {
  margin-bottom: 0;
}

@media (max-width: 767px) {
  #form_notresult .container_wrapper {
    margin: 18px auto 0;
    padding: 50px 0 35px;
  }
}

/* inner */
#form_notresult .container_wrapper section {
  max-width: 850px;
  margin: 0 auto;
  padding: 0 10px;
}

#form_notresult .container_wrapper section:not(:last-child) .inner {
  margin-bottom: 35px;
}

/* not result */
#noresult-intro {
  margin-bottom: 30px;
}
#noresult-intro .flex-box {
  gap: 20px;
  justify-content: space-between;
}
#noresult-intro .flex-box > .intro_txt {
  flex: 1;
}
#noresult-intro .flex-box > .intro_img {
  width: 170px;
}

@media (max-width: 768px) {
  #noresult-intro .text_center {
    text-align: left;
  }
}


@media (max-width: 767px) {
  #noresult-intro .section-title {
    font-size: 2rem;
  }
  #noresult-intro .flex-box {
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  #noresult-intro .flex-box > .intro_txt,
  #noresult-intro .flex-box > .intro_img {
    width: 100%;
  }
  #noresult-intro .flex-box > .intro_img {
    max-width: 120px;
  }
}

/* inquiry */
#inquiry .inner {
  padding-bottom: 40px;
  border-bottom: 1px solid #DDDDDD;
}
#inquiry .inner * {
  line-height: 1.8;
}

#inquiry .heading_image {
  position: relative;
}
#inquiry .heading_image .heading_image-text {
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
#inquiry .heading_image .heading_image-text p {
  color: #643300;
  font-size: 2.2rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.3;
}

#inquiry .flex-box {
  gap: 0;
  margin-bottom: 40px;
  padding: 20px;
  background: #FCFAEC;
}
#inquiry .flex-box .box-item {
  width: 50%;
}
#inquiry .flex-box .box-item:first-child {
  padding-right: 20px;
  border-right: 1px solid #DDDDDD;
}
#inquiry .flex-box .box-item:nth-child(2) {
  padding-left: 20px;
}

#inquiry .flex-box .box-item:only-child {
  width: 100%;
  border-right: none;
  padding-right: 0;
}

@media (max-width: 767px) {
  #inquiry .heading_image .heading_image-img {
    max-width: 600px;
    margin-inline: auto;
  }
  #inquiry .heading_image .heading_image-text {
    top: 8vw;
  }
  #inquiry .heading_image .heading_image-text p {
    font-size: 4.8vw;
  }

  #inquiry .flex-box {
    flex-direction: column;
  }
  #inquiry .flex-box .box-item {
    width: 100%;
  }
  #inquiry .flex-box .box-item:first-child {
    padding-right: 0;
    padding-bottom: 20px;
    border-right: none;
    border-bottom: 1px solid #DDDDDD;
  }
  #inquiry .flex-box .box-item:nth-child(2) {
    padding-left: 0;
    padding-top: 20px;
  }
  #inquiry .flex-box .box-item:only-child {
    padding-bottom: 0;
    border-bottom: none;
  }

}

@media (min-width: 601px) and (max-width: 767px) {
  #inquiry .heading_image .heading_image-text {
    top: 60px;
  }
  #inquiry .heading_image .heading_image-text p {
    font-size: 2.4rem;
  }
}


/* notresult 問い合わせ */
#form_notresult #contact {
  max-width: 850px;
  padding: 0 10px;
}
#form_notresult #contact .inner {
  max-width: 100%;
}
#form_notresult #contact .inner:not(:last-child) {
  margin-bottom: 20px;
}

/* footer */
#form_notresult footer {
  max-width: var(--form-maxwidth);
  padding: 5px 0 45px;
  background: #fff;
}