@charset "UTF-8";
/* =================================================== *

   基本設定

 * =================================================== */
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  font: inherit;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  text-decoration: none;
  vertical-align: baseline;
  outline: none;
  word-break: break-all; }

html {
  width: 100%;
  height: 100%; }

body {
  margin: 0;
  position: relative;
  line-height: 1.8;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  -o-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

html.fix, body.fix {
  width: 100%;
  height: 100%;
  position: fixed; }

article, aside, dialog, figure, footer, header, main, menu, nav, section {
  display: block; }

ol, ul {
  list-style: none; }

ol, ul, li, dt, dd {
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
  table-layout: fixed; }

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

.inblock-wrap {
  width: 100%;
  position: relative;
  font-size: 0; }

.inblock-wrap > * {
  font-size: 16px;
  font-size: 1rem;
  position: relative;
  vertical-align: top;
  display: inline-block; }

.flex-wrap {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  position: relative; }

.flex-wrap > * {
  position: relative; }

a.bl {
  display: block; }

/* =================================================== *

   フォント

 * =================================================== */
body {
  color: #000000;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HiraKakuProN-W3", 'メイリオ','Meiryo', "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 400; }

p {
  margin-bottom: 0.75em; }

a {
  text-decoration: none; }

.ul {
  text-decoration: underline !important; }

h1 {
  font-size: 300%;
  line-height: 1.3;
  margin: 0; }

h2 {
  font-size: 150%;
  line-height: 1.3;
  margin: 0 0 0.5em 0; }

h3, h4, h5, h6 {
  line-height: 1.5; }

/* =================================================== *

   画像

 * =================================================== */
img {
  vertical-align: top; }

.pic {
  position: relative; }

.text-pic {
  position: relative;
  text-align: center; }

.pic a {
  display: block;
  outline: none; }

.pic img, .text-pic img {
  width: 100%;
  height: auto; }

.hov {
  transition: opacity 0.3s linear; }
  .hov:hover {
    opacity: 0.7; }

.imghov {
  position: relative;
  font-size: 0;
  line-height: 0;
  display: block; }
  .imghov img {
    width: 100%;
    height: auto;
    vertical-align: top; }
  .imghov .on {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    opacity: 0;
    transition: opacity 0.3s linear; }
  .imghov:hover .on {
    opacity: 1; }

a {
  color: #3381C8; }

.content1160 {
  width: 100%;
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  @media screen and (max-width: 1190px) {
    .content1160 {
      padding-left: 15px;
      padding-right: 15px; } }
  @media screen and (max-width: 768px) {
    .content1160 {
      padding-left: 8%;
      padding-right: 8%; } }

.content1000 {
  width: 100%;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  position: relative; }
  @media screen and (max-width: 1030px) {
    .content1000 {
      padding-left: 15px;
      padding-right: 15px; } }
  @media screen and (max-width: 768px) {
    .content1000 {
      padding-left: 8%;
      padding-right: 8%; } }

.underline {
  text-decoration: underline; }

.movie-wrap {
  position: relative;
  height: 0;
  padding: 0 0 56.25%;
  overflow: hidden; }
  .movie-wrap .video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.point-wrap {
  position: relative; }
  .point-wrap > .inner {
    background: #DFE1E4;
    z-index: 1; }
    .point-wrap > .inner .panel {
      position: relative;
      z-index: 1; }
    .point-wrap > .inner p {
      font-size: 15px;
      font-size: 0.9375rem;
      line-height: 2;
      margin-bottom: 0; }
      @media screen and (max-width: 768px) {
        .point-wrap > .inner p {
          font-size: 12px;
          line-height: 2.25; } }
.point-label {
  width: 112px; }
  @media screen and (max-width: 768px) {
    .point-label {
      width: 17.7vw; } }

.item-wrap {
  position: relative; }
  .item-wrap > .inner {
    background: #DFE1E4;
    z-index: 1; }
.item-label {
  width: 415px; }

.form-text, .form-textarea {
  border: 2px solid #7F7F80;
  font-size: 17px;
  font-size: 1.0625rem;
  padding: 5px 10px;
  width: 100%;
  border-radius: 0; }
  @media screen and (max-width: 768px) {
    .form-text, .form-textarea {
      font-size: 16px;
      font-size: 1rem; } }

/* =================================================== *

   遅延ロード風アニメーション

 * =================================================== */
@-webkit-keyframes fadeInUp2 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0); } }
@keyframes fadeInUp2 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 50px, 0);
    transform: translate3d(0, 50px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0); } }
@-webkit-keyframes fadeInUp2sp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0); } }
@keyframes fadeInUp2sp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 30px, 0);
    transform: translate3d(0, 30px, 0); }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
    transform: translateZ(0); } }
.fadeInUp {
  -webkit-animation-name: fadeInUp2;
  animation-name: fadeInUp2; }

@media screen and (max-width: 767px) {
  .fadeInUp {
    -webkit-animation-name: fadeInUp2sp;
    animation-name: fadeInUp2sp; } }
#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 150px;
  overflow: hidden;
  z-index: 10;
  padding-top: 50px;
  padding-bottom: 10px;
  transition: background 0.3s linear; }
  @media screen and (max-width: 768px) {
    #header {
      height: 60px;
      padding-top: 0;
      padding-bottom: 0;
      overflow: visible; } }
  @media screen and (max-width: 768px) {
    #header > .inner {
      padding-left: 0;
      padding-right: 0; } }
  #header.scroll {
    background: #fff; }
  #header-sitelogo {
    width: 197px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    line-height: 1; }
    #header-sitelogo .on {
      display: none; }
    @media screen and (max-width: 768px) {
      #header-sitelogo {
        width: 144px;
        margin-bottom: 0;
        line-height: 0;
        padding-top: 20px; } }
    #header-sitelogo.open .off {
      display: none; }
    #header-sitelogo.open .on {
      display: inline; }
  #header-togglebtn {
    display: none; }
    @media screen and (max-width: 768px) {
      #header-togglebtn {
        display: block;
        background: #000000;
        color: #fff;
        width: 60px;
        height: 60px;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 1; }
        #header-togglebtn > span {
          display: inline-block;
          transition: all .4s;
          box-sizing: border-box;
          position: absolute;
          width: 37px;
          height: 4px;
          background-color: #fff;
          margin-right: auto;
          margin-left: auto;
          left: 0;
          right: 0; }
          #header-togglebtn > span:nth-child(1) {
            top: 15px; }
          #header-togglebtn > span:nth-child(2) {
            top: 28px; }
          #header-togglebtn > span:nth-child(3) {
            bottom: 15px; }
        #header-togglebtn.open > span:nth-child(1) {
          transform: translateY(12px) rotate(-45deg); }
        #header-togglebtn.open > span:nth-child(2) {
          opacity: 0; }
        #header-togglebtn.open > span:nth-child(3) {
          transform: translateY(-14px) rotate(45deg); } }
  @media screen and (max-width: 768px) {
    #header-navmenu {
      display: none;
      padding-top: 20vw; } }
  #header-navmenu-list {
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center; }
    @media screen and (max-width: 768px) {
      #header-navmenu-list {
        display: block; } }
    #header-navmenu-list > li {
      line-height: 1;
      position: relative;
      margin-right: 35px; }
      @media screen and (max-width: 768px) {
        #header-navmenu-list > li {
          margin-left: auto;
          margin-right: auto;
          margin-bottom: 12vw; } }
      #header-navmenu-list > li:last-child {
        margin-right: 0; }
        @media screen and (max-width: 768px) {
          #header-navmenu-list > li:last-child {
            margin-bottom: 0; } }
      @media screen and (max-width: 768px) {
        #header-navmenu-list > li:nth-child(1) {
          width: 36%; } }
      @media screen and (max-width: 768px) {
        #header-navmenu-list > li:nth-child(2) {
          width: 31%; } }
      @media screen and (max-width: 768px) {
        #header-navmenu-list > li:nth-child(3) {
          width: 64%; } }
      @media screen and (max-width: 768px) {
        #header-navmenu-list > li:nth-child(4) {
          width: 30%; } }
      @media screen and (max-width: 768px) {
        #header-navmenu-list > li:nth-child(5) {
          width: 37%; } }
      @media screen and (max-width: 768px) {
        #header-navmenu-list > li:nth-child(6) {
          width: 34px;
          margin-left: auto;
          margin-right: auto; } }
      #header-navmenu-list > li > a {
        color: #000000;
        text-decoration: none; }
      #header-navmenu-list > li img {
        height: 11px;
        width: auto; }
        @media screen and (max-width: 768px) {
          #header-navmenu-list > li img {
            width: 100%;
            height: auto; } }
      #header-navmenu-list > li.icon {
        margin-top: -3px; }
        @media screen and (max-width: 768px) {
          #header-navmenu-list > li.icon {
            margin-top: 0; } }
        #header-navmenu-list > li.icon img {
          height: 18px; }
          @media screen and (max-width: 768px) {
            #header-navmenu-list > li.icon img {
              width: 100%;
              height: auto; } }
      #header-navmenu-list > li:after {
        content: '';
        width: 36px;
        height: 2px;
        background: transparent;
        position: absolute;
        bottom: -7px;
        left: 0;
        right: 0;
        margin-left: auto;
        margin-right: auto;
        transition: all 0.3s linear; }
        @media screen and (max-width: 768px) {
          #header-navmenu-list > li:after {
            display: none; } }
      #header-navmenu-list > li.indicator:after {
        background: #26B7BC; }

