@charset "UTF-8";
    header, footer, nav, section, aside, article {
    display: block;
}
body {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Helvetica Neue", "Hiragino Kaku Gothic ProN", sans-serif;
    font-size: 18px;
    line-height: 1.5;
    -webkit-text-size-adjust: none;
    color: #26303b;
    font-weight: 500;
    font-feature-settings: "palt"}
body, div, pre, p, blockquote, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, form, fieldset, th, td, input, a, textarea, select, span, nav, section, header {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
}
input, textarea {
    margin: 0;
    font-size: 100%;
    appearance: none;
    -webkit-appearance: none;
    border: none;
    outline: none;
}
label {
    cursor: pointer;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 100%}
fieldset, img {
    border: 0;
}
img {
    vertical-align: top;
    max-width: 100%}
address, caption, cite, code, dfn, em, th, var {
    font-style: normal;
    font-weight: 400;
}
ol, ul {
    list-style: none;
}
caption, th {
    text-align: left;
}
h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
    font-weight: 400;
}
q:after, q:before {
    content: ''}
abbr, acronym {
    border: 0;
}
.clearfix {
    display: block;
    min-height: 1%}
.clearfix:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
* html .clearfix {
    height: 1%}
html {
    overflow-y: scroll;
}
@media print {
    html, html body {
    *zoom: .65;
}
}
a {
    color: #26303b;
    text-decoration: none;
    transition: all 0.3s!important;
    -moz-transition: all 0.3s!important;
    -webkit-transition: all 0.3s!important;
}
a:hover {
    transition: all 0.3s!important;
    -moz-transition: all 0.3s!important;
    -webkit-transition: all 0.3s!important;
}
.op, .op a, .op img, .op input {
    -webkit-transition: opacity 0.3s ease-out;
    -moz-transition: opacity 0.3s ease-out;
    -ms-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
    -webkit-backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
}
.op:hover, .op a:hover, .op:hover img, .op:hover input {
    opacity: .5;
    -webkit-opacity: .5;
    -moz-opacity: .5;
    filter: alpha(opacity=50);
    -ms-filter: "alpha(opacity=50)";
    -webkit-transition: opacity 0.3s ease-out;
    -moz-transition: opacity 0.3s ease-out;
    -ms-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out;
    -webkit-backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
}
@media (max-width:1024px) {
    .op: hover, .op a:hover, .op:hover img, .op:hover input {
    opacity: 1;
    -webkit-opacity: 1;
    -moz-opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)"}
}
.visible-pc {
    display: block!important;
}
.visible-ts {
    display: none!important;
}
@media (max-width:1024px) {
    .visible-pc {
    display: none!important;
}
.visible-ts {
    display: block!important;
}
}
.fwb {
    font-weight: 700;
}
.fwd {
    font-weight: 900;
}
.vat {
    vertical-align: top!important;
}
.vam {
    vertical-align: middle!important;
}
.vab {
    vertical-align: bottom!important;
}
.tac {
    text-align: center!important;
}
.tar {
    text-align: right!important;
}
.fcblue {
    color: #244266;
}
.fclight {
    color: #27b1dc;
}
@font-face {
    font-family: 'adventorbold';
    src: url(../fonts/texgyreadventor-bold.otf) format("opentype");
    font-weight: 700;
}
.ffroboto {
    font-family: 'Roboto', sans-serif;
}
.ffadvbold {
    font-family: "adventorbold", sans-serif;
}
#wrapper {
    overflow: hidden;
}
.inner {
    max-width: 1050px;
    margin: 0 auto;
    padding: 0 25px;
    position: relative;
    z-index: 1;
}
#footer {
    background: #fff;
    padding: 80px 0 150px;
    position: relative;
}
@media screen and (max-width:1024px) {
    #footer {
    padding-bottom: 75px;
}
}
#footer:before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-color: transparent #f4f7fa;
    border-width: 0 0 610px 85.7vw;
    border-style: solid;
    left: 0;
    top: 120px;
    z-index: 0;
}
#footer:after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-color: transparent #29475c;
    border-width: 960px 130vw 0 0;
    border-style: solid;
    right: 0;
    bottom: 0;
    z-index: 0;
}
#footer .signup {
    display: flex;
    justify-content: center;
    margin-bottom: 80px;
}
#footer .signup a {
    display: flex;
    align-items: center;
    padding: 25px 80px 25px 35px;
    background: #2B4163;
    font-size: 26px;
    color: #fff;
    font-weight: 700;
    -webkit-border-radius: 50px;
    -moz-border-radius: 50px;
    -ms-border-radius: 50px;
    -o-border-radius: 50px;
    border-radius: 50px;
    -webkit-box-shadow: 0 2px 6px rgba(100, 100, 99, .4);
    -moz-box-shadow: 0 2px 6px rgba(100, 100, 99, .4);
    -ms-box-shadow: 0 2px 6px rgba(100, 100, 99, .4);
    -o-box-shadow: 0 2px 6px rgba(100, 100, 99, .4);
    box-shadow: 0 2px 6px rgba(100, 100, 99, .4);
    position: relative;
}
#footer .signup a:before {
    position: absolute;
    content: "";
    background: url(../img/arrow_btn.png) center center no-repeat;
    right: 35px;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 20px;
    z-index: 0;
}
#footer .signup a:hover {
    background: #ffa12a;
}
#footer .message {
    background: #fff;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
    padding: 90px 25px 55px;
    -webkit-box-shadow: 0 3px 7px rgba(34, 99, 143, .35);
    -moz-box-shadow: 0 3px 7px rgba(34, 99, 143, .35);
    -ms-box-shadow: 0 3px 7px rgba(34, 99, 143, .35);
    -o-box-shadow: 0 3px 7px rgba(34, 99, 143, .35);
    box-shadow: 0 3px 7px rgba(34, 99, 143, .35);
}
#footer .messagein {
    max-width: 840px;
    margin: 0 auto;
}
#footer .message .messagebox {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
#footer .message .messagebnr {
    flex-shrink: 0;
    margin-left: 20px;
}
#footer .message .messagebnr li+li {
    margin-top: 20px;
}
#footer .message .messagetxt+.messagetxt {
    margin-top: 40px;
}
#footer .message .messagetxt {
    font-size: 21px;
    line-height: 1.6;
}
#footer .message .txtblue {
    color: #5dafc5;
    font-weight: 700;
}
#footer .message .messageother {
    border-top: 2px #c5cdd6 solid;
    margin-top: 70px;
    padding-top: 40px;
    font-size: 21px;
    line-height: 1.6;
}
#footer .message .othermail {
    font-weight: 700;
}
#footer .message .othertel {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}
#footer .message .othertel .telnum {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 700;
    color: #27b1dc;
    margin-right: 20px;
}
#footer .message .othertel .telnum a {
    color: #27b1dc;
}
#footer .message .othertel .teltime {
    font-weight: 700;
}
#footer .pagetop {
    display: none;
}
@media (max-width:767px) {
    #footer {
    padding: 50px 0 150px;
}
#footer:before {
    border-width: 0 0 98.6vw 110vw;
    top: 85px;
}
#footer:after {
    border-width: 177vw 200vw 0 0;
}
#footer .signup {
    margin-bottom: 50px;
}
#footer .signup a {
    flex-direction: column;
    align-items: center;
    padding: 15px 50px;
    font-size: 16px;
}
#footer .signup a img {
    width: 150px;
    margin-bottom: 5px;
}
#footer .signup a:before {
    background: url(../img/arrow_btn.png) center center no-repeat;
    background-size: 12px 14px;
    right: 20px;
    width: 12px;
    height: 14px;
}
#footer .message {
    padding: 40px 25px 25px;
}
#footer .message .messagebox {
    flex-direction: column;
    align-items: center;
}
#footer .message .messagecont {
    width: 100%}
#footer .message .messagebnr {
    margin: 40px 0 0;
    max-width: 190px;
}
#footer .message .messagebnr li+li {
    margin-top: 15px;
}
#footer .message .messagetxt+.messagetxt {
    margin-top: 25px;
}
#footer .message .messagetxt {
    font-size: 14px;
}
#footer .message .messageother {
    margin-top: 40px;
    padding-top: 30px;
    font-size: 14px;
}
#footer .message .othertit {
    margin-bottom: 10px;
}
#footer .message .othermail {
    font-weight: 700;
}
#footer .message .othertel {
    flex-direction: column;
    align-items: flex-start;
}
#footer .message .othertel .telnum {
    font-size: 24px;
    margin: 0 0 5px;
}
#footer .pagetop {
    display: flex;
    justify-content: center;
}
#footer .pagetop a img {
    width: 93px;
}
}
.hdl {
    text-align: center;
    font-size: 46px;
    font-weight: 700;
}
@media (max-width:767px) {
    .hdl {
    font-size: 24px;
}
}
.happen {
    background: #fff;
    padding: 75px 0 80px;
    position: relative;
}
.happen:before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-color: transparent #def1f6;
    border-width: 0 0 260px 400px;
    border-style: solid;
    left: 0;
    top: 0;
    z-index: 0;
}
.happen:after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-color: transparent #e6eef7;
    border-width: 290px 620px 0 0;
    border-style: solid;
    right: 0;
    bottom: 0;
    z-index: 0;
}
.happen .happenbox {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    z-index: 1;
}
.happen .happendet {
    font-size: 24px;
    color: #244266;
    font-weight: 700;
    border-bottom: 2px #244266 solid;
}
.happen .happendet .dot {
    position: relative;
    display: inline-block;
}
.happen .happendet .dot:before {
    position: absolute;
    content: "";
    background: #244266;
    width: 6px;
    height: 6px;
    left: 50%;
    bottom: 100%;
    transform: translateX(-50%);
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    z-index: 0;
}
.happen .happenhd {
    text-align: center;
    margin-top: 18px;
    font-size: 33px;
    color: #244266;
    font-weight: 700;
}
.happen .happenhd img {
    vertical-align: middle;
    margin: 0 10px;
}
.happen .happenlist {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    margin-top: 60px;
}
.happen .happenlist li {
    width: 30%;
    background: #fff;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
    border-radius: 8px;
    -webkit-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -moz-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -ms-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -o-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    position: relative;
}
.happen .happenlist .happimg {
    -webkit-border-radius: 8px 8px 0 0;
    -moz-border-radius: 8px 8px 0 0;
    -ms-border-radius: 8px 8px 0 0;
    -o-border-radius: 8px 8px 0 0;
    border-radius: 8px 8px 0 0;
    overflow: hidden;
}
.happen .happenlist .happcap {
    position: absolute;
    width: 187px;
    height: 33px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    left: 50%;
    top: 0;
    transform: translate(-50%, -50%);
    background: #5cafc4;
    font-size: 20px;
    line-height: 1.2;
    color: #fff;
    font-weight: 500;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
    z-index: 0;
}
.happen .happenlist .happin {
    padding: 15px 10px 25px;
}
.happen .happenlist .happtit {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.8;
}
@media screen and (min-width:764px) and (max-width:1024px) {
    .happen .happenlist .happtit {
    font-size: 20px;
    line-height: 1.6;
}
}
.happen .happenlist .happcont {
    margin-top: 10px;
    display: flex;
    padding: 0 20px;
    align-items: flex-end;
}
.happen .happenlist .circle {
    font-size: 15px;
    color: #5cafc4;
    line-height: 1.15;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border: 1px #5cafc4 solid;
    flex-shrink: 0;
    margin-right: 15px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%}
