@charset "UTF-8";
/*============================================================================================================
	base
============================================================================================================*/
body { color: #003165; -webkit-text-size-adjust: 100%; line-height: 1.5; letter-spacing: .08em; }

div, h1, h2, h3, h4, h5, h6, p, ul, ol, li, dl, dt, dd, th, td, section, article, header, footer, main, nav, span, a { box-sizing: border-box; }

a { color: inherit; text-decoration: none; }

img { max-width: 100%; height: auto; vertical-align: bottom; }
@media screen and (max-width: 767px) { img { width: 100%; } }

h1, h2, h3, h4, h5, h6 { line-height: 1.4; font-weight: normal; margin: 0; word-wrap: break-word; }

p, li, td, th, dt, dd { font-size: 16px; margin: 0; word-wrap: break-word; }
@media screen and (max-width: 767px) { p, li, td, th, dt, dd { font-size: 14px; } }

table { width: 100%; border-collapse: collapse; table-layout: fixed; }

th, td { text-align: left; font-weight: normal; vertical-align: top; }

ul, ol, dl { padding: 0; margin: 0; }

li { list-style: none; }

.cf:after { content: ""; display: block; clear: both; }

@media screen and (min-width: 768px) { .sp { display: none !important; } }
@media screen and (max-width: 767px) { .pc { display: none !important; } }
@media screen and (min-width: 361px) { .sp-sml { display: none !important; } }
/*------------------------------------------
	font
------------------------------------------*/
body { font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', Meiryo, sans-serif; }

/*------------------------------------------
	frame
------------------------------------------*/
@media screen and (min-width: 768px) { body { min-width: 1000px; } }

/*------------------------------------------
	hover
------------------------------------------*/
@media screen and (min-width: 768px) { a { transition: all 0.3s; }
  a:hover { opacity: .7; } }
/*============================================================================================================
	.l-header
============================================================================================================*/
.l-header { position: relative; }
.l-header img { width: 100%; }
.l-header-inner { display: flex; justify-content: center; align-items: center; width: 100%; max-width: 1130px; height: 100%; position: absolute; z-index: 2; top: 0; bottom: 0; left: 0; right: 0; margin: auto; padding: 0 10px; }
.l-header-txtBox { width: 49%; margin: 0 0 0 auto; }
.l-header__tit { max-width: 461px; margin-bottom: 12px; }
.l-header__txt01 { max-width: 545px; margin-bottom: 64px; }
.l-header__btn { max-width: 390px; margin: 0 auto 0 13px; border-radius: 50px; color: #fff; font-weight: 700; font-size: 22px; text-align: center; }
.l-header__btn-catch { position: relative; display: table; margin: 0 auto 1px; padding: 0 10px 0 12px; font-size: 14px; }
.l-header__btn-catch::before, .l-header__btn-catch::after { content: ""; display: block; width: 1px; height: 90%; background: #fff; position: absolute; top: 0; bottom: 0; margin: auto; }
.l-header__btn-catch::before { left: 0; transform: rotate(-20deg); }
.l-header__btn-catch::after { right: 0; transform: rotate(20deg); }
.l-header__btn a { display: block; padding: 14px 45px; background: #003165 url("../img/common/ico_arrow01.svg") no-repeat right 28px top 50%; border-radius: inherit; }
@media screen and (min-width: 768px) and (max-width: 1240px) { .l-header-imgBox { overflow: hidden; }
  .l-header-imgBox img { max-width: none; width: 1240px; position: relative; left: 50%; transform: translateX(-50%); } }
@media screen and (min-width: 768px) { .l-header__btn a:hover { background-position: right 28px top 55%; opacity: 1; } }
@media screen and (max-width: 767px) { .l-header { padding: 0 0 70px; }
  .l-header-inner { position: static; }
  .l-header-txtBox { width: 100%; margin: 0 auto; }
  .l-header__tit { position: absolute; z-index: 2; max-width: none; width: 73%; top: 10%; right: 0; left: 0; margin: auto; }
  .l-header__txt01 { position: absolute; z-index: 2; max-width: none; width: calc(100% - 30px); top: 24%; right: 0; left: 0; margin: auto; }
  .l-header__btn { position: absolute; z-index: 2; width: calc(100% - 30px); right: 0; left: 0; bottom: 40px; margin: auto; font-size: 19px; }
  .l-header__btn-catch { margin-bottom: 5px; font-size: 12px; }
  .l-header__btn a { padding: 18px 30px 12px; background-position: right 20px center; } }

/*============================================================================================================
	.l-footer
============================================================================================================*/
.l-footer { padding: 43px 0; background: #003165; }
.l-footer-nav { display: flex; justify-content: center; margin: 0 auto 17px; }
.l-footer-nav__item { position: relative; color: #fff; text-align: center; letter-spacing: 0; }
.l-footer-nav__item + .l-footer-nav__item::before { content: ""; display: block; width: 1px; height: calc(100% - 10px); background: #fff; position: absolute; top: 0; left: 0; bottom: 0; margin: auto; }
.l-footer-nav__item a { display: block; padding: 0 25px; }
.l-footer__copyright { color: #fff; font-size: 13px; text-align: center; letter-spacing: 0; }
@media screen and (min-width: 768px) { .l-footer-nav__item a:hover { opacity: 1; text-decoration: underline; } }
@media screen and (max-width: 767px) { .l-footer { padding: 25px 0 30px; }
  .l-footer-nav { margin-bottom: 20px; }
  .l-footer-nav__item a { padding: 0 20px; }
  .l-footer__copyright { font-size: 10px; } }

/*============================================================================================================
	js
============================================================================================================*/
/*------------------------------------------
	scrool action
------------------------------------------*/
.js-view { transition: opacity 0.2s, transform 0.3s cubic-bezier(0.5, 1.3, 0.94, 0.98); }
.js-view + .js-view { transition-delay: .1s; }
.js-view + .js-view + .js-view { transition-delay: .15s; }
.js-view + .js-view + .js-view + .js-view { transition-delay: .2s; }
.js-view + .js-view + .js-view + .js-view + .js-view { transition-delay: .25s; }
.js-view + .js-view + .js-view + .js-view + .js-view + .js-view { transition-delay: .3s; }
.js-view + .js-view + .js-view + .js-view + .js-view + .js-view + .js-view { transition-delay: .35s; }
.js-view.is-slideIn { opacity: 0; transform: translateX(-200px); }
@media screen and (max-width: 767px) { .js-view.is-slideIn { transform: translateX(-100px); } }
.js-view.is-slideIn.is-rev { transform: translateX(200px); }
@media screen and (max-width: 767px) { .js-view.is-slideIn.is-rev { transform: translateX(100px); } }
.js-view.is-slideIn.is-scrollin { opacity: 1; transform: translate(0, 0) !important; }
@media screen and (max-width: 767px) { .js-view.is-sp-off { opacity: 1; transform: none; } }

/*============================================================================================================
	component
============================================================================================================*/
/*------------------------------------------
	inner
------------------------------------------*/
.c-inner01 { width: 100%; max-width: 970px; margin: 0 auto; }
@media screen and (max-width: 767px) { .c-inner01 { padding-left: 15px; padding-right: 15px; } }

/*------------------------------------------
	title
------------------------------------------*/
.c-tit01 { font-size: 32px; font-weight: 700; text-align: center; line-height: 1.5; letter-spacing: 0; }
.c-tit01.is-white { color: #fff; }
@media screen and (max-width: 767px) { .c-tit01 { font-size: 18px; } }

/*============================================================================================================
	page
============================================================================================================*/
/*	home
============================================================================================================*/
/*------------------------------------------
	.homeProblem
------------------------------------------*/
.homeProblem { position: relative; padding: 48px 0 56px; background: #002750; }
.homeProblem::before { content: ""; display: block; width: 0; height: 0; border-style: solid; border-width: 30px 60px 0 60px; border-color: #002750 transparent transparent transparent; position: absolute; left: 0; right: 0; top: 100%; margin: auto; }
.homeProblem__tit { margin-bottom: 33px; }
.homeProblem-list { display: flex; flex-wrap: wrap; }
.homeProblem-list__item { display: flex; justify-content: center; align-items: center; height: 60px; border-radius: 50px; background: #003b79; color: #fff; font-weight: 700; text-align: center; letter-spacing: 0; }
@media screen and (min-width: 768px) { .homeProblem-list { justify-content: center; }
  .homeProblem-list__item { width: calc((100% - 48px) / 4); margin-right: 16px; }
  .homeProblem-list__item:nth-of-type(4n), .homeProblem-list__item:last-of-type { margin-right: 0; }
  .homeProblem-list__item:nth-of-type(n + 5) { margin-top: 16px; } }
@media screen and (max-width: 767px) { .homeProblem { padding: 37px 0 40px; }
  .homeProblem__tit { margin-bottom: 21px; }
  .homeProblem-list { justify-content: space-between; }
  .homeProblem-list__item { width: calc(50% - 5px); height: 36px; padding: 2px; font-size: 12px; }
  .homeProblem-list__item:nth-of-type(n + 3) { margin-top: 10px; } }
@media screen and (max-width: 360px) { .homeProblem-list__item { font-size: 11px; } }

/*------------------------------------------
	.homeSolution
------------------------------------------*/
.homeSolution { overflow: hidden; padding: 78px 0; background: #14569B; }
.homeSolution-inner { position: relative; max-width: 1300px; margin: 0 auto; padding: 0 10px; }
.homeSolution__tit { display: flex; justify-content: center; align-items: flex-end; margin-bottom: 125px; color: #fff; font-weight: 700; font-size: 48px; }
.homeSolution__tit-logo { margin-bottom: -5px; }
.homeSolution__tit-small { font-size: 32px; margin: 0 4px 3px 13px; }
.homeSolution-imgBox { position: absolute; z-index: 2; top: 113px; left: -50px; width: 40%; max-width: 482px; pointer-events: none; }
.homeSolution-imgBox img { width: 100%; }
.homeSolution-list { max-width: 764px; margin: 0 0 0 28%; }
.homeSolution-list__item { position: relative; margin-bottom: 80px; padding: 36px 40px; border-radius: 30px; border: 2px solid #003165; background: #fff; }
.homeSolution-list__item:last-of-type { margin-bottom: 0; }
.homeSolution-list__ico { position: absolute; top: -50px; left: -16px; }
.homeSolution-list-top { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; margin-bottom: 18px; }
.homeSolution-list-top__num { padding: 8px 15px; background: #f4c040; border-radius: 50px; color: #003165; font-weight: 700; letter-spacing: 0; }
.homeSolution-list-top-tag { display: flex; }
.homeSolution-list-top-tag__item { margin: 2px 10px 2px 0; padding: 8px 15px; background: #003b79; border-radius: 50px; color: #fff; font-size: 15px; text-align: center; letter-spacing: 0; }
.homeSolution-list-top-tag__item:last-of-type { margin-right: 0; }
.homeSolution-list__tit { display: table; margin-bottom: 20px; background: linear-gradient(to bottom, transparent calc(100% - 14px), #f4c040 calc(100% - 14px), #f4c040 calc(100% - 2px), transparent calc(100% - 2px)); color: #003165; font-weight: 700; font-size: 28px; letter-spacing: .08em; }
.homeSolution-list__txt { letter-spacing: 0; }
@media screen and (max-width: 767px) { .homeSolution { padding: 30px 0 40px; }
  .homeSolution-inner { padding: 0 15px; }
  .homeSolution-titBox { display: flex; justify-content: center; align-items: center; flex-direction: row-reverse; margin: 0 auto 24px -10px; }
  .homeSolution__tit { position: relative; z-index: 3; display: block; font-size: 35px; margin: 0 auto -10px -23px; }
  .homeSolution__tit-logo { display: block; max-width: 158px; margin: 0; }
  .homeSolution__tit-small { width: 50%; font-size: 23px; }
  .homeSolution-imgBox { position: static; width: 55%; max-width: 190px; margin: 0 0 0 auto; }
  .homeSolution-list { max-width: none; margin: 0 auto; }
  .homeSolution-list__item { margin-bottom: 50px; padding: 15px 20px 33px; border-radius: 12px; }
  .homeSolution-list__ico { width: 89px; top: -29px; left: -2px; }
  .homeSolution-list-top { justify-content: flex-end; margin-bottom: 20px; }
  .homeSolution-list-top__num { margin-bottom: 14px; padding: 5px 11px; font-size: 13px; }
  .homeSolution-list-top-tag { width: 100%; margin: 0 auto 0 0; justify-content: space-between; flex-wrap: wrap; }
  .homeSolution-list-top-tag__item { min-width: calc(50% - 6px); margin: 0 0 10px; padding: 3px 10px; font-size: 12px; }
  .homeSolution-list__tit { background: linear-gradient(to bottom, transparent calc(100% - 10px), #f4c040 calc(100% - 10px)); font-size: 19px; }
  .homeSolution-list__txt { line-height: 1.72; } }
@media screen and (max-width: 360px) { .homeSolution-list__item { padding-left: 10px; padding-right: 10px; }
  .homeSolution-list-top { margin-bottom: 15px; }
  .homeSolution-list-top-tag__item { font-size: 11px; }
  .homeSolution-list__tit { font-size: 16px; } }

/*------------------------------------------
	.homeSimulation
------------------------------------------*/
.homeSimulation { padding: 70px 0 100px; background: #f5f5f5; }
.homeSimulation__tit { margin-bottom: 56px; }
@media screen and (max-width: 767px) { .homeSimulation { padding: 60px 0 64px; }
  .homeSimulation__tit { margin-bottom: 18px; } }

/*------------------------------------------
	.homeFaq
------------------------------------------*/
.homeFaq { padding: 72px 0 70px; }
.homeFaq__tit { margin-bottom: 45px; }
.homeFaq-box { width: 100%; max-width: 816px; margin: 0 auto; }
.homeFaq-box__tit { position: relative; cursor: pointer; margin-bottom: 12px; padding: 18px 80px 18px 56px; border-bottom: 1px solid #003165; font-weight: 700; font-size: 18px; letter-spacing: .12em; }
.homeFaq-box__tit.is-open .btn::after { opacity: 0; top: -20px; }
.homeFaq-box__tit::before { content: "Q"; position: absolute; top: 12px; left: 0; display: flex; justify-content: center; align-items: center; padding: 0 0 0 3px; box-sizing: border-box; background: #003165; border-radius: 50%; color: #fff; width: 40px; height: 40px; font-weight: 700; font-size: 19px; text-align: center; }
.homeFaq-box__tit .btn { position: absolute; top: 0; bottom: 0; right: 24px; display: block; width: 16px; height: 16px; margin: auto; }
.homeFaq-box__tit .btn::before, .homeFaq-box__tit .btn::after { content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; width: 100%; height: 2px; background: #003165; margin: auto; transition: all .3s ease-in-out; }
.homeFaq-box__tit .btn::after { transform: rotate(90deg); }
.homeFaq-box-content { display: none; margin-bottom: 12px; padding: 14px 20px; background: #fff; border-radius: 6px; box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16); line-height: 1.75; }
.homeFaq-box-content:last-of-type { margin-bottom: 0; }
@media screen and (max-width: 767px) { .homeFaq { padding: 60px 0 30px; }
  .homeFaq__tit { margin-bottom: 37px; }
  .homeFaq-box__tit { display: flex; align-items: center; min-height: 65px; margin-bottom: 10px; padding: 5px 30px 5px 37px; font-size: 16px; }
  .homeFaq-box__tit::before { width: 30px; height: 30px; padding: 1px 0 0 1px; font-size: 15px; top: 0; bottom: 0; margin: auto; }
  .homeFaq-box__tit .btn { right: 0; }
  .homeFaq-box-content { padding: 16px 20px; line-height: 1.5; } }

/*------------------------------------------
	.homeReserve
------------------------------------------*/
.homeReserve { padding: 70px 0 80px; background: #f5f5f5; }
.homeReserve__tit { margin-bottom: 56px; }
@media screen and (max-width: 767px) { .homeReserve { padding: 60px 0 64px; }
  .homeReserve__tit { margin-bottom: 26px; } }

/*# sourceMappingURL=style.css.map */
