@charset "utf-8";
html,
body {
  height: 100%;
}
body > #container {
  height: auto;
  margin-right: auto;
  margin-left: auto;
}
#container {
  height: 100%;
  min-height: 100%;
  position: relative;
  padding-top: 58px;
}
body {
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  font-size: 18px;
  line-height: 1.8;
  color: #333333;
}
img {
  width: auto;
  max-width: 100%;
  height: auto;
}
a:link {
  color: #1a77c5;
  text-decoration: underline;
  transition: all 0.3s 0s ease;
}
a:hover {
  color: #3399cc;
  text-decoration: none;
  transition: all 0.3s 0s ease;
  opacity: 0.7;
}
a:visited {
  color: #663366;
  text-decoration: none;
  transition: all 0.3s 0s ease;
}
a[href*="tel:"] {
  cursor: default;
}
p:not(:last-child) {
  margin-bottom: 1em;
}
.smp_menu_img,
.smp_menu_sw {
  display: none;
}
/*------------------------------------
レイアウト
------------------------------------*/
#container {
}
.inner,
#container > section > .inner {
  width: 1000px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.8;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 1000px) {
  .inner,
  #container > section > .inner {
    width: 95%;
  }
}
#container section > .sub_section > .inner {
  padding: 30px 0px;
}
header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
  border-bottom: transparent;
  background-color: #fff;
  background-color: #fff;
  box-shadow: 0px 9px 11px -13px #777777;
}
header .inner {
  width: 980px;
  margin-left: auto;
  margin-right: auto;
  padding: 10px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 10px;
  padding-bottom: 10px;
}
header.scrolled {
  background-color: #fff;
  border-bottom: solid 1px #dfdfdf;
}
header.scrolled .inner {
  transition: padding-top 0.2s ease-in-out 0s;
}
header .inner .logo {
  width: 209px;
}
header .inner .account_btn_wrap a:link,
header .inner .account_btn_wrap a:visited {
  display: block;
  background: #ff6600;
  border-radius: 4px;
  text-align: center;
  color: #ffffff;
  text-decoration: none;
  padding: 10px 20px;
}
#footerWrap {
  width: 100%;
  background: #f2f4f6;
  font-size: 14px;
  line-height: 20px;
}
#footerWrap #attention {
  margin: 10px auto;
  background: url(/g/img/beginner/attention.gif) no-repeat 10px 20px;
  background-size: 100px auto;
  padding: 55px 10px 10px 10px;
  max-width: 980px;
}
#footerWrap #attention dl {
}
#footerWrap #attention dt {
  font-weight: bold;
}
#footerWrap #attention dd {
  margin-bottom: 10px;
  margin-left: 12px;
}
#footerWrap #attention a.textlink1 {
  font-size: 1em;
}
#footerWrap #attention2 {
  max-width: 980px;
  margin: auto;
  background: #f2f4f6;
  padding: 10px 0 20px 0;
}
#footerWrap #footer {
  width: 100%;
  min-width: inherit;
  background: none;
  padding: 10px 0;
  text-align: center;
  background-color: #ffffff;
}
#copyright {
  margin: 0;
}
/*** PAGETOP ***/
.g-go-to-top {
  display: grid;
  place-content: center;
  position: fixed !important;
  color: #3c66b0;
  z-index: 10;
  bottom: 20px;
  right: 20px;
  width: 42px;
  height: 42px;
  border-radius: 100%;
  box-shadow: 0px 5px 8px 0 rgb(0 0 0 / 20%);
  background: #f2f5f8;
  transition: 0.25s ease 0s;
  transition-property: transform;
  transform: translateY(0px);
}
.g-go-to-top:active,
.g-go-to-top:hover,
.g-go-to-top:visited {
  color: #3c66b0;
  outline-width: 0;
}
.c-hover-overlay.border\:none::before {
  border: none;
}
.c-hover-overlay.round\:full::before {
  border-radius: 100%;
}
.c-hover-overlay::before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 1px solid transparent;
  border-radius: 5px;
  background: rgba(255, 255, 255, 0);
  transition: 0.25s ease 0s;
  transition-property: border, background;
}
.c-hover-overlay:hover::before {
  border-color: #1a9abe;
  background: rgba(255, 255, 255, 0.3);
}
.g-go-to-top svg {
  transform: rotate(-90deg);
  width: 0.75em;
  height: 0.75em;
  font-size: 0.9em;
}
.u-screen-reader {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  margin: -1px;
}
@media screen and (max-width: 1000px) {
  header .inner {
    width: 95%;
  }
}
/*------------------------------------
汎用
------------------------------------*/
a.btn_1:link,
a.btn_1:visited {
  background-color: #003467;
  color: #fff;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 20px;
  text-decoration: none;
  border-radius: 40px;
}
a.btn_1:after {
  content: "";
  background-image: url(/g/lp/img/lp_actual/common/arrow_r_1.png);
  width: 9px;
  height: 16px;
  position: absolute;
  right: 20px;
}
sup {
  font-size: 0.8em;
}
.pc_hide {
  display: none !important;
}
.step_lists {
  border: #dddddd solid 1px;
  padding: 40px;
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 25px;
  margin-bottom: 40px;
}
.fc_black {
  color: #000;
}
.fc_yel {
  color: #fef19d;
}
.line_yel {
  background: linear-gradient(to bottom, transparent 60%, #fef19d 40%);
  font-weight: bold;
}
.step_lists li {
  width: 50%;
  color: #2b6b7d;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
}
.step_lists li .step {
  background-color: #b3eeff;
  padding: 10px 30px;
  border-radius: 5px;
  margin-right: 15px;
}
/*------------------------------------
ビジュアル
------------------------------------*/
#main_visual {
  background: url("../img/mv_bg.png") center center no-repeat;
  background-size: cover;
}
#main_visual .mv_contents {
  position: relative;
}
#main_visual .mv_contents .inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 1000px;
  margin: 0 auto;
  padding: 70px 0 20px;
  position: relative;
  z-index: 1;
}
#main_visual .mv_contents .mv_img {
  width: 35%;
}
#main_visual .mv_contents .mv_img span {
  position: relative;
  display: block;
}
#main_visual .mv_contents .mv_img img {
  width: 100%;
}
#main_visual .mv_contents .mv_txt {
  width: 65%;
  text-align: center;
}
#main_visual .mv_contents .mv_txt .main img {
  width: 75%;
}
#main_visual .mv_contents .mv_txt .sub {
  margin: 0 0 -20px;
}
#main_visual .mv_contents .mv_txt .main {
  margin: 0 0 10px;
}
#main_visual .mv_contents .mv_txt h1 {
  font-size: 43px;
  text-align: center;
  line-height: 1.6;
  color: #2b69a2;
  font-weight: 700;
}
#main_visual .mv_contents .mv_txt h1 em {
  font-size: 60px;
  font-weight: 700;
}
#main_visual .mv_link {
  text-align: center;
  padding: 0 0 55px;
}
#main_visual .mv_link a {
  background: #cd5d76;
  border-radius: 50px;
  color: #fff;
  font-size: 28px;
  text-decoration: none;
  padding: 15px 140px;
  position: relative;
  box-shadow: 0px 3px 0px 2px #793947;
  display: inline-block;
}
#main_visual .mv_link a::after {
  position: absolute;
  content: "";
  display: block;
  background: url("../img/arrow.svg") right center no-repeat;
  background-size: 100%;
  width: 27px;
  height: 15px;
  right: 70px;
  top: 50%;
  transform: translate(0, -50%);
}
@media screen and (max-width: 1000px) {
  #main_visual .mv_contents .inner {
    width: 95%;
  }
}
/*------------------------------------
リード
------------------------------------*/
#sec_lead {
  padding: 85px 0;
}
#sec_lead .sec_lead_top {
  position: relative;
}
#sec_lead .sec_lead_top::after {
  position: absolute;
  content: "";
  display: block;
  background: url("../img/about_bg.png") right bottom no-repeat;
  background-size: 100%;
  width: 522px;
  height: 522px;
  right: 0;
  bottom: 0;
  z-index: -1;
}
#sec_lead h1.title {
  font-size: 36px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 30px;
  color: #2b69a2;
}
#sec_lead h1.title small {
  font-size: 26px;
  font-weight: 500;
}
#sec_lead h1.title span {
  position: relative;
}
#sec_lead h1.title span::before {
  position: absolute;
  content: "";
  display: block;
  /* background: url("../img/book02.png") left center no-repeat; */
  background-size: 100%;
  width: 125px;
  height: 156px;
  left: -110px;
  top: 50%;
  transform: translate(0, -50%);
}
#sec_lead .body {
  padding: 0 0 60px;
  font-size: 18px;
  text-align: center;
  line-height: 2;
  letter-spacing: 2px;
}
#sec_lead .body .lead_l {
  font-size: 24px;
  margin: 40px 0;
}
#sec_lead .doc_contents .inner {
  background: #fff;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
  padding: 40px;
  width: 1000px;
  margin: 0 auto;
}
#sec_lead .doc_contents h2 {
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 24px;
  letter-spacing: 2px;
  background: #2b69a2;
  padding: 14px 0;
}
#sec_lead .doc_contents dl {
  display: flex;
  justify-content: space-between;
  padding: 40px 0 0;
}
#sec_lead .doc_contents dl dt {
  width: 28%;
  text-align: center;
}
#sec_lead .doc_contents dl dt img {
  width: 80%;
}
#sec_lead .doc_contents dl dd {
  width: 70%;
}
#sec_lead .doc_contents dl dd p {
  font-size: 16px;
}
#sec_lead .doc_contents dl dd .tit {
  color: #2b69a2;
  font-weight: bold;
  font-size: 20px;
}
@media screen and (max-width: 1000px) {
  #sec_lead .doc_contents .inner {
    width: 95%;
  }
}
/*------------------------------------
プロフィール
------------------------------------*/
#sec_profile {
  background: #f7f9fc;
  padding: 90px 0;
  position: relative;
}
#sec_profile::before,
#sec_profile::after {
  position: absolute;
  display: block;
  content: "";
  width: 450px;
  height: 450px;
}
#sec_profile::before {
  background: url(../img/intro_bg.png) left top -30px no-repeat;
  background-size: 100%;
  left: -30px;
  top: 0;
  z-index: 5;
}
#sec_profile::after {
  background: url(../img/intro_bg.png) right -30px bottom -30px no-repeat;
  background-size: 100%;
  right: 0;
  bottom: 0;
  z-index: 1;
}
#sec_profile .inner {
  position: relative;
  z-index: 3;
}
#sec_profile .title_1 {
  text-align: center;
  font-size: 48px;
  margin: 0 0 70px;
  color: #2b69a2;
}
#sec_profile .lead {
  text-align: center;
  font-size: 20px;
  margin: 0 0 70px;
}
#sec_profile .profile_box {
  background: #fff;
  box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
  padding: 58px 50px;
  margin: 0 0 100px;
}
#sec_profile .profile_box h2 {
  font-weight: bold;
  font-size: 30px;
  margin-bottom: 20px;
}
#sec_profile .profile_box .prof_inner {
  display: flex;
  justify-content: space-between;
}
#sec_profile .profile_box .prof_inner > div {
  width: 50%;
}
#sec_profile .profile_box .prof_inner .prof_txt .txt01 {
  font-size: 18px;
}
#sec_profile .profile_box .prof_inner .prof_txt .txt02 {
  font-size: 16px;
}
#sec_profile .profile_box .prof_inner .prof_img {
  text-align: center;
}
#sec_profile .profile_box .prof_inner .prof_img img {
  width: 80%;
}
#sec_profile .intro_contents h2 {
  text-align: center;
  margin: 0 0 70px;
}
#sec_profile .intro_contents h2 span {
  border-bottom: 1px solid #000;
  padding: 20px;
  display: inline-block;
  font-size: 30px;
}
#sec_profile .intro_contents ul {
  display: flex;
  justify-content: space-between;
}
#sec_profile .intro_contents ul li {
  width: 48%;
}
#sec_profile .intro_contents ul li dt {
  margin: 0 0 30px;
}
#sec_profile .intro_contents ul li dt img {
  border: 1px solid #ccc;
}
#sec_profile .intro_contents ul li dd .tit {
  font-size: 20px;
  margin: 0 0 10px;
}
#sec_profile .intro_contents ul li a,
#sec_profile .intro_contents ul li a:hover,
#sec_profile .intro_contents ul li a:visited {
  color: #000;
  text-decoration: none;
}
/*------------------------------------
sec_form
------------------------------------*/
#sec_form {
  padding: 90px 0;
}
#sec_form .doc_wrap {
  display: flex;
  justify-content: space-between;
}
#sec_form .doc_wrap .doc_img {
  width: 25%;
  padding: 0 0 0 30px;
  text-align: center;
}
#sec_form .doc_wrap .doc_txt {
  width: 70%;
}
#sec_form .doc_wrap .doc_txt h2 {
  font-size: 30px;
  border-bottom: 1px solid #000;
  margin: 20px 0 20px;
}
#sec_form .doc_wrap .doc_txt p {
  font-size: 24px;
}
#sec_form .doc_content {
  font-size: 24px;
  background: #edf4f9;
  box-shadow: 0px 3px 0px 2px #2b69a2;
  border-radius: 25px;
  margin: -170px 0 80px;
  padding: 40px 60px 40px 0;
}
#sec_form .doc_content p {
  width: 68%;
  margin: 0 0 0 auto;
}
#sec_form .regist-form_wrap {
  border: 1px solid #2b69a2;
}
#sec_form .regist-form_wrap h2 {
  background: #2b69a2;
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  padding: 18px;
  margin-bottom: 20px;
}
#sec_form .regist-form_wrap h2 .fc_yel {
  color: #fef19d;
}
@media screen and (max-width: 1000px) {
  #sec_form .doc_wrap .doc_txt h2 {
    font-size: 20px;
  }
  #sec_form .doc_wrap .doc_txt p {
    font-size: 18px;
  }
  #sec_form .doc_content {
    font-size: 18px;
    margin: -110px 0 80px;
    padding: 20px 30px 20px 0;
  }
  #sec_form .doc_content p {
    width: 69%;
  }
}
/*------------------------------------
sec_campagin
------------------------------------*/
#sec_campagin {
  padding: 90px 0;
  background-color: rgba(0, 100, 173, 0.07);
}
#sec_campagin .title_1 {
  text-align: center;
  font-size: 34px;
  margin: 0 0 70px;
  color: #2b69a2;
  font-weight: bold;
}
#sec_campagin .lead {
  text-align: center;
  font-size: 20px;
  margin: 0 0 70px;
}
#sec_campagin .movie {
  display: flex;
  justify-content: space-between;
}
#sec_campagin .movie li {
  width: 30%;
}
#sec_campagin .movie_link {
  text-align: center;
  padding: 55px 0;
}
#sec_campagin .movie_link a {
  background: #2b69a2;
  border-radius: 50px;
  color: #fff;
  font-size: 32px;
  text-decoration: none;
  padding: 24px 140px;
  display: inline-block;
}
.continue {
  text-align: center;
  font-weight: bold;
  line-height: 1;
}
#sec_campagin .movie_wrap {
  text-align: center;
}