@media screen and (max-width: 768px) {
  #navmenu-sp-overlay {
    background: #000;
    z-index: 9;
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: none; } }

#footer {
  background: #000;
  color: #fff;
  padding-top: 60px;
  padding-bottom: 10px; }
  @media screen and (max-width: 768px) {
    #footer {
      padding-top: 7vw;
      padding-bottom: 2vw; } }
  #footer-layout1 {
    flex-wrap: nowrap;
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      #footer-layout1 {
        margin-bottom: 0; } }
    #footer-layout1 > .el-left {
      width: 240px;
      min-width: 240px; }
      @media screen and (max-width: 768px) {
        #footer-layout1 > .el-left {
          width: 52%;
          min-width: 52%; } }
    #footer-layout1 > .el-right {
      width: 100%; }
      @media screen and (max-width: 768px) {
        #footer-layout1 > .el-right {
          width: 48%; } }
  #footer-sitelogo {
    width: 198px;
    margin-bottom: 25px; }
    @media screen and (max-width: 768px) {
      #footer-sitelogo {
        width: 90%;
        margin-top: 10px; } }
  #footer-text1 {
    font-size: 15px;
    font-size: 0.9375rem;
    margin-bottom: 15px; }
    @media screen and (max-width: 768px) {
      #footer-text1 {
        font-size: 11px;
        font-size: 0.6875rem;
        margin-bottom: 4vw; } }
  #footer-tel {
    width: 220px; }
    @media screen and (max-width: 768px) {
      #footer-tel {
        width: 100%; } }
  #footer-navmenu {
    justify-content: flex-end; }
    @media screen and (max-width: 768px) {
      #footer-navmenu {
        display: block;
        padding-left: 10%; } }
    #footer-navmenu > li {
      line-height: 1;
      position: relative;
      margin-right: 30px;
      margin-bottom: 15px; }
      @media screen and (max-width: 768px) {
        #footer-navmenu > li {
          text-align: right;
          margin-right: 0;
          margin-left: auto; } }
      #footer-navmenu > li img {
        height: 11px;
        width: auto; }
      #footer-navmenu > li.icon {
        margin-top: -3px; }
        #footer-navmenu > li.icon img {
          height: 18px; }
  #footer-copyright {
    text-align: right;
    margin-bottom: 0;
    font-size: 13px;
    font-size: 0.8125rem; }
    @media screen and (max-width: 768px) {
      #footer-copyright {
        font-size: 10px;
        font-size: 0.625rem;
        text-align: center; } }

html, body {
  width: 100%;
  height: 100%; }

html.fix, body.fix {
  position: fixed; }

#bg-wrap {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #000;
  z-index: 0;
  overflow: hidden; }

#bg_video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover; }

#luxy-wrap {
  /* background: #fff; */ }

#main {
  position: relative;
  overflow-x: hidden; }

#top-mainvisual {
  padding-top: 210px;
  padding-right: 70px;
  padding-bottom: 9vw;
  background: linear-gradient(90deg, #F2F3F4 0%, #F2F3F4 25%, #fff 25%, #fff 100%); }
  @media screen and (max-width: 768px) {
    #top-mainvisual {
      padding-top: 60px;
      padding-bottom: 10vw;
      padding-left: 5%;
      padding-right: 5%;
      background: #fff; } }
  #top-mainvisual > .inner {
    width: 100%;
    /* max-width: calc( 1120px + 16% ); */
    padding-left: 15%;
    margin-right: auto;
    margin-left: 0; }
    @media screen and (max-width: 768px) {
      #top-mainvisual > .inner {
        padding-top: 12vw;
        padding-left: 0; } }
  #top-mainvisual-layout1 {
    width: 100%;
    flex-wrap: nowrap; }
    @media screen and (max-width: 768px) {
      #top-mainvisual-layout1 {
        display: block; } }
    #top-mainvisual-layout1 > .el-left {
      width: 40%;
      margin-right: 3%; }
      @media screen and (max-width: 768px) {
        #top-mainvisual-layout1 > .el-left {
          width: 100%;
          margin-right: 0; } }
    #top-mainvisual-layout1 > .el-right {
      width: 57%; }
      @media screen and (max-width: 768px) {
        #top-mainvisual-layout1 > .el-right {
          width: 100%; } }
  #top-mainvisual-title1 {
    font-size: 3.6vw;
    font-weight: 300;
    line-height: 1.8;
    margin-bottom: 0;
    letter-spacing: 0.15em; }
    @media screen and (max-width: 768px) {
      #top-mainvisual-title1 {
        font-size: 9.2vw;
        margin-bottom: 4vw; } }
    #top-mainvisual-title1 > span {
      position: relative; }
      #top-mainvisual-title1 > span:after {
        content: '';
        background: #000000;
        width: 100%;
        height: 0.2vw;
        position: absolute;
        display: block;
        bottom: 0.25vw;
        z-index: 0; }
        @media screen and (max-width: 768px) {
          #top-mainvisual-title1 > span:after {
            height: 2px;
            bottom: 2px; } }
  #top-mainvisual-pic1 {
    width: 88%;
    margin-left: auto;
    margin-right: -3%;
    margin-top: 1vw; }
    @media screen and (max-width: 768px) {
      #top-mainvisual-pic1 {
        width: 75%;
        margin-right: 0;
        margin-top: 0;
        margin-bottom: 7vw; } }
  #top-mainvisual-pic2 {
    width: 100%;
    max-width: 630px; }
    #top-mainvisual-pic2 > video {
      width: 100%;
      height: auto; }
