@charset "UTF-8";
/* CSS Document */

/* ---- 共通 -----*/
.Header__inner{
  max-width: 100rem;
  margin: 0 auto;
}
.Header__content{
  grid-template-columns:154px 1fr;
}
.Header__layout{
  background-color: #fff;
  padding: 0 25px;
}
.Header__logo{
  width: 142px;
  padding: 6px 0;
}
.Header__content p{
  font-size: 1.2rem;
}
.inner{
  width: 100%;
  max-width: 100rem;
  margin: 0 auto;
  padding: 0 2rem;
}
.contents_wrap.yellow{
  background-color: #FCF7DB;
}
.contents_wrap.orange{
  background-color: #F99427;
}
.hide-pc{
  display: none;
}
.hide-tab{
  display: none;
}
.hide-sp{
  display: block;
}
.pc-only{
  display: block;
}
.sp-only{
  display: none;
}

/* ---- 見出し -----*/
.headding_a{
  color:#07A32B;
  font-size: 3rem;
  text-align: center;
  margin-bottom: 4rem;
  padding-top: 6rem;
  padding-bottom: 2rem;
  position: relative;
}
.headding_a::before{
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 7rem;
  height: .4rem;
  background-color: #07A32B;
}
.headding_b{
  color: #07A32B;
  text-align: center;
  font-weight: bold;
  font-size: 2.5rem;
  padding-top: 6rem;
}
.headding_b span{
  font-size: 3.7rem;
}
.headding_c{
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 2.8rem;
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.headding_c span > span{
  font-size: 5.8rem;
}
.headding_c span.fs4{
  font-size: 4rem;
}
.headding_c span.line{
  position: relative;
}
.headding_c span.line::before, .headding_c span.line::after{
  content: "";
  position: absolute;
  bottom: -12px;
  left: 0;
  width: 100%;
  border-bottom: solid 2px #fff;
}
.headding_c span.line::after{
  bottom: -20px;
}

/* ---- MV -----*/
.mainVisual{
  background-color: #FCF7DB;
}
.mainVisual h1{
  width: 100%;
  max-width: 100rem;
  margin: 0 auto;
}

/* ---- コンバージョン -----*/
.conversion_wrap{
  background-color: #E5F5E9;
  padding: 3rem 0 6rem;
}
.conversion_wrap.fst{
  padding: 3rem 0 3.3rem;
}
.conversion_layout{
  max-width: 88rem;
  margin: 0 auto;
  display: flex;
  justify-content: space-evenly;  
}
.conversion_item{
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0 1rem;
}
.conversion_txt{
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  display: grid;
  place-content: center;
  flex-grow: 1;
}
.conversion_btn a{
  width: 100%;
  max-width: 37rem;
  min-height: 7rem;
  margin: 1rem auto 0;
  padding-top: 1.6rem;
  background-color: #F99427;
  border-radius: 3.5rem;
  color: #fff;
  line-height: 1.2;
  font-weight: bold;
  font-size: 2rem;
  text-align: center;
  text-decoration: none;
  display: block;
  position: relative;
}
.conversion_btn.darkOrange a{
  background-color: #FF6600;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 0;
}
.conversion_btn a span{
  display: block;
  font-size: 1.6rem;
  font-weight: normal;
}
.conversion_btn a img{
  margin: 0 .5rem;
} 
.conversion_btn a img.blank{
  display: inline;
} 
.conversion_ttl{
  font-size: 2.4rem;
  text-align: center;
  font-weight: bold;
  margin-top: 2rem;
  margin-bottom: 4rem;
}
.conversion_ttl span{
  position: relative;
  display: inline-block;
}
.conversion_ttl span::before, .conversion_ttl span::after{
  content: "";
  position: absolute;
  top: 50%;
  left: -4rem;
  width: 2px;
  height: 90%;
  transform:translateY(-50%) rotate(-23deg);
  background-color: #333;
}
.conversion_ttl span::after{
  left: initial;
  right: -4rem;
  transform:translateY(-50%) rotate(23deg);
}

/* ---- about -----*/

.about_layout{
  display: flex;
  justify-content: space-evenly;  
  padding-bottom: 8rem;
}
.about_item{
  align-self: center;
}
.about_img{
  width: 100%;
  max-width: 35rem;
}
.about_txt{
  width: 100%;
  max-width: 55rem;
  background-color: #fff;
  padding: 3rem;
  border-radius: 2rem;
}
.about_txt p{
  margin-bottom: 2rem;
}
.about_txt p:last-child{
  margin-bottom: 0;
}

/* ---- メリット -----*/
.contents_wrap.merit{
  position: relative;
  text-align: center;
}
.bubble{
  background-color: #07A32B;
  color: #fff;
  font-size: 2.6rem;
  font-weight: bold;
  border-radius: 3rem;
  padding: 1rem 8rem;
  display: inline-block;
  margin: -6rem auto ;
  position: relative;
}
.bubble::after{
  content: "";
  position: absolute;
  bottom: -17px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 9px solid transparent;
  border-left: 9px solid transparent;
  border-top: 18px solid #07A32B;
  border-bottom: 0;
}
.merit_layout{
  display: flex;
  justify-content: space-evenly;  
  margin-top: 8rem;
  margin-bottom: 10rem;
}
.merit_item img{
  width: 22rem;
  margin: 0 auto 1rem;
}
.merit_item p{
  text-align: center;
  font-size: 2.2rem;
  font-weight: bold;
  color: #07A32B;
}

/* ---- シーン -----*/
.scene_layout{
  display: flex;
  justify-content: center;  
  margin-top: 6rem;
  margin-bottom: 6rem;
}
.scene_item{
  width: calc(100%/3);
  text-align: center;
  position: relative;
}
.scene_item::before{
  content: "";
  background-image: linear-gradient(to bottom, #07A32B, #07A32B 3px, transparent 3px, transparent 10px);
  background-size: 3px 10px;
  background-repeat: repeat-Y;
  background-position:left bottom;
  position: absolute;
  top: 0;left: 0;right: 0;bottom: 0;
  height: 86%;
}
.scene_item:last-child::after{
  content: "";
  background-image: linear-gradient(to top, #07A32B, #07A32B 3px, transparent 3px, transparent 10px);
  background-size: 3px 10px;
  background-repeat: repeat-Y;
  background-position:right top;
  position: absolute;
  top: 0;left: 0;right: 0;bottom: 0;
  height: 86%;
}
.scene_item .scene_img{
  width: 80%;
  margin: 0 auto 1.5rem;
}
.scene_item .scene_txt{
  text-align: center;
  font-size: 1.8rem;
  font-weight: bold;
}
.scene_item .scene_txt span{
  width: 84%;
  margin: .5rem auto 0;
  text-align: left;
  font-size:1.2rem;
  display: block;
  font-weight: normal;
}

/* ---- ポイント -----*/
.contents_wrap.orange .inner{
  padding-bottom: 5rem;
}
.point_layout{
  width: 100%;
  max-width: 87rem;
  margin: 0 auto;
  padding-top: 5rem;
}
.point_item{
  margin-bottom: 4rem;
  position: relative;
}
.point_img{
  width: 28rem;
  background-color: #fff;
  border-radius: 2.6rem;
  padding: 2.5rem 0;
  position: absolute;
  top: -5rem;
  left: 0;
  z-index: 2;
}
.point_img img{
  width: 100%;
  max-width: 70%;
  margin: 0 auto;
}
.point_txt{
  min-height: 20rem;
  background-color: #FCF9DD;
  border-radius: 2.6rem;
  padding: 3rem 3rem 3rem 12rem;
  margin-left: 19rem;
}
.point_txt .point-icon1, .point_txt .point-icon2, .point_txt .point-icon3, .point_txt .point-icon4{
  position: relative;
}
.point_txt .point-icon1 img, .point_txt .point-icon2 img, .point_txt .point-icon3 img, .point_txt.point-icon4 img{
  content: "";
  position: absolute;
  right: 0;
  top: -7rem;
  width: 8rem;
  z-index: 3;
}
.point_txt h3{
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 2rem;
}
.point_txt span{
  font-weight: bold;
}
@media screen and (max-width: 900px) {
 .point_txt h3{
  font-size: 2rem;
} 
  .point-icon2 br{
    display: none;
  }
}

/* ---- 注意 -----*/
.attention_txt{
  font-size: 2rem;
  text-align: center;
  font-weight: bold;
  margin: 5rem 0 3rem;
}
ul.attention_item{
  width: 100%;
  max-width: 89rem;
  margin:  0 auto;
  border: solid 2px #07A32B;
  border-radius: 2.6rem;
  padding: 3rem ;
  list-style: none;
  margin-bottom: 7rem;
}
ul.attention_item li{
  margin-bottom: 1.5rem;
  padding-left: 2rem;
  position: relative;
}
ul.attention_item li:last-child{
  margin-bottom: 0;
}
ul.attention_item li::before{
  content: "";
  position: absolute;
  top: 1rem;
  left: 0;
  width: 6px;
  height: 6px;
  background-color: #07A32B;
  border-radius: 50%;
}

/* ---- 流れ -----*/
.step_layout{
  padding-top: 2rem;
  padding-bottom: 3rem;
}
.step_item{
  max-width: 82rem;
  margin: 0 auto 5.5rem;
  background-color: #fff;
  border:solid 2px #07A32B;
  position: relative;
}
.step_item:last-child{
  margin-bottom: 1rem;
}
.step_item::before, .step_item::after{
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  background-color: #07A32B;
  border-radius: 50%;
  bottom: -1.6rem;
  left: 50%;
  transform: translateX(-50%);
}
.step_item::after{
  bottom: -3.2rem;
}
.step_ttl{
  width: 17rem;
  background-color: #07A32B;
  color: #fff;
  font-size: 2.5rem;
  font-weight: bold;
  border-radius: 2.6rem;
  padding: .8rem 0;
  margin: -2rem auto 0;
  text-align: center;
}
.step_item_inner{
  margin: 4rem 0;
  display: flex;
  justify-content: center;
}
.step_item_inner.step1 .conversion_btn a{
  width: 30rem;
  margin: 1rem 2rem 0;
} 
.step_txt{
  width: 40%;
  font-weight: bold;
  font-size: 1.8rem;
  align-self: center;
}
.step_img{
  width: 30%;
}
.step_item_inner.step1{
  flex-wrap: wrap;
}
.step_item_inner.step1 .app{
  display: flex;
  justify-content: center;
  margin-bottom: 3rem;
}
.step_item_inner.step1 .app .step_img{
  width: 8rem;
  margin: 0 2rem 0 0;
}
.step_item_inner.step1 .app p{
  font-weight: bold;
  align-self: center;
}

/* ---- QA -----*/
.faq_layout{
  border-bottom: solid 1px #ccc;
  padding-bottom: 2rem;
}
.faq_q_item{
  cursor: pointer;
  position: relative;
  display: flex;
  justify-content: flex-start;
  margin-top: 2rem;
}
.faq_q_item .arrow{
  position: absolute;
  top: 0;
  right: 0;
  width: 2.6rem;
  height: 2.6rem;
  border: solid 2px #F99427;
  border-radius: 50%;
}
.faq_q_item .txt{
  margin-right: 4rem;
  flex: 1;
}
.faq_q_item .arrow::before, .faq_q_item .arrow::after{
  position: absolute;
  content: "";
  display: block;
  transition: all 0.4s;
  background: #F99427;
  left: 50%;
  top: 50%;
  width: 50%;
  height: 2px;
  transform: translate(-50%, -50%);
}
.faq_q_item .arrow:before {
  transform: translate(-50%, -50%) rotate(90deg);
}
.faq_q_item .arrow.open:before {
  transform: translate(-50%, -50%) rotate(0deg);
}
.faq_q_item .q_icon{
  width: 2.6rem;
  height: 2.6rem;
  background-image: url("/oos/adv/image/tmp_257-1/tmp_icon_qa.svg");
  background-repeat: no-repeat;
  background-size: 5.3rem 2.6rem;
  background-position: center left;
  display: inline-block;
  vertical-align: middle;
  margin-right: 1rem;  
}
.faq_a_item{
  background-color: #FCF9DD;
  padding: 2rem;
  margin-top: 2rem;
  display: none;
}
.faq_inner{
  display: flex;
  justify-content: flex-start;
}
.faq_a_item .a_icon{
  width: 2.6rem;
  height: 2.6rem;
  background-image: url("/oos/adv/image/tmp_257-1/tmp_icon_qa.svg");
  background-repeat: no-repeat;
  background-size: 5.3rem 2.6rem;
  background-position: center right;
  display: block;
  vertical-align: middle;
  margin-right: 1rem;  
  margin-top: .5rem;
}
.faq_a_item div{
  flex: 1;
}
.faq_a_item div p{
  margin-top: .5rem;
}
.faq_a_item div ul{
  list-style: none;
  padding: 0;
}
.faq_a_item div ul li{
  margin-top: .5rem;
  padding-left: 1.5rem;
  position: relative;
}
.faq_a_item div ul li:last-child{
  margin-bottom: 0;
}
.faq_a_item div ul li::before{
  content: "";
  position: absolute;
  top: 1rem;
  left: 0;
  width: 5px;
  height: 5px;
  background-color: #07A32B;
  border-radius: 50%;
}
.faq_a_item div p img{
  display: inline-block;
  margin: 0 .5rem;
}

/*================================================
* Smartphone Style
================================================*/

@media screen and (max-width: 768px) {

/* ---- 共通 -----*/
.Header__layout{
  padding: 0;
}
.inner{
  padding: 0 2rem;
}
.hide-pc{
  display: block;
}
.hide-tab{
  display: block;
}
.hide-sp{
  display: none;
}
.pc-only{
  display: none;
}
.tab-only{
  display: block;
}
/* ---- 見出し -----*/
.headding_a{
  font-size: 2.4rem;
}
.about .headding_a{
  margin-bottom: 2rem;
}
.headding_b{
  font-size: 2rem;
}
.headding_b span{
  font-size: 3.1rem;
}
.headding_c{
  font-size: 1.8rem;
}
.headding_c span > span{
  font-size: 4rem;
}
.headding_c span.fs4{
  font-size: 3rem;
}
/* ---- コンバージョン -----*/
.conversion_wrap{
  padding: 3rem 0 4rem;
}
.conversion_layout{
  display: block;
}
.conversion_item:first-child{
  margin-bottom: 2rem;
}
.conversion_btn a{
  width: 100%;
  max-width: 37rem;
  font-size: 1.8rem;
}
.conversion_btn a span{
  font-size: 1.4rem;  
}
.conversion_ttl{
  font-size: 1.8rem;
  margin-top: 1rem;
  margin-bottom: 3rem;
}
/* ---- about -----*/
.about_layout{
  display: block;
}
.about_item{
  padding: 0 1rem;
}
.about_img{
  max-width: 25rem;
  max-height: 19rem;
  margin: 0 auto;
  overflow: hidden;
}
.about_txt{
  width: 100%;
  max-width: 50rem;
  margin: 0 auto;
  padding: 2rem;
  font-size: 1.6rem;
}
/* ---- メリット -----*/
.bubble{
  font-size: 2.4rem;
}
.merit_layout{
  display: block;
  margin-top: 6rem;
  margin-bottom: 6rem;
}
.merit_item{
  margin-bottom: 4rem;  
}

/* ---- シーン -----*/
.scene_layout{
  display: block;
  margin-top: 4rem;
  margin-bottom: 4rem;
  margin: 4rem 0;
}
.scene_item{
  width: 100%;
  margin: 0 auto;
  padding: 2.5rem 0;
}
.scene_item_inner{
  width: 80%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.scene_item::before{
  background-image: linear-gradient(to right, #07A32B, #07A32B 3px, transparent 3px, transparent 10px);
  background-size: 10px 3px;
  background-repeat: repeat-X;
  background-position:left top;
}
.scene_item:last-child::after{
  display: none;
}
.scene_item .scene_img{
  width: 51%;
  order: 2;
  margin: 0;
}
.scene_item .scene_txt{
  width: 49%;
  align-self: center;
  text-align: left;
}
.scene_item .scene_txt span{
  width: 95%;
  margin: 1rem 0 0;
}
  
/* ---- ポイント -----*/
.contents_wrap.orange .inner{
  padding: 0;
  padding-bottom: 5rem;
}
.point_layout{
  padding: 0 1rem 5rem;  
}
.headding_c span.line::before, .headding_c span.line::after{
  left: 50%;
  transform: translateX(-50%);
  width: 135%;
}
.point_layout{
  padding: 14vw 0 0;  
}
.point_item{
  width: 100%;
  margin-bottom: 3rem;
}
.point_img{
  width: 46vw;
  top: -14vw;
  border-radius: 0 2.6rem 2.6rem 0;
  padding: 2rem 0;
}
.point_txt{
  padding: 22vw 3rem 2rem 3rem;
  border-radius: 2.6rem 0 0 2.6rem;
  font-size: 1.6rem;
  margin-left: 2rem;
}

.point_txt.point-icon1 img, .point_txt.point-icon2 img, .point_txt.point-icon3 img, .point_txt.point-icon4 img{
  content: "";
  position: absolute;
  right: -1.5rem;
  top: -29.5vw;
  width: 14vw;
  z-index: 3;
}

.point_txt h3{
  font-size: 2.2rem;
  font-weight: bold;
  margin-bottom: .5rem;
}
.point_txt p span{
  font-weight: bold;
}
  
/* ---- 流れ -----*/
.step_item{
  max-width: 60rem;  
}
.step_item_inner{
  margin: 3rem 0;
  display: block;
  justify-content: center;
}
.step_txt{
  width: 100%;
  text-align: center;
}
.step_img{
  width: 40%;
  margin: 3rem auto 0;
}
.step_img.step2{
  width: 30%;  
}
.step_item_inner.step1 .conversion_btn a{
  width: 29rem;
  min-height: 6rem;
  margin: 1rem auto 0;
  padding-top: 1.1rem;
}
.step_item_inner.step1 .conversion_btn.darkOrange a{
  padding-top: 0;
}
.step_item_inner.step1{
  flex-wrap: wrap;
}
.step_item_inner.step1 .app{
  display: flex;
  justify-content: center;
  margin-bottom: 3rem;
}

.step_item_inner.step1 .app p{
  font-size: 1.7rem;  
}

/* ---- faq -----*/
.faq_layout{
  padding-bottom: 1rem;
}
.faq_q_item{
  margin-top: 1rem;
}
.faq_q_item .arrow{
  top: 50%;
  transform: translateY(-50%);
  width: 2.4rem;
  height: 2.4rem;
}
.faq_q_item .txt{
  margin-right: 3.5rem;
}
.faq_a_item{
  padding: 1rem;
  margin-top: 1.5rem;
}
}

@media screen and (max-width: 640px) {
.hide-tab{
  display: none;
}
.hide-sp{
  display: none;
}
.pc-only{
  display: none;
}
.tab-only{
  display: none;
}
.sp-only{
  display: block;
}
.scene_layout{
  margin: 4rem 0;
}
.scene_item_inner{
  width: 100%;
}
.step_img{
  width: 50%;
}
.step_img.step2{
  width: 55%;  
}
.step_img.step3{
  width: 70%;  
}
.step_img.step4{
  width: 70%;  
}
  
.point_layout{
  padding: 23vw 0 0;  
}
.point_item{
  width: 100%;
  margin-bottom: 3rem;
}
.point_img{
  width: 66vw;
  top: -23vw;
  border-radius: 0 2.6rem 2.6rem 0;
  padding: 2rem 0;
}
.point_txt{
  padding: 30vw 3rem 2rem 3rem;
  border-radius: 2.6rem 0 0 2.6rem;
  font-size: 1.6rem;
  margin-left: 2rem;
}

.point_txt.point-icon1 img, .point_txt.point-icon2 img, .point_txt.point-icon3 img, .point_txt.point-icon4 img{
  content: "";
  position: absolute;
  right: -1.5rem;
  top: -42.5vw;
  width: 24vw;
  z-index: 3;
}
  }
@media screen and (max-width: 599px){
  html {
    font-size: calc(100vw/38);
  }
}