@charset "UTF-8";
a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}

.hp_pcNone {
  display: none !important;
}

.ly_inner {
  width: 1000px;
  margin: 0 auto;
}
/*----------- google font -----------*/
.font_oswald {
  font-family: 'Oswald', sans-serif !important;
}

.font_notosans {
  font-family: 'Noto Sans JP', sans-serif !important;
}

/*----------- fv -----------*/
.ly_fv {
  background: url(../img/pc_fv_background_cover.jpg) no-repeat;
  background-size: cover;
  position: relative;
  padding-bottom: 140px;
}
.ly_fv::before {
  content: "";
  background: #2c366a;
  -webkit-clip-path: polygon(0 0, 0 100%, 70% 0);
          clip-path: polygon(0 0, 0 100%, 70% 0);
  width: 100%;
  height: 100px;
  display: inline-block;
}
.ly_fv::after {
  content: "";
  background: #2c366a;
  -webkit-clip-path: polygon(100% 0, 0 50%, 100% 100%);
          clip-path: polygon(100% 0, 0 50%, 100% 100%);
  width: 50%;
  height: 140px;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 10;
}

.bl_fv {
  margin-top: 6px;
  position: relative;
}

.bl_fv_img {
  position: absolute;
  bottom: -108px;
  left: -61px;
}

.bl_fv_ttl {
  position: relative;
  z-index: 10;
  color: #15205b;
  font-weight: 600;
  font-size: 40px;
  line-height: 1.85;
}

.bl_fv_ttl span.indent {
  display: block;
  padding-left: 2em;
  line-height: inherit;
  font-weight: inherit;
}

.bl_fv_ttl .font_big {
  font-weight: bold;
  font-size: 52px;
  letter-spacing: 3px;
}

.bl_fv_ttl .font_big .icon{
  font-size: inherit;
  font-weight: inherit;
}

.bl_fv_ttl .font_middle {
  font-weight: bold;
}

.bl_fv_ttl .font_gold {
  font-weight: bold;
  font-size: 60px;
  color: rgb(255, 196, 15);
}

.bl_fv_ttl .font_gold span {
  font-size: 34px;
  font-weight: inherit;
}

.bl_fv_ttl .flag {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  color: #fff;
  width: 600px;
  height: 130px;
  background: url("../img/fv_flag_img.png");
}

.bl_fv_ttl .flag span.icon {
  margin-right: 20px;
}

.bl_fv_ttl .flag span.text {
  display: block;
  font-weight: 600;
  font-size: 32px;
  letter-spacing: 2px;
}

.bl_fv_ttl .flag span.text span {
  font-size: 20px;
  display: block;
  text-indent: 0.5em;
  margin-bottom: 10px;
  font-weight: inherit;
  letter-spacing: inherit;
}

.bl_fv_main ul.ribbon {
  margin-top: 42px;
}

.bl_fv_main ul.ribbon li {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 220px;
  height: 80px;
  color: #fff;
  font-weight: bold;
  background: url(../img/fv_ribbon.png);
  margin: 0 0 10px auto;
  flex-wrap: wrap;
  text-align: center;
  font-size: 20px;
  line-height: 1.3;
}

.bl_fv_main ul.ribbon li span {
  font-weight: inherit;
  font-size: 1.2em;
}

.bl_form {
  width: 400px;
  margin-top: -30px;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  -webkit-box-shadow: 0 8px 10px rgba(0, 0, 0, .1);
          box-shadow: 0 8px 10px rgba(0, 0, 0, .1);
  padding-bottom: 43px;
}
.bl_form form {
  margin: 0 40px;
}

.bl_form_item:first-child {
  margin-top: 27px;
}

.bl_form_item {
  margin-top: 16px;
}
.bl_form_item dt label {
  font-size: 15px;
  font-weight: 500;
  color: #444;
}
.bl_form_item dt::before {
  content: "必須";
  color: #fff;
  background: #f2313f;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  padding: 4px 3px;
  margin-right: 9px;
}
.bl_form_item dd {
  margin-top: 4px;
}
.bl_form_item dd input[type=text] {
  width: 100%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: #e6e7f2;
  border: none;
  font-size: 16px;
  line-height: 1.5;
  resize: none;
  padding: 8px 15px;
}