#top-section1 {
  padding-top: 150px;
  padding-bottom: 250px;
  position: relative;
  background: linear-gradient(90deg, #F2F3F4 0%, #F2F3F4 25%, #fff 25%, #fff 100%); }
  @media screen and (max-width: 768px) {
    #top-section1 {
      padding-top: 10vw;
      padding-bottom: 20vw;
      background: #fff; } }
  #top-section1 > .inner {
    position: relative;
    z-index: 1; }
  #top-section1-tate1 {
    width: 77px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0; }
    @media screen and (max-width: 768px) {
      #top-section1-tate1 {
        display: none; } }
  #top-section1-tate2 {
    width: 15px;
    position: absolute;
    right: 35px;
    left: auto;
    top: 80px;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      #top-section1-tate2 {
        top: 0;
        width: 9px;
        right: 2%; } }
  #top-section1-title1 {
    width: 362px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 80px; }
    @media screen and (max-width: 768px) {
      #top-section1-title1 {
        width: 59%;
        margin-bottom: 8vw; } }
  #top-section1-lead1 {
    font-size: 44px;
    font-size: 2.75rem;
    text-align: center;
    line-height: 1.75;
    letter-spacing: 0.05em;
    text-indent: 0.05em;
    margin-bottom: 80px; }
    @media screen and (max-width: 1030px) {
      #top-section1-lead1 {
        font-size: 3.8vw; } }
    @media screen and (max-width: 768px) {
      #top-section1-lead1 {
        font-size: 5.8vw;
        letter-spacing: 0;
        text-indent: 0;
        margin-bottom: 10vw; } }
  #top-section1-layout1 {
    flex-wrap: nowrap; }
    @media screen and (max-width: 768px) {
      #top-section1-layout1 {
        display: block; } }
    #top-section1-layout1 > .el-left {
      width: 59.5%;
      padding-top: 0.75vw; }
      @media screen and (max-width: 768px) {
        #top-section1-layout1 > .el-left {
          width: 100%; } }
    #top-section1-layout1 > .el-right {
      width: 40.5%; }
      @media screen and (max-width: 768px) {
        #top-section1-layout1 > .el-right {
          width: 100%;
          margin-top: 10vw; } }
  #top-section1-pic1 {
    width: 100%;
    max-width: 469px; }
    @media screen and (max-width: 768px) {
      #top-section1-pic1 {
        max-width: none; } }
  #top-section1-text1 {
    font-size: 20px;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 3;
    letter-spacing: 0.05em;
    margin-bottom: 0; }
    @media screen and (max-width: 1030px) {
      #top-section1-text1 {
        font-size: 1.8vw;
        letter-spacing: 0; } }
    @media screen and (max-width: 768px) {
      #top-section1-text1 {
        font-size: 14px;
        font-size: 0.875rem;
        line-height: 2.5; } }
#top-section2 {
  background: url("../images/top/section2-bg1.jpg") top center no-repeat;
  background-size: cover;
  position: relative; }
  @media screen and (max-width: 768px) {
    #top-section2 {
      background: url("../images/top/section2-bg1_sp.jpg") top center no-repeat;
      background-size: cover;
      height: 93.33vw; } }
  #top-section2 > .inner {
    padding-top: 120px;
    padding-bottom: 280px; }
    @media screen and (max-width: 768px) {
      #top-section2 > .inner {
        padding-top: 18vw;
        padding-bottom: 0; } }
  #top-section2-title1 {
    width: 304px;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    z-index: 1;
    top: -38px;
    left: 0;
    right: 0;
    margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      #top-section2-title1 {
        width: 51%;
        top: -6vw; } }
  #top-section2-title2 {
    margin-left: auto;
    margin-right: 0;
    width: 284px;
    margin-bottom: 100px; }
    @media screen and (max-width: 768px) {
      #top-section2-title2 {
        position: absolute;
        right: 5%;
        width: 36%;
        top: 48vw;
        z-index: 1;
        margin-bottom: 0; } }
  #top-section2-lead1 {
    width: 450px;
    margin-left: auto;
    margin-right: 0;
    margin-bottom: 0;
    font-size: 26px;
    font-size: 1.625rem;
    line-height: 1.3;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 768px) {
      #top-section2-lead1 {
        font-size: 3.5vw;
        width: 80%;
        margin-left: -5%;
        margin-right: auto; } }
    #top-section2-lead1 > span {
      background: #fff;
      padding: 4px 8px;
      display: inline-block;
      margin-bottom: 10px; }
      @media screen and (max-width: 768px) {
        #top-section2-lead1 > span {
          padding: 3px 5px;
          margin-bottom: 1.5vw; } }
#top-section3 {
  position: relative; }
  #top-section3 > .inner {
    background: #fff;
    padding-top: 130px;
    padding-bottom: 0;
    top: -160px; }
    @media screen and (max-width: 768px) {
      #top-section3 > .inner {
        top: -17vw;
        margin-left: auto;
        margin-right: auto;
        width: 84%;
        padding-left: 0;
        padding-right: 0;
        padding-top: 10vw;
        margin-bottom: -17vw; } }
  #top-section3-tate1 {
    width: 15px;
    position: absolute;
    right: 35px;
    left: auto;
    top: 20px;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      #top-section3-tate1 {
        top: 20px;
        width: 9px;
        right: 2%; } }
  #top-section3-layout1 {
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    flex-wrap: nowrap;
    align-items: flex-end; }
    @media screen and (max-width: 768px) {
      #top-section3-layout1 {
        display: block; } }
    #top-section3-layout1 > .el-left {
      width: 54%;
      margin-right: 5%; }
      @media screen and (max-width: 768px) {
        #top-section3-layout1 > .el-left {
          width: 100%;
          margin-right: 0; } }
      #top-section3-layout1 > .el-left p {
        font-size: 17px;
        line-height: 2.5;
        margin-bottom: 0; }
        @media screen and (max-width: 1030px) {
          #top-section3-layout1 > .el-left p {
            font-size: 14px;
            font-size: 0.875rem;
            line-height: 2; } }
        @media screen and (max-width: 768px) {
          #top-section3-layout1 > .el-left p {
            line-height: 2.5; } }
    #top-section3-layout1 > .el-right {
      width: 41%; }
      @media screen and (max-width: 768px) {
        #top-section3-layout1 > .el-right {
          display: none; } }
  #top-section3-title1 {
    font-size: 55px;
    font-size: 3.4375rem;
    font-weight: 300;
    line-height: 1.5;
    margin-bottom: 45px;
    letter-spacing: 0.025em; }
    @media screen and (max-width: 1030px) {
      #top-section3-title1 {
        font-size: 4.8vw; } }
    @media screen and (max-width: 768px) {
      #top-section3-title1 {
        font-size: 8.8vw;
        margin-bottom: 5vw;
        letter-spacing: 0.05em;
        padding-left: 8%;
        padding-right: 8%; } }
    #top-section3-title1 > span {
      position: relative; }
      #top-section3-title1 > span:after {
        content: '';
        background: #000000;
        width: 100%;
        height: 3px;
        position: absolute;
        display: block;
        bottom: 0;
        z-index: 0; }
        @media screen and (max-width: 768px) {
          #top-section3-title1 > span:after {
            height: 2px; } }
  #top-section3-pic1 {
    max-width: 408px; }
  #top-section3-pic1-sp {
    width: 84%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10vw; }
