@charset "UTF-8";

/* --------------------
*  Webフォント読み込み
--------------------*/
@import url("https://fonts.googleapis.com/earlyaccess/notosansjapanese.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP");
/*
=====================================================================
*			html , body
=================================================================== 
*/
html, body {
  width: 100%;
  height: 100%;
  font-family: 'Noto Sans Japanese', sans-serif,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
  color: #0E0900;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
}

li{
  list-style: none;
}

a{
  text-decoration: none;
}

a:hover{
  opacity: 0.8;
  transition: .3s;
}

img:not([alt]) {
  filter: none;
}

body{
  font-size: 16px;
}

#wrap{
  overflow: hidden;
}


.fade_effect {
  opacity: 0;
  transform: translate(0, 30px);
  transition: all .8s;
}


.hero_content_bottom.fade_effect{
  transition: all 1s;
}

.merit_block .merit_illust.fade_effect{
  transform: translate(60px,0);
}
.merit_block:nth-child(2) .merit_illust.fade_effect{
  transform: translate(-60px,0);
}
.campaign_copy_baloon.fade_effect,
.price_table_badge.fade_effect{
  transform: scale(0.5,0.5);
}




@media screen and (min-width: 720px) {
  .hero_demo.fade_effect{
    transition: all 1.6s;
  }
  .hero_illust.fade_effect{
    transform: translate(60px,0);
  }
  .price_table_standard.fade_effect{
    transition: all 1.4s;
  }
  .price_table_badge.fade_effect.scroll_effect{
    transform: scale(1.1) !important;
    transition: transform 0.8s opacity 1.4s;
  }
  
}



@media screen and (min-width: 980px) {
  .implement_flow_listitem:nth-child(2).fade_effect{
    transition: all 1.2s;
  }
  .implement_flow_listitem:nth-child(3).fade_effect{
    transition: all 1.6s;
  }
  .implement_flow_listitem:nth-child(4).fade_effect{
    transition: all 2s;
  }
  .hero_illust.fade_effect{
    transition: all 1.4s;
  }
}





.fade_effect.scroll_effect {
  opacity: 1 !important;
  transform: translate(0, 0) !important;
}
.campaign_copy_baloon.fade_effect.scroll_effect,
.price_table_badge.fade_effect.scroll_effect{
  transform: scale(1.1) !important;
  transition: transform 3s opacity .8s;
}



/* スマホ */
@media screen and (max-width: 720px) {
  body{
    font-size: 13px;
  }
}



/*----------common-------------*/
.text_red{
  color: #E94E2E;
}

.icon_letter{
  background:  url("/images/welcome/icon_letter.png");
  width: 20px;
  height: 16.5px;
  background-size: 100%;
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
  margin-top: -2px;
}

.icon_link{
  background:  url("/images/welcome/icon_link_white.png");
  width: 14px;
  height: 15.5px;
  background-size: 100%;
  display: inline-block;
  vertical-align: middle;
  margin-right: 8px;
  margin-top: -3px;
}

.btn_round{
  height: 60px;
  line-height: 60px;
  color: #fff;
  border-radius: 55px;
  font-size: 17px;
  font-weight: bold;
  display: block;
  text-align: center;
  position: relative;
}

.btn_round.have_arrow{
  padding-right: 20px;
}

.btn_round.have_arrow::after{
  content: '';
  background:  url("/images/welcome/btn_arrow.svg");
  display: inline-block;
  height:13px;
  width: 8px;
  background-size: 100%;
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translate(-50%, -50%);
}

.btn_round_red{
  background: #E94E2E;
}

.btn_round_pink{
  background: #F78871;
}

.btn_round_black{
  background: #0E0900;
}

.btn_deco_text{
  font-weight: bold;
  font-size: 16px;
  line-height: 23px;
  text-align: center;
  letter-spacing: 0.02em;
  margin-bottom: 17px;
}
.btn_deco_text::before{
  content:'＼';
  font-family: "ヒラギノ角ゴシック ProN";
  margin-right: 4px;
}
.btn_deco_text::after{
  content:'／';
  font-family: "ヒラギノ角ゴシック ProN";
}

.section_inner{
  margin:  0 auto;
  padding: 120px 60px 120px;
}

.section_title{
  margin-bottom: 40px;
}

.section_title .section_title_main{
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
  font-size: 36px;
  line-height: 52px;
  text-align: center;
  letter-spacing: 0.02em;
  margin-bottom: 11px;
  display: block;
}

.section_title .section_title_sub{
  font-family: 'Montserrat', sans-serif;
  font-style: normal;
  font-weight: bold;
  font-size: 16px;
  line-height: 20px;
  text-align: center;
  letter-spacing: 0.1em;
  color: #C4C4C4;
  display: block;
}

.section_title .section_title_sub:lang(en){
  display: none;
}


.section_description{
  font-weight: bold;
  font-size: 28px;
  line-height: 46px;
  text-align: center;
  margin-bottom: 40px;
}

.section_subtitle{
  font-weight: bold;
  font-size: 28px;
  line-height: 41px;
  margin-bottom: 20px;
  text-align: center;
}

.section_subdescription{
  font-size: 16px;
  line-height: 28px;
  margin-bottom: 30px;
  text-align: center;
}

.br_sp{
  display: none
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .section_inner {
    padding: 120px 40px 120px;
  }
}

/* スマホ */
@media screen and (max-width: 720px) {
  .br_sp{
    display: inherit;
  }
  .br_pc{
    display: none;
  }
  
  
  .section_inner {
    padding: 60px 20px 60px;
  }
  .btn_round{
    height: 50px;
    line-height: 50px;
    border-radius: 55px;
    font-size: 13px;
  }
  
  .btn_round.have_arrow::after{
    right: 14px;
  }
  .section_title {
    margin-bottom: 20px;
  }
  .section_title .section_title_main {
    font-size: 26px;
    line-height: 25px;
    letter-spacing: 0.02em;
    margin-bottom: 7px;
  }
  .section_title .section_title_sub {
    font-size: 12px;
    line-height: 12px;
  }
  .section_description {
    font-size: 15px;
    line-height: 24px;
    margin-bottom: 30px;
  }
  
  .btn_deco_text{
    font-size: 12px;
    margin-bottom: 3px;
  }
  .section_subtitle{
    font-size: 22px;
    line-height: 30px;
    margin-bottom: 10px;
  }
  
  .section_subdescription{
    font-size: 13px;
    line-height: 20px;
    margin-bottom: 30px;
  }
  .btn_round.have_arrow {
    padding-right: 10px;
  }
  
}


/*----------キャンペーンバナー-------------*/

.campaignbanner{
  display: block;
  background: #1DC374;
  color: #fff;
  text-align: center;
  height: 45px;
  line-height: 45px;
  font-weight: bold;
}

/* スマホ */
@media screen and (max-width:  720px) {
  .campaignbanner{
    text-align: left;
    height: auto;
    line-height: 18px;
    font-size: 13px;
    padding: 10px 20px;
  }
  
}




/*----------ヘッダー-------------*/

.header_info_2023gw {
  position: relative;
  display: block;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  color: #FFFFFF;
  background: #3BAB56;
  padding: 10px 32px 10px 16px;
}
.header_info_2023gw:before {
  position: absolute;
  top: 50%;
  right: 16px;
  content: '';
  width: 10px;
  height: 10px;
  border: 0;
  border-top: solid 2px #FFFFFF;
  border-right: solid 2px #FFFFFF;
  border-radius: 1.5px;
  margin-top: -5px;
  transform: rotate(45deg);
}
@media screen and (max-width: 1024px) {
  .header_info_2023gw {
    font-size: 12px;
  }
  .header_info_2023gw:before {
  }
}

header{
  background: #FCE62D;
  display: flex;
  padding: 30px 30px 0 30px;
  justify-content: space-between;
  align-items: center;
  z-index: 1;
  position: relative;
}

header .header_logo{
  width: 184px;
}

header .header_navi_list{
  display: flex;
  align-items: center;
}

header .header_navi_listitem{
  margin-right: 16px;
}
header .header_navi_listitem:last-child{
  margin-right: 0px;
}

header .header_navi_listitem a{
  font-size: 15px;
  color: #0E0900;
  font-weight: bold;
  padding: 10px;
}

header .header_navi_listitem.lang{
  display: flex;
  align-items: center;
  cursor: pointer;
  position: relative;
  padding: 10px;
}


header .henader_navi_lang{
  width: 20px;
  position: relative;
  margin-right: 5px;
}

header .henader_navi_lang_arrow{
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 4px 0 4px;
  border-color: #0E0900 transparent transparent transparent;
  display: block;
}

header .header_navi_lang_list{
  position: absolute;
  transition: .3s;
  top: 39px;
  left: -26px;
  right: -13px;
  padding-top: 5px;
  opacity: 0;
  transition: opacity .2s;
}
header .header_navi_lang_list::before{
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 8px 8px 8px;
  border-color: transparent transparent #fff transparent;left: 0;
  right: 0;
  top: -3px;
  margin: 0 auto;
}

header .header_navi_listitem.lang .header_navi_lang_listitem{
  background: #fff;
  display: block;
  border-bottom: 1px solid #E5E5E5;
  border-radius: 16px 16px 0 0;
  height: 0;
  overflow: hidden;
}
header .header_navi_listitem.lang .header_navi_lang_listitem:last-child{
  border-bottom: none;
  border-radius: 0 0 16px 16px;
}

header .header_navi_listitem.lang .header_navi_lang_listitem a{
  font-weight: bold;
  font-size: 13px;
  line-height: 19px;
  text-align: center;
  color: #0D3B66;
  padding: 8px 20px;
  display: block;
}

header .header_navi_listitem.lang:hover .header_navi_lang_list{
  opacity: 1;
}

header .header_navi_listitem.lang:hover .header_navi_lang_listitem{
  height: auto;
}

header .sp_header_navi{
  display: none;
}