.happen .happenlist .happpri {
    flex: 1;
}
.happen .happenlist .happpriname {
    font-size: 16px;
    color: #5cafc4;
    font-weight: 700;
    line-height: 1.2;
}
.happen .happenlist .happprinum {
    font-size: 36px;
    color: #5cafc4;
    font-weight: 500;
    line-height: 1;
    margin-top: 2px;
}
@media screen and (min-width:764px) and (max-width:1024px) {
    .happen .happenlist .happprinum {
    font-size: 50px;
}
}
.happen .happnote {
    width: 100%;
    text-align: right;
    margin-top: 10px;
    font-size: 14px;
}
.happen .happexpen {
    width: 100%;
    background: #244266;
    margin-top: 20px;
    color: #fff;
    padding: 20px 10px;
    text-align: center;
    font-size: 20px;
    letter-spacing: .05em;
    font-weight: 700;
    vertical-align: middle;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
}
.happen .happexpen .dot {
    font-size: 37px;
    line-height: 1.3;
    display: inline-block;
    vertical-align: middle;
    position: relative;
}
.happen .happexpen .dot:before {
    position: absolute;
    content: "";
    background: #fff;
    width: 6px;
    height: 6px;
    left: 50%;
    bottom: 100%;
    transform: translateX(-50%);
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    z-index: 0;
}
.happen .happexpen .mid {
    font-size: 24px;
    display: inline-block;
    vertical-align: middle;
}
.happen .fortime {
    margin-top: 35px;
    font-size: 33px;
    font-weight: 700;
    border-bottom: 1px #244266 solid;
    position: relative;
}
.happen .fortime:before {
    position: absolute;
    content: "";
    left: 0;
    top: calc(100% + 25px);
    background: url(../img/arrow_happen.png) center center no-repeat;
    width: 100%;
    height: 24px;
    z-index: 0;
}
@media (max-width:1024px) {
    .happen .happenlist {
    display: block;
    width: 50%}
.happen .happenlist li {
    width: auto;
}
.happen .happenlist li+li {
    margin-top: 60px;
}
.happen .happenlist .happimg img {
    width: 100%}
.happen .happexpen .dot {
    margin-top: 5px;
}
}
@media (max-width:767px) {
    .happen {
    padding: 45px 0 55px;
}
.happen:before {
    border-width: 0 0 54.4vw 85.33vw;
}
.happen:after {
    border-width: 102.66vw 150vw 0 0;
}
.happen .happendet {
    font-size: 14px;
    border-bottom: 1px #244266 solid;
}
.happen .happendet .dot:before {
    width: 3px;
    height: 3px;
}
.happen .happenhd {
    margin-top: 20px;
    line-height: 1.3;
    font-size: 23px;
}
.happen .happenhd img {
    width: 140px;
    vertical-align: bottom;
    margin: 0 5px;
}
.happen .happenlist {
    display: block;
    width: 100%;
    margin-top: 45px;
}
.happen .happenlist .happcap {
    width: 200px;
    height: 35px;
}
.happen .happenlist .happtit {
    font-size: 20px;
}
.happen .happenlist .happprinum {
    font-size: 44px;
}
.happen .happnote {
    margin-top: 8px;
}
.happen .happexpen {
    margin-top: 15px;
    padding: 25px 10px 20px;
    font-size: 16px;
}
.happen .happexpen .dot {
    font-size: 24px;
    line-height: 1.5;
    margin-top: 5px;
}
.happen .happexpen .dot:before {
    width: 4px;
    height: 4px;
    bottom: 100%}
.happen .happexpen .mid {
    font-size: 16px;
}
.happen .fortime {
    margin-top: 25px;
    font-size: 20px;
}
.happen .fortime:before {
    top: calc(100% + 15px);
    background: url(../img/arrow_happen.png) center center no-repeat;
    background-size: 12px 12px;
    width: 100%;
    height: 12px;
}
}
.have {
    background: #fff;
    padding: 55px 0 70px;
    position: relative;
}
.have:before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-color: transparent #e6eef7;
    border-width: 190px 0 0 16vw;
    border-style: solid;
    left: 0;
    bottom: 0;
    z-index: 0;
}
.havehd {
    font-size: 46px;
    line-height: 1.2;
    font-weight: 700;
    text-align: center;
    margin-bottom: 30px;
}
.havehd .hdimg {
    font-size: 0;
    display: inline-block;
    vertical-align: top;
    margin-right: 10px;
    position: relative;
}
.havehd .hdimg:before {
    position: absolute;
    content: "";
    background: #146287;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: -10px;
    z-index: 0;
}
.have .havebox {
    padding: 40px 0 0;
}
@media screen and (max-width:1024px) {
    .have .havebox {
        padding: 0;
    }
}
.have .havebox .havephone {
    margin: 0 35px 0 -20px;
    flex-shrink: 0;
}
.have .havebox .havephone .phone {
    position: absolute;
    left: -116px;
    top: 40px;
}
.have .havebox .havephone .phonepri {
    display: none;
}
.have .havebox .havein {
    /*flex: 1;*/
}
.have .havemess {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    padding-right: 180px;
}
@media screen and (max-width:1024px) {
    .have .havemess {
        padding-right: 0;
    }
}
.have .havemess .messpri {
    background: #ffa12a;
    width: 193px;
    height: 193px;
    display: flex;
    color: #fff;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
    flex-shrink: 0;
    margin-right: 20px;
}
.have .havemess .messpri .pritit {
    font-size: 28px;
    line-height: 1.2;
}
.have .havemess .messpri .pritxt {
    font-size: 25px;
    line-height: 1.2;
    margin-top: 5px;
}
.have .havemess .messpri .pritxt .num {
    font-size: 54px;
    line-height: 1;
}
.have .havemess .messcont {
    margin-top: -40px;
    color: #244266;
    font-size: 53px;
    line-height: 1;
    font-weight: 700;
    padding-bottom: 10px;
}
.have .havemess .messcont br {
    display: none;
}
.have .havemess .messcont .sml {
    font-size: 46px;
    vertical-align: middle;
}
@media screen and (max-width:890px) {
    .have .havemess .messcont .sml {
    font-size: 40px;
}
}
@media screen and (max-width:820px) {
    .have .havemess .messcont .sml {
    font-size: 30px;
    }
}
.have .havemess .messcont .bdr {
    margin-left: 16px;
    padding-bottom: 10px;
    border-bottom: 2px #244266 solid;
}
.have .havemess .messcont .num {
    display: inline-block;
    position: relative;
    top: 8px;
    padding: 0 10px 0 0;
    font-size: 150px;
    color: #24bee7;
    font-weight: 700;
}
/*@media screen and (max-width:890px) {
    .have .havemess .messcont .num {
    font-size: 80px;
}
}
@media screen and (max-width:820px) {
    .have .havemess .messcont .num {
    font-size: 65px;
}
}*/
.have .havemess .balloon {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: 70px;
    top: 0;
    width: 319px;
    height: 91px;
    padding-bottom: 16px;
    background: url(../img/havemess_balloon.png) center center no-repeat;
    font-size: 24px;
    font-weight: bold;
    color: #5CAFC5;
    box-sizing: border-box;
    line-height: 1;
}
.have .havemess .balloon .num {
    position: relative;
    top: -5px;
    font-size: 38px;
}
@media screen and (max-width:1024px) {
    .have .havemess .balloon {
        position: absolute;
        right: 50%;
        top: auto;
        bottom: -50px;
        width: 294px;
        height: 63px;
        padding-top: 20px;
        padding-bottom: 0;
        background: url(../img/havemess_balloon_sp.png) center center no-repeat;
        font-size: 17px;
        transform: translateX(50%);
    }
    .have .havemess .balloon .num {
        position: relative;
        top: -5px;
        font-size: 27px;
    }
}
.have .havesimglist {
    display: flex;
    justify-content: center;
    position: relative;
    margin-top: 30px;
    padding-bottom: 31%;
}
.have .havesimglist li:nth-child(1) {
    position: absolute;
    left: 0;
    top: 0;
    width: 56.4%;
    z-index: 1;
}
.have .havesimglist li:nth-child(2) {
    position: absolute;
    right: 0;
    top: 0;
    width: 50.3%;
}
.have .havesimglist li .text {
    position: absolute;
    bottom: 11.5%;
    left: 50%;
    width: 100%;
    font-size: 24px;
    font-weight: bold;
    color: #244266;
    text-align: center;
    transform: translateX(-50%);
}
.have .havesimglist li:nth-child(1) .text {
    padding-right: 14%;
}
@media screen and (max-width:1024px) {
    .have .havesimglist {
        margin-top: 100px;
    }
    .have .havesimglist li .text {
        font-size: 20px;
    }
}
.have .havescroll {
    margin-top: 40px;
}
.have .havescroll .havetable {
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
    -webkit-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -moz-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -ms-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -o-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    overflow: hidden;
}
.have .havescroll .havetable table {
    width: 100%}
