@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: #000000; font-family: "Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", 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; color: #6f7c85; width: auto; height: 100%; margin: 0px auto; background-position: top; }

@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; }

/* -----------------------------------------------------------------
追加
------------------------------------------------------------------ */
.foot_btn{
    position: fixed;
    top: 150px;
    right: 0;
}
@media screen and (max-width: 1000px) {
.foot_btn{
    position: fixed;
	top: auto;
    bottom: -1px;
}
}

/* -----------------------------------------------------------------
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 { display: none; }

.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; } }

.slide-item0 { opacity: 0; }

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

.slide-item1 { position: relative; top: 2.66667vw; left: 0; opacity: 0; -webkit-transition: opacity 0.8s,top 0.8s; -moz-transition: opacity 0.8s,top 0.8s; -ms-transition: opacity 0.8s,top 0.8s; -o-transition: opacity 0.8s,top 0.8s; transition: opacity 0.8s,top 0.8s; transition-delay: 0s; }

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

.slide-item2 { position: relative; top: 2.66667vw; left: 0; opacity: 0; -webkit-transition: opacity 0.8s,top 0.8s; -moz-transition: opacity 0.8s,top 0.8s; -ms-transition: opacity 0.8s,top 0.8s; -o-transition: opacity 0.8s,top 0.8s; transition: opacity 0.8s,top 0.8s; transition-delay: 0.4s; }

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

.slide-item3 { position: relative; top: 2.66667vw; left: 0; opacity: 0; -webkit-transition: opacity 0.8s,top 0.8s; -moz-transition: opacity 0.8s,top 0.8s; -ms-transition: opacity 0.8s,top 0.8s; -o-transition: opacity 0.8s,top 0.8s; transition: opacity 0.8s,top 0.8s; transition-delay: 0.8s; }

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

.slide-item4 { position: relative; top: 2.66667vw; left: 0; opacity: 0; -webkit-transition: opacity 0.8s,top 0.8s; -moz-transition: opacity 0.8s,top 0.8s; -ms-transition: opacity 0.8s,top 0.8s; -o-transition: opacity 0.8s,top 0.8s; transition: opacity 0.8s,top 0.8s; transition-delay: 1.2s; }

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

.slide-item5 { position: relative; top: 2.66667vw; left: 0; opacity: 0; -webkit-transition: opacity 0.8s,top 0.8s; -moz-transition: opacity 0.8s,top 0.8s; -ms-transition: opacity 0.8s,top 0.8s; -o-transition: opacity 0.8s,top 0.8s; transition: opacity 0.8s,top 0.8s; transition-delay: 1.6s; }

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

/* -----------------------------------------------------------------
ヘッダー
------------------------------------------------------------------ */
header { position: fixed; left: 0; top: 0; z-index: 20; width: 100%;  background-color: rgb(255, 255, 255,0.85) ; padding-bottom: 10px;}

header .pc .flex { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; align-items: center; width: 100%; height: 39px; box-sizing: border-box; padding: 0 74px 0 76px; margin: 43px 0 0 0;}

header .pc .flex .logo { width: 218px; }

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

header .pc .flex nav ol { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; justify-content: flex-end; margin: 0 0 0 45px; }

header .pc .flex nav ol li:first-child { width: 21px; }

header .pc .flex nav ol li:last-child { width: 18px; margin: 0 0 0 28px; }

header .pc .flex nav ul { display: -webkit-flex; display: -ms-flex; display: flex; padding: 2px 0 0 0; }

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

header .pc .flex nav ul li:first-child { margin: 0; }

header .pc .flex nav ul li a { display: block; }

header .pc .flex nav ul li a img.img01 { width: 67px; }

header .pc .flex nav ul li a img.img02 { width: 102px; }

header .pc .flex nav ul li a img.img03 { width: 71px; }

header .pc .flex nav ul li a img.img04 { width: 75px; }

header .pc .flex nav ul li a img.img05 { width: 82px; }

header .pc .flex nav ul li a img.img06 { width: 115px; }

