@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;700&family=Noto+Sans+JP:wght@400;600;700&display=swap");
/* 基本スタイル */
* {
  box-sizing: border-box;
}

body {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif;
  margin: 0;
  padding: 0;
  background-size: 100%;
}

h1,
h2,
h3,
h4,
h5,
h6,
div,
p,
ul,
li {
  margin: 0;
  padding: 0;
  font-weight: normal;
}

ul {
  list-style: none;
}

p {
  line-height: 1.8;
}

img {
  width: 100%;
  height: auto;
  border: 0;
}

.bold {
  font-weight: bold;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

/* 個別スタイル */
.header_inner {
  padding: 14px 20px;
  height: 50px;
}
.header_inner .head_logo {
  width: 80px;
  height: 20px;
}
.header_inner .head_logo img {
  vertical-align: top;
}

main {
  max-width: 430px;
  margin: 0 auto;
  padding-top: 36px;
  text-align: center;
}

.inner {
  width: 90%;
  margin: 0 auto;
}

.mv {
  position: relative;
  width: 100%;
  min-height: 228px;
  background: url("../assets/images3/bg1.png") no-repeat;
  background-size: cover;
}
.mv .fukidashi1 {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 332px;
  height: 60px;
  margin: 0 auto;
  padding-top: 10px;
  font-size: 16px;
  font-weight: bold;
  color: #387de0;
  background: url("../assets/images3/fukidashi1.png") no-repeat;
  background-size: contain;
}
.mv .fukidashi1 .small {
  font-size: 13px;
}
.mv .inner {
  padding: 24px 0 10px;
}
.mv .mv_txt1 {
  margin-bottom: 10px;
  font-size: 32px;
  font-weight: bold;
}
.mv .mv_txt1 .mv_img1 img {
  width: 93px;
  margin-right: 10px;
  vertical-align: middle;
}
.mv .mv_txt1 .small {
  font-size: 24px;
}
.mv .mv_txt2 {
  font-size: 13px;
}
.mv .mv_txt2 .color1 {
  color: #387de0;
}

.movie .inner {
  padding: 16px 0 30px;
}
.movie .inner .movie_txt1 {
  width: 105px;
  height: 19px;
  margin: 0 auto 15px;
  font-size: 15px;
  font-weight: bold;
  color: #ff6a6c;
  background: url("../assets/images3/bg_txt1.png") no-repeat;
  background-size: contain;
}
.movie .inner .movie_txt2 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  width: 100%;
  max-width: 300px;
  margin: 0 auto 8px;
  text-align: left;
}
.movie .inner .movie_txt2 .movie_txt2_1 {
  width: 30%;
  font-size: 12px;
  font-weight: bold;
}
.movie .inner .movie_txt2 .movie_txt2_1 .small {
  font-size: 10px;
  font-weight: normal;
}
.movie .inner .movie_txt2 .movie_txt2_2 {
  position: relative;
  width: 70%;
}
.movie .inner .movie_txt2 .movie_txt2_2 .fukidashi2 {
  width: 172px;
  height: 53px;
  padding-top: 4px;
  text-align: center;
  font-size: 17px;
  font-weight: bold;
  color: #387de0;
  background: url("../assets/images3/fukidashi2.png") no-repeat;
  background-size: contain;
}
.movie .inner .movie_txt2 .movie_txt2_2 .movie_txt3 {
  position: absolute;
  top: -10px;
  right: 3px;
  width: 57px;
  height: 57px;
  line-height: 57px;
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  background: #387de0;
  border-radius: 29px;
  transform: rotate(15deg);
}
.movie .inner .movie_cont {
  width: 100%;
  max-width: 302px;
  margin: 0 auto 23px;
}
.movie .inner .movie_link {
  margin-bottom: 15px;
}
.movie .inner .movie_txt4 {
  text-align: left;
  font-size: 11px;
  color: #ff6a6c;
}

.link_list1 {
  width: 100%;
  max-width: 297px;
  margin: 0 auto;
}
.link_list1 li a {
  position: relative;
  display: block;
  width: 100%;
  height: 42px;
  margin-bottom: 10px;
  padding-top: 10px;
  text-align: center;
  font-size: 14px;
  color: #fff;
  background: #387de0;
  border-radius: 21px;
}
.link_list1 li a:after {
  position: absolute;
  top: 15px;
  right: 17px;
  display: block;
  content: "";
  width: 6px;
  height: 10px;
  background: url("../assets/images3/icon_link1.svg") no-repeat;
  background-size: 6px 10px;
}