/*----------SPヘッダー-------------*/
@media screen and (max-width: 1024px) {
  header{
    z-index: 100;
  }
  header .header_navi_list{
    display: none;
  }
  header .sp_header_navi{
    display: block;
  }
  
  
  header .sp_header_navi_toggle{
    width: 30px;
    height: 25px;
    position: relative;
    z-index: 110;
  }
  
  header .sp_header_navi_toggle span,
  header .sp_header_navi_toggle::before,
  header .sp_header_navi_toggle::after{
    width: 100%;
    height: 3px;
    display: block;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background-color: #222;
    transition: .3s;
  }
  header .sp_header_navi_toggle::before{
    content:'';
    top: 0;
  }
  header .sp_header_navi_toggle span{
    top: 50%;
    transform: translate(-50%,-50%);
  }
  header .sp_header_navi_toggle::after{
    content:'';
    bottom: 0;
  }
  
  header .sp_header_navi .sp_header_navi_content{
    z-index: 100;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    background: rgba(252, 230, 45, 0.95);
    transition: all .2s ease-in-out;
    opacity: 0;
    transform: translateX(100%);
  }
  header .sp_header_navi_list{
    margin: 0 auto;
    text-align: center;
    max-width: 290px;
    width: 100%;
    padding: 0 15px;
  }
  header .sp_header_navi_listitem{
    margin-bottom: 30px;
  }
  header .sp_header_navi_listitem.lang{
    border-top: 2px solid #0E0900;
    padding-top: 30px;
    margin-bottom:0;
  }
  header .sp_header_navi_listitem.lang .sp_header_navi_listitem{
    margin-bottom: 20px;
  }
  header .sp_header_navi_listitem.lang .sp_header_navi_listitem:last-child{
    margin-bottom: 0;
  }
  header .sp_header_navi_listitem a{
    color: #0E0900;
    font-size: 18px;
    font-weight: bold;
    line-height: 20px;
  }
  
  
  .spnavi_active header .sp_header_navi_toggle::before{
    transform: translate(-50%,11px) rotate(-45deg);
  }
  .spnavi_active header .sp_header_navi_toggle span{
    opacity: 0;
  }
  .spnavi_active header .sp_header_navi_toggle::after{
    transform: translate(-50%,-11px) rotate(45deg);
  }
  .spnavi_active header .sp_header_navi_content{
    transform: translateX(0);
    opacity: 1;
  }
  .spnavi_active {
    overflow: hidden;
  }
  
}

@media screen and (max-width: 720px) {
  header{
    padding: 20px 20px 0 20px;
  }
  header .header_logo{
    width: 150px;
  }
}


/*----------ヒーロー-------------*/
#hero{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #FCE62D;
}

#hero::after{
  content: '';
  background: #FCE62D;
  position: absolute;
  display: block;
  border-radius: 0 0 0 50%;
  height: 120px;
  bottom: -120px;
  width: 160%;
  left: -110px;
}

#hero .section_inner{
  position: relative;
  display: flex;
  margin: 0 auto;
  justify-content: space-between;
  align-items: center;
  padding: 72px 30px 0 60px;
}

#hero .no1Banner_block {
  max-width: 520px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin: 40px 0 0 0;
}
#hero .no1Banner_block .lead_text {
  color: #0e0900;
  font-weight: bold;
  font-size: 20px;
  text-align: center;
}
#hero .no1Banner_block .lead_text span {
  color: #E94E2E;
}
#hero .no1Banner_block .banner_img {
  width: 100%;
  height: auto;
}
#hero .no1Banner_block .description {
  color: #8B8027;
  font-size: 10px;
}
#hero .no1Banner_block .description span {
  margin-right: 12px;
}
#hero .no1Banner_block .description span:last-child {
  margin-right: 0;
}
#hero .no1Banner_block .description a {
  color: #8B8027;
  text-decoration: underline;
}
/* タブレット */
@media screen and (max-width: 1024px) {
  #hero .no1Banner_block .lead_text {
    font-size: 15px;
  }
  #hero .no1Banner_block .banner_img {
    max-width: 420px;
  }
}

#hero .hero_illust{
  max-width: 700px;
  margin-left: 50px;
}

#hero .hero_content{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}

#hero .hero_content_top{
  margin-bottom: 68px;
}

#hero .hero_content_bottom{
  text-align: center;
  width: 360px;
}

#hero .hero_copy{
  font-size: 50px;
  line-height: 70px;
  font-weight: bolder;
  margin-bottom: 15px;
  margin-right: -29px;
  text-align: left;
}

#hero .hero_copy .text_large{
  font-size: 65px;
  margin-right: 3px;
  font-weight: bold;
}

#hero .hero_copy .text_red{
  font-size: 55px;
  margin-right: 3px;
  font-weight: bold;
}

#hero .hero_subcopy{
  font-size: 21px;
  font-weight: bold;
  background: linear-gradient(transparent 50%, #fff 50%);
  display: inline-block;
  padding-bottom: 2px;
}

#hero .btn_round{
  width: 360px;
  margin-bottom: 15px;
}

#hero .hero_btn_memo{
  font-weight: bold;
  font-size: 14px;
  color: #0E0900;
}

#hero .hero_demo{
  position: absolute;
  background: #fff;
  display: flex;
  align-items: center;
  border-radius: 16px;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
  padding: 30px;
  width: 600px;
  right: 30px;
  bottom: -160px;
  z-index: 2;
  color: #0E0900;
}

#hero .hero_demo:hover{
  opacity: 1;
}

#hero .hero_demo:hover .hero_demo_qr,
#hero .hero_demo:hover .hero_demo_text,
#hero .hero_demo:hover .hero_demo_title,
#hero .hero_demo:hover .hero_demo_description{
  opacity: 0.8;
}

#hero .hero_demo_text{
  width: 300px;
}

#hero .hero_demo .hero_demo_title{
  font-size: 22px;
  font-weight: bold;
}

#hero .hero_demo .hero_demo_qr{
  width: 90px;
  height: 90px;
  margin-right: 20px;
}

#hero .hero_demo .hero_demo_description{
  font-size: 14px;
}

#hero .hero_demo .hero_demo_img{
  position: absolute;
  right: 0px;
  bottom: 0;
  height: 200px;
}

#hero .hero_demo .hero_demo_description_sp{
  display: none;
}

#hero .hero_demo .hero_demo_btn_sp{
  display: none;
}

/* 万博での利用のご案内 */
#hero .header_under_banner {
  position: absolute;
  bottom: -180px;
  z-index: 2;
  display: flex;
  justify-content: center;
  gap: 30px;
  width: 100%;
}
#hero .header_under_banner .hero_demo {
  position: relative;
  right: auto;
  bottom: auto;
}
#hero .expo2025_banner {
  display: block;
  padding: 20px;
  width: 600px;
  max-width: 600px;
  max-height: 150px;
  color: #0E0900;
  font-weight: bold;
  background-color: #fff;
  background-image: 
    url('/images/welcome/expo2025_bg01.png'),
    url('/images/welcome/expo2025_bg02.png')
  ;
  background-repeat:
    no-repeat,
    no-repeat
  ;
  background-position: 
    left 0px,
    right 0px
  ;
  background-size:
    contain,
    contain
  ;
  border-radius: 16px;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
}
#hero .expo2025_banner .expo2025_banner_inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
#hero .expo2025_banner .expo2025_banner_inner .expo2025_banner_logo img {
  width: 110px;
  height: 110px;
}
#hero .expo2025_banner .expo2025_banner_text {
  font-size: 21px;
}
#hero .expo2025_banner .expo2025_banner_text p {
  margin-bottom: 4px;
  line-height: 1.3;
}
#hero .expo2025_banner .expo2025_banner_text .text_large {
  font-size: 1.2em;
}
#hero .expo2025_banner .expo2025_banner_text .expo2025_banner_text_store {
  display: inline-block;
  padding: 4px 8px;
  font-size: 14px;
  color: #fff;
  background: #222;
}
#hero + #logolist .section_inner {
  padding: 250px 0 80px 0;
}
/* 万博での利用のご案内_タブレット */
@media screen and (max-width: 1224px) {
  #hero::after {
    height: 320px;
    bottom: -320px;
  }
  #hero .no1Banner_block {
    margin-bottom: 40px;
  }
  #hero + #logolist .section_inner {
    padding: 450px 0 80px 0;
  }
  #hero .header_under_banner {
    flex-direction: column;
    bottom: -380px;
    gap: 70px;
  }
  #hero .header_under_banner a {
    margin-inline: auto;
  }
}
/* 万博での利用のご案内_スマホ */
@media screen and (max-width: 719px) {
  #hero::after {
    height: 200px;
    bottom: -200px;
  }
  #hero .header_under_banner {
    padding: 20px;
    bottom: -280px;
    gap: 50px;
  }
  #hero .header_under_banner .hero_demo {
    left: auto;
    width: 100%;
    max-width: 400px;
  }
  #hero .expo2025_banner {
    width: 100%;
    max-width: 400px;
  }
  #hero .expo2025_banner .expo2025_banner_inner {
    gap: 10px;
  }
  #hero .expo2025_banner .expo2025_banner_inner .expo2025_banner_logo img {
    width: 70px;
    min-width: 70px;
    height: 70px;
  }
  #hero .expo2025_banner .expo2025_banner_text {
    font-size: 16px;
  }
  #hero .expo2025_banner .expo2025_banner_text p {
    margin-bottom: 8px;
  }
  #hero .expo2025_banner .expo2025_banner_text .expo2025_banner_text_store {
    padding: 2px 4px;
    font-size: 12px;
  }
  #hero + #logolist .section_inner {
    padding: 320px 0 80px 0;
  }
}

/* タブレット */
@media screen and (max-width: 1024px) {
  #hero .section_inner {
    flex-direction: column-reverse;
    align-items: center;
    padding-bottom: 30px;
    padding-top: 30px;
  }
  #hero .hero_illust {
    width: 100%;
    margin-left: 0;
  }
  #hero .hero_content{
    align-items: center;
  }
  #hero .no1Banner_block {
    margin-bottom: 80px;
  }
  #hero .hero_demo {
    right: auto;
  }
}

/* スマホ */
@media screen and (max-width: 719px) {
  #hero .section_inner {
    padding: 8px 16px;
  }
  #hero .hero_copy {
    font-size: 24px;
    line-height: 40px;
    margin-bottom: 15px;
    margin-right: -23px;
    text-align: center;
  }
  #hero .hero_subcopy {
    font-size: 12px;
    background: linear-gradient(transparent 50%, #fff 50%);
    padding-bottom: 0px;
    line-height: 31px;
    display: inline;
  }
  #hero .hero_content_top {
    margin-bottom: 28px;
  }
  #hero .hero_copy .text_large {
    font-size: 35px;
    margin-right: 3px;
    font-weight: bold;
  }
  #hero .hero_copy .text_red {
    font-size: 29px;
    margin-right: 3px;
    font-weight: bold;
  }
  #hero .hero_content_bottom {
    width: 100%;
  }
  #hero .btn_round {
    width: 280px;
    margin: 0 auto 8px;
  }
  #hero .hero_btn_memo {
    font-size: 12px;
  }
  #hero .hero_demo .hero_demo_qr {
    display: none;
  }
  #hero .hero_demo {
    right: 20px;
    left: 20px;
    width: auto;
    padding: 15px 85px 15px 15px;
  }
  #hero .hero_demo .hero_demo_description {
    display: none;
  }
  #hero .hero_demo .hero_demo_title {
    font-size: 16px;
    margin: 0 0 5px 0;
  }
  #hero .hero_demo .hero_demo_img {
    height: 128px;
  }
  #hero .hero_demo .hero_demo_description_sp {
    display: block;
    font-size: 11px;
  }
  #hero .hero_demo .hero_demo_btn_sp {
    display: block;
    font-weight: bold;
    margin-top: 6px;
  }
  #hero .hero_demo .hero_demo_btn_sp i{
    margin-left: 8px;
  }
}


