@charset "UTF-8";
/* ***************************** Import file to Scss or Sass. */
/* -----------------------------------------------------------------
Title: reset.css
Created: 2020-02-20
Last Modified: 2020-03-26
------------------------------------------------------------------ */
/*　目次 
-----------------------------------------------------------------

#01-リセット
#02-基本タグの定義
#03-CSSハック

------------------------------------------------------------------ */
/* -----------------------------------------------------------------

#01　リセット

------------------------------------------------------------------ */
* { font-style: normal; margin: 0px; padding: 0px; text-decoration: none; }

html { font-size: 62.5%; line-height: 1.6; }

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

caption, th { text-align: left; }

ol, ul, dl { list-style: none; }

fieldset { border: 0; }

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

/* -----------------------------------------------------------------

#02　基本タグの定義
    font-family: 'Josefin Sans', sans-serif;
    font-family: 'Noto Sans JP', sans-serif;
    font-family: 'Oswald', sans-serif;

------------------------------------------------------------------ */
body { color: #1a1a1a; font-family: 'Roboto Condensed', "Noto Sans JP", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; -webkit-font-feature-settings: 'palt' 1; font-feature-settings: 'palt' 1; background-color: #FFFFFF; font-weight: 400; letter-spacing: 0.07em; text-align: left; background-repeat: no-repeat; width: auto; height: 100%; margin: 0px auto; background-position: top; }

body .josefin { font-family: 'Josefin Sans', sans-serif; }

body .mincho { font-family: 'Shippori Mincho', serif; }

@media all and (-ms-high-contrast: none) { body { letter-spacing: 0; } }

body#home { background-repeat: no-repeat; }

h1, h2, h3, h4, h5, h6 { font-weight: 100; }

p { text-align: left; font-size: 1.3em; }

span { font-size: 1em; text-align: left; }

address, caption, cite, code, dfn, em, strong, th, var { font-style: normal; font-weight: 100; }

a img { border-style: none; outline: medium none; }

object { border-style: none; outline: medium none; }

/** anchors */
/**************************************/
a { font-size: 1em; color: #023461; text-decoration: none; outline: none; -webkit-transition: opacity 0.30s; -moz-transition: opacity 0.30s; -ms-transition: opacity 0.30s; -o-transition: opacity 0.30s; transition: opacity 0.30s; }

a:hover { opacity: 0.7; }

a:link { outline: medium none; }

a:visited { outline: medium none; }

/* -----------------------------------------------------------------
@mixin
------------------------------------------------------------------ */
.slide-item0 { opacity: 0; }

.slide-item0.show { opacity: 1; }

.slide-delay01 .hidden { -webkit-transition: transform 0.4s; -moz-transition: transform 0.4s; -ms-transition: transform 0.4s; -o-transition: transform 0.4s; transition: transform 0.4s; transition-delay: 0.6s; }

.slide-delay02 .hidden { -webkit-transition: transform 0.4s; -moz-transition: transform 0.4s; -ms-transition: transform 0.4s; -o-transition: transform 0.4s; transition: transform 0.4s; transition-delay: 1.0s; }

.slide-delay03 .hidden { -webkit-transition: transform 0.4s; -moz-transition: transform 0.4s; -ms-transition: transform 0.4s; -o-transition: transform 0.4s; transition: transform 0.4s; transition-delay: 1.4s; }

.slide-delay04 .hidden { -webkit-transition: transform 0.4s; -moz-transition: transform 0.4s; -ms-transition: transform 0.4s; -o-transition: transform 0.4s; transition: transform 0.4s; transition-delay: 1.8s; }

.slide-delay05 .hidden { -webkit-transition: transform 0.4s; -moz-transition: transform 0.4s; -ms-transition: transform 0.4s; -o-transition: transform 0.4s; transition: transform 0.4s; transition-delay: 2.2s; }

.slide-text { overflow: hidden; }

.slide-text .hidden { transform: translateY(170%); }

.slide-text.show .hidden { transform: translateY(0); }

.slide-text2 { overflow: hidden; }

.slide-text2 .hidden { transform: translateY(240%); }

.slide-text2.show .hidden { transform: translateY(0); }

.slide-img { transform: translateX(100vw); -webkit-transition: opacity 0.8s,transform 0.8s; -moz-transition: opacity 0.8s,transform 0.8s; -ms-transition: opacity 0.8s,transform 0.8s; -o-transition: opacity 0.8s,transform 0.8s; transition: opacity 0.8s,transform 0.8s; transition-delay: 0s; }

.slide-img.show { transform: translateX(0); opacity: 1; }

.slide-item1 { opacity: 0; -webkit-transition: opacity 0.8s,transform 0.8s; -moz-transition: opacity 0.8s,transform 0.8s; -ms-transition: opacity 0.8s,transform 0.8s; -o-transition: opacity 0.8s,transform 0.8s; transition: opacity 0.8s,transform 0.8s; transition-delay: 0s; }

.slide-item1.show { opacity: 1; }

.slide-item2 { opacity: 0; -webkit-transition: opacity 0.8s,transform 0.8s; -moz-transition: opacity 0.8s,transform 0.8s; -ms-transition: opacity 0.8s,transform 0.8s; -o-transition: opacity 0.8s,transform 0.8s; transition: opacity 0.8s,transform 0.8s; transition-delay: 0.8s; }

.slide-item2.show { opacity: 1; }

.slide-item3 { opacity: 0; -webkit-transition: opacity 0.8s,transform 0.8s; -moz-transition: opacity 0.8s,transform 0.8s; -ms-transition: opacity 0.8s,transform 0.8s; -o-transition: opacity 0.8s,transform 0.8s; transition: opacity 0.8s,transform 0.8s; transition-delay: 1.2s; }

.slide-item3.show { opacity: 1; }

.slide-item4 { opacity: 0; -webkit-transition: opacity 0.8s,transform 0.8s; -moz-transition: opacity 0.8s,transform 0.8s; -ms-transition: opacity 0.8s,transform 0.8s; -o-transition: opacity 0.8s,transform 0.8s; transition: opacity 0.8s,transform 0.8s; transition-delay: 1.6s; }

.slide-item4.show { opacity: 1; }

.slide-item5 { opacity: 0; -webkit-transition: opacity 0.8s,transform 0.8s; -moz-transition: opacity 0.8s,transform 0.8s; -ms-transition: opacity 0.8s,transform 0.8s; -o-transition: opacity 0.8s,transform 0.8s; transition: opacity 0.8s,transform 0.8s; transition-delay: 2.0s; }

.slide-item5.show { opacity: 1; }

.slide-item6 { opacity: 0; transform: translateY(25px); -webkit-transition: opacity 0.8s,transform 0.8s; -moz-transition: opacity 0.8s,transform 0.8s; -ms-transition: opacity 0.8s,transform 0.8s; -o-transition: opacity 0.8s,transform 0.8s; transition: opacity 0.8s,transform 0.8s; transition-delay: 0.8s; }

.slide-item6.show { transform: translateY(0); opacity: 1; }

.slide-foam1 { opacity: 0; -webkit-filter: blur(25px); filter: blur(25px); -webkit-transition: opacity 0.8s,padding 1.0s,filter 0.8s; -moz-transition: opacity 0.8s,padding 1.0s,filter 0.8s; -ms-transition: opacity 0.8s,padding 1.0s,filter 0.8s; -o-transition: opacity 0.8s,padding 1.0s,filter 0.8s; transition: opacity 0.8s,padding 1.0s,filter 0.8s; transition-delay: 0s; padding: 2.66667vw 0 0 0; }

.slide-foam1.show { -webkit-filter: blur(0); filter: blur(0); opacity: 1; padding: 0; }

.slide-foam2 { opacity: 0; -webkit-filter: blur(25px); filter: blur(25px); -webkit-transition: opacity 0.8s,padding 1.0s,filter 0.8s; -moz-transition: opacity 0.8s,padding 1.0s,filter 0.8s; -ms-transition: opacity 0.8s,padding 1.0s,filter 0.8s; -o-transition: opacity 0.8s,padding 1.0s,filter 0.8s; transition: opacity 0.8s,padding 1.0s,filter 0.8s; transition-delay: 0.4s; padding: 2.66667vw 0 0 0; }

.slide-foam2.show { -webkit-filter: blur(0); filter: blur(0); opacity: 1; padding: 0; }

.slide-foam3 { opacity: 0; -webkit-filter: blur(25px); filter: blur(25px); -webkit-transition: opacity 0.8s,padding 1.0s,filter 0.8s; -moz-transition: opacity 0.8s,padding 1.0s,filter 0.8s; -ms-transition: opacity 0.8s,padding 1.0s,filter 0.8s; -o-transition: opacity 0.8s,padding 1.0s,filter 0.8s; transition: opacity 0.8s,padding 1.0s,filter 0.8s; transition-delay: 0.8s; padding: 2.66667vw 0 0 0; }

.slide-foam3.show { -webkit-filter: blur(0); filter: blur(0); opacity: 1; padding: 0; }

.slide-foam4 { opacity: 0; -webkit-filter: blur(25px); filter: blur(25px); -webkit-transition: opacity 0.8s,padding 1.0s,filter 0.8s; -moz-transition: opacity 0.8s,padding 1.0s,filter 0.8s; -ms-transition: opacity 0.8s,padding 1.0s,filter 0.8s; -o-transition: opacity 0.8s,padding 1.0s,filter 0.8s; transition: opacity 0.8s,padding 1.0s,filter 0.8s; transition-delay: 1.2s; padding: 2.66667vw 0 0 0; }

.slide-foam4.show { -webkit-filter: blur(0); filter: blur(0); opacity: 1; padding: 0; }

.slide-foam5 { opacity: 0; -webkit-filter: blur(25px); filter: blur(25px); -webkit-transition: opacity 0.8s,padding 1.0s,filter 0.8s; -moz-transition: opacity 0.8s,padding 1.0s,filter 0.8s; -ms-transition: opacity 0.8s,padding 1.0s,filter 0.8s; -o-transition: opacity 0.8s,padding 1.0s,filter 0.8s; transition: opacity 0.8s,padding 1.0s,filter 0.8s; transition-delay: 1.4s; padding: 2.66667vw 0 0 0; }

.slide-foam5.show { -webkit-filter: blur(0); filter: blur(0); opacity: 1; padding: 0; }

/* -----------------------------------------------------------------
base content
------------------------------------------------------------------ */
.scroll_nav { position: fixed; top: -300px; right: 0; width: 70px; height: auto; z-index: 25; -webkit-transition: 0.30s; -moz-transition: 0.30s; -ms-transition: 0.30s; -o-transition: 0.30s; transition: 0.30s; }

.scroll_nav.up { top: 0; }

.scroll_nav li { margin: 0 0 5px 0; }

.scroll_nav a { display: block; position: relative; top: 0; left: 0; width: 100%; height: auto; filter: drop-shadow(0px 2px 2px rgba(177, 177, 177, 0.5)); }

.scroll_nav img { width: 100%; height: auto; }

p.pagetop:hover { opacity: 0.7; }

.nolink { pointer-events: none; }

.mincho { font-family: 'Noto Serif JP', serif; }

.popup_nolink, .popup { display: none; }

.popup_nolink .box, .popup .box { border-radius: 6px; background: #FFFFFF; max-width: 800px; width: 62.5vw; padding: 70px 0; box-sizing: border-box; }

.popup_nolink .box p, .popup .box p { max-width: 540px; width: 42.1875vw; margin: 0 auto; }

.popup_nolink .box span, .popup .box span { display: block; max-width: 540px; font-size: 14px; width: 42.1875vw; margin: 7px auto 0 auto; }

.popup_nolink .box video, .popup .box video { max-width: 540px; width: 42.1875vw; margin: 0 auto; padding: 0; }

.popup_nolink video, .popup video { display: block; background: #000000; width: 100%; height: auto; padding: 50px 0; }

@media screen and (max-width: 1000px) { .popup_nolink .box, .popup .box { max-width: 800px; width: 94vw; padding: 9.33333vw 0; }
  .popup_nolink .box p, .popup .box p { width: 72vw; }
  .popup_nolink .box span, .popup .box span { font-size: 14px; width: 72vw; }
  .popup_nolink .box video, .popup .box video { width: 72vw; }
  .popup_nolink video, .popup video { padding: 6.66667vw 0; } }

.pc { display: none !important; }

@media screen and (min-width: 1000px) { .pc { display: inherit !important; } }

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

.svg { display: none; }

@media all and (-ms-high-contrast: none) { .svg { display: inherit; } }

@media all and (-ms-high-contrast: none) { .svg_pare { display: none !important; } }

img { display: block; width: 100%; height: auto; }

.lazyload { display: block; opacity: 0; -webkit-transition: opacity 0.30s; -moz-transition: opacity 0.30s; -ms-transition: opacity 0.30s; -o-transition: opacity 0.30s; transition: opacity 0.30s; }

.lazyload.show { opacity: 1; }

@media screen and (min-width: 1000px) { a[href^="tel:"] { pointer-events: none; } }

.fixarea { position: fixed; bottom: 0; right: 0; width: 100%; z-index: 10; }

.fixarea ul { display: -webkit-flex; display: -ms-flex; display: flex; flex-direction: row-reverse; }

.fixarea ul li:first-child { width: 72.66667vw; }

.fixarea ul li:last-child { width: 27.33333vw; }

@media screen and (min-width: 1000px) { .fixarea { bottom: 35%; width: 60px; }
  .fixarea ul { display: block; }
  .fixarea ul li:first-child { width: 100%; margin: 0 0 14px 0; }
  .fixarea ul li:last-child { width: 100%; } }

/* -----------------------------------------------------------------
ヘッダー
------------------------------------------------------------------ */
header { position: fixed; left: 0; top: 0; z-index: 20; width: 100%; }

header .pc .flex { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; align-items: center; width: 100%; margin: 0 auto; padding: 0 0 13px 0; -webkit-transition: background 0.30s; -moz-transition: background 0.30s; -ms-transition: background 0.30s; -o-transition: background 0.30s; transition: background 0.30s; }

header .pc .flex.fix { background: rgba(0, 0, 0, 0.9); }

header .pc .flex h1 { width: 260px; padding: 22px 0 0 50px; }

header .pc .flex nav { padding: 0 28px 0 0; }

header .pc .flex nav ul { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: flex-end; }

header .pc .flex nav ul li { margin: 0 22px; }

header .pc .flex nav ul li a { display: block; font-size: 14px; letter-spacing: 0.1em; color: #FFFFFF; }

header .pc .flex nav ul li:last-child a { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; }

header .pc .flex nav ul li:last-child a img { width: 14px; margin: 0 0 0 6px; }

header .pc .flex nav ol { margin: 0 0 0 36px; }

header .pc .flex nav ol li { width: 20px; }

@media screen and (max-width: 1000px) { header .sp .logo_area { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; padding: 2.93333vw 4vw 2.93333vw 4vw; z-index: 100; -webkit-transition: background 0.30s; -moz-transition: background 0.30s; -ms-transition: background 0.30s; -o-transition: background 0.30s; transition: background 0.30s; }
  header .sp .logo_area.fix { background: rgba(0, 0, 0, 0.9); }
  header .sp .logo_area .logo { width: 34.66667vw; }
  header .sp .logo_area .link { padding: 1.73333vw 0 0 0; }
  header .sp .logo_area .link a { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; flex-direction: column; width: 6.66667vw; height: 4vw; }
  header .sp .logo_area .link a::before, header .sp .logo_area .link a::after { position: absolute; left: 0; display: block; content: ""; width: 6.66667vw; height: 0.26667vw; background: #FFFFFF; -webkit-transition: 0.3s; transition: 0.3s; }
  header .sp .logo_area .link a::before { top: 0; }
  header .sp .logo_area .link a::after { bottom: 0; }
  header .sp .logo_area .link a span { display: block; width: 6.66667vw; height: 0.26667vw; background: #FFFFFF; }
  header .sp .logo_area .link a.on:before { margin-top: -2px; top: 48%; -webkit-transform: rotate(-45deg); transform: rotate(-45deg); }
  header .sp .logo_area .link a.on:after { bottom: 48%; -webkit-transform: rotate(-135deg); transform: rotate(-135deg); }
  header .sp .logo_area .link a.on span.spMenuBtnIcon { display: none; }
  header .sp .over { position: absolute; top: 0; left: 0; background: rgba(0, 0, 0, 0.8); width: 100%; height: 0; overflow: auto; }
  header .sp .over .box_area { width: 100%; }
  header .sp .over .area01 { position: relative; top: 0; left: 0; padding: 0; }
  header .sp .over .area01 .link { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; padding: 9.2vw 0 6.66667vw 0; }
  header .sp .over .area01 .link a { width: 17.46667vw; }
  header .sp .over .area01 ul { margin: 0; padding: 16.26667vw 0 0 0; }
  header .sp .over .area01 ul li { border-bottom: 1px solid #666666; }
  header .sp .over .area01 ul li a { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; justify-content: center; font-size: 3.46667vw; color: #FFFFFF; width: 100%; height: 13.33333vw; padding: 0.4vw 0 0 0; box-sizing: border-box; }
  header .sp .over .area01 ul li:last-child a img { width: 14px; margin: 0 0 0 6px; } }

main { position: relative; top: 0; left: 0; overflow: hidden; width: 100%; padding: 0; }

@media screen and (max-width: 1000px) { main { padding: 0; } }

main div.inner { width: 100%; max-width: 1200px; margin-right: auto; margin-left: auto; }

footer { position: relative; top: 0; left: 0; }

footer .img { position: relative; top: 0; left: 0; }

footer .img p { position: relative; top: 0; left: 0; width: 100%; }

footer .img p.show strong { width: 100%; }

footer .img p strong { display: block; width: 0; overflow: hidden; -webkit-transition: width 0.8s; -moz-transition: width 0.8s; -ms-transition: width 0.8s; -o-transition: width 0.8s; transition: width 0.8s; transition-delay: 0s; }

footer .img p strong img { width: 100vw; }

footer .img p span { display: block; position: absolute; bottom: 0.39062vw; left: 0; width: 100%; }

footer .img p span img { width: 99.60938vw; margin: 0 auto; }

footer .logo { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; width: 100%; height: 234px; }

footer .logo img { width: 340px; }

footer .copy { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; background: #1a1a1a; font-size: 10px; color: #999999; width: 100%; height: 100px; }

@media screen and (max-width: 1000px) { footer .img p span { position: relative; bottom: 0; left: 0; width: 100%; padding: 7.33333vw 0 0 0; }
  footer .img p span img { width: 96vw; }
  footer .logo { display: block; height: auto; padding: 15.06667vw 0 13.86667vw 0; }
  footer .logo img { width: 66.66667vw; margin: 0 auto; }
  footer .copy { font-size: 2.66667vw; height: 21.33333vw; } }

/* -----------------------------------------------------------------
640px以下
------------------------------------------------------------------ */
/* -----------------------------------------------------------------
944px以下かつ641px以上
------------------------------------------------------------------ */
/* -----------------------------------------------------------------
944px以下
------------------------------------------------------------------ */
@media screen and (max-width: 999px) { header .pc { display: none; }
  #wrapper { font-size: 2.667vw; } }

/* -----------------------------------------------------------------
960px以上
------------------------------------------------------------------ */
@media screen and (min-width: 1000px) { /* ----------------------------------------------------------------- ヘッダー ------------------------------------------------------------------ */ }

.nolink { pointer-events: none; }

@media screen and (min-width: 1000px) { /* ----------------------------------------------------------------- float ------------------------------------------------------------------ */
  .float_l { float: left; }
  .float_r { float: right; } }

/* -----------------------------------------------------------------
ClearFix
------------------------------------------------------------------ */
.clear:after { content: " "; height: 0px; clear: both; visibility: hidden; display: block; }

.clear { display: inline-block; }

* html .clear { height: 1%; }

.clear { display: block; }

/* -----------------------------------------------------------------
@mixin
------------------------------------------------------------------ */
.top_index main #key, .top_index main .cont { -webkit-transition: opacity 1.5s; -moz-transition: opacity 1.5s; -ms-transition: opacity 1.5s; -o-transition: opacity 1.5s; transition: opacity 1.5s; }

.top_index main #imgscroll01 img, .top_index main #imgscroll02 img, .top_index main #imgscroll03 img, .top_index main #imgscroll04 img, .top_index main #imgscroll05 img, .top_index main #imgscroll06 img, .top_index main #imgscroll07 img, .top_index main #imgscroll08 img, .top_index main #imgscroll09 img { position: relative; top: 0; left: 0; -webkit-transition: top 0.30s; -moz-transition: top 0.30s; -ms-transition: top 0.30s; -o-transition: top 0.30s; transition: top 0.30s; }

.top_index main #key { position: relative; top: 0; left: 0; }

.top_index main #key .movie { position: relative; top: 0; left: 0; width: 100%; height: 100vh; }

.top_index main #key .movie::after { content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.2); }

.top_index main #key .movie video { object-fit: cover; width: 100%; height: 100vh; }

.top_index main #key .text { position: absolute; bottom: 0; left: 0; width: 100%; }

.top_index main #key .text div { display: -webkit-flex; display: -ms-flex; display: flex; flex-direction: column; align-items: flex-end; margin: 0 auto; }

.top_index main #key .text div strong { display: block; width: 216px; margin: 0 46px 21px 0; }

.top_index main #key .text div h1 { width: 99.60938%; overflow: hidden; margin: 0 0 -5px 0; }

.top_index main #key .text div h1.show span { width: 100%; }

.top_index main #key .text div h1 span { display: block; width: 0; overflow: hidden; -webkit-transition: width 0.8s; -moz-transition: width 0.8s; -ms-transition: width 0.8s; -o-transition: width 0.8s; transition: width 0.8s; transition-delay: 0s; }

.top_index main #key .text div h1 img { width: 99.60938vw; object-fit: cover; }

.top_index main #key .link { position: absolute; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; width: 100%; height: 100%; z-index: 1; }

.top_index main #key .link p { width: 91px; }

.top_index main #key .link p img { width: 91px; }

.top_index main #key .link .scroll { position: absolute; top: 0; left: 26px; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; width: 12px; height: 100%; }

.top_index main #key .link .scroll span { position: relative; top: 0; left: 0; display: block; height: 100px; }

.top_index main #key .link .scroll span::before { position: absolute; content: ""; display: inline-block; width: 1px; height: 100px; background: #fff; bottom: 0; left: 50%; }

.top_index main #key .link .scroll span em { position: absolute; background: #05854b; border: 1px solid #fff; display: inline-block; width: 4px; height: 4px; border-radius: 10px; bottom: 100px; left: 50%; margin-left: -2px; -webkit-animation: circle-animation 3s ease-out 2s infinite; animation: circle-animation 3s ease-out 2s infinite; }

@keyframes circle-animation { 0% { bottom: 100px; }
  60% { bottom: 0; }
  100% { bottom: 0; } }

.top_index main #key .link .scroll strong { display: block; margin: 0 0 7px 0; }

@media screen and (max-width: 1000px) { .top_index main #key .text div { justify-content: center; }
  .top_index main #key .text div strong { width: 28.8vw; margin: 0 6.13333vw 2.8vw 0; }
  .top_index main #key .text div h1 { width: 96vw; margin: 0 0 -0.66667vw 0; }
  .top_index main #key .text div h1.show span { width: 96vw; }
  .top_index main #key .text div h1 img { width: 96vw; }
  .top_index main #key .link p { width: 18.26667vw; }
  .top_index main #key .link .scroll { display: none; left: 3.46667vw; width: 1.6vw; }
  .top_index main #key .link .scroll span { height: 13.33333vw; }
  .top_index main #key .link .scroll span::before { width: 0.13333vw; height: 13.33333vw; }
  .top_index main #key .link .scroll span em { width: 0.53333vw; height: 0.53333vw; border-radius: 1.33333vw; bottom: 13.33333vw; margin-left: -0.26667vw; }
  .top_index main #key .link .scroll strong { margin: 0 0 0.93333vw 0; } }

.top_index main .cont { position: relative; top: 0; left: 0; }

.top_index main #cont01 { position: relative; top: 0; left: 0; padding: 135px 0 122px 0; }

.top_index main #cont01 .flex01 { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; margin: 0 0 43px 0; }

.top_index main #cont01 .flex01 .left { position: relative; top: 0; left: 0; width: 42.96875vw; padding: 0 0 0 98px; box-sizing: border-box; }

.top_index main #cont01 .flex01 .left .bg { position: absolute; top: -101px; left: -14px; }

.top_index main #cont01 .flex01 .left .bg p { font-size: 344px; line-height: 1; color: #e1f0e9; font-weight: bold; }

.top_index main #cont01 .flex01 .left .bg strong { display: block; font-weight: bold; font-size: 105px; line-height: 1; color: #e1f0e9; margin: -43px 0 0 14px; }

.top_index main #cont01 .flex01 .left .text { position: relative; top: 0; left: 0; }

.top_index main #cont01 .flex01 .left .text span { display: block; font-weight: bold; font-size: 28px; color: #05854b; margin: 0 0 18px 0; }

.top_index main #cont01 .flex01 .left .text h2 { font-size: 70px; font-weight: bold; line-height: 1.2; margin: 0 0 16px 0; }

.top_index main #cont01 .flex01 .left .text h2 em { display: block; font-weight: bold; font-size: 33px; margin: 0 0 12px 0; }

.top_index main #cont01 .flex01 .left .text p { font-size: 15px; line-height: 2; width: 440px; }

.top_index main #cont01 .flex01 .right { position: relative; top: 0; left: 0; width: 53.125vw; padding: 19px 0 0 0; }

.top_index main #cont01 .flex01 .right.show p { width: 53.125vw; }

.top_index main #cont01 .flex01 .right p { width: 0; overflow: hidden; -webkit-transition: width 0.8s; -moz-transition: width 0.8s; -ms-transition: width 0.8s; -o-transition: width 0.8s; transition: width 0.8s; transition-delay: 0s; }

.top_index main #cont01 .flex01 .right p img { width: 53.125vw; }

.top_index main #cont01 .img { margin: 0 0 50px 0; }

.top_index main #cont01 .img p { position: relative; top: 0; left: 0; width: 640px; margin: 0 auto; }

.top_index main #cont01 .img p::after { content: ''; display: block; position: absolute; top: 0; right: 0; background: #FFFFFF; width: 100%; height: 100%; -webkit-transition: width 0.8s; -moz-transition: width 0.8s; -ms-transition: width 0.8s; -o-transition: width 0.8s; transition: width 0.8s; transition-delay: 0.8s; }

.top_index main #cont01 .img.show p::after { width: 0; }

.top_index main #cont01 .flex02 { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; }

.top_index main #cont01 .flex02 .right { position: relative; top: 0; left: 0; width: 42.96875vw; padding: 28px 92px 0 0; box-sizing: border-box; order: 1; }

.top_index main #cont01 .flex02 .right .bg { position: absolute; bottom: -169px; right: -53px; }

.top_index main #cont01 .flex02 .right .bg p { font-size: 344px; line-height: 1; font-weight: bold; text-align: right; color: #e1f0e9; }

.top_index main #cont01 .flex02 .right .bg strong { display: block; font-weight: bold; text-align: right; font-size: 166px; line-height: 1; color: #e1f0e9; margin: 0 39px -27px 0; }

.top_index main #cont01 .flex02 .right .text { position: relative; top: 0; left: 0; width: 440px; padding: 0 0 0 58px; }

.top_index main #cont01 .flex02 .right .text h2 { font-weight: bold; font-size: 70px; line-height: 1.2; margin: 0 0 20px 0; }

.top_index main #cont01 .flex02 .right .text h2 em { display: block; font-weight: bold; font-size: 33px; margin: 0 0 13px 0; }

.top_index main #cont01 .flex02 .right .text p { font-size: 15px; line-height: 2; }

.top_index main #cont01 .flex02 .left { position: relative; top: 0; left: 0; width: 53.125vw; z-index: 1; }

.top_index main #cont01 .flex02 .left.show p { width: 53.125vw; }

.top_index main #cont01 .flex02 .left p { width: 0; overflow: hidden; -webkit-transition: width 0.8s; -moz-transition: width 0.8s; -ms-transition: width 0.8s; -o-transition: width 0.8s; transition: width 0.8s; transition-delay: 0s; }

.top_index main #cont01 .flex02 .left p img { width: 53.125vw; }

@media screen and (max-width: 1000px) { .top_index main #cont01 { padding: 11.06667vw 0 11.2vw 0; }
  .top_index main #cont01 .flex01 { display: block; margin: 0 0 9.73333vw 0; }
  .top_index main #cont01 .flex01 .left { width: 100%; padding: 0 0 7.2vw 0; }
  .top_index main #cont01 .flex01 .left .bg { top: -4.93333vw; left: -2vw; }
  .top_index main #cont01 .flex01 .left .bg p { font-size: 45.86667vw; }
  .top_index main #cont01 .flex01 .left .bg strong { font-size: 14vw; margin: -5.73333vw 0 0 1.6vw; }
  .top_index main #cont01 .flex01 .left .text span { text-align: center; font-size: 4.26667vw; margin: 0 0 4.4vw 0; }
  .top_index main #cont01 .flex01 .left .text h2 { font-size: 11.2vw; text-align: center; line-height: 1.2381; margin: 0 0 3.6vw 0; }
  .top_index main #cont01 .flex01 .left .text h2 em { font-size: 5.6vw; margin: 0 0 1.33333vw 0; }
  .top_index main #cont01 .flex01 .left .text p { font-size: 3.2vw; line-height: 2; width: 92vw; margin: 0 auto; }
  .top_index main #cont01 .flex01 .right { width: 92vw; padding: 0; margin: 0 auto; }
  .top_index main #cont01 .flex01 .right.show p { width: 92vw; }
  .top_index main #cont01 .flex01 .right p img { border-radius: 1.6vw; width: 92vw; }
  .top_index main #cont01 .img { margin: 0 0 12.13333vw 0; }
  .top_index main #cont01 .img p { width: 92vw; }
  .top_index main #cont01 .flex02 { display: block; }
  .top_index main #cont01 .flex02 .right { width: 100%; padding: 0; }
  .top_index main #cont01 .flex02 .right .bg { top: -9.2vw; bottom: auto; right: -5.73333vw; }
  .top_index main #cont01 .flex02 .right .bg p { font-size: 45.86667vw; }
  .top_index main #cont01 .flex02 .right .bg strong { font-size: 22.13333vw; margin: 0 5.2vw -3.6vw 0; }
  .top_index main #cont01 .flex02 .right .text { width: 92vw; padding: 0; margin: 0 auto 4.8vw auto; }
  .top_index main #cont01 .flex02 .right .text h2 { text-align: center; font-size: 11.2vw; line-height: 1.2381; margin: 0 0 3.73333vw 0; }
  .top_index main #cont01 .flex02 .right .text h2 em { text-align: center; font-size: 5.6vw; margin: 0 0 1.6vw 0; }
  .top_index main #cont01 .flex02 .right .text p { font-size: 3.2vw; line-height: 2; }
  .top_index main #cont01 .flex02 .left { width: 92vw; padding: 0; margin: 0 auto; }
  .top_index main #cont01 .flex02 .left.show p { width: 92vw; }
  .top_index main #cont01 .flex02 .left p img { border-radius: 1.6vw; width: 92vw; } }

.top_index main #cont02 { position: relative; top: 0; left: 0; }

.top_index main #cont02::before { content: ''; display: block; position: absolute; top: 0; left: 0; background: url(../images/cont02_img01.jpg) center center no-repeat; background-size: cover; width: 100%; height: 100%; }

.top_index main #cont02::after { content: ''; display: block; position: absolute; top: 0; right: 0; background: #FFFFFF; width: 100%; height: 100%; -webkit-transition: width 0.8s; -moz-transition: width 0.8s; -ms-transition: width 0.8s; -o-transition: width 0.8s; transition: width 0.8s; transition-delay: 0s; }

.top_index main #cont02.show:after { width: 0; }

.top_index main #cont02 .bg { position: relative; top: 0; left: 0; z-index: 1; padding: 126px 0 103px 0; }

.top_index main #cont02 .bg::before, .top_index main #cont02 .bg::after { content: ''; display: block; position: absolute; left: 0; width: 100%; height: 170px; }

.top_index main #cont02 .bg:before { top: 0; /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&1+0,0+100 */ background: -moz-linear-gradient(top, white 0%, rgba(255, 255, 255, 0) 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, white 0%, rgba(255, 255, 255, 0) 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#00ffffff',GradientType=0 ); /* IE6-9 */ }

.top_index main #cont02 .bg:after { bottom: 0; /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0+0,1+99 */ background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 99%, white 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 99%, white 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 99%, white 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */ }

.top_index main #cont02 div { position: relative; top: 0; left: 0; z-index: 10; }

.top_index main #cont02 h3 { width: 286px; margin: 0 auto 40px auto; }

.top_index main #cont02 strong { display: block; text-align: center; font-size: 20px; line-height: 1.5; font-weight: bold; margin: 0 0 11px 0; }

.top_index main #cont02 p { text-align: center; font-size: 14px; line-height: 2; }

@media screen and (max-width: 1000px) { .top_index main #cont02::before { background: url(../images/cont02_bg_sp.jpg) center center no-repeat; background-size: cover; }
  .top_index main #cont02 .bg { padding: 13.33333vw 0 12.26667vw 0; }
  .top_index main #cont02 .bg::before, .top_index main #cont02 .bg::after { height: 21.33333vw; }
  .top_index main #cont02 h3 { width: 38.13333vw; margin: 0 auto 5.2vw auto; }
  .top_index main #cont02 strong { font-size: 4vw; margin: 0 0 0.8vw 0; }
  .top_index main #cont02 strong br { display: none; }
  .top_index main #cont02 p { font-size: 3.2vw; } }

.top_index main #cont03 { position: relative; top: 0; left: 0; margin: 22px 0 136px 0; }

.top_index main #cont03 .title { margin: 0 0 25px 0; }

.top_index main #cont03 .title h2 { font-size: 72px; font-weight: bold; text-align: center; line-height: 1; vertical-align: baseline; margin: 0 0 3px 0; }

.top_index main #cont03 .title h2 em { font-size: 33px; font-weight: bold; }

.top_index main #cont03 .title strong { display: block; text-align: center; font-weight: bold; color: #05854b; font-size: 28px; }

.top_index main #cont03 #tab_nav { margin: 0 0 43px 0; }

.top_index main #cont03 #tab_nav ul { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; border-radius: 6px; width: 1080px; margin: 0 auto; }

.top_index main #cont03 #tab_nav ul li { width: 268px; margin: 0 1px; }

.top_index main #cont03 #tab_nav ul li:first-child a { border-radius: 6px 0 0 6px; }

.top_index main #cont03 #tab_nav ul li:last-child a { border-radius: 0 6px 6px 0; }

.top_index main #cont03 #tab_nav ul li a { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; background: #1a1a1a; color: #FFFFFF; font-size: 14px; width: 268px; height: 56px; }

.top_index main #cont03 #tab_nav ul li a:hover, .top_index main #cont03 #tab_nav ul li a.on { background: #05854b; opacity: 1; }

.top_index main #cont03 #tab_nav ul li a:hover:after, .top_index main #cont03 #tab_nav ul li a.on:after { display: block; position: absolute; bottom: 0; content: ''; width: 0; height: 0; border-style: solid; border-width: 0 5.5px 5px 5.5px; border-color: transparent transparent #ffffff transparent; }

.top_index main #cont03 #tab_area { width: 1080px; margin: 0 auto; }

.top_index main #cont03 #tab_area .tab_box { display: none; }

.top_index main #cont03 #tab_area .tab_box.on { display: inherit; }

.top_index main #cont03 #tab_area .tab_box#tab02 div, .top_index main #cont03 #tab_area .tab_box#tab03 div, .top_index main #cont03 #tab_area .tab_box#tab04 div { border-top: 2px solid #1a1a1a; border-bottom: 2px solid #1a1a1a; }

.top_index main #cont03 #tab_area .tab_box#tab02 div dl, .top_index main #cont03 #tab_area .tab_box#tab03 div dl, .top_index main #cont03 #tab_area .tab_box#tab04 div dl { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; border-bottom: 1px dashed #1a1a1a; padding: 43px 0 32px 0; }

.top_index main #cont03 #tab_area .tab_box#tab02 div dl:last-child, .top_index main #cont03 #tab_area .tab_box#tab03 div dl:last-child, .top_index main #cont03 #tab_area .tab_box#tab04 div dl:last-child { border-bottom: none; }

.top_index main #cont03 #tab_area .tab_box#tab02 div dl dd, .top_index main #cont03 #tab_area .tab_box#tab03 div dl dd, .top_index main #cont03 #tab_area .tab_box#tab04 div dl dd { width: 249px; }

.top_index main #cont03 #tab_area .tab_box#tab02 div dl dd p, .top_index main #cont03 #tab_area .tab_box#tab03 div dl dd p, .top_index main #cont03 #tab_area .tab_box#tab04 div dl dd p { display: -webkit-flex; display: -ms-flex; display: flex; align-items: baseline; font-size: 15px; line-height: 1; font-weight: bold; margin: 14px 0 5px 0; }

.top_index main #cont03 #tab_area .tab_box#tab02 div dl dd p strong, .top_index main #cont03 #tab_area .tab_box#tab03 div dl dd p strong, .top_index main #cont03 #tab_area .tab_box#tab04 div dl dd p strong { font-size: 32px; font-weight: bold; color: #05854b; }

.top_index main #cont03 #tab_area .tab_box#tab02 div dl dd p em, .top_index main #cont03 #tab_area .tab_box#tab03 div dl dd p em, .top_index main #cont03 #tab_area .tab_box#tab04 div dl dd p em { font-weight: bold; color: #05854b; margin: 0 15px 0 5px; }

.top_index main #cont03 #tab_area .tab_box#tab02 div dl dd span, .top_index main #cont03 #tab_area .tab_box#tab03 div dl dd span, .top_index main #cont03 #tab_area .tab_box#tab04 div dl dd span { display: block; font-size: 14px; line-height: 2; }

.top_index main #cont03 #tab_area .tab_box#tab01 div { border-top: 2px solid #1a1a1a; border-bottom: 2px solid #1a1a1a; }

.top_index main #cont03 #tab_area .tab_box#tab01 div dl { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; border-bottom: 1px solid #cccccc; }

.top_index main #cont03 #tab_area .tab_box#tab01 div dl dt { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; font-weight: bold; color: #05854b; font-size: 15px; width: 128px; }

.top_index main #cont03 #tab_area .tab_box#tab01 div dl dt em { display: block; font-size: 27px; font-weight: bold; margin: 0 4px 0 0; }

.top_index main #cont03 #tab_area .tab_box#tab01 div dl dd { border-left: 1px solid #cccccc; box-sizing: border-box; width: 952px; }

.top_index main #cont03 #tab_area .tab_box#tab01 div dl dd table tr.bg td { background: rgba(5, 133, 75, 0.12); }

.top_index main #cont03 #tab_area .tab_box#tab01 div dl dd table tr:last-child th, .top_index main #cont03 #tab_area .tab_box#tab01 div dl dd table tr:last-child td { border-bottom: none; }

.top_index main #cont03 #tab_area .tab_box#tab01 div dl dd table tr th { border-right: 1px solid #cccccc; border-bottom: 1px solid #cccccc; font-size: 13px; font-weight: bold; text-align: right; width: 67px; padding: 19px 13px 13px 0; box-sizing: border-box; }

.top_index main #cont03 #tab_area .tab_box#tab01 div dl dd table tr td { border-bottom: 1px solid #cccccc; font-size: 13px; width: 884px; padding: 19px 16px 13px 15px; }

.top_index main #cont03 #tab_area .tab_box#tab01 div dl dd table tr td a { color: #05854b; text-decoration: underline; }

.top_index main #cont03 #tab_area .tab_box#tab01 div dl dd table tr td a:hover { text-decoration: none; }

.top_index main #cont03 #tab_area .tab_box .link { width: 260px; margin: 40px auto 0 auto; }

.top_index main #cont03 #tab_area .tab_box .link a { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; border-radius: 6px; border: solid #05854b 2px; color: #05854b; font-size: 20px; font-weight: bold; width: 260px; height: 66px; box-sizing: border-box; }

.top_index main #cont03 #tab_area .tab_box .link a img { width: 14px; margin: 0 0 0 8px; }

.top_index main #cont03 #tab_area .tab_box .link a::after { content: ''; display: block; position: absolute; top: 40%; right: -44px; background: url(../images/icon01.svg) center center no-repeat; background-size: contain; width: 80px; height: 6px; }

.top_index main #cont03 #tab_area .tab_box .link a span { position: absolute; top: -2px; left: -2px; width: 0; height: 66px; overflow: hidden; -webkit-transition: width 0.8s; -moz-transition: width 0.8s; -ms-transition: width 0.8s; -o-transition: width 0.8s; transition: width 0.8s; transition-delay: 0s; }

.top_index main #cont03 #tab_area .tab_box .link a span em { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; border-radius: 6px; border: solid #05854b 2px; background: #05854b; font-weight: bold; color: #FFFFFF; width: 260px; height: 66px; box-sizing: border-box; }

.top_index main #cont03 #tab_area .tab_box .link a span em::after { content: ''; display: block; position: absolute; top: 40%; right: -44px; background: url(../images/icon01_on.svg) center center no-repeat; background-size: contain; width: 80px; height: 6px; z-index: 10; }

.top_index main #cont03 #tab_area .tab_box .link a:hover { opacity: 1; }

.top_index main #cont03 #tab_area .tab_box .link a:hover span { width: 260px; }

@media screen and (max-width: 1000px) { .top_index main #cont03 { margin: 9.06667vw 0 20.53333vw 0; }
  .top_index main #cont03 .title { margin: 0 0 3.46667vw 0; }
  .top_index main #cont03 .title h2 { font-size: 11.2vw; margin: 0 0 1.33333vw 0; }
  .top_index main #cont03 .title h2 em { font-size: 4.4vw; }
  .top_index main #cont03 .title h2 span { font-size: 9.6vw; }
  .top_index main #cont03 .title strong { font-size: 4.26667vw; }
  .top_index main #cont03 #tab_nav { margin: 0 0 8.13333vw 0; }
  .top_index main #cont03 #tab_nav select { display: block; background: #05854b url(../images/icon08.svg) right 5.33333vw center no-repeat; background-size: 2.66667vw auto; border-radius: 1.6vw; border: none; color: #FFFFFF; text-align: center; font-size: 3.73333vw; width: 92vw; height: 12vw; margin: 0 auto; appearance: none; padding: 0 3.73333vw; box-sizing: border-box; }
  .top_index main #cont03 #tab_nav ul { border-radius: 0.8vw; width: 144vw; }
  .top_index main #cont03 #tab_nav ul li { width: 35.73333vw; margin: 0 0.13333vw; }
  .top_index main #cont03 #tab_nav ul li:first-child a { border-radius: 0.8vw 0 0 0.8vw; }
  .top_index main #cont03 #tab_nav ul li:last-child a { border-radius: 0 0.8vw 0.8vw 0; }
  .top_index main #cont03 #tab_nav ul li a { font-size: 1.86667vw; width: 35.73333vw; height: 7.46667vw; }
  .top_index main #cont03 #tab_nav ul li a:hover.after, .top_index main #cont03 #tab_nav ul li a.active.after { border-width: 0 5.5px 5px 5.5px; }
  .top_index main #cont03 #tab_area { width: 92vw; }
  .top_index main #cont03 #tab_area .tab_box#tab02 div dl, .top_index main #cont03 #tab_area .tab_box#tab03 div dl, .top_index main #cont03 #tab_area .tab_box#tab04 div dl { flex-wrap: wrap; border-bottom: none; padding: 0; }
  .top_index main #cont03 #tab_area .tab_box#tab02 div dl:last-child, .top_index main #cont03 #tab_area .tab_box#tab03 div dl:last-child, .top_index main #cont03 #tab_area .tab_box#tab04 div dl:last-child { border-bottom: none; }
  .top_index main #cont03 #tab_area .tab_box#tab02 div dl dd, .top_index main #cont03 #tab_area .tab_box#tab03 div dl dd, .top_index main #cont03 #tab_area .tab_box#tab04 div dl dd { border-bottom: 1px dashed #1a1a1a; width: 42.93333vw; padding: 5.73333vw 0 4.66667vw 0; }
  .top_index main #cont03 #tab_area .tab_box#tab02 div dl dd.none, .top_index main #cont03 #tab_area .tab_box#tab03 div dl dd.none, .top_index main #cont03 #tab_area .tab_box#tab04 div dl dd.none { border-bottom: none; }
  .top_index main #cont03 #tab_area .tab_box#tab02 div dl dd p, .top_index main #cont03 #tab_area .tab_box#tab03 div dl dd p, .top_index main #cont03 #tab_area .tab_box#tab04 div dl dd p { font-size: 3.2vw; margin: 2.13333vw 0 1.46667vw 0; }
  .top_index main #cont03 #tab_area .tab_box#tab02 div dl dd p strong, .top_index main #cont03 #tab_area .tab_box#tab03 div dl dd p strong, .top_index main #cont03 #tab_area .tab_box#tab04 div dl dd p strong { font-size: 5.33333vw; }
  .top_index main #cont03 #tab_area .tab_box#tab02 div dl dd p em, .top_index main #cont03 #tab_area .tab_box#tab03 div dl dd p em, .top_index main #cont03 #tab_area .tab_box#tab04 div dl dd p em { margin: 0 3.33333vw 0 0.93333vw; }
  .top_index main #cont03 #tab_area .tab_box#tab02 div dl dd span, .top_index main #cont03 #tab_area .tab_box#tab03 div dl dd span, .top_index main #cont03 #tab_area .tab_box#tab04 div dl dd span { font-size: 3.2vw; line-height: 1.66667; }
  .top_index main #cont03 #tab_area .tab_box#tab01 div dl dt { display: block; font-size: 3.2vw; text-align: center; width: 13.33333vw; }
  .top_index main #cont03 #tab_area .tab_box#tab01 div dl dt em { display: block; font-size: 4.8vw; margin: 0; }
  .top_index main #cont03 #tab_area .tab_box#tab01 div dl dd { width: 78.66667vw; }
  .top_index main #cont03 #tab_area .tab_box#tab01 div dl dd table tr th { font-size: 3.2vw; text-align: center; width: 12vw; padding: 2vw 2.13333vw 2vw 2.13333vw; }
  .top_index main #cont03 #tab_area .tab_box#tab01 div dl dd table tr td { font-size: 3.2vw; width: 66.66667vw; padding: 2vw 3.33333vw 2vw 3.2vw; }
  .top_index main #cont03 #tab_area .tab_box .link { width: 50.66667vw; margin: 8.4vw auto 0 auto; }
  .top_index main #cont03 #tab_area .tab_box .link a { border-radius: 1.06667vw; font-size: 4vw; width: 50.66667vw; height: 13.33333vw; }
  .top_index main #cont03 #tab_area .tab_box .link a::after { right: -8.26667vw; background: url(../images/icon01.svg) center center no-repeat; background-size: cover; width: 16.13333vw; height: 1.33333vw; }
  .top_index main #cont03 #tab_area .tab_box .link a span { height: 13.33333vw; }
  .top_index main #cont03 #tab_area .tab_box .link a span em { border-radius: 1.06667vw; width: 50.66667vw; height: 13.33333vw; }
  .top_index main #cont03 #tab_area .tab_box .link a span em::after { right: -8.26667vw; background: url(../images/icon01_on.svg) center center no-repeat; width: 16.13333vw; height: 1.33333vw; }
  .top_index main #cont03 #tab_area .tab_box .link a:hover { opacity: 1; }
  .top_index main #cont03 #tab_area .tab_box .link a:hover span { width: 50.66667vw; } }

.top_index main #cont04 { position: relative; top: 0; left: 0; margin: 0 0 117px 0; padding: 113px 0 79px 0; }

.top_index main #cont04::before { content: ''; display: block; position: absolute; top: 0; left: 0; background: #1a1a1a url(../images/cont04_bg.jpg) center center no-repeat; background-size: cover; width: 100%; height: 100%; }

.top_index main #cont04::after { content: ''; display: block; position: absolute; top: 0; right: 0; background: #FFFFFF; width: 100%; height: 100%; -webkit-transition: width 0.8s; -moz-transition: width 0.8s; -ms-transition: width 0.8s; -o-transition: width 0.8s; transition: width 0.8s; transition-delay: 0s; }

.top_index main #cont04.show:after { width: 0; }

.top_index main #cont04 .bg_box { position: relative; top: 0; left: 0; z-index: 1; }

.top_index main #cont04 .title { position: absolute; top: -48px; left: 0; width: 100%; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; }

.top_index main #cont04 .title h3 { position: relative; top: 0; left: 0; font-size: 130px; color: #05854b; font-weight: bold; line-height: 1; margin: 0 70px 70px; }

.top_index main #cont04 .title h3 span { display: block; position: absolute; bottom: -24px; right: -51px; width: 98px; }

.top_index main #cont04 .slick-arrow { opacity: 0; }

.top_index main #cont04 #slide01 { margin: 0 0 69px 0; }

.top_index main #cont04 #slide01 .flex { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; margin: 0 0 38px 0; }

.top_index main #cont04 #slide01 .flex .text { width: 46.875vw; padding: 0 0 0 102px; box-sizing: border-box; }

.top_index main #cont04 #slide01 .flex .text .box h4 { font-size: 70px; color: #FFFFFF; margin: 0; }

.top_index main #cont04 #slide01 .flex .text .box strong { position: relative; top: 0; left: 0; display: block; font-weight: bold; font-size: 26px; color: #05854b; margin: 0 0 32px 0; }

.top_index main #cont04 #slide01 .flex .text .box strong::before { content: ''; display: block; position: absolute; top: 40%; left: -92px; background: #05854b; width: 60px; height: 2px; }

.top_index main #cont04 #slide01 .flex .text .box p { color: #FFFFFF; font-size: 15px; line-height: 2; }

.top_index main #cont04 #slide01 .flex .text .slide_num { position: absolute; bottom: 4px; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; align-items: flex-end; width: 46.875vw; box-sizing: border-box; padding: 0 40px 0 102px; }

.top_index main #cont04 #slide01 .flex .text .slide_num .left { width: 220px; }

.top_index main #cont04 #slide01 .flex .text .slide_num .left p { font-size: 14px; color: #FFFFFF; margin: 0 0 8px 0; }

.top_index main #cont04 #slide01 .flex .text .slide_num .left p em { font-size: 14px; font-weight: bold; }

.top_index main #cont04 #slide01 .flex .text .slide_num .left p strong { font-size: 14px; font-weight: bold; }

.top_index main #cont04 #slide01 .flex .text .slide_num .left div { position: relative; top: 0; left: 0; display: block; background: #808080; width: 100%; height: 3px; }

.top_index main #cont04 #slide01 .flex .text .slide_num .left div span { display: block; content: ''; position: absolute; top: 0; left: 0; background: #FFFFFF; width: 0; height: 3px; }

.top_index main #cont04 #slide01 .flex .text .slide_num .right { display: -webkit-flex; display: -ms-flex; display: flex; border: 2px solid #FFFFFF; border-radius: 6px; width: 98px; height: 50px; box-sizing: border-box; }

.top_index main #cont04 #slide01 .flex .text .slide_num .right p a { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; width: 48px; height: 100%; }

.top_index main #cont04 #slide01 .flex .text .slide_num .right p a img { width: 6px; }

.top_index main #cont04 #slide01 .flex .text .slide_num .right p:first-child { border-right: 2px solid #FFFFFF; }

.top_index main #cont04 #slide01 .flex .slidebox { width: 53.125vw; padding: 17px 0 0 0; }

.top_index main #cont04 #slide01 .flex .slidebox li img { border-radius: 6px 0 0 6px; }

.top_index main #cont04 #slide01 ol li { padding: 0 5px; box-sizing: border-box; }

.top_index main #cont04 #slide02 .flex { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; margin: 0 0 38px 0; }

.top_index main #cont04 #slide02 .flex .text { width: 46.875vw; order: 1; padding: 0 96px 0 0; box-sizing: border-box; }

.top_index main #cont04 #slide02 .flex .text .box h4 { font-size: 70px; color: #FFFFFF; text-align: right; margin: 0; }

.top_index main #cont04 #slide02 .flex .text .box strong { position: relative; top: 0; left: 0; display: block; font-weight: bold; text-align: right; font-size: 26px; color: #05854b; margin: 0 0 32px 0; }

.top_index main #cont04 #slide02 .flex .text .box strong::before { content: ''; display: block; position: absolute; top: 40%; right: -96px; background: #05854b; width: 60px; height: 2px; }

.top_index main #cont04 #slide02 .flex .text .box p { color: #FFFFFF; text-align: right; font-size: 15px; line-height: 2; }

.top_index main #cont04 #slide02 .flex .text .slide_num { position: absolute; bottom: 5px; right: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; align-items: flex-end; box-sizing: border-box; padding: 0 96px 0 42px; width: 46.875vw; }

.top_index main #cont04 #slide02 .flex .text .slide_num .left { width: 220px; order: 1; }

.top_index main #cont04 #slide02 .flex .text .slide_num .left p { text-align: right; color: #FFFFFF; font-size: 14px; margin: 0 0 9px 0; }

.top_index main #cont04 #slide02 .flex .text .slide_num .left p em { font-size: 14px; font-weight: bold; }

.top_index main #cont04 #slide02 .flex .text .slide_num .left p strong { font-size: 14px; font-weight: bold; }

.top_index main #cont04 #slide02 .flex .text .slide_num .left div { position: relative; top: 0; left: 0; display: block; background: #808080; width: 100%; height: 3px; }

.top_index main #cont04 #slide02 .flex .text .slide_num .left div span { display: block; content: ''; position: absolute; top: 0; left: 0; background: #FFFFFF; width: 0; height: 3px; }

.top_index main #cont04 #slide02 .flex .text .slide_num .right { display: -webkit-flex; display: -ms-flex; display: flex; border: 2px solid #FFFFFF; border-radius: 6px; width: 98px; height: 50px; box-sizing: border-box; }

.top_index main #cont04 #slide02 .flex .text .slide_num .right p a { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; width: 48px; height: 100%; }

.top_index main #cont04 #slide02 .flex .text .slide_num .right p a img { width: 6px; }

.top_index main #cont04 #slide02 .flex .text .slide_num .right p:first-child { border-right: 2px solid #FFFFFF; }

.top_index main #cont04 #slide02 .flex .slidebox { width: 53.125vw; padding: 24px 0 0 0; }

.top_index main #cont04 #slide02 ol li { padding: 0 5px; box-sizing: border-box; }

@media screen and (max-width: 1000px) { .top_index main #cont04 { margin: 0 0 18.53333vw 0; padding: 16.13333vw 0 30.13333vw 0; }
  .top_index main #cont04 .title { top: -6.53333vw; }
  .top_index main #cont04 .title h3 { font-size: 17.33333vw; }
  .top_index main #cont04 .title h3 span { bottom: -3.86667vw; right: -6.8vw; width: 13.06667vw; }
  .top_index main #cont04 #slide01 { margin: 0 0 26.4vw 0; }
  .top_index main #cont04 #slide01 .flex { display: block; margin: 0 0 4vw 0; }
  .top_index main #cont04 #slide01 .flex .text { width: 92vw; padding: 0 0 5.06667vw 0; margin: 0 auto; }
  .top_index main #cont04 #slide01 .flex .text .box h4 { text-align: center; font-size: 9.33333vw; }
  .top_index main #cont04 #slide01 .flex .text .box strong { text-align: center; font-size: 3.73333vw; margin: -0.66667vw 0 1.73333vw 0; }
  .top_index main #cont04 #slide01 .flex .text .box strong::before { display: none; }
  .top_index main #cont04 #slide01 .flex .text .box p { text-align: center; font-size: 3.2vw; line-height: 1.66667; }
  .top_index main #cont04 #slide01 .flex .text .box p br { display: none; }
  .top_index main #cont04 #slide01 .flex .text .slide_num { bottom: -31.86667vw; display: block; width: 100%; padding: 0; }
  .top_index main #cont04 #slide01 .flex .text .slide_num .left { position: absolute; bottom: 1.86667vw; left: 0; width: 100%; }
  .top_index main #cont04 #slide01 .flex .text .slide_num .left p { text-align: center; font-size: 2.93333vw; margin: 0 0 1.86667vw 0; }
  .top_index main #cont04 #slide01 .flex .text .slide_num .left p em { font-size: 2.93333vw; }
  .top_index main #cont04 #slide01 .flex .text .slide_num .left p strong { font-size: 2.93333vw; }
  .top_index main #cont04 #slide01 .flex .text .slide_num .left div { width: 44vw; height: 4px; margin: 0 auto; }
  .top_index main #cont04 #slide01 .flex .text .slide_num .left div span { width: 0; height: 4px; }
  .top_index main #cont04 #slide01 .flex .text .slide_num .right { position: relative; top: 0; left: 0; border-radius: 0; border: none; justify-content: space-between; width: 92vw; height: 10.66667vw; margin: 0 auto; }
  .top_index main #cont04 #slide01 .flex .text .slide_num .right p { border: none !important; }
  .top_index main #cont04 #slide01 .flex .text .slide_num .right p a { border-radius: 1.06667vw; border: solid #FFFFFF 0.53333vw; width: 10.66667vw; height: 10.66667vw; box-sizing: border-box; }
  .top_index main #cont04 #slide01 .flex .text .slide_num .right p a img { width: 1.33333vw; }
  .top_index main #cont04 #slide01 .flex .slidebox { width: 100%; padding: 0; }
  .top_index main #cont04 #slide01 .flex .slidebox li img { border-radius: 0; }
  .top_index main #cont04 #slide01 ol { width: 92vw; margin: 0 auto; }
  .top_index main #cont04 #slide01 ol li { padding: 0 0.93333vw; }
  .top_index main #cont04 #slide02 .flex { display: block; margin: 0 0 4vw 0; }
  .top_index main #cont04 #slide02 .flex .text { width: 92vw; padding: 0 0 4.93333vw 0; margin: 0 auto; }
  .top_index main #cont04 #slide02 .flex .text .box h4 { text-align: center; font-size: 9.33333vw; }
  .top_index main #cont04 #slide02 .flex .text .box strong { text-align: center; font-size: 3.46667vw; margin: -0.26667vw 0 2.13333vw 0; }
  .top_index main #cont04 #slide02 .flex .text .box strong::before { display: none; }
  .top_index main #cont04 #slide02 .flex .text .box p { text-align: center; font-size: 3.2vw; line-height: 1.66667; }
  .top_index main #cont04 #slide02 .flex .text .box p br { display: none; }
  .top_index main #cont04 #slide02 .flex .text .slide_num { bottom: -34.13333vw; display: block; width: 100%; padding: 0; }
  .top_index main #cont04 #slide02 .flex .text .slide_num .left { position: absolute; bottom: 1.86667vw; left: 0; width: 100%; }
  .top_index main #cont04 #slide02 .flex .text .slide_num .left p { text-align: center; font-size: 2.93333vw; margin: 0 0 1.86667vw 0; }
  .top_index main #cont04 #slide02 .flex .text .slide_num .left p em { font-size: 2.93333vw; }
  .top_index main #cont04 #slide02 .flex .text .slide_num .left p strong { font-size: 2.93333vw; }
  .top_index main #cont04 #slide02 .flex .text .slide_num .left div { width: 44vw; height: 4px; margin: 0 auto; }
  .top_index main #cont04 #slide02 .flex .text .slide_num .left div span { width: 0; height: 4px; }
  .top_index main #cont04 #slide02 .flex .text .slide_num .right { position: relative; top: 0; left: 0; border-radius: 0; border: none; justify-content: space-between; width: 92vw; height: 10.66667vw; margin: 0 auto; }
  .top_index main #cont04 #slide02 .flex .text .slide_num .right p { border: none !important; }
  .top_index main #cont04 #slide02 .flex .text .slide_num .right p a { border-radius: 1.06667vw; border: solid #FFFFFF 0.53333vw; width: 10.66667vw; height: 10.66667vw; box-sizing: border-box; }
  .top_index main #cont04 #slide02 .flex .text .slide_num .right p a img { width: 1.33333vw; }
  .top_index main #cont04 #slide02 .flex .slidebox { width: 100%; padding: 0; }
  .top_index main #cont04 #slide02 ol { width: 92vw; margin: 0 auto; }
  .top_index main #cont04 #slide02 ol li { padding: 0 0.93333vw; } }

.top_index main #cont05 { position: relative; top: 0; left: 0; padding: 105px 0 84px 0; margin: 0 0 150px 0; }

.top_index main #cont05::before { content: ''; display: block; position: absolute; top: 0; left: 0; background: url(../images/cont05_bg.jpg) center center no-repeat; background-size: cover; width: 100%; height: 100%; }

.top_index main #cont05::after { content: ''; display: block; position: absolute; top: 0; right: 0; background: #FFFFFF; width: 100%; height: 100%; -webkit-transition: width 0.8s; -moz-transition: width 0.8s; -ms-transition: width 0.8s; -o-transition: width 0.8s; transition: width 0.8s; transition-delay: 0s; }

.top_index main #cont05.show:after { width: 0; }

.top_index main #cont05 .bg_box { position: relative; top: 0; left: 0; z-index: 1; }

.top_index main #cont05 .title { position: absolute; top: -49px; left: 0; width: 100%; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; }

.top_index main #cont05 .title h3 { position: relative; top: 0; left: 0; font-size: 130px; color: #05854b; font-weight: bold; line-height: 1; margin: 0 70px 70px; }

.top_index main #cont05 .title h3 span { display: block; position: absolute; bottom: -19px; right: -45px; width: 98px; }

.top_index main #cont05 .slick-arrow { opacity: 0; }

.top_index main #cont05 #slide03 { margin: 0 0 66px 0; }

.top_index main #cont05 #slide03 .flex { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; margin: 0 0 40px 0; }

.top_index main #cont05 #slide03 .flex .text { width: 46.875vw; padding: 0 0 0 100px; box-sizing: border-box; }

.top_index main #cont05 #slide03 .flex .text .box h4 { font-size: 70px; margin: 0; }

.top_index main #cont05 #slide03 .flex .text .box strong { position: relative; top: 0; left: 0; display: block; font-weight: bold; font-size: 26px; color: #05854b; margin: 0 0 33px 0; }

.top_index main #cont05 #slide03 .flex .text .box strong::before { content: ''; display: block; position: absolute; top: 40%; left: -100px; background: #05854b; width: 60px; height: 2px; }

.top_index main #cont05 #slide03 .flex .text .box p { font-size: 15px; line-height: 2; }

.top_index main #cont05 #slide03 .flex .text .slide_num { position: absolute; bottom: 3px; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; align-items: flex-end; width: 46.875vw; box-sizing: border-box; padding: 0 38px 0 100px; }

.top_index main #cont05 #slide03 .flex .text .slide_num .left { width: 220px; }

.top_index main #cont05 #slide03 .flex .text .slide_num .left p { font-size: 14px; margin: 0 0 9px 0; }

.top_index main #cont05 #slide03 .flex .text .slide_num .left p em { font-size: 14px; font-weight: bold; }

.top_index main #cont05 #slide03 .flex .text .slide_num .left p strong { font-size: 14px; font-weight: bold; }

.top_index main #cont05 #slide03 .flex .text .slide_num .left div { position: relative; top: 0; left: 0; display: block; background: #CCCCCC; width: 100%; height: 3px; }

.top_index main #cont05 #slide03 .flex .text .slide_num .left div span { display: block; content: ''; position: absolute; top: 0; left: 0; background: #1a1a1a; width: 0; height: 3px; }

.top_index main #cont05 #slide03 .flex .text .slide_num .right { display: -webkit-flex; display: -ms-flex; display: flex; border: 2px solid #1a1a1a; border-radius: 6px; width: 98px; height: 50px; box-sizing: border-box; }

.top_index main #cont05 #slide03 .flex .text .slide_num .right p a { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; width: 48px; height: 100%; }

.top_index main #cont05 #slide03 .flex .text .slide_num .right p a img { width: 6px; }

.top_index main #cont05 #slide03 .flex .text .slide_num .right p:first-child { border-right: 2px solid #1a1a1a; }

.top_index main #cont05 #slide03 .flex .slidebox { width: 53.125vw; padding: 25px 0 0 0; }

.top_index main #cont05 #slide03 ol li { padding: 0 5px; box-sizing: border-box; }

.top_index main #cont05 #slide04 .flex { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; margin: 0 0 40px 0; }

.top_index main #cont05 #slide04 .flex .text { width: 46.875vw; order: 1; padding: 0 96px 0 0; box-sizing: border-box; }

.top_index main #cont05 #slide04 .flex .text .box h4 { font-size: 70px; text-align: right; margin: 0; }

.top_index main #cont05 #slide04 .flex .text .box strong { position: relative; top: 0; left: 0; display: block; font-weight: bold; text-align: right; font-size: 26px; color: #05854b; margin: 0 0 31px 0; }

.top_index main #cont05 #slide04 .flex .text .box strong::before { content: ''; display: block; position: absolute; top: 40%; right: -96px; background: #05854b; width: 60px; height: 2px; }

.top_index main #cont05 #slide04 .flex .text .box p { text-align: right; font-size: 15px; line-height: 2; }

.top_index main #cont05 #slide04 .flex .text .slide_num { position: absolute; bottom: 4px; right: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; align-items: flex-end; width: 46.875vw; box-sizing: border-box; padding: 0 96px 0 47px; }

.top_index main #cont05 #slide04 .flex .text .slide_num .left { width: 220px; order: 1; }

.top_index main #cont05 #slide04 .flex .text .slide_num .left p { text-align: right; font-size: 14px; margin: 0 0 12px 0; }

.top_index main #cont05 #slide04 .flex .text .slide_num .left p em { font-size: 14px; font-weight: bold; }

.top_index main #cont05 #slide04 .flex .text .slide_num .left p strong { font-size: 14px; font-weight: bold; }

.top_index main #cont05 #slide04 .flex .text .slide_num .left div { position: relative; top: 0; left: 0; display: block; background: #CCCCCC; width: 100%; height: 3px; }

.top_index main #cont05 #slide04 .flex .text .slide_num .left div span { display: block; content: ''; position: absolute; top: 0; left: 0; background: #1a1a1a; width: 0; height: 3px; }

.top_index main #cont05 #slide04 .flex .text .slide_num .right { display: -webkit-flex; display: -ms-flex; display: flex; border: 2px solid #1a1a1a; border-radius: 6px; width: 98px; height: 50px; box-sizing: border-box; }

.top_index main #cont05 #slide04 .flex .text .slide_num .right p a { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; width: 48px; height: 100%; }

.top_index main #cont05 #slide04 .flex .text .slide_num .right p a img { width: 6px; }

.top_index main #cont05 #slide04 .flex .text .slide_num .right p:first-child { border-right: 2px solid #1a1a1a; }

.top_index main #cont05 #slide04 .flex .slidebox { width: 53.125vw; padding: 23px 0 0 0; }

.top_index main #cont05 #slide04 ol li { padding: 0 5px; box-sizing: border-box; }

@media screen and (max-width: 1000px) { .top_index main #cont05 { padding: 17.2vw 0 31.2vw 0; margin: 0 0 20vw 0; }
  .top_index main #cont05 .title { top: -6.66667vw; }
  .top_index main #cont05 .title h3 { font-size: 17.33333vw; }
  .top_index main #cont05 .title h3 span { bottom: -2.53333vw; right: -6vw; width: 13.06667vw; }
  .top_index main #cont05 #slide03 { margin: 0 0 25.2vw 0; }
  .top_index main #cont05 #slide03 .flex { display: block; margin: 0 0 3.6vw 0; }
  .top_index main #cont05 #slide03 .flex .text { width: 92vw; padding: 0 0 5.06667vw 0; margin: 0 auto; }
  .top_index main #cont05 #slide03 .flex .text .box h4 { text-align: center; font-size: 9.33333vw; }
  .top_index main #cont05 #slide03 .flex .text .box strong { text-align: center; font-size: 3.46667vw; margin: -0.66667vw 0 2vw 0; }
  .top_index main #cont05 #slide03 .flex .text .box strong::before { display: none; }
  .top_index main #cont05 #slide03 .flex .text .box p { text-align: center; font-size: 3.2vw; line-height: 1.66667; }
  .top_index main #cont05 #slide03 .flex .text .box p br { display: none; }
  .top_index main #cont05 #slide03 .flex .text .slide_num { bottom: -33.2vw; display: block; width: 100%; padding: 0; }
  .top_index main #cont05 #slide03 .flex .text .slide_num .left { position: absolute; bottom: 2.13333vw; left: 0; width: 100%; }
  .top_index main #cont05 #slide03 .flex .text .slide_num .left p { text-align: center; font-size: 2.93333vw; margin: 0 0 1.86667vw 0; }
  .top_index main #cont05 #slide03 .flex .text .slide_num .left p em { font-size: 2.93333vw; }
  .top_index main #cont05 #slide03 .flex .text .slide_num .left p strong { font-size: 2.93333vw; }
  .top_index main #cont05 #slide03 .flex .text .slide_num .left div { width: 44vw; height: 4px; margin: 0 auto; }
  .top_index main #cont05 #slide03 .flex .text .slide_num .left div span { width: 0; height: 4px; }
  .top_index main #cont05 #slide03 .flex .text .slide_num .right { position: relative; top: 0; left: 0; border-radius: 0; border: none; justify-content: space-between; width: 92vw; height: 10.66667vw; margin: 0 auto; }
  .top_index main #cont05 #slide03 .flex .text .slide_num .right p { border: none !important; }
  .top_index main #cont05 #slide03 .flex .text .slide_num .right p a { border-radius: 1.06667vw; border: solid #1a1a1a 0.53333vw; width: 10.66667vw; height: 10.66667vw; box-sizing: border-box; }
  .top_index main #cont05 #slide03 .flex .text .slide_num .right p a img { width: 1.33333vw; }
  .top_index main #cont05 #slide03 .flex .slidebox { width: 100%; padding: 0; }
  .top_index main #cont05 #slide03 ol { width: 92vw; margin: 0 auto; }
  .top_index main #cont05 #slide03 ol li { padding: 0 0.93333vw; }
  .top_index main #cont05 #slide04 .flex { display: block; margin: 0 0 3.73333vw 0; }
  .top_index main #cont05 #slide04 .flex .text { width: 92vw; padding: 0 0 5.06667vw 0; margin: 0 auto; }
  .top_index main #cont05 #slide04 .flex .text .box h4 { text-align: center; font-size: 9.33333vw; }
  .top_index main #cont05 #slide04 .flex .text .box strong { text-align: center; font-size: 3.46667vw; margin: -0.66667vw 0 2.13333vw 0; }
  .top_index main #cont05 #slide04 .flex .text .box strong::before { display: none; }
  .top_index main #cont05 #slide04 .flex .text .box p { text-align: center; font-size: 3.2vw; line-height: 1.66667; }
  .top_index main #cont05 #slide04 .flex .text .box p br { display: none; }
  .top_index main #cont05 #slide04 .flex .text .slide_num { bottom: -32.13333vw; display: block; width: 100%; padding: 0; }
  .top_index main #cont05 #slide04 .flex .text .slide_num .left { position: absolute; bottom: 1.86667vw; left: 0; width: 100%; }
  .top_index main #cont05 #slide04 .flex .text .slide_num .left p { text-align: center; font-size: 2.93333vw; margin: 0 0 1.86667vw 0; }
  .top_index main #cont05 #slide04 .flex .text .slide_num .left p em { font-size: 2.93333vw; }
  .top_index main #cont05 #slide04 .flex .text .slide_num .left p strong { font-size: 2.93333vw; }
  .top_index main #cont05 #slide04 .flex .text .slide_num .left div { width: 44vw; height: 4px; margin: 0 auto; }
  .top_index main #cont05 #slide04 .flex .text .slide_num .left div span { width: 0; height: 4px; }
  .top_index main #cont05 #slide04 .flex .text .slide_num .right { position: relative; top: 0; left: 0; border-radius: 0; border: none; justify-content: space-between; width: 92vw; height: 10.66667vw; margin: 0 auto; }
  .top_index main #cont05 #slide04 .flex .text .slide_num .right p { border: none !important; }
  .top_index main #cont05 #slide04 .flex .text .slide_num .right p a { border-radius: 1.06667vw; border: solid #1a1a1a 0.53333vw; width: 10.66667vw; height: 10.66667vw; box-sizing: border-box; }
  .top_index main #cont05 #slide04 .flex .text .slide_num .right p a img { width: 1.33333vw; }
  .top_index main #cont05 #slide04 .flex .slidebox { width: 100%; padding: 0; }
  .top_index main #cont05 #slide04 ol { width: 92vw; margin: 0 auto; }
  .top_index main #cont05 #slide04 ol li { padding: 0 0.93333vw; } }

.top_index main #cont06 { position: relative; top: 0; left: 0; padding: 0 0 150px 0; }

.top_index main #cont06 .title { max-width: 1280px; width: 100%; margin: 0 auto; padding: 0 0 5px 89px; }

.top_index main #cont06 .title h3 { font-size: 130px; line-height: 1; font-weight: bold; }

.top_index main #cont06 .title h3 span { display: block; font-size: 20px; color: #05854b; margin: -5px 0 0 0; }

.top_index main #cont06 .int01 { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; padding: 78px 0 161px 0; max-width: 1280px; width: 100%; margin: 0 auto; }

.top_index main #cont06 .int01::before { content: ''; display: block; position: absolute; top: 0; right: 0; border-radius: 6px 0 0 6px; /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#05854b+0,04663a+100 */ background: #05854b; /* Old browsers */ background: -moz-linear-gradient(top, #05854b 0%, #04663a 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, #05854b 0%, #04663a 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, #05854b 0%, #04663a 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#05854b', endColorstr='#04663a',GradientType=0 ); /* IE6-9 */ width: 780px; height: 698px; }

.top_index main #cont06 .int01 .img { position: relative; top: 0; left: 0; width: 780px; overflow: hidden; flex-shrink: 1; }

.top_index main #cont06 .int01 .img p { width: 780px; }

.top_index main #cont06 .int01 .img p:before { background: #fff; content: ''; pointer-events: none; position: absolute; right: 0; top: 0; z-index: 1; -webkit-transition: width 1.0s; -moz-transition: width 1.0s; -ms-transition: width 1.0s; -o-transition: width 1.0s; transition: width 1.0s; width: 100%; height: 100%; }

.top_index main #cont06 .int01 .img p.show:before { width: 0; }

.top_index main #cont06 .int01 .img p img { border-radius: 6px; }

.top_index main #cont06 .int01 .text { width: 500px; flex-shrink: 1; padding: 31px 0 0 39px; box-sizing: border-box; }

.top_index main #cont06 .int01 .text .box { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; flex-direction: column; color: #FFFFFF; width: 100%; height: 100%; padding: 0 100px 0 0; box-sizing: border-box; }

.top_index main #cont06 .int01 .text .box .name { position: relative; top: 0; left: 0; margin: 0 0 58px 0; }

.top_index main #cont06 .int01 .text .box .name p { font-size: 14px; margin: 0; }

.top_index main #cont06 .int01 .text .box .name strong { position: relative; top: 0; left: 0; display: inline-block; font-size: 36px; font-weight: bold; }

.top_index main #cont06 .int01 .text .box .name strong span { display: block; position: absolute; top: 12px; right: -162px; width: 168px; }

.top_index main #cont06 .int01 .text .box .lead { font-size: 14px; line-height: 2.14286; }

.top_index main #cont06 .int01 .text .box h4 { position: absolute; bottom: 36px; right: 100px; overflow: hidden; }

.top_index main #cont06 .int01 .text .box h4 img { width: 743px; }

.top_index main #cont06 .int01 .text .box h4 em { display: block; position: absolute; top: 0; right: -100vw; text-align: right; -webkit-transition: right 1.0s; -moz-transition: right 1.0s; -ms-transition: right 1.0s; -o-transition: right 1.0s; transition: right 1.0s; transition-delay: 1.0s; }

.top_index main #cont06 .int01 .text .box h4.show em { right: 0; }

.top_index main #cont06 .bg { position: relative; top: 0; left: 0; }

.top_index main #cont06 .bg::before { content: ''; display: block; position: absolute; top: -15Vw; right: -100Vw; width: 100%; height: 400px; background-color: #05854b; transform: skewY(-10deg); margin-top: 10vw; opacity: 0.13; -webkit-transition: right 0.8s, top 0.8s; -moz-transition: right 0.8s, top 0.8s; -ms-transition: right 0.8s, top 0.8s; -o-transition: right 0.8s, top 0.8s; transition: right 0.8s, top 0.8s; }

.top_index main #cont06 .bg.show::before { top: 28px; right: 0; }

.top_index main #cont06 .bg dl { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; width: 1080px; margin: 0 auto 89px auto; }

.top_index main #cont06 .bg dl dt { position: relative; top: 0; left: 0; width: 510px; order: 1; margin: 3px 0 0 0; }

.top_index main #cont06 .bg dl dt.right { order: 0; }

.top_index main #cont06 .bg dl dt:before { background: #fff; content: ''; pointer-events: none; position: absolute; right: 0; top: 0; z-index: 1; -webkit-transition: width 1.0s; -moz-transition: width 1.0s; -ms-transition: width 1.0s; -o-transition: width 1.0s; transition: width 1.0s; width: 100%; height: 100%; }

.top_index main #cont06 .bg dl dt.show:before { width: 0; }

.top_index main #cont06 .bg dl dd { width: 514px; }

.top_index main #cont06 .bg dl dd .quyes { margin: 0 0 48px 0; }

.top_index main #cont06 .bg dl dd span { display: block; font-weight: bold; color: #05854b; font-size: 18px; }

.top_index main #cont06 .bg dl dd span::after { content: ''; display: block; background: #05854b; width: 37px; height: 1px; margin: 7px 0 0 0; }

.top_index main #cont06 .bg dl dd strong { display: block; font-size: 24px; font-weight: bold; margin: 0 0 15px 0; }

.top_index main #cont06 .bg dl dd p { font-size: 14px; line-height: 2.14286; }

.top_index main #cont06 .full_img { width: 100%; margin: 0 0 38px 0; }

.top_index main #cont06 .full_img p { overflow: hidden; position: relative; width: 100%; }

.top_index main #cont06 .full_img p:before { background: #fff; content: ''; pointer-events: none; position: absolute; right: 0; top: 0; z-index: 1; -webkit-transition: width 1.0s; -moz-transition: width 1.0s; -ms-transition: width 1.0s; -o-transition: width 1.0s; transition: width 1.0s; width: 100%; height: 100%; }

.top_index main #cont06 .full_img p.show:before { width: 0; }

.top_index main #cont06 .text_box .quyes { margin: 0 0 38px 0; }

.top_index main #cont06 .text_box span { display: block; text-align: center; font-weight: bold; color: #05854b; font-size: 18px; }

.top_index main #cont06 .text_box span::after { content: ''; display: block; background: #05854b; width: 37px; height: 1px; margin: 8px auto 0 auto; }

.top_index main #cont06 .text_box strong { display: block; font-size: 24px; font-weight: bold; text-align: center; margin: 0 0 13px 0; }

.top_index main #cont06 .text_box p { font-size: 14px; line-height: 2.14286; width: 1080px; margin: 0 auto; }

@media screen and (max-width: 1000px) { .top_index main #cont06 { padding: 0 0 14.66667vw 0; }
  .top_index main #cont06 .title { padding: 0 0 6.93333vw 0; }
  .top_index main #cont06 .title h3 { font-size: 17.33333vw; text-align: center; }
  .top_index main #cont06 .title h3 span { font-size: 4.26667vw; text-align: center; margin: -0.66667vw 0 0 0; }
  .top_index main #cont06 .int01 { display: block; padding: 0 0 10.66667vw 0; }
  .top_index main #cont06 .int01::before { display: none; }
  .top_index main #cont06 .int01 .img { width: 100vw; }
  .top_index main #cont06 .int01 .img p { width: 100vw; }
  .top_index main #cont06 .int01 .img p img { border-radius: 0; }
  .top_index main #cont06 .int01 .text { /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#05854b+0,04663a+100 */ background: #05854b; /* Old browsers */ background: -moz-linear-gradient(top, #05854b 0%, #04663a 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, #05854b 0%, #04663a 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, #05854b 0%, #04663a 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#05854b', endColorstr='#04663a',GradientType=0 ); /* IE6-9 */ padding: 7.46667vw 0vw 9.86667vw 4vw; width: 100%; box-sizing: border-box; }
  .top_index main #cont06 .int01 .text .box { height: 100%; padding: 0; }
  .top_index main #cont06 .int01 .text .box .name { margin: 0 0 7.6vw 0; }
  .top_index main #cont06 .int01 .text .box .name p { font-size: 3.2vw; margin: 0 0 0.26667vw 0; }
  .top_index main #cont06 .int01 .text .box .name strong { font-size: 6.13333vw; }
  .top_index main #cont06 .int01 .text .box .name strong span { top: 3.2vw; right: -29.86667vw; width: 31.2vw; }
  .top_index main #cont06 .int01 .text .box .lead { font-size: 3.2vw; line-height: 2; width: 92vw; margin: 0 0 6.8vw 0; }
  .top_index main #cont06 .int01 .text .box h4 { position: relative; bottom: 0; right: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: flex-end; align-items: flex-start; }
  .top_index main #cont06 .int01 .text .box h4 img { width: 80.53333vw; }
  .top_index main #cont06 .bg::before { top: 81.06667vw; height: 135.33333vw; margin-top: 10vw; }
  .top_index main #cont06 .bg.show::before { top: 101.33333vw; }
  .top_index main #cont06 .bg dl { display: block; width: 92vw; margin: 0 auto 12vw auto; }
  .top_index main #cont06 .bg dl dt { width: 92vw; margin: 0 0 6.13333vw 0; }
  .top_index main #cont06 .bg dl dd { width: 92vw; }
  .top_index main #cont06 .bg dl dd .quyes { margin: 0 0 4.93333vw 0; }
  .top_index main #cont06 .bg dl dd span { font-size: 3.46667vw; text-align: center; }
  .top_index main #cont06 .bg dl dd span::after { width: 4.93333vw; height: 2px; margin: 1.6vw auto 0 auto; }
  .top_index main #cont06 .bg dl dd strong { text-align: center; font-size: 4.26667vw; margin: 0 0 1.73333vw 0; }
  .top_index main #cont06 .bg dl dd p { font-size: 3.2vw; line-height: 2; }
  .top_index main #cont06 .full_img { width: 92vw; margin: 0 auto 6.13333vw auto; }
  .top_index main #cont06 .full_img p { width: 92vw; }
  .top_index main #cont06 .text_box .quyes { margin: 0 0 4.93333vw 0; }
  .top_index main #cont06 .text_box span { font-size: 3.46667vw; text-align: center; }
  .top_index main #cont06 .text_box span::after { width: 4.93333vw; height: 2px; margin: 1.6vw auto 0 auto; }
  .top_index main #cont06 .text_box strong { text-align: center; font-size: 4.26667vw; margin: 0 0 2vw 0; }
  .top_index main #cont06 .text_box p { font-size: 3.2vw; line-height: 2; width: 92vw; } }

.top_index main #cont07 { position: relative; top: 0; left: 0; padding: 0 0 71px 0; }

.top_index main #cont07 .title { padding: 0 0 7px 0; }

.top_index main #cont07 .title h3 { font-size: 130px; line-height: 1; }

.top_index main #cont07 .title h3 span { display: block; font-size: 20px; color: #05854b; margin: 25px 0 0 0; }

.top_index main #cont07 .int01 { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; padding: 78px 0 155px 0; max-width: 1280px; width: 100%; margin: 0 auto; }

.top_index main #cont07 .int01::before { content: ''; display: block; position: absolute; top: 0; left: 0; border-radius: 0 6px 6px 0; /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#05854b+0,04663a+100 */ background: #05854b; /* Old browsers */ background: -moz-linear-gradient(top, #05854b 0%, #04663a 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, #05854b 0%, #04663a 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, #05854b 0%, #04663a 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#05854b', endColorstr='#04663a',GradientType=0 ); /* IE6-9 */ width: 780px; height: 698px; }

.top_index main #cont07 .int01 .img { position: relative; top: 0; left: 0; width: 780px; order: 1; }

.top_index main #cont07 .int01 .img p { position: relative; top: 0; left: 0; width: 780px; }

.top_index main #cont07 .int01 .img p:before { background: #fff; content: ''; pointer-events: none; position: absolute; right: 0; top: 0; z-index: 1; -webkit-transition: width 1.0s; -moz-transition: width 1.0s; -ms-transition: width 1.0s; -o-transition: width 1.0s; transition: width 1.0s; width: 100%; height: 100%; }

.top_index main #cont07 .int01 .img p.show:before { width: 0; }

.top_index main #cont07 .int01 .img p img { border-radius: 6px; }

.top_index main #cont07 .int01 .text { position: relative; top: 0; left: 0; width: 500px; padding: 32px 0 0 100px; box-sizing: border-box; }

.top_index main #cont07 .int01 .text .box { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; flex-direction: column; color: #FFFFFF; width: 100%; height: 100%; z-index: 1; }

.top_index main #cont07 .int01 .text .box .name { position: relative; top: 0; left: 0; margin: 0 0 56px 0; }

.top_index main #cont07 .int01 .text .box .name p { font-size: 14px; margin: 0; }

.top_index main #cont07 .int01 .text .box .name strong { position: relative; top: 0; left: 0; display: inline-block; font-size: 36px; font-weight: bold; }

.top_index main #cont07 .int01 .text .box .name strong span { display: block; position: absolute; top: 12px; right: -162px; width: 150px; }

.top_index main #cont07 .int01 .text .box .lead { font-size: 14px; line-height: 2.14286; }

.top_index main #cont07 .int01 .text .box h4 { position: absolute; bottom: 36px; left: 0; overflow: hidden; }

.top_index main #cont07 .int01 .text .box h4 img { width: 656px; }

.top_index main #cont07 .int01 .text .box h4 em { display: block; position: absolute; top: 0; left: -100vw; text-align: left; -webkit-transition: left 1.0s, right 1.0s; -moz-transition: left 1.0s, right 1.0s; -ms-transition: left 1.0s, right 1.0s; -o-transition: left 1.0s, right 1.0s; transition: left 1.0s, right 1.0s; transition-delay: 1.0s; }

.top_index main #cont07 .int01 .text .box h4.show em { left: 0; }

.top_index main #cont07 .bg { position: relative; top: 0; left: 0; }

.top_index main #cont07 .bg.bg01::before { content: ''; display: block; position: absolute; top: -15Vw; right: -100Vw; width: 100%; height: 400px; background-color: #05854b; transform: skewY(-10deg); margin-top: 10vw; opacity: 0.13; -webkit-transition: right 0.8s, top 0.8s; -moz-transition: right 0.8s, top 0.8s; -ms-transition: right 0.8s, top 0.8s; -o-transition: right 0.8s, top 0.8s; transition: right 0.8s, top 0.8s; }

.top_index main #cont07 .bg.bg01.show::before { top: 28px; right: 0; }

.top_index main #cont07 .bg.bg02::before { content: ''; display: block; position: absolute; top: -15Vw; left: -100Vw; width: 100%; height: 400px; background-color: #05854b; transform: skewY(10deg); margin-top: 10vw; opacity: 0.13; -webkit-transition: left 0.8s, top 0.8s; -moz-transition: left 0.8s, top 0.8s; -ms-transition: left 0.8s, top 0.8s; -o-transition: left 0.8s, top 0.8s; transition: left 0.8s, top 0.8s; }

.top_index main #cont07 .bg.bg02.show::before { top: 28px; left: 0; }

.top_index main #cont07 .bg dl { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; width: 1080px; margin: 0 auto 89px auto; }

.top_index main #cont07 .bg dl dt { position: relative; top: 0; left: 0; width: 510px; margin: 3px 0 0 0; }

.top_index main #cont07 .bg dl dt.right { order: 1; }

.top_index main #cont07 .bg dl dt:before { background: #fff; content: ''; pointer-events: none; position: absolute; right: 0; top: 0; z-index: 1; -webkit-transition: width 1.0s; -moz-transition: width 1.0s; -ms-transition: width 1.0s; -o-transition: width 1.0s; transition: width 1.0s; width: 100%; height: 100%; }

.top_index main #cont07 .bg dl dt.show:before { width: 0; }

.top_index main #cont07 .bg dl dd { width: 514px; }

.top_index main #cont07 .bg dl dd .quyes { margin: 0 0 45px 0; }

.top_index main #cont07 .bg dl dd span { display: block; font-weight: bold; color: #05854b; font-size: 18px; }

.top_index main #cont07 .bg dl dd span::after { content: ''; display: block; background: #05854b; width: 37px; height: 1px; margin: 8px 0 0 0; }

.top_index main #cont07 .bg dl dd strong { display: block; font-size: 24px; font-weight: bold; margin: 0 0 14px 0; }

.top_index main #cont07 .bg dl dd p { font-size: 14px; line-height: 2.14286; }

.top_index main #cont07 .full_img { position: relative; top: 0; left: 0; width: 100%; margin: 0 0 38px 0; }

.top_index main #cont07 .full_img p { width: 100%; }

.top_index main #cont07 .full_img p:before { background: #fff; content: ''; pointer-events: none; position: absolute; right: 0; top: 0; z-index: 1; -webkit-transition: width 1.0s; -moz-transition: width 1.0s; -ms-transition: width 1.0s; -o-transition: width 1.0s; transition: width 1.0s; width: 100%; height: 100%; }

.top_index main #cont07 .full_img p.show:before { width: 0; }

.top_index main #cont07 .text_box { margin: 0 0 116px 0; }

.top_index main #cont07 .text_box .quyes { margin: 0 0 38px 0; }

.top_index main #cont07 .text_box span { display: block; text-align: center; font-weight: bold; color: #05854b; font-size: 18px; }

.top_index main #cont07 .text_box span::after { content: ''; display: block; background: #05854b; width: 37px; height: 1px; margin: 8px auto 0 auto; }

.top_index main #cont07 .text_box strong { display: block; font-size: 24px; font-weight: bold; text-align: center; margin: 0 0 14px 0; }

.top_index main #cont07 .text_box p { font-size: 14px; line-height: 2.14286; width: 1080px; margin: 0 auto; }

@media screen and (max-width: 1000px) { .top_index main #cont07 { padding: 0 0 1.73333vw 0; }
  .top_index main #cont07 .int01 { display: block; padding: 0 0 10.66667vw 0; }
  .top_index main #cont07 .int01::before { display: none; }
  .top_index main #cont07 .int01 .img { width: 100vw; }
  .top_index main #cont07 .int01 .img p { width: 100vw; }
  .top_index main #cont07 .int01 .img p img { border-radius: 0; }
  .top_index main #cont07 .int01 .text { width: 100%; /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#05854b+0,04663a+100 */ background: #05854b; /* Old browsers */ background: -moz-linear-gradient(top, #05854b 0%, #04663a 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, #05854b 0%, #04663a 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, #05854b 0%, #04663a 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#05854b', endColorstr='#04663a',GradientType=0 ); /* IE6-9 */ padding: 7.6vw 0 9.86667vw 4vw; }
  .top_index main #cont07 .int01 .text .box { height: auto; }
  .top_index main #cont07 .int01 .text .box .name { margin: 0 0 7.6vw 0; }
  .top_index main #cont07 .int01 .text .box .name p { font-size: 3.2vw; }
  .top_index main #cont07 .int01 .text .box .name strong { font-size: 6.13333vw; }
  .top_index main #cont07 .int01 .text .box .name strong span { top: 2.93333vw; right: -18.8vw; width: 27.86667vw; }
  .top_index main #cont07 .int01 .text .box .lead { font-size: 3.2vw; line-height: 2; margin: 0 0 0.26667vw 0; }
  .top_index main #cont07 .int01 .text .box h4 { position: relative; bottom: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: flex-end; align-items: flex-start; }
  .top_index main #cont07 .int01 .text .box h4 img { width: 70.26667vw; }
  .top_index main #cont07 .int01 .text .box h4 em { left: auto; right: -100vw; }
  .top_index main #cont07 .int01 .text .box h4.show em { left: auto; right: 0; }
  .top_index main #cont07 .bg.bg01::before { top: -75.6vw; height: 135.33333vw; margin-top: 10vw; }
  .top_index main #cont07 .bg.bg01.show::before { top: -50.4vw; }
  .top_index main #cont07 .bg.bg02::before { top: 81.6vw; height: 135.33333vw; margin-top: 10vw; }
  .top_index main #cont07 .bg.bg02.show::before { top: 102vw; }
  .top_index main #cont07 .bg dl { display: block; width: 92vw; margin: 0 auto 11.86667vw auto; }
  .top_index main #cont07 .bg dl dt { width: 92vw; margin: 0 0 6.26667vw 0; }
  .top_index main #cont07 .bg dl dd { width: 92vw; }
  .top_index main #cont07 .bg dl dd .quyes { margin: 0 0 4.93333vw 0; }
  .top_index main #cont07 .bg dl dd span { font-size: 3.46667vw; text-align: center; }
  .top_index main #cont07 .bg dl dd span::after { width: 4.93333vw; height: 2px; margin: 1.6vw auto 0 auto; }
  .top_index main #cont07 .bg dl dd strong { text-align: center; font-size: 4.26667vw; margin: 0 0 1.86667vw 0; }
  .top_index main #cont07 .bg dl dd p { font-size: 3.2vw; line-height: 2; }
  .top_index main #cont07 .full_img { width: 92vw; margin: 0 auto 6.4vw auto; }
  .top_index main #cont07 .full_img p { width: 92vw; }
  .top_index main #cont07 .text_box { margin: 0 0 12.66667vw 0; }
  .top_index main #cont07 .text_box .quyes { margin: 0 0 4.93333vw 0; }
  .top_index main #cont07 .text_box span { font-size: 3.46667vw; text-align: center; }
  .top_index main #cont07 .text_box span::after { width: 4.93333vw; height: 2px; margin: 1.6vw auto 0 auto; }
  .top_index main #cont07 .text_box strong { text-align: center; font-size: 4.26667vw; margin: 0 0 1.86667vw 0; }
  .top_index main #cont07 .text_box p { font-size: 3.2vw; line-height: 2; width: 92vw; } }