@media screen and (max-width: 1000px) { header .sp .logo_area { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; align-items: center; box-sizing: border-box; width: 100%; height: 15.73333vw; padding: 0; }
  header .sp .logo_area .logo { width: 34.8vw; padding: 0 0 0 6vw; }
  header .sp .logo_area div { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: flex-end; align-items: center; }
  header .sp .logo_area ol { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; margin: 0 7.06667vw 0 0; }
  header .sp .logo_area ol li { margin: 0 1.33333vw; }
  header .sp .logo_area ol li:first-child { width: 4.66667vw; }
  header .sp .logo_area ol li:last-child { width: 4.13333vw; }
  header .sp .logo_area .link { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; width: auto; padding: 0 5.33333vw 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: 3.46667vw; height: 3.46667vw; margin: 0; }
  header .sp .logo_area .link a::before, header .sp .logo_area .link a::after { position: absolute; left: 0; display: block; content: ""; border-radius: 5px; width: 3.46667vw; height: 2px; background: #6f7c85; -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.spMenuBtnIcon { border-radius: 5px; width: 3.46667vw; height: 2px; background: #6f7c85; }
  header .sp .logo_area .link a.on:before { margin-top: -0.26667vw; 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: 15.73333vw; left: 0; background: rgba(255, 255, 255, 0.85); width: 100%; height: 0; overflow: auto; }
  header .sp .over .box_area { width: 100%; }
  header .sp .over .area01 { padding: 0; }
  header .sp .over .area01 ol { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; padding: 0 0 6.66667vw 0; }
  header .sp .over .area01 ol li { margin: 0 1.33333vw; }
  header .sp .over .area01 ol li:first-child { width: 4.4vw; }
  header .sp .over .area01 ol li:last-child { width: 3.86667vw; }
  header .sp .over .area01 ul { position: relative; top: 0; left: 0; margin: 0 0 7.33333vw 0; }
  header .sp .over .area01 ul li { border-bottom: 1px solid #dedede; }
  header .sp .over .area01 ul li a { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; justify-content: space-between; width: 100%; height: 13.33333vw; box-sizing: border-box; padding: 0 4.8vw; }
  header .sp .over .area01 ul li a::after { content: ''; display: block; background: url(../images/icon02.svg) center center no-repeat; background-size: cover; width: 1.46667vw; height: 1.33333vw; }
  header .sp .over .area01 ul li a img.img01 { width: 9.06667vw; }
  header .sp .over .area01 ul li a img.img02 { width: 20.26667vw; }
  header .sp .over .area01 ul li a img.img03 { width: 31.33333vw; }
  header .sp .over .area01 ul li a img.img04 { width: 22.66667vw; }
  header .sp .over .area01 ul li a img.img05 { width: 22.66667vw; }
  header .sp .over .area01 ul li a img.img06 { width: 25.2vw; }
  header .sp .over .area01 ul li a img.img07 { width: 34.8vw; }
  header .sp .over .area01 ul li a img.img08 { width: 36.66667vw; }
  header .sp .over .area01 ol { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; }
  header .sp .over .area01 ol li { margin: 0 2vw; }
  header .sp .over .area01 ol li a { color: #4a8693; text-decoration: none; font-size: 2.66667vw; }
  header .sp .over .area01 ol li a .on { text-decoration: underline; } }
main { position: relative; top: 0; left: 0; }

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

.top_link { margin: 0 0 9.46667vw 0; }

.top_link a { display: block; width: 23.06667vw; margin: 0 auto; }

@media screen and (max-width: 1000px) { .top_link { margin: 0 0 20px 0; }
  .top_link a { width: 88px; } }

footer { position: relative; top: 0; left: 0; background: #96a5b9; padding: 52px 0 36px 0; }

footer h5 { width: 385px; margin: 0 auto 24px auto; }

footer .flex { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; width: 672px; margin: 0 auto 3px auto; }

footer .flex ul li { margin: 0 0 14px 0; }

footer .flex ul li a img.img01 { width: 28px; }

footer .flex ul li a img.img02 { width: 74px; }

footer .flex ul li a img.img03 { width: 112px; }

footer .flex ul li a img.img04 { width: 78px; }

footer .flex ul li a img.img05 { width: 82px; }

footer .flex ul li a img.img06 { width: 90px; }

footer .flex ul li a img.img07 { width: 125px; }

footer .flex ul li a img.img08 { width: 130px; }

footer .link { margin: 0 0 39px 0; }

footer .link a { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; }

footer .link a span { width: 215px; margin: 0 14px 0 0; }

footer .link a .icon { width: 48px; }

footer .copy { width: 320px; margin: 0 auto; }

@media screen and (max-width: 1000px) { footer { border-top: 1px solid #dedede; background: #FFFFFF; padding: 15.06667vw 0 0 0; }
  footer h5 { width: 58.66667vw; margin: 0 auto 9.46667vw auto; }
  footer .flex { border-top: 1px solid #dedede; display: block; width: 100%; margin: 0 0 8.13333vw 0; }
  footer .flex ul { position: relative; top: 0; left: 0; margin: 0; }
  footer .flex ul li { border-bottom: 1px solid #dedede; margin: 0; }
  footer .flex ul li a { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; justify-content: space-between; width: 100%; height: 13.06667vw; box-sizing: border-box; padding: 0 4.8vw; }
  footer .flex ul li a::after { content: ''; display: block; background: url(../images/icon02.svg) center center no-repeat; background-size: cover; width: 1.46667vw; height: 1.33333vw; }
  footer .flex ul li a img.img01 { width: 9.06667vw; }
  footer .flex ul li a img.img02 { width: 20.26667vw; }
  footer .flex ul li a img.img03 { width: 31.33333vw; }
  footer .flex ul li a img.img04 { width: 22.66667vw; }
  footer .flex ul li a img.img05 { width: 22.66667vw; }
  footer .flex ul li a img.img06 { width: 25.2vw; }
  footer .flex ul li a img.img07 { width: 34.8vw; }
  footer .flex ul li a img.img08 { width: 36.66667vw; }
  footer .link { margin: 0 0 6vw 0; }
  footer .link a { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; }
  footer .link a span { width: 56.4vw; margin: 0 2vw 0 0; }
  footer .link a .icon { width: 12.53333vw; }
  footer .copy { background: #96a5b9; width: 100%; margin: 0 auto; padding: 4.26667vw 0 6.4vw 0; }
  footer .copy img { display: block; width: 72.8vw; margin: 0 auto; } }

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

/* -----------------------------------------------------------------
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; }

/* -----------------------------------------------------------------
margin
------------------------------------------------------------------ */
.ma { margin: 0 auto; }

.mt5 { margin-top: 0.66667vw; }

@media screen and (min-width: 1000px) { .mt5 { margin-top: 5px; } }

.mr5 { margin-right: 0.66667vw; }

@media screen and (min-width: 1000px) { .mr5 { margin-right: 5px; } }

.mb5 { margin-bottom: 0.66667vw; }

@media screen and (min-width: 1000px) { .mb5 { margin-bottom: 5px; } }

.ml5 { margin-left: 0.66667vw; }

@media screen and (min-width: 1000px) { .ml5 { margin-left: 5px; } }

.pt5 { padding-top: 0.66667vw; }

@media screen and (min-width: 1000px) { .pt5 { padding-top: 5px; } }

.pr5 { padding-right: 0.66667vw; }

@media screen and (min-width: 1000px) { .pr5 { padding-right: 5px; } }

.pb5 { padding-bottom: 0.66667vw; }

@media screen and (min-width: 1000px) { .pb5 { padding-bottom: 5px; } }

.pl5 { padding-left: 0.66667vw; }

@media screen and (min-width: 1000px) { .pl5 { padding-left: 5px; } }

.mt10 { margin-top: 1.33333vw; }

@media screen and (min-width: 1000px) { .mt10 { margin-top: 10px; } }

.mr10 { margin-right: 1.33333vw; }

@media screen and (min-width: 1000px) { .mr10 { margin-right: 10px; } }

.mb10 { margin-bottom: 1.33333vw; }

@media screen and (min-width: 1000px) { .mb10 { margin-bottom: 10px; } }

.ml10 { margin-left: 1.33333vw; }

@media screen and (min-width: 1000px) { .ml10 { margin-left: 10px; } }

.pt10 { padding-top: 1.33333vw; }

@media screen and (min-width: 1000px) { .pt10 { padding-top: 10px; } }

.pr10 { padding-right: 1.33333vw; }

@media screen and (min-width: 1000px) { .pr10 { padding-right: 10px; } }

.pb10 { padding-bottom: 1.33333vw; }

@media screen and (min-width: 1000px) { .pb10 { padding-bottom: 10px; } }

.pl10 { padding-left: 1.33333vw; }

@media screen and (min-width: 1000px) { .pl10 { padding-left: 10px; } }

.mt15 { margin-top: 2vw; }

@media screen and (min-width: 1000px) { .mt15 { margin-top: 15px; } }

.mr15 { margin-right: 2vw; }

@media screen and (min-width: 1000px) { .mr15 { margin-right: 15px; } }

.mb15 { margin-bottom: 2vw; }

@media screen and (min-width: 1000px) { .mb15 { margin-bottom: 15px; } }

.ml15 { margin-left: 2vw; }

@media screen and (min-width: 1000px) { .ml15 { margin-left: 15px; } }

.pt15 { padding-top: 2vw; }

@media screen and (min-width: 1000px) { .pt15 { padding-top: 15px; } }

.pr15 { padding-right: 2vw; }

@media screen and (min-width: 1000px) { .pr15 { padding-right: 15px; } }

.pb15 { padding-bottom: 2vw; }

@media screen and (min-width: 1000px) { .pb15 { padding-bottom: 15px; } }

.pl15 { padding-left: 2vw; }

@media screen and (min-width: 1000px) { .pl15 { padding-left: 15px; } }

.mt20 { margin-top: 2.66667vw; }

@media screen and (min-width: 1000px) { .mt20 { margin-top: 20px; } }

.mr20 { margin-right: 2.66667vw; }

@media screen and (min-width: 1000px) { .mr20 { margin-right: 20px; } }

.mb20 { margin-bottom: 2.66667vw; }

@media screen and (min-width: 1000px) { .mb20 { margin-bottom: 20px; } }

.ml20 { margin-left: 2.66667vw; }

@media screen and (min-width: 1000px) { .ml20 { margin-left: 20px; } }

.pt20 { padding-top: 2.66667vw; }

@media screen and (min-width: 1000px) { .pt20 { padding-top: 20px; } }

.pr20 { padding-right: 2.66667vw; }

@media screen and (min-width: 1000px) { .pr20 { padding-right: 20px; } }

.pb20 { padding-bottom: 2.66667vw; }

@media screen and (min-width: 1000px) { .pb20 { padding-bottom: 20px; } }

.pl20 { padding-left: 2.66667vw; }

@media screen and (min-width: 1000px) { .pl20 { padding-left: 20px; } }

.mt25 { margin-top: 3.33333vw; }

@media screen and (min-width: 1000px) { .mt25 { margin-top: 25px; } }

.mr25 { margin-right: 3.33333vw; }

@media screen and (min-width: 1000px) { .mr25 { margin-right: 25px; } }

.mb25 { margin-bottom: 3.33333vw; }

@media screen and (min-width: 1000px) { .mb25 { margin-bottom: 25px; } }

.ml25 { margin-left: 3.33333vw; }

@media screen and (min-width: 1000px) { .ml25 { margin-left: 25px; } }

.pt25 { padding-top: 3.33333vw; }

@media screen and (min-width: 1000px) { .pt25 { padding-top: 25px; } }

.pr25 { padding-right: 3.33333vw; }

@media screen and (min-width: 1000px) { .pr25 { padding-right: 25px; } }

.pb25 { padding-bottom: 3.33333vw; }

@media screen and (min-width: 1000px) { .pb25 { padding-bottom: 25px; } }

.pl25 { padding-left: 3.33333vw; }

@media screen and (min-width: 1000px) { .pl25 { padding-left: 25px; } }

.mt30 { margin-top: 4vw; }

@media screen and (min-width: 1000px) { .mt30 { margin-top: 30px; } }

.mr30 { margin-right: 4vw; }

@media screen and (min-width: 1000px) { .mr30 { margin-right: 30px; } }

.mb30 { margin-bottom: 4vw; }

@media screen and (min-width: 1000px) { .mb30 { margin-bottom: 30px; } }

.ml30 { margin-left: 4vw; }

@media screen and (min-width: 1000px) { .ml30 { margin-left: 30px; } }

.pt30 { padding-top: 4vw; }

@media screen and (min-width: 1000px) { .pt30 { padding-top: 30px; } }

.pr30 { padding-right: 4vw; }

@media screen and (min-width: 1000px) { .pr30 { padding-right: 30px; } }

.pb30 { padding-bottom: 4vw; }

@media screen and (min-width: 1000px) { .pb30 { padding-bottom: 30px; } }

.pl30 { padding-left: 4vw; }

@media screen and (min-width: 1000px) { .pl30 { padding-left: 30px; } }

.mt35 { margin-top: 4.66667vw; }

@media screen and (min-width: 1000px) { .mt35 { margin-top: 35px; } }

.mr35 { margin-right: 4.66667vw; }

@media screen and (min-width: 1000px) { .mr35 { margin-right: 35px; } }

.mb35 { margin-bottom: 4.66667vw; }

@media screen and (min-width: 1000px) { .mb35 { margin-bottom: 35px; } }

.ml35 { margin-left: 4.66667vw; }

@media screen and (min-width: 1000px) { .ml35 { margin-left: 35px; } }

.pt35 { padding-top: 4.66667vw; }

@media screen and (min-width: 1000px) { .pt35 { padding-top: 35px; } }

.pr35 { padding-right: 4.66667vw; }

@media screen and (min-width: 1000px) { .pr35 { padding-right: 35px; } }

.pb35 { padding-bottom: 4.66667vw; }

@media screen and (min-width: 1000px) { .pb35 { padding-bottom: 35px; } }

.pl35 { padding-left: 4.66667vw; }

@media screen and (min-width: 1000px) { .pl35 { padding-left: 35px; } }

.mt40 { margin-top: 5.33333vw; }

@media screen and (min-width: 1000px) { .mt40 { margin-top: 40px; } }

.mr40 { margin-right: 5.33333vw; }

@media screen and (min-width: 1000px) { .mr40 { margin-right: 40px; } }

.mb40 { margin-bottom: 5.33333vw; }

@media screen and (min-width: 1000px) { .mb40 { margin-bottom: 40px; } }

.ml40 { margin-left: 5.33333vw; }

@media screen and (min-width: 1000px) { .ml40 { margin-left: 40px; } }

.pt40 { padding-top: 5.33333vw; }

@media screen and (min-width: 1000px) { .pt40 { padding-top: 40px; } }

.pr40 { padding-right: 5.33333vw; }

@media screen and (min-width: 1000px) { .pr40 { padding-right: 40px; } }

.pb40 { padding-bottom: 5.33333vw; }

@media screen and (min-width: 1000px) { .pb40 { padding-bottom: 40px; } }

.pl40 { padding-left: 5.33333vw; }

@media screen and (min-width: 1000px) { .pl40 { padding-left: 40px; } }

.mt45 { margin-top: 6vw; }

@media screen and (min-width: 1000px) { .mt45 { margin-top: 45px; } }

.mr45 { margin-right: 6vw; }

@media screen and (min-width: 1000px) { .mr45 { margin-right: 45px; } }

.mb45 { margin-bottom: 6vw; }

@media screen and (min-width: 1000px) { .mb45 { margin-bottom: 45px; } }

.ml45 { margin-left: 6vw; }

@media screen and (min-width: 1000px) { .ml45 { margin-left: 45px; } }

.pt45 { padding-top: 6vw; }

@media screen and (min-width: 1000px) { .pt45 { padding-top: 45px; } }

.pr45 { padding-right: 6vw; }

@media screen and (min-width: 1000px) { .pr45 { padding-right: 45px; } }

.pb45 { padding-bottom: 6vw; }

@media screen and (min-width: 1000px) { .pb45 { padding-bottom: 45px; } }

.pl45 { padding-left: 6vw; }

@media screen and (min-width: 1000px) { .pl45 { padding-left: 45px; } }

.mt50 { margin-top: 6.66667vw; }

@media screen and (min-width: 1000px) { .mt50 { margin-top: 50px; } }

.mr50 { margin-right: 6.66667vw; }

@media screen and (min-width: 1000px) { .mr50 { margin-right: 50px; } }

.mb50 { margin-bottom: 6.66667vw; }

@media screen and (min-width: 1000px) { .mb50 { margin-bottom: 50px; } }

.ml50 { margin-left: 6.66667vw; }

@media screen and (min-width: 1000px) { .ml50 { margin-left: 50px; } }

.pt50 { padding-top: 6.66667vw; }

@media screen and (min-width: 1000px) { .pt50 { padding-top: 50px; } }

.pr50 { padding-right: 6.66667vw; }

@media screen and (min-width: 1000px) { .pr50 { padding-right: 50px; } }

.pb50 { padding-bottom: 6.66667vw; }

@media screen and (min-width: 1000px) { .pb50 { padding-bottom: 50px; } }

.pl50 { padding-left: 6.66667vw; }

@media screen and (min-width: 1000px) { .pl50 { padding-left: 50px; } }

.mt55 { margin-top: 7.33333vw; }

@media screen and (min-width: 1000px) { .mt55 { margin-top: 55px; } }

.mr55 { margin-right: 7.33333vw; }

@media screen and (min-width: 1000px) { .mr55 { margin-right: 55px; } }

.mb55 { margin-bottom: 7.33333vw; }

@media screen and (min-width: 1000px) { .mb55 { margin-bottom: 55px; } }

.ml55 { margin-left: 7.33333vw; }

@media screen and (min-width: 1000px) { .ml55 { margin-left: 55px; } }

.pt55 { padding-top: 7.33333vw; }

@media screen and (min-width: 1000px) { .pt55 { padding-top: 55px; } }

.pr55 { padding-right: 7.33333vw; }

@media screen and (min-width: 1000px) { .pr55 { padding-right: 55px; } }

.pb55 { padding-bottom: 7.33333vw; }

@media screen and (min-width: 1000px) { .pb55 { padding-bottom: 55px; } }

.pl55 { padding-left: 7.33333vw; }

@media screen and (min-width: 1000px) { .pl55 { padding-left: 55px; } }

.mt60 { margin-top: 8vw; }

@media screen and (min-width: 1000px) { .mt60 { margin-top: 60px; } }

.mr60 { margin-right: 8vw; }

@media screen and (min-width: 1000px) { .mr60 { margin-right: 60px; } }

.mb60 { margin-bottom: 8vw; }

@media screen and (min-width: 1000px) { .mb60 { margin-bottom: 60px; } }

.ml60 { margin-left: 8vw; }

@media screen and (min-width: 1000px) { .ml60 { margin-left: 60px; } }

.pt60 { padding-top: 8vw; }

@media screen and (min-width: 1000px) { .pt60 { padding-top: 60px; } }

.pr60 { padding-right: 8vw; }

@media screen and (min-width: 1000px) { .pr60 { padding-right: 60px; } }

.pb60 { padding-bottom: 8vw; }

@media screen and (min-width: 1000px) { .pb60 { padding-bottom: 60px; } }

.pl60 { padding-left: 8vw; }

@media screen and (min-width: 1000px) { .pl60 { padding-left: 60px; } }

.mt65 { margin-top: 8.66667vw; }

@media screen and (min-width: 1000px) { .mt65 { margin-top: 65px; } }

.mr65 { margin-right: 8.66667vw; }

@media screen and (min-width: 1000px) { .mr65 { margin-right: 65px; } }

.mb65 { margin-bottom: 8.66667vw; }

@media screen and (min-width: 1000px) { .mb65 { margin-bottom: 65px; } }

.ml65 { margin-left: 8.66667vw; }

@media screen and (min-width: 1000px) { .ml65 { margin-left: 65px; } }

.pt65 { padding-top: 8.66667vw; }

@media screen and (min-width: 1000px) { .pt65 { padding-top: 65px; } }

.pr65 { padding-right: 8.66667vw; }

@media screen and (min-width: 1000px) { .pr65 { padding-right: 65px; } }

.pb65 { padding-bottom: 8.66667vw; }

@media screen and (min-width: 1000px) { .pb65 { padding-bottom: 65px; } }

.pl65 { padding-left: 8.66667vw; }

@media screen and (min-width: 1000px) { .pl65 { padding-left: 65px; } }

.mt70 { margin-top: 9.33333vw; }

@media screen and (min-width: 1000px) { .mt70 { margin-top: 70px; } }

.mr70 { margin-right: 9.33333vw; }

@media screen and (min-width: 1000px) { .mr70 { margin-right: 70px; } }

.mb70 { margin-bottom: 9.33333vw; }

@media screen and (min-width: 1000px) { .mb70 { margin-bottom: 70px; } }

.ml70 { margin-left: 9.33333vw; }

@media screen and (min-width: 1000px) { .ml70 { margin-left: 70px; } }

.pt70 { padding-top: 9.33333vw; }

@media screen and (min-width: 1000px) { .pt70 { padding-top: 70px; } }

.pr70 { padding-right: 9.33333vw; }

@media screen and (min-width: 1000px) { .pr70 { padding-right: 70px; } }

.pb70 { padding-bottom: 9.33333vw; }

@media screen and (min-width: 1000px) { .pb70 { padding-bottom: 70px; } }

.pl70 { padding-left: 9.33333vw; }

@media screen and (min-width: 1000px) { .pl70 { padding-left: 70px; } }

.mt75 { margin-top: 10vw; }

@media screen and (min-width: 1000px) { .mt75 { margin-top: 75px; } }

.mr75 { margin-right: 10vw; }

@media screen and (min-width: 1000px) { .mr75 { margin-right: 75px; } }

.mb75 { margin-bottom: 10vw; }

@media screen and (min-width: 1000px) { .mb75 { margin-bottom: 75px; } }

.ml75 { margin-left: 10vw; }

@media screen and (min-width: 1000px) { .ml75 { margin-left: 75px; } }

.pt75 { padding-top: 10vw; }

@media screen and (min-width: 1000px) { .pt75 { padding-top: 75px; } }

.pr75 { padding-right: 10vw; }

@media screen and (min-width: 1000px) { .pr75 { padding-right: 75px; } }

.pb75 { padding-bottom: 10vw; }

@media screen and (min-width: 1000px) { .pb75 { padding-bottom: 75px; } }

.pl75 { padding-left: 10vw; }

@media screen and (min-width: 1000px) { .pl75 { padding-left: 75px; } }

.mt80 { margin-top: 10.66667vw; }

@media screen and (min-width: 1000px) { .mt80 { margin-top: 80px; } }

.mr80 { margin-right: 10.66667vw; }

@media screen and (min-width: 1000px) { .mr80 { margin-right: 80px; } }

.mb80 { margin-bottom: 10.66667vw; }

@media screen and (min-width: 1000px) { .mb80 { margin-bottom: 80px; } }

.ml80 { margin-left: 10.66667vw; }

@media screen and (min-width: 1000px) { .ml80 { margin-left: 80px; } }

.pt80 { padding-top: 10.66667vw; }

@media screen and (min-width: 1000px) { .pt80 { padding-top: 80px; } }

.pr80 { padding-right: 10.66667vw; }

@media screen and (min-width: 1000px) { .pr80 { padding-right: 80px; } }

.pb80 { padding-bottom: 10.66667vw; }

@media screen and (min-width: 1000px) { .pb80 { padding-bottom: 80px; } }

.pl80 { padding-left: 10.66667vw; }

@media screen and (min-width: 1000px) { .pl80 { padding-left: 80px; } }

.mt85 { margin-top: 11.33333vw; }

@media screen and (min-width: 1000px) { .mt85 { margin-top: 85px; } }

.mr85 { margin-right: 11.33333vw; }

@media screen and (min-width: 1000px) { .mr85 { margin-right: 85px; } }

.mb85 { margin-bottom: 11.33333vw; }

@media screen and (min-width: 1000px) { .mb85 { margin-bottom: 85px; } }

.ml85 { margin-left: 11.33333vw; }

@media screen and (min-width: 1000px) { .ml85 { margin-left: 85px; } }

.pt85 { padding-top: 11.33333vw; }

@media screen and (min-width: 1000px) { .pt85 { padding-top: 85px; } }

.pr85 { padding-right: 11.33333vw; }

@media screen and (min-width: 1000px) { .pr85 { padding-right: 85px; } }

.pb85 { padding-bottom: 11.33333vw; }

@media screen and (min-width: 1000px) { .pb85 { padding-bottom: 85px; } }

.pl85 { padding-left: 11.33333vw; }

@media screen and (min-width: 1000px) { .pl85 { padding-left: 85px; } }

.mt90 { margin-top: 12vw; }

@media screen and (min-width: 1000px) { .mt90 { margin-top: 90px; } }

.mr90 { margin-right: 12vw; }

@media screen and (min-width: 1000px) { .mr90 { margin-right: 90px; } }

.mb90 { margin-bottom: 12vw; }

@media screen and (min-width: 1000px) { .mb90 { margin-bottom: 90px; } }

.ml90 { margin-left: 12vw; }

@media screen and (min-width: 1000px) { .ml90 { margin-left: 90px; } }

.pt90 { padding-top: 12vw; }

@media screen and (min-width: 1000px) { .pt90 { padding-top: 90px; } }

.pr90 { padding-right: 12vw; }

@media screen and (min-width: 1000px) { .pr90 { padding-right: 90px; } }

.pb90 { padding-bottom: 12vw; }

@media screen and (min-width: 1000px) { .pb90 { padding-bottom: 90px; } }

.pl90 { padding-left: 12vw; }

@media screen and (min-width: 1000px) { .pl90 { padding-left: 90px; } }

.mt95 { margin-top: 12.66667vw; }

@media screen and (min-width: 1000px) { .mt95 { margin-top: 95px; } }

.mr95 { margin-right: 12.66667vw; }

@media screen and (min-width: 1000px) { .mr95 { margin-right: 95px; } }

.mb95 { margin-bottom: 12.66667vw; }

@media screen and (min-width: 1000px) { .mb95 { margin-bottom: 95px; } }

.ml95 { margin-left: 12.66667vw; }

@media screen and (min-width: 1000px) { .ml95 { margin-left: 95px; } }

.pt95 { padding-top: 12.66667vw; }

@media screen and (min-width: 1000px) { .pt95 { padding-top: 95px; } }

.pr95 { padding-right: 12.66667vw; }

@media screen and (min-width: 1000px) { .pr95 { padding-right: 95px; } }

.pb95 { padding-bottom: 12.66667vw; }

@media screen and (min-width: 1000px) { .pb95 { padding-bottom: 95px; } }

.pl95 { padding-left: 12.66667vw; }

@media screen and (min-width: 1000px) { .pl95 { padding-left: 95px; } }

.mt100 { margin-top: 13.33333vw; }

@media screen and (min-width: 1000px) { .mt100 { margin-top: 100px; } }

.mr100 { margin-right: 13.33333vw; }

@media screen and (min-width: 1000px) { .mr100 { margin-right: 100px; } }

.mb100 { margin-bottom: 13.33333vw; }

@media screen and (min-width: 1000px) { .mb100 { margin-bottom: 100px; } }

.ml100 { margin-left: 13.33333vw; }

@media screen and (min-width: 1000px) { .ml100 { margin-left: 100px; } }

.pt100 { padding-top: 13.33333vw; }

@media screen and (min-width: 1000px) { .pt100 { padding-top: 100px; } }

.pr100 { padding-right: 13.33333vw; }

@media screen and (min-width: 1000px) { .pr100 { padding-right: 100px; } }

.pb100 { padding-bottom: 13.33333vw; }

@media screen and (min-width: 1000px) { .pb100 { padding-bottom: 100px; } }

.pl100 { padding-left: 13.33333vw; }

@media screen and (min-width: 1000px) { .pl100 { padding-left: 100px; } }

.fs10 { font-size: 1em; }

.fs11 { font-size: 1.1em; }

.fs12 { font-size: 1.2em; }

.fs13 { font-size: 1.3em; }

.fs14 { font-size: 1.4em; }

.fs15 { font-size: 1.5em; }

/* -----------------------------------------------------------------
@mixin
------------------------------------------------------------------ */

.slide-item0 { opacity: 0; }	
.slide-item0.show { opacity: 1; }	
.slide-item1 { position: relative; top: 2.66667vw; left: 0; opacity: 0; -webkit-transition: opacity 0.8s,top 0.8s; -moz-transition: opacity 0.8s,top 0.8s; -ms-transition: opacity 0.8s,top 0.8s; -o-transition: opacity 0.8s,top 0.8s; transition: opacity 0.8s,top 0.8s; transition-delay: 0s; }	
.slide-item1.show { top: 0; opacity: 1; }	
.slide-item2 { position: relative; top: 2.66667vw; left: 0; opacity: 0; -webkit-transition: opacity 0.8s,top 0.8s; -moz-transition: opacity 0.8s,top 0.8s; -ms-transition: opacity 0.8s,top 0.8s; -o-transition: opacity 0.8s,top 0.8s; transition: opacity 0.8s,top 0.8s; transition-delay: 0.4s; }	
.slide-item2.show { top: 0; opacity: 1; }	
.slide-item3 { position: relative; top: 2.66667vw; left: 0; opacity: 0; -webkit-transition: opacity 0.8s,top 0.8s; -moz-transition: opacity 0.8s,top 0.8s; -ms-transition: opacity 0.8s,top 0.8s; -o-transition: opacity 0.8s,top 0.8s; transition: opacity 0.8s,top 0.8s; transition-delay: 0.8s; }	
.slide-item3.show { top: 0; opacity: 1; }	
.slide-item4 { position: relative; top: 2.66667vw; left: 0; opacity: 0; -webkit-transition: opacity 0.8s,top 0.8s; -moz-transition: opacity 0.8s,top 0.8s; -ms-transition: opacity 0.8s,top 0.8s; -o-transition: opacity 0.8s,top 0.8s; transition: opacity 0.8s,top 0.8s; transition-delay: 1.2s; }	
.slide-item4.show { top: 0; opacity: 1; }	
.slide-item5 { position: relative; top: 2.66667vw; left: 0; opacity: 0; -webkit-transition: opacity 0.8s,top 0.8s; -moz-transition: opacity 0.8s,top 0.8s; -ms-transition: opacity 0.8s,top 0.8s; -o-transition: opacity 0.8s,top 0.8s; transition: opacity 0.8s,top 0.8s; transition-delay: 1.6s; }	
.slide-item5.show { top: 0; opacity: 1; }


.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 .cont { opacity: 0; }

.top_index main.on #key { opacity: 0; }

.top_index main.on .cont { opacity: 1; }

.top_index main #key { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; align-items: flex-end; justify-content: center; width: 100%; height: 100vh; margin: 0 0 39.06667vw 0; }

.top_index main #key::before { content: ''; position: absolute; top: 0; left: 0; background: url(../images/key_bg_sp.jpg) center top no-repeat; background-size: 100% auto; width: 100%; height: 100vh; }

.top_index main #key .box { width: 80.8vw; }

.top_index main #key .box strong { display: block; width: 63.6vw; margin: 0 0 3.73333vw 0; overflow: hidden; }

.top_index main #key .box h1 { width: 100%; margin: 0 0 5.06667vw 0; }

.top_index main #key .box p { width: 54.53333vw; }

.top_index main #key span { display: none; }

.top_index main #mds {margin: 0 0 10vw 0;}

@media screen and (min-width: 1000px) { .top_index main #key { justify-content: flex-start; width: 100%; height: 100vh; margin: 0 0 16.33333vw 0; }
.top_index main #mds { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; align-items: flex-end; justify-content: center; width: 100%; height: 50vh; margin: 0 0 17vw 0; }

  .top_index main #key::before { content: ''; position: absolute; top: 0; left: 0; background: url(../images/key_bg.jpg) center top no-repeat; background-size: auto 100%; width: 100%; height: 100vh; }
  .top_index main #key .box { width: 78.25vw; margin: 0 0 9.58333vw 8.66667vw; }
  .top_index main #key .box strong { display: block; width: 23.08333vw; max-width: 277px; margin: 0 0 1.91667vw 0; }
  .top_index main #key .box h1 { width: 100%; max-width: 939px; margin: 0 0 1.91667vw 0; }
  .top_index main #key .box p { width: 27.25vw; max-width: 327px; }
  .top_index main #key span { display: block; position: absolute; bottom: 3.66667vw; right: 6.33333vw; width: 0.91667vw; max-width: 11px; } 
}


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

.top_index main .cont .title .title_box { overflow: hidden; }

.top_index main .cont .title .title_box .init { position: relative; top: 20.83333vw; left: 0; transition-delay: 0.4s; -webkit-transition: top 2s; -moz-transition: top 2s; -ms-transition: top 2s; -o-transition: top 2s; transition: top 2s; }

.top_index main .cont .title .title_box.show .init { top: 0; }

.top_index main .cont .title strong { display: block; font-size: 3.06667vw; text-align: center; line-height: 1.0; letter-spacing: 0.38em; }
.info_img{
    /*width: 50%;*/
    margin: 3% 0;
}

@media screen and (min-width: 1000px) { .top_index main .cont .title strong { font-size: 1vw; letter-spacing: 0.29em; } 
}
  
.top_index main #cont01 { position: relative; top: 0; left: 0; padding: 0 0 42.13333vw 0; }

.top_index main #cont01 .title { margin: 0 0 12.53333vw 0; }

.top_index main #cont01 .title h2 { width: 80.8vw; margin: 0 auto 3.73333vw auto; }

.top_index main #cont01 .flex .img { margin: 0 0 11.73333vw 0; }

.top_index main #cont01 .flex .img span { display: block; background: url(../images/cont01_img01.jpg) center top no-repeat; background-size: 100% auto; width: 85.2vw; height: 104.8vw; }

.top_index main #cont01 .flex .text { width: 82.26667vw; margin: 0 auto 14.66667vw auto; }

.top_index main #cont01 .flex .text .sub h3 { position: relative; top: 0; left: 0; font-size: 5.33333vw; line-height: 1.5; letter-spacing: 0.3em; margin: 0 0 8.53333vw 0; }

.top_index main #cont01 .flex .text .sub h3:before, .top_index main #cont01 .flex .text .sub h3:after { content: ''; display: block; position: absolute; bottom: -4vw; left: 0; background: #acb7bf; }

.top_index main #cont01 .flex .text .sub h3:before { width: 26.66667vw; height: 1px; }

.top_index main #cont01 .flex .text .sub h3:after { width: 5.86667vw; height: 2px; }

.top_index main #cont01 .flex .text .sub span { display: block; font-size: 2.93333vw; line-height: 1.59091; letter-spacing: 0.4em; }

.top_index main #cont01 .flex .text .sub strong { display: block; font-size: 4vw; letter-spacing: 0.4em; line-height: 1.16667; margin: 0.53333vw 0 6.66667vw 0; }

.top_index main #cont01 .flex .text p { font-size: 3.33333vw; letter-spacing: 0.02em; line-height: 1.88; }

.top_index main #cont01 .imgbox { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: flex-end; }

.top_index main #cont01 .imgbox strong { display: block; position: absolute; top: -9.06667vw; right: 30.4vw; width: 24.93333vw; z-index: 10; }

.top_index main #cont01 .imgbox p.img01 { width: 45.86667vw; }

.top_index main #cont01 .imgbox p.img01 span { display: block; background: url(../images/cont01_img02.jpg) center top no-repeat; background-size: 100% auto; width: 45.86667vw; height: 39.46667vw; }

.top_index main #cont01 .imgbox p.img02 { position: absolute; top: 24.26667vw; left: 30.26667vw; width: 31.06667vw; }

.top_index main #cont01 .imgbox p.img02 span { display: block; background: url(../images/cont01_img03.jpg) center top no-repeat; background-size: 100% auto; width: 31.06667vw; height: 38vw; }

.top_index main #cont01 h4 { position: absolute; top: 274.26667vw; left: 3.06667vw; width: 15.6vw; }

@media screen and (min-width: 1000px) { .top_index main #cont01 { position: relative; top: 0; left: 0; padding: 0 0 31.5vw 0; }
  .top_index main #cont01 .title { margin: 0 0 15.58333vw 0; }
  .top_index main #cont01 .title h2 { width: 43.41667vw; margin: 0 auto 1.91667vw auto; }
  .top_index main #cont01 .flex { position: relative; top: 0; left: 0; }
  .top_index main #cont01 .flex .img { position: absolute; top: -10.66667vw; left: 0; width: 51.83333vw; margin: 0; }
  .top_index main #cont01 .flex .img span { width: 51.83333vw; height: 61.58333vw; }
  .top_index main #cont01 .flex .text { position: relative; top: 0; left: 0; width: 42.66667vw; margin: 0 0 7.33333vw 55.41667vw; }
  .top_index main #cont01 .flex .text .sub h3 { font-size: 2.5vw; line-height: 1.5; margin: 0 0 3.91667vw 0; }
  .top_index main #cont01 .flex .text .sub h3:before, .top_index main #cont01 .flex .text .sub h3:after { bottom: -1.83333vw; }
  .top_index main #cont01 .flex .text .sub h3:before { width: 12.33333vw; height: 1px; }
  .top_index main #cont01 .flex .text .sub h3:after { width: 2.75vw; height: 2px; }
  .top_index main #cont01 .flex .text .sub span { font-size: 1.33333vw; line-height: 1.65625; letter-spacing: 0.41em; margin: 0 0 0.25vw 0; }
  .top_index main #cont01 .flex .text .sub strong { font-size: 1.66667vw; letter-spacing: 0.41em; line-height: 1.325; margin: 0 0 3.08333vw 0; }
  .top_index main #cont01 .flex .text p { font-size: 1.08333vw; letter-spacing: 0.15em; line-height: 2.30769; }
  .top_index main #cont01 .imgbox { padding: 0 6.5vw 0 0; }
  .top_index main #cont01 .imgbox strong { display: block; position: absolute; top: -6.83333vw; right: 23.41667vw; width: 10.66667vw; }
  .top_index main #cont01 .imgbox p.img01 { width: 25.83333vw; }
  .top_index main #cont01 .imgbox p.img01 span { width: 25.83333vw; height: 22.25vw; }
  .top_index main #cont01 .imgbox p.img02 { top: 13.5vw; left: auto; right: 27.91667vw; width: 17.5vw; }
  .top_index main #cont01 .imgbox p.img02 span { width: 17.5vw; height: 21.33333vw; }
  .top_index main #cont01 h4 { top: 37.16667vw; left: 2.5vw; width: 10.16667vw; }
.info_img{
    width: 50%;
} }

.top_index main #cont02 .flex { width: 100%; padding: 0 0 0 30vw; box-sizing: border-box; margin: 0 0 12vw 0; }

.top_index main #cont02 .flex .title { margin: 0 0 10.93333vw 0; }

.top_index main #cont02 .flex .title h2 { width: 53.86667vw; margin: 0 0 4.4vw 0; }

.top_index main #cont02 .flex .title strong { text-align: left; }

.top_index main #cont02 .flex .text strong { display: block; font-size: 5.33333vw; line-height: 1.5; letter-spacing: 0.3em; margin: 0 0 5.73333vw 0; }

.top_index main #cont02 .flex .text p { font-size: 3.33333vw; letter-spacing: 0.10em; line-height: 1.88; }

.top_index main #cont02 #movie { position: relative; top: 0; left: 0; margin: 0 0 29.86667vw 0; }

.top_index main #cont02 #movie div { display: none; position: absolute; top: 0; left: 0; width: 100%; }

.top_index main #cont02 #movie div::after { content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(../images/cont02_link.svg) center center no-repeat; background-size: 30.66667vw auto; }

@media screen and (min-width: 1000px) { .top_index main #cont02 .flex { padding: 0 0 0 24vw; margin: 0 0 7.08333vw 0; }
  .top_index main #cont02 .flex .title { margin: 0 0 9vw 0; }
  .top_index main #cont02 .flex .title h2 { width: 63.5vw; margin: 0 0 2.08333vw 0; }
  .top_index main #cont02 .flex .text strong { font-size: 2.5vw; line-height: 1.53333; letter-spacing: 0.3em; margin: 0 0 3.16667vw 0; }
  .top_index main #cont02 .flex .text p { font-size: 1.08333vw; letter-spacing: 0.10em; line-height: 2.53846; }
  .top_index main #cont02 #movie { position: relative; top: 0; left: 0; width: 100%; margin: 0 0 15vw 0; }
  .top_index main #cont02 #movie div { height: 100%; }
  .top_index main #cont02 #movie div img { opacity: 0; } }

.top_index main #cont03 .title { position: relative; top: 0; left: 0; padding: 45.73333vw 0 32vw 12.66667vw; box-sizing: border-box; }

.top_index main #cont03 .title .img p { position: absolute; }

.top_index main #cont03 .title .img p.img01 { top: 0; left: 0; width: 77.33333vw; }

.top_index main #cont03 .title .img p.img01 span { display: block; background: url(../images/cont03_img_sp.jpg) center top no-repeat; background-size: 100% auto; width: 77.33333vw; height: 49.46667vw; }

.top_index main #cont03 .title .img p.img02 { bottom: 8.26667vw; right: 0; width: 28.8vw; }

.top_index main #cont03 .title .img p.img02 span { display: block; background: url(../images/cont03_img_min.jpg) center top no-repeat; background-size: 100% auto; width: 28.8vw; height: 23.46667vw; }

.top_index main #cont03 .title h2 { width: 69.6vw; margin: 0 0 3.06667vw 0; }

.top_index main #cont03 .title strong { text-align: left; }

.top_index main #cont03 .box { margin: 0 0 14vw 0; }

.top_index main #cont03 .box dl dd { width: 81.33333vw; margin: 0 auto; padding: 10.26667vw 0 15.33333vw 0; }

.top_index main #cont03 .box dl dd h4 { font-size: 5.33333vw; line-height: 1.375; letter-spacing: 0.3em; margin: 0 0 8vw 0; }

.top_index main #cont03 .box dl dd h4:before, .top_index main #cont03 .box dl dd h4:after { content: ''; display: block; position: absolute; bottom: -3.33333vw; left: 0; background: #acb7bf; }

.top_index main #cont03 .box dl dd h4:before { width: 24.4vw; height: 1px; }

.top_index main #cont03 .box dl dd h4:after { width: 5.46667vw; height: 2px; }

.top_index main #cont03 .box dl dd strong { display: block; font-size: 3.8vw; line-height: 1.66667; letter-spacing: 0.23em; margin: 0 0 4.26667vw 0; }

.top_index main #cont03 .box dl dd p { font-size: 3.33333vw; line-height: 1.88; }

@media screen and (min-width: 1000px) { .top_index main #cont03 .title { padding: 17.5vw 0 24.83333vw 51.58333vw; }
  .top_index main #cont03 .title .img p.img01 { top: 0; left: 0; width: 72vw; }
  .top_index main #cont03 .title .img p.img01 span { background: url(../images/cont03_img.jpg) center top no-repeat; background-size: 100% auto; width: 72vw; height: 40vw; }
  .top_index main #cont03 .title .img p.img02 { bottom: 0; right: 17.66667vw; width: 20.75vw; }
  .top_index main #cont03 .title .img p.img02 span { width: 20.75vw; height: 16.91667vw; }
  .top_index main #cont03 .title h2 { width: 40.66667vw; margin: 0 0 2.16667vw 0; }
  .top_index main #cont03 .title strong { text-align: left; }
  .top_index main #cont03 .box { margin: 14.33333vw 0 18.66667vw 0; }
  .top_index main #cont03 .box dl { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; margin: 0 0 13.58333vw 0; }
  .top_index main #cont03 .box dl:last-child { margin: 0; }
  .top_index main #cont03 .box dl.right dt { order: 2; }
  .top_index main #cont03 .box dl.right dd { order: 1; padding: 1vw 5.5vw 0 0; }
  .top_index main #cont03 .box dl dt { width: 44.66667vw; }
  .top_index main #cont03 .box dl dd { width: 50.41667vw; margin: 0; padding: 2.5vw 0 0 5.08333vw; box-sizing: border-box; }
  .top_index main #cont03 .box dl dd h4 { font-size: 2.91667vw; line-height: 1.31429; margin: 0 0 4.16667vw 0; }
  .top_index main #cont03 .box dl dd h4:before, .top_index main #cont03 .box dl dd h4:after { bottom: -1.66667vw; }
  .top_index main #cont03 .box dl dd h4:before { width: 12.33333vw; }
  .top_index main #cont03 .box dl dd h4:after { width: 2.75vw; }
  .top_index main #cont03 .box dl dd strong { font-size: 1.65vw; line-height: 1.80952; letter-spacing: 0.13em; margin: 0 0 0.66667vw 0; }
  .top_index main #cont03 .box dl dd p { font-size: 1.08333vw; line-height: 2.30769; width: 41vw; } }

.top_index main #cont04 .title { margin: 0 0 16.8vw 0; }

.top_index main #cont04 .title h2 { width: 73.6vw; margin: 0 auto 3.73333vw auto; }

.top_index main #cont04 ul li { position: relative; top: 0; left: 0; margin: 0 0 19.73333vw 0; }

.top_index main #cont04 ul li h5 { margin: 0 auto 7.73333vw auto; }

.top_index main #cont04 ul li h5.img01 { width: 36.53333vw; }
.top_index main #cont04 ul li h5.img02 { width: 68.66667vw; }
.top_index main #cont04 ul li h5.img03 { width: 38.13333vw; }
.top_index main #cont04 ul li h5.img04 { width: 29vw; }
.top_index main #cont04 ul li h5.img05 { width: 29vw; }
.top_index main #cont04 ul li h5.img06 { width: 25vw; }
.top_index main #cont04 ul li h5.img07 { width: 20vw; }

.top_index main #cont04 ul li span { display: block; width: 66.66667vw; margin: 0 auto 6.93333vw auto; }

.top_index main #cont04 ul li strong { display: block; text-align: center; font-size: 4vw; line-height: 1.66667; letter-spacing: 0.23em; margin: 0 0 2.8vw 0; }

.top_index main #cont04 ul li p { text-align: center; font-size: 3.3vw; line-height: 1.875; letter-spacing: 0.15em; width: 60.53333vw; margin: 0 auto; }

.top_index main #cont04 ul li a { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

@media screen and (min-width: 1000px) { .top_index main #cont04 { margin: 0 0 16vw 0; }
  .top_index main #cont04 .title { margin: 0 0 9.83333vw 0; }
  .top_index main #cont04 .title h2 { width: 49.16667vw; margin: 0 auto 2vw auto; }
  .top_index main #cont04 ul { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; width: 76.83333vw; margin: 0 auto 60px; }
  .top_index main #cont04 ul li { width: 22.66667vw; margin: 0; }
  .top_index main #cont04 ul li h5 { margin: 0 0 3vw 0; }
  .top_index main #cont04 ul li h5.img01 { width: 14vw; }
  .top_index main #cont04 ul li h5.img02 { width: 22.33333vw; }
  .top_index main #cont04 ul li h5.img03 { width: 14.66667vw; }
  .top_index main #cont04 ul li h5.img04 { width: 11vw; }
  .top_index main #cont04 ul li h5.img05 { width: 11vw; }
  .top_index main #cont04 ul li h5.img06 { width: 7.5vw; }
  .top_index main #cont04 ul li h5.img07 { width: 6.5vw; }
  .top_index main #cont04 ul li span { width: 100%; margin: 0 0 2.16667vw 0; }
  .top_index main #cont04 ul li strong { text-align: left; font-size: 1.48333vw; line-height: 1.57895; letter-spacing: 0.20em; margin: 0 0 1.5vw 0; }
  .top_index main #cont04 ul li p { text-align: left; font-size: 1.08333vw; line-height: 2.30769; width: 100%; margin: 0; } }

.top_index main #cont05 .title { margin: 0 0 16.93333vw 0; }

.top_index main #cont05 .title h2 { width: 81.33333vw; margin: 0 auto 3.73333vw auto; }

.top_index main #cont05 ul li { position: relative; top: 0; left: 0; margin: 0 0 15.46667vw 0; }

.top_index main #cont05 ul li:last-child { margin: 0 0 30vw 0; }

.top_index main #cont05 ul li span { display: block; width: 66.66667vw; margin: 0 auto 7.86667vw auto; }

.top_index main #cont05 ul li h5 { margin: 0 auto 2.4vw auto; }

.top_index main #cont05 ul li h5.img01 { width: 36.53333vw; }

.top_index main #cont05 ul li h5.img02 { width: 66vw; }

.top_index main #cont05 ul li h5.img03 { width: 50.6vw; }

.top_index main #cont05 ul li h5.img04 { width: 37vw; }

.top_index main #cont05 ul li p { font-size: 3.2vw; line-height: 1.875; letter-spacing: 0.1em; width: 61.06667vw; margin: 0 auto; }

.top_index main #cont05 ul li a { display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

@media screen and (min-width: 1000px) { .top_index main #cont05 { margin: 0 0 15.25vw 0; }
  .top_index main #cont05 .title { margin: 0 0 9.83333vw 0; }
  .top_index main #cont05 .title h2 { width: 53.5vw; margin: 0 auto 2.08333vw auto; }
  .top_index main #cont05 ul { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; width: 76.83333vw; margin: 0 auto 60px; }
  .top_index main #cont05 ul li { width: 22.66667vw; margin: 0; }
  .top_index main #cont05 ul li:last-child { margin: 0; }
  .top_index main #cont05 ul li span { width: 100%; margin: 0 0 3.33333vw 0; }
  .top_index main #cont05 ul li h5 { margin: 0 0 2vw 0; }
  .top_index main #cont05 ul li h5.img01 { width: 9.5vw; }
  .top_index main #cont05 ul li h5.img02 { width: 22.3vw; }
  .top_index main #cont05 ul li h5.img03 { width: 22.5vw; }
  .top_index main #cont05 ul li h5.img04 { width: 13vw; }
  .top_index main #cont05 ul li p { font-size: 1.08333vw; line-height: 2.30769; width: 100%; margin: 0; } }

.top_index main #cont06 { margin: 0 0 30.93333vw 0; }

.top_index main #cont06 .title { margin: 0 0 12.93333vw 0; }

.top_index main #cont06 .title h2 { width: 62.4vw; margin: 0 auto 3.73333vw auto; }

.top_index main #cont06 .box { position: relative; top: 0; left: 0; border-top: 1px solid #d4d4d4; border-bottom: 1px solid #d4d4d4; width: 93.33333vw; height: 160vw; overflow-y: scroll; margin: 0 auto 3.73333vw auto; }

.top_index main #cont06 .box dl { border-bottom: 1px solid #d4d4d4; width: 88.26667vw; position: relative; top: 0; left: 0; }

.top_index main #cont06 .box dl:last-child { border: none; }

.top_index main #cont06 .box dl a { /*display: block; position: absolute;*/ top: 0; left: 0; width: 100%; height: 100%; }

.top_index main #cont06 .box dl dt { font-size: 3.33333vw; letter-spacing: 0.4em; padding: 12.26667vw 0 1.86667vw 0; }

.top_index main #cont06 .box dl dd { padding: 0 0 10.93333vw 0; }

.top_index main #cont06 .box dl dd strong { display: block; font-size: 3.33333vw; line-height: 2; letter-spacing: 0.26em; margin: 0 0 2.13333vw 0; }

.top_index main #cont06 .box dl dd p { font-size: 3.33333vw; line-height: 2; }

@media screen and (min-width: 1000px) { .top_index main #cont06 { margin: 0 0 15.83333vw 0; }
  .top_index main #cont06 .title { margin: 0 0 9.75vw 0; }
  .top_index main #cont06 .title h2 { width: 73vw; margin: 0 auto 2.08333vw auto; }
  .top_index main #cont06 .box { width: 80.83333vw; height: 30.83333vw; margin: 0 auto 2.33333vw auto; }
  .top_index main #cont06 .box dl { display: -webkit-flex; display: -ms-flex; display: flex; border-bottom: 1px solid #d4d4d4; width: 100%; }
  .top_index main #cont06 .box dl:last-child { border: none; }
  .top_index main #cont06 .box dl a { /*display: block; position: absolute;*/ top: 0; left: 0; width: 100%; height: 100%; }
  .top_index main #cont06 .box dl dt { font-size: 1vw; width: 23.5vw; padding: 2.08333vw 0 2vw 1.16667vw; box-sizing: border-box; }
  .top_index main #cont06 .box dl dd { width: 59.41667vw; padding: 1.83333vw 0 1.83333vw 0; box-sizing: border-box; font-size: 1.2em;}
  .top_index main #cont06 .box dl dd strong { font-size: 1.16667vw; line-height: 1.85714; margin: 0 0 1.5vw 0; }
  .top_index main #cont06 .box dl dd p { font-size: 1.08333vw; line-height: 2; } }

.top_index main #cont07 { margin: 0 0 30.66667vw 0; }

.top_index main #cont07 .title { margin: 0 0 12.93333vw 0; }

.top_index main #cont07 .title h2 { width: 67.33333vw; margin: 0 auto 3.73333vw auto; }

.top_index main #cont07 p { width: 90.66667vw; margin: 0 auto; }

.top_index main #cont07 p a { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; background: #bfd4e8 url(../images/icon01.svg) no-repeat; background-size: 1.73333vw auto; background-position: right 5.06667vw center; border-radius: 1.06667vw; color: #FFFFFF; font-size: 4.4vw; letter-spacing: 0.2em; width: 100%; height: 13.33333vw; padding: 0 0 0 8.66667vw; box-sizing: border-box; }

@media screen and (min-width: 1000px) { .top_index main #cont07 { margin: 0 0 16.66667vw 0; }
  .top_index main #cont07 .title { margin: 0 0 8.16667vw 0; }
  .top_index main #cont07 .title h2 { width: 72.91667vw; margin: 0 auto 2.08333vw auto; }
  .top_index main #cont07 p { width: 35.58333vw; }
  .top_index main #cont07 p a { background: #bfd4e8 url(../images/icon01.svg) no-repeat; background-size: 0.5vw auto; background-position: right 1.33333vw center; border-radius: 0; font-size: 1.08333vw; letter-spacing: 0.2em; height: 3.33333vw; padding: 0 0 0 8.91667vw; } }