/* -----
広告用hero type-A
----- */
#hero.hero_ad_section.type_a .section_inner {
  padding-top: 80px;
  padding-bottom: 48px;
}
#hero.hero_ad_section.type_a .hero_content {
  flex-shrink: 1;
}
#hero.hero_ad_section.type_a .hero_content_top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 40px;
}
#hero.hero_ad_section.type_a .hero_content_top .hero_ad_illust img {
  max-height: 420px;
}
#hero.hero_ad_section.type_a .hero_content_bottom {
  margin: 0 auto;
}
#hero.hero_ad_section.type_a .hero_ad_illust_sp {
  display: none;
}
/* タブレット */
@media screen and (max-width: 1024px) {
  #hero.hero_ad_section.type_a .hero_ad_illust {
    display: none;
  }
  #hero.hero_ad_section.type_a .hero_ad_illust_sp {
    display: block;
  }
}
/* スマホ */
@media screen and (max-width: 719px) {
  #hero.hero_ad_section.type_a .section_inner {
    padding-top: 48px;
    padding-bottom: 16px;
  }
}

/* -----
広告用hero type-B
----- */
#hero.hero_ad_section.type_b .section_inner {
  align-items: center;
  padding-top: 80px;
  padding-bottom: 80px;
}
#hero.hero_ad_section.type_b .hero_content {
  flex-shrink: 1;
  margin-right: 40px;
}
#hero.hero_ad_section.type_b .hero_content_top {
  margin-top: 40px;
  margin-bottom: 88px;
}
#hero.hero_ad_section.type_b .hero_content .hero_ad_copy img {
  max-height: 230px;
}
#hero.hero_ad_section.type_b .hero_ad_illust img {
  max-height: 400px;
}
#hero.hero_ad_section.type_b .hero_content_bottom {
  position: relative;
  width: 100%;
}
#hero.hero_ad_section.type_b .hero_content_bottom .hero_ad_btn_illust {
  position: absolute;
  z-index: 999;
  bottom: 5px;
  left: 0;
}
#hero.hero_ad_section.type_b .hero_content_bottom .hero_ad_btn_illust img {
  max-height: 130px;
}
#hero.hero_ad_section.type_b .btn_round {
  max-width: 500px;
  width: 100%;
}
#hero.hero_ad_section.type_b .btn_round.have_arrow {
  padding-left: 110px;
}
#hero.hero_ad_section.type_b .hero_ad_illust_sp {
  display: none;
}
/* タブレット */
@media screen and (max-width: 1024px) {
  #hero.hero_ad_section.type_b .hero_ad_illust,
  #hero.hero_ad_section.type_b .hero_content_top {
    display: none;
  }
  #hero.hero_ad_section.type_b .hero_ad_illust_sp {
    display: block;
    margin-bottom: 88px;
  }
  #hero.hero_ad_section.type_b .hero_content_bottom {
    width: 500px;
    margin: 0 auto;
  }
}
/* スマホ */
@media screen and (max-width: 719px) {
  #hero.hero_ad_section.type_b .section_inner {
    width: 100%;
    padding-top: 48px;
    padding-bottom: 16px;
  }
  #hero.hero_ad_section.type_b .hero_content {
    width: 100%;
    margin-right: 0;
  }
  #hero.hero_ad_section.type_b .hero_content_bottom {
    width: 100%;
  }
  #hero.hero_ad_section.type_b .hero_ad_illust_sp {
    margin-bottom: 40px;
  }
  #hero.hero_ad_section.type_b .btn_round {
    max-width: 280px;
  }
  #hero.hero_ad_section.type_b .hero_content_bottom .hero_ad_btn_illust {
    display: none;
  }
  #hero.hero_ad_section.type_b .btn_round.have_arrow {
    padding-left: 0;
  }
}



/*----------ロゴ掲載-------------*/
#logolist .section_inner {
  width: 100%;
  padding: 230px 0 80px 0;
}

#logolist .logolist_text {
  font-size: 32px;
  font-weight: bold;
  line-height: 48px;
  text-align: center;
  margin-bottom: 24px;
}
#logolist .logolist_text .label {
  display: block;
  max-width: 300px;
  font-size: 18px;
  font-weight: bold;
  line-height: 32px;
  background: #FCE62D;
  border-radius: 20px;
  margin: 0 auto 12px auto;
  padding: 4px 16px 0 16px;
}
#logolist .logolist_text .label span {
  font-family: 'Montserrat', sans-serif;
  font-size: 32px;
  color: #E94E2E;
  margin: 0 0 0 4px;
}

@-webkit-keyframes customer_logoslider {
  0% {
    background-position: 0 0;
  }
  to {
    background-position: -7360px 0;
  }
}

@keyframes customer_logo_slider {
  0% {
    background-position: 0 0;
  }
  to {
    background-position: -7360px 0;
  }
}
.customer_logo_wrap {
  width: 100%;
  overflow: hidden;
}
.customer_logo {
  -webkit-animation: customer_logo_slider 90s linear infinite;
  animation: customer_logo_slider 90s linear infinite;
  background-image: url("/images/welcome/logolist_customer.png");
  background-repeat: repeat-x;
  background-position: 0 0;
  background-size: auto 400px;
  height: 400px;
  width: 100%;
}

#logolist .logolist_btn {
  width: 360px;
  margin: 0 auto;
  margin-bottom: 16px;
}

#logolist .logolist_text_sub {
  font-size: 16px;
  line-height: 19px;
  text-align: center;
  margin: 32px 16px;
}

@media screen and (max-width: 719px) {
  #logolist .logolist_text {
    font-size: 19px;
    line-height: 28px;
    margin-bottom: 16px;
  }
  
  #logolist .logolist_text .label {
    font-size: 13px;
    max-width: 240px;
  }
  
  .customer_logo {
    background-size: auto 190px;
    height: 190px;
  }

  #logolist .section_inner {
    width: 100%;
    padding-bottom: 60px;
  }

  #logolist .logolist_btn {
    width: 280px;
  }
  #logolist .logolist_text_sub {
    font-size: 13px;
    margin-top: 24px;
    margin-bottom: 16px;
  }  
}


/*----------お知らせ-------------*/
#news{
  background: #F2F2F2;
}

#news .section_inner{
  max-width: 980px;
  padding-top: 230px;
}

#news .section_inner.ja{
  max-width: 980px;
  padding-top: 84px;
}


#news .news_title_wrap{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

#news .news_title{
  font-size: 24px;
  font-weight: bold;
}

#news .news_more{
  font-size: 16px;
  font-weight: bold;
  color: #0E0900;
}

#news .news_list{
  background: #fff;
  border-radius: 16px;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
}

#news .news_listitem{
  border-bottom: 1px dotted #E5E5E5;
}

#news .news_listitem a{
  padding: 15px 16px;
  color:#0E0900;
  display: flex;
  align-items: center;
}

#news .news_listitem .news_info{
  display: flex;
  flex-shrink: 0;
  margin-right: 10px;
}

#news .news_listitem .news_listitem_date{
  font-size: 12px;
  margin-right: 16px;
  width: 75px;
  line-height: 25px;
}

#news .news_listitem .news_listitem_category{
  font-size: 11px;
  background: #E5E5E5;
  width: 86px;
  line-height: 25px;
  text-align: center;
}

#news .news_listitem .news_listitem_title{
  width: 100%;
  font-size: 14px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

#news .news_listitem:last-child{
  border-bottom: none;
}

/*----------IT補助金-------------*/

#news .ithojyo_block{
  margin-top: 40px;
}
#news .ithojyo_bnr_link{}
#news .ithojyo_bnr_link .ithojyo_bnr_pc{
  margin-bottom: 8px;
  
}
#news .ithojyo_bnr_link .ithojyo_bnr_sp{
  display: none;
}
#news .ithojyo_block_sup {
  display: flex;
  align-items: center;
  justify-content: end;
}

#news .ithojyo_block_sup a {
  font-size: 13px;
  font-weight: bold;
  color: #222222;
  margin-left: 40px;
}

#news .ithojyo_block_sup a .ithojyo_icon {
  margin-right: 5px;
}

#news .ithojyo_block_sup a .icon_letter_red{
  background:  url("/images/welcome/icon_letter_red.png");
  width: 13px;
  height: 11px;
  background-size: 100%;
  display: inline-block;
  vertical-align: middle;
}










@media screen and (max-width: 980px) {
  #news .news_listitem a{
    padding: 16px 16px;
    flex-direction: column;
    align-items: flex-start;
  }
}

@media screen and (max-width: 719px) {
  #news .section_inner {
    padding-top: 205px;
  }
  #news .section_inner.ja {
    padding-top: 60px;
  }
  #news .news_title {
    font-size: 18px;
  }
  
  #news .news_listitem .news_listitem_title {
    font-size: 12px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    white-space: inherit;
  }
  #news .news_listitem .news_listitem_date {
    font-size: 12px;
    margin-right: 16px;
    line-height: 18px;
  }
  #news .news_listitem a {
    padding: 8px 16px;
  }
  #news .news_more {
    font-size: 14px;
    font-weight: bold;
    color: #0E0900;
  }
  
  #news .ithojyo_bnr_link .ithojyo_bnr_pc {
    display: none;
  }
  #news .ithojyo_bnr_link .ithojyo_bnr_sp {
    display: block;
    margin-bottom: 8px;
  }
  #news .ithojyo_block_sup {
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
  }
  #news .ithojyo_block_sup a {
    font-size: 13px;
    margin: 0;
  }
  
}




/*----------利益・笑顔が増える！-------------*/

#merit_profit{
  background: #FFFFFF;
  z-index: 2;
  position: relative;
}
#merit_profit .section_inner{
  padding-top: 84px;
}
.merit_profit_triangle{
  width: 0 auto;
}