.grid-intro-link a{
    display: block;
    padding: 20px;
    border: 4px solid #2b6aa3;
    background: #fff;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.3);
    color: #000;
    text-decoration: none;
    border-radius: 10px;
}
.grid-intro-link a .grid-intro-link-inr{
    display: grid;
    grid-template-columns: 360px auto;
    gap: 20px;
}
.grid-intro-link .tit{
    font-size: 20px;
    font-weight: bold;
    color: #2b6aa3;
}

/*------------------------------------
form
------------------------------------*/
#sec_form .regist-form_wrap{
  border: 5px solid #2b69a2
}
#satori_form_area.form_style .satori__input_group label:first-child {
  color: #000;
  border-left: 4px solid #2b69a2;
  padding-left: 10px;
  margin: 15px 0 8px;
}
#satori_form_area.form_style {
  max-width: 800px;
  margin: auto;
  padding: 0 10px 30px;
}
#satori_form_area.form_style .satori__require{
  font-size: 14px;
  line-height: 1.2;
  padding: 4px 7px;
  border-radius: 6px;
}
#satori_form_area.form_style input[type="radio"] + label {
  color: #b5b5b5;
  display: inline-block;
  line-height: 2;
}
#satori_form_area.form_style input[type="checkbox"]:checked + label, #satori_form_area.form_style input[type="radio"]:checked + label{
  color: #449af7; 
}
#satori_form_area.form_style .satori__input_group input[type="email"]:focus{
  border-color: #449af7; 
}
#satori_form_area.form_style .satori__input_group.error input[type="email"]{
  border-color: #e10000;
}
#satori_form_area.form_style .satori__input_group .satori__error_messages{
  color: #e10000;
}
#satori_form_area.form_style  a,
#satori_form_area.form_style  a:visited{
  color: #004bfb;
}
#satori_form_area.form_style  a:hover{
  color: #004bfb;
  text-decoration: underline;
}
#satori__privacy_policy_agreement_wrapper .satori__input_group{
  background: #eef7ff;
  padding: 20px 10px;
}
#satori_form_area.form_style #satori__submit_confirm{
  width: 100%;
  max-width: 390px;
  padding: 15px;
  border-radius: 5px;
}