.have .havescroll .havetable table th+th, .have .havescroll .havetable table td+td {
    border-left: 1px #26303b solid;
}
.have .havescroll .havetable table th, .have .havescroll .havetable table td {
    width: 25%;
    text-align: center;
    vertical-align: middle;
    font-size: 17px;
    font-weight: 700;
}
.have .havescroll .havetable table th {
    background: #e6eef7;
    padding: 20px 5px;
}
.have .havescroll .havetable table td {
    background: #fff;
    padding: 27px 5px;
}
.have .havescroll .havetable table td .ffadvbold {
    font-size: 28px;
    line-height: 1.2;
}
.have .havefree {
    margin-top: 50px;
    display: flex;
    justify-content: center;
    position: relative;
}
.have .havefree:before {
    position: absolute;
    content: "";
    background: url(../img/arrow_happen.png) center center no-repeat;
    bottom: calc(100% - 5px);
    left: 0;
    width: 100%;
    height: 24px;
    z-index: 0;
}
.have .havefree .freein {
    border-bottom: 2px #8a9aad solid;
    font-size: 33px;
    color: #244266;
    font-weight: 700;
    line-height: 1;
    padding-bottom: 10px;
}
.have .havefree .freein span {
    font-size: 80px;
    display: inline-block;
    line-height: .8;
    color: #24bee7;
}
@media (max-width:1024px) {
    .havehd {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.havehd .hdimg {
    margin: 0 0 10px;
}
.have .havescroll .havetable table th, .have .havescroll .havetable table td {
    font-size: 15px;
}
.have .havescroll .havetable table td .ffadvbold {
    font-size: 20px;
}
}
@media (max-width:767px) {
    .have {
    padding: 50px 0 45px;
}
.have:before {
    border-width: 14.7vw 0 0 13vw;
}
.havehd {
    font-size: 29px;
    margin-bottom: 15px;
}
.havehd .hdimg {
    margin: 0 0 15px;
    width: 270px;
}
.havehd .hdimg:before {
    bottom: -5px;
}
.have .havebox .haveInner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
}
.have .havebox .havephone {
    margin: 0 0 20px;
    display: flex;
    justify-content: center;
    align-items: flex-start;
}
.have .havebox .havephone .phone {
    position: initial;
    width: 132px;
    margin-right: 0;
}
.have .havebox .havephone .phonepri .pritit {
    font-size: 14px;
    line-height: 1.2;
}
.have .havebox .havephone .phonepri .pritxt {
    font-size: 13px;
    margin-top: 2px;
    line-height: 1.2;
}
.have .havebox .havephone .phonepri .pritxt .num {
    font-size: 27px;
    line-height: 1.2;
}
.have .havebox .havein {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.have .havebox .havein2 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: -35px;
}
.have .havemess {
    display: block;
    position: initial;
}
.have .havemess .messpri {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-end;
    width: 160px;
    height: 51px;
    padding: 10px 0;
    border-radius: 8px;
}
.have .havemess .messpri .pritit,
.have .havemess .messpri .pritxt {
    font-size: 17px;
}
.have .havemess .messpri .pritxt .num {
    font-size: 32px;
}
.have .havemess .messcont {
    margin-top: 20px;
    font-size: 28px;
    padding-bottom: 5px;
    line-height: 0.8;
}
.have .havemess .messcont br {
    display: block;
}
.have .havemess .messcont .sml {
    font-size: 32px;
}
.have .havemess .messcont .bdr {
    border: none;
    margin-left: 0;
    padding-left: 0;
}
.have .havemess .messcont .bdr_sp {
    margin-left: 16px;
    padding-bottom: 10px;
    border-bottom: 2px #244266 solid;
}
.have .havemess .messcont .num {
    font-size: 87px;
}
.have .havemess .balloon {
    bottom: auto;
    top: 210px;
}
.have .havesimglist {
    display: block;
    max-width: 500px;
    height: auto;
    margin: 80px auto 0;
    padding-bottom: 0;
}
.have .havesimglist li {
    position: relative !important;
    width: 100% !important;
}
.have .havesimglist li:nth-child(2){
    top: -60px;
}
.have .havesimglist li .text {
    padding-right: 0 !important;
    padding-bottom: 8px;
    font-size: 24px;
}
.have .havesimglist li:nth-child(1) .text {
    padding-bottom: 50px;

}
.have .havescroll {
    width: 100%;
    overflow-x: scroll;
    padding: 0 3px 10px;
}
.have .havescroll::-webkit-scrollbar {
    width: 10px;
    background: #eee;
}
.have .havescroll::-webkit-scrollbar:horizontal {
    height: 10px;
    background: #eee;
}
.have .havescroll::-webkit-scrollbar-thumb {
    background: #d2d2d2;
}
.have .havescroll::-webkit-scrollbar-thumb:horizontal {
    background: #d2d2d2;
}
.have .havescroll .havetable {
    width: 730px;
    -webkit-box-shadow: 0 2px 4px rgba(34, 99, 143, .4);
    -moz-box-shadow: 0 2px 4px rgba(34, 99, 143, .4);
    -ms-box-shadow: 0 2px 4px rgba(34, 99, 143, .4);
    -o-box-shadow: 0 2px 4px rgba(34, 99, 143, .4);
    box-shadow: 0 2px 4px rgba(34, 99, 143, .4);
    overflow: hidden;
}
.have .havescroll .havetable table th, .have .havescroll .havetable table td {
    font-size: 14px;
}
.have .havescroll .havetable table th {
    padding: 20px 5px;
}
.have .havescroll .havetable table td {
    background: #fff;
    padding: 20px 5px;
}
.have .havescroll .havetable table td .ffadvbold {
    font-size: 22px;
}
.have .havefree {
    margin-top: 50px;
}
.have .havefree:before {
    background: url(../img/arrow_happen.png) center center no-repeat;
    background-size: 16px 16px;
    bottom: 100%;
    height: 16px;
}
.have .havefree .freein {
    font-size: 25px;
    padding-bottom: 10px;
}
.have .havefree .freein span {
    font-size: 52px;
}
}
@media screen and (max-width:570px) {
.have .havesimglist li:nth-child(2){
    top: -10vw;
}
.have .havesimglist li .text {
    padding-right: 0 !important;
    padding-bottom: 2vw;
    font-size: 4.35vw;
}
.have .havesimglist li:nth-child(1) .text {
    padding-right: 0 !important;
    padding-bottom: 9vw;
    font-size: 4.35vw;

}
}
@media screen and (max-width:374px) {
    .have .havebox .havephone .phone {
        width: 100px;
    }
    .have .havebox .havephone .phonepri .pritit {
        font-size: 12px;
    }
    .have .havebox .havephone .phonepri .pritxt {
        font-size: 11px;
    }
    .have .havebox .havephone .phonepri .pritxt .num {
        font-size: 22px;
    }
    .have .havebox .havephone .messcont {
        font-size: 24px !important;
    }
    .have .havemess .messcont .num {
        font-size: 65px !important;
    }
    .have .havemess .balloon {
        top: 180px !important;
    }
}
.more {
    background: #fff;
    padding: 85px 0 110px;
    position: relative;
}
.more:before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-color: transparent #e6eef7;
    border-width: 0 0 70px 16vw;
    border-style: solid;
    left: 0;
    top: 0;
    z-index: 0;
}
.more:after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-color: transparent #def1f6;
    border-width: 0 83.3vw 1080px 0;
    border-style: solid;
    right: 0;
    top: 0;
    z-index: 0;
}
.more .havehd {
    margin-bottom: 20px;
}
.more .morebox {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.more .moredet {
    font-size: 33px;
    line-height: 1.2;
    font-weight: 700;
    color: #244266;
    border-bottom: 2px #8a9aad solid;
    padding-bottom: 3px;
}
.more .moredet .ffadvbold {
    font-size: 56px;
    line-height: 1;
    color: #27b1dc;
}
.more .moredet+.moredet {
    display: none;
}
.more .moretable {
    margin-top: 35px;
    text-align: center;
}
@media (max-width:1024px) {
    .more: after {
    border-width: 0 84vw 1080px 0;
}
}
@media (max-width:767px) {
    .more {
    padding: 30px 0 50px;
}
.more:before {
    border-width: 0 0 5.33vw 13vw;
}
.more:after {
    border-width: 0 87vw 78.66vw 0;
}
.more .havehd {
    margin-bottom: 30px;
}
.more .moredet {
    font-size: 23px;
    line-height: 1.2;
    font-weight: 700;
    color: #244266;
    border-bottom: 2px #8a9aad solid;
    padding-bottom: 3px;
}
.more .moredet .ffadvbold {
    font-size: 47px;
}
.more .moretable {
    margin-top: 35px;
    text-align: center;
}
.more .moredet .newline {
    display: none;
}
.more .moredet+.moredet {
    display: block;
    margin-top: 10px;
}
}
.use {
    background: url(../img/bg_use.jpg) center center no-repeat;
    background-size: cover;
    height: 485px;
    position: relative;
    z-index: 1;
}
.use .usephone {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 1096px;
    max-width: 100%;
    z-index: 0;
}
.use .usedevice {
    position: absolute;
    right: 9.642vw;
    top: -45px;
    z-index: 0;
}
@media (max-width:1400px) {
    .use {
    background: url(../img/bg_use.jpg) center center no-repeat;
    background-size: auto;
}
}
@media (max-width:1024px) {
    .use {
    background: none;
    height: auto;
}
.use .usephone {
    position: relative;
    left: auto;
    top: auto;
    transform: translate(0, 0);
    width: auto;
}
.use .usephone img {
    width: 100%}
.use .usedevice {
    display: none;
}
}
.step {
    padding: 75px 0 130px;
    background: -moz-linear-gradient(left, #3273c7, #27b0dc);
    background: -webkit-gradient(linear, left, from(#3273c7), to(#27b0dc));
    background: -webkit-linear-gradient(left, #3273c7, #27b0dc);
    background: -o-linear-gradient(left, #3273c7, #27b0dc);
    background: -ms-linear-gradient(left, #3273c7, #27b0dc);
    -pie-background: linear-gradient(left, #3273c7, #27b0dc);
    position: relative;
}
.step .hdl {
    color: #fff;
    margin-bottom: 50px;
}
.step .stepbox {
    background: #fff;
    padding: 10px 20px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
}
.step .steplist {
    max-width: 830px;
    margin: 0 auto;
}
.step .steplist li+li {
    border-top: 2px #c5cdd6 solid;
}
.step .steplist li {
    padding: 75px 0;
    display: flex;
    align-items: flex-start;
}
.step .steplist .stepimg {
    flex-shrink: 0;
    margin: 0 8.4% 0 0;
}
.step .steplist li.reverse {
    flex-direction: row-reverse;
}
.step .steplist li.reverse .stepimg {
    margin: 0 0 0 8.4%}
.step .steplist .stepimg img {
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
}
.step .steplist .stepin {
    flex: 1;
    padding: 15px 0 0;
}
.step .steplist .stepmess {
    display: flex;
    align-items: center;
}
.step .steplist .stepnum {
    font-size: 97px;
    font-weight: 700;
    line-height: 1;
    color: #27b1dc;
    margin-right: 15px;
    flex-shrink: 0;
    position: relative;
}
.step .steplist .stepnum .cap {
    position: absolute;
    left: 0;
    bottom: calc(100% - 5px);
    width: 100%;
    text-align: center;
    font-size: 18px;
    color: #244266;
    letter-spacing: .1em;
    z-index: 0;
}
.step .steplist .steptit {
    font-size: 46px;
    color: #244266;
    font-weight: 700;
}
.step .steplist .steptxt {
    font-size: 18px;
    line-height: 2.22;
    margin-top: 25px;
    max-width: 400px;
}
@media (max-width:1024px) {
    .step .steplist .stepimg {
    margin: 0 4% 0 0;
}
.step .steplist li.reverse .stepimg {
    margin: 0 0 0 4%}
.step .steplist .stepnum {
    font-size: 90px;
}
.step .steplist .steptit {
    font-size: 36px;
}
}
@media (max-width:767px) {
    .step {
    padding: 40px 0 75px;
}
.step .hdl {
    margin-bottom: 30px;
}
.step .stepbox {
    padding: 0 25px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
}
.step .steplist li {
    padding: 30px 0;
    display: block;
}
.step .steplist .stepimg {
    margin: 0 0 30px;
    text-align: center;
}
.step .steplist li.reverse .stepimg {
    margin: 0 0 30px;
}
.step .steplist .stepimg img {
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
}
.step .steplist .stepin {
    padding: 0;
}
.step .steplist .stepnum {
    font-size: 49px;
    margin-right: 10px;
}
.step .steplist .stepnum .cap {
    bottom: calc(100% - 3px);
    font-size: 10px;
}
.step .steplist .steptit {
    font-size: 24px;
}
.step .steplist .steptxt {
    font-size: 14px;
    line-height: 1.7;
    margin-top: 15px;
    max-width: none;
}
}
.service {
    background: #fff;
}
.service .block {
    position: relative;
    padding: 60px 0;
}
.service .block.left:before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-color: transparent #f4f7fa;
    border-width: 0 0 570px 81.2vw;
    border-style: solid;
    left: 0;
    top: 0;
    z-index: 0;
}
.service .block.left:after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-color: transparent #def1f6;
    border-width: 170px 0 0 17.8vw;
    border-style: solid;
    left: 0;
    bottom: 0;
    z-index: 0;
}
.service .block.right:before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-color: transparent #f4f7fa;
    border-width: 0 81.6vw 570px 0;
    border-style: solid;
    right: 0;
    top: 0;
    z-index: 0;
}
.service .block.right:after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-color: transparent #e6eef7;
    border-width: 175px 18.2vw 0 0;
    border-style: solid;
    right: 0;
    bottom: 0;
    z-index: 0;
}
.service .block.start:before {
    border-color: transparent #e6eef7;
}
.service .block.theend:after {
    display: none;
}
.service .hdl {
    margin-bottom: 70px;
}
.service .serinner {
    max-width: 470px;
}
.service .sercap {
    display: flex;
    width: 140px;
    height: 36px;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 20px;
    color: #fff;
    font-weight: 500;
    background: #778997;
    letter-spacing: .07em;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
    margin-bottom: 20px;
}
.service .sertit {
    font-size: 52px;
    line-height: 1.4;
    font-weight: 700;
    margin-bottom: 25px;
}
.service .sertit .sml {
    display: block;
    font-size: 18px;
}
.service .sertxt {
    font-size: 21px;
    line-height: 1.9;
}
.service .txtblue {
    color: #24bee7;
    font-weight: 700;
}
.service .onebox {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
}
.service .onebox .oneimg {
    margin: 0 -90px 0 0;
}
.service .onebox .serinner {
    margin-top: 25px;
}
.service .twobox {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.service .twobox .twoimg {
    margin-left: -100px;
}
.service .twoscroll {
    margin: 45px 0 0;
}
.service .twoinner {
    position: relative;
}
.service .twoinner .pop {
    position: absolute;
    left: 24%;
    top: -70px;
    z-index: 0;
}
.service .twotable {
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
    -webkit-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -moz-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -ms-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -o-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    overflow: hidden;
}
.service .twotable table {
    width: 100%}
.service .twotable table .borleft {
    border-left: 1px #26303b solid;
}
.service .twotable table .borright {
    border-right: 1px #26303b solid;
}
.service .twotable table .bortop {
    border-top: 1px #26303b solid;
}
.service .twotable table .borbtm {
    border-bottom: 1px #26303b solid;
}
.service .twotable table .txtlar {
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
}
.service .twotable table .txtmid {
    font-size: 18px;
    line-height: 1.2;
    font-weight: 700;
}
.service .twotable table .txtlar .txtmid {
    font-weight: 500;
}
.service .twotable table .w32 {
    width: 32%}
.service .twotable table .w34 {
    width: 34%}
.service .twotable table th, .service .twotable table td {
    text-align: center;
    vertical-align: middle;
}
.service .twotable table th {
    background: #e6eef7;
    padding: 20px 5px;
}
.service .twotable table td {
    background: #fff;
    font-size: 16px;
    padding: 15px 5px;
}
.service .twotable table td .ffadvbold {
    font-size: 40px;
    line-height: 1.2;
}
.service .threebox {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
}
.service .threebox .threeimg {
    margin-right: -160px;
}
.service .fourbox {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.service .fourbox .fourimg {
    margin-bottom: 20px;
    position: relative;
}
.service .fourbox .fourimp {
    position: absolute;
    left: calc(100% - 40px);
    top: -60px;
    background: #ffa12a;
    width: 134px;
    height: 134px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
    z-index: 0;
}
.service .fourbox .fourimp:before {
    position: absolute;
    content: "";
    background: url(../img/arrow_service04.png) center center no-repeat;
    width: 20px;
    height: 22px;
    left: 20px;
    top: calc(100% - 2px);
    z-index: 0;
}
.service .fourbox .serinner {
    max-width: 490px;
}
.service .fivebox {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
}
.service .fivebox .fiveimg {
    margin-right: -95px;
}
.service .sixbox {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.service .sixbox .serlist {
    margin-top: 10px;
}
.service .sixbox .serlist li {
    font-size: 21px;
    line-height: 1.9;
    text-indent: -1em;
    padding-left: 1em;
}
.service .sixbox .serlist li .txtblue {
    color: #5dafc5;
}
.service .sixbox .serinner {
    max-width: 510px;
}
.service .sixbox .siximg {
  margin-right: 40px;
}
@media screen and (max-width: 767px) {
  .service .sixbox .siximg {
    margin-right: 0;
    margin-bottom: 20px;
  }
}
.service .sixbox .sixmess {
    background: #fff;
    padding: 0 30px 40px;
    width: 460px;
    margin-left: -40px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
    flex-shrink: 0;
    -webkit-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -moz-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -ms-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -o-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    position: relative;
}
.service .sixbox .sixname {
    background: #244266;
    text-align: center;
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    padding: 10px 0;
    transform: translateY(-50%);
    margin-bottom: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
}
.service .sixbox .sixlist li+li {
    margin-top: 40px;
}
.service .sixbox .sixlist li {
    background: #e6eef7;
    display: flex;
    align-items: center;
    overflow: hidden;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
}
.service .sixbox .sixlist .listimg {
    flex-shrink: 0;
}
.service .sixbox .sixlist .listin {
    flex: 1;
    text-align: center;
    letter-spacing: .07em;
    font-size: 21px;
    font-weight: 700;
}
.service .sevenbox {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-direction: row-reverse;
}
.service .sevenbox .sevenimg {
  margin-left: 50px;
}
@media screen and (max-width: 767px) {
  .service .sevenbox .sevenimg {
    margin-left: 0;
    margin-bottom: 30px;
  } 
}
.service .sevenbox .serinner {
    max-width: 520px;
}
.service .sevenbox .sevenmess {
    max-width: 445px;
    background: #fff;
    margin-right: -40px;
    padding: 0 30px 25px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
    flex-shrink: 0;
    -webkit-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -moz-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -ms-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -o-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
}
.service .sevenbox .sevenname {
    background: #244266;
    text-align: center;
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    padding: 10px 0;
    transform: translateY(-50%);
    margin-bottom: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
}
.service .sevenbox .sevennote {
    text-indent: -1em;
    padding-left: 1em;
    font-size: 16px;
    line-height: 1.8;
    margin-top: 20px;
}
.service .sevenbox .sevencont {
    margin-top: 25px;
    background: #f4f7fa;
    padding: 20px 10px;
}
.service .sevenbox .sevencont .note {
    font-size: 16px;
    line-height: 1.5;
    text-indent: -1em;
    padding-left: 1em;
}
.service .sevenbox .sevenlist {
    display: flex;
}
.service .sevenbox .sevenlist li {
    width: calc((100% - 50px)/3);
    margin-right: 25px;
    position: relative;
}
.service .sevenbox .sevenlist li+li:before {
    position: absolute;
    content: "";
    left: -17px;
    top: 47px;
    border-left: 10px #33cfd7 solid;
    border-right: 0;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
    z-index: 0;
}
.service .sevenbox .sevenlist li:nth-child(3n) {
    margin-right: 0;
}
.service .sevenbox .sevenlist .listimg {
    text-align: center;
}
.service .sevenbox .sevenlist .listtxt {
    font-size: 16px;
    letter-spacing: -.1em;
    color: #24bee7;
    font-weight: 700;
    margin-top: 20px;
    text-align: center;
}
@media (max-width:1024px) {
    .service .onebox {
    flex-direction: column;
    align-items: center;
}
.service .onebox .oneimg {
    margin: 0 0 50px;
}
.service .onebox .serinner {
    margin-top: 0;
}
.service .twobox {
    flex-direction: column;
    align-items: center;
}
.service .twobox .twoimg {
    margin: 0 0 50px;
}
.service .twoscroll {
    margin: 160px 0 0;
}
.service .twoinner .pop {
    top: -150px;
    left: 20%}
.service .threebox {
    flex-direction: column;
    align-items: center;
}
.service .threebox .threeimg {
    margin: 0 0 50px;
}
.service .fourbox {
    flex-direction: column;
    align-items: center;
}
.service .fourbox .fourimg {
    margin: 0 0 50px;
}
.service .fivebox {
    flex-direction: column;
    align-items: center;
}
.service .fivebox .fiveimg {
    margin: 0 0 50px;
}
.service .sixbox {
    flex-direction: column;
    align-items: center;
}
.service .sixbox .sixmess {
    margin: 0 0 50px;
}
.service .sevenbox {
    flex-direction: column;
    align-items: center;
}
.service .sevenbox .sevenmess {
    margin: 0 0 50px;
}
}
@media (max-width:767px) {
    .service .block {
    padding: 30px 0;
}
.service .block.left:before {
    border-width: 0 0 35vw 70.6vw;
}
.service .block.left:after {
    border-width: 18.6vw 0 0 26.6vw;
}
.service .block.right:before {
    border-width: 0 73.4vw 36vw 0;
}
.service .block.right:after {
    border-width: 20.4vw 29.4vw 0 0;
}
.service .block.start:before {
    border-width: 0 0 73vw 81.6vw;
    border-color: transparent #e6eef7;
}
.service .block.start {
    padding: 40px 0 30px;
}
.service .hdl {
    margin-bottom: 35px;
}
.service .serinner {
    max-width: none;
}
.service .sercap {
    width: 90px;
    height: 20px;
    font-size: 13px;
    margin-bottom: 15px;
}
.service .sertit {
    font-size: 27px;
    letter-spacing: 0;
    margin-bottom: 10px;
}
.service .sertit .sml {
    font-size: 14px;
}
.service .sertxt {
    font-size: 14px;
    line-height: 1.7;
}
.service .onebox .oneimg {
    width: 270px;
    margin: 0 0 25px;
}
.service .onebox .serinner {
    margin-top: 0;
}
.service .twobox .twoimg {
    margin: 0 0 25px;
    width: 275px;
}
.service .twoscroll {
    width: 100%;
    overflow-x: scroll;
    padding: 0 3px 20px;
    margin: 20px 0 0;
}
.service .twoscroll::-webkit-scrollbar {
    width: 10px;
    background: #eee;
}
.service .twoscroll::-webkit-scrollbar:horizontal {
    height: 10px;
    background: #eee;
}
.service .twoscroll::-webkit-scrollbar-thumb {
    background: #d2d2d2;
}
.service .twoscroll::-webkit-scrollbar-thumb:horizontal {
    background: #d2d2d2;
}
.service .twoinner {
    width: 600px;
    margin: 40px 0 0;
    position: relative;
}
.service .twoinner .pop {
    left: 23%;
    top: -40px;
    width: 110px;
}
.service .twotable {
    -webkit-box-shadow: 0 2px 4px rgba(34, 99, 143, .4);
    -moz-box-shadow: 0 2px 4px rgba(34, 99, 143, .4);
    -ms-box-shadow: 0 2px 4px rgba(34, 99, 143, .4);
    -o-box-shadow: 0 2px 4px rgba(34, 99, 143, .4);
    box-shadow: 0 2px 4px rgba(34, 99, 143, .4);
}
.service .twotable table .txtlar {
    font-size: 16px;
    font-weight: 700;
}
.service .twotable table .txtmid {
    font-size: 12px;
    font-weight: 700;
}
.service .twotable table th {
    padding: 10px 5px;
}
.service .twotable table td {
    background: #fff;
    font-size: 10px;
    padding: 15px 5px;
}
.service .twotable table td .ffadvbold {
    font-size: 24px;
}
.service .threebox .threeimg {
    width: 300px;
    margin: 0 0 15px;
}
.service .fourbox .fourimg {
    margin: 40px 50px 30px 0;
    width: 200px;
}
.service .fourbox .fourimp {
    position: absolute;
    left: calc(100% - 10px);
    top: -30px;
    width: 100px;
    height: 90px;
    font-size: 16px;
}
.service .fourbox .fourimp:before {
    background: url(../img/arrow_service04.png) center center no-repeat;
    background-size: 10px 11px;
    width: 10px;
    height: 11px;
    left: 15px;
}
.service .fourbox .serinner {
    max-width: none;
}
.service .fivebox .fiveimg {
    margin: 0 0 30px;
    width: 265px;
}
.service .sixbox .serlist {
    margin-top: 5px;
}
.service .sixbox .serlist li {
    font-size: 14px;
    line-height: 1.7;
}
.service .sixbox .serinner {
    max-width: none;
}
.service .sixbox .sixmess {
    width: 265px;
    padding: 0 20px 25px;
    margin: 20px 0 40px;
}
.service .sixbox .sixname {
    font-size: 14px;
    padding: 5px 0;
}
.service .sixbox .sixlist li+li {
    margin-top: 20px;
}
.service .sixbox .sixlist li {
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
}
.service .sixbox .sixlist .listimg {
    flex-shrink: 0;
    max-width: 50%}
.service .sixbox .sixlist .listin {
    font-size: 14px;
    line-height: 1.4;
}
.service .sevenbox .serinner {
    max-width: none;
}
.service .sevenbox .sevenmess {
    max-width: none;
    width: 270px;
    margin: 20px 0 30px;
    padding: 0 15px 20px;
}
.service .sevenbox .sevenname {
    font-size: 14px;
    padding: 5px 0;
}
.service .sevenbox .sevennote {
    font-size: 10px;
    margin-top: 15px;
}
.service .sevenbox .sevencont {
    margin-top: 15px;
    padding: 10px 5px;
}
.service .sevenbox .sevencont .note {
    font-size: 10px;
}
.service .sevenbox .sevenlist {
    display: flex;
}
.service .sevenbox .sevenlist li {
    width: calc((100% - 40px)/3);
    margin-right: 20px;
}
.service .sevenbox .sevenlist li+li:before {
    left: -12px;
    top: 27px;
    border-left: 8px #24bee7 solid;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
}
.service .sevenbox .sevenlist .listimg img {
    width: 55px;
}
.service .sevenbox .sevenlist .listtxt {
    font-size: 10px;
    margin-top: 10px;
}
}
.pdtop {
    margin-block-start: -166px;
    padding-block-start: 166px;
}
.faq {
    padding: 60px 0 70px;
    background: -moz-linear-gradient(left, #1b57a5, #69d2e9);
    background: -webkit-gradient(linear, left, from(#1b57a5), to(#69d2e9));
    background: -webkit-linear-gradient(left, #1b57a5, #69d2e9);
    background: -o-linear-gradient(left, #1b57a5, #69d2e9);
    background: -ms-linear-gradient(left, #1b57a5, #69d2e9);
    -pie-background: linear-gradient(left, #1b57a5, #69d2e9);
}
.faq .hdl {
    color: #fff;
    margin-bottom: 55px;
}
.faq .faqanchor {
    display: flex;
}
.faq .faqanchor li {
    width: calc((100% - 60px)/4);
    margin-right: 20px;
}
.faq .faqanchor li:nth-child(4n) {
    margin-right: 0;
}
.faq .faqanchor li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    height: 80px;
    background: #fff;
    font-size: 18px;
    font-weight: 700;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
}
.faq .faqanchor li a:hover {
    background: #e4f7f7;
}
@media (max-width:767px) {
    .pdtop {
    margin-block-start: -60px;
    padding-block-start: 60px;
}
.faq {
    padding: 30px 0;
}
.faq .hdl {
    margin-bottom: 20px;
}
.faq .faqanchor {
    justify-content: space-between;
    flex-wrap: wrap;
    margin: -8px auto;
    max-width: 320px;
}
.faq .faqanchor li {
    width: 47%;
    margin: 8px 0;
}
.faq .faqanchor li a {
    padding: 0 10px;
    height: 50px;
    font-size: 12px;
}
.faq .faqanchor li a img {
    width: 16px;
}
}
.faqblock {
    padding: 75px 0 100px;
    position: relative;
}
.faqblock.bgwhite {
    background: #fff;
}
.faqblock.bgwhite:before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-color: transparent #def1f6;
    border-width: 140px 0 0 14vw;
    border-style: solid;
    left: 0;
    top: 310px;
    z-index: 0;
}
.faqblock.bgwhite:after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-color: transparent #f4f7fa;
    border-width: 0 85.5vw 740px 0;
    border-style: solid;
    right: 0;
    top: 400px;
    transform: skewY(-3.4deg);
    z-index: 0;
}
.faqblock.bgblue {
    background: #e6eef7;
}
.faqblock.bgwhite .faqbox {
    background: #e6eef7;
}
.faqblock.bgwhite .abox {
    background: #fff;
}
.faqblock.bgblue .faqbox {
    background: #fff;
}
.faqblock.bgblue .abox {
    background: #e6eef7;
}
.faqblock .faqhd {
    font-size: 24px;
    font-weight: 700;
    padding-bottom: 2px;
    border-bottom: 2px #b2c0d0 solid;
    margin-bottom: 60px;
}
.faqblock .faqbox {
    margin-top: 30px;
    padding: 30px 35px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
}
.faqblock .faqbox .qbox {
    display: flex;
    align-items: center;
    padding-right: 30px;
    cursor: pointer;
    position: relative;
}
.faqblock .faqbox .qbox:before {
    position: absolute;
    content: "";
    background: #5dafc5;
    width: 20px;
    height: 4px;
    top: 15px;
    right: 0;
    z-index: 0;
}
.faqblock .faqbox .qbox:after {
    position: absolute;
    content: "";
    background: #5dafc5;
    width: 4px;
    height: 20px;
    right: 8px;
    top: 7px;
    transition: all 0.3s!important;
    -moz-transition: all 0.3s!important;
    -webkit-transition: all 0.3s!important;
    z-index: 0;
}
.faqblock .faqbox .qbox.on:after {
    transform: rotate(90deg);
    transition: all 0.3s!important;
    -moz-transition: all 0.3s!important;
    -webkit-transition: all 0.3s!important;
}
.faqblock .faqbox .qbox .qico {
    width: 50px;
    font-size: 21px;
    color: #5dafc5;
    font-weight: 700;
    align-self: flex-start;
    flex-shrink: 0;
}
.faqblock .faqbox .qbox .qtxt {
    font-size: 21px;
    font-weight: 700;
}
.faqblock .faqbox .abox {
    padding: 20px;
    display: none;
    margin-top: 25px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
}
.faqblock .faqbox .aboxin {
    display: flex;
    align-items: flex-start;
}
.faqblock .faqbox .aico {
    color: #ffa12a;
    font-size: 21px;
    font-weight: 700;
    width: 45px;
}
.faqblock .faqbox .acont {
    flex: 1;
    font-size: 18px;
}
.faqblock .faqbox .acont a {
    color: #5dafc5;
}
.faqblock .faqbox .fcorange {
    color: #ffa12a;
}
.faqblock .viewmore {
    display: none;
}
@media (max-width:767px) {
    .faqblock {
    padding: 35px 0 40px;
}
.faqblock.bgwhite:before {
    border-width: 27.3vw 0 0 28vw;
    top: 40px;
}
.faqblock.bgwhite:after {
    border-width: 0 72vw 58.6vw 0;
    top: 90px;
    transform: skewY(-20deg);
}
.faqblock .faqhd {
    font-size: 16px;
    margin-bottom: 35px;
}
.faqblock .faqbox {
    margin-top: 25px;
    padding: 15px;
}
.faqblock .faqbox .qbox {
    padding-right: 20px;
}
.faqblock .faqbox .qbox:before {
    width: 10px;
    height: 2px;
    top: 10px;
}
.faqblock .faqbox .qbox:after {
    width: 2px;
    height: 10px;
    right: 4px;
    top: 6px;
}
.faqblock .faqbox .qbox .qico {
    width: 30px;
    font-size: 16px;
}
.faqblock .faqbox .qbox .qtxt {
    font-size: 16px;
    line-height: 1.68;
}
.faqblock .faqbox .abox {
    padding: 20px 20px 20px 15px;
    margin-top: 15px;
}
.faqblock .faqbox .aico {
    font-size: 16px;
    width: 30px;
}
.faqblock .faqbox .acont {
    font-size: 16px;
}
.faqblock .faqmore {
    display: none;
}
.faqblock .viewmore {
    display: flex;
    margin-top: 50px;
    justify-content: center;
}
.faqblock .viewmore img {
    width: 195px;
}
.faqblock .viewmore.on {
    display: none;
}
}
.sns {
    background: #fff;
    padding-block: 100px;
    position: relative;
}
.sns:before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    border-left: 69vw #e6eef7 solid;
    border-right: 0;
    border-top: 560px solid transparent;
    border-bottom: 560px solid transparent;
    z-index: 0;
}
.sns:after {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-color: transparent #f4f7fa;
    border-width: 560px 30.5vw 0 0;
    border-style: solid;
    right: 0;
    top: 50px;
    transform: skewY(10deg);
    z-index: 0;
}
.sns .snsbtm {
    position: absolute;
    width: 0;
    height: 0;
    border-color: transparent #def1f6;
    border-width: 670px 98.6vw 0 0;
    border-style: solid;
    right: 0;
    bottom: 0;
    z-index: 0;
}
.snstit {
    text-align: center;
    font-weight: 700;
    margin-bottom: 15px;
    color: #244266;
    position: absolute;
    inset-block-start: 0;
    width: 100%;
    z-index: 1;
}
.sns .snsinner {
    width: 100%;
    margin: 0 auto;
    padding: 0 25px;
    position: relative;
    z-index: 1;
}
.sns .snsbox {
    position: relative;
}
.sns .snslogo {
    text-align: center;
    margin-block-end: 35px;
}
/* .sns-scroll {
    width: 100%;
    max-width: 1150px;
    margin-inline: auto;
    overflow-x: auto;
    display: flex;
}
.sns .snslist {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
} */
.sns .snslist li {
    width: 300px;
    position: relative;
    padding-block: 35px 30px;
    padding-inline: 10px;
}
.snscont {
    height: 100%;
    overflow: hidden;
    border-radius: 14px;
    box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
}
.snstw {
    position: relative;
    z-index: 2;
}
.snstw:after {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0;
    display: block;
    width: 100%;
    height: 1000%;
    background: #fff;
    z-index: -1;
    content: "";
    border-radius: 14px;
}
.twitter-tweet {
    margin-block: 0!important;
    position: relative;
    margin-inline: auto;
}
.twitter-tweet:before {
    position: absolute;
    inset: 0;
    display: block;
    margin: auto;
    border: 4px solid #fff;
    width: calc(100% - 8px);
    height: calc(100% - 4px);
    display: block;
    z-index: 10;
    content: "";
    border-radius: 14px;
    pointer-events: none;
}
@media (max-width:767px) {
    .sns {
    background: #fff;
    padding-block: 70px 100px;
    position: relative;
}
/* .sns .snslist {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: 20px;
    overflow: auto;
    display: flex;
    scroll-snap-type: x mandatory;
}
.sns .snslist li {
    scroll-snap-align: start;
    width: 100%;
    flex: none;
} */
}
@keyframes show {
    from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
html.lock {
    overflow: hidden;
}
#globalHeader {
    position: fixed;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    height: 100px;
    padding-top: 20px;
}
@media screen and (max-width:767px) {
    #globalHeader {
    padding-top: 0;
    height: 60px;
    background-color: #fff;
}
}
#globalHeader .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    display: -webkit-flex;
    flex-wrap: nowrap;
}
@media screen and (max-width:767px) {
    #globalHeader .inner {
    height: 100%;
    padding: 0 15px 0 30px;
}
#globalHeader .inner .logo img {
    width: 165px;
    vertical-align: middle;
}
}
@media screen and (max-width:767px) {
    #globalHeader .inner .btn {
    display: none!important
}
}
#globalHeader .inner .btn a {
    display: flex;
    justify-content: center;
    align-items: center;
    display: -webkit-flex;
    flex-wrap: nowrap;
    width: 220px;
    height: 55px;
    border-radius: 55px;
    background-color: #244266;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    box-shadow: 0 4px 10px 1px rgba(100, 100, 99, .4);
}
@media screen and (min-width:768px) {
    #globalHeader .inner .btn a: hover {
    background-color: #ffa12a;
}
}
#globalHeader .inner .btn a span {
    padding-left: 25px;
    background: url(../img/arrow_btn.png) no-repeat left center;
    background-size: 10px auto;
}
@media screen and (min-width:768px) {
    #globalHeader .inner .sp-menu {
    display: none;
}
}
@media screen and (max-width:767px) {
    #globalHeader .inner .sp-menu {
    width: 40px;
    height: 40px;
    background: url(../img/sp-menu01.png) no-repeat;
    background-size: 100% auto;
}
#globalHeader .inner .sp-menu.active {
    background: url(../img/sp-menu02.png) no-repeat;
    background-size: 100% auto;
}
}
body.headerFixed #globalHeader {
    background-color: #fff;
}
.mv {
    padding-top: 120px;
    padding-bottom: 50px;
    background-color: #f4f7fa;
}
@media screen and (max-width:767px) {
    .mv .pc {
    display: none;
}
}
@media screen and (min-width:768px) {
    .mv .sp {
    display: none;
}
}
.mv .mv-box {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    display: -webkit-flex;
    flex-wrap: nowrap;
}
@media screen and (max-width:767px) {
    .mv .mv-box {
    flex-wrap: wrap;
    padding: 0 4vw;
}
}
.mv .mv-box .col01 {
    width: 81%;
    padding-top: 40px;
}
.mv .mv-box .col01 .img img {
    width: 100%}