#merit_profit .merit_profit_triangle .left,
#merit_profit .merit_profit_triangle .right{
  width: 50%;
  overflow: hidden;
  position: absolute;
  height: 120px;
}

#merit_profit .merit_profit_triangle .left{
  left: 0;
}
#merit_profit .merit_profit_triangle .right{
  right: 0;
}

#merit_profit .merit_profit_triangle .left::after,
#merit_profit .merit_profit_triangle .right::after{
  content: '';
  display: block;
  right: 0;
  top: -80px;
  width: calc(100% + 20px);
  position: absolute;
  height: 120px;
  background: #fff;
  margin: 0 auto;
  text-align: center;
  box-shadow: 0px 4px 20px rgb(0 0 0 / 8%);
}

#merit_profit .merit_profit_triangle .left::after{
  left: 0;
  transform: skew(0deg,5deg);
}
#merit_profit .merit_profit_triangle .right::after{
  right: 0;
  transform: skew(0deg,-5deg);
}




#merit_smile{
  background: #FFFFFF;
  box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.04);
}
#merit_smile .section_inner {
  padding-top: 160px;
}
.merit_title{
  display: flex;
  font-size: 42px;
  justify-content: center;
  margin-bottom: 80px;
}
.merit_title img{
  margin-right: 16px;
  width: 260px;
}
.merit_block{
  display: flex;
  margin-bottom: 116px;
  align-items: center;
  justify-content: center;
}

.merit_block:nth-child(2n){
  flex-direction: row-reverse;
  margin-bottom: 0;
}

.merit_block .merit_content{
  margin-right: 100px;
}

.merit_block:nth-child(2n) .merit_content{
  margin-right: 0;
  margin-left: 100px;
}

.merit_description{
  width: 600px;
  line-height: 30px;
}

.merit_illust{
  width: 558px;
}

.merit_illust img{
  width: 100%;
  height: auto;
}

.merit_headline{
  margin-bottom: 45px;
  position: relative;
}

.merit_headline_number{
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
  font-size: 74px;
  line-height: 90px;
  color: #E94E2E;
  margin-right: 0px;
  z-index: 2;
  letter-spacing: -1px;
  position: relative;
}

.merit_headline_text{
  font-size: 20px;
  letter-spacing: 1px;
  z-index: 2;
  line-height: 36px;
  position: relative;
}

.merit_headline::before{
  content: '';
  display: block;
  background:  #FCE62D;
  height: 36px;
  position: absolute;
  border-radius: 0  20px 20px 0;
  right: -20px;
  left: -100%;
  bottom: 10px;
}

.merit_block:nth-child(2n) .merit_headline::before{
  border-radius: 20px 0 0 20px;
  left: -20px;
  right: -100%;
}

.merit_copy{
  font-size: 40px;
  letter-spacing: -1%;
  margin-bottom: 30px;
  line-height: 58px;
  font-weight: bold;
}
.merit_description{
  font-size: 15px;
  line-height: 30px;
}


/* タブレット */
@media screen and (max-width: 1024px) {
  .merit_title img{
    width: 220px;
  }
  .merit_title {
    font-size: 36px;
    margin-bottom: 100px;
  }
  .merit_block{
    margin-bottom: 70px;
  }
  .merit_block,.merit_block:nth-child(2n){
    flex-direction: column-reverse;
  }
  .merit_block .merit_content,.merit_block:nth-child(2n) .merit_content{
    margin: 0;
  }
  .merit_illust {
    width: 80%;
    margin-bottom: 20px;
  }
  
}


/* スマホ */
@media screen and (max-width: 720px) {
  #merit_profit .merit_profit_triangle .left::after,
  #merit_profit .merit_profit_triangle .right::after{
    top: -100px;
  }
  
  #merit_profit::after{
    height: 25px;
  }
  .merit_title img {
    width: 200px;
    margin-right: 5px;
  }
  
  .merit_block .merit_content{
    width: 100%;
  }
  
  .merit_block{
    margin-bottom: 70px;
    position: relative;
  }
  
  .merit_headline_number {
    font-size: 40px;
    z-index: 3;
  }
  
  
  .merit_copy {
    font-size: 23px;
    letter-spacing: -1px;
    margin-bottom: 10px;
    line-height: 38px;
    text-align: center;
  }
  .merit_description {
    font-size: 13px;
    line-height: 22px;
    width: 100%;
  }
  .merit_illust {
    width: 100%;
    margin-bottom: 10px;
    margin-top: 60px;
  }
  
  .merit_headline {
    top: -30px;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 30px);
    -webkit-transform: translateX(-50%, 30px);
    -ms-transform: translateX(-50%, 30px);
    text-align: center;
    white-space: nowrap;
  }
  .merit_headline.fade_effect.scroll_effect {
    opacity: 1 !important;
    transform: translate(-50%, 0) !important;
  }
  
  .merit_headline_text {
    font-size: 15px;
    letter-spacing: 0;
    line-height: 28px;
  }
  .merit_block:nth-child(2n) .merit_headline_text {
    padding-left: 70px;
    margin-left: -70px;
  }
  
  .merit_headline::before {
    height: 28px;
    right: -20px;
    bottom: 22px;
  }
  .merit_block:nth-child(2n) .merit_headline::before{
    height: 28px;
    left: -20px;
  }
  
  .merit_title{
    flex-wrap: wrap;
    font-size: 27px;
    line-height: 50px;
    justify-content: center;
    margin-bottom: 60px;
  }
  
  
}





/*----------スタートキャンペーン-------------*/

#campaign{
  background: #F9FCF9;
  background-image: radial-gradient(#b8e6cf 4%, transparent 4%);
  background-size: 30px 30px;
}

#campaign .campaign_text_1{
  font-size: 22px;
  line-height: 32px;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 40px;
  margin-top: 30px;
}

#campaign .campaign_text_2{
  font-weight: bold;
  font-size: 42px;
  line-height: 68px;
  text-align: center;
  position: relative;
  width: 940px;
  margin: 0 auto 100px;
}

#campaign .campaign_text_2::before,
#campaign .campaign_text_2::after{
  content:'';
  background: url(/images/welcome/campaign_deco.png);
  width: 72px;
  height:66%;
  background-size: cover;
  position: absolute;
  bottom: 12px;
}
#campaign .campaign_text_2::before{
  left: -12px;
}
#campaign .campaign_text_2::after{
  right: -12px;
  transform: scale(-1, 1)
}


#campaign .campaign_text_2 .text_green{
  color: #1DC374;
}


.campaign_content{
  max-width: 980px;
  margin: 0 auto;
  margin-bottom: 10px;
  border-radius: 16px;
  background: linear-gradient(#1DC374 50%, #E5F4ED 50%);
  padding: 90px 10px 50px;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}

.campaign_content img.sp{
  display: none;
}

#price .price_campaign .campaign_content{
  padding-top: 60px;
  background: linear-gradient(#1DC374 60%, #E5F4ED 60%);
}
#price .section_inner .btn_round_red {
  max-width: 400px;
  margin: 0 auto;
}

.campaign_baloon{
  height: 115px;
  position: absolute;
  left: 0;
  right: 0;
  top: -50px;
  margin: auto;
}

.campaign_content_text{
  position: relative;
  width: 620px;
  margin-bottom: 34px;
}

.campaign_copy{
  width: 100%;
}

.campaign_copy_baloon{
  width: 150px;
  position: absolute;
  right: -90px;
  top: -20px;
}

#price .price_campaign .campaign_copy_baloon{
  right: -40px;
  top: 70px;
}
#price .price_campaign .campaign_copy_baloon:lang(en){
  right: -90px;
  top: 50px;
}

.campaign_table{
  width: 760px;
  margin-bottom: 16px;
}

.campaign_content .btn_round{
  display: inline-block;
  padding: 0 46px;
}

.campaign_memo{
  font-size: 11px;
  line-height: 18px;
  max-width: 980px;
  margin: 0 auto;
}




/* タブレット */
@media screen and (max-width: 1024px) {
  .campaign_content_text{
    width: 80%;
    
  }
  .campaign_baloon {
    
  }
  .campaign_content {
    padding: 70px 10px 51px;
  }
  #price .price_campaign .campaign_content{
    padding-top: 35px;
  }
  #campaign .campaign_text_1{
    font-size: 22px;
    letter-spacing: 0;
    margin-bottom: 30px;
  }
  #campaign .campaign_text_2{
    font-size: 33px;
    line-height: 50px;
    margin-bottom: 80px;
    width: 700px;
    max-width: 100%;
  }
  #campaign .campaign_text_2::before, #campaign .campaign_text_2::after {
    width: 52px;
    height: 52px;
    bottom: 9px;
  }
  
  .campaign_memo {
    font-size: 10px;
    line-height: 15px;
  }
}
@media screen and (max-width: 980px) {
  .campaign_copy_baloon:lang(en) {
    width: 150px;
    position: absolute;
    right: -127px;
    top: -35px;
  }
  
  
  
}


/* スマホ */

@media screen and (max-width: 720px) {
  .campaign_content_text {
    width: 90%;
  }
  .campaign_baloon {
    width: 85%;
    height: auto;
    min-width: 266px;
  }
  .campaign_content{
    padding: 120px 10px 30px 10px;
  }
  #price .price_campaign .campaign_content {
    padding: 20px 10px 30px 10px;
  }
  
  #campaign .campaign_text_1 {
    font-size: 14px;
    margin-bottom: 10px;
    margin-top: 0px;
  }
  #campaign .campaign_text_2 {
    font-size: 20px;
    line-height: 31px;
    margin-bottom: 60px;
    width: 260px;
    margin: 0 auto 60px;
  }
  #campaign .campaign_text_2::before, #campaign .campaign_text_2::after {
    width: 42px;
    height: 52px;
    bottom: 0px;
  }
  #campaign .campaign_text_2::before{
    left: -30px;
    transform: rotate(10deg);
  }
  #campaign .campaign_text_2::after{
    right: -30px;
    transform: scale(-1, 1) rotate(10deg);
  }
  
  
  .campaign_content img.pc{
    display: none;
  }
  .campaign_content img.sp{
    display: inherit;
  }
  
  .campaign_copy_baloon {
    width: 120px;
    right: -26px;
    top: 110px;
  }
  .campaign_copy_baloon:lang(en){
    width: 120px;
    right: -45px;
    top: 170px;
  }
  #price .price_campaign .campaign_copy_baloon {
    right: -17px;
    top: 76px;
  }
  #price .price_campaign .campaign_copy_baloon:lang(en) {
    right: -42px;
    top: 180px;
  }
  .campaign_content_text {
    margin-bottom: 14px;
  }
  .campaign_content .btn_round {
    padding: 0px 35px 0 19px;
  }
}