.problem {
  position: relative;
  padding: 18px 0 30px;
  background: #4cbfbf;
}
.problem:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: "";
  width: 100%;
  height: 220px;
  background: url("../assets/images3/bg2.png") no-repeat;
  background-size: auto 220px;
  z-index: 1;
}
.problem:after {
  position: absolute;
  bottom: 0;
  right: 0;
  display: block;
  content: "";
  width: 100%;
  height: 220px;
  background: url("../assets/images3/bg3.png") no-repeat;
  background-size: auto 220px;
  background-position: bottom right;
  z-index: 1;
}
.problem .inner {
  position: relative;
  z-index: 5;
}
.problem .inner .problem_txt1 {
  margin-bottom: 24px;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
}
.problem .inner .problem_txt1 .big {
  font-size: 26px;
}
.problem .inner .box1 {
  width: 100%;
  max-width: 322px;
  margin: 0 auto;
  padding: 15px 15px 25px;
  text-align: left;
  background: #fff;
  border-radius: 15px;
}
.problem .inner .box1 .box1_img1 {
  margin-bottom: 15px;
}
.problem .inner .box1 .box1_txt1 {
  font-size: 12px;
  margin-bottom: 30px;
}
.problem .inner .box1 .box1_txt2 {
  font-size: 12px;
}

.smart {
  padding: 30px 0 0;
  margin-bottom: 15px;
}
.smart .inner {
  width: 80%;
}
.smart .inner .smart_txt1 {
  width: 238px;
  height: 31px;
  margin: 0 auto 15px;
  color: #8679ff;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  background: url("../assets/images3/bg_txt2.png") no-repeat;
  background-size: 100%;
}
.smart .inner .smart_txt2 {
  position: relative;
  margin-bottom: 15px;
}
.smart .inner .smart_txt2_1 {
  width: 172px;
  height: 44px;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  background: url("../assets/images3/bg_txt3.png") no-repeat;
  background-size: 100%;
  margin-bottom: -20px;
}
.smart .inner .smart_txt2_1 .small {
  font-size: 15px;
}
.smart .inner .smart_txt2_2 {
  width: 241px;
  height: 60px;
  color: #8679ff;
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  background: url("../assets/images3/bg_txt4.png") no-repeat;
  background-size: 100%;
  padding-top: 3px;
  margin-left: auto;
}
.smart .inner .smart_txt2_2 .small {
  font-size: 19px;
}
.smart .inner .box8 {
  border: 1px solid #8679ff;
  border-radius: 12px;
  background-color: rgba(134, 121, 255, 0.03);
  padding: 15px 15px 25px;
  margin-bottom: 20px;
}
.smart .inner .box8 .box8_head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 10px;
  column-gap: 10px;
  margin-bottom: 24px;
}
.smart .inner .box8 .box8_head_txt {
  border-bottom: 2px dotted #8d8d8d;
  padding-bottom: 15px;
}
.smart .inner .box8 .box8_head_txt_t1 {
  display: block;
  width: 80px;
  height: 18px;
  line-height: 18px;
  color: #fff;
  font-size: 11px;
  text-align: center;
  background-color: #666666;
  border-radius: 9999px;
  margin-bottom: 10px;
}
.smart .inner .box8 .box8_head_txt_t2_1 {
  font-size: 13px;
  padding-left: 16px;
  padding-right: 25px;
}
.smart .inner .box8 .box8_head_txt_t2_2 {
  font-size: 13px;
  padding-left: 16px;
  padding-right: 16px;
}
.smart .inner .box8 .box8_head_txt_t2_3 {
  font-size: 13px;
}
.smart .inner .box8 .box8_head_img1 {
  width: 125px;
  height: 81px;
  margin-right: 5px;
}
.smart .inner .box8 .box8_head_img2 {
  width: 109px;
  height: 69px;
  margin-top: 15px;
}
.smart .inner .box8 .box8_head_img3 {
  width: 81px;
  height: 53px;
  margin-top: 10px;
}
.smart .inner .box8 .box8_cnt_t1 {
  position: relative;
  display: block;
  width: 80px;
  height: 18px;
  line-height: 18px;
  color: #fff;
  font-size: 11px;
  text-align: center;
  background-color: #4cbfbf;
  border-radius: 9999px;
  margin-bottom: 15px;
}
.smart .inner .box8 .box8_cnt_t1::before {
  content: "";
  position: absolute;
  top: -16px;
  left: calc(50% - 8px);
  display: inline-block;
  border-style: solid;
  border-width: 9px 8px 0 8px;
  border-color: #4cbfbf transparent transparent transparent;
  border-radius: 2px;
}
.smart .inner .box8 .box8_cnt_t1::after {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  width: 100%;
  height: 100%;
  border: 0.5px solid #009d91;
  border-radius: 9999px;
}
.smart .inner .box8 .box8_cnt_list1 li {
  position: relative;
  font-size: 13px;
  text-align: left;
  padding-left: 11px;
}
.smart .inner .box8 .box8_cnt_list1 li::before {
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #4cbfbf;
}
.smart .inner .box8 .box8_cnt_list1 li:not(:last-child) {
  margin-bottom: 5px;
}
.smart .inner .fukidashi3 {
  width: 312px;
  height: 120px;
  text-align: left;
  padding: 30px;
  background: url("../assets/images3/fukidashi3.png") no-repeat;
  background-size: 100%;
  margin: 0 auto;
}
.smart .inner .fukidashi3 .fukidashi3_txt1 {
  font-size: 12px;
  line-height: 1.8;
}
.smart .inner .fukidashi3 .fukidashi3_txt1 .green {
  color: #009d91;
  font-weight: bold;
}

