html,
body {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
  background: #f7f7f7;
}

body.is-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.wide_wrap,
.wrap {
  width: calc(100% - 50px);
  margin: 0 auto;
}
.wrap {
  max-width: 1200px;
}
.wide_wrap {
  max-width: 1760px;
}
.section_area {
  padding: 140px 0;
}
button,.tokucho_img,.q_area{
  cursor: pointer;
}
.bt_gradation {
  border-radius: 80px;
  color: #fff;
  font-weight: 700;
  background: linear-gradient(to right, #ff7e00 30%, #ff3600 60%);
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100px;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(5px);
  z-index: 999;
}
header .wide_wrap {
  display: flex;
  align-items: center;
  height: 100%;
  justify-content: space-between;
}
header .wide_wrap img {
  width: 130px;
}

header a {
  font-size: 140%;
  padding: 12px 35px 14px;
  text-align: center;
}
header a::before {
  content: "まずは無料で試してみる";
}

#mv {
  margin-top: 100px;
  position: relative;
  /* min-height: calc(100% - 140px); */
  display: flex;
  align-items: flex-start;
}
#mv .wrap {
  z-index: 1;
  position: relative;
  padding: 60px 0 150px;
  display: flex;
  align-items: center;
  flex-direction: column;
  color: #fff;
}
#mv .wrap .head {
  display: flex;
  align-items: center;
}
#mv .wrap .head .decoration {
  display: flex;
}
#mv .wrap .head .decoration span {
  font-size: 100%;
  font-weight: 600;
  padding: 1px 15px 3px;
  background: rgba(255, 255, 255, 0.2);
  border: 1px solid #fff;
  border-radius: 50px;
  margin: 0 4px;
}
#mv_title,
#mv_title .title_head {
  display: flex;
  align-items: center;
}
#mv_title {
  margin-top: 40px;
  flex-direction: column;
  font-size: 190%;
  font-weight: 700;
}
#mv_title .title_head span {
  color: #2272c0;
  background: #fff;
  padding: 0px 20px 1px;
  margin: 0 5px;
}
#mv_title h1 {
  font-size: 190%;
  margin-top: 5px;
}
#mv_bg,
#mv_bg_sp {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#mv_bg {
  border-radius: 20px;
}
#mv_body {
  margin-top: 40px;
  width: 100%;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.2);
  padding: 45px 40px;
  display: flex;
  justify-content: space-between;
}
#mv_body .text_box {
  width: calc(100% - 400px);
  display: flex;
  flex-direction: column;
  align-items: center;
}
#mv_body .text_box h2 {
  text-align: center;
  width: 100%;
  font-size: 200%;
}
#mv_body .img_box {
  width: 365px;
  position: relative;
}
#mv_body .img_box img {
  position: absolute;
  left: 0;
  top: calc(50% - 180px);
  width: 100%;
}
#mv_body hr {
  border: none;
  border-bottom: 1px solid #fff;
  width: 100%;
  margin: 30px 0;
}
#mv_body p {
  font-size: 110%;
  line-height: 180%;
}

.freeplan_bt {
  width: calc(100% - 80px);
  max-width: 630px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.freeplan_bt::before {
  color: #fff;
  content: "すぐに迷わず使える！";
  text-align: center;
  font-size: 180%;
  font-weight: 600;
  margin-bottom: 10px;
}
.freeplan_bt a {
  width: 100%;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 600;
}
.freeplan_bt a::before {
  content: "Freeプランなら\aずっと無料！";
  white-space: pre-wrap;
  font-size: 130%;
  text-align: center;
  margin-right: 20px;
  padding: 5px 20px;
  border-top: 3px solid;
  border-bottom: 3px solid;
  border-color: #fff;
}
.freeplan_bt a::after {
  content: "無料で試してみる";
  font-size: 220%;
}
#first_bt {
  margin-top: -120px;
  position: relative;
  z-index: 20;
}
.blue_font {
  color: #06265e;
}
#section_1,
#section_4 {
  padding: 160px 0;
}
#section_1 .wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.title_area {
  text-align: center;
}
.title_area h2 {
  font-size: 300%;
  font-weight: 900;
  margin-bottom: 30px;
}
#section_1 .wrap .title_area p {
  font-size: 120%;
  font-weight: 600;
  line-height: 180%;
}

#section_1 ul {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}
#section_1 ul li {
  width: calc(33.333% - 30px);
  background: #fff;
  border-radius: 30px;
  box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.1);
  padding: 40px;
}
#section_1 ul li h3 {
  font-size: 160%;
  font-weight: 900;
  text-align: center;
}
#section_1 ul li img {
  display: block;
  width: 100%;
  margin: 20px auto;
}
#section_1 .foot_area {
  margin-top: 80px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