.bl_form_privacypolicy {
  margin-top: 42px;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #07156b;
  text-align: center;
}
.bl_form_privacypolicy a {
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #07156b;
  text-underline-offset: 0.5em;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.bl_form_privacypolicy a:hover {
  opacity: 0.7;
}

.bl_nextBtn {
  margin-top: 26px;
  text-align: center;
}

.error {
  display: block;
  width: 100%;
  color: #df3434;
  font-size: 14px;
  padding-bottom: 8px;
}

/*----------- trouble -----------*/
.ly_trouble {
  position: relative;
  padding-top: 60px;
}
.ly_trouble::before {
  content: "";
  background: #fff;
  width: 100%;
  height: 140px;
  display: block;
  position: absolute;
  top: -140px;
  right: 0;
  -webkit-clip-path: polygon(100% 0, 0% 100%, 100% 100%);
          clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}

.bl_trouble_ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: bold;
  color: #2c366a;
  font-size: 30px;
  height: 92px;
  width: 750px;
  margin: 0 auto;
  background: url("../img/common_trouble_title_bk.png");
}

.bl_trouble_list {
  margin-top: 50px;
}

.bl_trouble_img {
  position: relative;
}

.bl_trouble_img span.text {
  width: 100%;
  display: block;
  text-align: center;
  position: absolute;
  color: #07156b;
  font-weight: bold;
  bottom: 18px;
  font-size: 19px;
  line-height: 1.75;
}

.bl_trouble_img span.text span {
  display: block;
  font-size: 1.25em;
  font-family: inherit;
  font-weight: inherit;
}

.bl_trouble_catch {
  padding-top: 135px;
  text-align: center;
  width: 1100px;
  height: 440px;
  margin: 28px auto 0;
  background: url(../img/pc_trouble_background.png) no-repeat;
  background-size: contain;
  position: relative;
}

.bl_trouble_catch h3 {
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-left: 90px;
  font-size: 22px;
  position: relative;
  z-index: 1;
}

.bl_trouble_catch h3 span.logo {
  margin-right: 17px;
}

.bl_trouble_catch h3 span.mark {
  color: transparent;
  background: rgb(255,255,255);
  background: linear-gradient(180deg, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 50%, rgba(183,233,255,1) 100%);
  -webkit-background-clip: text;
  font-size: 3em;
  font-family: inherit;
  position: relative;
  padding-left: 15px;
  width: 297px;
}

.bl_trouble_catch h3 span.mark:before {
  content: "";
  display: block;
  width: 297px;
  height: 27px;
  background: url(../img/marker.png);
  position: absolute;
  bottom: -22px;
  z-index: -1;
}

.bl_trouble_catch_sub {
  color: #2c366a;
  font-size: 23px;
  line-height: .5;
  text-align: center;
  background: url(../img/bl_trouble_catch_sub_pc.png);
  width: 1000px;
  height: 190px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: baseline;
  position: absolute;
  bottom: 0;
  left: 50px;
  padding: 45px 0 40px;
}

.bl_trouble_catch_sub .font_lightblue {
  color: #00d4ff;
  font-family: inherit;
  font-size: 1.5em;
}

.bl_trouble_catch_sub .font_purple {
  color: #b35ff0;
  font-family: inherit;
  font-size: 1.5em;
}

.bl_trouble_catch_sub .font_gradation {
  font-family: inherit;
  color: transparent;
  background-image: linear-gradient(90deg, rgba(0,212,255,1) 0%, rgba(179,95,240,1) 100%);
  -webkit-background-clip: text;
  font-size: 2em;
}

.bl_trouble_catch_sub strong {
  font-size: 1.5em;
  font-family: inherit;
  color: inherit;
}

.bl_trouble_catch_sub span.newline {
  display: block;
  width: 100%;
}

/*----------- info -----------*/
.ly_info {
  background: #2c366a;
  padding: 80px 0 35px;
  position: relative;
}

.ly_info .bl_info_ttl span.text_back {
  line-height: 2;
  font-size: 26px;
  padding: 0 25px 0 15px;
  position: relative;
}

.ly_info .bl_info_ttl span.text_back:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 45%;
  display: block;
  background: linear-gradient(90deg, rgba(57,112,182,1) 0%, rgba(142,96,161,1) 100%);
  clip-path: polygon(0 0, 100% 0, 98% 100%, 0 100%);
  bottom: 0;
  z-index: 1;
}

.ly_info .bl_info_ttl span.text_back .text {
  font-weight: bold;
  color: #fff;
  font-size: inherit;
  position: relative;
  z-index: 2;
}

.bl_info_inner {
  position: relative;
}

.bl_info_img {
  position: absolute;
  right: -150px;
  top: -80px;
}