.experience {
  padding-top: 50px;
  background: url("../assets/images3/bg4.png") no-repeat top center/100%;
}
.experience .inner {
  position: relative;
  width: 84%;
}
.experience .inner .experience_icon {
  position: absolute;
  top: -30px;
  right: 0px;
  width: 60px;
}
.experience .experience_txt1 {
  width: 85%;
  margin: 0 auto 25px;
  line-height: 1.3;
  text-align: left;
  font-size: 27px;
  font-weight: bold;
  color: #387de0;
}
.experience .experience_txt1 .small1 {
  font-size: 19px;
  color: #333;
}
.experience .experience_txt1 .experience_txt2 {
  display: block;
  text-align: right;
  font-size: 24px;
  margin-bottom: 5px;
}
.experience .experience_txt1 .experience_txt3 {
  display: block;
  text-align: right;
  font-size: 19px;
  color: #333;
}
.experience .experience_img1 {
  width: 100%;
  max-width: 255px;
  margin: 0 auto 30px;
}
.experience .experience_txt4 {
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
  margin-bottom: 30px;
  /* もとのmargin-bottomは25px  */
}
.experience .experience_txt4 .bold {
  font-weight: bold;
}
.experience .experience_txt4 .blue {
  color: #387ddd;
  font-weight: bold;
}
.experience .experience_txt5 {
  font-size: 10px;
  text-align: left;
  margin-bottom: 25px;
}

.example {
  margin-bottom: 42px;
}
.example .fukidashi4 {
  position: relative;
  height: 220px;
  background: url("../assets/images3/fukidashi4.png");
  background-size: 100% 100%;
  padding: 20px;
  margin: 0 auto 20px;
}
.example .fukidashi4 .fukidashi4_txt1 {
  position: absolute;
  top: -10px;
  left: calc(50% - 40px);
  display: block;
  width: 80px;
  height: 20px;
  line-height: 20px;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  color: #fff;
  border-radius: 9999px;
  background-color: #387de0;
}
.example .fukidashi4 .fukidashi4_txt2 {
  position: relative;
  font-size: 15px;
  font-weight: bold;
  text-align: left;
  padding-left: 16px;
  margin-bottom: 20px;
}
.example .fukidashi4 .fukidashi4_txt2::before {
  content: "";
  position: absolute;
  top: 8px;
  left: 0;
  display: inline-block;
  width: 9px;
  height: 6px;
  background: url(../assets/images3/icon_list1.svg) no-repeat center
    center/contain;
}
.example .fukidashi4 .fukidashi4_img {
  width: 209px;
  height: 100px;
  margin: 0 auto;
}
.example .example_txt1 {
  position: relative;
  margin-bottom: 18px;
}
.example .example_txt1 .example_txt1_t1 {
  position: absolute;
  top: -12px;
  left: 0;
  width: 41px;
  height: 41px;
}
.example .example_txt1 .example_txt1_t2 {
  width: calc(100% - 30px);
  font-size: 13px;
  text-align: left;
  background-color: #f5f8fd;
  border: 1px dashed #a7a7a7;
  padding: 15px 25px;
  border-radius: 9px;
  margin-left: auto;
}
.example .example_txt2 {
  position: relative;
  margin-bottom: 60px;
}
.example .example_txt2 .example_txt2_t1 {
  position: absolute;
  top: -12px;
  left: 0;
  width: 41px;
  height: 41px;
}
.example .example_txt2 .example_txt2_t2 {
  width: calc(100% - 30px);
  font-size: 13px;
  font-weight: bold;
  text-align: left;
  color: #fff;
  background-color: #387de0;
  padding: 15px 25px;
  border-radius: 9px;
  margin-left: auto;
}
.example .example_txt2 .example_txt2_t2 .yellow {
  color: #ffff00;
}
.example .example_txt2 .example_txt2_t2_1 {
  padding-bottom: 38px;
}
.example .example_txt2 .example_txt2_t2_3 {
  padding-bottom: 20px;
}
.example .example_txt2 .example_txt2_img1 {
  display: inline-block;
  width: 184px;
  height: 120px;
  margin-top: -14px;
  margin-left: 30px;
}
.example .example_txt2 .example_txt2_img2 {
  display: inline-block;
  width: 204px;
  height: 127px;
  margin-top: -21px;
  margin-left: 30px;
}
.example .example_txt2 .example_txt2_img3 {
  display: inline-block;
  width: 174px;
  height: 125px;
  margin-top: -8px;
  margin-left: 30px;
}