#top-section4 {
  padding-top: 130px;
  margin-bottom: 90px; }
  @media screen and (max-width: 768px) {
    #top-section4 {
      padding-top: 42vw;
      margin-bottom: 20vw; } }
  #top-section4 > .point-wrap {
    width: 88%;
    margin-left: 0;
    margin-right: auto; }
    @media screen and (max-width: 1030px) {
      #top-section4 > .point-wrap {
        width: calc( 100% - 15px ); } }
    @media screen and (max-width: 768px) {
      #top-section4 > .point-wrap {
        width: 100%; } }
    #top-section4 > .point-wrap > .point-bg {
      background: url(../images/top/section4-pic1.jpg) 50% 50% no-repeat;
      background-size: 850px;
      width: 62.22vw;
      height: 551px;
      max-width: 850px;
      margin-left: 0;
      margin-right: auto;
      position: absolute;
      z-index: 0;
      top: -130px; }
      @media screen and (max-width: 1030px) {
        #top-section4 > .point-wrap > .point-bg {
          height: 40vw;
          background-size: cover;
          top: -12vw; } }
      @media screen and (max-width: 768px) {
        #top-section4 > .point-wrap > .point-bg {
          background: url(../images/top/section4-pic1_sp.jpg) 50% 50% no-repeat;
          background-size: cover;
          width: 92%;
          top: -25vw;
          height: 64vw; } }
    #top-section4 > .point-wrap > .inner {
      padding-bottom: 70px; }
      @media screen and (max-width: 1030px) {
        #top-section4 > .point-wrap > .inner {
          padding-right: 15px; } }
      @media screen and (max-width: 768px) {
        #top-section4 > .point-wrap > .inner {
          padding-top: 39vw;
          padding-bottom: 10vw;
          padding-right: 0; } }
    #top-section4 > .point-wrap .point-label {
      margin-right: auto;
      margin-left: auto;
      position: absolute;
      left: auto;
      right: 0;
      top: -50px; }
      @media screen and (max-width: 768px) {
        #top-section4 > .point-wrap .point-label {
          top: -6vw;
          left: 8%;
          right: auto; } }
    #top-section4 > .point-wrap .panel {
      width: 300px;
      margin-left: 66%;
      padding-top: 160px; }
      @media screen and (max-width: 1030px) {
        #top-section4 > .point-wrap .panel {
          margin-left: auto;
          margin-right: 0; } }
      @media screen and (max-width: 768px) {
        #top-section4 > .point-wrap .panel {
          width: 100%;
          padding-left: 8%;
          padding-right: 8%;
          padding-top: 16vw; } }
      #top-section4 > .point-wrap .panel p {
        width: 100%;
        margin-left: 0;
        margin-right: auto; }
  #top-section4-point {
    width: 227px;
    margin-left: 0;
    margin-right: auto;
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      #top-section4-point {
        width: 45%;
        margin-bottom: 3vw; } }
#top-section5 {
  padding-top: 100px;
  margin-bottom: 130px; }
  @media screen and (max-width: 768px) {
    #top-section5 {
      padding-top: 0;
      margin-bottom: 38vw; } }
  #top-section5 > .point-wrap {
    width: 81.2%;
    margin-left: auto;
    margin-right: 0; }
    @media screen and (max-width: 1030px) {
      #top-section5 > .point-wrap {
        width: calc( 100% - 15px ); } }
    @media screen and (max-width: 768px) {
      #top-section5 > .point-wrap {
        width: 100%; } }
    #top-section5 > .point-wrap > .point-bg {
      background: url(../images/top/section5-pic1.jpg) 50% 50% no-repeat;
      background-size: 964px;
      width: 70.57vw;
      height: 319px;
      max-width: 964px;
      margin-left: auto;
      margin-right: auto;
      position: absolute;
      z-index: 0;
      top: -100px;
      left: auto;
      right: 0; }
      @media screen and (max-width: 768px) {
        #top-section5 > .point-wrap > .point-bg {
          background: url(../images/top/section4-pic2_sp.jpg) 50% 50% no-repeat;
          background-size: cover;
          height: 32.66vw;
          top: 0;
          display: block;
          position: relative;
          width: 100%; } }
    #top-section5 > .point-wrap > .inner {
      padding-bottom: 40px; }
      @media screen and (max-width: 1030px) {
        #top-section5 > .point-wrap > .inner {
          padding-left: 15px; } }
      @media screen and (max-width: 768px) {
        #top-section5 > .point-wrap > .inner {
          padding-left: 8%;
          padding-right: 8%;
          padding-bottom: 10vw; } }
    #top-section5 > .point-wrap .point-label {
      margin-right: auto;
      margin-left: auto;
      position: absolute;
      left: 0;
      right: auto;
      top: -65px; }
      @media screen and (max-width: 768px) {
        #top-section5 > .point-wrap .point-label {
          top: -6vw;
          right: auto; } }
    #top-section5 > .point-wrap .panel {
      width: 570px;
      margin-left: 4%;
      padding-top: 180px; }
      @media screen and (max-width: 1030px) {
        #top-section5 > .point-wrap .panel {
          margin-left: 0;
          margin-right: auto; } }
      @media screen and (max-width: 768px) {
        #top-section5 > .point-wrap .panel {
          width: 100%;
          padding-top: 16vw; } }
      #top-section5 > .point-wrap .panel p {
        width: 100%;
        margin-left: 0;
        margin-right: auto; }
  #top-section5-point {
    width: 369px;
    margin-left: 0;
    margin-right: auto;
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      #top-section5-point {
        width: 73%;
        margin-bottom: 5vw; } }
#top-section6 {
  padding-top: 85px;
  margin-bottom: 240px; }
  @media screen and (max-width: 768px) {
    #top-section6 {
      padding-top: 0;
      margin-bottom: 30vw; } }
  #top-section6 > .point-wrap {
    width: 70%;
    max-width: 870px;
    margin-left: 12%;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      #top-section6 > .point-wrap {
        width: 100%;
        max-width: none;
        margin-left: 0; } }
    #top-section6 > .point-wrap > .point-bg {
      background: url(../images/top/section6-pic1.jpg) 50% 50% no-repeat;
      background-size: 779px;
      width: 57.02vw;
      height: 736px;
      max-width: 779px;
      margin-left: 0;
      margin-right: auto;
      position: absolute;
      z-index: 0;
      top: -85px;
      left: -12vw; }
      @media screen and (max-width: 1030px) {
        #top-section6 > .point-wrap > .point-bg {
          height: 40vw;
          background-size: cover;
          top: -12vw; } }
      @media screen and (max-width: 768px) {
        #top-section6 > .point-wrap > .point-bg {
          background: url(../images/top/section4-pic3_sp.jpg) 50% 50% no-repeat;
          background-size: cover;
          width: 92%;
          left: 0;
          top: -19vw;
          height: 87vw; } }
    #top-section6 > .point-wrap > .inner {
      padding-bottom: 60px; }
      @media screen and (max-width: 768px) {
        #top-section6 > .point-wrap > .inner {
          padding-bottom: 10vw;
          padding-top: 67vw; } }
    #top-section6 > .point-wrap .point-label {
      margin-right: auto;
      margin-left: auto;
      position: absolute;
      left: -80px;
      right: auto;
      top: 250px; }
      @media screen and (max-width: 768px) {
        #top-section6 > .point-wrap .point-label {
          top: -6vw;
          left: 8%;
          right: auto; } }
    #top-section6 > .point-wrap .panel {
      width: 340px;
      margin-left: 72%;
      padding-top: 430px; }
      @media screen and (max-width: 1030px) {
        #top-section6 > .point-wrap .panel {
          margin-left: auto;
          margin-right: 0; } }
      @media screen and (max-width: 768px) {
        #top-section6 > .point-wrap .panel {
          width: 100%;
          padding-top: 16vw;
          padding-left: 8%;
          padding-right: 8%; } }
      #top-section6 > .point-wrap .panel p {
        width: 100%;
        margin-left: 0;
        margin-right: auto; }
  #top-section6-point {
    width: 294px;
    margin-left: 0;
    margin-right: auto;
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      #top-section6-point {
        width: 59%;
        margin-bottom: 3vw; } }