@media screen and (max-width: 330px) {
  .campaign_copy_baloon {
    width: 100px;
    right: -16px;
    top: 89px;
  }
  .campaign_copy_baloon:lang(en) {
    width: 110px;
    right: -45px;
    top: 133px;
  }
  #price .price_campaign .campaign_copy_baloon {
    right: -17px;
    top: 60px;
  }
  #price .price_campaign .campaign_copy_baloon:lang(en) {
    right: -39px;
    top: 140px;
  }
  .campaign_content .btn_round {
    padding: 0px 30px 0 14px;
    font-size: 12px;
  }
  
}

/*----------タブ-------------*/
.tab_block{
  border-radius: 16px;
  overflow: hidden;
  max-width: 1200px;
  margin: 0 auto;
}

.tab_block input.tab_input{
  display: none;
}

.tab_block .tab_siwtch{
  background: #FFFBD8;
  color: #D4CFA2;
  font-weight: bold;
  font-size: 22px;
  line-height: 80px;
  height: 80px;
  width: 50%;
  cursor: pointer;
  text-align: center;
  margin: 0 -1.4px;
  display: inline-block;
  transition: .1s;
}

.tab_block .tab_input:checked  + .tab_siwtch{
  background: #FCE62D;
  color: #0E0900;
}

.tab_content_wrap{
  background: #FCE62D;
  padding: 50px 40px 50px;
}

.tab_content{
  display: none;
}

#function .function_main_list,
#implement .implement_flow_list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 auto;
}

#function .function_main_listitem,
#implement .implement_flow_listitem{
  width: 250px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
}

#function .function_main_listitem img,
#implement .implement_flow_listitem img{
  width: 140px;
  margin: 0 auto;
}

#function .function_main_listitem .function_main_description,
#implement .implement_flow_listitem .implement_flow_description{
  font-size: 13px;
  line-height: 23px;
}

#function .function_main_listitem .function_main_title,
#implement .implement_flow_listitem .implement_flow_title{
  font-size: 18px;
  line-height: 26px;
  text-align: center;
  font-weight: bold;
}


/* タブレット */
@media screen and (max-width: 1024px) {
  .tab_block{
    width: 100%;
  }
  #function .function_main_list, #implement .implement_flow_list{
    justify-content: center;
  }
  
}

/* スマホ */
@media screen and (max-width: 720px) {
  .tab_content_wrap {
    
    padding: 50px 20px 50px;
  }
  .tab_block .tab_siwtch{
    font-size: 14px;
    line-height: 60px;
    height: 60px;
  }
  .tab_block .tab_siwtch:lang(en) {
    line-height: 20px;
    height: auto;
    padding: 15px;
  }
  .tab_content_wrap {
    padding: 25px 20px 30px;
  }
  #function .function_main_listitem .function_main_description, #implement .implement_flow_listitem .implement_flow_description {
    font-size: 12px;
    line-height: 18px;
  }
  #function .function_main_listitem img, #implement .implement_flow_listitem img {
    width: 110px;
  }
  #function .function_main_listitem .function_main_title, #implement .implement_flow_listitem .implement_flow_title {
    font-size: 15px;
    line-height: 26px;
    text-align: center;
    font-weight: bold;
  }
  #function .function_main_listitem, #implement .implement_flow_listitem{
    width: 230px;
    max-width: 100%;
    
  }
}







/*----------機能-------------*/
#function{
  background: #F2F2F2;
}

#function .tab_block{
  margin-bottom: 80px;
}

#tab_siwtch_main:checked  ~ .tab_content_wrap .tab_content_main{
  display: block;
}

#tab_siwtch_other:checked  ~ .tab_content_wrap .tab_content_other{
  display: block;
}

#function .function_main_list{
  justify-content: center;
}

#function .function_main_listitem{
  margin-bottom: 20px;
  margin-right: 10px;
  margin-left: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#function .function_main_listitem.brank{
  background: none;
  box-shadow: none;
  height: 0 !important;
  margin-bottom: 0 !important;
}

#function .function_main_listitem .function_main_top{
  padding: 20px 20px 25px;
}

#function .function_main_listitem .function_main_title{
  margin-bottom: 13px;
}

#function .function_main_listitem .function_main_plan{
  padding: 20px 0;
  border-top: 1px dotted #E5E5E5;
}

#function .function_main_listitem .function_main_plan{
  display: flex;
  justify-content: center;
}

#function .function_main_listitem .function_main_plan_light,
#function .function_main_listitem .function_main_plan_standard{
  border-radius: 20px;
  color: #fff;
  width: 90px;
  text-align: center;
  height: 21px;
  line-height: 21px;
  font-weight: bold;
  font-size: 10px;
}

#function .function_main_listitem .function_main_plan_light{
  background: #F3836B;
  margin-right: 10px;
}

#function .function_main_listitem .function_main_plan_standard{
  background: #E94E2E;
}

#function .function_other{
  background: #FFFFFF;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  display: flex;
  overflow: hidden;
  margin-bottom: 20px;
}

#function .function_other .function_other_list_wrap{
  width: calc(100% / 3);
  border-right: 1px solid #E5E5E5;
}
#function .function_other .function_other_list_wrap:last-child{
  border-right: none;
}

#function .function_other .function_other_listitem{
  font-size: 13px;
  text-align: center;
  line-height: 48px;
  height: 48px;
  border-bottom: 1px dotted #E5E5E5;
}
#function .function_other .function_other_listitem.headline{
  height: auto;
  font-weight: bold;
  font-size: 16px;
  line-height: 16px;
  background: #EFEEEE;
  padding: 16px 0;
}

#function .function_other .function_other_listitem:last-child{
  border-bottom: none;
}

#function .tab_content_wrap .function_plus{
  margin-bottom: 20px;
  text-align: center;
}

#function .tab_content_wrap .function_update{
  background: #fff;
  border-radius: 16px;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
  height: 72px;
  line-height: 26px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#function .tab_content_wrap .function_update img{
  width: 38px;
  margin-right: 15px;
}

#function .tab_content_wrap .function_update .function_update_text{
  font-weight: bold;
  font-size: 18px;
  line-height: 26px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  #function .function_main_listitem{
    margin-left: 10px;
    margin-right: 10px;
  }
  #function .tab_content_wrap .function_update{
    padding: 20px 30px;
    height: auto;
    line-height: 26px;
  }
  
  #function .function_other_list_wrap:nth-child(2) .function_other_listitem:nth-child(5),
  #function .function_other_list_wrap:nth-child(3) .function_other_listitem:nth-child(5),
  #function .function_other_list_wrap:nth-child(3) .function_other_listitem:nth-child(6){
    border-bottom: 0;
  }
}

/* タブレット */
@media screen and (max-width: 980px) {
  
  #function .function_main_listitem{
    max-width: calc((100% / 3) - 20px);
  }
  #function .function_other{
    flex-direction: column;
    background: 0;
    box-shadow: none;
    overflow: visible;
  }
  #function .function_main_listitem .function_main_top {
    padding: 20px 15px 25px;
  }
  .tab_content_wrap {
    background: #FCE62D;
    padding: 50px 20px 50px;
  }
  #function .function_main_listitem .function_main_plan_light, #function .function_main_listitem .function_main_plan_standard{
    width: auto;
    padding: 0 15px;
  }
  
  #function .function_main_listitem .function_main_plan_light {
    margin-right: 5px;
  }
  #function .function_other .function_other_list_wrap{
    width: 100%;
    background: #FFFFFF;
    box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
    border-radius: 16px;
    margin-bottom: 20px;
    overflow: hidden;
  }
  #function .function_other .function_other_list_wrap:last-child{
    margin-bottom: 0;
  }
  
  #function .function_other .function_other_list{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
  }
  #function .function_other .function_other_listitem{
    width: 50%;
    flex-shrink: 0;
    border-right: 1px solid #E5E5E5;
    height: 50px;
    line-height: 50px;
  }
  #function .function_other .function_other_listitem:nth-child(2n){
    border-left: none;
  }
  #function .function_other .function_other_listitem.blank{
    display: none;
  }
  #function .function_other .function_other_listitem.headline{
    height: auto;
    line-height: 1;
    flex-shrink: 0;
    width: 100%;
    border-left: 0;
  }
}



/* スマホ */
@media screen and (max-width: 720px) {
  #function .function_main_listitem .function_main_title {
    margin-bottom: 8px;
    margin-top: -10px;
    font-size:13px;
  }
  
  #function .function_main_list{
    justify-content: space-between;
  }
  #function .function_main_listitem {
    margin-left: 0;
    margin-right: 0;
    max-width: calc(50% - 5px);
    width: calc(50% - 5px);
    margin-bottom: 10px;
  }
  #function .function_main_listitem:nth-child(2n) {
    margin-left: 10px;
  }
  
  #function .tab_content_wrap .function_plus {
    margin-bottom: 10px;
  }
  #function .tab_content_wrap .function_update {
    padding: 15px 20px;
  }
  #function .tab_content_wrap .function_update img {
    width: 26px;
    margin-right: 13px;
  }
  #function .tab_content_wrap .function_update .function_update_text {
    font-size: 13px;
    line-height: 17px;
  }
  #function .function_main_listitem .function_main_top {
    padding: 0px 10px 13px;
  }
  #function .function_main_listitem .function_main_plan {
    padding: 10px 0;
    border-top: 1px dotted #E5E5E5;
    flex-direction: column;
    height: 68px;
  }
  #function .function_main_listitem .function_main_plan_light,
  #function .function_main_listitem .function_main_plan_standard{
    width: 100px;
    max-width: 100%;
    margin: 0 auto;
  }
  #function .function_main_listitem .function_main_plan_light{
    margin-bottom: 5px;
  }
  
  #function .function_other .function_other_list {
    flex-direction: column;
  }
  #function .function_other .function_other_listitem {
    width: 100%;
    border-right: none;
    height: 35px;
    line-height: 35px;
    font-size: 12px;
  }
  #function .function_other .function_other_listitem:last-child{
    border-bottom: none;
  }
  #function .function_other_list_wrap:nth-child(3) .function_other_listitem:nth-child(5){
    border-bottom: 1px dotted #E5E5E5;
  }
  
  #function .function_other .function_other_listitem.headline {
    height: auto;
    line-height: 0.5;
    font-size: 12px;
  }
  #function .function_other .function_other_list_wrap {
    margin-bottom: 15px;
  }
  #function .function_other{
    margin-bottom: 0;
  }
  #function .tab_content_wrap{
    padding: 30px 15px 30px;
  }
}