.begin {
  background: url("../assets/images3/bg5.jpg") no-repeat top center/98% auto;
  margin-bottom: 60px;
  margin-top: -15px;
  padding-top: 15px;
}
.begin .inner {
  width: 84%;
}
.begin .begin_txt1 {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 10px;
}
.begin .begin_txt1 .big {
  display: inline-block;
  font-size: 28px;
  color: #fff;
  background-color: #8679ff;
  border-radius: 10px;
  margin-right: 10px;
  padding: 5px 15px;
}
.begin .begin_txt2 {
  color: #387de0;
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 10px;
}
.begin .begin_txt3 {
  font-weight: bold;
  margin-bottom: 63px;
}

.btn1 a {
  position: relative;
  display: block;
  width: 100%;
  max-width: 315px;
  height: 57px;
  margin: 0 auto;
  padding-top: 16px;
  font-size: 16px;
  color: #fff;
  background: #387de0;
  border-radius: 29px;
  filter: drop-shadow(0 7px 0 rgb(31, 196, 255));
}

.profile .box5 {
  padding: 34px 0 33px;
  background: #ffdada;
  border-top-left-radius: 45px;
  border-top-right-radius: 45px;
}
.profile .box5 .fukidashi5 {
  width: 130px;
  height: 46px;
  margin: 0 auto 11px;
  padding-top: 6px;
  font-size: 15px;
  color: #fff;
  background: url("../assets/images3/fukidashi5.png") no-repeat;
  background-size: 130px 46px;
}
.profile .box5 .box6 {
  width: 100%;
  max-width: 318px;
  margin: 0 auto;
  padding: 28px 22px;
  background: #fff;
  border-radius: 15px;
}
.profile .box5 .box6 .box6_img1 {
  width: 96px;
  margin: 0 auto 20px;
}
.profile .box5 .box6 .box6_txt1 {
  margin-bottom: 20px;
  font-size: 22px;
  font-weight: bold;
  font-family: "M PLUS Rounded 1c", sans-serif;
}
.profile .box5 .box6 .box6_txt2 {
  margin-bottom: 30px;
  font-size: 15px;
  font-weight: bold;
  font-family: "M PLUS Rounded 1c", sans-serif;
}
.profile .box5 .box6 .box6_txt3 {
  margin-bottom: 25px;
  text-align: left;
  font-size: 12px;
}
.profile .box5 .sns_list {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  width: 100%;
  max-width: 226px;
  margin: 0 auto;
}
.profile .box5 .sns_list li {
  width: 46px;
  margin-right: 14px;
}
.profile .box5 .sns_list li:nth-child(4n) {
  margin-right: 0;
}

.footer-c {
  padding: 20px;
  /* margin: 20px; */
  background-color: #555555;
  color: #fff;
  font-size: 0.8em;
}

.footer-c ul {
  padding-inline-start: 0 !important;
  font-size: 0.5em;
  color: #d5d5d5;
}

.btn {
  display: inline-block;
  font-weight: 400;
  color: #212529;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn-group-sm > .btn,
.btn-sm {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.btn-primary {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.footer-mark-c {
  max-width: 100px;
  margin-bottom: 1rem;
}

a {
  text-decoration: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

.f_logo {
  text-align: center;
  padding: 10px;
  background: #fff;
}
.f_logo img {
  width: 95px;
}