#top-section7 {
  background: url("../images/top/section7-pic1.jpg") top center no-repeat;
  background-size: cover;
  position: relative; }
  @media screen and (max-width: 768px) {
    #top-section7 {
      background: url("../images/top/section7-pic1_sp.jpg") top center no-repeat;
      background-size: cover;
      height: 93.33vw; } }
  #top-section7 > .inner {
    padding-top: 90px;
    padding-bottom: 250px; }
    @media screen and (max-width: 768px) {
      #top-section7 > .inner {
        padding-top: 5vw;
        padding-bottom: 0; } }
  #top-section7-title1 {
    width: 406px;
    margin-left: auto;
    margin-right: 0; }
    @media screen and (max-width: 768px) {
      #top-section7-title1 {
        width: 60%;
        margin-left: 0;
        margin-right: auto; } }
  #top-section7-lead1 {
    width: 410px;
    margin-left: 0;
    margin-right: auto;
    margin-top: 160px;
    margin-bottom: 0;
    font-size: 26px;
    font-size: 1.625rem;
    line-height: 1.3;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 768px) {
      #top-section7-lead1 {
        margin-top: 24vw;
        font-size: 3.5vw;
        width: 67%;
        margin-right: -7%;
        margin-left: auto; } }
    #top-section7-lead1 > span {
      background: #fff;
      padding: 4px 8px;
      display: inline-block;
      margin-bottom: 10px; }
      @media screen and (max-width: 768px) {
        #top-section7-lead1 > span {
          padding: 3px 5px;
          margin-bottom: 1.5vw; } }
#top-section8 {
  position: relative;
  padding-bottom: 100px; }
  @media screen and (max-width: 768px) {
    #top-section8 {
      padding-bottom: 28vw; } }
  #top-section8 > .inner {
    background: #fff;
    padding-top: 100px;
    padding-bottom: 0;
    top: -140px; }
    @media screen and (max-width: 768px) {
      #top-section8 > .inner {
        top: -17vw;
        margin-left: auto;
        margin-right: auto;
        width: 84%;
        padding-left: 0;
        padding-right: 0;
        padding-top: 10vw;
        margin-bottom: -17vw; } }
  #top-section8-tate1 {
    width: 15px;
    position: absolute;
    right: 35px;
    left: auto;
    top: 40px;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      #top-section8-tate1 {
        top: 10px;
        width: 9px;
        right: 2%; } }
  #top-section8-layout1 {
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    flex-wrap: nowrap;
    align-items: flex-end; }
    @media screen and (max-width: 768px) {
      #top-section8-layout1 {
        display: block; } }
    #top-section8-layout1 > .el-left {
      width: 59%;
      margin-right: 0; }
      @media screen and (max-width: 768px) {
        #top-section8-layout1 > .el-left {
          width: 100%; } }
      #top-section8-layout1 > .el-left p {
        font-size: 17px;
        line-height: 2.5;
        margin-bottom: 0; }
        @media screen and (max-width: 1030px) {
          #top-section8-layout1 > .el-left p {
            font-size: 14px;
            font-size: 0.875rem;
            line-height: 2; } }
        @media screen and (max-width: 768px) {
          #top-section8-layout1 > .el-left p {
            line-height: 2.5; } }
    #top-section8-layout1 > .el-right {
      width: 41%; }
      @media screen and (max-width: 768px) {
        #top-section8-layout1 > .el-right {
          display: none; } }
  #top-section8-title1 {
    font-size: 55px;
    font-size: 3.4375rem;
    font-weight: 300;
    line-height: 1.5;
    margin-bottom: 35px;
    letter-spacing: 0.025em; }
    @media screen and (max-width: 1030px) {
      #top-section8-title1 {
        font-size: 4.8vw; } }
    @media screen and (max-width: 768px) {
      #top-section8-title1 {
        font-size: 8.8vw;
        margin-bottom: 5vw;
        letter-spacing: 0.05em;
        padding-left: 4%;
        padding-right: 4%; } }
    #top-section8-title1 > span {
      position: relative; }
      #top-section8-title1 > span:after {
        content: '';
        background: #000000;
        width: 100%;
        height: 3px;
        position: absolute;
        display: block;
        bottom: 0;
        z-index: 0; }
        @media screen and (max-width: 768px) {
          #top-section8-title1 > span:after {
            height: 2px; } }
  #top-section8-pic1 {
    width: 100%;
    max-width: 408px; }
  #top-section8-pic1-sp {
    width: 84%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10vw; }
  #top-section8-box1 {
    margin-top: 80px;
    width: 100%;
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
    position: relative;
    border: 16px solid #E8E7E7;
    padding-top: 70px;
    padding-bottom: 85px;
    padding-left: 15px;
    padding-right: 15px; }
    @media screen and (max-width: 768px) {
      #top-section8-box1 {
        margin-top: 15vw;
        border-width: 8px;
        padding-top: 10vw;
        padding-bottom: 6vw;
        padding-left: 5%;
        padding-right: 5%; } }
    #top-section8-box1 .lead {
      text-align: center;
      font-size: 27px;
      font-size: 1.6875rem;
      font-weight: 500;
      line-height: 1.75;
      margin-bottom: 30px; }
      @media screen and (max-width: 768px) {
        #top-section8-box1 .lead {
          font-size: 3.8vw;
          line-height: 2;
          margin-bottom: 5vw; } }
    #top-section8-box1 p {
      text-align: center;
      font-size: 17px;
      font-size: 1.0625rem;
      line-height: 2.4;
      margin-bottom: 0; }
      @media screen and (max-width: 768px) {
        #top-section8-box1 p {
          font-size: 12px;
          font-size: 0.75rem;
          text-align: left; } }
  #top-section8-title2 {
    width: 119px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      #top-section8-title2 {
        width: 33%; } }
  #top-section8-pic2 {
    width: 100%;
    max-width: 470px;
    margin-left: auto;
    margin-right: auto; }
  #top-section8-pic3 {
    width: 100%;
    max-width: 480px;
    margin-top: 50px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      #top-section8-pic3 {
        max-width: none;
        margin-top: 7vw; } }
#top-section9 {
  padding-top: 50px;
  margin-bottom: 320px; }
  @media screen and (max-width: 768px) {
    #top-section9 {
      padding-top: 0;
      margin-bottom: 26vw; } }
  #top-section9 > .item-wrap {
    width: 73.2%;
    margin-left: auto;
    margin-right: 0; }
    @media screen and (max-width: 768px) {
      #top-section9 > .item-wrap {
        width: 100%; } }
    #top-section9 > .item-wrap > .inner {
      padding-top: 120px;
      padding-bottom: 8vw; }
      @media screen and (max-width: 768px) {
        #top-section9 > .item-wrap > .inner {
          padding-top: 20vw;
          padding-bottom: 14.5vw; } }
      #top-section9 > .item-wrap > .inner > .item-label {
        position: absolute;
        top: -50px;
        margin-left: auto;
        margin-right: auto;
        left: 10%;
        z-index: 1; }
        @media screen and (max-width: 768px) {
          #top-section9 > .item-wrap > .inner > .item-label {
            width: 67%;
            left: 0;
            right: 0;
            top: -8vw; } }
  #top-section9-panel1 {
    background: #FFFFFF;
    width: 340px;
    position: absolute;
    z-index: 1;
    padding: 30px;
    /* margin-top: 40px; */
    left: -12%;
    top: 170px; }
    @media screen and (max-width: 1030px) {
      #top-section9-panel1 {
        width: 240px;
        padding: 10px; } }
    @media screen and (max-width: 768px) {
      #top-section9-panel1 {
        background: none;
        width: 84%;
        position: relative;
        padding: 0;
        left: 0;
        top: 0;
        margin-left: auto;
        margin-right: auto;
        margin-top: 3vw; } }
    #top-section9-panel1 > p {
      margin-bottom: 0;
      line-height: 2;
      font-size: 17px;
      font-size: 1.0625rem; }
      @media screen and (max-width: 1030px) {
        #top-section9-panel1 > p {
          font-size: 14px;
          font-size: 0.875rem; } }
      @media screen and (max-width: 768px) {
        #top-section9-panel1 > p {
          font-size: 12px;
          font-size: 0.75rem; } }
  #top-section9-pic1 {
    width: 68.96vw;
    /* max-width: 942px; */
    margin-left: -11.3vw;
    z-index: 0;
    position: relative; }
    @media screen and (max-width: 768px) {
      #top-section9-pic1 {
        width: 92%;
        max-width: none;
        margin-right: 0;
        margin-left: auto; } }
  #top-section9-pic2 {
    width: 22.4vw;
    /* max-width: 306px; */
    z-index: 2;
    position: absolute;
    bottom: -2vw;
    left: -15vw; }
    @media screen and (max-width: 768px) {
      #top-section9-pic2 {
        position: relative;
        width: 50%;
        margin-left: 0;
        margin-right: auto;
        bottom: 0;
        left: 0;
        margin-top: 10vw; } }
  #top-section9-pic3 {
    width: 15.67vw;
    /* max-width: 214px; */
    z-index: 2;
    position: absolute;
    left: 11vw;
    bottom: -7vw; }
    @media screen and (max-width: 768px) {
      #top-section9-pic3 {
        position: relative;
        position: absolute;
        right: 4%;
        left: auto;
        bottom: 4vw;
        width: 36%; } }
