@charset "utf-8";
/*--------------------------------------
mv
---------------------------------------*/
.l-mv {
 position: relative;
 width: 100%;
 min-width: 1100px;
 min-height: 516px;
 margin: 0;
 padding: 0;
 background: url(img/mv_bg_01.jpg) no-repeat center top;
 background-size: cover;
}
.l-mv-wrapper {
 width: 1050px;
 margin: 0 auto;
}
.l-mv-box {
 padding: 5rem 0 0 0;
}
.l-mv-box .catch {
 font-size: 3.6rem;
 color: #255594;
 line-height: 1.333;
 letter-spacing: 0.08em;
}
.l-mv-box .catch span.small {
 font-size: 2.8rem;
 color: #2B2B2B;
}
.l-mv-box p {
 font-size: 1.6rem;
 width: 446px;
}
.l-mv-box .btn-anc {
 margin: 3rem auto 3rem 0;
 text-align: left;
}
.l-mv-box .btn-anc a {
 padding: 1rem 5.4rem;
 font-size: 1.8rem;
}
/*--------------------------------------
banner0
---------------------------------------*/
div#banner0 {
 position: fixed;
 right: 3rem;
 bottom: 0rem;
 z-index: 100;
 width: 264px;
 height: 198px;
}
div#banner0 a {
 background-size: cover;
 margin: 0rem auto 10rem;
 align-items: center;
 display: table;
 width: 100%;
 height: 100%;
 background: url("img/banner.png") no-repeat center center/contain;
 text-decoration: none; 
}
.banner-inner {
 display: table-cell;
 vertical-align: middle;
 padding: 0 3rem;
 line-height: 1.4;
 text-align: left;
 color: #fff;
 font-size: 2rem;
 font-weight: bold;
 position: relative;
}
.banner-inner .bg {
 background: -webkit-linear-gradient(top, rgba(255,112,96,0) 0%,rgba(255,112,96,0) 70%,rgba(255,112,96,1) 71%,rgba(255,112,96,1) 100%);
 background: linear-gradient(to bottom, rgba(255,112,96,0) 0%,rgba(255,112,96,0) 70%,hwb(6deg 38% 0%) 71%,rgba(255,112,96,1) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00FF7060', endColorstr='#FF7060',GradientType=0 );
}
/*--------------------------------------
l-parts
---------------------------------------*/
section {
 padding-bottom: 6rem;
}
/*--------------------------------------
l-parts02
---------------------------------------*/
.l-parts02 {
 padding-bottom: 0;
}
.l-parts02-inner {
 padding: 4.4rem;
 background: url("img/parts02_bg_05.jpg") no-repeat center top;
 background-size: cover;
}
.block-why {
 margin: 0 0 2.7rem;
}
.block-why .box {
 margin: 0 0 3rem 0;
 padding: 2rem 2.5rem;
 background: #fff;
}
.block-why .ttl {
 min-height: 54px;
 margin: 0 0 2rem 0;
 padding: 1.5rem 0 0 6rem;
 font-size: 2.2rem;
}
.block-why .box .ttl::before {
 position: absolute;
 left: 0;
 top: 0;
 width: 54px;
 height: 54px;
 background: url(img/parts02_bg_04.png) no-repeat right top;
 background-size: 31px 53px;
 color: #FF7060;
 font-size: 4rem;
 font-weight: 400;
 line-height: 1.1;
}
.l-parts02-inner .block-why:nth-of-type(1) .box .ttl::before {
 content: "1";
}
.l-parts02-inner .block-why:nth-of-type(2) .box .ttl::before {
 content: "2";
}
.block-why .ttl .blue {
 color: #255594;
}
.block-why .box p {
 margin: 0;
}
.catch-wrap {
 text-align: center;
 padding-top: 4rem;
 background: url(img/parts02_bg_01.png) no-repeat center top;
}
.catch-wrap .catch {
 position: relative;
 display: inline-block;
 min-height: 44px;
 padding: 0 2rem;
 font-size: 2rem;
 letter-spacing: 0.1rem;
}
.catch-wrap .catch .orange {
 color: #FF7060;
 font-size: 3rem;
}
.catch-wrap .catch::before {
 position: absolute;
 left: -2rem;
 top: 0;
 width: 27px;
 height: 44px;
 background: url(img/parts02_bg_02.png) no-repeat left top;
 background-size: 100% auto;
 content: "";
}
.catch-wrap .catch::after {
 position: absolute;
 right: -2rem;
 top: 0;
 width: 27px;
 height: 44px;
 background: url(img/parts02_bg_03.png) no-repeat left top;
 background-size: 100% auto;
 content: "";
}
/*--------------------------------------
l-parts03
---------------------------------------*/
.l-parts03 {
 background: url("img/parts03_bg01.jpg") center top;
 background-size: 100% auto;
 padding-bottom: 10rem;
}
.l-parts03 .l-common-title-wrap {
 position: relative;
 top: -6rem;
 margin: 0 0 -2rem 0;
}
.l-parts03-office {
 padding: 7rem;
 background: #fff;
}
.l-parts03-office + .l-parts03-office {
 margin-top: 6rem;
}
.l-parts03-office_head {
 background-color: #095599;
 padding: 2.2rem;
 color: #fff;
 font-size: 2.4rem;
 text-align: center;
 font-weight: bold;
 margin: 0 auto 4rem;
 position: relative;
}
.l-parts03-office_head::after {
 content: "";
 width: 91px;
 height: 91px;
 background: url("img/parts06_icon01.svg") no-repeat center top;
 background-size: 100% auto;
 position: absolute;
 left: -45px;
 top: -47px;
}
.l-parts03-office#com02 .l-parts03-office_head::after {
 background-image: url("img/parts06_icon02.svg");
}
.l-parts03-office#com03 .l-parts03-office_head::after {
 background-image: url("img/parts06_icon03.svg");
}
.l-parts03-office_head > div .blue {
 font-size: 3.6rem;
 color: #095599;
 background-color: #FBE768;
 padding: 0rem 0.5rem;
}
.l-parts03-office .ttl-wrap {
 clear: both;
 margin: 6rem 0 3.6rem;
 text-align: center;
 position: relative;
}
.l-parts03-office .ttl-wrap::before {
 content: "";
 width: 100%;
 height: 1px;
 background-color: #095599;
 position: absolute;
 left: 0;
 top: 50%;
}
.l-parts03-office .ttl-wrap .ttl {
 display: inline-block;
 padding: 0.5rem 1rem;
 background: #fff;
 color: #095599;
 font-size: 2.4rem;
}
.block-summary {
 text-align: center;
}
.block-summary .box-fig {
 max-width: 560px;
 margin: 0 auto;
}
.block-feature {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.block-feature .box {
 width: calc((100% - 2rem)/2);
 padding: 3rem;
 background: #f4f4f4;
}
.block-feature .box-head {
 display: flex;
 align-items: center;
 margin: 0 0 2rem 0;
}
.block-feature .box-head .catch {
 color: #333;
 font-size: 2.2rem;
}
.block-feature .box-body p {
 margin: 0;
}
.l-parts03-office_tag {
 display: flex;
 flex-wrap: wrap;
}
.l-parts03-office_tag > div {
 text-align: center;
 background-color: #095599;
 border-radius: 1000px;
 color: #fff;
 font-size: 1.4rem;
 line-height: 1.2;
 padding: 1rem 2rem;
 margin: 1rem 1rem 0 0;
}
.l-parts03-office_jirei {
 background-color: rgba(251, 231, 104, 0.3);
 padding: 3rem 3.7rem;
}
.l-parts03-office_jirei_title {
 background: url("img/parts03-office_jirei_title_icon01.png") no-repeat left center;
 font-size: 2.2rem;
 font-weight: bold;
 padding: 0.4rem 0 0.8rem 7.4rem;
 /* border-bottom: #095599 solid 1px; */
 min-height: 46px;
}
.l-parts03-office_jirei .float-wrap {
 margin: 3rem 0 0;
}
.l-parts03-office_jirei .float-wrap .float-img.fr {
 width: 326px;
}
.l-parts03-office_osusume .l-parts03-office_osusume_title {
 font-size: 2.2rem;
 font-weight: bold;
}
.block-info table th {
 width: 15%;
 text-align: center;
}
/*--------------------------------------
l-parts04
---------------------------------------*/
.block-voice {
 display: flex;
 flex-wrap: wrap;
 justify-content: space-between;
}
.block-voice .box {
 width: calc((100% - 4rem)/3);
 margin: 0 0 2rem 0;
 padding: 2rem;
 background: #EDF5FD;
}
.block-voice .box-head {
 display: table;
 width: 100%;
 margin: 0 0 2rem 0;
 padding: 0 0 1.5rem 0;
 border-bottom: 1px solid #0379AA;
}
.block-voice .box-head .fig {
 display: table-cell;
 width: 60px;
}
.block-voice .box-head .catch {
 display: table-cell;
 vertical-align: middle;
 padding: 0 0 0 2rem;
 color: #095599;
 font-size: 1.8rem;
}
.block-voice .box-head .catch a {
 color: inherit;
 display: block;
 background: url("img/arrow03_navy.svg") no-repeat right 50%;
 background-size: 17px auto;
 padding-right: 2.4rem;
}
.block-voice .box-body p {
 margin: 0;
}
/*--------------------------------------
l-parts06
---------------------------------------*/
.l-parts06 {
 padding-bottom: 8rem;
}
.l-parts06_box .btn-internal a {
 background-image: none;
}
.l-parts06_box .btn-internal a::after {
 content: "";
 width: 18px;
 height: 18px;
 background: url("img/arrow03_white.svg") no-repeat;
 background-size: 100% auto;
 position: absolute;
 right: 2.1rem;
 top: 50%;
 transform: translateY(-50%) rotate(90deg);
}
/*--------------------------------------
l-parts07
---------------------------------------*/
.l-parts07 {
 background: url("img/parts07_bg01.jpg") no-repeat center top;
 background-size: cover;
 padding: 8rem 0 1rem;
 color: #fff;
}
.l-parts07_title {
 color: #fff;
 font-weight: bold;
 font-size: 3.6rem;
 text-align: center;
 margin: 0 0 2rem;
}
.l-parts07_title a {
 color: #fff;
 display: inline-block;
 padding: 0 4rem;
 background: url("img/arrow02_white.png") no-repeat right 50%;
}
.l-parts07 .float-wrap .float-img.fr {
 width: 426px;
}

.l-parts07 span{
 background: linear-gradient(to bottom, rgba(255,112,96,0) 0%,rgba(255,112,96,0) 70%,hwb(6deg 38% 0%) 71%,rgba(255,112,96,1) 100%);
}

/*--------------------------------------
l-parts08
---------------------------------------*/
.l-parts08 {
 background-color: #F1F1F1;
 padding:0.2rem 0 1rem;
}
.l-parts08 .l-common-title-wrap {
 background-color: transparent;
}
.l-parts08 .box-wrap .box {
 background-color: #fff;
}
/*--------------------------------------
l-parts09
---------------------------------------*/
/*--------------------------------------
l-parts10
---------------------------------------*/
.l-parts10 {
 background-color: #F1F1F1;
 padding:0.2rem 0 3rem;
}
.l-parts10 .l-common-title-wrap {
 background-color: transparent;
}
.l-parts10 .frame-wrap .frame {
 background-color: #fff;
}
/* SP -------------------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 480px) {
 /*--------------------------------------
mv
---------------------------------------*/
 .l-mv {
  position: relative;
  width: 100%;
  min-width: auto;
  min-height: auto;
  margin: 0;
  padding: 0 0 3rem;
  background: none;
 }
 .l-mv-wrapper {
  width: 100%;
  margin: 0 auto;
 }
 .l-mv-box {
  padding: 0;
  color: #fff;
 }
 .l-mv-box .catch {
  position: relative;
  width: 100%;
  min-width: auto;
  min-height: 12rem;
  margin: 0 0 2rem 0;
  padding: 2rem 2rem;
  background: url(img/mv_bg_01.jpg) no-repeat right -64px top;
  background-size: cover;
  font-size: 2rem;
  line-height: 1.3;
 }
 .l-mv-box .catch span.small {
  font-size: 1.4rem;
 }
 .l-mv-box p {
  width: auto;
  margin: 0;
  padding: 0 2rem;
  color: #000;
  font-size: 1.4rem;
 }
 .l-mv-box .btn-anc {
  margin: 2rem auto 0;
  text-align: center;
 }
 /*--------------------------------------
 l-parts
 ---------------------------------------*/
 .l-section-inner {
  clear: both;
  width: 100%;
  margin: 0 auto;
  padding: 0 1.5rem;
 }
 p.l-common-lead {
  margin: 0 0 3rem 0;
 }
 section {
  padding:0.2rem 0 4rem;
 }
 /*--------------------------------------
 l-parts01
 ---------------------------------------*/
 .l-parts01 {
  clear: both;
  padding: 4rem 0;
 }
 .l-parts01 .l-common-title {
  font-size: 2.4rem;
 }
 .l-parts01 .l-common-title span {
  font-size: 2.8rem;
 }
 .l-parts01 .note {
  font-size: 1.2rem;
 }
 .l-parts01 .note-scroll {
  padding: 0.3rem 1rem;
  background: #eee;
  border-radius: 5rem;
  font-size: 1.2rem;
  text-align: center;
 }
 .table-office {
  overflow-x: scroll;
 }
 .table-office table {
  width: 800px;
  margin: 0;
  font-family: "Noto Sans JP", sans-serif;
 }
 .table-office table th {
  width: auto;
  padding: 1rem 0.5rem;
  text-align: center;
 }
 .table-office table td {
  padding: 1rem 0.5rem;
  border: 1px solid #85bedf;
  font-size: 1.2rem;
  text-align: center;
 }
 .table-office thead th {
  width: 21.5%;
  background: #148ec1;
  color: #fff;
  font-size: 1.6rem;
 }
 .table-office thead td {
  border: none;
 }
 .table-office tbody th {
  position: -webkit-sticky;
  position: sticky;
  left: 0;
  background-clip: padding-box;
  border: 1px solid #85bedf;
  font-size: 1.3rem;
  z-index: 2;
 }
 .table-office table tr:last-child th {
  border-bottom: 1px solid #85bedf;
 }
 .table-office .amount {
  color: #000;
  font-size: 1.4rem;
 }
 .table-office .amount span {
  font-weight: 700;
 }
 .table-office .amount span span {
  font-size: 2.1rem;
 }
 .table-office .red {
  color: #ef2d2d;
  font-size: 1.4rem;
  font-weight: 700;
 }
 .table-office .price .red {
  font-size: 1.8rem;
 }
 .table-office .price span {
  font-weight: 700;
 }
 .table-office .price span span {
  font-size: 1.8rem;
 }
 .table-office .btn-web, .table-office p.btn-web {
  margin: 1rem auto 0 auto;
 }
 .table-office .btn-web a {
  display: inline-block;
  position: relative;
  width: 98%;
  margin: 0 auto;
  padding: 0.5rem 2rem 0.5rem 1rem;
  background: #ef2d2d url(img/arrow02_white.png) no-repeat right 0.5rem center;
  background-size: 14px auto;
  border-radius: 5rem;
  box-sizing: border-box;
  box-shadow: 2px 3px 0 #424242;
  color: #fff;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
 }
 .table-office .btn-web a:hover {
  background: #ef2d2d url(img/arrow02_white.png) no-repeat right 0.5rem center;
  background-size: 14px auto;
  text-decoration: none;
  opacity: 1;
 }
 /*--------------------------------------
 l-parts02
 ---------------------------------------*/
 .l-parts02 {
 }
 .l-parts02-inner {
  padding: 1.5rem;
 }
 .block-why .box {
  margin: 0 0 3rem 0;
  padding: 1.5rem;
  background: #fff;
 }
 .block-why .ttl {
  min-height: 54px;
  padding: 1rem 0 0 6rem;
  font-size: 1.8rem;
 }
 .block-why .box .ttl::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 54px;
  height: 54px;
  background: url(img/parts02_bg_04.png) no-repeat right top;
  background-size: 31px 54px;
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 1.1;
 }
 .catch-wrap {
  padding-top: 3rem;
 }
 .catch-wrap .catch {
  position: relative;
  display: inline-block;
  min-height: 44px;
  padding: 0 2rem;
  font-size: 1.6rem;
  letter-spacing: 0;
 }
 .catch-wrap .catch .orange {
  font-size: 2rem;
 }
 .catch-wrap .catch::before {
  position: absolute;
  left: -1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 27px;
  height: 44px;
  background: url(img/parts02_bg_02.png) no-repeat left top;
  background-size: 100% auto;
  content: "";
 }
 .catch-wrap .catch::after {
  position: absolute;
  right: -1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 27px;
  height: 44px;
  background: url(img/parts02_bg_03.png) no-repeat left top;
  background-size: 100% auto;
  content: "";
 }
 .catch-wrap .catch span {
  font-size: 2rem;
 }
 /*--------------------------------------
 l-parts03
 ---------------------------------------*/
 .l-parts03-office_jirei .float-wrap .float-img.fr {
  width: 100%;
 }
 .l-parts03 {
  padding-bottom: 4rem;
 }
 .l-parts03 .l-common-title-wrap {
  position: relative;
  top: -6rem;
  margin: 0 0 -4rem 0;
 }
 .l-parts03-office {
  padding: 2rem 1.5rem;
 }
 .l-parts03-office_head {
  font-size: 2rem;
  padding: 2rem 1rem 2rem;
  margin: 0 0 2rem;
 }
 .l-parts03-office_head::after {
  width: 51px;
  height: 51px;
  left: -1rem;
  top: -1rem;
 }
 .l-parts03-office_head > div .blue {
  font-size: 2.2rem;
 }
 .l-parts03-office .ttl-wrap {
  margin: 4rem 0 2rem 0;
 }
 .l-parts03-office .ttl-wrap .ttl {
  font-size: 1.8rem;
 }
 .block-summary {
  display: block;
 }
 .block-summary .box-fig {
  width: 100%;
 }
 .block-feature {
  display: block;
 }
 .block-feature .box {
  width: 100%;
  margin: 0 0 2rem 0;
  padding: 1.5rem;
 }
 .block-feature .box-head .catch {
  font-size: 1.8rem;
 }
 .l-parts03-office_tag {
 }
 .l-parts03-office_jirei {
  padding: 1.6rem;
 }
 .l-parts03-office_jirei_title {
  background-size: 30px auto;
  padding: 0 0 0rem 4rem;
  min-height: 30px;
  font-size: 1.8rem;
 }
 .l-parts03-office_jirei .float-wrap {
  margin: 2rem 0 0;
 }
 .l-parts03-office_osusume .l-parts03-office_osusume_title {
  font-size: 1.8rem;
 }
 .block-info table {
  margin: 2rem 0 0;
 }
 .block-info table th {
  width: 30%;
  text-align: center;
 }
 /*--------------------------------------
 l-parts04
 ---------------------------------------*/
 .l-parts04 {
 }
 .block-voice {
  display: block;
 }
 .block-voice .box {
  width: 100%;
  margin: 0 0 2rem 0;
  padding: 1.5rem;
 }
 .block-voice .box-head .fig {
  width: 60px;
 }
 .block-voice .box-head .catch {
  font-size: 1.8rem;
 }
 .block-voice .box-body .caption {
  margin: 2rem 0 0 0;
  text-align: left;
 }
 .l-parts04 .box-wrap {
  margin: 4rem 0 12rem 0;
 }
 /*--------------------------------------
 l-parts05
 ---------------------------------------*/
 .l-parts05 {
  clear: both;
  padding: 0 0 6rem 0;
  background: #f1fbff;
 }
 .l-parts05 .l-common-title-wrap {
  position: relative;
  top: -6rem;
  margin: 0 0 -2rem 0;
 }
 .l-parts05 .catch-wrap {
  margin: 0 1rem;
 }
 .block-consultation {
  display: block;
 }
 .block-consultation .box {
  width: 100%;
  margin: 0 0 2rem 0;
  padding: 1.5rem;
  background: #fff;
  border: 2px solid #0379aa;
  border-radius: 1rem;
 }
 .block-consultation .box-head {
  margin: 0 0 2.4rem 0;
  padding: 0 0 1.2rem 0;
  border-bottom: 1px solid #ef2d2d;
  color: #0379aa;
  font-size: 2rem;
  text-align: center;
 }
 .block-consultation .box-body table {
  margin: 0 0 2rem 0;
 }
 .block-consultation .box-body p {
  margin: 0;
 }
 .block-consultation .box-body table th {
  width: 36%;
  padding: 0.7rem;
  text-align: center;
 }
 .block-consultation .box-body table td {
  padding: 0.7rem;
 }
 /*--------------------------------------
 l-parts06
 ---------------------------------------*/
 .l-parts06_box .btn-internal a::after {
  width: 15px;
  height: 15px;
  right: 20px;
 }
 /*--------------------------------------
 l-parts07
 ---------------------------------------*/
 .l-parts07 {
  padding: 4rem 0;
 }
 .l-parts07_title {
  font-size: 2.4rem;
 }
 .l-parts07 .float-wrap .float-img.fr {
  width: 100%;
 }
 /*--------------------------------------
 l-parts08
 ---------------------------------------*/
 /*--------------------------------------
 l-parts09
 ---------------------------------------*/
 /*--------------------------------------
 l-parts10
 ---------------------------------------*/
 /*--------------------------------------
 banner0
 ---------------------------------------*/
 div#banner0 { display: none; }
} /* SP_End */