@media screen and (max-width:767px) {
    .mv .mv-box .col01 {
    width: 100%;
    order: 2;
    padding-top: 0;
}
}
.mv .mv-box .col01 .text01 {
    margin-top: 10px;
    text-align: center;
    font-weight: 700;
    text-align: justify;
    text-align-last: justify;
}
@media screen and (max-width:767px) {
    .mv .mv-box .col01 .text01 {
    font-size: clamp(30px, 8vw, 61px);
}
}
@media screen and (max-width:375px) {
    .mv .mv-box .col01 .text01 {
    font-size: 8vw;
}
}
@media screen and (min-width:768px) {
    .mv .mv-box .col01 .text01 {
    font-size: clamp(38px, 4.952vw, 52px);
}
}
@media screen and (max-width:500px) {
    .mv .mv-box .col01 .text01 {
    letter-spacing: -.05em;
}
}
@media screen and (max-width:350px) and (max-width:767px) {
    .mv .mv-box .col01 .text01 {
    font-size: clamp(28px, 7.467vw, 57px);
}
}
@media screen and (max-width:350px) and (max-width:375px) {
    .mv .mv-box .col01 .text01 {
    font-size: 7.4666666667vw;
}
}
@media screen and (max-width:350px) and (min-width:768px) {
    .mv .mv-box .col01 .text01 {
    font-size: clamp(23px, 3.048vw, 32px);
}
}
.mv .mv-box .col01 .text02 {
    font-weight: 700;
    text-align: center;
    letter-spacing: .15em;
}
@media screen and (max-width:767px) {
    .mv .mv-box .col01 .text02 {
    font-size: clamp(32px, 8.533vw, 65px);
}
}
@media screen and (max-width:375px) {
    .mv .mv-box .col01 .text02 {
    font-size: 8.5333333333vw;
}
}
@media screen and (min-width:768px) {
    .mv .mv-box .col01 .text02 {
    font-size: clamp(14px, 1.905vw, 20px);
}
}
@media screen and (max-width:767px) {
    .mv .mv-box .col01 .text02 {
    display: none;
}
}
.mv .mv-box .col02 {
    position: relative;
    width: 40%;
    text-align: right;
}
@media screen and (max-width:767px) {
    .mv .mv-box .col02 {
    width: 100%}
.mv .mv-box .col02 .logo {
    text-align: center;
}
.mv .mv-box .col02 .sp-box {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    display: -webkit-flex;
    flex-wrap: nowrap;
    margin-top: 20px;
}
.mv .mv-box .col02 .sp-box .img {
    flex-shrink: 0;
}
.mv .mv-box .col02 .sp-box .img img {
    width: 100px;
}
}
@media screen and (max-width:767px) and (max-width:320px) {
    .mv .mv-box .col02 .sp-box .img img {
    width: 75px;
}
}
.mv .mv-box .col02 .smartphone {
    display: inline-block;
    position: relative;
    background: url(../img/mv-sp-display.png) no-repeat center center;
    background-size: 100% 100%}