#top-section10 {
  padding-top: 50px;
  margin-bottom: 320px; }
  @media screen and (max-width: 768px) {
    #top-section10 {
      padding-top: 0;
      margin-bottom: 10vw; } }
  #top-section10 > .item-wrap {
    width: 89.24vw;
    margin-left: 0;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      #top-section10 > .item-wrap {
        width: 100%; } }
    #top-section10 > .item-wrap > .inner {
      padding-top: 130px;
      padding-bottom: 94vw; }
      @media screen and (max-width: 768px) {
        #top-section10 > .item-wrap > .inner {
          padding-top: 20vw;
          padding-bottom: 10vw; } }
      #top-section10 > .item-wrap > .inner > .item-label {
        position: absolute;
        top: -50px;
        margin-left: auto;
        margin-right: auto;
        left: 0;
        right: 0;
        z-index: 1; }
        @media screen and (max-width: 768px) {
          #top-section10 > .item-wrap > .inner > .item-label {
            width: 67%;
            left: 0;
            right: 0;
            top: -8vw; } }
  #top-section10-panel1 {
    background: #FFFFFF;
    width: 340px;
    position: absolute;
    z-index: 3;
    padding: 30px;
    left: 11vw;
    top: 44vw; }
    @media screen and (max-width: 1030px) {
      #top-section10-panel1 {
        width: 240px;
        padding: 10px; } }
    @media screen and (max-width: 768px) {
      #top-section10-panel1 {
        background: none;
        width: 84%;
        position: relative;
        padding: 0;
        left: 0;
        top: 0;
        margin-left: auto;
        margin-right: auto;
        margin-top: 3vw; } }
    #top-section10-panel1 > p {
      margin-bottom: 0;
      line-height: 2;
      font-size: 17px;
      font-size: 1.0625rem; }
      @media screen and (max-width: 1030px) {
        #top-section10-panel1 > p {
          font-size: 14px;
          font-size: 0.875rem; } }
      @media screen and (max-width: 768px) {
        #top-section10-panel1 > p {
          font-size: 12px;
          font-size: 0.75rem; } }
  #top-section10-pic1 {
    position: absolute;
    z-index: 2;
    width: 68.81vw;
    left: auto;
    right: 4vw; }
    @media screen and (max-width: 768px) {
      #top-section10-pic1 {
        position: relative;
        width: 92%;
        left: 0;
        right: 0;
        margin-left: 0;
        margin-right: auto; } }
  #top-section10-pic2 {
    position: absolute;
    z-index: 2;
    width: 28.55vw;
    top: 55vw;
    right: -5vw; }
    @media screen and (max-width: 768px) {
      #top-section10-pic2 {
        position: relative;
        width: 50%;
        right: 0;
        top: 0;
        margin-left: auto;
        margin-right: 0;
        margin-top: 6vw; } }
  #top-section10-pic3 {
    position: absolute;
    z-index: 2;
    width: 22.03vw;
    /* max-width: 301px; */
    top: 60vw;
    right: 25vw; }
    @media screen and (max-width: 768px) {
      #top-section10-pic3 {
        width: 38%;
        top: auto;
        left: 8%;
        margin-top: -19vw;
        right: auto; } }
  #top-section10-pic4 {
    position: absolute;
    z-index: 2;
    width: 21.45vw;
    /* max-width: 293px; */
    top: 77vw;
    right: 18vw; }
    @media screen and (max-width: 768px) {
      #top-section10-pic4 {
        top: auto;
        width: 29%;
        right: 7%;
        margin-top: 13vw; } }
  #top-section10-pic5 {
    position: absolute;
    z-index: 2;
    width: 44.22vw;
    /* max-width: 604px; */
    top: 80vw;
    left: 4vw; }
    @media screen and (max-width: 768px) {
      #top-section10-pic5 {
        position: relative;
        top: 0;
        right: 0;
        left: 0;
        margin-top: 18vw;
        width: 60%; } }
  #top-section10-pic6 {
    position: absolute;
    z-index: 2;
    width: 18.89vw;
    max-width: 258px;
    top: 95vw;
    right: 11vw; }
    @media screen and (max-width: 768px) {
      #top-section10-pic6 {
        top: auto;
        right: 3%;
        width: 26%;
        margin-top: -22vw; } }
#top-section11 {
  background: url("../images/top/section11-bg1.jpg") top center no-repeat;
  background-size: cover;
  position: relative; }
  @media screen and (max-width: 768px) {
    #top-section11 {
      background: url("../images/top/section11-bg1_sp.jpg") top center no-repeat;
      background-size: cover;
      height: 93.33vw; } }
  #top-section11 > .inner {
    padding-top: 130px;
    padding-bottom: 250px; }
    @media screen and (max-width: 768px) {
      #top-section11 > .inner {
        padding-top: 5vw;
        padding-bottom: 0; } }
  #top-section11-title1 {
    width: 313px;
    margin-left: 0;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      #top-section11-title1 {
        margin-left: auto;
        margin-right: 0;
        width: 41%; } }
  #top-section11-lead1 {
    width: 460px;
    margin-left: auto;
    margin-right: 0;
    margin-top: 120px;
    margin-bottom: 0;
    font-size: 26px;
    font-size: 1.625rem;
    line-height: 1.3;
    letter-spacing: 0.05em; }
    #top-section11-lead1 > span {
      background: #fff;
      padding: 4px 8px;
      display: inline-block;
      margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      #top-section11-lead1 {
        display: none; } }
  #top-section11-lead1-sp {
    display: none;
    line-height: 1.3;
    letter-spacing: 0.05em; }
    @media screen and (max-width: 768px) {
      #top-section11-lead1-sp {
        display: block;
        margin-top: 24vw;
        font-size: 3.5vw;
        width: 67%;
        margin-left: -4%;
        margin-right: auto; } }
    #top-section11-lead1-sp > span {
      background: #fff;
      padding: 3px 5px;
      margin-bottom: 1.5vw;
      display: inline-block; }
