@charset "UTF-8";
:root {
    --main-color: #046BD0;
}
/*ファイルインポート*/
/*変数*/
/*色の変数*/
/*font*/
/*1px*/
/*contentsサイズ*/
/*ディスプレイサイズ*/
/*ブレイクポイント*/
/* CSS Document */
.container {
  background-color: rgba(220, 225, 227, 0.6); }

.top001 {
  background-color: #DCE1E3; }
  .top001-inner {
    max-width: 1152px;
    margin: auto;
    padding-top: 80px; }
    .top001-inner-slider {
      width: 100%; }
      .top001-inner-slider-item1 {
        position: relative;
        padding-bottom: 40px; }
        .top001-inner-slider-item1 .img1 {
          width: 100%; }
        .top001-inner-slider-item1 .img2 {
          width: 128px;
          position: absolute;
          top: 15px;
          right: 15px; }
        .top001-inner-slider-item1 .img3 {
          width: 446px;
          position: absolute;
          top: 230px;
          left: 30px; }
				.top001-inner-slider-item1 .img4 {
          width: 159px;
          position: absolute;
          bottom: 50px;
          right: 15px; }
      .top001-inner-slider-item2 {
        position: relative;
        padding-bottom: 40px; }
        .top001-inner-slider-item2 .img1 {
          width: 100%; }
        .top001-inner-slider-item2 .img2 {
          width: 128px;
          position: absolute;
          bottom: 55px;
          right: 15px; }
        .top001-inner-slider-item2 .img3 {
          width: 448px;
          position: absolute;
          top: 224px;
          left: 30px; }

@media screen and (max-width: 1280px) {
  .top001-inner {
    padding-top: 6.25vw; }
    .top001-inner-slider-item1 {
      padding-bottom: 3.12vw; }
      .top001-inner-slider-item1 .img2 {
        width: 10vw;
        top: 1.17vw;
        right: 1.17vw; }
      .top001-inner-slider-item1 .img3 {
        width: 34.84vw;
        top: 21.09vw;
        left: 2.34vw; }
      .top001-inner-slider-item1 .img4 {
        width: 12vw;
        bottom: 3.9vw;
        right: 1.2vw; }
    .top001-inner-slider-item2 {
      padding-bottom: 3.12vw; }
      .top001-inner-slider-item2 .img2 {
        width: 10vw;
        bottom: calccalcMiddleVW(55);
        right: 1.17vw; }
      .top001-inner-slider-item2 .img3 {
        width: 35vw;
        top: 20.31vw;
        left: 2.34vw; } }
@media screen and (max-width: 750px) {
  .top001-inner {
    padding-top: 14.13vw; }
    .top001-inner-slider-item1 {
      padding-bottom: 37.33vw; }
      .top001-inner-slider-item1 .img2 {
        width: 27.46vw;
        top: 2.66vw;
        right: 2.66vw; }
      .top001-inner-slider-item1 .img3 {
        width: 80vw;
        top: 40vw;
        left: 4vw; }
      .top001-inner-slider-item1 .img4 {
        width:28vw;
        top: 46vw;
        right: 2.8vw; }
    .top001-inner-slider-item2 {
      padding-bottom: 37.33vw; }
      .top001-inner-slider-item2 .img1 {
        width: 100%; }
      .top001-inner-slider-item2 .img2 {
        width: 27.46vw;
        bottom: 40vw;
        right: 2.66vw; }
      .top001-inner-slider-item2 .img3 {
        width: 73.59vw;
        position: absolute;
        top: 61.33vw;
        left: 4vw; } }
.top002 {
  background-color: #DCE1E3;
  padding-top: 20px;
  padding-bottom: 70px; }
  .top002-inner {
    width: 880px;
    margin: auto; }
    .top002-inner-box {
      width: 640px;
      margin: auto;
      position: relative; }
      .top002-inner-box .img2 {
        width: 160px;
        position: absolute;
        top: -27px;
        right: -30px; }
    .top002-inner-btn {
      margin: 25px auto 0; }
      .top002-inner-btn a {
        box-shadow: 2px 2px 8px rgba(10, 26, 30, 0.4);
        display: block;
        width: 640px;
        margin: auto;
        transition: .5s; }
      .top002-inner-btn a:hover {
        transform: scale(0.95); }
    .top002-inner-menu {
      margin: 80px auto 0;
      width: 100%;
      display: flex;
      justify-content: space-between; }
      .top002-inner-menu a {
        position: relative;
        width: 112px;
        height: 112px;
        box-shadow: 0 0 8px rgba(10, 26, 30, 0.2);
        background-color: #fff;
        display: flex;
        justify-content: center;
        align-items: center; }
        .top002-inner-menu a img {
          width: 96px;
          transition: .5s; }
        .top002-inner-menu a:hover img {
          transform: scale(0.9); }
        .top002-inner-menu a::before {
          content: "";
          background: url("../img/top002/triangle.png?ver=75c76763cc08") no-repeat;
          background-size: 16px 16px;
          width: 16px;
          height: 16px;
          position: absolute;
          bottom: 0;
          right: 0; }

@media screen and (max-width: 1280px) {
  .top002 {
    padding-top: 1.56vw;
    padding-bottom: 5.46vw; }
    .top002-inner {
      width: 68.75vw; }
      .top002-inner-box {
        width: 50vw; }
        .top002-inner-box .img2 {
          width: 12.5vw;
          top: -2.11vw;
          right: -2.35vw; }
      .top002-inner-btn {
        margin: 1.95vw auto 0; }
        .top002-inner-btn a {
          width: 50vw; }
      .top002-inner-menu {
        margin: 6.25vw auto 0; }
        .top002-inner-menu a {
          width: 8.75vw;
          height: 8.75vw;
          box-shadow: 0 0 0.62vw rgba(10, 26, 30, 0.2); }
          .top002-inner-menu a img {
            width: 7.5vw; }
          .top002-inner-menu a::before {
            background-size: 1.25vw 1.25vw;
            width: 1.25vw;
            height: 1.25vw; } }
@media screen and (max-width: 750px) {
  .top002 {
    background-color: #DCE1E3;
    padding: 5.33vw 5.33vw 10.66vw; }
    .top002-inner {
      width: 100%; }
      .top002-inner-box {
        width: 100%; }
        .top002-inner-box .img2 {
          width: 32vw;
          position: absolute;
          top: -7.2vw;
          right: 2.66vw; }
      .top002-inner-btn {
        margin: 6.66vw auto 0; }
        .top002-inner-btn a {
          width: 89.33vw;
          margin: auto; }
      .top002-inner-menu {
        margin: 10.66vw auto 0;
        justify-content: space-between;
        flex-wrap: wrap; }
        .top002-inner-menu a {
          width: 21.33vw;
          height: 21.33vw;
          margin-top: 1.33vw; }
          .top002-inner-menu a img {
            width: 19.46vw; }
          .top002-inner-menu a::before {
            background-size: 2.13vw 2.13vw;
            width: 2.13vw;
            height: 2.13vw; }
          .top002-inner-menu a:nth-child(5) {
            margin-left: auto;
            margin-right: 1.33vw; }
          .top002-inner-menu a:nth-child(6) {
            margin: 0;
            margin-top: 1.33vw; }
          .top002-inner-menu a:nth-child(7) {
            margin-right: auto;
            margin-left: 1.33vw; } }
.top003 {
  padding-top: 80px;
  padding-bottom: 80px; }
  .top003-inner {
    max-width: 1280px;
    position: relative;
    margin: auto;
    z-index: 10; }
    .top003-inner .bg {
      position: absolute;
      width: 192px;
      top: 15px;
      right: -32px;
      z-index: -1; }
    .top003-inner .ttl {
      width: 896px;
      margin: auto; }
    .top003-inner .graph {
      width: 768px;
      margin: 55px auto 0; }

@media screen and (max-width: 1280px) {
  .top003 {
    padding-top: 6.25vw;
    padding-bottom: 6.25vw; }
    .top003-inner .bg {
      width: 15vw;
      top: 1.17vw;
      right: -2.5vw; }
    .top003-inner .ttl {
      width: 70vw; }
    .top003-inner .graph {
      width: 60vw;
      margin: 4.29vw auto 0; } }
@media screen and (max-width: 750px) {
  .top003 {
    padding-top: 12vw;
    padding-bottom: 12vw; }
    .top003-inner .bg {
      position: absolute;
      width: 32vw;
      top: 0;
      right: -4.54vw; }
    .top003-inner .ttl {
      width: 92vw;
      margin: auto; }
    .top003-inner .graph {
      width: 92vw;
      margin: 8vw auto 0; } }
.top004-ttl {
  padding: 30px 0;
  background-color: #046BD0; }
  .top004-ttl img {
    width: 1024px;
    margin: auto; }
.top004-inner {
  padding-top: 80px;
  padding-bottom: 80px;
  max-width: 1280px;
  position: relative;
  margin: auto;
  z-index: 10; }
  .top004-inner .bg {
    position: absolute;
    width: 209px;
    top: 15px;
    right: -32px;
    z-index: -1; }
  .top004-inner .ttl {
    width: 896px;
    margin: auto; }
  .top004-inner-frame {
    padding-top: 35px;
    width: 768px;
    margin: auto; }
    .top004-inner-frame-box {
      margin-top: 45px; }

@media screen and (max-width: 1280px) {
  .top004-ttl {
    padding: 2.34vw 0; }
    .top004-ttl img {
      width: 80vw; }
  .top004-inner {
    padding-top: 6.25vw;
    padding-bottom: 6.25vw; }
    .top004-inner .bg {
      width: 16.32vw;
      top: 1.17vw;
      right: -2.5vw; }
    .top004-inner .ttl {
      width: 70vw; }
    .top004-inner-frame {
      padding-top: 2.73vw;
      width: 60vw; }
      .top004-inner-frame-box {
        margin-top: 3.51vw; } }
@media screen and (max-width: 750px) {
  .top004-ttl {
    padding: 5.33vw 0; }
    .top004-ttl img {
      width: 99.73vw; }
  .top004-inner {
    padding-top: 13.33vw;
    padding-bottom: 13.33vw; }
    .top004-inner .bg {
      position: absolute;
      width: 34.93vw;
      top: 0;
      right: -4.54vw; }
    .top004-inner .ttl {
      width: 92vw;
      margin: auto; }
    .top004-inner-frame {
      padding-top: 2.66vw;
      width: 89.33vw; }
      .top004-inner-frame-box {
        margin-top: 5.33vw; } }
.top005 {
  background-color: #F5F6F7; }
  .top005-inner {
    padding-top: 65px;
    padding-bottom: 70px;
    max-width: 1280px;
    position: relative;
    margin: auto; }
    .top005-inner-ttl {
      position: relative;
      width: 632px;
      margin: auto; }
      .top005-inner-ttl .ttl {
        margin: auto; }
      .top005-inner-ttl .fukidashi {
        width: 160px;
        position: absolute;
        top: -80px;
        left: -100px; }
    .top005-inner-link {
      padding-top: 25px;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      width: 1005px;
      margin: auto; }
      .top005-inner-link a {
        width: 480px;
        margin-top: 40px;
        box-shadow: 2px 2px 8px rgba(10, 26, 30, 0.4);
        transition: .5s;
        border-radius: 16px; }
        .top005-inner-link a img {
          transition: .5s; }
        .top005-inner-link a:hover {
          transform: scale(0.95); }
        .top005-inner-link a:last-child {
          margin-left: auto;
          margin-right: auto; }

@media screen and (max-width: 1280px) {
  .top005-inner {
    padding-top: 5.07vw;
    padding-bottom: 5.46vw; }
    .top005-inner-ttl {
      width: 49.37vw; }
      .top005-inner-ttl .fukidashi {
        width: 12.5vw;
        top: -6.25vw;
        left: -7.82vw; }
    .top005-inner-link {
      padding-top: 1.95vw;
      width: 78.51vw; }
      .top005-inner-link a {
        width: 37.5vw;
        margin-top: 3.12vw;
        border-radius: 1.25vw; } }
@media screen and (max-width: 750px) {
  .top005-inner {
    padding-top: 24vw;
    padding-bottom: 5.33vw; }
    .top005-inner-ttl {
      width: 69.86vw; }
      .top005-inner-ttl .fukidashi {
        width: 34.66vw;
        top: -18.67vw;
        left: -10.67vw; }
    .top005-inner-link {
      padding-top: 5.33vw;
      width: 100%;
      margin: auto;
      display: block; }
      .top005-inner-link a {
        display: block;
        width: 89.33vw;
        margin: 6.66vw auto 0;
        border-radius: 4.26vw; }
        .top005-inner-link a:last-child {
          margin-left: auto;
          margin-right: auto; } }
.top006 {
  background: url("../img/top006/bg.png?ver=45379519fa1d") no-repeat;
  background-size: 100% 80px;
  background-position: top left;
  background-color: #fff; }
  .top006.type002 {
    background-image: url("../img/top006/bg2.png?ver=4a50d4602652"); }
  .top006-inner {
    padding-top: 135px;
    padding-bottom: 80px;
    max-width: 1280px;
    position: relative;
    margin: auto; }
    .top006-inner-txt {
      text-align: center;
      font-size: 20px;
      font-weight: 700; }
    .top006-inner-btns {
      display: flex;
      justify-content: space-between;
      width: 1023px;
      margin: 40px auto 0; }
      .top006-inner-btns a {
        width: 325px;
        transition: .5s;
        box-shadow: 2px 2px 8px rgba(10, 26, 30, 0.4); }
        .top006-inner-btns a:hover {
          transform: scale(0.95); }

@media screen and (max-width: 1280px) {
  .top006 {
    background-size: 100% 6.25vw; }
    .top006-inner {
      padding-top: 10.54vw;
      padding-bottom: 6.25vw; }
      .top006-inner-txt {
        font-size: 1.56vw; }
      .top006-inner-btns {
        width: 79.92vw;
        margin: 3.12vw auto 0; }
        .top006-inner-btns a {
          width: 25.39vw; } }
@media screen and (max-width: 750px) {
  .top006 {
    background: url("../img/top006/bg_sp.png?ver=677e4e3fda22") no-repeat;
    background-size: 100% 14.93vw;
    background-position: top left;
    background-color: #fff; }
    .top006.type002 {
      background-image: url("../img/top006/bg2_sp.png?ver=7fab13a6eebb"); }
    .top006-inner {
      padding-top: 24vw;
      padding-bottom: 13.33vw; }
      .top006-inner-txt {
        font-size: 4.26vw;
        line-height: 1.5; }
      .top006-inner-btns {
        justify-content: space-between;
        flex-wrap: wrap;
        width: 89.33vw;
        margin-top: 6.66vw; }
        .top006-inner-btns.sp {
          display: flex !important; }
        .top006-inner-btns a {
          width: 89.33vw; }
          .top006-inner-btns a:nth-child(2) {
            width: 42.13vw;
            margin-top: 4vw; }
          .top006-inner-btns a:nth-child(3) {
            width: 42.13vw;
            margin-top: 4vw; } }
.top007-inner {
  padding-top: 80px;
  padding-bottom: 80px;
  max-width: 1280px;
  position: relative;
  margin: auto;
  z-index: 10; }
  .top007-inner .bg {
    position: absolute;
    width: 192px;
    top: 15px;
    right: -32px;
    z-index: -1; }
  .top007-inner .ttl {
    width: 896px;
    margin: auto; }
  .top007-inner-box {
    margin: 80px auto 0; }
    .top007-inner-box-ttl1 {
      width: 802.5px;
      margin: auto; }
    .top007-inner-box-ttl2 {
      width: 996px;
      margin: auto; }
    .top007-inner-box-ttl3 {
      width: 974.5px;
      margin: auto; }
    .top007-inner-box-txt {
      width: 1024px;
      margin: 40px auto 0;
      text-align: center;
      font-size: 18px;
      line-height: 1.8; }
    .top007-inner-box-graph {
      width: 1024px;
      margin: 100px auto 0; }
  .top007-inner-under {
    margin: 80px auto 0; }
    .top007-inner-under-ttl {
      width: 816px;
      margin: auto; }
    .top007-inner-under-box {
      margin: 40px auto 0;
      display: flex;
      justify-content: space-between;
      width: 816px; }
      .top007-inner-under-box .img {
        width: calc(50% - 25px); }

@media screen and (max-width: 1280px) {
  .top007-inner {
    padding-top: 6.25vw;
    padding-bottom: 6.25vw; }
    .top007-inner .bg {
      width: 15vw;
      top: 1.17vw;
      right: -2.5vw; }
    .top007-inner .ttl {
      width: 70vw; }
    .top007-inner-box {
      margin: 6.25vw auto 0; }
      .top007-inner-box-ttl1 {
        width: 62.69vw; }
      .top007-inner-box-ttl2 {
        width: 77.81vw; }
      .top007-inner-box-ttl3 {
        width: 76.13vw; }
      .top007-inner-box-txt {
        width: 80vw;
        margin: 3.12vw auto 0;
        font-size: 1.4vw; }
      .top007-inner-box-graph {
        width: 80vw;
        margin: 7.81vw auto 0; }
    .top007-inner-under {
      margin: 6.25vw auto 0; }
      .top007-inner-under-ttl {
        width: 63.74vw; }
      .top007-inner-under-box {
        margin: 3.12vw auto 0;
        width: 63.74vw; }
        .top007-inner-under-box .img {
          width: calc(50% - 1.95vw); } 

}
.top007-inner-box-txt1 {
	margin-top: 1vw;
	font-size: 0.95vw;
	color: #6C7578;
	width: 100%;
}

@media screen and (max-width: 750px) {
  .top007-inner {
    padding-top: 10.66vw;
    padding-bottom: 10.66vw; }
    .top007-inner .bg {
      position: absolute;
      width: 32vw;
      top: 0;
      right: -4.54vw; }
    .top007-inner .ttl {
      width: 89.06vw;
      margin: auto; }
    .top007-inner-box {
      margin: 6.66vw auto 0; }
      .top007-inner-box-ttl1 {
        width: 89.2vw;
        margin: auto; }
      .top007-inner-box-ttl2 {
        width: 89.2vw;
        margin: auto; }
      .top007-inner-box-ttl3 {
        width: 89.2vw;
        margin: auto; }
      .top007-inner-box-txt {
        width: 89.33vw;
        margin: 8vw auto 0;
        font-size: 3.73vw; }
      .top007-inner-box-graph {
        width: 89.33vw;
        margin: 8vw auto 0; }
    .top007-inner-under {
      margin: 12vw auto 0; }
      .top007-inner-under-ttl {
        width: 89.33vw;
        margin: auto; }
      .top007-inner-under-box {
        margin: 0 auto 0;
        display: block;
        width: 89.33vw; }
        .top007-inner-under-box .img {
          margin: 8vw auto 0;
          width: 100%;}
		  	.top007-inner-box-txt1 {
        margin-top: 1vw;
        font-size: 2.66vw;
        width: 100%; }
}
.top008 {
  background-color: #fff; }
  .top008-ttl {
    background-color: #046BD0;
    padding: 30px 0; }
    .top008-ttl img {
      width: 808px;
      margin: auto; }
  .top008-inner {
    padding: 80px 0 50px; }
    .top008-inner img {
      width: 1024px;
      margin: auto; }

@media screen and (max-width: 1280px) {
  .top008-ttl {
    padding: 2.34vw 0; }
    .top008-ttl img {
      width: 63.12vw; }
  .top008-inner {
    padding: 6.25vw 0 3.9vw; }
    .top008-inner img {
      width: 80vw;
      margin: auto; } }
@media screen and (max-width: 750px) {
  .top008-ttl {
    background-color: #046BD0;
    padding: 6.66vw 0; }
    .top008-ttl img {
      width: 100vw;
      margin: auto; }
  .top008-inner {
    padding: 8vw 0; }
    .top008-inner img {
      width: 89.86vw;
      margin: auto; } }
.top009 {
  background-color: rgba(220, 225, 227, 0.4); }
  .top009-inner {
    padding-top: 45px;
    padding-bottom: 80px;
    max-width: 1280px;
    position: relative;
    margin: auto; }
    .top009-inner .ttl {
      width: 1024px;
      margin: auto; }
    .top009-inner-txt1 {
      margin-top: 50px;
      text-align: center;
      font-size: 24px;
      font-weight: 700;
      color: #6C7578; }
      .top009-inner-txt1 span {
        font-size: 24px;
        font-weight: 700;
        color: #0A1A1E; }
    .top009-inner-txt2 {
      margin-top: 15px;
      text-align: center;
      font-size: 18px;
      font-weight: 700; }
    .top009-inner-btns {
      display: flex;
      justify-content: space-between;
      width: 1023px;
      margin: 40px auto 0; }
      .top009-inner-btns a {
        width: 325px;
        transition: .5s;
        box-shadow: 2px 2px 8px rgba(10, 26, 30, 0.4); }
        .top009-inner-btns a:hover {
          transform: scale(0.95); }

@media screen and (max-width: 1280px) {
  .top009-inner {
    padding-top: 3.51vw;
    padding-bottom: 6.25vw; }
    .top009-inner .ttl {
      width: 80vw;
      margin: auto; }
    .top009-inner-txt1 {
      margin-top: 3.9vw;
      font-size: 1.87vw; }
      .top009-inner-txt1 span {
        font-size: 1.87vw; }
    .top009-inner-txt2 {
      margin-top: 1.17vw;
      font-size: 1.4vw; }
    .top009-inner-btns {
      width: 79.92vw;
      margin: 3.12vw auto 0; }
      .top009-inner-btns a {
        width: 25.39vw; } }
@media screen and (max-width: 750px) {
  .top009-inner {
    padding-top: 6.66vw;
    padding-bottom: 13.33vw; }
    .top009-inner .ttl {
      width: 100%;
      margin: auto; }
    .top009-inner-txt1 {
      margin-top: 8vw;
      font-size: 4.8vw;
      line-height: 1.8; }
      .top009-inner-txt1 span {
        font-size: 4.8vw; }
    .top009-inner-txt2 {
      margin-top: 4vw;
      font-size: 4.26vw;
      line-height: 1.8; }
    .top009-inner-btns {
      justify-content: space-between;
      flex-wrap: wrap;
      width: 89.33vw;
      margin-top: 6.66vw; }
      .top009-inner-btns.sp {
        display: flex !important; }
      .top009-inner-btns a {
        width: 89.33vw; }
        .top009-inner-btns a:nth-child(2) {
          width: 42.13vw;
          margin-top: 4vw; }
        .top009-inner-btns a:nth-child(3) {
          width: 42.13vw;
          margin-top: 4vw; } }
.top010 {
  padding-top: 80px;
  padding-bottom: 5px;
  background: #F5F6F7;}
  .top010-inner {
    max-width: 1280px;
    position: relative;
    margin: auto;
    z-index: 10; }
    .top010-inner .bg {
      position: absolute;
      width: 209px;
      top: 15px;
      right: -32px;
      z-index: -1; }
    .top010-inner .ttl {
      width: 896px;
      margin: auto; }
    .top010-inner-txt {
      margin: 40px auto 0;
      text-align: center;
      line-height: 1.8;
      font-size: 18px; }
    .top010-inner-box {
      width: 768px;
      margin: 80px auto 0; }
      .top010-inner-box-box2 {
        margin-top: 10px; }
      .top010-inner-box-txt1 {
        margin: 20px auto 0;
        color: #6C7578;
        font-size: 12px;
        line-height: 1.5;
        width: 768px; }
      .top010-inner-box-txt2 {
        color: #6C7578;
        font-size: 12px;
        line-height: 1.5;
        width: 768px;
        margin: 5px auto 0; }
    .top010-inner-btn {
      margin: 40px auto 0; }
      .top010-inner-btn a {
        display: block;
        width: 576px;
        margin: auto;
        transition: .5s;
        box-shadow: 2px 2px 8px rgba(10, 26, 30, 0.4); }
        .top010-inner-btn a:hover {
          transform: scale(0.95); }

@media screen and (max-width: 1280px) {
  .top010 {
    padding-top: 6.25vw;
    padding-bottom: 4.68vw;}
    .top010-inner .bg {
      width: 16.32vw;
      top: 1.17vw;
      right: -2.5vw; }
    .top010-inner .ttl {
      width: 70vw; }
    .top010-inner-txt {
      margin: 3.12vw auto 0;
      font-size: 1.4vw; }
    .top010-inner-box {
      width: 60vw;
      margin: 6.25vw auto 0; }
      .top010-inner-box-box2 {
        margin-top: 0.78vw; }
      .top010-inner-box-txt1 {
        margin-top: 1.56vw;
        font-size: 0.93vw;
        width: 60vw; }
      .top010-inner-box-txt2 {
        margin-top: 0.39vw;
        font-size: 0.93vw;
        width: 60vw; }
    .top010-inner-btn {
      margin: 3.12vw auto 0; }
      .top010-inner-btn a {
        width: 45vw; } 
}
@media screen and (max-width: 750px) {
  .top010 {
    /*padding-top: 16vw;*/
    padding: 12vw 5.33vw 2.5vw;
    /*padding-bottom: 8vw; */}
    .top010-inner .bg {
      position: absolute;
      width: 34.93vw;
      top: 0;
      right: -4.54vw; }
    .top010-inner .ttl {
      width: 89.33vw;
      margin: auto; }
    .top010-inner-txt {
      margin: 10.66vw auto 0;
      text-align: left;
      line-height: 1.8;
      font-size: 3.73vw;
      width: 89.33vw; }
    .top010-inner-box {
      width: calc(100% - 5.33vw);
      overflow-x: auto;
      margin: 8vw auto 0; }
      .top010-inner-box-box1 {
        width: 115.99vw; }
      .top010-inner-box-box2 {
        width: 115.99vw;
        margin-top: 2.66vw; }
      .top010-inner-box-txt1 {
        margin-top: 4vw;
        font-size: 2.66vw;
        width: 89.33vw; }
      .top010-inner-box-txt2 {
        margin-top: 1.33vw;
        font-size: 2.66vw;
        width: 89.33vw; }
    .top010-inner-btn {
      margin: 6.66vw auto 0; }
      .top010-inner-btn a {
        width: 89.33vw;
        margin: auto; } }
.top011-inner {
  padding-top: 80px;
  padding-bottom: 80px;
  max-width: 1280px;
  position: relative;
  margin: auto;
  z-index: 10; }
  .top011-inner .bg {
    position: absolute;
    width: 192px;
    top: 15px;
    right: -32px;
    z-index: -1; }
  .top011-inner .ttl {
    width: 896px;
    margin: auto; }
  .top011-inner-menu {
    margin: 40px auto 0;
    display: flex;
    justify-content: space-between;
    width: 800px; }
    .top011-inner-menu a {
      width: 95px;
      height: 95px;
      display: flex;
      justify-content: center;
      align-items: center;
      background-color: #fff;
      box-shadow: 2px 2px 8px rgba(10, 26, 30, 0.4); }
      .top011-inner-menu a img {
        width: 81px;
        transition: .5s; }
      .top011-inner-menu a:hover img {
        transform: scale(0.9); }
  .top011-inner-box {
    margin: 60px auto 0;
    width: 800px;
    background-color: #fff; }
    .top011-inner-box-desc {
      padding: 30px;
      overflow: hidden; }
      .top011-inner-box-desc.closeMsg {
        max-height: 311px;
        position: relative; }
        .top011-inner-box-desc.closeMsg::after {
          content: "";
          background-image: linear-gradient(to top, white, rgba(255, 255, 255, 0));
          background-repeat: no-repeat;
          background-size: 100% 200px;
          background-position: bottom left;
          width: 100%;
          height: 100%;
          position: absolute;
          bottom: 0;
          left: 0; }
      .top011-inner-box-desc .txt1 {
        text-align: center;
        font-size: 18px;
        line-height: 1.5; }
      .top011-inner-box-desc .ttl1 {
        margin-top: 50px;
        padding: 12px 0;
        border-top: 1px solid #6C7578;
        border-bottom: 1px solid #6C7578;
        font-size: 16px;
        font-weight: 700;
        text-align: center; }
      .top011-inner-box-desc .contents {
        margin: 25px auto 0; }
        .top011-inner-box-desc .contents p {
          line-height: 1.5;
          font-size: 16px; }
          .top011-inner-box-desc .contents p .img1 {
            width: 192px;
            float: right;
            margin-left: 20px;
            margin-bottom: 20px; }
          .top011-inner-box-desc .contents p .strong {
            font-size: 18px;
            font-weight: 700; }
        .top011-inner-box-desc .contents-checklist {
          margin-top: 30px;
          padding-left: 30px; }
          .top011-inner-box-desc .contents-checklist li {
            position: relative;
            font-size: 18px;
            font-weight: 700;
            color: #6C7578;
            padding: 5px 0; }
            .top011-inner-box-desc .contents-checklist li::before {
              content: "";
              background: url("../img/top011/checkbox.png?ver=30389fcfdcc4") no-repeat;
              background-size: 22.5px 20px;
              width: 22.5px;
              height: 20px;
              position: absolute;
              top: 7.5px;
              left: -30px; }
        .top011-inner-box-desc .contents .img2 {
          width: 671px;
          margin: 40px auto 0; }
    .top011-inner-box-btn {
      padding: 12px 0;
      text-align: center;
      font-size: 18px;
      font-weight: 700;
      position: relative;
      color: #6C7578;
      border-top: 1px solid #6C7578;
      border-bottom: 1px solid #6C7578; }
      .top011-inner-box-btn a {
        color: #6C7578;
        position: relative;
        padding-right: 25px; }
        .top011-inner-box-btn a::after {
          content: "";
          background: url("../img/top011/arrow.png?ver=f34c184e053c") no-repeat;
          background-size: 16px 8px;
          width: 16px;
          height: 8px;
          position: absolute;
          top: 4px;
          right: 0; }
        .top011-inner-box-btn a.open::after {
          transform: rotate(180deg); }

@media screen and (max-width: 1280px) {
  .top011-inner {
    padding-top: 6.25vw;
    padding-bottom: 6.25vw; }
    .top011-inner .bg {
      width: 15vw;
      top: 1.17vw;
      right: -2.5vw; }
    .top011-inner .ttl {
      width: 70vw; }
    .top011-inner-menu {
      margin: 3.12vw auto 0;
      width: 62.5vw; }
      .top011-inner-menu a {
        width: 7.42vw;
        height: 7.42vw; }
        .top011-inner-menu a img {
          width: 6.32vw; }
    .top011-inner-box {
      margin: 4.68vw auto 0;
      width: 62.5vw; }
      .top011-inner-box-desc {
        padding: 2.34vw; }
        .top011-inner-box-desc.closeMsg {
          max-height: 24.29vw; }
          .top011-inner-box-desc.closeMsg::after {
            background-size: 100% 15.62vw; }
        .top011-inner-box-desc .txt1 {
          font-size: 1.4vw; }
        .top011-inner-box-desc .ttl1 {
          margin-top: 3.9vw;
          padding: 0.93vw 0;
          font-size: 1.25vw; }
        .top011-inner-box-desc .contents {
          margin: 1.95vw auto 0; }
          .top011-inner-box-desc .contents p {
            font-size: 1.25vw; }
            .top011-inner-box-desc .contents p .img1 {
              width: 15vw;
              margin-left: 1.56vw;
              margin-bottom: 1.56vw; }
            .top011-inner-box-desc .contents p .strong {
              font-size: 1.4vw; }
          .top011-inner-box-desc .contents-checklist {
            margin-top: 2.34vw;
            padding-left: 2.34vw; }
            .top011-inner-box-desc .contents-checklist li {
              font-size: 1.4vw;
              padding: 0.39vw 0; }
              .top011-inner-box-desc .contents-checklist li::before {
                background-size: 1.75vw 1.56vw;
                width: 1.75vw;
                height: 1.56vw;
                top: 0.58vw;
                left: -2.35vw; }
          .top011-inner-box-desc .contents .img2 {
            width: 52.42vw;
            margin: 3.12vw auto 0; }
      .top011-inner-box-btn {
        padding: 0.93vw 0;
        font-size: 1.4vw; }
        .top011-inner-box-btn a {
          padding-right: 1.95vw; }
          .top011-inner-box-btn a::after {
            background-size: 1.25vw 0.62vw;
            width: 1.25vw;
            height: 0.62vw;
            top: 0.31vw; } }
@media screen and (max-width: 750px) {
  .top011-inner {
    padding-top: 17.33vw;
    padding-bottom: 13.33vw; }
    .top011-inner .bg {
      position: absolute;
      width: 32vw;
      top: 0;
      right: -4.54vw; }
    .top011-inner .ttl {
      width: 89.33vw; }
    .top011-inner-menu {
      margin: 8vw auto 0;
      flex-wrap: wrap;
      width: 89.33vw; }
      .top011-inner-menu a {
        width: 21.33vw;
        height: 21.33vw;
        margin-top: 1.33vw; }
        .top011-inner-menu a img {
          width: 19.46vw; }
    .top011-inner-box {
      margin: 8vw auto 0;
      width: 89.33vw; }
      .top011-inner-box-desc {
        padding: 5.33vw; }
        .top011-inner-box-desc.closeMsg {
          max-height: 69.33vw; }
          .top011-inner-box-desc.closeMsg::after {
            background-size: 100% 40vw; }
        .top011-inner-box-desc .txt1 {
          font-size: 4.26vw; }
        .top011-inner-box-desc .ttl1 {
          margin-top: 6.66vw;
          padding: 2.13vw 0;
          font-size: 3.73vw; }
        .top011-inner-box-desc .contents {
          margin: 6.66vw auto 0; }
          .top011-inner-box-desc .contents p {
            font-size: 3.73vw; }
            .top011-inner-box-desc .contents p .img1 {
              width: 27.2vw;
              margin-left: 2.66vw;
              margin-bottom: 2.66vw; }
            .top011-inner-box-desc .contents p .strong {
              font-size: 3.73vw; }
          .top011-inner-box-desc .contents-checklist {
            margin-top: 6.66vw;
            padding-left: 6.66vw; }
            .top011-inner-box-desc .contents-checklist li {
              font-size: 3.73vw;
              padding: 0.66vw 0; }
              .top011-inner-box-desc .contents-checklist li::before {
                background-size: 4.26vw 3.2vw;
                width: 4.26vw;
                height: 3.2vw;
                top: 1.33vw;
                left: -6.67vw; }
          .top011-inner-box-desc .contents .img2 {
            width: 78.93vw;
            margin: 6.66vw auto 0; }
      .top011-inner-box-btn {
        padding: 3.2vw 0;
        font-size: 3.73vw; }
        .top011-inner-box-btn a {
          padding-right: 5.33vw; }
          .top011-inner-box-btn a::after {
            background-size: 3.2vw 1.6vw;
            width: 3.2vw;
            height: 1.6vw;
            top: 1.06vw;
            right: 0; } }
.top012-inner {
  padding-top: 90px;
  padding-bottom: 70px;
  max-width: 1280px;
  position: relative;
  margin: auto;
  z-index: 10; }
  .top012-inner .bg {
    position: absolute;
    width: 192px;
    top: 15px;
    right: -32px;
    z-index: -1; }
  .top012-inner .ttl {
    width: 896px;
    margin: auto; }
  .top012-inner-voice {
    margin: auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 1024px; }
    .top012-inner-voice-box {
      width: 325px;
      margin-top: 80px;
      background-color: #fff;
      padding: 40px 0 0;
      position: relative; }
      .top012-inner-voice-box::before {
        content: "";
        width: 100%;
        height: 4px;
        background-color: #0A1A1E;
        position: absolute;
        top: 0;
        left: 0; }
      .top012-inner-voice-box-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 0 15px; }
        .top012-inner-voice-box-header .img {
          width: 80px; }
        .top012-inner-voice-box-header .desc {
          width: calc(100% - 80px);
          padding-left: 15px;
          display: flex;
          justify-content: flex-start;
          align-items: center; }
          .top012-inner-voice-box-header .desc p {
            font-size: 18px;
            font-weight: 700;
            line-height: 1.4; }
      .top012-inner-voice-box-middle {
        margin-top: 30px;
        display: flex;
        justify-content: space-between;
        padding: 0 15px;
        padding-bottom: 25px; }
        .top012-inner-voice-box-middle .names {
          width: 106px;
          border-right: 1px solid #6C7578; }
          .top012-inner-voice-box-middle .names p {
            font-size: 18px;
            color: #046BD0;
            line-height: 1.8; }
            .top012-inner-voice-box-middle .names p span {
              font-size: 12px;
              color: #046BD0; }
        .top012-inner-voice-box-middle .desc {
          width: calc(100% - 106px);
          display: flex;
          justify-content: space-between;
          align-items: center;
          padding-left: 20px; }
          .top012-inner-voice-box-middle .desc .ttl {
            font-size: 12px;
            font-weight: 700;
            line-height: 2.66;
            color: #6C7578;
            white-space: nowrap; }
          .top012-inner-voice-box-middle .desc .content {
            font-size: 18px;
            line-height: 1.77;
            white-space: nowrap; }
            .top012-inner-voice-box-middle .desc .content span {
              font-size: 12px; }
      .top012-inner-voice-box-under {
        padding: 0 15px;
        padding-bottom: 30px; }
        .top012-inner-voice-box-under h3 {
          padding: 3px 10px 3px 30px;
          background-color: #6C7578;
          color: #fff;
          font-size: 14px;
          font-weight: bold;
          margin-left: -25px;
          display: inline-block; }
          .top012-inner-voice-box-under h3.ttl-mt {
            margin-top: 30px; }
        .top012-inner-voice-box-under h4 {
          margin-top: 24px;
          color: #046BD0;
          font-size: 16px;
          line-height: 1.4; }
        .top012-inner-voice-box-under p {
          margin-top: 20px;
          font-size: 14px;
          line-height: 1.4; }
      .top012-inner-voice-box-btn {
        padding: 8px 0;
        text-align: center;
        font-size: 14px;
        font-weight: 700;
        position: relative;
        color: #6C7578;
        border-top: 1px solid #6C7578; }
        .top012-inner-voice-box-btn a {
          color: #6C7578;
          position: relative;
          padding-right: 25px; }
          .top012-inner-voice-box-btn a::after {
            content: "";
            background: url("../img/top011/arrow.png?ver=f34c184e053c") no-repeat;
            background-size: 16px 8px;
            width: 16px;
            height: 8px;
            position: absolute;
            top: 4px;
            right: 0; }
          .top012-inner-voice-box-btn a.open::after {
            transform: rotate(180deg); }
  .top012-inner .graph {
    margin: 80px auto 0;
    width: 800px; }

@media screen and (max-width: 1280px) {
  .top012-inner {
    padding-top: 7.03vw;
    padding-bottom: 5.46vw; }
    .top012-inner .bg {
      width: 15vw;
      top: 1.17vw;
      right: -2.5vw; }
    .top012-inner .ttl {
      width: 70vw; }
    .top012-inner-voice {
      width: 80vw; }
      .top012-inner-voice-box {
        width: 25.39vw;
        margin-top: 6.25vw;
        padding: 3.12vw 0 0; }
        .top012-inner-voice-box-header {
          padding: 0 1.17vw; }
          .top012-inner-voice-box-header .img {
            width: 6.25vw; }
          .top012-inner-voice-box-header .desc {
            width: calc(100% - 6.25vw);
            padding-left: 1.17vw; }
            .top012-inner-voice-box-header .desc p {
              font-size: 1.4vw; }
        .top012-inner-voice-box-middle {
          margin-top: 2.34vw;
          padding: 0 1.17vw;
          padding-bottom: 1.95vw; }
          .top012-inner-voice-box-middle .names {
            width: 8.28vw; }
            .top012-inner-voice-box-middle .names p {
              font-size: 1.4vw; }
              .top012-inner-voice-box-middle .names p span {
                font-size: 0.93vw; }
          .top012-inner-voice-box-middle .desc {
            width: calc(100% - 8.28vw);
            padding-left: 1.56vw; }
            .top012-inner-voice-box-middle .desc .ttl {
              font-size: 0.93vw; }
            .top012-inner-voice-box-middle .desc .content {
              font-size: 1.4vw; }
              .top012-inner-voice-box-middle .desc .content span {
                font-size: 0.93vw; }
        .top012-inner-voice-box-under {
          padding: 0 1.17vw;
          padding-bottom: 2.34vw; }
          .top012-inner-voice-box-under h3 {
            padding: 0.23vw 0.78vw 0.23vw 2.34vw;
            font-size: 1.09vw;
            margin-left: -1.96vw; }
            .top012-inner-voice-box-under h3.ttl-mt {
              margin-top: 2.34vw; }
          .top012-inner-voice-box-under h4 {
            margin-top: 1.87vw;
            font-size: 1.25vw; }
          .top012-inner-voice-box-under p {
            margin-top: 1.56vw;
            font-size: 1.09vw; }
        .top012-inner-voice-box-btn {
          padding: 0.62vw 0;
          font-size: 1.09vw; }
          .top012-inner-voice-box-btn a {
            padding-right: 1.95vw; }
            .top012-inner-voice-box-btn a::after {
              background-size: 1.25vw 0.62vw;
              width: 1.25vw;
              height: 0.62vw;
              top: 0.31vw; }
    .top012-inner .graph {
      margin: 6.25vw auto 0;
      width: 62.5vw; } }
@media screen and (max-width: 750px) {
  .top012-inner {
    padding-top: 17.33vw;
    padding-bottom: 8vw; }
    .top012-inner .bg {
      position: absolute;
      width: 32vw;
      top: 0;
      right: -4.54vw; }
    .top012-inner .ttl {
      width: 89.33vw;
      margin: auto; }
    .top012-inner-voice {
      margin: auto;
      flex-wrap: wrap;
      width: 89.33vw; }
      .top012-inner-voice-box {
        width: 100%;
        margin-top: 8vw;
        padding: 5.33vw 0 0;
        position: relative; }
        .top012-inner-voice-box::before {
          height: 3px; }
        .top012-inner-voice-box-header {
          padding: 0 5.33vw; }
          .top012-inner-voice-box-header .img {
            width: 21.33vw; }
          .top012-inner-voice-box-header .desc {
            width: calc(100% - 21.33vw);
            padding-left: 4vw; }
            .top012-inner-voice-box-header .desc p {
              font-size: 4.26vw; }
        .top012-inner-voice-box-middle {
          margin-top: 5.33vw;
          padding: 0 5.33vw;
          padding-bottom: 6.66vw; }
          .top012-inner-voice-box-middle .names {
            width: 28.26vw; }
            .top012-inner-voice-box-middle .names p {
              font-size: 5.33vw; }
              .top012-inner-voice-box-middle .names p span {
                font-size: 3.2vw; }
          .top012-inner-voice-box-middle .desc {
            width: calc(100% - 28.26vw);
            padding-left: 5.33vw; }
            .top012-inner-voice-box-middle .desc .ttl {
              font-size: 3.73vw; }
            .top012-inner-voice-box-middle .desc .content {
              font-size: 5.33vw; }
              .top012-inner-voice-box-middle .desc .content span {
                font-size: 3.73vw; }
        .top012-inner-voice-box-under {
          padding: 0 5.33vw;
          padding-bottom: 5.33vw; }
          .top012-inner-voice-box-under h3 {
            padding: 0.8vw 2.66vw 0.8vw 8vw;
            font-size: 3.73vw;
            margin-left: -6.67vw;
            display: inline-block; }
            .top012-inner-voice-box-under h3.ttl-mt {
              margin-top: 5.33vw; }
          .top012-inner-voice-box-under h4 {
            margin-top: 5.33vw;
            font-size: 3.73vw;
            line-height: 1.8; }
          .top012-inner-voice-box-under p {
            margin-top: 5.33vw;
            font-size: 3.73vw;
            line-height: 1.8; }
        .top012-inner-voice-box-btn {
          padding: 2.13vw 0;
          font-size: 3.73vw; }
          .top012-inner-voice-box-btn a {
            padding-right: 6.66vw; }
            .top012-inner-voice-box-btn a::after {
              background-size: 4.26vw 2.13vw;
              width: 4.26vw;
              height: 2.13vw;
              top: 1.06vw;
              right: 0; }
    .top012-inner .graph {
      margin: 12vw auto 0;
      width: 89.33vw; } }
.top013-inner {
  padding-top: 90px;
  padding-bottom: 80px;
  max-width: 1280px;
  position: relative;
  margin: auto;
  z-index: 10; }
  .top013-inner .bg {
    position: absolute;
    width: 192px;
    top: 15px;
    right: -32px;
    z-index: -1; }
  .top013-inner .ttl {
    width: 896px;
    margin: auto; }
  .top013-inner-txt {
    margin: 40px auto 0;
    text-align: center;
    font-size: 24px;
    font-weight: 700; }
    .top013-inner-txt span {
      color: #046BD0; }
  .top013-inner .img1 {
    width: 674px;
    margin: 80px auto 0; }
  .top013-inner-desc {
    width: 674px;
    margin: 20px auto 0;
    font-size: 12px;
    color: #6C7578; }
  .top013-inner .img2 {
    width: 800px;
    margin: 60px auto 0; }

@media screen and (max-width: 1280px) {
  .top013-inner {
    padding-top: 7.03vw;
    padding-bottom: 6.25vw; }
    .top013-inner .bg {
      position: absolute;
      width: 15vw;
      top: 1.17vw;
      right: -2.5vw; }
    .top013-inner .ttl {
      width: 70vw; }
    .top013-inner-txt {
      margin: 3.12vw auto 0;
      font-size: 1.87vw; }
    .top013-inner .img1 {
      width: 52.65vw;
      margin: 6.25vw auto 0; }
    .top013-inner-desc {
      width: 52.65vw;
      margin: 1.56vw auto 0;
      font-size: 0.93vw; }
    .top013-inner .img2 {
      width: 62.5vw;
      margin: 4.68vw auto 0; } }
@media screen and (max-width: 750px) {
  .top013-inner {
    padding-top: 13.33vw;
    padding-bottom: 8vw; }
    .top013-inner .bg {
      position: absolute;
      width: 32vw;
      top: 0;
      right: -4.54vw; }
    .top013-inner .ttl {
      width: 89.33vw; }
    .top013-inner-txt {
      margin: 10.66vw auto 0;
      font-size: 5.33vw; }
    .top013-inner .img1 {
      width: 89.33vw;
      margin: 13.33vw auto 0; }
    .top013-inner-desc {
      width: 89.33vw;
      margin: 5.33vw auto 0;
      font-size: 2.66vw; }
    .top013-inner .img2 {
      width: 89.33vw;
      margin: 8vw auto 0; } }
.top014-inner {
  padding-top: 90px;
  padding-bottom: 80px;
  max-width: 1280px;
  position: relative;
  margin: auto;
  z-index: 10; }
  .top014-inner .bg {
    position: absolute;
    width: 209px;
    top: 15px;
    right: -32px;
    z-index: -1; }
  .top014-inner .ttl {
    width: 896px;
    margin: auto; }
  .top014-inner-txt {
    margin: 40px auto 0;
    text-align: center;
    font-size: 18px; }
  .top014-inner .img1 {
    margin: 80px auto 0;
    width: 800px; }
  .top014-inner-list {
    margin: 30px auto 0;
    width: 800px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap; }
    .top014-inner-list dt {
      width: 240px;
      padding: 20px 0;
      border-bottom: 1px solid #6C7578;
      font-size: 16px;
      font-weight: 700;
      color: #6C7578; }
    .top014-inner-list dd {
      width: calc(100% - 240px);
      padding: 20px 0;
      border-bottom: 1px solid #6C7578;
      font-size: 18px;
      color: #6C7578; }
      .top014-inner-list dd a {
        text-decoration: underline;
        color: #6C7578; }

@media screen and (max-width: 1280px) {
  .top014-inner {
    padding-top: 7.03vw;
    padding-bottom: 6.25vw; }
    .top014-inner .bg {
      width: 16.32vw;
      top: 1.17vw;
      right: -2.5vw; }
    .top014-inner .ttl {
      width: 70vw; }
    .top014-inner-txt {
      margin: 3.12vw auto 0;
      font-size: 1.4vw; }
    .top014-inner .img1 {
      margin: 6.25vw auto 0;
      width: 62.5vw; }
    .top014-inner-list {
      margin: 2.34vw auto 0;
      width: 62.5vw; }
      .top014-inner-list dt {
        width: 18.75vw;
        padding: 1.56vw 0;
        font-size: 1.25vw; }
      .top014-inner-list dd {
        width: calc(100% - 18.75vw);
        padding: 1.56vw 0;
        font-size: 1.4vw; } }
@media screen and (max-width: 750px) {
  .top014-inner {
    padding-top: 16vw;
    padding-bottom: 8vw; }
    .top014-inner .bg {
      position: absolute;
      width: 34.93vw;
      top: 0;
      right: -4.54vw; }
    .top014-inner .ttl {
      width: 89.33vw;
      margin: auto; }
    .top014-inner-txt {
      margin: 10.66vw auto 0;
      text-align: left;
      font-size: 3.73vw;
      width: 89.33vw; }
    .top014-inner .img1 {
      margin: 13.33vw auto 0;
      width: 89.33vw; }
    .top014-inner-list {
      margin: 8vw auto 0;
      width: 89.33vw; }
      .top014-inner-list dt {
        width: 100%;
        padding: 5.33vw 0 0;
        border-bottom: 0;
        font-size: 3.73vw; }
      .top014-inner-list dd {
        width: 100%;
        padding: 2.66vw 0 5.33vw;
        font-size: 4.26vw;
        line-height: 1.8; } }
.top015-inner {
  padding-top: 90px;
  padding-bottom: 80px;
  max-width: 1280px;
  position: relative;
  margin: auto;
  z-index: 10; }
  .top015-inner .bg {
    position: absolute;
    width: 209px;
    top: 15px;
    right: -32px;
    z-index: -1; }
  .top015-inner .ttl {
    width: 896px;
    margin: auto; }
  .top015-inner-frame {
    margin: 60px auto 0;
    width: 800px; }
    .top015-inner-frame-box {
      border-bottom: 1px solid #6C7578; }
      .top015-inner-frame-box-top {
        position: relative;
        padding: 25px 60px 25px 80px;
        cursor: pointer; }
        .top015-inner-frame-box-top::after {
          content: "";
          background: url("../img/top015/cursor.png?ver=736dd40f04fd") no-repeat;
          background-size: 24px 24px;
          width: 24px;
          height: 24px;
          position: absolute;
          top: calc(50% - 12px);
          right: 20px; }
        .top015-inner-frame-box-top.open::after {
          transform: rotate(180deg); }
        .top015-inner-frame-box-top .num {
          width: 48px;
          height: 48px;
          border-radius: 50%;
          text-align: center;
          line-height: 48px;
          background-color: #6C7578;
          color: #fff;
          font-size: 24px;
          font-weight: 700;
          position: absolute;
          top: 50%;
          left: 0;
          transform: translate(0, -50%); }
        .top015-inner-frame-box-top .qa {
          font-size: 18px;
          line-height: 1.5; }
      .top015-inner-frame-box-bottom {
        padding: 0 60px 25px 80px; }
        .top015-inner-frame-box-bottom .ans {
          font-size: 16px;
          font-weight: 700;
          line-height: 1.5; }

@media screen and (max-width: 1280px) {
  .top015-inner {
    padding-top: 7.03vw;
    padding-bottom: 6.25vw; }
    .top015-inner .bg {
      width: 16.32vw;
      top: 1.17vw;
      right: -2.5vw; }
    .top015-inner .ttl {
      width: 70vw; }
    .top015-inner-frame {
      margin: 4.68vw auto 0;
      width: 62.5vw; }
      .top015-inner-frame-box-top {
        padding: 1.95vw 4.68vw 1.95vw 6.25vw; }
        .top015-inner-frame-box-top::after {
          background-size: 1.87vw 1.87vw;
          width: 1.87vw;
          height: 1.87vw;
          top: calc(50% - 0.93vw);
          right: 1.56vw; }
        .top015-inner-frame-box-top .num {
          width: 3.75vw;
          height: 3.75vw;
          line-height: 3.75vw;
          font-size: 1.87vw; }
        .top015-inner-frame-box-top .qa {
          font-size: 1.4vw; }
      .top015-inner-frame-box-bottom {
        padding: 0 4.68vw 1.95vw 6.25vw; }
        .top015-inner-frame-box-bottom .ans {
          font-size: 1.25vw; } }
@media screen and (max-width: 750px) {
  .top015-inner {
    padding-top: 13.33vw;
    padding-bottom: 13.33vw; }
    .top015-inner .bg {
      position: absolute;
      width: 34.93vw;
      top: 0;
      right: -4.54vw; }
    .top015-inner .ttl {
      width: 89.33vw;
      margin: auto; }
    .top015-inner-frame {
      margin: 5.33vw auto 0;
      width: 89.33vw; }
      .top015-inner-frame-box-top {
        position: relative;
        padding: 4vw 10.66vw 4vw 10.66vw;
        cursor: pointer; }
        .top015-inner-frame-box-top::after {
          content: "";
          background: url("../img/top015/cursor.png?ver=736dd40f04fd") no-repeat;
          background-size: 4.8vw 4.8vw;
          width: 4.8vw;
          height: 4.8vw;
          top: calc(50% - 2.4vw);
          right: 2.66vw; }
        .top015-inner-frame-box-top .num {
          width: 6.4vw;
          height: 6.4vw;
          line-height: 6.4vw;
          font-size: 3.2vw; }
        .top015-inner-frame-box-top .qa {
          font-size: 3.73vw; }
      .top015-inner-frame-box-bottom {
        padding: 0 10.66vw 4vw 10.66vw; }
        .top015-inner-frame-box-bottom .ans {
          font-size: 3.73vw; } }
.lastpd {
  padding-bottom: 30px; }

@media screen and (max-width: 1280px) {
  .lastpd {
    padding-bottom: 2.34vw; } }
@media screen and (max-width: 750px) {
  .lastpd {
    padding-bottom: 18.66vw; } }

.cp-btn {
  max-width: 640px;
  margin: 45px auto 0;
  text-align: center;
}
.cp-btn img {
  max-width: 100%;
}
.cp-btn > div {
  margin-bottom: 24px;
}
.cp-btn > div:last-child{
  margin-bottom: 0;
}


/*比較表*/
#keypoints h3 {
  margin-top: 2em!important;
  font-size: 18px;
  margin-bottom: 0.5em;
  text-align: center!important;
  font-weight: bold;
}
.maincol {
  color: var(--main-color);
  margin-top: 2em!important;
  font-size: 18px;
  margin-bottom: 0.5em;
  text-align: center!important;
}
@media screen and (min-width: 750px) {
    .content__inner {
        position: relative;
        margin: 10px auto 0;
        width: 100%;
        max-width: 1100px;
    }
}
.num {
    font-family: Inter, sans-serif;
    font-size: 1.3em;
    font-weight: 700;
}
.vertical-rl {
    writing-mode: vertical-rl;
    text-orientation: mixed;
}
@media (min-width: 1024px) {
  .table-wrap {
    width: 100%;
    overflow:auto;
  }
}
@media (max-width: 1023px) {
  .table-wrap {
    width: 100%;
    overflow-x: auto;
    overflow: scroll;
  }
}
.compare-table {
  width: max-content;
  margin: 2em auto 0;
  border: 1px solid #474747;
  border-collapse: separate;
  overflow: clip;
  border-spacing: 0;
  border-radius: 10px;
  text-align: center;
  background: #fff;
}
.compare-table th,.compare-table td {
  text-align: center;
  font-size: 14px;
}
.compare-table.short {
  width: 750px;
}
@media (max-width: 767px) {
  .compare-table.short {
    width: 688px;
  }
}
.compare-table ul {
  margin: 0;
  padding-left: 1em;
  list-style: disc;
  text-align: left;
}
.compare-table ul li {
  list-style-type: disc;
  font-size: 14px;
}
.compare-table b {
  font-weight: 700;
  color: var(--main-color);
  font-size: 14px;
}
.compare-table strong,
.compare-table .maincol {
  font-weight: 700;
}
.compare-table th,
.compare-table td {
  padding: 1em 0.5em;
  vertical-align: middle;
  border-right: 1px solid #474747;
  border-bottom: 1px solid #474747;
  position: relative;
  z-index: 0;
}
.compare-table th:last-child,
.compare-table td:last-child {
  border-right: none;
}
.compare-table th {
  background: #e1e1e1;
  font-weight: 700;
}
.compare-table th.white {
  background: #fff;
}
.compare-table th.feature {
  border-color: var(--main-color);
  background: var(--main-color);
  color: #fff;
  z-index: 2;
}
.compare-table th.feature:before {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  width: calc(100% - 4px);
  height: 110%;
  border-top: 4px solid var(--main-color);
  border-left: 4px solid var(--main-color);
  border-right: 4px solid var(--main-color);
  z-index: 2;
}
.compare-table th.feature-row {
  border-color: var(--main-color);
  background: var(--main-color);
  color: #fff;
  z-index: 2;
}
.compare-table th.feature-row:before {
  content: "";
  position: absolute;
  top: -2px;
  left: -4px;
  width: calc(100% - 2px);
  height: calc(100% - 4px);
  border: 4px solid var(--main-color);
  z-index: 2;
}
.compare-table th.end {
  border-bottom: none;
}
.compare-table td.feature {
  background: #f2f7fd;
  position: relative;
}
.compare-table td.feature:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100% - 4px);
  height: 110%;
  border-left: 4px solid var(--main-color);
  border-right: 4px solid var(--main-color);
  z-index: 2;
}
.compare-table td.feature-row {
  background: #f2f7fd;
  position: relative;
  z-index: 2;
}
.compare-table td.feature-row:before {
  content: "";
  position: absolute;
  top: -2px;
  left: -4px;
  width: calc(100% + 12px);
  height: calc(100% - 4px);
  border-top: 4px solid var(--main-color);
  border-bottom: 4px solid var(--main-color);
  z-index: 2;
}
.compare-table td.feature-row.end {
  border-right: 4px solid var(--main-color);
}
.compare-table tbody tr:last-child th,
.compare-table tbody tr:last-child td {
  border-bottom: none;
}
.compare-table tbody tr:last-child th.feature,
.compare-table tbody tr:last-child td.feature {
  border-bottom: 4px solid var(--main-color);
}
.sticky-col {
  position: sticky !important;
  top: 0;
  left: 0;
  z-index: 3 !important;
}
.place-center {
  display: grid;
  place-content: center;
  font-size: 14px;
}
.place-center p {
  font-size: 14px;
}
.left { text-align: left;}
.compare-table sup {
  font-size: .65em;
  vertical-align: super;
  padding: 0 5px 10px;
}
.plus {
  margin: 0.25em auto;
  width: 1em;
  height: 1em;
  position: relative;
}
.plus:before,
.plus:after {
  content: "";
  position: absolute;
  background: var(--main-color);
  width: 2px;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translate(-50%);
}
.plus:before {
  transform: translate(-50%) rotate(90deg);
}
@media (min-width: 1050px) {
  .compare-table {
    width: 100%;
  }
}
.notice p {
  margin-top: 0.9em;
  font-size: 12px;
  line-height: 1.5;
}
.advice {
  background: #fff;
  border-radius: 1em;
  padding: 0.5em 1.5em 1em;
  position: relative;
  margin: 2em auto;
}
.advice img {
  position: absolute;
  bottom: -3em;
  right: 0;
  width:117px;
  height:121px;
}
.advice p {
  margin-top: 0.9em;
  text-align: left;
  line-height: 1.8;
  font-size: 0.875em;
}
.advice img {
  bottom: -2.6em;
}
@media (min-width: 1050px) {
  .advice {
    margin-block: 2em 3em;
    padding: 0.5em 2em 1em;
    max-width: 794px;
  }
  .advice p {
    font-size: 18px;
    text-align: left;
  }
  .advice img {
    width: 165px;
    height: auto;
    bottom: -3.2em;
  }
}

/* YouTube動画 */
.youtube-block {
  width: 1024px;
  margin: 5rem auto 5.5rem;
}

.youtube-video {
  margin: 0 auto;
  width: 544px;
  aspect-ratio: 16 / 9;
}

.youtube-video iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.youtube-title {
  margin: 15px 0 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

/* スマホ */
@media screen and (max-width: 767px) {
  .youtube-block {
    width: 89.33vw;
    margin: 3rem auto;
  }
  
  .youtube-video {
    width: 100%;
  }

  .youtube-title {
    font-size: 16px;
  }
}