/*----連携機能----*/

#function .cooperation{
  margin-bottom: 80px;
}

#function .cooperation_list{
  margin: 0 auto;
  max-width: 1200px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
}

#function .cooperation_listitem a{
  border-bottom: 1px dotted #E5E5E5;
  padding: 30px 160px 30px 50px;
  display: flex;
  position: relative;
  align-items: center;
  color: #0E0900;
}

#function .cooperation_listitem:last-child a{
  border-bottom: none;
}

#function .cooperation_listitem .cooperation_logo{
  text-align: center;
  width: 110px;
  max-width: 100px;
  margin-right: 40px;
  flex-shrink: 0;
}

#function .cooperation_listitem .cooperation_logo img{
  max-height: 35px;
  max-width: 100%;
  margin: 0 auto;
}

#function .cooperation_listitem .cooperation_text_description{
  font-size: 15px;
  line-height: 22px;
}

#function .cooperation_listitem .cooperation_text_memo{
  font-size: 11px;
  line-height: 16px;
  color: #454440;
  margin: 5px 0 0 0;
}

#function .cooperation_listitem .cooperation_text_link{
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translate(-50%, -50%);
  font-weight: bold;
  font-size: 16px;
  line-height: 30px;
}

/*----------提携サービス-------------*/

#function .alliance {
  max-width: 980px;
  margin: 0 auto;
}

#function .alliance .section_subtitle{
  margin-bottom: 40px;
}

#function .alliance .alliance_list{
  display: flex;
  flex-wrap: wrap;
}
#function .alliance .alliance_list .alliance_listitem {
  max-width:360px;
  margin: 0 auto;
  text-align: center;
}
#function .alliance .alliance_list .alliance_listitem a {
  color: #0E0900;
}

#function .alliance .alliance_list .alliance_listitem .alliance_logo{
  margin-bottom:24px;
}

#function .alliance .alliance_list .alliance_listitem .alliance_logo img {
  width: auto;
  max-height: 100px;
  margin: 0 auto;
}

#function .alliance .alliance_list .alliance_listitem .alliance_text{}
#function .alliance .alliance_list .alliance_listitem .alliance_text .alliance_text_title{
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 8px;
}

#function .alliance .alliance_list .alliance_listitem .alliance_text .alliance_text_description{
  font-size: 13px;
  line-height: 22px;
  text-align: left;
  margin-bottom: 16px;
}

#function .alliance .alliance_list .alliance_listitem .alliance_text .alliance_text_link{
  font-weight: bold;
  font-size: 16px;
  line-height: 30px;
}

#function .alliance .alliance_list .alliance_listitem .alliance_text .alliance_text_link::before{
  content: '';
  background:  url("/images/welcome/icon_link.png");
  width: 14px;
  height: 15.5px;
  background-size: 100%;
  display: inline-block;
  vertical-align: middle;
  margin-right: 5px;
  margin-top: -3px;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  #function .cooperation_list{
  }
  #function .cooperation_listitem a{
    padding: 30px ;
  }
  
  
  
  #function .cooperation_listitem .cooperation_text_description{
    margin-bottom: 5px;
  }
  #function .cooperation_listitem .cooperation_logo{
    flex-shrink: 0;
    height: auto;
    width: 120px;
    margin-right: 30px;
  }
  #function .cooperation_listitem .cooperation_logo img{
    height: auto;
  }
  
  #function .cooperation_listitem .cooperation_text_link{
    right: 0;
    left: 0;
    top: auto;
    bottom: 20px;
    transform: none;
    text-align: center;
  }
  #function .cooperation_listitem .cooperation_text_link{
    display: none;
  }
  
  #function .alliance .alliance_list .alliance_listitem:first-child {
    margin-bottom: 32px;
  }
}

/* スマホ */
@media screen and (max-width: 720px) {
  #function .cooperation_listitem a{
    flex-direction: column;
    padding: 20px;
    width: 100%;
  }
  #function .cooperation_listitem .cooperation_text_description {
    font-size: 12px;
    line-height: 18px;
    margin-bottom: 3px;
  }
  #function .cooperation_listitem .cooperation_text_memo{
    font-size: 10px;
    line-height: 16px;
  }
  #function .cooperation_listitem .cooperation_logo{
    margin-right: 0;
    margin-bottom: 16px;
    flex-shrink: 0;
    width: auto;
    height: auto;
  }
  #function .cooperation_listitem .cooperation_logo img{
    max-height: 25px;
  }
  #function .cooperation_listitem .cooperation_text_link{
    display: none;
  }
  #function .cooperation_listitem .cooperation_text_link {
    bottom: 13px;
    font-size: 14px;
  }
  
  
  
  #function .alliance .alliance_list .alliance_listitem .alliance_logo img{
    max-height: 70px;
  }
  
  #function .alliance .alliance_list .alliance_listitem .alliance_text .alliance_text_description{
    font-size: 12px;
    line-height: 18px;
    margin-bottom: 4px;
    text-align: left;
  }
  
  #function .alliance .alliance_list .alliance_listitem .alliance_text .alliance_text_link{
    display: none;
  }
}




/*----------私たちの想い-------------*/
#message{
  background: url("/images/welcome/message_bg.png");
  background-size: cover;
  background-attachment: fixed;
}

#message .section_inner{
  padding: 150px 0 160px;
}

#message .section_title{
  margin-bottom: 100px;
  color: #fff;
}

#message .message_copy{
  font-weight: bold;
  font-size: 42px;
  line-height: 61px;
  text-align: center;
  letter-spacing: 0.02em;
  color: #FFFFFF;
  margin-bottom: 50px;
}

#message .message_text{
  line-height: 38px;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 90px;
  color: #fff;
}

#message .message_logo{
  width: 194px;
  margin: 0 auto;
}



/* スマホ */
@media screen and (max-width: 720px) {
  #message .message_copy {
    font-size: 18px;
    line-height: 31px;
    letter-spacing: 0;
    margin-bottom: 20px;
  }
  #message .section_inner {
    padding: 80px 20px 80px;
  }
  #message .message_text {
    line-height: 25px;
    font-size: 12px;
    letter-spacing: 0;
    margin-bottom: 40px;
    color: #fff;
  }
  #message .section_title {
    margin-bottom: 40px;
  }
  #message .message_logo {
    width: 150px;
  }
}





/*----------料金プラン-------------*/
#price .price_campaign{
  margin-bottom: 98px;
}

#price .price_tables{
  display: flex;
  justify-content: space-between;
  max-width: 980px;
  margin: 0 auto 10px;
}

#price .price_table{
  max-width: 470px;
  width: calc(50% - 10px);
  border-radius: 16px;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
}

#price .price_table .price_table_top{
  text-align: center;
  padding: 30px;
  color: #fff;
  border-radius: 16px 16px 0 0;
  position: relative;
}

#price .price_table_light .price_table_top{
  background: #F78871;
}
#price .price_table_standard .price_table_top{
  background: #E94E2E;
}


#price .price_table .price_table_title{
  font-size: 24px;
  font-weight: bold;
  line-height: 35px;
}

#price .price_table .price_table_price{
  font-weight: bold;
  font-size: 52px;
  margin-bottom: 5px;
  font-family: 'Montserrat', sans-serif;
}

#price .price_table .price_table_price span{
  font-size: 24px;
}

#price .price_table .price_table_monthly{
  font-weight: bold;
  font-size: 13px;
  line-height: 19px;
}

#price .price_table_badge{
  position: absolute;
  width: 140px;
  top:-30px;
  right: -30px;
}

#price .price_table .price_table_description{
  font-size: 15px;
  line-height: 26px;
  text-align: center;
  padding: 20px 0;
  border-bottom: 3px solid #F2F2F2;
}

#price .price_table .price_table_function_listitem{
  border-bottom: 1px dotted #E5E5E5;
  padding: 16px 0;
  font-size: 14px;
  text-align: center;
  color: #0E0900;
}
#price .price_table .price_table_function_listitem.unuseable{
  color: #D6D6D6;
}

#price .price_table .price_table_bottom{
  padding: 30px 40px 44px;
  border-radius: 0 0 16px 16px;
}

#price .price_table_light .btn_deco_text{
  color: #F78871;
}
#price .price_table_standard .btn_deco_text{
  color: #E94E2E;;
}

#price .price_table_memo{
  max-width: 980px;
  margin: 0 auto;
  font-size: 11px;
}


/* タブレット */
@media screen and (max-width: 1024px) {
  #price .price_table_badge{
    top: -40px;
    right: -30px;
  }
  #price .price_table .price_table_bottom{
    padding: 20px 20px 25px;
  }
}
@media screen and (max-width: 1024px) and (min-width: 720px){
  #price .price_table .price_table_bottom .btn_round{
    font-size: 15px;
  }
  #price .price_table .price_table_bottom .btn_deco_text{
    font-size: 14px;
  }
}




/* スマホ */
@media screen and (max-width: 720px) {
  #price .price_tables{
    flex-direction: column;
  }
  #price .price_table{
    width: 100%;
  }
  #price .price_table_light {
    margin-bottom: 40px;
  }
  #price .price_table .price_table_description {
    font-size: 13px;
    line-height: 19px;
    padding: 13px 0;
  }
  #price .price_table .price_table_function_listitem {
    padding: 10px 0;
    font-size: 13px;
  }
  #price .price_table .price_table_function_listitem.unuseable{
    display: none;
  }
  
  #price .price_table .price_table_top {
    padding: 18px;
  }
  #price .price_table .price_table_title {
    font-size: 16px;
    line-height: 20px;
  }
  #price .price_table .price_table_price {
    font-weight: bold;
    font-size: 40px;
    margin-bottom: 0px;
  }
  #price .price_table_badge {
    top: -27px;
    right: -19px;
    width: 85px;
  }
  #price .price_table .price_table_bottom {
    padding: 20px 10px 20px;
  }
  #price .price_table_badge .text_small:lang(en) {
    font-size: 10px;
    letter-spacing: 0px;
    margin-top: 22px;
  }
  #price .price_table_badge .text_large:lang(en) {
    font-size: 13px;
    line-height: 15px;
  }
}



/*----------導入をお考えの方へ-------------*/
#implement{
  background: #F2F2F2;
}

#implement .tab_block{
  /*  margin-bottom: 140px;*/
}