#top-section12 {
  position: relative; }
  @media screen and (max-width: 768px) {
    #top-section12 {
      padding-bottom: 20vw; } }
  #top-section12 > .inner {
    background: #fff;
    padding-top: 115px;
    padding-bottom: 0;
    top: -160px;
    margin-bottom: -160px; }
    @media screen and (max-width: 768px) {
      #top-section12 > .inner {
        top: -17vw;
        margin-left: auto;
        margin-right: auto;
        width: 84%;
        padding-left: 0;
        padding-right: 0;
        padding-top: 10vw;
        margin-bottom: -17vw; } }
  #top-section12-tate1 {
    width: 15px;
    position: absolute;
    right: 35px;
    left: auto;
    top: 25px;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      #top-section12-tate1 {
        top: 10px;
        width: 9px;
        right: 2%; } }
  #top-section12-layout1 {
    width: 100%;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    flex-wrap: nowrap;
    align-items: flex-end; }
    @media screen and (max-width: 768px) {
      #top-section12-layout1 {
        display: block; } }
    #top-section12-layout1 > .el-left {
      width: 55%;
      margin-right: 0; }
      @media screen and (max-width: 768px) {
        #top-section12-layout1 > .el-left {
          width: 100%; } }
      #top-section12-layout1 > .el-left p {
        font-size: 17px;
        line-height: 2.5;
        margin-bottom: 0; }
        @media screen and (max-width: 1030px) {
          #top-section12-layout1 > .el-left p {
            font-size: 14px;
            font-size: 0.875rem;
            line-height: 2; } }
        @media screen and (max-width: 768px) {
          #top-section12-layout1 > .el-left p {
            line-height: 2.5; } }
    #top-section12-layout1 > .el-right {
      width: 45%; }
      @media screen and (max-width: 768px) {
        #top-section12-layout1 > .el-right {
          display: none; } }
  #top-section12-title1 {
    font-size: 55px;
    font-size: 3.4375rem;
    font-weight: 300;
    line-height: 1.5;
    margin-bottom: 35px;
    letter-spacing: 0.025em; }
    @media screen and (max-width: 768px) {
      #top-section12-title1 {
        font-size: 8.8vw;
        margin-bottom: 5vw;
        letter-spacing: 0.05em;
        padding-left: 8%;
        padding-right: 8%;
        text-align: center; } }
    #top-section12-title1 > span {
      position: relative; }
      #top-section12-title1 > span:after {
        content: '';
        background: #000000;
        width: 100%;
        height: 3px;
        position: absolute;
        display: block;
        bottom: 0;
        z-index: 0; }
        @media screen and (max-width: 768px) {
          #top-section12-title1 > span:after {
            height: 2px;
            left: 0;
            right: 0; } }
  #top-section12-pic1 {
    max-width: 474px; }
  #top-section12-pic1-sp {
    width: 84%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 10vw; }
  #top-section12-box1 {
    margin-top: 80px;
    width: 100%;
    max-width: 1000px;
    margin-right: auto;
    margin-left: auto;
    position: relative;
    border: 16px solid #E8E7E7;
    padding-top: 70px;
    padding-bottom: 85px;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 140px; }
    @media screen and (max-width: 768px) {
      #top-section12-box1 {
        margin-top: 15vw;
        border-width: 8px;
        padding-top: 10vw;
        padding-bottom: 6vw;
        padding-left: 5%;
        padding-right: 5%;
        margin-bottom: 20vw; } }
    #top-section12-box1 .lead {
      text-align: center;
      font-size: 27px;
      font-size: 1.6875rem;
      font-weight: 500;
      line-height: 1.75;
      margin-bottom: 30px; }
      @media screen and (max-width: 768px) {
        #top-section12-box1 .lead {
          font-size: 3.8vw;
          line-height: 2;
          margin-bottom: 5vw; } }
    #top-section12-box1 p {
      text-align: center;
      font-size: 17px;
      font-size: 1.0625rem;
      line-height: 2.4;
      margin-bottom: 0; }
      @media screen and (max-width: 768px) {
        #top-section12-box1 p {
          font-size: 12px;
          font-size: 0.75rem;
          text-align: left; } }
  #top-section12-title2 {
    width: 208px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      #top-section12-title2 {
        width: 53%; } }
  #top-section12-pic2 {
    width: 100%;
    max-width: 491px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
    margin-bottom: 40px; }
    @media screen and (max-width: 768px) {
      #top-section12-pic2 {
        margin-top: 6vw;
        margin-bottom: 5vw; } }
  #top-section12-pic3 {
    width: 100%;
    max-width: 478px;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      #top-section12-pic3 {
        margin-top: 7vw;
        max-width: none; } }
  #top-section12-title3 {
    width: 115px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      #top-section12-title3 {
        width: 29%; } }
  #top-section12-list1 {
    margin-top: 40px;
    width: 100%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      #top-section12-list1 {
        margin-top: 18vw; } }
    #top-section12-list1 > li {
      width: 29.1%;
      max-width: 320px;
      margin-right: 6.35%;
      margin-bottom: 100px; }
      @media screen and (max-width: 768px) {
        #top-section12-list1 > li {
          width: 100%;
          margin-right: 0;
          margin-bottom: 15vw;
          max-width: none;
          padding-left: 5%;
          padding-right: 5%; } }
      #top-section12-list1 > li:nth-child(3n) {
        margin-right: 0; }
      @media screen and (max-width: 768px) {
        #top-section12-list1 > li:last-child {
          margin-bottom: 0; } }
      #top-section12-list1 > li .thumb {
        width: 100%;
        margin-bottom: 20px; }
        @media screen and (max-width: 768px) {
          #top-section12-list1 > li .thumb {
            margin-bottom: 4vw; } }
      #top-section12-list1 > li p {
        font-size: 15px;
        font-size: 0.9375rem;
        line-height: 2;
        margin-bottom: 0; }
        @media screen and (max-width: 768px) {
          #top-section12-list1 > li p {
            font-size: 12px;
            font-size: 0.75rem;
            line-height: 2.25; } }
        #top-section12-list1 > li p.itemname {
          font-size: 22px;
          font-size: 1.375rem;
          line-height: 1.5;
          margin-bottom: 8px; }
          @media screen and (max-width: 768px) {
            #top-section12-list1 > li p.itemname {
              font-size: 4.9vw;
              margin-bottom: 2vw;
              line-height: 1.75; } }
#top-section13 {
  padding-top: 70px;
  padding-bottom: 220px; }
  @media screen and (max-width: 768px) {
    #top-section13 {
      padding-top: 20vw;
      padding-bottom: 30vw; } }
  #top-section13-title1 {
    width: 638px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      #top-section13-title1 {
        width: 100%; } }
  #top-section13-table {
    margin-top: 100px;
    width: 100%;
    max-width: 865px;
    margin-left: auto;
    margin-right: auto;
    table-layout: auto; }
    @media screen and (max-width: 768px) {
      #top-section13-table {
        margin-top: 12vw;
        display: block; } }
    @media screen and (max-width: 768px) {
      #top-section13-table tbody, #top-section13-table tr, #top-section13-table th, #top-section13-table td {
        display: block;
        width: 100%; } }
    #top-section13-table th, #top-section13-table td {
      border-top: 1px solid #000;
      font-size: 17px;
      font-size: 1.0625rem;
      line-height: 1.75;
      padding: 15px 20px; }
      @media screen and (max-width: 768px) {
        #top-section13-table th, #top-section13-table td {
          border-top: none;
          font-size: 12px;
          font-size: 0.75rem;
          line-height: 1.7;
          padding: 0; } }
    #top-section13-table th {
      text-align: left;
      font-weight: 500;
      width: 240px; }
      @media screen and (max-width: 768px) {
        #top-section13-table th {
          width: 100%;
          border-bottom: 1px solid #000;
          padding-bottom: 2px;
          margin-bottom: 5px; } }
    #top-section13-table td {
      width: calc( 100% - 240px ); }
      @media screen and (max-width: 768px) {
        #top-section13-table td {
          width: 100%;
          margin-bottom: 5vw; } }
      #top-section13-table td a:hover {
        text-decoration: underline; }
    #top-section13-table tr:last-child th, #top-section13-table tr:last-child td {
      border-bottom: 1px solid #000; }
    @media screen and (max-width: 768px) {
      #top-section13-table tr:last-child td {
        border-bottom: 0;
        margin-bottom: 0; } }