#section_1 .foot_area span {
  font-size: 240%;
  font-weight: 700;
}
#section_1 .foot_area img {
  width: 200px;
  margin: 0 10px;
}
#section_2 {
  padding: 140px 0;
  background: #fff;
}
#section_2 .title_area h2 {
  font-size: 280%;
}
#section_2 .title_area h2 br.hiden,
#section_2 .title_area h2 br.hiden2 {
  display: none;
}
#one_min {
  margin-top: 40px;
}
#one_min img {
  display: block;
  width: 100%;
}
#one_min_comment {
  display: flex;
  justify-content: center;
  padding: 10px 30px 12px;
  background: #06265e;
  border-radius: 100px;
  width: calc(100% - 20px);
  max-width: 910px;
  color: #fff;
  margin: -30px auto 0;
  position: relative;
  z-index: 1;
  font-weight: 700;
  font-size: 140%;
  white-space: nowrap;
}
#section_3,
.tokucho_area .head .number span,
#section_5 {
  background-color: #1564a2;
}
#section_3 {
  color: #fff;
  padding: 140px 0;
}
#tokucho_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 20px;
}
#tokucho_title h2 {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  font-size: 240%;
  line-height: 100%;
}
#tokucho_title h2 img {
  width: 240px;
  margin-right: 10px;
}
#tokucho_title strong {
  margin-top: 30px;
  font-size: 280%;
  text-align: center;
}
#tokucho_title p {
  margin-top: 30px;
  line-height: 180%;
  text-align: center;
}

.tokucho_area {
  padding: 100px 0;
}
.tokucho_area .head {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.tokucho_area .head .baloon {
  border-radius: 50px;
  background: #fff;
  font-size: 180%;
  padding: 10px 30px 12px;
  font-style: italic;
  font-weight: 700;
  color: #000;
  position: relative;
  z-index: 10;
}
.tokucho_area .head .baloon::after {
  content: "";
  position: absolute;
  height: 13px;
  width: 17px;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background: #fff;
  left: calc(50% - 8.5px);
  bottom: -12px;
}
.tokucho_area .head .number {
  color: #e2e2e2;
  font-weight: 800;
  font-size: 400%;
  width: 100%;
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 1;
  margin-top: 5px;
}
.tokucho_area .head .number span {
  padding: 0 40px;
  z-index: 1;
}

.tokucho_area .head .number::after {
  content: "";
  position: absolute;
  z-index: 0;
  background: #fff;
  width: 100%;
  height: 1px;
  top: calc(50% - 0.5px);
  left: 0;
}
.tokucho_area .head h3 {
  margin-top: 20px;
  font-style: italic;
  font-size: 250%;
  text-align: center;
}
.tokucho_area .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 50px;
}
.tokucho_area .wrap .info {
  width: 40%;
}
.tokucho_area .wrap .text_box {
  font-size: 120%;
}
.tokucho_area .wrap ul {
  margin-top: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.tokucho_area .wrap ul li {
  font-size: 130%;
  font-weight: 700;
  margin: 5px 0;
  display: flex;
  align-items: center;
  position: relative;
  padding-bottom: 10px;
}
.tokucho_area .wrap ul li img {
  margin-right: 6px;
}
.tokucho_area .wrap ul li::after {
  position: absolute;
  content: "";
  width: calc(100% - 30px);
  right: 0;
  bottom: 0;
  border-bottom: 2px dotted #fff;
}
.tokucho_area .tokucho_img {
  width: calc(60% - 50px);
  border-radius: 14px;
}
.tokucho_area .tokucho_img:hover{
  opacity: .9;
}
.tokucho_area .tokucho_img img{
  width: 100%;
  border-radius: 10px;
}

#section_4 ol {
  display: flex;
  justify-content: space-between;
  margin-top: 120px;
}
#section_4 ol li {
  width: calc(33.333% - 20px);
  background: #fff;
  border-radius: 20px;
  position: relative;
  padding: 60px 40px;
}
#section_4 ol li .list_icon {
  width: 80px;
  aspect-ratio: 1;
  position: absolute;
  left: calc(50% - 40px);
  top: -40px;
}
#section_4 ol li h3 {
  font-size: 170%;
  font-weight: 900;
  text-align: center;
}

#section_4 ol li .step_img {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 40px 0;
}
#section_4 ol li .step_img img {
  width: 100%;
}
#section_4 ol li p {
  font-size: 110%;
}

