/* ベース */
body {
  color: #111;
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-size: 1.0em;
  line-height: 2.0;
  letter-spacing: 0.05em;
  margin: 0;
  padding: 0;
  text-align: center;
}
h1, h2, h3, h4, h5, h6, ul, li, ol, dl, dt, dd {
  list-style: none;
  font-weight: normal;
  margin: 0;
  padding: 0;
}
a {
  color: #111;
  text-decoration: none;
}
a:hover {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}
img {
  max-width: 100%;
  border: 0;
}
.cf:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden;
}
.cf {
  display: inline-block;
}
/* Hides from IE Mac */
* html .cf {
  height: 1%;
}
.cf {
  display: block;
}
.sp {
  display: none;
}
/* 共通パーツ
----------------------------------------------------------------*/
h2 {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 3.0em;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0;
  margin: 0;
  text-align: center;
}
h2 .line {
  background: linear-gradient(transparent 65%, #FFFF26 30%);
}
h3 {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 3.0em;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0;
  margin: 1.0em 0 0.5em 0;
  text-align: center;
}
/*--------------------------------------------------------------*/
header {
  background: #FFF;
  height: 45px;
  text-align: left;
  width: 100%;
}
header h1 a img {
  height: 31px;
  margin: 7px 0 7px 100px;
}
header div {
  height: 55px;
  top: 0;
  right: 100px;
  position: fixed;
  width: 250px;
  z-index: 2;
}
header div a {
  background: #FF4B00;
  border-bottom-left-radius: 10px;
  -moz-border-bottom-left-radius: 10px;
  -webkit-border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  -moz-border-bottom-right-radius: 10px;
  -webkit-border-bottom-right-radius: 10px;
  color: #FFF;
  display: block;
  font-weight: bold;
  height: 55px;
  line-height: 55px;
  padding-left: 30px;
  position: relative;
  text-align: center;
  width: 220px;
}
header div a::before {
  content: "\f0e0";
  font-family: "Font Awesome 6 Free";
  font-size: 1.4em;
  font-weight: 400;
  line-height: 53px;
  left: 20px;
  position: absolute;
}
.main {
  background: #F3F8FD;
  width: 100%;
}
.main .main_box {
  background: url("../images/main.png") 46vw 5vw no-repeat;
  background-size: auto 75%;
  margin: 0 auto;
  padding: 3vw 5vw;
  max-width: 1450px;
}
.main .main_box .main_txt {
  color: #004BA5;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-weight: bold;
  text-align: left;
}
.main .main_box .main_txt img {
  height: 2vw;
}
.main .main_box .main_txt .plan_ttl {
  font-size: 3.4vw;
  letter-spacing: -0.05em;
  line-height: 1.3;
  margin: 0 0 0.3em 0;
}
.main .main_box .main_txt .plan_ttl .mini {
  font-size: 0.66em;
  line-height: 1.3;
}
.main .main_box .main_txt .plan_name {
  background: #00B733;
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  color: #FFF;
  display: inline-block;
  font-size: 1.7vw;
  height: 60px;
  line-height: 60px;
  padding: 0.1em 0.5em;
}
.main .main_box .main_txt .plan_price {
  color: #FF4B00;
  font-size: 5.5vw;
  height: 1.4em;
  line-height: 1.4em;
}
.main .main_box .main_txt .plan_price span {
  font-size: 0.4em;
}
.intro {
  margin: 100px 0;
}
.intro h2 span {
  color: #00B733;
}
.intro p {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 1.25em;
  font-style: normal;
  font-weight: 400;
  margin: 2.0em auto;
}
.intro ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 20px auto 0 auto;
  max-width: 800px;
}
.intro ul li {
  border: 2px solid #111;
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  font-size: 0.8em;
  margin-bottom: 20px;
  padding: 18px;
  text-align: left;
  max-width: 800px;
  width: 100%;
}
.intro ul li div {
  color: #004BA5;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 1.6em;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.5;
  margin-bottom: 0.4em;
}
.example {
  background: #F9F9F9;
  padding: 100px 0;
}
.example ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 30px auto;
  max-width: 1100px;
}
.example ul li {
  text-align: center;
  max-width: 350px;
  width: 100%;
}
.example ul li .example_ttl {
  border: 2px solid #111;
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 1.5em;
  font-weight: 700;
  padding: 0.5em 0;
  text-align: center;
}
.example ul li p {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 1.2em;
  font-weight: 700;
  margin: 1.0em 0;
}
.example ul li img {
  width: 70%;
}
.example ul li span {
  display: block;
  font-size: 0.8em;
  margin-top: 1.5em;
}
.example > p {
  margin: 0;
}
.worries {
  background: #F3F8FD;
  padding: 100px 0;
}
.worries h2 {
  color: #004BA5;
  font-size: 3.75em;
}
.worries h2 .mini {
  font-size: 0.6em;
}
.worries ul {
  background: #FFF;
  border-radius: 20px;
  -moz-border-radius: 20px;
  -webkit-border-radius: 20px;
  box-shadow: 5px 5px rgba(0, 0, 0, 0.2);
  margin: 30px auto 0 auto;
  padding: 30px 0;
  position: relative;
  max-width: 800px;
}
.worries ul::after {
  background: url("../images/worries.png") no-repeat;
  background-size: cover;
  bottom: -80px;
  content: "";
  height: 263px;
  right: -100px;
  position: absolute;
  width: 283px;
  z-index: 1;
}
.worries ul li {
  color: #111;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 1.4em;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0;
  padding-left: 100px;
  position: relative;
  text-align: left;
}
.worries ul li::before {
  color: #FF4B00;
  content: "\f14a";
  font-family: "Font Awesome 6 Free";
  font-weight: 400;
  left: 70px;
  position: absolute;
}
.entrust {
  padding-top: 70px;
  position: relative;
}
.entrust::before {
  border-style: solid;
  border-color: #F3F8FD transparent transparent transparent;
  border-width: 70px 200px 0 200px;
  content: "";
  display: inline-block;
  height: 0;
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: 0;
}
.entrust h2 {
  margin: 100px 0 60px 0;
}
.entrust dl {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 30px auto 0 auto;
  max-width: 1030px;
}
.entrust dl:last-child {
  flex-direction: row-reverse;
}
.entrust dl dt {
  width: 400px;
}
.entrust dl dd {
  text-align: left;
  width: 500px;
}
.entrust dl dd .entrust_ttl {
  color: #004BA5;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 1.875em;
  font-weight: bold;
  letter-spacing: 0;
}
.entrust dl dd p {
  margin: 1.0em 0;
}
.entrust dl dd img {
  height: 40px;
}
.reason {
  padding: 100px 0;
}
.reason ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 60px auto 0 auto;
  max-width: 1030px;
}
.reason ul li {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 1.25em;
  font-weight: bold;
  letter-spacing: 0;
  width: 320px;
}
.reason ul li img {
  margin-bottom: 30px;
}
.reason ul li span {
  color: #004BA5;
}
.plan {
  background: #F3F8FD;
  padding: 100px 0;
}
.plan h2 {
  color: #004BA5;
}
.plan table {
  background: #FFF;
  border: 10px solid #FFF;
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  box-shadow: 5px 5px rgba(0, 0, 0, 0.2);
  margin: 40px auto 0 auto;
  max-width: 1100px;
}
.plan table th {
  background: #004BA5;
  border-bottom: 1px solid #CCC;
  color: #FFF;
  padding: 20px;
  min-height: 120px;
}
.plan table th.first {
  border-top-left-radius: 10px;
  -moz-border-top-left-radius: 10px;
  -webkit-border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  -moz-border-top-right-radius: 10px;
  -webkit-border-top-right-radius: 10px;
}
.plan table td {
  border-bottom: 1px solid #CCC;
  line-height: 1.8;
  padding: 20px;
  min-height: 120px;
  text-align: left;
}
.plan table td strong {
  font-size: 1.875em;
}
.plan table .end {
  border: none;
  border-bottom-left-radius: 10px;
  -moz-border-bottom-left-radius: 10px;
  -webkit-border-bottom-left-radius: 10px;
  border-bottom-right-radius: 10px;
  -moz-border-bottom-right-radius: 10px;
  -webkit-border-bottom-right-radius: 10px;
}
.flow {
  padding: 100px 0;
}
.flow ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 30px auto 0 auto;
  max-width: 820px;
}
.flow ul li {
  background: #F9F9F9;
  border-radius: 10px;
  -moz-border-radius: 10px;
  -webkit-border-radius: 10px;
  box-shadow: 5px 5px rgba(0, 0, 0, 0.2);
  margin-bottom: 20px;
  width: 260px;
}
.flow ul li .step {
  border-top-left-radius: 10px;
  -moz-border-top-left-radius: 10px;
  -webkit-border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  -moz-border-top-right-radius: 10px;
  -webkit-border-top-right-radius: 10px;
  color: #FFF;
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 1.875em;
  font-weight: bold;
  letter-spacing: 0;
  padding: 0.1em 0;
}
.flow ul li:nth-child(1) .step {
  background: #FF7D81;
}
.flow ul li:nth-child(2) .step {
  background: #F9C937;
}
.flow ul li:nth-child(3) .step {
  background: #43D6B5;
}
.flow ul li:nth-child(4) .step {
  background: #79ACE6;
}
.flow ul li:nth-child(5) .step {
  background: #7E8FE0;
}
.flow ul li:nth-child(6) .step {
  background: #CD92B7;
}
.flow ul li .flow_img {
  padding: 40px 0 10px 0;
  position: relative;
}
.flow ul li .flow_img::before {
  border-style: solid;
  border-width: 15px 18px 0 18px;
  content: "";
  display: inline-block;
  height: 0;
  left: 50%;
  position: absolute;
  top: 0;
  transform: translateX(-50%);
  width: 0;
}
.flow ul li:nth-child(1) .flow_img::before {
  border-color: #FF7D81 transparent transparent transparent;
}
.flow ul li:nth-child(2) .flow_img::before {
  border-color: #F9C937 transparent transparent transparent;
}
.flow ul li:nth-child(3) .flow_img::before {
  border-color: #43D6B5 transparent transparent transparent;
}
.flow ul li:nth-child(4) .flow_img::before {
  border-color: #79ACE6 transparent transparent transparent;
}
.flow ul li:nth-child(5) .flow_img::before {
  border-color: #7E8FE0 transparent transparent transparent;
}
.flow ul li:nth-child(6) .flow_img::before {
  border-color: #CD92B7 transparent transparent transparent;
}
.flow ul li .flow_ttl {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 1.5em;
  font-weight: bold;
  letter-spacing: -0.05em;
  line-height: 1.3;
}
.flow ul li p {
  font-size: 0.875em;
  line-height: 1.6;
  text-align: left;
  margin: 10px 15px 20px 15px;
}
.flow > p {
  font-family: "fot-tsukuardgothic-std", sans-serif;
  font-size: 1.15em;
  padding-left: 1.5em;
  position: relative;
  margin: 0 auto;
  text-align: left;
  max-width: 900px;
}
.flow > p::before {
  content: "・";
  left: 0;
  top: 0;
  position: absolute;
}
.faq {
  background: #F3F8FD;
  padding: 100px 0;
}
.faq h2 {
  color: #004BA5;
  margin-bottom: 50px;
}
.faq dl {
  margin: 20px auto 0 auto;
  text-align: left;
  max-width: 1100px;
}
.faq dl dt {
  background: url("../images/question.png") left top no-repeat;
  background-size: 775px 60px;
  color: #FFF;
  font-size: 1.25em;
  height: 60px;
  line-height: 60px;
  padding-left: 45px;
  width: 775px;
}
.faq dl dd {
  background: url("../images/anser.png") left top no-repeat;
  background-size: 775px 110px;
  color: #004BA5;
  font-weight: bold;
  height: 150px;
  line-height: 1.5;
  padding: 20px 0 0 20px;
  position: relative;
  margin-left: calc(100% - 910px);
  margin-top: 20px;
  width: 910px;
}
.faq dl:nth-child(n+3) dd {
  padding-top: 30px;
  height: 140px;
}
.faq dl dd::after {
  background-size: cover;
  content: "";
  top: 20px;
  height: 130px;
  position: absolute;
  right: 20px;
  width: 130px;
}
.faq dl dd.staff01::after {
  background: url("../../images/staff01.png") no-repeat;
}
.faq dl dd.staff02::after {
  background: url("../../images/staff02.png") no-repeat;
}
.faq dl dd.staff03::after {
  background: url("../../images/staff03.png") no-repeat;
}
.contact .button a {
  background: #D90000;
  border-radius: 100px;
  -moz-border-radius: 100px;
  -webkit-border-radius: 100px;
  color: #FFF;
  display: block;
  font-size: 2.0em;
  padding: 0.4em 0;
  margin: 100px auto 70px auto;
  text-align: center;
  width: 650px;
}
.contact .copy {
  font-size: 0.7em;
  margin: 0 20px 20px 0;
  text-align: right;
}
/* スマホ用の設定 ----------------------------------------------------------------*/
@media screen and (max-width:1024px) {
  /* 共通パーツ
----------------------------------------------------------------*/
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  h2,h3 {
    font-size: 8vw;
    line-height: 1.5;
  }
  /*--------------------------------------------------------------*/
  header {
    height: 40px;
  }
  header h1 a img {
    height: 30px;
    margin: 5px 0 5px 10px;
    vertical-align: top;
  }
  header div {
    height: 50px;
    right: 0;
    width: 60vw;
    z-index: 2;
  }
  header div a {
    border-bottom-right-radius: 0;
    -moz-border-bottom-right-radius: 0;
    -webkit-border-bottom-right-radius: 0;
    font-size: 4vw;
    height: 50px;
    line-height: 50px;
    padding-left: 3vw;
    position: relative;
    text-align: center;
    width: 60vw;
  }
  header div a::before {
    font-size: 5vw;
    line-height: 50px;
    left: 3.5vw;
  }
  .main {
    width: 100%;
  }
  .main .main_box {
    background: url("../images/main.png") 5vw 65vw no-repeat;
    background-size: 90vw auto;
    padding: 7vw 5vw 65vw 5vw;
    width: 90vw;
  }
  .main .main_box .main_txt img {
    height: 7vw;
  }
  .main .main_box .main_txt .plan_ttl {
    font-size: 7.0vw;
  }
  .main .main_box .main_txt .plan_name {
    font-size: 4.0vw;
    height: 6vw;
    line-height: 6vw;
  }
  .main .main_box .main_txt .plan_price {
    font-size: 10vw;
  }
  .intro {
    margin: 10vw 0;
  }
  .intro h2 img {
    height: 8vw;
  }
  .intro h2 .mini {
    font-size: 6vw;
  }
  .intro p {
    font-size: 1.0em;
    width: 90vw;
  }
  .intro ul li {
    padding: 5vw;
    margin: 0 auto 5vw auto;
    width: 80vw;
  }
  .intro dl dd {
    font-size: 0.8em;
    width: 100%;
  }
  .example {
    padding: 10vw 0;
  }
  .example ul {
    margin: 0 auto;
    width: 90vw;
  }
  .example ul li {
    margin-top: 8vw;
    max-width: 90vw;
  }
  .example ul li .example_ttl {
    padding: 0.2em 0;
  }
  .example ul li p {
    line-height: 1.5;
  }
  .example ul li img {
    width: 70%;
  }
  .example ul li span {
    margin-top: 0;
  }
  .example > p {
    margin: 5vw;
  }
  .worries {
    padding: 10vw 0 25vw 0;
  }
  .worries h2 {
    font-size: 10vw;
  }
  .worries ul {
    margin: 5vw auto 0 auto;
    padding: 5vw 0;
    width: 90vw;
  }
  .worries ul::after {
    bottom: -15vw;
    height: 46vw;
    right: -5vw;
    width: 50vw;
  }
  .worries ul li {
    font-size: 5vw;
    line-height: 1.5;
    margin-bottom: 3vw;
    padding: 0 10vw;
  }
  .worries ul li::before {
    left: 4vw;
  }
  .entrust {
    padding-top: 5vw;
  }
  .entrust::before {
    border-width: 10vw 25vw 0 25vw;
  }
  .entrust h2 {
    font-size: 6vw;
    margin: 15vw 0 5vw 0;
  }
  .entrust dl {
    margin-top: 10vw;
    width: 90vw;
  }
  .entrust dl:last-child {
    flex-direction: row-reverse;
  }
  .entrust dl dt {
    width: 100%;
  }
  .entrust dl dt img {
    width: 80vw;
  }
  .entrust dl dd {
    text-align: left;
    width: 100%;
  }
  .entrust dl dd .entrust_ttl {
    font-size: 5.5vw;
  }
  .entrust dl dd p {
    font-size: 0.9em;
    margin: 0.5em 0 1.0em 0;
  }
  .entrust dl dd img {
    height: 30px;
  }
  .reason {
    padding: 15vw 0;
  }
  .reason h2 {
    font-size: 7vw;
  }
  .reason ul {
    margin: 0 auto;
    width: 90vw;
  }
  .reason ul li {
    font-size: 1.0em;
    line-height: 1.8;
    margin-top: 10vw;
    width: 100%;
  }
  .reason ul li img {
    margin: 0 auto;
    width: 70vw;
  }
  .plan {
    padding: 10vw 0 15vw 0;
  }
  .plan table {
    margin: 8vw auto 0 auto;
    width: 90vw;
  }
  .plan table th {
    font-size: 0.8em;
    padding: 10px;
    min-height: auto;
    width: 60px;
  }
  .plan table td {
    font-size: 0.7em;
    line-height: 1.5;
    padding: 10px;
    min-height: auto;
  }
  .plan table td strong {
    font-size: 2.0em;
  }
  .flow {
    padding: 10vw 0 15vw 0;
  }
  .flow ul {
    margin: 0 auto;
    width: 90vw;
  }
  .flow ul li {
    margin-top: 5vw;
    width: 43vw;
  }
  .flow ul li .step {
    font-size: 1.5em;
  }
  .flow ul li .flow_img {
    padding: 20px 0 0 0;
  }
  .flow ul li .flow_img img {
    width: 25vw;
  }
  .flow ul li .flow_ttl {
    font-size: 5vw;
  }
  .flow ul li p {
    font-size: 0.8em;
    line-height: 1.5;
    margin: 5px 10px 10px 10px;
  }
.flow > p {
  font-size: 0.9em;
  line-height: 1.8;
  padding-left: 1.5em;
  width: 90vw;
}
  .faq {
    padding: 10vw 0 15vw 0;
  }
  .faq h2 {
    margin-bottom: 7vw;
  }
  .faq dl {
    margin: 7vw auto 0 auto;
    text-align: left;
    width: 90vw;
  }
  .faq dl dt {
    background-color: #004BA5;
    background-image: none;
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    font-size: 1.0em;
    height: auto;
    line-height: 1.8;
    padding: 3vw;
    width: 78vw;
  }
  .faq dl dd {
    background-image: none;
    border: 3px solid #004BA5;
    border-radius: 10px;
    -moz-border-radius: 10px;
    -webkit-border-radius: 10px;
    height: auto;
    line-height: 1.5;
    padding: 3vw;
    margin-left: calc(6vw - 6px);
    margin-top: 10px;
    width: 78vw;
  }
  .faq dl:nth-child(n+3) dd {
    padding-top: 3vw;
    height: auto;
  }
  .faq dl dd::after {
    display: none;
  }
  .contact .button a {
    font-size: 5vw;
    font-weight: bold;
    padding: 0.5em 0;
    margin: 15vw auto 10vw auto;
    width: 90vw;
  }
  .contact .copy {
    font-size: 0.8em;
    margin: 0;
  }
}