@charset "UTF-8";
/* CSS Document */

html{
    overflow-x: hidden;
}

/*
 セクション間余白
----------------------------------------------------------- */
section {padding: 100px 0;}
.mv {padding: 0}
footer {padding: 30px 0;}
h2{
  padding-bottom: 45px;
}
h3{
    margin-bottom: 30px;
    font-size: 30px;
}

/*
 色関連
----------------------------------------------------------- */
.bg_cl1{background-color: #fafafa;}
.bg_cl2{background-color: #267dc6;}
.bg_cl3{background-color: #717071;}
.bg_cl4{background-color: #edf7ff;}
.bg_cl5{background-color: #e7e7e7;}
.bg_cl6{background-color: #f8f2ce;}
.cl_base{color: #fc5318;}
.cl_main{color: #ef3300;}
.cl_accent{color: #fff000;}
.cl_white{color: #fff;}
.cl_other1{color: #4b8ce9;}
.cl_other2{color: #4265a1;}

/*
 テキスト関連
----------------------------------------------------------- */
.highlight {
    background: -webkit-linear-gradient(transparent 60%, #f8de03 50%);
    background: -o-linear-gradient(transparent 60%, #f8de03 50%);
    background: linear-gradient(transparent 60%, #f8de03 50%);
    font-weight: bold;
}
.highlight02 {
    background: -webkit-linear-gradient(transparent 60%, #fffbb5 50%);
    background: -o-linear-gradient(transparent 60%, #fffbb5 50%);
    background: linear-gradient(transparent 60%, #fffbb5 50%);
    font-weight: bold;
}
.caution{
    font-size: 70%;
    text-align: right;
}

/*
 リンク色
----------------------------------------------------------- */
a:link,
a:visited {
  color:#162bee;
  text-decoration:none;
}
a:hover {
  text-decoration:underline;
}

/*
 Page Top
----------------------------------------------------------- */

/*TOPへ戻る*/
.pagetop a {
  background-color: #3b4c70;
  filter: drop-shadow(3px 3px 4px rgba(0,0,0,0.3));
}

/*
Header
----------------------------------------------------------- */
header {
  border-bottom: 1px solid;
}
header .logo {
  height: 60px;
  display: flex;
  align-items: center;
  padding-right: 15px;
}
header .container {
  display: flex;
  justify-content: space-between;
  padding: 10px 15px;
}
header .contact {
  display: flex;
  align-items: center;
  text-align: right;
}
header .tel {
  padding-right: 15px;
  line-height: 1.1;
}
header .contact_tel {
  font-size: 3.2rem;
  padding-bottom: 15px;
}
header .contact_web {
  display: flex;
  justify-content: flex-end;
}

/*
MV
----------------------------------------------------------- */
.lead {
  background: #3b4c70;
  padding: 10px 0;
  font-size: 30px;
  color: #fff;
  text-align: center;
  font-weight: bold;
}
.mv_txt{
  background: #267dc6;
  padding: 50px 0;
}

/*
MV_btm
----------------------------------------------------------- */
.mv_btm .checklist li{
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px dotted #ccc;
  font-size: 24px;
  padding-left: 1.1em;
  text-indent: -1.1em;
  font-weight: bold;
}
.mv_btm .checklist li:last-child{
  margin-bottom: 0;
}
.mv_btm .checklist li i{
  display: inline;
}

/*
cta
----------------------------------------------------------- */
.cta{
  background: url(../../../images/lp/newsletter/cta_bg.png);
}
.cta .white_box{
  border: 10px solid #2dae36;
  padding: 35px;
}
.cta h2{
  margin-top: -70px;
}
.cta h3{
  display: inline-block;
  color: #fff;
  background: #2dae36;
  font-size: 18px;
  padding: 5px 10px;
  margin-bottom: 15px;
}
ol {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
  margin: 0;
}
ol li {
  font-size: 24px;
  line-height: 1.5;
  padding-left: 40px;
  position: relative;
  font-weight: bold;
}
ol li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #2dae36;
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 32px;
  width: 32px;
  color: #ffffff;
  font-size: 80%;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
}

/*
sec01
----------------------------------------------------------- */
.sec01 .white_box{
  background: #efefef;
}
.sec01 .checklist{
  font-size: 23px;
  font-weight: bold;
  padding-left: 1.1em;
  text-indent: -1.1em;
}
.checklist i{
  color: #267dc6;
  display: inline;
}

/*
sec02
----------------------------------------------------------- */
.sec02{
  background: #fffde5;
}
.sec02 h2{
  margin-top: -140px;
}
.sec02 .white_box_in{
  border: 5px solid #267dc6;
  padding: 25px;
}
.sec02 .white_box_in{
  font-weight: bold;
}
.sec02 .white_box_in li{
  text-indent: -1.1em;
  padding-left: 1.1em;
  border-bottom: 1px dotted #ccc;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.sec02 .white_box_in li:last-child{
  margin-bottom: 0;
}
.sec02 .white_box_in li i{
  display: inline;
  color: #267dc6;
}

/*
sec03
----------------------------------------------------------- */
.sec03 .white_box{
  border: 10px solid #267dc6;
  padding: 35px;
}
.sec03 ol li{
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #ccc;
}
.sec03 ol li:last-child{
  margin-bottom: 0;
}
.sec03 ol li:before{
  background-color: #267dc6;
}

/*
form
----------------------------------------------------------- */
form > ul > li{
    margin-bottom: 30px;
}

form > ul > li .fx-row > *:first-child {
    padding-top: 12px;
}

.form_head {
    text-align: right;
}

.form_head span {
    display: inline-block;
    font-weight: bold;
}

.haveto {
    background-color: #df2a2a;
    color: #fff;
    padding: 3px 8px;
    font-weight: bold;
    font-size: 0.8em;
}


.input_adjust {
    padding: 12px 16px;
    border-radius: 10px;
    border: 1px solid #ccc;
}

.input_2col {
    display: flex;
    justify-content: space-between;
    padding-right: 30px;
    width: 100%;
}

.input_2col input {
    width: calc(50% - 15px);
}

.input_1col {
    padding-right: 30px;
}

.input_1col input {
    width: 100%;
}

.input_zip_2col input {
    width: 30%;
}

.input_pref {
    width: 50%;
}


/*
Footer
----------------------------------------------------------- */
footer {
  border-bottom: 1px solid;
    font-size:16px;
}
footer .logo {
  height: 60px;
  display: flex;
  align-items: center;
  padding-right: 15px;
}
footer .container:first-of-type {
  display: flex;
  justify-content: space-between;
  padding: 10px 15px 30px;
}
footer .contact {
  display: flex;
  align-items: center;
  text-align: right;
}
footer .tel {
  padding-right: 15px;
  line-height: 1.1;
}
footer .contact_tel {
  font-size: 3.2rem;
  padding-bottom: 15px;
}
footer .contact_web {
  display: flex;
  justify-content: flex-end;
}
footer .copy {
  text-align: center;
}
footer .footer_link a,
footer .footer_link a:link,
footer .footer_link a:visited {
    color: #3e3a39;
}
footer .footer_link a:hover,
footer .footer_link a:focus {
    color: #3e3a39;
}
footer .pmark,
footer .norton {
  display: flex;
  align-items: flex-start;
}
footer .pmark img {
  min-width: 95px;
}
footer .norton img {
  min-width: 135px;
}
footer .pmark img,
footer .norton img {
  padding-right: 15px;
}
footer .footer_link {
  display: flex;
  justify-content: center;
}
footer .footer_link li{
    display: inline-block;
    margin: 0 15px;
    white-space: nowrap;
}
footer .copy{
    font-size: 90%;
}