/*------------------------------------
sec_attention
------------------------------------*/
#sec_attention {
  padding: 90px 0;
  background: #f2f4f6;
}
#sec_attention h1 {
  margin: 0 0 15px;
}
#sec_attention p {
  font-size: 14px;
  letter-spacing: 1px;
  line-height: 1.4;
}
/*------------------------------------
thanks
------------------------------------*/
#sec_thanks {
  padding: 90px 0;
}
#sec_thanks > .inner > .title {
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}
#sec_thanks .lead {
  margin-bottom: 20px;
}
#sec_thanks .atn {
  background-color: #efefef;
  padding: 40px;
  margin-bottom: 50px;
}
#sec_thanks .atn ul {
  font-size: 16px;
  line-height: 140%;
  margin-bottom: 20px;
}
#sec_thanks .support_title {
  display: block;
  line-height: 1;
  margin-bottom: 5px;
}

ul.features li {
  font-size: 18px;
  display: flex;
  align-items: center;
  margin-bottom: 15px;
}

ul.features li:last-child {
  margin-bottom: 0;
}

ul.features li:before {
  content: "";
  background-image: url(/g/present/img/common/apps/check.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 32px;
  height: 32px;
  margin-right: 20px;
}
ul.features li span {
  flex: 1;
}

#sec_thanks .app_title {
  font-size: 28px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}