#top-section14 {
  background: url("../images/top/section14-bg1.jpg") top center no-repeat;
  background-size: cover;
  position: relative;
  height: 500px; }
  @media screen and (max-width: 768px) {
    #top-section14 {
      height: 37vw; } }
  #top-section14-title1 {
    width: 296px;
    margin-left: auto;
    margin-right: auto;
    position: absolute;
    z-index: 1;
    top: -38px;
    left: 0;
    right: 0;
    margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      #top-section14-title1 {
        width: 50%;
        top: -6vw; } }
#top-section15 {
  background: #F2F3F4;
  padding-top: 150px;
  padding-bottom: 130px; }
  @media screen and (max-width: 768px) {
    #top-section15 {
      padding-top: 12vw;
      padding-bottom: 20vw; } }
  #top-section15-title1 {
    text-align: center;
    font-size: 44px;
    font-size: 2.75rem;
    line-height: 1.75;
    letter-spacing: 0.05em;
    text-indent: 0.05em;
    margin-bottom: 40px; }
    @media screen and (max-width: 1030px) {
      #top-section15-title1 {
        font-size: 3.8vw; } }
    @media screen and (max-width: 768px) {
      #top-section15-title1 {
        font-size: 5.1vw;
        letter-spacing: 0;
        text-indent: 0;
        margin-bottom: 5vw; } }
  #top-section15-text1 {
    text-align: center;
    font-size: 16px;
    font-size: 1rem;
    line-height: 2.8;
    margin-bottom: 0;
    margin-bottom: 100px; }
    @media screen and (max-width: 768px) {
      #top-section15-text1 {
        font-size: 14px;
        font-size: 0.875rem;
        font-weight: 500;
        text-align: left;
        line-height: 2.5;
        margin-bottom: 18vw; } }
  #top-section15-title2 {
    width: 71px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      #top-section15-title2 {
        width: 18%; } }
  #top-section15-list1 {
    margin-top: 50px;
    width: 100%;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 160px; }
    @media screen and (max-width: 768px) {
      #top-section15-list1 {
        margin-top: 7vw;
        margin-bottom: 21vw; } }
    #top-section15-list1 > li {
      width: 29%;
      margin-right: 6.5%; }
      #top-section15-list1 > li:nth-child(3n) {
        margin-right: 0; }
      #top-section15-list1 > li .thumb {
        width: 129px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 15px; }
        @media screen and (max-width: 768px) {
          #top-section15-list1 > li .thumb {
            width: 100%;
            margin-bottom: 3vw; } }
      #top-section15-list1 > li .desc {
        font-size: 12px;
        font-size: 0.75rem;
        margin-bottom: 0;
        text-align: center; }
        @media screen and (max-width: 768px) {
          #top-section15-list1 > li .desc {
            font-size: 10px;
            font-size: 0.625rem; } }
  #top-section15-title3 {
    width: 166px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 60px; }
    @media screen and (max-width: 768px) {
      #top-section15-title3 {
        width: 36vw;
        margin-bottom: 11vw; } }
  #top-section15-table1 {
    width: 100%;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    table-layout: auto; }
    @media screen and (max-width: 768px) {
      #top-section15-table1 tbody, #top-section15-table1 tr, #top-section15-table1 th, #top-section15-table1 td {
        display: block;
        width: 100%; } }
    #top-section15-table1 th, #top-section15-table1 td {
      font-size: 17px;
      font-size: 1.0625rem;
      padding: 12px 20px; }
      @media screen and (max-width: 768px) {
        #top-section15-table1 th, #top-section15-table1 td {
          font-size: 12px;
          font-size: 0.75rem;
          padding: 0; } }
    #top-section15-table1 th {
      border-right: 1px solid #000000;
      width: 130px;
      text-align: left;
      font-weight: 500; }
      @media screen and (max-width: 768px) {
        #top-section15-table1 th {
          width: 100%;
          border-right: none;
          border-bottom: 1px solid #000;
          padding-bottom: 2px;
          margin-bottom: 5px; } }
    #top-section15-table1 td {
      width: calc( 100% - 130px ); }
      @media screen and (max-width: 768px) {
        #top-section15-table1 td {
          width: 100%;
          margin-bottom: 5vw; } }
#top-section16 {
  background: #fff;
  padding-top: 180px;
  padding-bottom: 200px; }
  @media screen and (max-width: 768px) {
    #top-section16 {
      padding-top: 17vw;
      padding-bottom: 25vw; } }
  #top-section16-title1 {
    width: 374px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      #top-section16-title1 {
        width: 63%; } }
  #top-section16-table1 {
    margin-top: 90px;
    max-width: 850px;
    width: 100%;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (max-width: 768px) {
      #top-section16-table1 {
        margin-top: 12vw; } }
    #top-section16-table1 > .tr {
      display: flex;
      flex-wrap: nowrap;
      margin-bottom: 50px; }
      @media screen and (max-width: 768px) {
        #top-section16-table1 > .tr {
          display: block;
          margin-bottom: 10vw; } }
      #top-section16-table1 > .tr:last-child {
        margin-bottom: 0; }
      #top-section16-table1 > .tr .th, #top-section16-table1 > .tr .td {
        font-size: 17px;
        font-size: 1.0625rem; }
        @media screen and (max-width: 768px) {
          #top-section16-table1 > .tr .th, #top-section16-table1 > .tr .td {
            font-size: 16px;
            font-size: 1rem; } }
      #top-section16-table1 > .tr .th {
        text-align: right;
        padding-top: 6px;
        width: 190px;
        min-width: 190px;
        margin-right: 15px; }
        @media screen and (max-width: 768px) {
          #top-section16-table1 > .tr .th {
            width: 100%;
            min-width: none;
            margin-right: 0;
            padding-top: 0;
            text-align: left;
            margin-bottom: 3px; } }
      #top-section16-table1 > .tr .td {
        width: 100%; }
        #top-section16-table1 > .tr .td .annot {
          display: block;
          font-size: 12px;
          font-size: 0.75rem; }
          @media screen and (max-width: 768px) {
            #top-section16-table1 > .tr .td .annot {
              font-size: 13px;
              font-size: 0.8125rem; } }
  #top-section16-btn1 {
    margin-top: 60px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      #top-section16-btn1 {
        margin-top: 14vw; } }
    #top-section16-btn1 input[type=submit] {
      background: #000000;
      color: #fff;
      display: block;
      border-radius: 0;
      font-size: 24px;
      font-size: 1.5rem;
      text-align: center;
      width: 310px;
      margin-left: auto;
      margin-right: auto;
      cursor: pointer;
      padding: 8px 10px;
      border: 2px solid #000000;
      transition: all 0.3s linear; }
      @media screen and (max-width: 768px) {
        #top-section16-btn1 input[type=submit] {
          width: 90%;
          max-width: 240px;
          font-size: 18px;
          font-size: 1.125rem; } }
      #top-section16-btn1 input[type=submit]:hover {
        background: #fff;
        color: #000000; }

@media screen and (max-width: 768px) {
  .pc-only {
    display: none !important; } }

.sp-only {
  display: none; }
  @media screen and (max-width: 768px) {
    .sp-only {
      display: block; } }
