@charset "utf-8";
/*********************
Theme Name:profitfirst
Theme URI:
Description:
Author: GKLINE
Author URI:
Version: 1
Tags: responsive-layout
*********************/

/* reset */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,form,input,p,th,td{margin:0;padding:0;}
ul{list-style:none;}
table{border-collapse:collapse;border-spacing:0;}
h1,h2,h3{font-size:100%;}

/* 全体 */
html {
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}
body{
font-family: 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;;
font-size: 16px;
font-weight: 500;
line-height: 1.6rem;
-webkit-text-size-adjust:100%;
overflow-x: hidden;
color: #151C36;
background: #fff;
text-align: center;
}
body.fixed{
position:fixed;
left:0;
top:0;
width:100%;
height:100%;
}
img {
max-width:100%;
height: auto;
display:  inline-block;
border:0
}
a{
color: #151C36;
text-decoration: none;
}

a:hover, .active{
color: #41B999;
text-decoration: none;
}

h2{font-size: 2rem; line-height: 52px; padding: 2.2rem 0;}
h3{font-size: 1.7rem; line-height: 40px;}

.line_g{background: linear-gradient(transparent 56%, #A2DECE 0%);}
.line_r{background: linear-gradient(transparent 56%, #FBB1B1 0%);}
.txt_s{font-size: 0.8rem; font-weight: 500; line-height: 1.1rem;}
input, select, textarea{
font-family: 'Noto Sans JP', Arial, Verdana, 游ゴシック, YuGothic,'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', メイリオ, Meiryo,sans-serif;;
font-size: 16px;
font-weight: 500;
}
@media screen and (min-width: 768px){
  .br_sp {display: none; }
 }
@media screen and (max-width:768px) {
  h2{font-size: 1.5rem; line-height: 2rem; padding: 2.2rem 0;}
  h3{font-size: 1.3rem; line-height: 2rem;}
  .br_none {display: none; }
}

.mb06{margin-bottom: 0.6rem;}
.mb1{margin-bottom: 1rem;}

.flex {
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.justify-end {
-webkit-box-pack: end;
    -ms-flex-pack: end;
        justify-content: flex-end;
}
.justify-center {
-webkit-box-pack: center;
    -ms-flex-pack: center;
        justify-content: center;
}
.justify-space {
-webkit-box-pack: justify;
    -ms-flex-pack: justify;
        justify-content: space-between;
}
.align-start {
-webkit-box-align: start;
    -ms-flex-align: start;
        align-items: flex-start;
}
.align-center {
-webkit-box-align: center;
    -ms-flex-align: center;
        align-items: center;
}

.align-end {
-webkit-box-align: end;
    -ms-flex-align: end;
        align-items: flex-end;
}

.direction{
  -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.page-wrap{
overflow: hidden;
/* position: relative; */
}
.inner{
width: 1000px;
margin:0 auto;
background: #fff;
}
@media screen and (max-width:999px) {
  .inner{width: 100%;}
}

/* header */

.header_bg{
margin: 0 calc(50% - 50vw);
padding: 1rem calc(50vw - 50% + 0.6rem) 0.6rem;
background: #F6F6F6;
box-shadow: 0 1px 10px 0 rgba(0, 0, 0, .15);
}
.btn_wrap{
justify-content: flex-end;
/* font-size: 1.1rem; */
transform: translateY(-40px);
}
.try_btn a{
display: block;
padding: 0.3rem 0.8rem 0.2rem;
border: 2px solid #41B999;
border-radius: 5px;
background-color: #fff;
color: #41B999;
transition: 0.3s;

}
.try_btn a:hover{
border: 2px solid #151C36;
background-color: #151C36;
color: #fff;
}
.login_btn a{
display: block;
border: 2px solid #41B999;
border-radius: 5px;
background-color: #41B999;
padding: 0.3rem 0.8rem 0.2rem;
color: #fff;
transition: 0.3s;
margin-left: 1rem;
}
.login_btn a:hover{
border: 2px solid #151C36;
background-color: #151C36;
color: #fff;
}
.navi ul{
margin-top: 1rem;
}
.menu_item a{
margin-right: 1rem;
}

@media screen and (max-width:768px) {
 
  .header_bg{
    padding: 0.6rem;
  } 
  .navi{
    display: block;
  }
  .btn_wrap{
    justify-content: flex-start;
    font-size: 1rem;
    transform: translateY(0);
  }
  /* ボタンクリック前 */
  .toggle {
    display: block;
    position: relative;
    width: 1.75rem;
    height: 1.5rem;
  }
  .toggle span {
    display: block;
    width: 100%;
    height: 3px;
    background-color: #151C36;
    position: absolute;
    transition: transform .5s, opacity .5s;
    z-index: 1;
  }
  .toggle span:nth-child(1) {
    top: 0;
  }
  .toggle span:nth-child(2) {
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .toggle span:nth-child(3) {
    bottom: 0;
  }

  /* ボタンクリック後 */
  .toggle.show span:nth-child(1) {
    transform: translateY(10px) rotate(-45deg);
  }
  .toggle.show span:nth-child(2) {
    opacity: 0;
  }
  .toggle.show span:nth-child(3) {
    transform: translateY(-12px) rotate(45deg);
  }

  /* メニューリストクリック前 */
  .navi {
    position: fixed;
    top: 4rem;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 1rem;
    opacity: 0;
    visibility: hidden;
    transition: opacity .5s, visibility .5s;
    background: #F6F6F6;
    z-index: 1;
  }
  .navi .btn_wrap{
    margin: 1.4rem 0 0;
  }
  .navi ul{
    display: block;
    margin-top: 0;
    text-align: left;
  }
  .navi ul li{
    padding: 0.6rem 0;
  }

  .navi.show {
    opacity: 1;
    visibility: visible;
  }
}

/* キャチコピー */
.catch_wrap{
  padding: 5rem 1.4rem 2rem;
}
.catch_ttl{
font-size: 1.9rem;
font-weight: 600;
padding: 0 0 2rem;
text-align: left;
}

.catch_txt{
font-size: 1.25rem;
line-height: 2.2rem;
font-weight: 600;
text-align: left;
padding: 0 0 4rem;
}

@media screen and (max-width:990px) {
  .catch_wrap{justify-content: center;padding: 4rem 1.4rem 1rem;}
  .catch_ttl{padding: 0.6rem 0 1rem;text-align: center;}
  .catch_txt{padding: 0 0 2em;text-align: center;}
}

@media screen and (max-width:768px) {
  .catch_wrap{padding: 3.4rem 1rem 0;}
  .catch_ttl{font-size: 1.5rem;line-height: 2rem;}
  .catch_ttl .sp_n{display: none;}
  .catch_txt{font-size: 1rem;line-height: 1.5rem;}
  .catch_wrap img{margin-top: 1rem;}
}

/* スタートアップキャンペーン */
.campain_bg{
margin: 0 calc(50% - 50vw);
padding: 1.3rem calc(50vw - 50%) 1.4rem;
/* width: 100vw; */
background: #F87D7D;
}
.cp_txt{
color: #fff;
font-size: 1.8rem;
font-weight: 600;
padding: 0.8rem 0.6rem 0.6rem;
}
.free60{font-size: 2.5rem;}
.applyhere_btn{
width: 300px;
display: block;
margin: 0 auto;
margin-left: auto;
margin-right: auto;
padding: 1rem;
border-radius: 5px;
background-color: #151C36;
color: #fff;
font-size: 1.5rem;
transition: 0.3s;
}
.applyhere_btn a{color: #fFF;}
.applyhere_btn:hover{background-color: #41B999;}
.balloon{
position: relative;
padding: 0.4rem;
width: 100px;
height: 100px;
line-height: 100px;
border-radius: 50%;
text-align: center;
color: #ffffff;
font-size: 1.6rem;
font-weight: 600;
letter-spacing: 0.05rem;
background-color: #F87D7D;
border: solid 3px #fff ;
display: block;
margin: 0 1rem;
}
.balloon::before {
content: '';
position: absolute;
display: block;
width: 0;
height: 0;
top: 50%;
right: -30px;
margin-top: 3px;
border: 10px solid transparent;
border-left: 20px solid #fff;
transform: rotate(16deg);
}
.balloon::after {
content: '';
position: absolute;
display: block;
width: 0;
height: 0;
top: 50%;
right: -24px;
margin-top: 1px;
border: 10px solid transparent;
border-left: 20px solid #F87D7D;
transform: rotate(16deg);
}

@media screen and (max-width:642px) {
  .balloon{
    width: 100px;
    height: 100px;
    line-height: 100px;
    margin-bottom: 2rem;
    font-size: 1.4rem;
  }
  .balloon::before {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: 50%;
  top: 124px;
  margin-top: -10px;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 20px solid #fff;
  transform: none;
  }
  .balloon::after {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: 50%;
  top: 118px;
  margin-top: -10px;
  margin-left: -10px;
  border: 10px solid transparent;
  border-top: 20px solid #F87D7D;
  transform: none;
  }
}

@media screen and (max-width: 768px) {
  .campain_bg{
    padding: 1rem 1rem 2rem;
  }
  .cp_txt{
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.8rem;
    padding: 0.8rem 0.8rem 0.4rem;
  }
  .free60{
    font-size: 2.3rem;
    }
  .applyhere_btn{
    padding: 0.8rem 1rem;
    width: 160px;
    font-size: 1rem;
  }
  .applyhere_btn a{
    color: #fff;
  }
}

/* 課題 */
.task_bg{
margin: 0 calc(50% - 50vw);
padding: 2rem calc(50vw - 50%) 3rem;
/* width: 100vw; */
background: #F6F6F6;
}
.relative{
position: relative;
}
.task_wrap::after{
content: "";
width: 0px;
height: 0px;
border-style: solid;
border-color: #F6F6F6 transparent transparent transparent;
border-width: 40px 60px 60px;
position : absolute;
bottom: -100px;
left: 0;
right: 0;
margin: auto;
}
.task_box{
display: block;
width: 30%;
box-shadow: 0 1px 10px 0 rgba(0, 0, 0, .3);
margin: 20px 16px;
}
.task_top{margin: 0;
background: #EFEFEF;
padding: 1.2rem;
position: relative;
}
.task_top::after{
content: "";
width: 0px;
height: 0px;
border-style: solid;
border-color: #EFEFEF transparent transparent transparent;
border-width: 20px 40px 40px;
position : absolute;
bottom: -60px;
left: 0;
right: 0;
margin: auto;
}
.task_btm{
background: #fff;
padding: 1.8rem 0.7rem 1.1rem;
}
.task_btm p{
font-size: 1.2rem;
font-weight: 600;
padding-left: 0.3rem;
}
.line_w{text-decoration:underline wavy #C51313;}

 @media screen and (max-width: 960px) {
  .task_wrap{padding: 1rem 0 2rem;
  }
  .task_box{
    width: 40%;
    min-width: 300px;
    margin: 10px;
  }
}
@media screen and (max-width : 639px) {
  .task_wrap{padding: 1rem 1rem 2rem;}
  .task_box{
    width: 100%;
    margin: 10px 0;
  }
}


/* 便利な機能 */
.feature_wrap{padding: 4rem 0 3rem;}
.feature_sub{padding: 2rem 0 3rem;}
.feature_sub h3{padding: 0 1.2rem;}
.feature_box{padding: 4rem 0;}
.feature_txt_l{
width: 50%;
padding-left:4rem;
text-align: left;
text-align: justify;
}
.feature_txt_r{
width: 50%;
padding-right:4rem;
text-align: left;
text-align: justify;
}
.feature_ttl{margin-bottom: 1.8rem;}
.feature_ttl h3{
padding: 0 0 0rem 1.2rem;
} 
.feature_txt{
  padding: 0;
}
.feature_btm{
padding: 1rem 0 0.4rem 1rem;
}
.feature_btm p{
font-size: 1.2rem;
font-weight: 600;
padding-left: 0.8rem;
}
@media screen and (max-width: 960px) {

  .feature_wrap{padding: 3rem 1rem;}
  .feature_sub{padding: 2rem 0;}
  .feature_sub h3{padding: 0 0.3rem;}
  .feature_box{
    flex-direction: column-reverse;
    padding: 2rem 0;}
  .feature_ttl{
    margin-bottom: 1rem;
    -webkit-flex-wrap:nowrap;
    -moz-flex-wrap:nowrap;
    -ms-flex-wrap:none;
    flex-wrap:nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
        align-items: center;
  }
  .feature_btm{
    -webkit-flex-wrap:nowrap;
    -moz-flex-wrap:nowrap;
    -ms-flex-wrap:none;
    flex-wrap:nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
        align-items: center;
  }
  .feature_txt_l{
    width: 70%;
    padding-left:0;
    margin:1rem;
    }
  .feature_txt_r{
    width: 70%;
    padding-right:0;
    margin:1rem;
  }
}
@media screen and (max-width: 599px) {
  .feature_sub img{display: none;}
  .feature_txt_l{
    width: 100%;
   margin: 0;
    }
  .feature_txt_r{
    width: 100%;
    margin: 0;
  }
  .feature_ttl h3{
    padding-left: 0.6rem;
    line-height: 1.7rem;
    }
  .feature_txt{
    margin-bottom: 1rem;
  }
  .feature_btm{
    padding: 0 0 1.2rem 0.6rem;
    }
    .feature_btm p{
      padding-left: 0.6rem;
      line-height: 1.7rem;
      }
  
}

/* 事例紹介 */
.casestudy_wrap{padding: 1.8rem 0 4rem;}
.case_img p{margin-top: 1rem;}
.case_txt{
width: 70%;
text-align: left;
padding:0 0 0 2rem;
}
.case_txt .before_wrap{margin: 0.8rem 0;}
.case_txt .after_wrap{
margin: 0.6rem 0 2rem;}
.case_txt .after_wrap:last-child{
margin: 0.6rem 0 0;}
.case_txt .after_wrap{
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.8rem;
}
.case_txt .before_case, 
.case_txt .after_case{
width:85%;
margin: 0 0 0 1rem;
text-align: justify;
flex-grow: 2;
}
@media screen and (max-width: 960px) {
  .case_txt{padding:0 0 0 1.6rem;}
  .case_txt .before_case, 
  .case_txt .after_case{
    width: 80%;
  }
}
@media screen and (max-width: 886px) {
  .case_img{
    margin-bottom: 1rem;
  }
  .case_txt{
    width: 90%;
    padding: 0.6rem;
    margin: 0 auto;  
  }
  .case_txt .before_case, 
  .case_txt .after_case{
    width: 80%;
    margin: 0 0 0 1rem;
  }
}
@media screen and (max-width: 496px){
  .before_wrap img,
  .after_wrap img{
    margin-bottom: 0.4rem;
  }
  .case_txt .before_case, 
  .case_txt .after_case{
    width: 100%;
    margin: 0;
  }
}

/* ご利用者様の声 */
.voive_wrap{padding: 1.8rem 0 6rem;}
.voice_box{width: 45%;}
.voice_box:first-child{margin-right:2.6rem;}
.voice_box img{margin-bottom: 1rem;}
.voice_box .voice{
font-size: 1.1rem;
font-weight: 600;
line-height: 1.8rem;
padding: 1.4rem 1rem 0;
text-align: left;
position: relative;
z-index: 1;
}
.voice .voice_txt::before{
content: "";
display: inline-block;
background: url(img/quo1.png) no-repeat;
background-size: contain;
position : absolute;
width: 64px;
height: 234px;
top: -6rem;
left: -0.8rem;
z-index: -1;
}
.voice .voice_txt:after{
content: "";
display: inline-block;
background: url(img/quo2.png) no-repeat;
background-size: contain;
position : absolute;
width: 64px;
height: 234px;
bottom: -8rem;
right: -0.8rem;
z-index: -1;
}

@media screen and (max-width: 960px) {
  .voive_wrap{padding: 2rem 0.6rem;}

}
@media screen and (max-width: 768px) {
  .voice_box{
    width: 100%;
    margin-bottom: 0.8rem;
  }
  .voice_box:first-child{margin-right:0;}
  .voice_box .voice{
    padding: 2rem 1rem 4rem;
  }
  .voice .voice_txt::before{
    top: -5.4rem;
    left: -0.2rem;
  }
  .voice .voice_txt:after{
    bottom: -5.4rem;
    right: -0.2rem;
    }
}

/* ご利用料金 */
.price_bg{
margin: 0 calc(50% - 50vw);
padding: 1.8rem calc(50vw - 50%) 3rem;
/* width: 100vw; */
background: #EEEEEE;
}
table.price_table{
width: 100%;
max-width:1000px;
table-layout: fixed;}
.price_table{
margin: 2rem 0; 
}
.price_table th{
position: relative;
color: #fff;
width: 120px;
}
.price_table th, .price_table td {
text-align: center;
padding: 0.6rem 0;
height: 60px;
border:2px solid #EEEEEE;
line-height: 1.2rem;
}
.price_table td{background-color: #fff;}
.gekkan{background-color: #151C36;}
.number{background-color: #777A82;}
.charge{background-color: #41B999;}
.zeroen{font-size: 3rem; font-weight: 600;}

.charge_plus::after{
content: url(../img/img_plus.png);
position : absolute;
bottom: -20px;
right: 0;
left: 0;
z-index: 1;
}

@media only screen and (max-width: 960px) {
.price_table {
  display: block;
  overflow-x: scroll;
  white-space: nowrap;
  margin-left: 0.6rem;
  font-size:.9125rem;
  }
  .price_table th {padding: 0 1.6rem;}
  .price_table td{padding:0;}
  .price_table .line_r{
    position:relative;
    top:.25em;
  }
  .zeroen{font-size:2.5rem;}
}
@media only screen and (max-width: 768px) {
.price_wrap{padding: 2rem 0 2rem 1rem;}
.price_wrap .pr_1{
  padding-right: 1rem;
}
.price_table th {width:120px;}
}
  


/* お申込みの流れ */
.apply_wrap{padding: 3rem 0 4rem;}
.flow_wrap{
background: #82E6CB;
padding: 0;
font-weight: 600;
width: 90%;
margin: 0 auto;
position: relative;
margin-bottom: 1.4rem;
}
.flow_wrap:nth-child(3){
background: #64C9AE;
}
.flow_wrap:nth-child(4){
background: #41B999;
}
.flow_box{
padding: 1.2rem 0 1.3rem 1.2rem;
text-align: left;
}
.flow_box > img{
width: 65px;
height: auto;
}
.flow_ttl{
font-size: 1.25rem;
padding-left: 1rem;
}
.flow_txt{
line-height: 1.5rem;
background: #E6E6E6;
padding: 2.3rem 1.2rem;
width: 52%;
text-align: left;
letter-spacing: -0.03rem;
/* text-align: justify; */
}
.flow_txt .txt_s{
margin-top: 0.4rem;
}
.flow_wrap:not(:last-child):after{
content: "";
width: 0px;
height: 0px;
border-style: solid;
border-color: #82E6CB transparent transparent transparent;
border-width: 40px 196px 196px;
position : absolute;
bottom: -234px;
left: 0;
/* right: 0; */
margin: auto;
z-index: 1;
}
.flow_wrap:nth-child(3):after{
border-color: #64C9AE transparent transparent transparent;
}

@media only screen and (max-width: 990px) {
  .flow_box{padding: 1.6rem 0 1.6rem 0.8rem;}
  .flow_txt{width: 45%; padding: 2.8rem 1.2rem;}
  .flow_ttl{padding-left: 0.8rem;}
  .flow_wrap:not(:last-child):after{
    border-width: 40px 170px 170px;
    bottom: -208px;
  }
}
@media only screen and (max-width: 768px) {
  .apply_wrap{
    padding:  2rem 0.6rem;;
  }
  .flow_wrap{
    display: block;
    padding: 2rem 1rem 1rem;
  }

  .flow_wrap:not(:last-child):after{
    border-width: 40px 150px 150px;
    bottom: -186px;
    left: 0;
    right: 0;
  }
  .flow_box{
    display: block;
    text-align: center;
    padding: 0 0 1rem ;
  }
  .flow_ttl{
    padding-left: 0;
  }
  .flow_txt{
    width: auto;
    text-align: center;
    border-radius: 2px;
  }
} 

/* お申込みフォーム */
.form_bg{
/* width: 100vw; */
margin: 0 calc(50% - 50vw);
padding: 1.4rem calc(50vw - 50%) 4rem;
background: #F6F6F6;
}
.form_table{
border-collapse: collapse;
max-width: 80%;
margin:0 auto;
}
.form_table input[type="text"],
.form_table input[type="email"],
.form_table input[type="tel"],
.form_table select, .form_table textarea{
-moz-appearance: none;
-webkit-appearance: none;
-webkit-box-shadow: none;
box-shadow: none;
outline: none;
border: none;
}
input::placeholder {color: #ccc;}
::-webkit-input-placeholder {
color: #ccc;
opacity: 1;
}
::-moz-placeholder {
color: #ccc;
opacity: 1;
}
:-ms-input-placeholder {
color: #ccc;
opacity: 1;
} 
.form_table th{
width: 30%;
padding: 0.4rem 1rem;
color: #fff;
background: #151C36;
}
.form_table tr{
border-bottom: 3px solid #F6F6F6;  
}
.form_table td {
padding: 0.2rem 1rem;
background: #fff;
text-align: left;
}
.form_table td input[type="text"],
.form_table td input[type="email"],
.form_table td input[type="tel"]{
width:90%;
background-color: #fff;
padding: 0.2rem;
}
.form_table td input[type="text"]:focus,
.form_table td input[type="email"]:focus,
.form_table td input[type="tel"]:focus,
.form_table td textarea:focus,select:focus{
background-color: #fff;
}


@media screen and (max-width: 768px){
  .form_bg{
    margin: 0;
    padding: 1.4rem 0 4rem;
  }
  .form_table{
    width: 100%;
  }
  .form_table th,
  .form_table td {
  display: block;
  width: auto;
  }
  .form_table td input[type="text"],
  .form_table td input[type="email"],
  .form_table td input[type="tel"]{
    width: 100%;
  }
}

.form_btn{
width: 300px;
display: block;
margin-top: 40px;
margin-left: auto;
margin-right: auto;
padding: 0.5rem 1rem;
border: none;
border-radius: 5px;
background: #41B999;
color: #fff;
font-size: 1.5rem;
transition: 0.3s;
}
.form_btn:hover{
background-color: #151C36;
color: #fff;
}

@media screen and (max-width: 768px) {
  .form_btn {
    margin-top: 24px;
    padding: 0.8rem 1rem;
    width: 160px;
    font-size: 1rem;
  }
}

/* おすすめの本 */
.recobook_wrap{padding: 3rem 1.6rem 5rem;}
.recobook_box img{
width: 16%;
box-shadow: 0 6px 30px 0 rgba(0, 0, 0, .2);
}

@media screen and (max-width: 960px) {
  .recobook_wrap{padding: 1rem 1rem 2rem;}
  .recobook_box img{width: 40%;}
  .recobook_box img:nth-child(even){
    margin: 1.6rem 3rem 1.6rem 0;
  }
  .recobook_box img:nth-child(odd){
    margin: 1.6rem 0 1.6rem 3rem;
  }
}
@media screen and (max-width : 639px) {
  .recobook_wrap{padding: 1rem 0.6rem 2rem;}
  .recobook_box img{
    box-shadow: 0 4px 20px 0 rgba(0, 0, 0, .2);
  }
  .recobook_box img:nth-child(even){
    margin: 1.6rem 1.4rem 1.6rem 0;
  }
  .recobook_box img:nth-child(odd){
    margin: 1.6rem 0 1.6rem 1.4rem;
  }
}


/* トップへ戻るボタン */
#page_top{
width: 50px;
height: 50px;
position: fixed;
right: 1rem;
bottom: 1rem;
background: #41B999;
opacity: 0.6;
border-radius: 50%;
z-index: 9999;
}
#page_top a{
position: relative;
display: block;
width: 50px;
height: 50px;
text-decoration: none;
}
#page_top a:after{
content: "";
display: block;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
width: 18px;
height: 18px;
top: 19px;
left: 0;
right: 0;
margin: auto;
position: absolute;
transform: rotate(-45deg);
}
#page_top:hover{
opacity: 1;
} 
@media screen and (max-width: 768px){
  #page_top{
    right: 0.6rem;
    bottom: 0.6rem;
  }
}

/* フッター */
.footer_bg{
/* width: 100vw; */
margin: 0 calc(50% - 50vw);
padding: 1rem calc(50vw - 50%) ;
background: #E6E6E6;

}
.footer{
/* margin: 0 auto; */
font-size: 0.8rem;
}
.footer_menu{padding-bottom: 1.2rem;}
.footer_menu a:first-child{
 margin-right: 1.2rem;
}

@media screen and (max-width: 768px){
  .footer_bg{
    margin: 0;
    padding: 1.4rem 0.6rem;
  }
}

/* 下層全体 */
.contents_wrap{
padding: 2rem 1rem 4rem;
}
.contents_wrap > h2{
padding-bottom: 0.8rem;
}
.contents_wrap .contents_ttl_en{
  font-size: 2rem;
  line-height: 52px;
  padding: 2.2rem 0;
  padding-bottom: 0.8rem;
  font-weight: bold;
}
.contents_wrap .contents_ttl{
font-size: 1.2rem;
font-weight: 600;
padding:0 0 3rem;
}

@media screen and (max-width:768px) {
  .contents_wrap{
    padding: 2rem 1.4rem 4rem;
    }
  .contents_wrap .contents_ttl_en{
    font-size: 1.5rem;
    line-height: 2rem;
    padding: 2.2rem 0;
    padding-bottom: .8rem;
  }
}

/* PRIVACY POLICY */
.pri_wrap{
width: 80%;
margin: 0 auto;
text-align: left;
}
.pri_box{
padding-bottom: 1.2rem;
}
.pri_ttl2{
font-size: 1.15rem;
font-weight: 600;
}
.pri_txt{
text-align: justify;
}
@media screen and (max-width:768px) {
  .pri_wrap{
      width: 100%;
}
}

/* 会社概要 */
.company_table{
border-collapse: collapse;
width: 90%;
margin:0 auto;
}
.company_table tr{
border-bottom: 3px solid #fff;  
}
.company_table th{
width: 30%;
padding:  1rem;
color: #fff;
background: #151C36;
}
.company_table td{
padding:1rem 1.4rem;
background: #F6F6F6;
text-align: left;
}
@media screen and (max-width: 768px){
    .company_table{
      width: 100%;
    }
    .company_table th,
    .company_table td {
    display: block;
    width: auto;
    }
}

/* FAQ */
.faq_wrap{
  width: 80%;
  margin: 0 auto;
  text-align: left;
  text-align: justify;
}
.faq_wrap dl{
  margin-bottom: 1.2rem;
}
.faq_wrap dt{
  padding: 0.6rem 0.6rem 0.6rem 0 ;
  font-weight: 600;
}
.faq_wrap dt:before{
  content: "Q";
  font-weight: normal;
  background: #F87D7D;
  color: #fff;
  width: 1.5em;
  height: 1.5em;
  line-height: 1.6;
  text-align: center;
  display: inline-block;
  border-radius: 1em;
  margin-right: .5em;
}
.faq_wrap dd{
  background: #F6F6F6;
  padding: 0.8rem 2rem;
  margin-bottom: 3rem;
}
.faq_wrap dd:last-child{
  margin-bottom: 0;
}
@media screen and (max-width: 768px){
  .faq_wrap{
    width: 100%;
  }
  .faq_wrap dt{
    padding: 0.6rem 0 ;
  }
  .faq_wrap dd{
    padding: 0.8rem 1.4rem;
  }
}

/* お問合せ */
.contact_table{
border-collapse: collapse;
width: 100%;
margin-top: 3rem;
margin-left: auto;
margin-right: auto;
}
.contact_table input[type="text"],
.contact_table input[type="email"],
.contact_table input[type="tel"],
.contact_table select, .contact_table textarea{
-moz-appearance: none;
-webkit-appearance: none;
-webkit-box-shadow: none;
box-shadow: none;
outline: none;
border: none;
}

.contact_table tr{
border-top: 2px solid #f6f6f6; 
}
.contact_table tr:nth-child(9) {
border-bottom: 2px solid #f6f6f6;
}
.contact_table th{
width: 240px;
padding: 1.6rem ;
}
.contact_table th,
.contact_table td{
padding: 1.6rem 0 1.6rem 1rem;
text-align: left;
}
.contact_table td input[type="text"],
.contact_table td input[type="email"],
.contact_table td input[type="tel"]{
width:90%;
background: #f6f6f6;
padding: 1.2rem 0.8rem;
border: 1px solid #ddd;
}
.contact_table td select{
background: #f6f6f6;
padding: 1.2rem 0.8rem;
border: 1px solid #ddd;
}
.contact_table td textarea{
width: 90%;
height:8rem;
resize: vertical;
background: #f6f6f6;
padding: 1rem 0.8rem;
border: 1px solid #ddd;
}

.label_required {
border-radius: 3px;
margin-right: 8px;
padding: 0.02rem 0.3rem;
display: inline-block;
text-align: center;
background: #F87D7D;
color: #fff;
font-size: 0.8rem;
}
  
@media screen and (max-width: 768px){
  .contact_table{
    width: 100%;
  }
  .contact_table th,
  .contact_table td {
  display: block;
  width: 100%;
  }
  .contact_table th{
    padding-bottom: 0;
  }
  .contact_table td input[type="text"],
  .contact_table td input[type="email"],
  .contact_table td input[type="tel"],
  .contact_table td select,
  .contact_table td textarea{
    display: block;
  }
}

@media screen and (max-width: 600px){
  .contact_table th,
  .contact_table td {
  padding-left: 0;
  }
}

.contact_btn{
width: 300px;
display: block;
margin-top: 40px;
margin-left: auto;
margin-right: auto;
padding: 0.5rem 1rem;
border: none;
border-radius: 5px;
background: #41B999;
color: #fff;
font-size: 1.5rem;
transition: 0.3s;
letter-spacing: 0.2rem;
}
.contact_btn:hover{
background-color: #151C36;
color: #fff;
}

@media screen and (max-width: 768px) {
  .contact_btn {
    margin-top: 24px;
    padding: 0.8rem 1rem;
    width: 160px;
    font-size: 1rem;
  }
}

/*recaptch hidden*/
.recaptcha-policy{
  width:80%;
  margin-right: auto;
  margin-left: auto;
}
.recaptcha-policy p{
  font-size:.75rem;
  color: #bbb;;
  line-height: 1.3;
}
.recaptcha-policy p a{
  color:#151C36;
}
.grecaptcha-badge { visibility: hidden; }

/*simulation*/
#simulation{
  padding-right: 1.6rem;
  padding-left: .6rem;
}
#simulation .sim-area{
  margin:1rem 0 2rem;

}
#simulation .sim-graph{
  background:white;
  width:100%;
  padding:10px;
  box-sizing:border-box;
}
.sim-graph table{
  width:100%;
}
.sim-graph tr:last-child{
  border-top:2px solid #151C36;
  border-bottom:0;
}
.sim-graph tr{
  border-bottom:2px dashed #eee;
}
.sim-graph td{font-size:.875rem;padding:0.5em 0;}
.sim-graph th{
  font-size:.875rem;
}
.sim-graph th.small{
  font-size:.75rem;
}
.sim-graph .range{font-size:.8125rem;text-align:right;width:5em;background:url(img/sim-rang-bg.svg) 10px top no-repeat;background-size:contain;font-weight: bold;}
.sim-graph .graph-100{background:#b0e3d5;}
.sim-graph .graph-200-50{background:#9dddcc;padding:1em 0;}
.sim-graph .graph-200-30{background:#77cfb8;padding:1em 0;}
.sim-graph .graph-500{background:#51c2a4;padding:2.5em 0;}
#simulation .calc{
  width:100%;
  text-align:left;
  padding:1rem 0;
  box-sizing:border-box;
}
#simulation .calc .label{
  display: inline-block;
  background:#151c36;
  color:white;
  padding:0 .5em;
  margin-bottom:.5em;
}
#simulation .calc .subtotal{
  display: block;
  border-top:1px dashed #151c36;
  padding:.5em 0;
  margin-top:.5em;
}
#simulation .calc p{
  font-size:.875rem;
  margin-bottom: 1em;
}
#simulation .calc p.total{
  padding:.5em 1em;
  margin-bottom: 0;
  background:white;
  color:#19483b;
  font-weight: bold;
  text-align: center;
  font-size:1rem;
  display: inline-block;
  border-bottom: 1px solid #151c36;
}
@media screen and (min-width:769px) {
  #simulation{
    padding:0 .6rem;
    text-align:left;
  }
  #simulation .sim-area{
    align-items:center;
  }
  #simulation .sim-graph{
    width:60%;
    text-align:center;
  }
  #simulation .calc{
    width:40%;
    padding-left:3%;
    padding-right: 2%;
  }
  #simulation .calc p{
    font-size:.9125rem;
  }
  .sim-graph td{font-size:1rem;padding:0.5em 0;}
  .sim-graph .range{font-size:1rem;}
  .sim-graph th,.sim-graph th.small{
    font-size:.9125rem;
  }
}
@media screen and (min-width:961px) {
  #simulation{
    padding:0 3%;
  }
  #simulation .sim-graph{
    padding:1.25rem;
  }
  .sim-graph td{
    font-size:1.25rem;
  }
  .sim-graph th, .sim-graph th.small{
    font-size:1.125rem;
    padding:.25em 0;
  }
  .sim-graph .range{
    font-size:1rem;
  }
  #simulation .calc{
    padding-right: 0;
    padding-left: 4%;
  }
  #simulation .calc p{
    font-size:1rem;
    line-height: 2;
  }
  #simulation .calc .label{
    font-size:.875rem
  }
  #simulation .calc p.total{
    font-size:1.25rem;
  }
}

/*add 20220519*/
.line-through{
  position:relative; 
}
.line-through::before,.line-through::after{
  content:'';
  width:100%;
  height:1px;
  background:#C51313;
  display: inline-block;
  position:absolute;
  left:0;
}
.line-through::before{top:.35em;}
.line-through::after{top:.55em;}
.limited{color:#C51313; font-weight:bold;}
.bigger{font-size:125%;}
.price_table .limited{
  position:relative;
  top:.25em;
}
@media screen and (min-width:961px){
  .calc .limited{
    position:relative;
    top:-.5em;
  }
}