#sec_thanks .text_1 {
  text-align: center;
  margin-bottom: 75px;
}

#sec_thanks .trial_app {
  border: solid 4px #e9edf0;
  padding: 40px;
  display: flex;

  justify-content: center;
}

#sec_thanks .trial_app:not(:last-child) {
  margin-bottom: 20px;
}

#sec_thanks .trial_app .detail {
  text-align: center;
}

#sec_thanks .trial_app .title {
  font-size: 18px;
  letter-spacing: 0.17em;
  margin-bottom: 30px;
}

#sec_thanks .trial_app ul.device {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
}

#sec_thanks .trial_app ul.device li.enclosure {
  border: solid 1px #666666;
  border-radius: 20px;
}

#sec_thanks .trial_app ul.device li {
  font-size: 14px;
  padding: 5px 10px;
}

#sec_thanks .trial_app ul.features {
  margin-bottom: 30px;
  max-inline-size: max-content;
  margin-inline: auto;
}

#sec_thanks .trial_app .title .logo {
  margin-left: auto;
  margin-right: auto;
}

/*BAT*/
#sec_thanks .trial_app.bat .title .logo {
  margin-top: 30px;
  text-indent: -9999px;
  display: block;
  background-image: url(/g/present/img/common/apps/logo_bat.png);
  width: 247px;
  height: 65px;
}

#sec_thanks .trial_app .app_btns {
  display: flex;
}

#sec_thanks .trial_app .app_btns .apple {
  margin-right: 30px;
}

#sec_thanks .trial_app.bat .img {
  margin-left: 60px;
}

/*LINE*/
#sec_thanks .trial_app.line {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
}

#sec_thanks .trial_app.line .detail .title .logo {
  display: block;
  margin-top: 20px;
  color: #17c94f;
  font-size: 39px;
  font-weight: bold;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}

#sec_thanks .trial_app.line .img {
  margin-right: 60px;
}

#sec_thanks .trial_app.line .detail .features {
  text-align: left;
  line-height: 150%;
}

#sec_thanks .trial_app.line a.btn_1:link,
#sec_thanks .trial_app.line a.btn_1:visited {
  background-color: #17c94f;
  border: none;
  color: #fff;
  width: 100%;
  display: block;
  text-align: center;
  font-size: 18px;
  padding: 15px;
  border-radius: 5px;
  text-decoration: none;
}