#tab_siwtch_admin:checked  ~ .tab_content_wrap .tab_content_admin{
  display: block;
}

#tab_siwtch_meal:checked  ~ .tab_content_wrap .tab_content_meal{
  display: block;
}

#implement .implement_description{
  font-weight: bold;
  font-size: 18px;
  line-height: 34px;
  text-align: center;
  margin-bottom: 45px;
}

#implement .implement_flow_list{
  justify-content: center;
  margin-bottom: 50px;
}

#implement .implement_flow_listitem{
  margin-right: 40px;
  position: relative;
  max-width: 21%;
  padding: 30px 25px 30px;
  min-height: 340px;
}

#implement .implement_flow_listitem::after{
  content: '';
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 18px 0 18px 16px;
  border-color: transparent transparent transparent #0E0900;
  border-radius: 2px;
  top: 50%;
  transform: translate(-50%, -50%);
  right: -38px;
}

#implement .implement_flow_listitem:last-child{
  margin-right: 0;
}
#implement .implement_flow_listitem:last-child::after{
  display: none;
}


#implement .implement_flow_listitem .implement_flow_number{
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
  font-size: 14px;
  line-height: 17px;
  text-align: center;
  margin-bottom: 10px;
}
#implement .implement_flow_listitem .implement_flow_number span{
  font-size: 26px;
  margin-left: 3px;
}


#implement .implement_flow_btnarea .btn_round{
  width: 400px;
  margin:  0 auto;
}
#implement .implement_flow_btnarea .btn_deco_text{
  color: #E94E2E;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  #implement .implement_flow_list{
    flex-direction: column;
  }
  #implement .implement_flow_listitem{
    max-width: 100%;
    min-height: inherit
  }
  #implement .implement_flow_listitem::after{
    top: auto;
    transform: rotate(90deg);
    right: 0;
    left: 0;
    margin: 0 auto;
    bottom: -44px;
  }
  
}
@media screen and (max-width: 1024px) and (min-width: 720px){
  #implement .implement_flow_listitem {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto 50px;
    padding: 35px 150px 30px 100px;
  }
  #implement .implement_flow_listitem:last-child {
    margin: 0 auto;
  }
  
  #implement .implement_flow_listitem .implement_flow_number{
    position: absolute;
    left: 52px;
    top: 50%;
    transform: translate(-50%, -50%);
  }
  #implement .implement_flow_listitem .implement_flow_number span{
    margin-left: 0;
    margin-top: 5px;
    display: block;
  }
  #implement .implement_flow_listitem .implement_flow_illust{
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translate(0, -50%);
  }
  #implement .implement_flow_listitem .implement_flow_title{
    text-align: left;
  }
  #implement .implement_flow_listitem .implement_flow_description{
  }
}

/* スマホ */
@media screen and (max-width: 720px) {
  #implement .implement_flow_btnarea .btn_round{
    width: 100%;
  }
  #implement .implement_flow_listitem,
  #implement .implement_flow_listitem:last-child{
    padding: 20px 20px 20px;
    height: auto;
    margin: 0 auto 30px;
  }
  #implement .implement_flow_listitem::after{
    border-width: 12px 0 11px 11px;
    bottom: -28px;
  }
  #implement .implement_flow_listitem .implement_flow_number {
    font-size: 12px;
    margin-bottom: 0px;
  }
  #implement .implement_flow_listitem .implement_flow_number span {
    font-size: 22px;
    margin-left: 2px;
  }
  #implement .implement_flow_listitem img{
    width: 110px;
    margin-top: -11px;
    margin-bottom: -5px;
  }
  #implement .implement_description {
    font-size: 12px;
    line-height: 19px;
    text-align: left;
    margin-bottom: 20px;
  }
  #implement .implement_flow_list{
    margin-bottom: 0;
  }
  /*
  #implement .tab_block {
    margin-bottom: 70px;
  }
  */
}

/*---お客様からの声-----*/
.feedback{
  display: none;
}

.feedback_listitem{
  background: #fff;
  border-radius: 16px;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
  width: 980px;
  height: 380px;
  display: flex;
  overflow: hidden;
  margin: 0 auto;
}

.feedback_listitem .feedback_content{
  padding: 25px 40px 0px;
  width: 100%;
  position: relative;
}

.feedback_listitem .feedback_content::before{
  content: '';
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0px 0 100px 160px;
  border-color: transparent transparent transparent #FCE62D;
  top: 0;
  left: 0;
}

.feedback_listitem .feedback_info{
  display: flex;
  align-items:baseline;
  margin-bottom: 20px;
}

.feedback_listitem .feedback_number{
  font-family: 'Montserrat', sans-serif;
  font-style: normal;
  font-weight: bold;
  font-size: 32px;
  line-height: 39px;
  margin-right: 20px;
  z-index: 2;
}

.feedback_listitem .feedback_number span{
  font-size: 48px;
  line-height: 59px;
  margin-left: 10px;
}

.feedback_listitem .feedback_shopname{
  font-weight: bold;
  font-size: 15px;
  line-height: 22px;
  letter-spacing: 0.05em;
  z-index: 2;
}

.feedback_listitem .feedback_category{
  font-size: 12px;
  line-height: 26px;
  background: #E5E5E5;
  border-radius: 40px;
  margin: 0 0 0 auto;
  display: block;
  height: 26px;
  padding: 0 20px;
  z-index: 2;
}

.feedback_listitem .feedback_copy{
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 26px;
  line-height: 38px;
  letter-spacing: 0.05em;
  z-index: 2;
}

.feedback_listitem .feedback_text{
  font-size: 14px;
  line-height: 28px;
  color: #454440;
  z-index: 2;
}

.feedback_listitem .feedback_img{
  width: 350px;
  height: 100%;
  flex-shrink: 0;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .feedback_listitem{
    flex-direction: column-reverse;
    width: 480px;height: auto;
  }
  .feedback_listitem .feedback_img{
    width: 100%;
    height: 300px;
    overflow: hidden;
  }
  .feedback_listitem .feedback_img img{
    object-fit: cover;
  }
  .feedback_listitem .feedback_content{
    padding: 20px 30px 25px;
  }
  
  .feedback_listitem .feedback_copy {
    margin-bottom: 9px;
    font-size: 26px;
    line-height: 35px;
    letter-spacing: 0.05em;
  }
  .feedback_listitem .feedback_text {
    line-height: 28px;
  }
  
}


/* スマホ */
@media screen and (max-width: 720px) {
  .feedback_listitem {
    width: 100%;
  }
  .feedback_listitem .feedback_text {
    line-height: 22px;
    font-size: 12px;
  }
  .feedback_listitem .feedback_info {
    margin-bottom: 15px;
    flex-wrap: wrap;
  }
  .feedback_listitem .feedback_copy {
    margin-bottom: 6px;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0;
  }
  .feedback_listitem .feedback_number {
    font-size: 22px;
    line-height: 39px;
    margin-right: 14px;
    width: 100%;
  }
  .feedback_listitem .feedback_number span {
    font-size: 30px;
    line-height: 38px;
    margin-left: 3px;
  }
  .feedback_listitem .feedback_shopname{
    margin: 0;
  }
  .feedback_listitem .feedback_categori{
    margin: 0 0 0 10px;
  }
  
  .feedback_listitem .feedback_content {
    padding: 15px 20px 20px;
  }
  .feedback_listitem .feedback_img {
    height: 200px;
  }
  .feedback_listitem .feedback_content::before{
    border-width: 0px 0 66px 110px;
  }
  
}


/*----------インタビューバナー-------------*/
.interview{
  margin-top: 70px;
}
.interview_banner{
  max-width: 980px;
  width: 100%;
  border-radius: 16px;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  display: block;
  margin: 0 auto;
}

.interview_banner img{
  width: 100%;
}
.interview_banner_sp{
  display: none;
}

@media screen and (max-width: 1024px) {
  .interview{
    margin-top: 50px;
  }
}
@media screen and (max-width: 720px) {
  .interview_banner_sp{
    display: block;
  }
  .interview_banner_pc{
    display: none;
  }
  .interview{
    margin-top: 30px;
  }
}





/*----------よくあるご質問-------------*/

#faq .faq_input{
  display: none;
}

#faq .faq_list{
  max-width: 980px;
  margin: 0 auto 50px;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
  border-radius: 16px;
  overflow: hidden;
}

#faq .faq_listitem{
  border-top: 1px solid #E5E5E5;
}

#faq .faq_listitem:hover .faq_switch{
  opacity: 0.7;
  transition: .3s;
}


#faq .faq_listitem:first-child{
  border-top: none;
}

#faq .faq_switch{
  cursor: pointer;
  background: #fff;
  display: flex;
  padding: 30px 60px 30px 30px;
  font-weight: bold;
  font-size: 16px;
  line-height: 23px;
  color: #0E0900;
  position: relative;
}

#faq .faq_switch span{
  display: block;
  
}

#faq .faq_switch::before{
  content: 'Q';
  font-family: 'Montserrat', sans-serif;
  font-weight: bold;
  font-size: 18px;
  line-height: 22px;
  color: #E94E2E;
  margin-right: 10px;
  flex-shrink: 0;
}

#faq .faq_content{
  height: 0;
  overflow: hidden;
  line-height: 23px;
  padding: 0px 60px;
  border-top: 0px solid #E5E5E5;
  transition: .3s;
}

#faq .faq_content a{
  color: #e94e2e;
  font-weight: bold;
  text-decoration: underline;
}

#faq .faq_input:checked ~ .faq_content{
  height: auto;
  padding: 30px 60px;
  border-top: 1px dotted #E5E5E5;
}

#faq .faq_btn{
  width: 360px;
  margin: 0 auto;
}

.toggle_icon{
  position: absolute;
  width: 14px;
  height: 14px;
  right: 30px;
  top:0;
  bottom:0;
  margin:auto;
}

.toggle_icon::before,
.toggle_icon::after{
  content: '';
  position: absolute;
  background: #AAA;
  transition:.3s cubic-bezier(.45,.01,.27,1.4); 
}

.toggle_icon::before{
  width:2px; height:100%; left:calc(50% - 2px); margin-left:1px;
}
.toggle_icon::after{
  width:100%;
  height:2px;
  top:calc(50% - 1px);
}


#faq .faq_input:checked ~ .faq_switch .toggle_icon::before{
  opacity:0;
  transform:rotate(45deg);
  text-shadow:0 0 3px #333;
}
#faq .faq_input:checked ~ .faq_switch .toggle_icon::after{
  transform:none;
  transform:rotate(180deg);
}