.mv .mv-box .col02 .smartphone img {
    position: relative;
    z-index: 2;
    width: calc(100% + 2px);
    height: auto;
}
.mv .mv-box .col02 .smartphone .kirakira {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: auto 80%;
    background-image: url(../img/mv-sp-anim01.png);
}
.mv .mv-box .col02 .smartphone .kirakira.k01 {
    background-image: url(../img/mv-sp-anim02.png);
}
.mv .mv-box .col02 .smartphone .kirakira img {
    position: absolute;
    top: 165px;
    left: 63px;
    width: 156px;
}
@media screen and (max-width:1050px) {
    .mv .mv-box .col02 .smartphone .kirakira img {
    top: 35%;
    left: 22%;
    width: 51%}
}
.mv .mv-box .col02 .smartphone .kirakira img.hide {
    display: none;
}
.mv .mv-box .col02 .smartphone .kirakira img.show {
    display: block;
    animation: show 1s linear;
    animation-fill-mode: forwards;
}
.mv .mv-box .col02 .smartphone .video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
}
.mv .mv-box .col02 .smartphone .video.show {
    opacity: 1;
}
.mv .mv-box .col02 .smartphone .video.hide {
    transition: opacity 0.6s;
    opacity: 0;
}
.mv .mv-box .col02 .smartphone .video video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 8px);
    height: calc(100% - 8px);
    object-fit: cover;
}
@media screen and (max-width:260px) {
    .mv .mv-box .col02 .smartphone .video video {
    width: calc(100% - 4px);
    height: calc(100% - 4px);
}
}
@media screen and (max-width:767px) {
    .mv .mv-box .col02 .smartphone {
    margin-top: 20px;
    width: 39.7333vw;
    height: 63.3vw;
}
}
@media screen and (max-width:767px) and (max-width:260px) {
    .mv .mv-box .col02 .smartphone {
    width: auto;
    height: auto;
    aspect-ratio: 53 / 85;
}
}
.mv .mv-box .col02 .eyecatch {
    position: absolute;
    z-index: 5;
    top: -10px;
    left: -110px;
    width: 170px;
    height: 170px;
    border-radius: 170px;
    color: #fff;
    background-color: #5dafc5;
}
@media screen and (max-width:1050px) {
    .mv .mv-box .col02 .eyecatch {
    left: -12vw;
    width: 17vw;
    height: 17vw;
    border-radius: 17vw;
}
}
@media screen and (max-width:1000px) {
    .mv .mv-box .col02 .eyecatch {
    left: -40%}
}
@media screen and (max-width:880px) {
    .mv .mv-box .col02 .eyecatch {
    left: -40%}
}
@media screen and (max-width:767px) {
    .mv .mv-box .col02 .eyecatch {
    display: none;
}
}
.mv .mv-box .col02 .eyecatch .inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    text-align: center;
}
.mv .mv-box .col02 .eyecatch .inner .text01 {
    font-family: 'Montserrat', sans-serif;
}
@media screen and (max-width:767px) {
    .mv .mv-box .col02 .eyecatch .inner .text01 {
    font-size: clamp(12px, 3.2vw, 24px);
}
}
@media screen and (max-width:375px) {
    .mv .mv-box .col02 .eyecatch .inner .text01 {
    font-size: 3.2vw;
}
}
@media screen and (min-width:768px) {
    .mv .mv-box .col02 .eyecatch .inner .text01 {
    font-size: clamp(17px, 2.286vw, 24px);
}
}
@media screen and (max-width:767px) {
    .mv .mv-box .col02 .eyecatch .inner .text02 {
    font-size: clamp(10px, 2.667vw, 20px);
}
}
@media screen and (max-width:375px) {
    .mv .mv-box .col02 .eyecatch .inner .text02 {
    font-size: 2.6666666667vw;
}
}
@media screen and (min-width:768px) {
    .mv .mv-box .col02 .eyecatch .inner .text02 {
    font-size: clamp(14px, 1.905vw, 20px);
}
}
.mv .mv-nav {
    margin-top: 30px;
}
@media screen and (max-width:767px) {
    .mv .mv-nav {
    margin-top: 20px;
}
}
.mv .mv-nav ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    display: -webkit-flex;
    flex-wrap: nowrap;
}
@media screen and (max-width:767px) {
    .mv .mv-nav ul {
    flex-wrap: wrap;
}
.mv .mv-nav ul li {
    width: 49%}
.mv .mv-nav ul li img {
    width: 100%}
.mv .mv-nav ul li:not(:nth-of-type(-n+2)) {
    margin-top: 10px;
}
}
@media screen and (min-width:768px) {
    .mv .mv-nav ul li {
    width: 22.6%}
.mv .mv-nav ul li img {
    width: 100%}
}
@media screen and (min-width:768px) {
    body.headerFixed .mv {
    padding-top: 186px;
}
}
@media screen and (max-width:767px) {
    .global-navi {
    position: fixed;
    z-index: 10;
    top: 60px;
    left: 0;
    width: 100%;
    display: none;
    padding: 50px 0 60px;
    background-color: #244266;
    text-align: center;
}
.global-navi ul li:not(:nth-of-type(1)) {
    margin-top: 30px;
}
.global-navi ul li a {
    color: #fff;
    text-decoration: none;
    font-size: 20px;
    font-weight: 700;
}
.global-navi.active {
    display: block;
    animation: show 0.3s linear;
}
}
@media screen and (min-width:768px) {
    .global-navi {
    height: 66px;
    border-top: 1px solid #eaeaea;
    border-bottom: 1px solid #eaeaea;
    background-color: #fff;
}
.global-navi ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    display: -webkit-flex;
    flex-wrap: nowrap;
    max-width: 920px;
    width: 100%;
    margin: 0 auto;
}
.global-navi ul li {
    position: relative;
    width: 20%}
