body {
    font-family: YuGothic, "Yu Gothic", "メイリオ", sans-serif;
    letter-spacing: 0.06em;
    color: #000;
    margin: 0 auto;
}

.container {
    max-width: 1000px;
    position: relative;
    margin: 0 auto;
    padding: 100px 40px;
}

a {
    color: #000;
}

p {
    font-size: 18px;
    color: #474747;
}

h2 {
    margin-bottom: 50px;
}

img {
    vertical-align: bottom;
}

/*============= flex ==============*/
.flex {
    display: flex;
    align-items: center;
}
.flex_reverse {
    flex-direction: row-reverse;
}

/*============= HEADER ==============*/
.header {
    width: 100%;
    height: 100px;
    top: 0;
    left: 0;
    position: sticky;
    top: -30px;
    z-index: 100;
    display: flex;
    align-items: center;
    background-color: rgba(255,255,255,0.8);
}
.header .header-inner {
    width: 1000px;
    position: sticky;
    top: 0;
    height: 70px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
}
.header .header-inner .header-logo {
    font-size: 44px;
    font-weight: bold;
}
.header .header-inner .header-btn .header-btn_list img {
    width: auto;
    height: 38px;
}
.header .header-inner .header-btn .header-btn_list .header-btn_item .header-btn_app {
    margin-right: 10px;
}

/*============= fv section ==============*/
.fv {
    background-image: url(../img/fv-bg.jpg);
    background-repeat: no-repeat;
    background-position: right -50% center;
    height: 630px;
    margin-bottom: 50px;
}
.fv .container {
    padding: 0px;
    position: relative;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}
.fv .container .fv-inner {
    max-width: 570px;
}
.fv .container .fv-inner p {
    margin: 50px 0;
    font-weight: bold;
}
.fv .container .fv-inner .flex li {
    margin-right: 30px;
}
.fv .container .fv-inner .flex li:last-child {
    margin-right: 0px;
}

/*============= device section ==============*/
.device {
    background-color: #fbfafa;
}
.device .device_list .device_item  {
    justify-content: space-between;
}
.device .device_list .device_item:nth-child(2n+1)  {
    margin-bottom: 50px;
}
.device .device_list .device_item.flex_reverse {
    align-items: flex-start;
}
.device .device_list .device_item.flex_reverse .device_item_img {
    height: 346px;
}
.device .device_list .device_item.flex_reverse .device_item_img .device_item_img1 {
    position: relative;
    left: 80px;
}
.device .device_list .device_item.flex_reverse .device_item_img .device_item_img2 {
    position: relative;
    left: 325px;
    top: -100px;
}
.device .device_list .device_item .device_item_txt {
    max-width: 500px;
}
.device .device_list .device_item .device_item_txt h3 {
    font-size: 25px;
    font-weight: bold;
    color: #474747;
}
.device .device_list .device_item .device_item_txt .device_item_colortxt {
    font-size: 22px;
    color: #ed525e;
    margin-top: 30px;
}

