@charset 'utf-8';

/* ========== 色 ========== */

/* 見出し */
h2 span {
  background-image: linear-gradient(0deg, #fff352 40%, transparent 40%);
}
div.privacy h2 span {
  background-image: none;
}

/* 生活相談 */
div.sodan ul li {
  background-color: #f1f1f1;
}
div.sodan a {
  color: #0f8539;
}

/* 電話番号 */
div.tel_box {
  border: 2px solid #ddd;
}

/* フォーム部分 */
div.form input[type="text"],
div.form textarea {
  background-color: #efefef;
}
div.form input[type="text"]:focus,
div.form textarea:focus {
  background-color: #fff;
}
div.form div.row {
  border-bottom: 1px solid #ddd;
}
div.form div.row.row_first {
  border-top: 1px solid #ddd;
}
div.form div.row div.row_left {
  border-left: 7.5px solid #0f8539;
}
p.btn input[type="submit"],
p.btn input[type="button"] {
  background-color: #0f8539;
  color: #fff;
}
.msg {
  color: #ff0000;
}

/* プライバシーポリシー */
div.privacy {
  background-color: #eee;
}

.blank_link {
  position: relative;
  z-index: 1;
}

.blank_link ::before {
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translate(-30px, -50%);
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  background-image: url(../img/blank_link.png);
  background-position: center;
  background-size: contain;
}

@media only screen and (min-width: 600px) {
  /* タブレット */
}

@media only screen and (min-width: 1025px) {
  /* PC */
}

/* ========== 構造 ========== */

/* 見出し */
h2 {
  font-size: 24px;
  font-weight: 500;
  margin: 0 0 20px 0;
}
h2 span {
  display: inline-block;
  padding: 5px 0px 0 0px;
}

/* フォーム前文 */
div.mail_read {
  margin: 25px 0 0 0;
}
div.mail_read p {
  font-size: 14px;
  font-weight: 400;
  line-height: 2;
}

/* 生活相談 */
div.sodan ul {
  margin: 0 0 30px 0;
}
div.sodan ul {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}
div.sodan ul li {
  border-radius: 10px;
  padding: 15px;
  margin: 5px;
  width: calc(50% - 10px);
}
div.sodan ul li p.icon {
  text-align: center;
}
div.sodan ul li p.icon img {
  margin: auto;
  height: 64px;
  width: auto;
}
div.sodan ul li p.sodan_item_title {
  font-size: 20px;
  font-weight: 600;
  text-align: center;
  margin: 7.5px 0;
}
/* 電話番号 */


div.tel_box {
  padding: 25px 0;
  width: 100%;
}

div.tel_box p{
  font-size: 24px;
  font-weight: 600;
  line-height: 36px;
}

.tel_title {
  background-color: #0f8539;
  color: #fff;
  padding: 0px 5px;
  font-size: 18px;
  vertical-align: top;
}
.tell_pc {
  display: none;
}
.tell_sp {
  display: block;
  margin: 0 auto;
  text-align: center;
  font-size: 20px;
}
@media (min-width: 800px) {
  .tell_sp {
    display: none;
  }
  .tell_pc {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .tell_pc li {
    font-size: 20px;
    padding: 2.5px 10px;
  }
}

/* div.tel_box ul { display:flex; justify-content:center; align-items:center; }
div.tel_box ul li { font-size:20px; padding:2.5px 10px; }

/* フォーム部分 */
div.form input[type="text"],
div.form textarea {
  border: none;
  padding: 10px 5px;
  max-width: 100%;
  width: 100%;
}
div.form div.row {
  padding: 10px 0;
}
div.form div.row div.row_left {
  padding: 5px 5px 5px 7.5px;
  margin: 0 0 10px 0;
}
p.btn {
  margin: 20px 0 0 0;
  text-align: center;
}
p.btn input[type="submit"],
p.btn input[type="button"] {
  border: none;
  border-radius: 3rem;
  cursor: pointer;
  font-size: 16px;
  padding: 5px 45px;
}

/* プライバシーポリシー */
div.privacy {
  margin: 30px auto auto auto;
  padding: 15px 25px;
  border-radius: 15px;
}
div.privacy p {
  line-height: 1.8;
  text-indent: -1.25rem;
  text-align: justify;
  padding-left: 1.25rem;
  margin: 0 0 10px 0;
}
div.privacy p::before {
  content: "●";
  margin: 0 0.25rem 0 0;
}

@media only screen and (min-width: 600px) {
  /* タブレット */

  /* フォーム前文 */
  div.mail_read {
    margin: 30px 0 0 0;
  }
  div.mail_read p {
    font-size: 16px;
    text-align: center;
  }

  /* プライバシーポリシー */
  div.privacy {
    padding: 25px 30px;
  }
}

@media only screen and (min-width: 1025px) {
  /* PC */

  /* 見出し */
  h2 {
    font-size: 30px;
    margin: 0 0 30px 0;
  }

  /* フォーム前文 */
  div.mail_read p {
    font-size: 18px;
    text-align: center;
  }

  /* 生活相談 */
  div.sodan ul li {
    padding: 20px 25px;
    margin: 10px;
    width: 30%;
  }

  /* フォーム部分 */
  div.row {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
  div.form div.row div.row_left {
    margin: auto;
    width: 350px;
  }
  div.form div.row div.row_right {
    width: calc(100% - 350px);
  }
  div.form_flex {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
  }
  div.form_flex p {
    margin: 0 20px 0 0;
  }
}

.blank_link {
  position: relative;
  z-index: 1;
}

.blank_link ::before {
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translate(-30px, -50%);
  content: "";
  display: inline-block;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  background-image: url(../img/blank_link.png);
  background-position: center;
  background-size: contain;
}

label {
  height: 40px;
  line-height: 40px;
}

.sp-small {
  font-size: 14px;
}

@media only screen and (min-width: 600px) {
  .blank_link {
    position: relative;
    z-index: 1;
    padding-left: 30px;
  }

  .blank_link ::before {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 10px;
    transform: translate(0, -50%);
    content: "";
    display: inline-block;
    background-repeat: no-repeat;
    width: 20px;
    height: 20px;
    background-image: url(../img/blank_link.png);
    background-position: center;
    background-size: contain;
  }
}