.global-navi ul li::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 1px;
    height: 30px;
    background-color: #eaeaea;
}
.global-navi ul li:nth-of-type(5)::after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 1px;
    height: 30px;
    background-color: #eaeaea;
}
.global-navi ul li a {
    display: block;
    padding: 20px 0;
    width: 100%;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    color: #26303b;
    text-align: center;
}
}
@media screen and (min-width:768px) and (min-width:768px) {
    .global-navi ul li a: hover {
    color: #5cafc4;
}
}
@media screen and (min-width:768px) and (max-width:900px) {
    .global-navi ul li a {
    font-size: 14px;
}
}
@media screen and (min-width:768px) {
    body.headerFixed .global-navi {
    position: fixed;
    z-index: 10;
    top: 100px;
    left: 0;
    width: 100%}
}

#globalHeader .inner .btn .cta-freedial {
  background-color: #00a73c
}

#globalHeader .inner .btn a.cta-freedial::before {
  content: "";
  background: url('data:image/svg+xml;utf8,<?xml version="1.0" encoding="UTF-8"?><svg id="a" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 139.47 79.8"><g id="b"><path d="m124.38,72.25c0,4.16,3.38,7.55,7.54,7.55s7.55-3.39,7.55-7.55-3.39-7.54-7.55-7.54-7.54,3.38-7.54,7.54m.87,0c0-3.68,2.99-6.68,6.67-6.68s6.67,3,6.67,6.68-2.99,6.67-6.67,6.67-6.67-3-6.67-6.67Z" fill="%23ffffff"/><path d="m135.59,77.13h-1.45l-2.93-4.53h-1.29v4.53h-1.16v-9.97h2.82c.95,0,1.69.23,2.24.69s.82,1.1.82,1.92c0,.61-.2,1.15-.6,1.62-.4.47-.96.79-1.66.96l3.19,4.78m-5.66-5.54h1.46c.61,0,1.11-.17,1.5-.5.38-.34.57-.75.57-1.26,0-1.11-.68-1.67-2.04-1.67h-1.49v3.42h0Z" fill="%23ffffff"/><path d="m30.34,61.13c-6.62,0-14.85-5.06-14.85-15.51,0-8.11,8.03-14.58,14.85-18.46,6.82,3.87,14.84,10.35,14.84,18.46,0,10.45-8.22,15.51-14.84,15.51m45.5-15.68c0-8.11,8.03-14.59,14.84-18.46,6.82,3.87,14.84,10.35,14.84,18.46,0,10.44-8.22,15.51-14.84,15.51s-14.84-5.06-14.84-15.51M120.74,12.26c-12.27,0-23.14,3.06-30.53,6.9-7.38-3.84-17.58-6.9-29.85-6.9s-22.47,3.06-29.85,6.9c-7.38-3.84-18.24-6.9-30.51-6.9v6.9c7.25,0,16.05,1.36,22.96,4.36-7.46,4.99-14.84,12.55-14.84,22.09,0,12.61,10.74,22.25,22.39,22.25s21.87-9.64,21.87-22.25c0-9.54-6.86-17.1-14.32-22.09,6.91-3,15.05-4.36,22.31-4.36s15.4,1.36,22.3,4.36c-7.46,4.99-14.32,12.55-14.32,22.09,0,12.61,10.22,22.25,21.87,22.25s22.22-9.64,22.22-22.25c0-9.54-7.21-17.1-14.68-22.09,6.91-3,15.73-4.36,22.98-4.36,0,0,0-6.9,0-6.9Z" fill="%23ffffff"/></g></svg>') no-repeat center center;
  background-size: contain;
  width: 42px;
  height: 24px
}

#globalHeader .inner .btn .cta-freedial .d {
  fill: transparent
}

#globalHeader .inner .btn {
  display: flex;
  gap: 0 10px
}

.sp-cta-freedial {
  display: none
}

@media screen and (max-width:767px) {
  .sp-cta-freedial svg {
    height: 24px;
    fill: transparent;
    vertical-align: middle;
    transform: translateY(-3px)
  }
  .sp-cta-freedial {
    background-color: #00a73c;
    color: #fff;
    display: block;
    text-align: center;
    border-radius: 100px;
    padding: 13px 0 15px;
    box-shadow: 1px 2px 3px rgba(0, 0, 0, .2);
    font-weight: 700
  }
  .sp-cta-freedial {
    font-size: clamp(12px, calc(12vw / 375 * 100), 16px)
  }
}

.fixed-btn {
  background: none!important;
  display: none
}

@media screen and (max-width:767px) {
  .fixed-btn {
    display: block;
    transition-duration: .4s!important;
    position: fixed;
    z-index: 10;
    bottom: 0;
    width: 100%;
    height: 70px;
    text-align: center
  }
  .fixed-btn img {
    position: relative;
    left: auto;
    transform: none;
    top: auto;
    padding: 0;
    margin: 0;
    width: 45%
  }
}

#ac-hikaku.have:before {
    border-color: transparent;
    border-width: 0;
}
#ac-hikaku.bgblue2 {
    background-color: #f2f6f9;
}
#ac-hikaku .havehd {
    padding-top: 80px;
}
#ac-hikaku p.txt-hosoku {
    margin-top: 30px;
    font-size: .8rem;
}



/*************************************************
/* 2024.10.追加コンテンツ *
*************************************************/


#ac-hikaku .havehd{
    margin-bottom: 50px;
}

#ac-hikaku .zero{
    color: #24BEE7;
    font-family: "adventorbold", sans-serif;
}
#ac-hikaku .havehd .txt-small{
font-size: 40px;
}

#ac-hikaku .compare .comparehd{
    width: calc(882/1440*100%);
    max-width: 670px;
    background-color: #244266;
    border-radius: 8px;
    margin: 0 auto 60px;
    padding: 5px 0;
    color: #fff;
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    letter-spacing: .05em;
    position: relative;
    z-index: 2;
}


#ac-hikaku .compare .wrappar{
    background-color: #fff;
    padding: 65px 75px 10px 75px;
    border-radius: 10px;
    width: calc(1042/1440*100%);
    margin: -80px auto 90px auto;
    box-shadow: 0 3px 7px rgba(220, 230, 233, 1);
    position: relative;
    max-width: 920px;
}

#ac-hikaku .compare .wrappar .arrow{
    position: absolute;
    left: 50%;
    top: 160px;
    transform: translateX(-50%);
    width: 140px;
}


/* AppleCare+より安く使える！ */
#ac-hikaku .compare .gaphd{
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 0;
    color: #254365;
    display: flex;
    align-items: center;
    position: relative;
    justify-content: center;
    margin: 0 auto 20px;
}

#ac-hikaku .compare .gaphd::after{
    content: "";
    position: absolute;
    left: 50%;
    bottom: 8px; 
    transform: translateX(-50%);
    width: 90%;
    max-width: 630px;
    height: 40px;
    border-radius: 5px;
    background-color: #DBECFF;
    z-index: -1; 
}

#ac-hikaku .compare .gaphd .number{
font-size: 30px;
}

#ac-hikaku .compare .gaphd .unit{
    font-size: 20px;
}

#ac-hikaku .compare .gaphd img{
    width: 380px;
}


#ac-hikaku .compare .ctn{
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* 料金シミュレーションここから */

#ac-hikaku .compare .simu_hd{
    font-size: 34px;
    font-weight: bold;
    text-align: center;
    color: #254365;
    letter-spacing: .1em;
    width: fit-content;
    margin: 0 auto 30px;
    position: relative;
    z-index: 2;
}

#ac-hikaku .compare .simu_hd span{
    position: absolute;
    left: -35px;
    top: 60%;
    width: 32px;
    height: 32px;
    transform: translateY(-50%);
}

#ac-hikaku .compare .simu_hd::after{
    content: "";
    position: absolute;
    left: 47%;
    bottom: 0px; 
    transform: translateX(-50%);
    width: 113%;
    height: 20px;
    border-radius: 3px;
    background-color: #CDE8F3;
    z-index: -1;
}



#ac-hikaku .compare .wrappar_simu{
    margin-top: 0;
    padding: 40px 75px 40px 75px;
}

#ac-hikaku .compare .ctn div{
    flex-basis: 48%;
}

#ac-hikaku .compare .ctn div .ttl_{
    text-align: center;
    margin: 0 auto 20px;
}

#ac-hikaku .compare .ctn div .ttl_ap{
    background-color: #F2F6F9;
    border-radius: 10px;
    width: fit-content;
    padding: 8px 15px;
    margin-bottom: 0;
    color: #2CB3DD;
    font-size: 34px;
    font-weight: 600;
} 

#ac-hikaku .compare .ctn div .havehd{
    margin: 0 auto;
    padding-top: 0;
    line-height: 0;
}
/* 
/* #ac-hikaku .compare .ctn div .ttl_mb .hdimg{
    width: 320px;
} */ */

#ac-hikaku .compare .img_ctn{
    width: 98%;
    max-width: 740px;
    margin: 0 auto 10px;
    text-align: center;
}


#ac-hikaku .compare .ctn_price{
    margin-bottom: 20px;
}

#ac-hikaku .compare .ctn .price_ctt{
    flex-basis: 47%;
    padding: 12px 0px;
    border-radius: 10px;
    margin: 0 auto;
}

#ac-hikaku .is_sp{
    display: none;
}