/*============= point section ==============*/
.point .point_txt {
    text-align: center;
    margin-bottom: 50px;
}
.point .point_txt p {
    margin-bottom: 30px;
}
.point .point_smn {
    margin-bottom: 50px;
    position: relative;
    max-width: 100%;
}
.point .point_smn .point_smn_list {
    justify-content: space-between;
}
.point .point_smn::before {
    content: "";
    background: linear-gradient(to bottom right, #3aafa0, #3ee2cc);
    height: 1684px;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: -1407px;
    z-index: -10;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
}
.point .point_smn .point_smn_list .point_smn_item {
    flex-direction: column;
    align-items: flex-start;
}
.point .point_smn .point_smn_list .point_smn_item a {
    color: #fff;
    font-size: 31px;
    width: 200px;
    height: 0px;
    border-bottom: 60px solid #43bdad;
    border-right: 20px solid transparent;
    border-radius: 10px 10px 0px 0px;
    line-height: 60px;
    padding-left: 20px;
}
.point .point_smn .point_smn_list .point_smn_item .point_smn_cul {
    border: 5px solid #43bdad;
    border-radius: 0px 10px 10px 10px;
}
.point .point_smn .point_smn_list .point_smn_item .point_smn_cul img {
    width: 276px;
    height: 240px;
    border: 0px solid;
    border-radius: 0px 5px 0px 0px;
}
.point .point_smn .point_smn_list .point_smn_item .point_smn_cul p {
    height: 100px;
    font-size: 24px;
    font-weight: bold;
    color: #ed525e;
    text-align: center;
    background-color: #fbfafa;
    display: flex;
    justify-content: center;
    align-items: center;
}
.point .point_content .point_content_list .point_content_item {
    border-radius: 10px;
    background-color: #fff;
    margin-bottom: 50px;
}
.point .point_content .point_content_list .point_content_item:last-child {
    margin-bottom: 0px;
}
.point .point_content .point_content_list .point_content_item img {
    border: 0px solid;
    border-radius: 10px 0px 0px 10px;
}
.point .point_content .point_content_list .point_content_item:nth-child(2n) img {
    border: 0px solid;
    border-radius: 0px 10px 10px 0px;
}
.point .point_content .point_content_list .point_content_item .point_content_txt  {
    padding: 0 40px;
}
.point .point_content .point_content_list .point_content_item .point_content_txt h3 {
    color: #ed525e;
    font-size: 26px;
    font-weight: bold;
}
.point .point_content .point_content_list .point_content_item .point_content_txt p:nth-child(2n) {
    margin: 30px 0px;
}

/*============= FAQ section ==============*/
.faq h2 {
    text-align: center;
}
.faq .faq_list .faq_item {
    margin-bottom: 50px;
}
.faq .faq_list .faq_item .faq-question {
    margin-bottom: 20px;
    border-bottom: 1px solid #43bdad;
}
.faq .faq_list .faq_item .faq-question p {
    font-size: 25px;
    font-weight: bold;
    color: #474747;
    padding-left: 40px;
    text-align: center;
}
.faq .faq_list .faq_item .faq-answer p {
    padding-left: 130px;
    max-width: 810px;
}

/*============= cta section ==============*/
.cta {
    background-image: url(../img/cta-bg.jpg);
    border-top: 6px solid #3ee2cc;
    border-bottom: 6px solid #3ee2cc;
    position: relative;
}
.cta::before {
    content: "";
    position: absolute;
    left: 0;
    top: -6px;
    width: 50%;
    height: inherit;
    border-bottom: 6px solid #3aafa0;
}
.cta::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 50%;
    height: inherit;
    border-bottom: 6px solid #3aafa0;
}
.cta .container {
    padding: 50px 100px;
}
.cta .container p {
    text-align: center;
    margin-bottom: -40px;
}
.cta .cta_list {
    justify-content: space-between;
}
.cta .cta_list .cta_item {
    text-align: left;
    max-width: 560px;
}
.cta .cta_list .cta_item .cta_item_content h2 {
    font-size: 44px;
    font-weight: bold;
    color: #ed525e;
    margin-bottom: 20px;
}
.cta .cta_list .cta_item .cta_item_content p {
    margin-bottom: 30px;
    text-align: left;
}
.cta .cta_list .cta_item .cta_item_content .cta-btn .cta-btn_list {
    align-items: baseline;
}
.cta .cta_list .cta_item .cta_item_content .cta-btn .cta-btn_appIcon {
    margin-right: 10px;
}
.cta .cta_list .cta_item .cta_item_content .cta-btn .cta-btn_app {
    margin-left: 10px;
}
.cta .cta_list .cta_item .cta_item_content .cta-btn .cta-btn_appIcon img {
    width: auto;
    height: 91px;
}
.cta .cta_list .cta_item .cta_item_content .cta-btn .cta-btn_app img {
    width: auto;
    height: 65px;
}

/*============= footer section ==============*/
.footer {
    height: 89px;
    text-align: center;
    background-color: #383838;
}
.footer .footer-copyright p {
    color: #fff;
    font-size: 18px;
    line-height: 89px;
}

/*============= fadeIn ==============*/
.fadeIn {
    opacity: 0;
}
.fadeIn.is-show {
    opacity: 1;
}
.fadeIn_up {
    opacity: 0;
    transform: translate(0, 70%);
}
.fadeIn_up.is-show {
    transform: translate(0, 0);
    opacity: 1;
}
.fadeIn_left {
    opacity: 0;
    transform: translate(-50%, 0);
}
.fadeIn_left.is-show {
    transform: translate(0, 0);
    opacity: 1;
}

/*============= transition ==============*/
.change-time1{
    transition: 1s;
}
.change-time15{
    transition: 1.5s;
}  
.change-time2{
    transition: 2s;
}
.change-time25{
    transition: 2.5s;
}

/*========= 流れるテキスト ===============*/
/*全共通*/
.slide-in {
	overflow: hidden;
    display: inline-block;
}
.slide-in_inner {
	display: inline-block;

}
/*左右のアニメーション*/
.leftAnime{
    opacity: 0;/*事前に透過0にして消しておく*/
}
.slideAnimeLeftRight {
	animation-name:slideTextX100;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
    opacity: 0;
}
@keyframes slideTextX100 {
  from {
	transform: translateX(-100%); /*要素を左の枠外に移動*/
        opacity: 0;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}
.slideAnimeRightLeft {
	animation-name:slideTextX-100;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
    opacity: 0;
}
@keyframes slideTextX-100 {
  from {
	transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

/*============= zoomIn ==============*/
.zoomInTrigger {
    opacity: 0;
}
.zoomIn{
    animation-name:zoomInAnime;
    animation-duration:1s;
    animation-fill-mode:forwards;
}
@keyframes zoomInAnime{
    from {
    transform: scale(0.6);
    opacity: 0;
    }
  
    to {
    transform: scale(1);
    opacity: 1;
    }
}