/* スマホ */
@media screen and (max-width: 720px) {
  #faq .faq_switch {
    padding: 16px 45px 16px 20px;
    font-size: 13px;
    line-height: 19px;
  }
  #faq .toggle_icon {
    width: 14px;
    height: 14px;
    right: 20px;
  }
  #faq .faq_switch::before {
    font-size: 15px;
    line-height: 19px;
    margin-right: 5px;
  }
  #faq .faq_content {
    padding: 0px 38px;
  }
  #faq .faq_input:checked ~ .faq_content {
    height: auto;
    padding: 16px 38px;
    border-top: 0px solid #E5E5E5;
  }
  #faq .faq_btn {
    width: 100%;
    max-width: 290px;
    margin: 0 auto;
  }
  #faq .faq_list {
    margin: 0 auto 30px;
  }
}


/*----------お問い合わせ-------------*/
#contact{
  background: #F2F2F2;
}

#contact .section_inner{
  padding-bottom: 0;
}

/* スマホ */
@media screen and (max-width: 1024px) {
  #contact .section_inner {
    padding: 60px 0px 0;
  }
}


/*----------動画-------------*/

#movie .section_inner {
  text-align: center;
  padding: 80px 16px 100px 16px;
  border-top: 1px solid #f2f2f2;
}
#movie .section_inner .movie_title {
  font-size: 28px;
  margin: 0 0 32px 0;
}
#movie .section_inner .movie_title .red {
  color: #E94E2E;
  margin: 0 4px;
}
#movie .section_inner .movie_title br {
  display: none;
}
#movie .movie_block {
  display: block;
  max-width: 80%;
  width: 630px;
  margin: 0 auto;
  padding: 0 16px;
}
#movie .movie_block img {
  width: 100%;
  height: auto;
  box-shadow: 0px 4px 20px rgb(0 0 0 / 8%);
  border-radius: 16px;
  margin: 0 0 8px 0;
}
#movie .movie_block .movie_description {
  font-size: 13px;
}

@media screen and (max-width: 1024px) {
  #movie .section_inner {
    padding-top: 40px;
    padding-bottom: 70px;
  }
  #movie .movie_block {
    max-width: 100%;
    border-radius: 8px;
  }
  #movie .section_inner .movie_title {
    font-size: 22px;
    margin: 0 0 24px 0;
  }
  #movie .section_inner .movie_title br {
    display: block;
  }
  
  #merit_profit .section_inner {
    padding-top: 30px;
  }
  #merit_smile .section_inner {
    padding-top: 80px;
  }
}

/*----------求人-------------*/
/* セクション全体のスタイル */
#recruitment {
  padding: 20px;
  background: #f2f2f2;
}

/* レイアウト設定 */
.recruitment_inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  background: #fff;
  border-radius: 12px;
  padding: 40px;
  max-width: 980px;
  margin: 40px auto;
  box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.08);
}

/* 画像部分 */
.recruitment_image {
  text-align: center;
}

.recruitment_image img {
  max-width: 300px;
  height: auto;
}

/* テキスト部分 */
.recruitment_label {
  display: inline-block;
  background: #222;
  color: #fff;
  font-size: 14px;
  padding: 4px 8px;
  border-radius: 4px;
  font-weight: bold;
}

.recruitment_title {
  font-size: 28px;
  font-weight: bold;
  margin: 8px 0 16px;
  color: #222;
}

.recruitment_desc {
  font-size: 16px;
  color: #222;
  margin-top: 8px;
  line-height: 1.6;
}

.recruitment_highlight {
  font-weight: bold;
  text-decoration: underline;
  text-decoration-thickness: 0.5em;
  text-decoration-color: rgba(255, 228, 0, 0.4);
  text-underline-offset: -0.2em;
  text-decoration-skip-ink: none;
}

/* ボタン */
.recruitment_button {
  display: inline-block;
  margin-top: 16px;
  padding: 12px 24px;
  background: #e74c3c;
  color: #fff;
  text-decoration: none;
  border-radius: 100vmax;
  font-size: 14px;
  font-weight: bold;
  transition: 0.3s;
}

.recruitment_button:hover {
  background: #c0392b;
}

/* レスポンシブ対応_タブレット */
@media screen and (max-width: 1024px) {
  #recruitment {
    padding: 20px 40px;
  }
  .recruitment_image img {
    max-width: 280px;
  }
}

/* レスポンシブ対応_スマホ */
@media screen and (max-width: 719px) {
  #recruitment {
    padding: 20px;
  }

  .recruitment_inner {
    flex-direction: column;
    padding: 20px;
    gap: 20px;
  }

  .recruitment_desc {
    font-size: 18px;
  }

  .recruitment_image {
    padding: 16px;
  }

  .recruitment_image img {
    max-width: 100%;
  }

  .recruitment_desc {
    margin-bottom: 20px;
  }

  .recruitment_desc_btn {
    padding-bottom: 20px;
    text-align: center;
  }

  .recruitment_desc_btn a {
    padding: 12px 48px;
    font-size: 18px;
  }
}

/*----------フッター-------------*/
footer{
  background: #FCE62D;
  padding: 0 40px 0 40px;
}

footer .footer_inner{
  max-width: 1200px;
  margin: 0 auto;
  padding: 90px 0 40px;
  width: 100%;
}

footer .footer_top{
  padding-bottom: 90px;
  border-bottom: 3px solid #0E0900;
}

.footer_copy{
  font-weight: bold;
  font-size: 36px;
  line-height: 46px;
  text-align: center;
  margin-bottom: 60px;
}

.footer_btn{
  width: 400px;
  margin: 0 auto;
}

.footer_btn .btn_deco_text{
  color: #E94E2E;
}

footer .footer_middle{
  padding: 30px 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 100px;
  
}

footer .footer_logo_wrap .footer_logo{
  width: 194px;
  margin-bottom: 8px;
  display: block;
}

footer .footer_logo_wrap .footer_logo_text{
  font-weight: bold;
  font-size: 11px;
  line-height: 16px;
  letter-spacing: 0.03em;
}

footer .footer_navi_list{
  display: flex;
  justify-content: flex-end;
  margin-bottom: 8px;
}
footer .footer_navi_list:last-child {
  margin-bottom: 0;
}

footer .footer_navi_listitem{
  margin-right: 2em;
}

footer .footer_navi_listitem:last-child{
  margin-right: 0;
}

footer .footer_navi_listitem a{
  font-weight: bold;
  font-size: 14px;
  line-height: 20px;
  text-align: right;
  letter-spacing: 0.03em;
  color: #0E0900;
}

footer .footer_navi_listitem.link_sns img {
  width: 24px;
  height: auto;
}

footer .footer_bottom{
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  line-height: 17px;
  letter-spacing: 0.03em;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  
  footer.footer_logo_wrap {
    margin-bottom: 35px;
  }
  footer .footer_middle{
    flex-direction: column;
    margin-bottom: 50px;
    
  }
  footer .footer_logo_wrap{
    margin-bottom: 40px;
  }
  footer .footer_logo_wrap .footer_logo {
    margin: 0 auto 8px;
  }
  
}




/* スマホ */
@media screen and (max-width: 720px) {
  footer {
    padding: 0 20px;
  }
  .footer_copy {
    font-size: 20px;
    margin-bottom: 30px;
  }
  footer .footer_top {
    padding-bottom: 40px;
  }
  .footer_btn {
    width: 100%;
  }
  footer .footer_inner {
    padding: 70px 0 20px;
  }
  
  footer .footer_logo_wrap .footer_logo {
    width: 154px;
    margin: 0 auto 4px;
  }
  footer .footer_logo_wrap .footer_logo_text {
    display: none;
  }
  footer .footer_logo_wrap {
    margin-bottom: 20px;
  }
  footer .footer_navi_list {
    flex-direction: column;
    align-items: center;
  }
  footer .footer_navi_listitem {
    margin: 0 0 10px;
  }
  footer .footer_middle {
    margin-bottom: 10px;
  }
  footer .footer_navi_listitem a {
    font-size: 12px;
  }
  
  footer .footer_bottom {
    font-size: 11px;
    line-height: 25px;
    letter-spacing: 0;
    flex-direction: column;
    align-items: center;
  }
  
  footer .footer_memo{
    text-align: center;
  }
}

@media screen and (max-width: 330px) {
  .footer_copy {
    font-size: 16px;
  }
  
}

/* 追従フローティングお問い合わせバナー */
.footer_contact_banner {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 999;
  width: 100%;
  background: #FFFFFF;
  box-shadow: 0px -2px 12px 0px rgba(0, 0, 0, 0.08);
}
.footer_contact_banner .footer_contact_banner_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 980px;
  margin: 0 auto;
  padding: 16px;
}
.footer_contact_banner .footer_contact_banner_text {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.5;
}
.footer_contact_banner .footer_contact_banner_text.pc {
  display: block;
}
.footer_contact_banner .footer_contact_banner_text.sp {
  display: none;
}
.footer_contact_banner .footer_contact_banner_btn {
  display: flex;
  justify-content: center;
  align-items: baseline;
  padding: 0 56px;
}
.footer_contact_banner .footer_contact_banner_btn .label_free {
  display: inline-block;
  color: #E94E2E;
  background: #FFFFFF;
  font-size: 14px;
  line-height: 14px;
  margin-right: 8px;
  padding: 4px 8px;
  border-radius: 4px;
}
.footer_contact_banner .footer_contact_banner_btn .btn_text {
  color: #FFFFFF;
}

@media screen and (max-width: 1024px) {
  .footer_contact_banner {
    background: #E94E2E;
  }
  .footer_contact_banner .footer_contact_banner_inner {
    flex-direction: column;
    flex-wrap: wrap;
  }
  .footer_contact_banner .footer_contact_banner_text.pc {
    display: none;
  }
  .footer_contact_banner .footer_contact_banner_text.sp {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4px;
    color: #FFFFFF;
    margin-bottom: 12px;
  }
  .footer_contact_banner .footer_contact_banner_text.sp i {
    width: 18px;
  }
  .footer_contact_banner .footer_contact_banner_btn {
    align-items: center;
    background: #FFFFFF;
  }
  .footer_contact_banner .footer_contact_banner_btn.btn_round {
    width: 100%;
    max-width: 480px;
    height: 40px;
    line-height: 40px;
  }
  .footer_contact_banner .footer_contact_banner_btn .label_free {
    font-size: 12px;
    border: 1px solid #E94E2E;
  }
  .footer_contact_banner .footer_contact_banner_btn .btn_text {
    color: #E94E2E;
    font-size: 16px;
  }  
}