#ac-hikaku .compare .ctn .price_ctt:nth-child(1){
    background-color: #F2F6F9;
}
#ac-hikaku .compare .ctn .price_ctt:nth-child(2){
    background-color: #EDF5FF;
}



  #ac-hikaku .price_table {
    border-collapse: collapse;
    margin: 0 auto;
  }

  #ac-hikaku .price_table tr{
    vertical-align: sub;
    position: relative;
  }

  #ac-hikaku .price_table tr:nth-child(2) td{
    padding: 8px 4px 8px 8px;
  }

  
  #ac-hikaku .price_table td {
    padding: 8px 4px 0px 8px;
    font-size: 20px;
    font-weight: 600;
  }
  
  #ac-hikaku .price_table .x img{
    vertical-align: middle;
    margin-right: 5px;
    margin-left: 5px;
  }

  #ac-hikaku .price_table .number {
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    font-size: 24px;
  }
  
  #ac-hikaku .price_table .unit {
    font-size: 16px;
  }
  
  #ac-hikaku .price_table .zero {
    font-weight: bold;
    font-size: 50px;
    vertical-align: inherit;
    position: absolute;
    bottom: -13px;
  }

  #ac-hikaku .price_table .total-row {
    border-top: 1px solid #26303B;
  }

  #ac-hikaku .price_table .total-row  td{
    padding-top: 0px;
  }

  #ac-hikaku .price_table .total-row .number{
    font-size: 36px;
  }
  #ac-hikaku .price_table .total-row .unit{
    font-size: 24px;
  }

  
  #ac-hikaku .price_table .align-right {
    text-align: right;
  }
  
  #ac-hikaku .price_table .align-left {
    text-align: left;
    font-size: 14px;
  }

  #ac-hikaku .price_note{
    text-align: right;
    font-size: 14px;
    margin-right: 20px;
  }

  #ac-hikaku .price_note_top{
    margin-right: 0px;
  }


  /* simplebar */

  #ac-hikaku .scroll{
    margin-bottom: 30px;
  }

  #ac-hikaku .simplebar-track.simplebar-horizontal {
    height: 10px;
    background: #EEF0F1;
    border-radius: 10px;
}

#ac-hikaku .simplebar-scrollbar {
        height: 8px;
        background: #254365;
        border-radius: 8px;
        /* top: 0; */
    }


  /* 料金シミュレーションここまで */


@media (max-width:1200px) {
    #ac-hikaku .compare .wrappar{
        width: 90%;
        padding: 85px 0px 20px 0px;
        margin: -80px auto 90px auto;
    }

        #ac-hikaku .compare .wrappar_simu{
            margin-top: 0;
            padding: 25px 0px 20px 0px;
        }

    #ac-hikaku .havehd .txt-small{
        font-size: 24px;
        }
        #ac-hikaku .is_pc{
            display: none;
        }
}
@media (max-width:460px) {
    #ac-hikaku .compare .wrappar{
        padding: 15px 0px 10px 0px!important;
    }
}

@media (max-width:767px) {
    #ac-hikaku .compare .wrappar{
        width: 97%;
        padding: 45px 0px 10px 0px;
        margin: -80px auto 60px auto;
    }
    #ac-hikaku .compare .wrappar .arrow{
        position: absolute;
        top: 145px;
        width: 100px;
    }
    #ac-hikaku .compare .inner{
        width: 100%;
        padding: 0 10px;
        margin: 0px auto;
    }

    #ac-hikaku .compare .comparehd{
        width: calc(280/375*100%);
        border-radius: 8px;
        margin: 0 auto 60px;
        padding: 4px 0;
        font-size: 16px;
        font-weight: 550;
    }

    #ac-hikaku .compare .gaphd{
        font-size: 24px;
        display: block;
        position: relative;
        margin: 0 auto;
        text-align: center;
        line-height: 2.4;
    }

    #ac-hikaku .compare .gaphd .is_sp_line{
        position: relative;
    }

    #ac-hikaku .compare .gaphd .is_sp_line::after{
        content: "";
        position: absolute;
        left: 50%;
        bottom: -6px; 
        transform: translateX(-50%);
        width: 110%;
        height: 14px;
        border-radius: 3px;
        background-color: #DBECFF;
        z-index: -1; 
    }

    
    #ac-hikaku .compare .gaphd::after{
        content: "";
        position: absolute;
        left: 50%;
        bottom: 8px; 
        transform: translateX(-50%);
        width: 295px;
        height: 25px;
        border-radius: 5px;
        background-color: #DBECFF;
        z-index: -1; 
    }
    
    #ac-hikaku .compare .gaphd .number{
    font-size: 28px;
    }
    
    #ac-hikaku .compare .gaphd .unit{
        font-size: 18px;
    }
    
    #ac-hikaku .compare .gaphd img{
        width: 280px;
    }


    /* #ac-hikaku .compare .ctn div .ttl_ap{
        border-radius: 5px;
        padding: 3px 10px;
        margin-bottom: 0;
        font-size: 20px;
    }
    

    #ac-hikaku .compare .ctn div .ttl_mb .hdimg{
        width: 160px;
        padding-top: 15px;
    }

    #ac-hikaku .compare .ctn_ttl{
        margin-bottom: 0px;
    } */

    #ac-hikaku .compare .img_ctn{
        width: 100%;
        margin: 0 auto 30px;
    }
    
    #ac-hikaku .compare .img_ctn img{
        width: 100%;
    }


    /* SP 費用テーブル 料金シミュレーション　ここから */

    #ac-hikaku .compare .wrappar_simu{
        margin-top: 0;
        padding: 25px 0px 20px 0px;
    }
    
    #ac-hikaku .compare .wrappar_simu .inner{

        max-width: 430px;
    }

    #ac-hikaku .compare .simu_hd{
        font-size: 22px;
        margin: 0 auto 20px;
    }
    #ac-hikaku .compare .simu_hd span{
        left: -28px;
        top: 60%;
        width: 23px;
        height: 23px;
    }
    #ac-hikaku .compare .simu_hd::after{
        width: 110%;
        height: 12px;
    }

    #ac-hikaku .price_note_top{
        font-size: 12px;
      }
}

@media screen and (max-width: 1024px) {  

#ac-hikaku .compare .ctn {
    /* overflow: auto; */
    gap: 0 10px;
}

.scroll{
    overflow: auto;
}

#ac-hikaku .compare .ctn .price_ctt{
    flex: 0 0 85%;
    max-width: 310px;
    min-height: 170px;
}
#ac-hikaku .is_sp{
    display: block;
}

#ac-hikaku .compare .ctn .price_ctt .ttl_ap{
    font-size: 16px;
}

#ac-hikaku .compare .ctn .price_ctt .ttl_mb .hdimg{
    padding-top: 10px;
    width: 115px;
}

#ac-hikaku .price_table td {
    font-size: 14px;
}

#ac-hikaku .price_table tr:nth-child(2) td{
    padding: 0px 2px 8px 8px;
  }

#ac-hikaku .price_table .x img{
    margin-right: 3px;
    margin-left: 3px;
}

#ac-hikaku .price_table .number {
    font-size: 18px;
}

#ac-hikaku .price_table .unit {
    font-size: 12px;
}

#ac-hikaku .price_table .align-right {
    position: relative;
}

 #ac-hikaku .price_table .zero {
    font-size: 34px;
    bottom: -10px;
    top: 30%;
    transform: translateY(-50%);
}

  #ac-hikaku .price_table .total-row .number{
    font-size: 20px;
  }
  #ac-hikaku .price_table .total-row .unit{
    font-size: 14px;
  }

  #ac-hikaku .price_note{
    text-align: right;
    font-size: 12px;
    margin-right: 10px;
    line-height: 1.3;
  }
}

/* 浮いたお金でこんなものが買える */
#ac-hikaku .buy .buyhd{
    text-align: center;
    width: calc(845/900*100%);
    margin: 0 auto 45px;
}

#ac-hikaku .buy_list{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    text-align: center;
    width: 90%;
    margin: 0 auto 90px;
}

#ac-hikaku .buy_list li{
    flex-basis: 35%;
    max-width: 220px;
}


#ac-hikaku .buy_list li .buy_pro{
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 0px;
    color: #394450;
}


#ac-hikaku .buy_list li .buy_price{
    position: relative;
    margin-bottom: 20px;
    color: #254365;
}


#ac-hikaku .buy_list li .number{
    font-family: 'Roboto', sans-serif;
    font-weight: bold;
    font-size: 52px;
    letter-spacing: 0;
}
#ac-hikaku .buy_list li .unit{
    font-weight: bold;
    font-size: 28px;
    position: relative;
}

#ac-hikaku .buy_list li .buy_price::after{
    content: "";
    position: absolute;
    left: 50%;
    bottom: 14px; 
    transform: translateX(-50%);
    width: 215px;
    height: 30px;
    background-color: #DBECFF;
    z-index: -1; 
}

#ac-hikaku .buy_list li img{
    max-width: 200px;
}



/* SP 浮いたお金でこんなものが買える */
@media (max-width:767px) {
    #ac-hikaku .buy .buyhd{
        margin:0 auto 25px;
    }
    #ac-hikaku .buy_list{
        justify-content: space-evenly;
        gap: 20px 20px;
        margin-bottom: 50px;
            width: 100%;
    }

    #ac-hikaku .buy_list li{
        flex-basis: 45%;
        max-width: 150px;
    }

    #ac-hikaku .buy_list li img{
        max-width: 120px;
        margin-top: -15px;
    }

    #ac-hikaku .buy_list li .buy_pro{
        font-size: 16px;
        margin-bottom: 0px;
    }
    #ac-hikaku .buy_list li .buy_price{
        margin-top: -5px;
    }

    #ac-hikaku .buy_list li .number{
        font-size: 38px;
    }
    #ac-hikaku .buy_list li .unit{
        font-size: 18px;
    }
    #ac-hikaku .buy_list li .buy_price::after{
        left: 50%;
        bottom: 8px; 
        width: 150px;
        height: 17px;
    }

}

/*************************************************
/* 2024.10.追加コンテンツここまで *
*************************************************/


#ac-hikaku table td.borbtm, #ac-hikaku table th.borbtm {
    border-bottom: 1px #26303b solid;
}
#ac-hikaku table th.borbtmright {
    border-bottom: 1px #26303b solid;
    border-right: 1px #26303b solid;
}
#ac-hikaku table th.borright {
    border-right: 1px #26303b solid;
}
#ac-hikaku table .w20 {
    width: 20%}
#ac-hikaku table .txtlar {
    font-size: 20px;
    line-height: 1.2;
    font-weight: 700;
}
#ac-hikaku table .logo-position {
    display: inline-block;
    margin-top: 8px;
}
#ac-hikaku table td ul {
    text-align: left;
    padding-left: 40px;
}
#ac-hikaku table td ul li {
    text-align: left;
    list-style: disc;
}
.havehd .hdimg-2 {
    display: inline-block;
    vertical-align: top;
    margin: 0 10px 0 0;
    position: relative;
}
.havehd .hdimg-2:before {
    position: absolute;
    content: "";
    background: #5dafc5;
    width: 100%;
    height: 2px;
    bottom: -6px;
    left: 0;
    z-index: 0;
}
img.hikaku-midashi-pc {
    display: block;
    margin: 0 auto;
}
img.hikaku-midashi-sp {
    display: none;
}
.br-sp {
    display: none;
}
.have .havescroll-no {
    margin-top: 40px;
}
.have .havescroll-no .havetable {
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    border-radius: 10px;
    -webkit-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -moz-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -ms-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    -o-box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    box-shadow: 0 3px 7px rgba(34, 99, 143, .4);
    overflow: hidden;
}
.have .havescroll-no .havetable table {
    width: 100%}
.have .havescroll-no .havetable table th+th, .have .havescroll-no .havetable table td+td {
    border-left: 1px #26303b solid;
}
.have .havescroll-no .havetable table th, .have .havescroll-no .havetable table td {
    width: 25%;
    text-align: center;
    vertical-align: middle;
    font-size: 17px;
    font-weight: 700;
}
.have .havescroll-no .havetable table th {
    background: #e6eef7;
    padding: 20px 5px;
}
.have .havescroll-no .havetable table td {
    background: #fff;
    padding: 27px 5px;
}

.have .havescroll-no .havetable table .line-orange {
    border-left: 8px solid #FFA12B;
    border-right: 8px solid #FFA12B;
}

.have .havescroll-no .havetable table .line-orange_top {
    border-top: 8px solid #FFA12B;
}

.have .havescroll-no .havetable table .line-orange_bottom {
    border-bottom: 8px solid #FFA12B;
}


.have .havescroll-no .havetable table td .ffadvbold {
    font-size: 28px;
    line-height: 1.2;
}
@media (max-width:767px) {
    #ac-hikaku .havehd {
    margin-bottom: 30px;
}
#ac-hikaku .havehd {
    padding-top: 0;
}
#ac-hikaku table .txtlar {
    font-size: 14px;
    line-height: 1.2;
    font-weight: 700;
}
img.hikaku-midashi-pc {
    display: none;
}
img.hikaku-midashi-sp {
    display: block;
    margin: 0 auto;
}
.br-sp {
    display: block;
}
#ac-hikaku table td ul {
    text-align: left;
    padding-left: 20px;
}
.have .havescroll-no {
    width: 100%;
    padding: 0;
}
.have .havescroll-no .havetable {
    width: 100%;
    margin: 0 auto;
    -webkit-box-shadow: 0 2px 4px rgba(34, 99, 143, .4);
    -moz-box-shadow: 0 2px 4px rgba(34, 99, 143, .4);
    -ms-box-shadow: 0 2px 4px rgba(34, 99, 143, .4);
    -o-box-shadow: 0 2px 4px rgba(34, 99, 143, .4);
    box-shadow: 0 2px 4px rgba(34, 99, 143, .4);
    overflow: hidden;
}
.have .havescroll-no .havetable table th, .have .havescroll-no .havetable table td {
    font-size: 13px;
}
.have .havescroll-no .havetable table th {
    padding: 15px 5px;
}
.have .havescroll-no .havetable table td {
    background: #fff;
    padding: 15px 5px;
}
.have .havescroll-no .havetable table td .ffadvbold {
    font-size: 18px;
}

