@charset "UTF-8";

/* バッティング解消 */
.l-header { z-index: 20!important; }
.c-modal .c-modal__overlay { z-index: 20!important; }
ol.bread-crump-blue li { color: #666; }
ol.bread-crump-blue li.parent a { color: #221815; }

#sitemap a.blue { font-size: 12px; }

#foot { font-family: Verdana, Roboto, "Droid Sans", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif; font-size: 10px; line-height: 1.6;}

/*===============================================================================
cta
===============================================================================*/
.cta .inner { width: 1200px; }

.cta .inner::before { content: ""; display: inline-block; position: absolute; top: -40px; right: 50px; width: 113px; height: 113px; background: url(../img/cta_item01.png) no-repeat 50% 0/cover; }

.cta .inner::after { content: ""; display: inline-block; position: absolute; top: 174px; left: -56px; width: 113px; height: 113px; background: url(../img/cta_item01.png) no-repeat 50% 0/cover; }

.cta__bg { position: relative; padding: 60px 0; background-color: #23549d; }

.cta__block { position: relative; z-index: 10; }

.cta__block::before { content: ""; display: inline-block; position: absolute; bottom: -46px; left: -58px; width: 173px; height: 173px; background: url(../img/cta_item04.png) no-repeat 50% 0/cover; }

.cta__block::after { content: ""; display: inline-block; position: absolute; bottom: 74px; right: -122px; width: 52px; height: 61px; background: url(../img/cta_item03.png) no-repeat 50% 0/cover; }

.cta__ttl { padding: 30px 0; border-radius: 10px 10px 0 0; background-color: #fffd53; text-align: center; }

.cta__ttl img { display: block; width: 900px; margin: 0 auto; }

.cta__content { position: relative; padding: 60px 0 45px; border-radius: 0 0 10px 10px; background-color: #fff; }

.cta__content::before { content: ""; display: inline-block; position: absolute; top: 0; right: 0; width: 507.5px; height: 324.5px; background: url(../img/cta_img02.jpg) no-repeat 50% 0/cover; }

.cta__content::after { content: ""; display: inline-block; position: absolute; top: 40px; left: 50px; width: 321px; height: 235px; background: url(../img/cta_img01.png) no-repeat 50% 0/cover; }

.cta__txt01 { position: relative; width: 405px; margin: 0 auto; }

.cta__txt02 { position: relative; margin: 7px 0 0 400px; color: #02529e; font-size: 38px; font-weight: bold; letter-spacing: 0.1em; }

.cta__box { display: flex; justify-content: space-between; position: relative; z-index: 10; width: 920px; margin: 48px auto 0; }

.cta__box::before { content: ""; display: inline-block; position: absolute; top: -260px; right: -206px; width: 57px; height: 77px; background: url(../img/cta_item02.png) no-repeat 50% 0/cover; }

.cta__box::after { content: ""; display: inline-block; position: absolute; top: -10px; left: -310px; width: 57px; height: 77px; background: url(../img/cta_item02.png) no-repeat 50% 0/cover; }

.cta__btn01 { width: 400px; }

.cta__btn02 { width: 500px; }

.cta__banner { position: relative; z-index: 1; margin: 0 0 40px;}

/*===============================================================================
header
===============================================================================*/
.header__bg { background-color: #fff; }

.header__block { display: flex; align-items: center; height: 100px; }

.header__logo { width: 183px; }

.header__txt { margin-left: 32px; color: #02529e; font-size: 18px; font-weight: bold; line-height: 1.8; }

.header__box { display: flex; margin-left: auto; }

.header__btn01 { width: 206px; margin-right: 8px; }

.header__btn02 { width: 263px; }

/*===============================================================================
hero
===============================================================================*/
.hero__bg { padding: 35px 0; background: url(../img/hero_bg01.jpg) no-repeat 50% 0/cover; }

.hero__ttl01 { padding: 0 0 0 40px; font-size: 22px; color: #02529e; }

.hero__ttl02 { margin: 20px 0 0; width: 663px; }

/*===============================================================================
important
===============================================================================*/
.important__bg { padding: 60px 0 80px; background: url(../img/important_bg.jpg); }

.important__ttl { width: 998px; margin: 0 auto; }

.important__box { margin: 55px 0 0; display: flex; justify-content: space-between; align-items: center; }

.important__txt { font-size: 24px; line-height: 2; font-weight: bold; }

.important__txt .txt-bg { padding: 8px 5px 8px 10px; background: #205098; color: #fff; font-size: 38px;  line-height: 1.8; }

.important__txt .font-medium { font-size: 32px; }

.important__txt .font-small { font-size: 24px; }

.important__img { width: 536px; }

/*===============================================================================
popular
===============================================================================*/
.popular__bg { padding: 80px 0 54px; background-color: #f4f4f4; }

.popular__ttl01 { position: relative; margin: 0 6px 0 0; color: #02529e; font-size: 58px; text-align: right; letter-spacing: .04em; }

.popular__ttl02 { width: 995px; margin: -116px 0 0 -10px; }

.popular__note { margin: 10px 0 0; font-size: 12px; text-align: right; }

/*===============================================================================
voice
===============================================================================*/
.voice__bg { padding: 28px 0 80px; background: url(../img/voice_bg.jpg); }

.voice__ttl02 { margin: 15px 0 0; color:#000; font-size: 53px; font-weight: bold; text-align: center; letter-spacing: .08em; }

.voice__ttl03 { width: 563px; margin: 0 auto; }

.voice__list { display: flex; justify-content: space-between; flex-wrap: wrap; margin: 20px 0 0; }

.voice__item { position: relative; width: 490px; margin: 48px 0 0; padding: 45px 0 22px 10px; border: 2px solid #333333; border-radius: 10px; background-color: #fff; }

.voice__item::before { content: ""; display: inline-block; position: absolute; top: -16px; left: 1px; width: 265px; height: 45px; border-radius: 5px; background-color: #d9d9d9; transform: rotate(1deg); }

.voice__number { position: absolute; top: -20px; left: -2px; width: 265px; height: 45px; padding-left: 25px; border-radius: 5px; background: linear-gradient(to right, #367dff, #00a7f3); color: #fff; font-family: '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', sans-serif; font-size: 20px; font-weight: bold; line-height: 45px; letter-spacing: 0.08em; }

.voice__flex { display: flex; }

.voice__pic { width: 105px; margin-right: 14px; }

.voice__box { width: calc(100% - 121.5px); }

.voice__txt01, .voice__txt01--pt01, .voice__txt01--pt02 { font-size: 23px; font-weight: bold; letter-spacing: -0.04em; }

.voice__txt01 .marker, .voice__txt01--pt01 .marker, .voice__txt01--pt02 .marker { display: inline-block; background: linear-gradient(transparent 60%, #fffd53 60%); }

.voice__txt01--pt01 { padding-top: 18px; }

.voice__txt01--pt02 { padding-top: 36px; }

.voice__txt02, .voice__txt02--mt01, .voice__txt02--mt02 { margin: 10px 0 0; font-size: 20px; font-weight: bold; }

.voice__txt02--mt01 { margin-top: 28px; }

.voice__txt02--mt02 { margin-top: 42px; }

.voice__note { width: 490px; margin: 48px 0 0; font-size: 12px; }

.voice__note small:not(:first-of-type) { display: inline-block; margin: 12px 0 0; }

/*===============================================================================
point
===============================================================================*/
.point__bg { position: relative; min-width: 1000px; padding: 80px 0 30px; background: url(../img/point_bg.jpg) no-repeat 50% 0/cover; }

.point__bg::after { content: ""; display: inline-block; position: absolute; bottom: -50px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-style: solid; border-width: 50px 500px 0 500px; border-color: #ffffff transparent transparent transparent; }

.point_ttl02 { margin: -64px 0 0; color: #093e8d; font-size: 44px; font-weight: bold; text-align: center; }

/*===============================================================================
message
===============================================================================*/
.message__bg { padding: 94px 0 60px; background-color: #00a7f3; }

.message__name { margin: -190px 0 0; }

.message__block { display: flex; justify-content: space-between; margin: 40px 0 0; padding: 25px 30px 35px; border-radius: 10px; background-color: #fff; }

.message__txt01 { width: 391px; margin: 15px 0 0; }

.message__box { width: calc(100% - 391px - 44px); }

.message__txt02 { width: 471px; }

.message__txt03 { margin: 30px 0 0; font-size: 18px; line-height: 1.9; }

.message__note { margin: 12px 0 0; font-size: 10px; line-height: 2; }

/*===============================================================================
diff
===============================================================================*/
.diff__bg { padding: 100px 0 78px; background-color: #f6f700; }

.diff .inner { width: 1018px; }

.diff__ttl { position: relative; width: 800px; margin-left: 5px; }

.diff__ttl::after { content: ""; display: inline-block; position: absolute; z-index: 10; top: 76px; right: -206px; width: 278px; height: 321.5px; background: url(../img/diff_item01.png) no-repeat 50% 0/cover; }

.diff__block { position: relative; margin: 112px 0 0; padding: 135px 35px 44px; border-radius: 15px; border: 9px solid #333333; background-color: #fff; }

.diff__block::after { content: ""; display: inline-block; position: absolute; top: -102px; left: 50%; transform: translateX(-50%); width: 190px; height: 199px; background: url(../img/diff_item02.png) no-repeat 50% 0/cover; }

.diff__subttl01 { font-size: 34px; color: #093e8d; font-weight: bold; text-align: center; }

.diff__subttl02 { width: 850px; margin: 35px auto 0; }

.diff__lead { width: 1000px; margin: 50px 0 0 -35px; }

.diff__slider { position: relative; margin: 145px 0 0; }

.diff .swiper-slide { display: flex; justify-content: space-between; }

.diff__box01 { width: 400px; }

.diff__box02 { padding: 30px 0 24px; border-radius: 10px; background-color: #f2f2f2; }

.diff__txt02 { position: relative; margin: 20px 0 0; padding-left: 60px; font-size: 22px; line-height: 1.9; }

.diff__txt02::after { content: ""; display: inline-block; position: absolute; top: 10px; left: 20px; width: 31.5px; height: 21.5px; background: url(../img/diff_item03.png) no-repeat 50% 0/cover; }

.diff__list { margin: 10px 0 0; }

.diff__item { position: relative; padding: 15px 0 15px 60px; font-size: 20px; line-height: 1.5; letter-spacing: 0.06em; }

.diff__item:not(:first-of-type) { border-top: 3px dotted #9fbdca; }

.diff__item::after { content: ""; display: inline-block; position: absolute; top: 50%; left: 6px; transform: translateY(-50%); width: 38px; height: 38px; background: url(../img/diff_item04.png) no-repeat 50% 0/contain; }

.diff__figure { width: 507px; }

.diff .swiper-pagination.lp-tab { display: flex; justify-content: space-between; top: -114px; width: 940px; }

.diff .swiper-pagination.lp-tab .swiper-pagination-bullet { box-sizing: border-box; position: relative; width: 226px; height: 80px; border: 1px solid #00a7f3; box-shadow: 0 5px #77d4ff; border-radius: 15px; background: linear-gradient(90deg, #d3f1ff 0%, #d3f1ff 50%, #c6edff 50%, #c6edff 100%); text-shadow: 0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff,0 0 3px #fff; color: #00a7f3; font-size: 30px; font-weight: bold; text-align: center; line-height: 80px; opacity: 1; }

.diff .swiper-pagination.lp-tab .swiper-pagination-bullet.swiper-pagination-bullet-active { text-shadow: none; background: #00a7f3; color: #fff; }

.diff .swiper-pagination.lp-tab .swiper-pagination-bullet.swiper-pagination-bullet-active::after { content: ""; display: inline-block; position: absolute; bottom: -15px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-style: solid; border-width: 10px 10px 0 10px; border-color: #58caff transparent transparent transparent; }

/*===============================================================================
world
===============================================================================*/
.world__bg { padding: 80px 0; background-color: #fff; }

.world__ttl { position: relative; background: #47afdf; color: #fff; font-size: 42px; font-weight: bold; text-align: center; line-height: 125px; }
.world__ttl::after { content: ""; position: absolute; width: 30px; height: 30px; bottom: -15px; left: 48%; background: #47afdf; transform: rotate(45deg); }

.world__content { height: 1084px; padding: 80px 0 0; background: url(../img/world_bg.jpg) no-repeat 50% 0; }

.world__lead { width: 582px; margin: 0 auto; }

.world__txt01 { margin: 350px 0 0; font-size: 24px; text-align: center; line-height: 2; }

.world__txt01 .color { color: #ff680d; font-size: 28px; font-weight: bold; }

.world__banner { width: 920px; margin: 44px auto 0; }

/*===============================================================================
reason
===============================================================================*/
.reason__bg { padding: 70px 0 80px; background: url(../img/reason_bg.jpg); }

.reason__ttl01 { position: relative; width: 471px; margin: 0 auto; }

.reason__ttl02 { margin: 32px 0 0; font-size: 34px; font-weight: bold; text-align: center; }

.reason__ttl03 { width: 549px; margin: 15px auto 0; }

.reason__ttl01::before { content: ""; display: inline-block; position: absolute; top: -44px; left: -317px; width: 222px; height: 338px; background: url(../img/reason_img01.png) no-repeat 50% 0/cover; }

.reason__ttl01::after { content: ""; display: inline-block; position: absolute; top: -70px; right: -376px; width: 438.5px; height: 493.5px; background: url(../img/reason_img02.png) no-repeat 50% 0/cover; }

.reason__list { display: flex; justify-content: space-between; margin: 60px 0 0; }

.reason__item { width: 235px; }

/*===============================================================================
feature
===============================================================================*/
.feature__bg { padding: 0 0 224px; background-color: #fff; }

.feature__ttl { width: 2000px; margin-left: -500px; }

.feature__space { width: 2000px; height: 215px; margin-left: -500px; border-top: 8px solid #265aa7; background-color: #eff9ff; }

.feature__space:not(:first-of-type) { margin-top: 125px; }

.feature__subttl01 { position: relative; top: -38px; width: 625.5px; margin: 0 auto; }

.feature__block01 { display: flex; justify-content: space-between; margin: 40px 0 0; }

.feature__box01 { width: 533px; }

.feature__lead01 { margin: 40px 0 0; color: #fff; font-size: 26px; }

.feature__lead01 .color01 { display: inline-block; padding: 0 10px; border-radius: 8px; background-color: #265aa7; line-height: 1.8; }

.feature__lead01 .color01:not(:first-of-type) { margin: 4px 0 0; }

.feature__lead01 .color02 { color: #fffd53; font-weight: bold; }

.feature__txt01 { margin: 20px 0 0; font-size: 19px; line-height: 1.8; }

.feature__figure01 { width: 410px; }

.feature__subttl02 { position: relative; top: -38px; width: 648px; margin: 0 auto; }

.feature__block02 { display: flex; justify-content: space-between; margin: 40px 0 0; }

.feature__box02 { width: calc(100% - 390px - 30px); }

.feature__txt02 { font-size: 20px; line-height: 1.8; letter-spacing: 0.1em; }

.feature__txt02:not(:first-of-type) { margin: 40px 0 0; }

.feature__figure02 { width: 390px; }

.feature__txt03 { margin: 50px 0 0; padding: 0 0 10px; border-bottom: 4px dotted #265aa7; color: #265aa7; font-size: 30px; font-weight: bold; text-align: center; }

.feature__txt03 .color { color: #ff680d; }

.feature__example01 { display: flex; justify-content: space-between; margin: 40px auto 0; }

.feature__wrap { width: 490px; padding: 30px 50px; border-radius: 10px; background-color: #edf8ff; }

.feature__wrap:nth-of-type(2) { background-color: #fff1f4; }

.feature__slider01 { position: relative; margin: 100px 0 0; }

.feature__content { position: relative; }

.feature__btn { position: absolute; bottom: 0; right: 0; width: 57px; cursor: zoom-in; }

.feature .swiper-pagination { width: 490px; top: -80px; left: -50px; }

.feature .swiper-pagination .swiper-pagination-bullet { width: 124px; height: 50px; border-radius: 0; color: #fff; font-size: 20px; font-weight: bold; text-align: center; line-height: 50px; opacity: 1; }

.feature .swiper-pagination .swiper-pagination-bullet:nth-of-type(1) { width: 118px; }

.feature .swiper-pagination04 .swiper-pagination-bullet { background: url(../img/feature_item02.png) no-repeat 50% 0/cover; }

.feature .swiper-pagination04 .swiper-pagination-bullet:first-of-type { background: url(../img/feature_item01.png) no-repeat 50% 0/cover; }

.feature .swiper-pagination04 .swiper-pagination-bullet:last-of-type { background: url(../img/feature_item03.png) no-repeat 50% 0/cover; }

.feature .swiper-pagination04 .swiper-pagination-bullet.swiper-pagination-bullet-active { background: url(../img/feature_item05.png) no-repeat 50% 0/cover; }

.feature .swiper-pagination04 .swiper-pagination-bullet.swiper-pagination-bullet-active:first-of-type { background: url(../img/feature_item04.png) no-repeat 50% 0/cover; }

.feature .swiper-pagination04 .swiper-pagination-bullet.swiper-pagination-bullet-active:last-of-type { background: url(../img/feature_item06.png) no-repeat 50% 0/cover; }

.feature .swiper-pagination05 .swiper-pagination-bullet { background: url(../img/feature_item08.png) no-repeat 50% 0/cover; }

.feature .swiper-pagination05 .swiper-pagination-bullet:first-of-type { background: url(../img/feature_item07.png) no-repeat 50% 0/cover; }

.feature .swiper-pagination05 .swiper-pagination-bullet:last-of-type { background: url(../img/feature_item09.png) no-repeat 50% 0/cover; }

.feature .swiper-pagination05 .swiper-pagination-bullet.swiper-pagination-bullet-active { background: url(../img/feature_item11.png) no-repeat 50% 0/cover; }

.feature .swiper-pagination05 .swiper-pagination-bullet.swiper-pagination-bullet-active:first-of-type { background: url(../img/feature_item10.png) no-repeat 50% 0/cover; }

.feature .swiper-pagination05 .swiper-pagination-bullet.swiper-pagination-bullet-active:last-of-type { background: url(../img/feature_item12.png) no-repeat 50% 0/cover; }

.feature .swiper-button-prev03 { left: -40px; width: 29px; height: 48.5px; background: url(../img/feature_arrow01.png) no-repeat 50% 0/contain; }

.feature .swiper-button-prev03::after { display: none; }

.feature .swiper-button-next03 { right: -40px; width: 29px; height: 48.5px; background: url(../img/feature_arrow01.png) no-repeat 50% 0/contain; transform: rotate(180deg); }

.feature .swiper-button-next03::after { display: none; }

.feature .swiper-button-prev04 { left: -40px; width: 29px; height: 48.5px; background: url(../img/feature_arrow02.png) no-repeat 50% 0/contain; }

.feature .swiper-button-prev04::after { display: none; }

.feature .swiper-button-next04 { right: -40px; width: 29px; height: 48.5px; background: url(../img/feature_arrow02.png) no-repeat 50% 0/contain; transform: rotate(180deg); }

.feature .swiper-button-next04::after { display: none; }

.feature .swiper-button-disabled { display: none; }

.feature__txt04 { margin: 30px 0 0; font-size: 20px; text-align: center; line-height: 1.8; }

.feature__subttl03 { position: relative; top: -38px; width: 473px; margin: 0 auto; }

.feature__txt05 { margin: 35px 0 0; font-size: 20px; line-height: 2.1; text-align: center; }

.feature__lead02 { margin: 30px 0 0; }

.feature__list { display: flex; justify-content: space-between; flex-wrap: wrap; margin: 6px 0 0; }

.feature__item { width: 456.5px; margin: 40px 0 0; }

.feature__lead03 { width: 333.5px; margin: 0 auto; }

.feature__modal { margin: 20px 0 0; cursor: zoom-in; }

/*===============================================================================
skill
===============================================================================*/
.skill__bg { padding: 0 0 100px; background-color: #f6f6f6; }

.skill__ttl { position: relative; top: -125px; z-index: 10; }

.skill__ttl .txt02 { position: relative; display: block; margin: 60px 0 0; }

.skill__ttl::before { content: ""; display: inline-block; position: absolute; top: 200px; left: -500px; width: 610px; height: 485px; background: url(../img/skill_pic01.png) no-repeat 50% 0/cover; }

.skill__txt01 { margin: -28px 0 0; }

.skill__txt02 { position: absolute; bottom: 15px; left: 0; width: 460px; font-size: 24px; line-height: 1.8; }

/*===============================================================================
story
===============================================================================*/
.story__bg { padding: 70px 0; background: url(../img/story_bg.jpg) no-repeat 50% 0/cover; }

.story__ttl01 { color: #fff; font-size: 43px; font-weight: bold; text-align: center; letter-spacing: .16em; }

.story__ttl02 { width: 476px; margin: 20px auto 0; }

.story__block { position: relative; margin: 68px 0 0; padding: 0 50px 56px; border: 9px solid #093e8d; border-radius: 10px; background-color: #fff; }

.story__lead { position: absolute; top: -46px; left: 50%; transform: translateX(-50%); width: 216.5px; }

.story__subttl { position: relative; top: -46px; }

.story__box { margin: -10px 0 0; }

.story__txt { color: #093e8d; font-size: 20px; letter-spacing: 0.06em; }

.story__txt:not(:first-of-type) { margin: 32px 0 0; }

/*===============================================================================
customer
===============================================================================*/
.customer__bg { padding: 42px 0 125px; background: url(../img/customer_bg.jpg) repeat 50% 0; }

.customer__ttl { width: 698px; margin: 0 auto; }

.customer__slider { position: relative; width: 940px; margin: 35px auto 0; border: 6px solid #ffffff; border-radius: 10px; background-color: #fff; box-shadow: 6px 6px rgba(0, 0, 0, 0.1); }

.customer__top { padding: 25px 45px 20px; border-radius: 10px 10px 0 0; background-color: #ff680d; }

.customer__subttl { margin: 0 -40px; color: #fff; font-size: 28px; font-weight: bold; text-align: center; line-height: 1.8; }

.customer__subttl .color { color: #fffd53; }

.customer__subttl .small { color: #fff; font-size: 24px; font-weight: bold; letter-spacing: -0.01em; }

.customer__info { display: flex; align-items: center; margin: 12px 0 0; padding: 20px 0 0; border-top: 2px dotted #fff; }

.customer__txt01, .customer__txt01--width, .customer__txt01--short, .customer__txt01--long { width: 560px; color: #fff; font-size: 16px; font-weight: bold; text-align: center; }

.customer__txt01--width { width: 100%; }

.customer__txt01--short { width: 485px; }

.customer__txt01--long { width: 570px; padding-right: 30px; text-align: right; }

.customer__list, .customer__list--long, .customer__list--short { display: flex; width: calc(100% - 560px); }

.customer__list--long { width: calc(100% - 485px); }

.customer__list--short { width: calc(100% - 570px); }

.customer__item, .customer__item--01, .customer__item--02, .customer__item--04, .customer__item--05 { width: 80px; height: 30px; margin-right: 5px; border-radius: 10px; background-color: #fff; font-size: 18px; font-weight: bold; text-align: center; line-height: 30px; }

.customer__item--01 { color: #ff3d68; }

.customer__item--02 { color: #1aabff; }

.customer__item--04 { color: #ff9000; }

.customer__item--05 { color: #89d314; }

.customer__bottom { display: flex; padding: 25px 45px 45px; background-color: #fff; }

.customer__pic { width: 155px; }

.customer__box { width: calc(100% - 156px); padding-left: 15px; }

.customer__txt02 { font-size: 16px; line-height: 1.8; }

.customer__txt02:not(:first-of-type) { margin: 30px 0 0; }

.customer .swiper-button-prev01 { top: 50%; left: -34px; transform: rotate(180deg); width: 63px; height: 63px; background: url(../img/customer_btn.png) no-repeat 50% 0/cover; }

.customer .swiper-button-prev01::after { display: none; }

.customer .swiper-button-next01 { top: 50%; right: -34px; width: 63px; height: 63px; background: url(../img/customer_btn.png) no-repeat 50% 0/cover; }

.customer .swiper-button-next01::after { display: none; }

.customer .swiper-pagination { bottom: -70px; width: 940px; }

.customer .swiper-pagination .swiper-pagination-bullet { box-sizing: border-box; opacity: 1; width: 20px; height: 20px; margin: 0 8px; border-radius: 50%; background: url(../img/customer_item01.png) no-repeat 50% 0/cover; }

.customer .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active { background-image: url(../img/customer_item02.png); }

/*===============================================================================
cost
===============================================================================*/
.cost__bg { padding: 100px 0 180px; background-color: #ffe4d0; }

.cost .inner { width: 1200px; }

.cost__ttl { width: 683px; margin: 0 auto; }

.cost__block { padding: 104px 0 152px; position: relative; margin: 118px 0 0; border-radius: 15px; background-color: #fff; }

.cost__box { display: flex; justify-content: center; align-items: center; position: absolute; top: -66px; right: 0; left: 0; margin: 0 auto; width: 840px; height: 136px; background-color: #fff; border-radius: 50px; box-shadow: 0 20px 40px -30px grey; }

.cost__box::before { content: ""; display: inline-block; position: absolute; top: 40px; left: -56px; width: 136px; height: 134px; background: url(../img/cost_item01.png) no-repeat 50% 0/cover; }

.cost__box::after { content: ""; display: inline-block; position: absolute; bottom: -13px; left: 50%; transform: translateX(-50%); width: 30px; height: 13px; background: url(../img/cost_item04.png) no-repeat 50% 0/cover; }

.cost__subttl { width: 686.5px; line-height: 0; }

.cost__flex { position: relative; display: flex; padding-left: 100px; }

.cost__flex::after { content: ""; display: inline-block; position: absolute; top: 208px; left: 544px; width: 33px; height: 57px; background: url(../img/cost_item02.png) no-repeat 50% 0/cover; }

.cost__txt01 { width: 420px; margin: 30px 42px 0 0; }

.cost__txt02 { position: relative; width: 573px; }

.cost__txt03 { position: absolute; top: 45px; right: 112px; color: #fff; font-size: 32px; font-weight: bold; text-align: center; letter-spacing: .04em;}

.cost__bottom { display: table; position: absolute; bottom: -110px; left: 50%; transform: translateX(-50%); width: 1000px; height: 220px; }

.cost__left { display: table-cell; width: 480px; background: url(../img/cost_item03.jpg); border-radius: 15px 0 0 15px; text-align: center; vertical-align: middle; }

.cost__left img { width: 318px; }

.cost__right { display: table-cell; width: 520px; background-color: #ff3d68; border-radius: 0 15px 15px 0; color: #fff; font-size: 26px; line-height: 2; text-align: center; vertical-align: middle; }

.cost__right .color { color: #fffd53; font-weight: bold; }

/*===============================================================================
subject
===============================================================================*/
.subject__bg { padding: 66px 0 80px; background-color: #efefef; }

.subject__ttl { position: relative; width: 911.5px; margin: 0 auto; }

.subject__ttl::after { content: ""; display: inline-block; position: absolute; top: -8px; left: -130px; width: 252px; height: 372px; background: url(../img/subject_item01.png) no-repeat 50% 0/cover; }

.subject__block, .subject__block--02 { position: relative; margin: 72px 0 0; padding: 60px 40px 40px; background: url(../img/subject_bg01.jpg); }

.subject__block--02 { background: url(../img/subject_bg02.jpg); }

.subject__subttl01 { width: 804px; }

.subject__subttl02 { width: 750px; margin-left: 12px; }

.subject__mark { position: absolute; top: -13px; right: 24px; width: 158px; }

.subject__box { position: relative; margin: 70px 0 0; padding: 80px 60px 60px; border-radius: 10px; background-color: #fff; }

.subject__lead01 { margin: -110px 0 0; padding: 13px 0 15px; font-size: 32px; font-weight: bold; letter-spacing: .06em; text-align: center;}

.subject__lead01.bg01 { background: url(../img/subject_txt02.png) no-repeat center top;  color: #ff3d68; }

.subject__lead01.bg02 { background: url(../img/subject_txt05.png) no-repeat center top;  color: #0078ff; }

.subject__lead01 .custom { font-size: 44px; }

.subject__list { width: 746px; margin: 0 auto; }

.subject__item, .subject__item--02 { position: relative; padding: 24px 0 24px 100px; font-size: 20px; }

.subject__item .color, .subject__item--02 .color { display: inline-block; background: linear-gradient(transparent 60%, #fffd53 60%); font-weight: bold; }

.subject__item::before, .subject__item--02::before { content: ""; display: inline-block; position: absolute; top: 20px; left: 36px; width: 36px; height: 36px; background: url(../img/subject_item02.png) no-repeat 50% 0/cover; }

.subject__item--02::before { background: url(../img/subject_item03.png) no-repeat 50% 0/cover; }

.subject__item:not(:last-of-type), .subject__item--02:not(:last-of-type) { border-bottom: 4px dotted #c4c4c4; }

.subject__lead02 { width: 920px; margin: 25px 0 0 -60px; }

.subject__flex { display: flex; margin: 60px 0 0; }

.subject__figure { width: 473px; }

.subject__txt01 { width: calc(100% - 473px); padding-left: 25px; font-size: 20px; line-height: 1.8; }

.subject__txt01 .color { background: linear-gradient(transparent 40%, #fffd53 40%); font-weight: bold; }

.subject__txt02 { width: 800px; margin: 22px auto 0; padding: 22px 25px; background-color: #e9e9e9; font-size: 16px; line-height: 2.2; }

/*===============================================================================
lp-purpose
===============================================================================*/
.lp-purpose__bg { padding: 80px 0; background: url(../img/purpose_bg.jpg); }

.lp-purpose__ttl { width: 758.5px; margin: 0 auto; }

.lp-purpose__block { display: flex; justify-content: space-between; margin: 64px 0 0; }

.lp-purpose__box { width: 480px; padding: 40px 12px; border: 8px solid #405973; border-radius: 10px; background-color: #fff; }

.lp-purpose__txt { margin: 20px 0 0; padding: 0 5px; font-size: 18px; letter-spacing: 0.06em; }

/*===============================================================================
purpose
===============================================================================*/
.explain__bg { padding: 58px 0 114px; background-color: #e5e5e5; }

.explain .inner { width: 940px; }

.explain__ttl { width: 717px; margin: 0 auto; }

.explain__block { position: relative; margin: 130px 0 0; }

.explain .swiper-slide { background-color: #fff; border-radius: 10px; }

.explain__top { display: flex; justify-content: space-between; padding: 28px 25px 30px; }

.explain__left { width: 159px; }

.explain__txt01--mt { margin-top: 6px; }

.explain__right { width: 712px; }

.explain__list { margin: 28px 0 0; }

.explain__item { position: relative; margin: 12px 0; padding-left: 40px; font-size: 18px; }

.explain__item::before { content: ""; display: inline-block; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 30px; height: 30px; background: url(../img/explain_item01.png) no-repeat 50% 0/cover; }

.explain__image01 { margin: 20px 0 0; }

.explain__bottom { position: relative; padding: 30px 150px; border-radius: 0 0 10px 10px; background-color: #fffee8; }

.explain__bottom::after { content: ""; display: inline-block; position: absolute; top: 0; left: 0; width: 940px; height: 5px; background: url(../img/explain_item02.png) no-repeat 50% 0/cover; }

.explain__txt02 { color: #00a7f3; font-size: 24px; font-weight: bold; }

.explain__txt03 { margin: 6px 0 0; font-size: 18px; }

.explain__txt03 .color { color: #00a7f3; font-weight: bold; }

.explain .swiper-pagination.lp-tab { display: flex; justify-content: space-between; width: 940px; top: -105px; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet { box-sizing: border-box; position: relative; width: 184px; height: 80px; opacity: 1; padding: 14px 0; border-radius: 5px; color: #fff; font-size: 24px; font-weight: bold; line-height: 1; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet .big { font-size: 30px; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet .small { font-size: 18px; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet:nth-of-type(1) { background-color: #ff3d68; box-shadow: 0 6px #ef0035; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet:nth-of-type(1).swiper-pagination-bullet-active::before { content: ""; display: inline-block; position: absolute; bottom: -14px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-style: solid; border-width: 9px 8.5px 0 8.5px; border-color: #ef0034 transparent transparent transparent; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet:nth-of-type(1).swiper-pagination-bullet-active::after { content: ""; display: inline-block; position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-style: solid; border-width: 9px 8.5px 0 8.5px; border-color: #ff3d68 transparent transparent transparent; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet:nth-of-type(2) { background-color: #1aabff; box-shadow: 0 6px #0090e3; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet:nth-of-type(2).swiper-pagination-bullet-active::before { content: ""; display: inline-block; position: absolute; bottom: -14px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-style: solid; border-width: 9px 8.5px 0 8.5px; border-color: #0090e3 transparent transparent transparent; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet:nth-of-type(2).swiper-pagination-bullet-active::after { content: ""; display: inline-block; position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-style: solid; border-width: 9px 8.5px 0 8.5px; border-color: #1aabff transparent transparent transparent; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet:nth-of-type(3) { background-color: #8d5ddd; box-shadow: 0 6px #672cca; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet:nth-of-type(3).swiper-pagination-bullet-active::before { content: ""; display: inline-block; position: absolute; bottom: -14px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-style: solid; border-width: 9px 8.5px 0 8.5px; border-color: #672cca transparent transparent transparent; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet:nth-of-type(3).swiper-pagination-bullet-active::after { content: ""; display: inline-block; position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-style: solid; border-width: 9px 8.5px 0 8.5px; border-color: #8d5ddd transparent transparent transparent; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet:nth-of-type(4) { background-color: #ff9000; box-shadow: 0 6px #cb7300; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet:nth-of-type(4).swiper-pagination-bullet-active::before { content: ""; display: inline-block; position: absolute; bottom: -14px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-style: solid; border-width: 9px 8.5px 0 8.5px; border-color: #cb7300 transparent transparent transparent; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet:nth-of-type(4).swiper-pagination-bullet-active::after { content: ""; display: inline-block; position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-style: solid; border-width: 9px 8.5px 0 8.5px; border-color: #ff9000 transparent transparent transparent; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet:nth-of-type(5) { background-color: #89d314; box-shadow: 0 6px #66a600; line-height: 1.1; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet:nth-of-type(5).swiper-pagination-bullet-active::before { content: ""; display: inline-block; position: absolute; bottom: -14px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-style: solid; border-width: 9px 8.5px 0 8.5px; border-color: #66a600 transparent transparent transparent; }

.explain .swiper-pagination.lp-tab .swiper-pagination-bullet:nth-of-type(5).swiper-pagination-bullet-active::after { content: ""; display: inline-block; position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-style: solid; border-width: 9px 8.5px 0 8.5px; border-color: #89d314 transparent transparent transparent; }

.explain .swiper-pagination.pager {
  /* bottom: -32px; */
  width: 940px; }

.explain .swiper-pagination.pager .swiper-pagination-bullet { box-sizing: border-box; width: 10px; height: 10px; margin: 0 11px; border: 2px solid #000000; background-color: #fff; opacity: 1; }

.explain .swiper-pagination.pager .swiper-pagination-bullet.swiper-pagination-bullet-active { background-color: #000000; }

.explain .swiper-button-prev02 { top: 286px; left: -29px; width: 58px; height: 58px; margin: 0; background: url(../img/explain_btn01.png) no-repeat 50% 0/cover; }

.explain .swiper-button-prev02::after { display: none; }

.explain .swiper-button-next02 { top: 286px; right: -29px; width: 58px; height: 58px; margin: 0; background: url(../img/explain_btn01.png) no-repeat 50% 0/cover; transform: rotate(180deg); }

.explain .swiper-button-next02::after { display: none; }

/*===============================================================================
benefit
===============================================================================*/
.benefit__bg { padding: 78px 0 80px; background-color: #fffaba; }

.benefit__ttl { width: 1092px; margin: 0 0 -6px -90px; }

.benefit__list { display: flex; justify-content: space-between; padding: 0 60px 64px; border-radius: 10px; background-color: #fff; }

.benefit__item { width: 246px; }

.benefit__subttl { position: relative; top: -12px; }

.benefit__txt, .benefit__txt--color { margin: 8px 0 0; line-height: 1.8; letter-spacing: 0.1em; }

.benefit__txt--color { margin: 20px 0 0; color: #00a2ec; font-size: 14px; }

/*===============================================================================
price
===============================================================================*/
.price__bg { padding: 0 0 70px; background-color: #d5ecff; }

.price .inner { width: 910px; }

.price .inner::before { content: ""; display: inline-block; position: absolute; z-index: 1; top: 185px; right: -100px; width: 207px; height: 555px; background: url(../img/price_item01.png) no-repeat 50% 0/cover; }

.price__ttl { position: relative; width: 2000px; margin-left: -545px; }

.price__chart { position: relative; z-index: 2; width: 910px; margin: 58px auto 0; }

.price__lead02 { position: relative; width: 802px; margin: 58px 65px 0 auto; }

.price__table { position: relative; z-index: 1; display: flex; margin: 36px 0 0; text-align: center; }

.price__column01 { width: 200px; border-right: 1px solid #d5ecff; }

.price__term01 { height: 70px; border-radius: 10px 0 0 0; background-color: #093e8d; color: #fff; font-size: 26px; font-weight: bold; line-height: 70px; }

.price__desc01 { height: 110px; padding: 35px 0; border-top: 1px solid #d5ecff; background-color: #fff; color: #093e8d; font-size: 26px; font-weight: bold; }

.price__column02 { width: 355px; border-right: 1px solid #d5ecff; }

.price__term02 { height: 70px; background-color: #093e8d; color: #fff; font-size: 26px; font-weight: bold; line-height: 70px; }

.price__term02 .deco { font-size: 22px;}

.price__desc02 { position: relative; height: 110px; border-top: 1px solid #d5ecff; background-color: #fff; color: #093e8d; font-size: 33px; font-weight: bold; line-height: 110px; }

.price__desc02 .number { font-size: 46px; }

.price__desc02 .small { font-size: 16px; font-weight: normal; }

.price__desc02 .off { box-sizing: border-box; position: absolute; top: 35px; right: -52px; width: 122px; height: 40px; padding-left: 5px; background-color: #ff3d68; color: #fff; font-size: 16px; font-weight: bold; line-height: 40px; }

.price__desc02 .off .big { font-size: 22px; }

.price__desc02 .off::after { content: ""; display: inline-block; position: absolute; top: 0; right: -18px; width: 0; height: 0; border-style: solid; border-width: 20px 0 20px 18px; border-color: transparent transparent transparent #ff3d67; }

.price__column03 { width: 355px; }

.price__term03 { height: 70px; border-radius: 0 10px 0 0; background-color: #ff3d68; color: #fff; font-size: 26px; font-weight: bold; line-height: 70px; }

.price__term03 .deco { font-size: 22px;}

.price__desc03 { height: 110px; line-height: 110px; border-top: 1px solid #d5ecff; background-color: #fff; color: #ff3d68; font-size: 46px; font-weight: bold; }

.price__desc03 .deco { font-size: 33px; }

.price__note { margin: 10px 0 0; color: #093e8d; font-size: 14px; text-align: right; }

.price__banner{ width: 800px; margin: 60px auto 0;}

/*===============================================================================
buy
===============================================================================*/
.buy__bg { padding: 80px 0; background-color: #093e8d; }

.buy__ttl { width: 696.5px; margin: 0 auto; }

.buy__flex01 { display: flex; justify-content: space-between; width: 900px; margin: 50px auto 0; }

.buy__lead { width: 447px; }

.buy__wrap { position: relative; width: 440px; margin: 0 auto; }

.buy__wrap::after { content: ""; display: inline-block; position: absolute; top: 18px; right: 30px; width: 9px; height: 26px; background: url(../img/buy_item01.png) no-repeat 50% 0/cover; }

.buy__select { -webkit-appearance: none; appearance: none; box-sizing: border-box; width: 100%; height: 60px; padding-left: 48px; border: 1px solid #bcbcbc; border-radius: 10px; background: linear-gradient(to bottom, #fff, #c8c8c8); font-size: 28px; font-weight: bold; line-height: 60px; cursor: pointer; }

.buy__select::-ms-expand { display: none; }

.buy__block01 { position: relative; margin: 50px 0 0; padding: 40px 0; border-radius: 10px 10px 0 0; background-color: #fff; }

.buy__btn01 { width: 700px; margin: 0 auto; }

.buy__block02 { padding: 40px 0; border-radius: 0 0 10px 10px; border-top: 1px dashed #093e8d; background-color: #edf4ff; }

.buy__btn02 { margin: 30px 0 0; }

.buy__subttl { width: 700px; margin: 0 auto; }

.buy__btn02 { width: 400px; margin: 14px auto 0; }

.buy__txt01{ margin: 16px 0 0 0; color: #093e8d; font-size: 18px; font-weight: bold; text-align: center; letter-spacing: .1em;}

/*===============================================================================
support
===============================================================================*/
.support__bg { padding: 60px 0; background-color: #c1ebec; }

.support__block { display: flex; justify-content: space-between; margin: 54px 0 0; }

.support__box01 { width: 620px; }

.support__txt01 { color: #032f70; font-size: 18px; line-height: 2; }

.support__box02 { margin: 25px 0 0; }

.support__box03 { padding: 10px 0 14px; border-radius: 10px 10px 0 0; background-color: #fff; }

.support__tel { width: 507px; margin: 0 auto; }

.support__txt02 { padding: 10px 0 15px; border-radius: 0 0 10px 10px; background-color: #f3fdfe; color: #032f70; font-size: 18px; text-align: center; }

.support__note { margin: 10px 0 0; color: #032f70; }

.support__pic { width: 340px; }

/*===============================================================================
footer
===============================================================================*/
.footer__bg { padding: 40px 0; background-color: #093e8d; }

.footer__txt { color: #ffffff; font-size: 14px; text-align: center; }

/*===============================================================================
modal
===============================================================================*/
.modal { display: none; }

.modal__bg { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 100; width: 100%; height: 100%; margin: 0 auto; background-color: rgba(0, 0, 0, 0.5); }

.modal__block { position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 101; margin: auto; background-color: #fff; width: 690px; height: 75%; }

.modal__scroll { width: 100%; height: 100%; overflow: scroll; }

.modal__close { position: absolute; top: -50px; right: 0; width: 40px; height: 40px; cursor: pointer; }