.bl_infoBtn {
  margin-top: 70px;
  position: relative;
}
.bl_infoBtn a + a {
  margin-left: 20px;
}

/*----------- point -----------*/
.ly_point {
  padding: 103px 0;
}

.ly_point .bl_point_ttl {
  color: #2c366a;
  font-weight: inherit;
  text-align: center;
  font-size: 40px;
  border-bottom: 7px solid #c9cde6;
}

.ly_point .bl_point_ttl strong {
  font-size: 60px;
  color: inherit;
  font-weight: bold;
}

.ly_point .bl_point_ttl .gold {
  font-weight: bold;
  font-size: 70px;
  color: rgb(255, 196, 15);
}

.ly_point .bl_point_ttl .gold span {
  color: inherit;
  font-weight: inherit;
  font-size: .75em;
}

.bl_pointMain {
  margin-top: 45px;
  position: relative;
}

.bl_pointMain_img {
  position: absolute;
  z-index: -1;
  top: -32px;
  right: -158px;
}

.bl_pointMain_txt {
  font-size: 17px;
  line-height: 1.8823529412;
  letter-spacing: 0.06em;
  color: #2c366a;
  font-weight: 500;
  margin: 90px 0 0 34px;
}
.bl_pointMain_txt span {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.4545454545;
  letter-spacing: 0.06em;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(45%, transparent), color-stop(45%, #ffdf11));
  background: linear-gradient(transparent 45%, #ffdf11 45%);
}

/*----------- template -----------*/
.ly_template {
  margin-top: -17px;
  padding-bottom: 80px;
}

.bl_template_ttl {
  text-align: center;
  position: relative;
  background: #435ee8;
  width: 900px;
  margin: 0 auto;
  border-radius: 10px;
  color: #fff;
  font-size: 36px;
  padding: 12px 0 17px;
}

.bl_template_ttl:after {
  content: "";
  position: absolute;
  bottom: -17px;
  left: calc(50% - 13px);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 13px solid transparent;
  border-left: 13px solid transparent;
  border-top: 20px solid #435ee8;
  border-bottom: 0;
}

.bl_template_ttl span {
  font-size: 1.5em;
}

.bl_template_wrapper {
  width: 100%;
  background: #eff2ff;
  border-radius: 20px;
  padding: 83px 108px 75px;
  margin-top: -60px;
}

.bl_template_img {
  text-align: center;
}

.bl_template_txt {
  margin-top: 10px;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.8823529412;
  letter-spacing: 0.02em;
  color: #2c366a;
}

.bl_template_btn {
  text-align: center;
  margin-top: 45px;
}

/*----------- effect -----------*/
.ly_effect {
  padding: 120px 0 0;
}
.ly_effect::after {
  content: "";
  background: #2c366a;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 100%);
          clip-path: polygon(0 0, 0% 100%, 100% 100%);
  width: 100%;
  height: 140px;
  display: inline-block;
  margin-top: 90px;
}

.bl_effect_ttl {
  color: #15205b;
  text-align: center;
  font-weight: bold;
  font-size: 38px;
}

.bl_effect_ttl span {
  color: inherit;
  font-size: .6em;
  font-weight: 600;
}

.bl_effectList {
  margin: 70px 50px 0;
}
.bl_effectList li {
  width: 420px;
}

.bl_effectList_ttl {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.35;
  letter-spacing: 0.04em;
  color: #15205b;
  text-align: center;
  margin-top: 25px;
}

.bl_effectList_txt {
  font-size: 17px;
  line-height: 1.5882352941;
  letter-spacing: 0.06em;
  color: #15205b;
  padding: 0 10px;
  margin-top: 10px;
}

.bl_effect_banner {
  text-align: center;
  margin-top: 85px;
}

/*----------- ab -----------*/
.ly_ab {
  background: #eff2ff;
  padding: 200px 0 0;
  -webkit-clip-path: polygon(0 140px, 100% 0%, 100% 100%, 0% 100%);
          clip-path: polygon(0 140px, 100% 0%, 100% 100%, 0% 100%);
  position: relative;
  margin-top: -142px;
}

.bl_ab_ttl {
  color: #15205b;
  font-size: 36px;
  font-weight: bold;
  text-align: center;
}

.bl_ab_img {
  margin-top: 30px;
}

.bl_ab_catch {
  text-align: center;
  margin-top: 88px;
  color: #15205b;
  font-size: 28px;
  font-weight: 500;
}

.bl_ab_catch .color_r {
  color: #ff5e42;
  font-size: inherit;
  font-weight: bold;
}

.bl_ab_catch .color_b {
  color: #1987d4;
  font-size: inherit;
  font-weight: bold;
}

.bl_abList {
  width: 880px;
  margin: 30px auto 0;
}
.bl_abList li {
  width: 260px;
}

.bl_abList_wrapper {
  display: contents;
}

.bl_abList_ttl {
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.06em;
  color: #15205b;
  text-align: center;
  margin-top: 18px;
}

.bl_abList_txt {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5714285714;
  padding: 0 20px;
  color: #15205b;
  margin-top: 10px;
}

.bl_abRealization {
  margin-top: 50px;
  width: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#69a6ff), color-stop(50%, #69a6ff), color-stop(50%, #c495ef), to(#c495ef));
  background: linear-gradient(90deg, #69a6ff 0%, #69a6ff 50%, #c495ef 50%, #c495ef 100%);
}

.bl_abRealization_catch {
  text-align: center;
}

/*----------- comparison -----------*/
.ly_comparison {
  padding: 130px 0 140px;
}

.bl_comparison_ttl {
  text-align: center;
  color: #15205b;
  font-weight: bold;
  font-size: 36px;
  margin-bottom: 25px;
}

.bl_comparison_ttl_sub {
  text-align: center;
  color: #15205b;
  font-weight: 500;
  font-size: 20px;
}

.bl_comparison_img {
  text-align: center;
  margin-top: 50px;
}

/*----------- plan -----------*/
.ly_plan {
  background: url(../img/pc_plan_background_cover.jpg) no-repeat;
  background-size: cover;
  padding: 128px 0 65px;
}

.bl_plan_ttl {
  text-align: center;
  color: #fff;
  font-size: 39px;
}

.bl_plan_img {
  margin-top: 85px;
}

.bl_plan_catch {
  text-align: center;
  margin-top: 60px;
}

.bl_planBtn {
  margin-top: 30px;
  text-align: center;
}

.bl_planBtn_btn {
  text-decoration: none;
}

.bl_planBtn_btn:not(:first-child) {
  margin-left: 20px;
}

/*----------- flow -----------*/
.ly_flow {
  padding: 120px 0;
}

.bl_flow_ttl {
  text-align: center;
  color: #15205b;
  font-weight: bold;
  font-size: 36px;
  margin-bottom: 25px;
}

.bl_flow_ttl_sub {
  text-align: center;
  color: #15205b;
  font-weight: 600;
  font-size: 20px;
  width: 700px;
  height: 50px;
  background: url(../img/pc_flow_subtitle.png);
  margin: 0 auto;
  line-height: 52px;
}


.bl_flow_img {
  margin-top: 50px;
}

/*----------- faq -----------*/
.ly_faq {
  padding: 25px 0 90px;
}

.bl_faq_ttl {
  color: #15205b;
  font-size: 36px;
  font-weight: bold;
  text-align: center;
}

.bl_faqList {
  width: 800px;
  margin: 65px auto 0;
}
.bl_faqList li + li {
  margin-top: 10px;
}

.bl_faqList_ttl {
  background: url(../img/pc_faq_off.png) no-repeat;
  background-size: contain;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 25px 70px;
  color: #fff;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.bl_faqList_ttl:hover {
  opacity: 0.8;
}
.bl_faqList_ttl.js_open {
  background: url(../img/pc_faq_on.png) no-repeat;
  background-size: contain;
  color: #15205b;
}

.bl_faqList_txt {
  background: #e5e6eb;
  color: #2c366a;
  font-size: 16px;
  line-height: 1.5;
  letter-spacing: 0.04em;
  padding: 25px 70px 23px;
  margin-bottom: 20px;
  min-height: 120px;
  word-break: break-word;
}

/*----------- footer -----------*/
.ly_footer {
  background: #10152c;
  text-align: center;
  padding: 13px 0;
}

.bl_footer_copyright {
  display: block;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.04em;
}

/*----------- fixed -----------*/
.ly_fixed {
  width: 100%;
  height: 90px;
  background: rgba(44, 54, 106, .7);
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 99;
}

.bl_fixed {
  height: 90px;
}

.bl_fixedTel {
  width: 238px;
  margin-left: 40px;
}

.bl_fixedTel_txt {
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #fff;
  text-align: center;
  margin-top: 7px;
}

.bl_fixedBtn {
  margin-right: 10px;
}

.bl_fixedBtn_btn {
  text-decoration: none;
}