.have .havescroll-no .havetable table .line-orange {
    border-left: 4px solid #FFA12B;
    border-right: 4px solid #FFA12B;
}

.have .havescroll-no .havetable table .line-orange_top {
    border-top: 4px solid #FFA12B;
}

.have .havescroll-no .havetable table .line-orange_bottom {
    border-bottom: 4px solid #FFA12B;
}

}

/* sns
----------------------------------------------- */
/*.sns {
  background: #fff;
  padding: 300px 0;
  position: relative;
}

.sns:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  border-left: 69vw #e6eef7 solid;
  border-right: 0;
  border-top: 560px solid transparent;
  border-bottom: 560px solid transparent;
  z-index: 0;
}

.sns:after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-color: transparent #f4f7fa;
  border-width: 560px 30.5vw 0 0;
  border-style: solid;
  right: 0;
  top: 50px;
  transform: skewY(10deg);
  z-index: 0;
}

.sns .snsbtm {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent #def1f6;
  border-width: 670px 98.6vw 0 0;
  border-style: solid;
  right: 0;
  bottom: 0;
  z-index: 0;
}

.sns .snsinner {
  max-width: 1150px;
  margin: 0 auto;
  padding: 0 25px;
  position: relative;
  z-index: 1;
}

.sns .snsbox {
  position: relative;
}

.sns .snslogo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.sns .snslist {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
}

.sns .snslist li {
  width: 31.8%;
  margin: 17px 0;
}
@media screen and (min-width: 1001px) {
  .sns .snslist li .snstw {
    width: 100%;
    height: 420px;
  }
}

.sns .snslist li:nth-child(2) .snscont {
  transform: translateY(-150px);
}

.sns .snslist li:nth-child(5) .snscont {
  transform: translateY(150px);
}

.sns .snscont {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #fff;
  padding: 20px 15px;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  -ms-border-radius: 15px;
  -o-border-radius: 15px;
  border-radius: 15px;
  position: relative;
}

.sns .snscont:before {
  position: absolute;
  content: "";
  z-index: 0;
}

.sns .snscont.sns01:before {
  background: url(../img/arrow_sns01.png) center center no-repeat;
  width: 16px;
  height: 26px;
  left: calc(100% + 10px);
  bottom: 40px;
}

.sns .snscont.sns02:before {
  background: url(../img/arrow_sns02.png) center center no-repeat;
  width: 100%;
  height: 16px;
  left: 0;
  top: calc(100% + 10px);
}

.sns .snscont.sns03:before {
  background: url(../img/arrow_sns03.png) center center no-repeat;
  width: 19px;
  height: 25px;
  right: calc(100% + 10px);
  bottom: 30px;
}

.sns .snscont.sns04:before {
  background: url(../img/arrow_sns04.png) center center no-repeat;
  width: 16px;
  height: 26px;
  top: 95px;
  left: calc(100% + 10px);
}

.sns .snscont.sns05:before {
  background: url(../img/arrow_sns05.png) center center no-repeat;
  width: 100%;
  height: 19px;
  left: 0;
  bottom: calc(100% + 10px);
}

.sns .snscont.sns06:before {
  background: url(../img/arrow_sns06.png) center center no-repeat;
  width: 19px;
  height: 25px;
  right: calc(100% + 10px);
  top: 100px;
}

.sns .snscont .snstit {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 20px;
}

.sns .snscont.light {
  border: 10px #5dafc5 solid;
}

.sns .snscont.dark {
  border: 10px #244266 solid;
}

.sns .snscont.light .snstit {
  color: #5dafc5;
}

.sns .snscont.dark .snstit {
  color: #244266;
}

.sns .snstw .twitter-tweet {
  margin: 0 !important;
}

.sns .snsts {
  display: none;
}

@media (max-width: 1024px) {
  .sns {
    padding: 100px 0;
  }

  .sns .snsbtm {
    display: none;
  }

  .sns .snslist {
    display: none;
  }

  .sns .snslogo {
    position: relative;
    left: auto;
    top: auto;
    transform: translate(0, 0);
    text-align: center;
    margin-bottom: 70px;
  }

  .sns .snsts {
    display: block;
  }
  .sns .snsts .snstw {
    width: 100%;
  }

  .sns .snsts .snsslider {
    margin: 0 -25px;
  }

  .sns .snsts .snsslider .slick-list {
    padding-bottom: 35px !important;
  }

  .sns .snsts .snsslider .slick-slide {
    margin: 0 20px;
  }

  .sns .snsts .snsslider .slick-dots {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 80px;
  }

  .sns .snsts .snsslider .slick-dots li {
    font-size: 0;
    padding: 0;
    margin: 0 20px;
  }

  .sns .snsts .snsslider .slick-dots li button {
    text-indent: -9999px;
    border: none;
    background: #e6eef7;
    outline: none;
    width: 20px;
    height: 20px;
    font-size: 0;
    margin: 0;
    padding: 0;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
  }

  .sns .snsts .snsslider .slick-dots li.slick-active button {
    background: #5dafc5;
  }

  .sns .snscont.dark:before {
    background: url(../img/arrow_dark_sp.png) center center no-repeat;
    width: 100%;
    height: 34px;
    left: 0;
    top: calc(100% + 10px);
  }

  .sns .snscont.light:before {
    background: url(../img/arrow_light_sp.png) center center no-repeat;
    width: 100%;
    height: 34px;
    left: 0;
    top: calc(100% + 10px);
  }
}
@media (max-width: 767px) {
  .sns {
    padding: 40px 0 50px;
  }

  .sns .snslogo {
    margin-bottom: 35px;
  }

  .sns .snslogo img {
    width: 200px;
  }

  .sns .snsts .snsslider .slick-list {
    padding-bottom: 20px !important;
  }

  .sns .snsts .snsslider .slick-slide {
    margin: 0 10px;
  }

  .sns .snsts .snsslider .slick-dots {
    margin-top: 40px;
  }

  .sns .snsts .snsslider .slick-dots li {
    margin: 0 10px;
  }

  .sns .snsts .snsslider .slick-dots li button {
    width: 10px;
    height: 10px;
  }

  .sns .snscont.dark:before {
    background: url(../img/arrow_dark_sp.png) center center no-repeat;
    background-size: 20px 17px;
    width: 100%;
    height: 17px;
    left: 0;
    top: calc(100% + 3px);
  }

  .sns .snscont.light:before {
    background: url(../img/arrow_light_sp.png) center center no-repeat;
    background-size: 20px 17px;
    width: 100%;
    height: 17px;
    left: 0;
    top: calc(100% + 3px);
  }

  .sns .snscont {
    height: auto;
    padding: 20px 10px;
  }

  .sns .snscont .snstit {
    font-size: 18px;
    margin-bottom: 15px;
  }

  .sns .snstw .twitter-tweet {
    max-width: 100% !important;
  }

  .sns .snscont.light {
    border: 5px #5dafc5 solid;
  }

  .sns .snscont.dark {
    border: 5px #244266 solid;
  }

  .sns:before {
    border-left: 69vw #e6eef7 solid;
    border-top: 43.3vw solid transparent;
    border-bottom: 43.3vw solid transparent;
  }

  .sns:after {
    border-width: 38.6vw 30.5vw 0 0;
    top: 30px;
  }
}*/

@media (min-width:768px) {
  .hikaku-text {
    text-align: center;
    color: #ffa12a;
    font-size: 35px;
    margin-bottom: -30px
  }
}

@media (max-width: 767px) {
  .hikaku-text {
    text-align: center;
    margin-top: 20px;
    color: #ffa12a;
  }
}

/* 2025/09/09 アイフラッグ追記 */

/* #globalHeader .inner {
  max-width: 100%;
} */

/* .mv {
  position: relative;
  background: url(../img/main_bg.jpg) no-repeat center/cover;
  margin-top: 100px;
  padding: 30px 0 230px;
} */

.slider_loop {
  position: relative;
  overflow: hidden;
}

.slider_loop .slider_loop_inner {
  position: relative;
  left: 0;
  top: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.slider_loop .slider_loop_inner li {
  float: left;
  padding: 0 20px;
}

.mv .main_copy {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 1;
}

.mv .main_copy > * {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 1;
}

.mv .main_copy > * img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: 1;
}

.mv .main_copy > .copy01 img {
  max-width: 384px;
  max-height: 210px;
  width: 39%;
  bottom: auto;
  top: 20%;
}

.mv .main_copy > .copy02 img {
  max-width: 1014px;
  max-height: 257px;
  width: 95%;
  top: auto;
  bottom: 2%;
}

/* @media screen and (max-width: 999px) {
  .mv {
    padding: 30px 0 21%;
  }
} */

@media screen and (max-width: 767px) {
  /* .mv {
    background: url(../img/sp_main_bg.jpg) no-repeat center/cover;
    padding: 32% 0 55%;
    margin-top: 60px;
  } */
  .slider_loop .slider_loop_inner li {
    padding: 0 10px;
  }
  .mv .main_copy > .copy01 img {
    top: 3%;
    width: 60%;
  }
  .mv .main_copy > .copy02 img:nth-last-child(2) {
    width: 70%;
    bottom: 27%;
  }
  .mv .main_copy > .copy02 img:nth-last-child(1) {
    width: 95%;
    bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .sp-only {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .pc-only {
    display: none !important;
  }
}

.happen_arrow {
  position: relative;
  padding: 5% 0 10%;
  text-align: center;
  z-index: 0;
}

.happen_arrow:after {
  content: "";
  background: url(../img/arrow01.png) no-repeat center bottom/contain;
  width: 874px;
  height: 340px;
  position: absolute;
  left: -300%;
  right: -300%;
  bottom: 0;
  margin: auto;
  z-index: -1;
}

.happen_arrow .main_img {
  margin-bottom: 25%;
}

@media screen and (max-width: 768px) {
  .happen_arrow:after {
    width: 140%;
    height: 0;
    padding-top: 55%;
  }
}

.have .havescroll-no .havetable table .line-orange_top {
  background: #FFA12B;
}

.have .havescroll-no .havetable table .line-orange {
  font-size: 22px;
}

.have .havescroll-no .havetable table td.line-orange .ffadvbold {
  font-size: 46px;
}

@media screen and (max-width: 767px) {
  .have .havescroll-no .havetable table .line-orange {
    font-size: 17px;
  }
  .have .havescroll-no .havetable table td.line-orange .ffadvbold {
    font-size: 30px;
  }
}

.sns .sns-scroll {
  max-width: 1200px;
  margin: 0 auto;
}

.sns .slick-track {
  display: flex;
}
.sns .slick-slide {
  height: auto !important;
}

.sns .slick-slide div,
.sns .slick-slide div li {
  height: 100%;
}

.sns .slick-dots {
  display: flex;
  justify-content: center;
}

.sns .slick-dots li {
  padding: 0;
  margin: 0 5px;
  background: #ccc;
  border: none;
  border-radius: 100%;
  width: 10px;
  height: 10px;
}

.sns .slick-dots li button {
  opacity: 0;
  width: 100%;
  height: 100%;
}

.sns .slick-dots li.slick-active {
  background: #568da7;
}

.sns {
  position: relative;
}

.sns #sp_scroll_guide {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 70%;
  padding-top: 70%;
  height: 0;
  z-index: 10;
  background: rgba(0,0,0,.6);
  border-radius: 10px;
  color: #fff;
}

.sns #sp_scroll_guide .inner {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.sns #sp_scroll_guide .inner img {
  display: block;
  margin: 0 auto 10px;
}

@media screen and (min-width: 768px) {
  .sns #sp_scroll_guide {
    display: none !important;
  }
}

.faq_more_btn {
  position: relative;
  display: block;
  margin: 5% auto 0;
  padding: 1em;
  text-align: center;
  width: 100%;
  max-width: 280px;
  font-size: 18px;
  border: 2px solid #cccccc;
  border-radius: 7px;
  font-weight: bold;
  cursor: pointer;
}

.faq_more_btn:after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #46a5bd;
  border-right: 2px solid #46a5bd;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 10%;
  margin: auto;
  transform: rotate(135deg);
}

#qa01,
#qa02,
#qa03 {
  display: none;
}