@charset "UTF-8";
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul {
  list-style: none; }

li {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

/* CSS Document */
html {
  height: 100%; }

body {
  color: #1D1D1D;
  font: 14px/1.7 "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Verdana, sans-serif;
  -webkit-text-size-adjust: none;
  height: 100%; }

.serif {
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,Georgia,メイリオ,Meiryo,serif; }

img {
  border: 0;
  vertical-align: top; }

sup {
  vertical-align: super;
  font-size: .6em; }

/**
 * ANCHOR
 */
a {
  text-decoration: none; }

a,
.text-link {
  color: #1183C0; }

.mr a,
a.mr,
a:hover {
  text-decoration: none; }

.mr a:hover,
a.mr:hover {
  text-decoration: underline; }

/**
 * ALIGN
 */
.align-left {
  text-align: left; }

.align-center {
  text-align: center; }

.align-right {
  text-align: right; }

/**
 * FLOAT
 */
.float-left {
  float: left; }

.float-right {
  float: right; }

.clear {
  clear: both; }

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

/**
 * LAYOUT
 */
.block {
  min-width: 1215px; }

.layout {
  width: 1215px;
  margin: 0 auto; }

header {
  position: relative;
  min-height: 660px;
  width: 100%; }
  header .swiper-container {
    width: 100%;
    height: 100%; }
    header .swiper-container .swiper-slide {
      background-position: center;
      background-size: cover; }
  header .inner {
    position: absolute;
    max-width: 1215px;
    width: 100%;
    height: 100%;
    display: block;
    margin: auto;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1; }
    header .inner .txt-wrap {
      display: block;
      position: absolute;
      bottom: 80px;
      top: 12%;
      left: 0; }
    header .inner .txt {
      max-height: 550px;
      height: 100%; }
    header .inner .scroll {
      position: absolute;
      display: block;
      margin: auto;
      left: 0;
      right: 0;
      bottom: 100px;
      width: 56px; }

.top-title {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #ffffff;
  z-index: 9999; }
  .top-title img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto; }

main .section1 {
  margin-top: -59px;
  position: relative;
  overflow: hidden;
  padding-bottom: 159px;
  z-index: 2; }
  main .section1 .title {
    background-color: #f9b900;
    position: relative;
    height: 340px;
    padding-top: 168px;
    padding-left: 45px;
    width: 600px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    main .section1 .title .eng_title {
      display: block;
      font-size: 20px;
      font-weight: normal;
      color: #fff;
      letter-spacing: 5px; }
    main .section1 .title .title_txt {
      display: block;
      font-size: 30px;
      font-weight: bold;
      color: #fff;
      line-height: 1.4;
      letter-spacing: 5px;
      position: relative;
      margin-top: 20px; }
      main .section1 .title .title_txt::after {
        content: '';
        position: absolute;
        left: -2px;
        bottom: -11px;
        width: 34px;
        height: 4px;
        background-color: #fff; }
  main .section1 .div1 p {
    float: left;
    font-size: 16px;
    font-weight: normal;
    color: #333333;
    padding: 25px 59px 0 51px;
    text-align: justify;
    width: 600px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  main .section1 .div1 img {
    position: absolute;
    bottom: 0; }

main .section2 {
  background-color: #45bdee;
  padding: 155px 0 150px; }
  main .section2 .title {
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    color: #fff;
    letter-spacing: 5px;
    position: relative; }
    main .section2 .title .eng_title {
      display: block;
      font-size: 20px;
      font-weight: normal;
      color: #fff;
      text-align: center;
      margin-bottom: 10px; }
    main .section2 .title::after {
      content: '';
      position: absolute;
      display: block;
      margin: auto;
      left: 0;
      right: 0;
      bottom: -14px;
      width: 34px;
      height: 4px;
      background-color: #fff; }
  main .section2 .txt1 {
    font-size: 16px;
    font-weight: normal;
    color: #333333;
    margin-top: 35px;
    text-align: center; }
  main .section2 .txt-holder {
    padding: 0 20px; }
    main .section2 .txt-holder .col-ttl {
      text-align: center;
      font-size: 26px;
      font-weight: bold;
      color: #fff;
      padding: 10px 0; }
    main .section2 .txt-holder p {
      font-size: 14px;
      font-weight: normal;
      color: #333333;
      text-align: justify; }
    main .section2 .txt-holder strong {
      color: #333333;
      text-decoration: underline;
      display: block;
      margin-top: 15px;
      padding-left: 3em;
      position: relative;
      font-weight: normal; }
      main .section2 .txt-holder strong span {
        content: "效果：";
        position: absolute;
        left: 0;
        top: 0; }
  main .section2 .wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  main .section2 .div1 {
    margin-top: 63px; }
    main .section2 .div1 .wrap .column {
      width: 405px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
  main .section2 .div2 {
    margin-top: 70px; }
    main .section2 .div2 .wrap .column {
      width: 303px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }

main .section3 {
  padding: 159px 0 155px; }
  main .section3 .title {
    font-size: 30px;
    font-weight: bold;
    color: #f9b900;
    text-align: center;
    position: relative;
    letter-spacing: 5px; }
    main .section3 .title .eng_title {
      display: block;
      font-size: 20px;
      font-weight: normal;
      text-align: center;
      color: #f9b900;
      margin-bottom: 10px; }
    main .section3 .title::after {
      content: '';
      position: absolute;
      display: block;
      margin: auto;
      left: 0;
      right: 0;
      bottom: -14px;
      width: 34px;
      height: 4px;
      background-color: #f9b900; }
  main .section3 .txt1 {
    font-size: 16px;
    font-weight: normal;
    color: #333333;
    margin-top: 35px;
    text-align: center; }
  main .section3 .tbl-holder {
    max-width: 960px;
    width: 100%;
    margin: 65px auto 0; }
    main .section3 .tbl-holder .tbl1 {
      width: 100%; }
      main .section3 .tbl-holder .tbl1 thead th {
        background-color: #45bdee;
        width: 198px;
        text-align: center;
        font-size: 16px;
        font-weight: normal;
        color: #fff;
        padding: 13px 0; }
      main .section3 .tbl-holder .tbl1 thead td {
        background-color: #45bdee;
        text-align: center;
        font-size: 16px;
        font-weight: normal;
        color: #fff;
        padding: 13px 0;
        border-left: 1px solid #fff; }
      main .section3 .tbl-holder .tbl1 tbody tr {
        border-top: 1px solid #fff; }
        main .section3 .tbl-holder .tbl1 tbody tr th {
          background-color: #45bdee;
          width: 198px;
          text-align: center;
          font-size: 16px;
          font-weight: normal;
          color: #fff;
          padding: 13px 0; }
        main .section3 .tbl-holder .tbl1 tbody tr td {
          font-size: 16px;
          font-weight: normal;
          color: #333333;
          padding: 13px 0;
          background-color: #f0f0f0;
          border-left: 1px solid #fff;
          text-align: center; }
    main .section3 .tbl-holder p {
      font-size: 15px;
      font-weight: normal;
      color: #333333;
      margin-top: 10px; }
  main .section3 .monshin {
    max-width: 960px;
    width: 100%;
    margin: 65px auto 0;
    text-align: center; }
    main .section3 .monshin .acrobat {
      margin: 30px auto 35px;
      max-width: 550px;
      width: 100%;
      background-color: #f0f0f0;
      padding: 20px 25px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      text-align: left; }
      main .section3 .monshin .acrobat td:first-child {
        max-width: 310px;
        width: 100%;
        padding-right: 20px;
        font-size: 11px; }
      main .section3 .monshin .acrobat td:last-child {
        vertical-align: middle; }
      main .section3 .monshin .acrobat p {
        font-size: 3.2vw;
        margin-bottom: 4vw; }
  main .section3 .inner {
    margin-top: 75px;
    background: url("../img/pc/index/sec3_inner_bg.png") no-repeat center center;
    background-size: cover;
    padding: 70px 0 50px; }
    main .section3 .inner .inner_div {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      max-width: 960px;
      width: 100%;
      margin: auto;
      background-color: rgba(255, 255, 255, 0.7);
      padding: 50px 55px 55px; }
      main .section3 .inner .inner_div .inner_div_ttl {
        font-size: 30px;
        font-weight: bold;
        color: #f9b900;
        text-align: center;
        letter-spacing: 5px; }
      main .section3 .inner .inner_div .tbl2 {
        margin-top: 33px; }
        main .section3 .inner .inner_div .tbl2 tr th {
          width: 140px;
          vertical-align: middle; }
          main .section3 .inner .inner_div .tbl2 tr th span {
            display: block;
            background-color: #f9b900;
            font-size: 18px;
            font-weight: bold;
            color: #fff;
            text-align: center;
            padding: 13px 0; }
        main .section3 .inner .inner_div .tbl2 tr td {
          padding-left: 20px;
          font-size: 16px;
          font-weight: normal;
          color: #333333; }
          main .section3 .inner .inner_div .tbl2 tr td strong {
            font-weight: normal;
            color: #dc1e16;
            text-decoration: underline; }
        main .section3 .inner .inner_div .tbl2 tr:nth-child(2) th {
          padding-top: 40px; }
        main .section3 .inner .inner_div .tbl2 tr:nth-child(2) td {
          padding-top: 40px; }
  main .section3 .ul-holder {
    max-width: 960px;
    width: 100%;
    margin: 80px auto 0; }
    main .section3 .ul-holder .wrap {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
      main .section3 .ul-holder .wrap .column {
        width: 320px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        main .section3 .ul-holder .wrap .column .txt-holder {
          padding: 0 20px; }
          main .section3 .ul-holder .wrap .column .txt-holder .col-ttl {
            text-align: center;
            margin: auto;
            max-width: 190px;
            width: 100%;
            font-size: 26px;
            font-weight: bold;
            color: #f9b900;
            padding: 10px 0;
            line-height: 1.4;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            min-height: 72px; }
          main .section3 .ul-holder .wrap .column .txt-holder p {
            font-size: 14px;
            font-weight: normal;
            color: #333333;
            text-align: justify; }

main .section4 {
  padding: 155px 0 0;
  background-color: #eeeeee;
  position: relative;
  overflow: hidden; }
  main .section4 .title {
    font-size: 30px;
    font-weight: bold;
    color: #333333;
    text-align: center;
    position: relative;
    letter-spacing: 5px; }
    main .section4 .title .eng_title {
      display: block;
      font-size: 20px;
      font-weight: normal;
      text-align: center;
      color: #333333;
      margin-bottom: 10px; }
    main .section4 .title::after {
      content: '';
      position: absolute;
      display: block;
      margin: auto;
      left: 0;
      right: 0;
      bottom: -14px;
      width: 34px;
      height: 4px;
      background-color: #333333; }
  main .section4 .inner {
    max-width: 960px;
    width: 100%;
    margin: 80px auto 0; }
    main .section4 .inner .left {
      float: left;
      width: 480px; }
      main .section4 .inner .left table {
        width: 100%; }
        main .section4 .inner .left table tr {
          border-top: 1px solid #eeeeee; }
          main .section4 .inner .left table tr th {
            font-size: 16px;
            font-weight: normal;
            color: #fff;
            background-color: #45bdee;
            width: 100px;
            padding: 6px 0; }
          main .section4 .inner .left table tr td {
            font-size: 16px;
            font-weight: normal;
            color: #333333;
            background-color: #fff;
            padding: 6px 20px; }
            main .section4 .inner .left table tr td a {
              color: inherit; }
      main .section4 .inner .left .photo-holder {
        margin-top: 40px; }
        main .section4 .inner .left .photo-holder .photo {
          float: left;
          margin-right: 19px;
          position: relative; }
          main .section4 .inner .left .photo-holder .photo:after {
            content: "";
            clear: both;
            display: block;
            position: absolute;
            background-color: #f9b900;
            height: 4px;
            width: 240px;
            bottom: 0; }
          main .section4 .inner .left .photo-holder .photo img {
            width: 240px; }
        main .section4 .inner .left .photo-holder p {
          float: right;
          width: 220px;
          font-size: 18px;
          vertical-align: middle;
          padding-top: 30px;
          line-height: 1.2em; }
        main .section4 .inner .left .photo-holder span {
          font-size: 14px;
          font-weight: normal;
          color: #333333;
          display: inline-block;
          padding-top: 1em; }
    main .section4 .inner iframe {
      width: 440px;
      height: 440px;
      float: right; }
  main .section4 .slider-holder {
    margin-top: 160px; }
    main .section4 .slider-holder ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      main .section4 .slider-holder ul li {
        width: 240px !important;
        -webkit-box-flex: 0;
        -ms-flex-positive: 0;
        flex-grow: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0; }

footer {
  position: relative; }
  footer .float-base {
    position: absolute;
    right: 60px;
    top: -321px;
    min-height: 10px; }
    footer .float-base .float-target {
      display: block;
      position: fixed;
      right: 60px;
      bottom: 30px;
      z-index: 100;
      opacity: 0;
      -webkit-transition: opacity .3s;
      -moz-transition: opacity .3s;
      -ms-transition: opacity .3s;
      -o-transition: opacity .3s;
      transition: opacity .3s; }
    footer .float-base.float-view .float-target {
      opacity: 1; }
    footer .float-base.float-stop .float-target {
      position: static; }
  footer .left {
    float: left;
    width: 50%;
    height: 500px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative; }
    footer .left .inner {
      position: absolute;
      margin: auto;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      width: 345px;
      height: 225px; }
      footer .left .inner .address {
        font-size: 16px;
        font-weight: normal;
        color: #333333;
        margin-top: 25px; }
      footer .left .inner .number {
        font-size: 18px;
        font-weight: normal;
        color: #333333;
        margin-top: 50px; }
      footer .left .inner .number_img {
        margin-top: 18px; }
  footer .map {
    float: right;
    width: 50%;
    height: 500px; }
    footer .map iframe {
      width: 100%;
      height: 100%; }
  footer .copyright {
    font-size: 16px;
    font-weight: normal;
    color: #fff;
    background-color: #45bdee;
    padding: 7px 0;
    text-align: center;
    clear: both; }

.pc-nav {
  display: none;
  height: 80px; }
  .pc-nav .inner {
    max-width: 1220px;
    position: relative;
    margin: auto;
    position: relative; }
    .pc-nav .inner .logo-holder {
      margin-top: 20px;
      float: left; }
    .pc-nav .inner .menu-holder {
      float: right;
      margin-right: 299px; }
      .pc-nav .inner .menu-holder .nav li {
        float: left;
        display: table;
        height: 80px; }
        .pc-nav .inner .menu-holder .nav li a {
          display: table-cell;
          vertical-align: middle;
          font-size: 18px;
          font-weight: bold;
          color: #333333;
          line-height: 1.4; }
        .pc-nav .inner .menu-holder .nav li:nth-child(n+2) {
          margin-left: 60px; }
    .pc-nav .inner .nav_tel {
      position: absolute;
      top: 0;
      right: 0;
      display: block;
      width: 240px;
      height: 90px;
      background-color: #009be6; }
      .pc-nav .inner .nav_tel img {
        position: absolute;
        margin: auto;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0; }
  .pc-nav.pin {
    min-width: 1215px;
    display: block;
    position: fixed;
    top: 0;
    width: 100%;
    background-color: #fff;
    z-index: 9999;
    -webkit-box-shadow: 0px 0px 5px 3px rgba(0, 0, 0, 0.3);
    /* Safari 3-4, iOS 4.0.2 - 4.2, Android 2.3+ */
    -moz-box-shadow: 0px 0px 5px 3px rgba(0, 0, 0, 0.3);
    /* Firefox 3.5 - 3.6 */
    box-shadow: 0px 0px 5px 3px rgba(0, 0, 0, 0.3);
    /* Opera 10.5, IE 9, Firefox 4+, Chrome 6+, iOS 5 */ }

@media screen and (min-width: 751px) {
  .sp {
    display: none !important; } }

@media screen and (max-width: 750px) {
  .pc {
    display: none; }
  img {
    max-width: 100%; }
  .block {
    min-width: 0; }
  .layout {
    width: auto;
    margin: 0; }
  .top-title img {
    width: 48vw; }
  .pc-nav {
    display: block;
    position: fixed;
    top: 0;
    width: 100%;
    height: 13.33333vw;
    z-index: 9999;
    -webkit-transition: .35s ease-in-out;
    -o-transition: .35s ease-in-out;
    transition: .35s ease-in-out; }
    .pc-nav.pin {
      min-width: 0; }
    .pc-nav .inner .logo-holder {
      margin-top: 0;
      height: 13.33333vw;
      position: absolute;
      top: 3.33333vw;
      left: 5.06667vw;
      width: 89.33333vw; }
      .pc-nav .inner .logo-holder .logo {
        width: 46vw; }
      .pc-nav .inner .logo-holder #hamburger {
        position: absolute;
        color: #fff;
        top: 1.33333vw;
        width: 9.33333vw;
        right: 0; }
        .pc-nav .inner .logo-holder #hamburger span {
          display: block;
          width: auto;
          height: 3px;
          position: absolute;
          margin: auto;
          top: 0px;
          left: 0;
          right: 0;
          background: #009be6;
          border-radius: 5px;
          -webkit-transition: .35s ease-in-out;
          -o-transition: .35s ease-in-out;
          transition: .35s ease-in-out; }
          .pc-nav .inner .logo-holder #hamburger span:nth-child(2) {
            top: 2.13333vw; }
          .pc-nav .inner .logo-holder #hamburger span:nth-child(3) {
            top: 4.26667vw; }
        .pc-nav .inner .logo-holder #hamburger p {
          position: absolute;
          top: 30px;
          font-size: 8px;
          left: 7px; }
    .pc-nav .inner .menu-holder {
      float: none;
      position: fixed;
      z-index: 9999;
      top: 13.33333vw;
      left: 0;
      right: 0;
      bottom: 100%;
      background-color: rgba(13, 155, 225, 0.9);
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding: 0 5.33333vw 0;
      -webkit-transition: .35s ease-in-out;
      -o-transition: .35s ease-in-out;
      transition: .35s ease-in-out;
      margin: 0;
      overflow: auto; }
      .pc-nav .inner .menu-holder .nav {
        margin-right: 0;
        float: none; }
        .pc-nav .inner .menu-holder .nav li {
          float: none;
          display: block;
          width: 100%;
          height: auto;
          border-bottom: 1px solid #fff; }
          .pc-nav .inner .menu-holder .nav li a {
            padding: 4.66667vw 0;
            font-size: 5.33333vw;
            display: block;
            text-align: center;
            color: #fff; }
            .pc-nav .inner .menu-holder .nav li a.sp_nav_tel {
              font-size: 1px;
              background-color: #fff; }
              .pc-nav .inner .menu-holder .nav li a.sp_nav_tel img {
                width: 53.33333vw;
                vertical-align: middle; }
          .pc-nav .inner .menu-holder .nav li:nth-child(n+2) {
            margin-left: 0; }
          .pc-nav .inner .menu-holder .nav li:last-child {
            border-bottom: none;
            margin-top: 10.66667vw; }
    .pc-nav .inner .nav_tel {
      display: none; }
    .pc-nav.open {
      background-color: #fff; }
      .pc-nav.open .inner .logo-holder #hamburger span:nth-child(1) {
        top: 2.13333vw;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        -ms-transform: rotate(315deg);
        transform: rotate(315deg); }
      .pc-nav.open .inner .logo-holder #hamburger span:nth-child(2) {
        width: 0;
        left: 50%; }
      .pc-nav.open .inner .logo-holder #hamburger span:nth-child(3) {
        top: 2.4vw;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        -ms-transform: rotate(-315deg);
        transform: rotate(-315deg); }
      .pc-nav.open .inner .menu-holder {
        bottom: 0;
        padding: 6vw 5.33333vw 10.66667vw; }
  header {
    min-height: 90vw;
    max-height: 133.33333vw;
    min-width: 0; }
    header .swiper-container .swiper-wrapper .slider1 {
      background-image: url("../img/sp/index/slider1.png") !important; }
    header .swiper-container .swiper-wrapper .slider2 {
      background-image: url("../img/sp/index/slider2.png") !important; }
    header .swiper-container .swiper-wrapper .slider3 {
      background-image: url("../img/sp/index/slider3.png") !important; }
    header .swiper-container .swiper-wrapper .slider4 {
      background-image: url("../img/sp/index/slider4.png") !important; }
    header .inner .txt-wrap {
      left: 5.33333vw;
      bottom: 6.66667vw;
      width: auto; }
    header .inner .txt {
      height: 70%;
      max-height: none;
      max-width: none;
      width: auto; }
    header .inner .scroll {
      width: 11.73333vw;
      bottom: 11.33333vw; }
  main .section1 {
    margin-top: -6.66667vw;
    padding: 0 5.33333vw; }
    main .section1 .title {
      width: 100%;
      height: 48.66667vw;
      text-align: center;
      padding-top: 14.4vw;
      padding-left: 0; }
      main .section1 .title .eng_title {
        font-size: 4vw; }
      main .section1 .title .title_txt {
        font-size: 6.66667vw;
        letter-spacing: 1.06667vw;
        margin-top: 1.33333vw; }
        main .section1 .title .title_txt::after {
          margin: auto;
          left: 0;
          right: 0;
          bottom: -2.66667vw;
          height: 0.53333vw;
          width: 9.06667vw; }
    main .section1 .div1 p {
      width: 100%;
      float: none;
      font-size: 4.26667vw;
      padding: 8.66667vw 0 0; }
    main .section1 .div1 img {
      position: relative;
      margin-top: 9.33333vw;
      top: 1px;
      width: 100%; }
  main .section2 {
    padding: 21.06667vw 5.33333vw 20.66667vw; }
    main .section2 .title {
      font-size: 6.66667vw; }
      main .section2 .title .eng_title {
        font-size: 4vw;
        margin: 0 auto 1.33333vw; }
      main .section2 .title::after {
        bottom: -4vw;
        height: 0.53333vw;
        width: 9.06667vw; }
    main .section2 .txt1 {
      text-align: justify;
      font-size: 4.26667vw;
      margin-top: 10.66667vw; }
    main .section2 .txt-holder {
      padding: 0; }
      main .section2 .txt-holder .col-ttl {
        font-size: 6.13333vw;
        padding: 2.66667vw 0; }
      main .section2 .txt-holder p {
        font-size: 3.73333vw; }
      main .section2 .txt-holder strong {
        margin-top: 4.66667vw;
        font-size: 3.73333vw; }
    main .section2 .div1 {
      margin-top: 9.06667vw; }
      main .section2 .div1 .wrap .column {
        width: 100%; }
        main .section2 .div1 .wrap .column img {
          width: 100%; }
        main .section2 .div1 .wrap .column:nth-child(n+2) {
          margin-top: 8.66667vw; }
    main .section2 .div2 {
      margin-top: 8.66667vw; }
      main .section2 .div2 .wrap .column {
        width: 42.66667vw; }
        main .section2 .div2 .wrap .column:nth-child(even) {
          margin-left: 4vw; }
        main .section2 .div2 .wrap .column:nth-child(n+3) {
          margin-top: 8.66667vw; }
  main .section3 {
    padding: 20.66667vw 5.33333vw 20vw; }
    main .section3 .title {
      font-size: 6.66667vw; }
      main .section3 .title .eng_title {
        font-size: 4vw;
        margin: 0 auto 1.33333vw; }
      main .section3 .title::after {
        bottom: -4vw;
        height: 0.53333vw;
        width: 9.06667vw; }
    main .section3 .txt1 {
      font-size: 4.26667vw;
      text-align: justify;
      padding: 0 7.73333vw 0 1.33333vw; }
    main .section3 .tbl-holder {
      margin-top: 8.66667vw; }
      main .section3 .tbl-holder .tbl1 thead th {
        width: 20.66667vw;
        font-size: 3.2vw;
        padding: 1.73333vw 0; }
      main .section3 .tbl-holder .tbl1 thead td {
        font-size: 3.2vw;
        padding: 1.73333vw 0; }
      main .section3 .tbl-holder .tbl1 tbody tr th {
        width: 20.66667vw;
        font-size: 3.2vw;
        padding: 1.73333vw 0; }
      main .section3 .tbl-holder .tbl1 tbody tr td {
        font-size: 3.2vw;
        padding: 1.73333vw 0;
        vertical-align: middle; }
      main .section3 .tbl-holder p {
        font-size: 3.2vw;
        margin-top: 4.66667vw; }
    main .section3 .monshin {
      margin-top: 8.66667vw; }
    main .section3 .inner {
      margin: 9.33333vw -5.33333vw 0;
      padding: 10.66667vw 5.33333vw;
      background-image: url("../img/sp/index/sec3_inner_bg.png"); }
      main .section3 .inner .inner_div {
        padding: 8.66667vw 5.33333vw; }
        main .section3 .inner .inner_div .inner_div_ttl {
          font-size: 6.66667vw; }
        main .section3 .inner .inner_div .tbl2 tr th {
          display: block;
          width: 100%; }
          main .section3 .inner .inner_div .tbl2 tr th span {
            width: 31.73333vw;
            font-size: 4vw;
            margin: auto;
            padding: 1.73333vw 0; }
        main .section3 .inner .inner_div .tbl2 tr td {
          display: block;
          width: 100%;
          padding: 3.33333vw 0 0;
          font-size: 3.2vw; }
        main .section3 .inner .inner_div .tbl2 tr:nth-child(2) th {
          padding: 7.33333vw 0 0; }
        main .section3 .inner .inner_div .tbl2 tr:nth-child(2) td {
          padding: 3.33333vw 0 0; }
    main .section3 .ul-holder {
      margin: 10.66667vw auto 0; }
      main .section3 .ul-holder .wrap .column {
        width: 100%; }
        main .section3 .ul-holder .wrap .column img {
          width: 100%; }
        main .section3 .ul-holder .wrap .column .txt-holder {
          padding: 0; }
          main .section3 .ul-holder .wrap .column .txt-holder .col-ttl {
            font-size: 6.13333vw;
            max-width: 100%;
            text-align: center;
            display: block;
            padding: 4vw 0;
            min-height: auto; }
          main .section3 .ul-holder .wrap .column .txt-holder p {
            font-size: 3.73333vw; }
        main .section3 .ul-holder .wrap .column:nth-child(n+2) {
          margin-top: 8.66667vw; }
  main .section4 {
    padding: 21.06667vw 5.33333vw 0; }
    main .section4 .title {
      font-size: 6.66667vw; }
      main .section4 .title .eng_title {
        font-size: 4vw;
        margin: 0 auto 1.33333vw; }
      main .section4 .title::after {
        bottom: -4vw;
        height: 0.53333vw;
        width: 9.06667vw; }
    main .section4 .inner {
      margin: 13.33333vw auto 0; }
      main .section4 .inner .left {
        max-width: 100%;
        width: 100%; }
        main .section4 .inner .left table tr th {
          width: 20.93333vw;
          font-size: 3.2vw;
          padding: 2.66667vw 0; }
        main .section4 .inner .left table tr td {
          font-size: 3.2vw;
          padding: 2.66667vw; }
      main .section4 .inner iframe {
        width: 100%;
        float: none;
        height: 86.66667vw;
        margin-top: 9.33333vw; }
      main .section4 .inner .photo-holder {
        width: 100%;
        margin-top: 8.66667vw; }
        main .section4 .inner .photo-holder .photo {
          border-bottom: 1.2vw solid #f9b900; }
          main .section4 .inner .photo-holder .photo img {
            width: 100%; }
        main .section4 .inner .photo-holder p {
          text-align: center;
          display: block;
          font-size: 5.33333vw;
          margin-top: 4.66667vw; }
    main .section4 .slider-holder {
      margin-top: 21.33333vw; }
      main .section4 .slider-holder ul li {
        width: 32vw !important; }
  footer .float-base .float-target {
    right: 3.33333vw;
    bottom: 8vw; }
    footer .float-base .float-target img {
      width: 10.66667vw;
      height: 10.66667vw; }
  footer .float-base.float-stop .float-target {
    position: fixed; }
  footer .map {
    width: 100%;
    height: 66.66667vw;
    float: none; }
  footer .left {
    width: 100%;
    height: auto;
    float: none; }
    footer .left .inner {
      text-align: center;
      width: 100%;
      height: auto;
      position: relative;
      padding: 13.33333vw 0; }
      footer .left .inner .logo {
        width: 66.66667vw;
        display: block;
        margin: auto; }
      footer .left .inner .number_img {
        width: 56.66667vw;
        display: block;
        margin: auto; }
      footer .left .inner .address {
        font-size: 4.26667vw;
        margin-top: 4.66667vw; }
      footer .left .inner .number {
        font-size: 4.26667vw;
        margin-top: 7.33333vw; }
  footer .copyright {
    padding: 0.93333vw 0;
    font-size: 9px; } }