#section_5 .title_area {
  color: #fff;
}
#table_area {
  width: 100%;
  max-width: 980px;
  margin: 80px auto;
}
#plan_table {
  width: 100%;
}
.white_th{
  background: #1564a2;
}
#table_area th,
#table_area td {
  font-weight: 700;
  font-size: 120%;
  padding: 14px 0;
  border: 2px solid #1664a2;
  white-space: nowrap;
  line-height: 150%;
}
#plan_table thead,#table_area tbody{
  color: #fff;
}
#plan_table thead th,#table_area tbody th {
  text-align: center;
}
#plan_table th:nth-child(n + 2),
#section_5 tfoot td {
  width: 230px;
}
#plan_table thead th {
  padding: 0 0 10px;
}
#plan_table thead tr th img {
  width: 210px;
}
#table_area tbody th:nth-child(2) {
  background: #3c93d8;
}
#table_area tbody tr th:nth-child(3) {
  background: #1a7ac7;
}
#table_area tbody th:nth-child(4) {
  background: #0b3468;
}
#section_5 tfoot th,#th_title th{
  background: #f7f7f7;
  padding-left: 20px;
  padding-right: 20px;
}
#section_5 tfoot th small {
  margin-left: 5px;
}
#section_5 tfoot td {
  background: #fff;
  text-align: center;
}

#table_title{
  display: none;
  position: fixed;
  left: 0;
  z-index: 100;
}
#plan_table_outer{
  position: relative;
}
#th_title{
  display: none;
  position: absolute;
  bottom: 0;
  left: 0;
}
#slide_info {
  display: none;
}

#qa_area {
  margin-top: 50px;
}
#qa_area li {
  border-bottom: 1px solid #1566a7;
  font-size: 130%;
  font-weight: 700;
  padding: 20px 30px;
}
#qa_area li div .inner {
  display: flex;
  align-items: center;
  padding: 20px 0px;
  position: relative;
}
#qa_area li div .inner::before {
  font-size: 140%;
  margin-right: 30px;
  color: #1366a8;
}
#qa_area li .q_area .inner::before {
  content: "Q";
}
#qa_area li .a_area .inner::before {
  content: "A";
}

#qa_area li .q_area .inner {
  padding-right: 30px;
}
#qa_area li .q_area .inner::after {
  content: "+";
  position: absolute;
  right: 0;
  top: calc(50% - 22.5px);
  color: #1566a5;
  font-size: 150%;
}
#qa_area li.act .q_area .inner::after {
  content: "";
  width: 20px;
  height: 4px;
  background: #1566a5;
  top: calc(50% - 2px);
}
#qa_area li .a_area {
  display: none;
  padding-top: 0;
}
.q_area:hover{
  color: #555;
}

#section_7 {
  background: #fff;
}
#section_7 .title_area p {
  text-align:center;
  font-size: 130%;
  font-weight: 700;
  letter-spacing: 0.1rem;
}
#section_7 ul li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 30px 0;
  border-bottom: 1px solid #ddd;
}
#section_7 ul li .date_box {
  width: 90px;
}
#section_7 ul li .text_box {
  width: calc(100% - 200px);
}
#section_7 ul li .text_box a {
  border-bottom: 1px solid #000;
  color: #000;
}
#section_7 ul li .text_box a:hover {
  color: #1566a5;
  border-bottom-color: #1566a5;
}
footer .head {
  background: #fff;
  padding: 50px 0;
}
footer .head ul {
  display: flex;
  align-items: center;
}
footer .head li {
  margin-right: 20px;
}
footer .head li img {
  width: 25px;
}
#footer_main,#footer_main a{
  color: #fff;
}
#footer_main{
  background:#1564a5;
  padding: 50px 0;;
}
#footer_main .wide_wrap{
  display: flex;
  justify-content: space-between;
}
#footer_main .left_area{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
#footer_main .left_area ul{
  display: flex;
  font-size: 90%;
}
#footer_main .left_area ul li::after{
  content: "/";
  padding: 0 15px;
}
#footer_main .left_area ul li:last-child::after{
  display: none;
}
#footer_main .left_area p{
  font-size: 80%;
}
#footer_main .right_area{
  width: 200px;
}
#footer_main .right_area img{
  width: 100%;
}

#admin_modal{
  position: fixed;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(5px);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: none;
}
#admin_modal .inner{
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#flow_images{
  max-width: 1280px;
  width: 90%;
  aspect-ratio: 1343/720;
  position: relative;
}
#flow_images img{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: none;
}
#admin_modal .inner button{
  background: #fff;
  font-size: 120%;
  width: 200px;
  margin-top: 40px;
  text-align:center;
  padding: 8px 0 10px;
  border-radius: 50px;
  font-weight: 700;
}
#admin_modal .inner button::before{
  content: "\2715";
  margin-right: 20px;
}
#admin_modal .inner button:hover{
  opacity: .8;
}