@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: #231815; font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", 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; color: #000; 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: #231815; 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
------------------------------------------------------------------ */
/* -----------------------------------------------------------------
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; padding-top: 2.66667vw; opacity: 0; -webkit-transition: opacity 2.4s,padding 2.4s; -moz-transition: opacity 2.4s,padding 2.4s; -ms-transition: opacity 2.4s,padding 2.4s; -o-transition: opacity 2.4s,padding 2.4s; transition: opacity 2.4s,padding 2.4s; transition-delay: 0s; }

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

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

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

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

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

.slide-item4 { position: relative; padding-top: 2.66667vw; opacity: 0; -webkit-transition: opacity 0.6s,padding 0.6s; -moz-transition: opacity 0.6s,padding 0.6s; -ms-transition: opacity 0.6s,padding 0.6s; -o-transition: opacity 0.6s,padding 0.6s; transition: opacity 0.6s,padding 0.6s; transition-delay: 1.0s; }

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

.slide-item5 { position: relative; padding-top: 2.66667vw; opacity: 0; -webkit-transition: opacity 0.6s,padding 0.6s; -moz-transition: opacity 0.6s,padding 0.6s; -ms-transition: opacity 0.6s,padding 0.6s; -o-transition: opacity 0.6s,padding 0.6s; transition: opacity 0.6s,padding 0.6s; transition-delay: 1.4s; }

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

.slide-item5 { position: relative; padding-top: 2.66667vw; opacity: 0; -webkit-transition: opacity 0.6s,padding 0.6s; -moz-transition: opacity 0.6s,padding 0.6s; -ms-transition: opacity 0.6s,padding 0.6s; -o-transition: opacity 0.6s,padding 0.6s; transition: opacity 0.6s,padding 0.6s; transition-delay: 1.8s; }

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

/* -----------------------------------------------------------------
ヘッダー
------------------------------------------------------------------ */
header { position: fixed; left: 0; top: 0; z-index: 20; width: 100%;  background: #666766; padding: 51px 0 32px 0; }

header .pc .flex { width: 100%; box-sizing: border-box; }

header .pc .flex nav { width: 1200px; margin: 0 auto; }

header .pc .flex nav p { text-align: right; padding: 0 25px 40px 0; }

header .pc .flex nav p a { display: inline-block; width: 100px; }

header .pc .flex nav ul { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; }

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

header .pc .flex nav ul li a { display: block; }
header h1.logo { width: 44px;
    margin: 0 auto 30px; }

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

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

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

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

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

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

header .pc .flex nav ul li a img.img07 { width: 117px; }

@media screen and (max-width: 1000px) { header { padding: 0; }
  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: 16.73333vw; padding: 0; }
  header .sp .logo_area .logo { width: 7vw;
    padding: 0;
    margin: 0 0 0 10vw; }
  header .sp .logo_area .link { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; width: auto; padding: 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: 20vw; height: 20vw; margin: 0; }
  header .sp .over { position: absolute; top: 17vw; left: 0; background: rgba(255, 255, 255, 0.95); width: 100%; height: 0; overflow: auto; }
  header .sp .over .box_area { width: 100%; }
  header .sp .over .area01 { padding: 0; }
  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%; } }

main { position: relative; top: 0; left: 0; padding: 180px 0 0 0; }

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

main .cont { max-width: 1200px; margin-right: auto; margin-left: auto; }

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; padding: 59px 0 0 0; }

footer h5 { width:52px; margin: 0 auto 30px auto; }

footer ul { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; margin: 0 0 22px 0; }

footer ul li { margin: 0 24px; }

footer ul li a { display: block; }

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

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

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

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

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

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

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

footer div { background: #000; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; width: 100%; height: 67px; }

footer div img { width: 178px; }
footer div .contact a img { width: 100px;  margin: 10px 0 0 20px;}

@media screen and (max-width: 1000px) { footer { padding: 0; }
  footer h5 { width: 7%;
    margin: 0 auto; }
  footer ul { display: block; margin: 0; }
  footer ul li { margin: 0; }
  footer ul li a { display: block; }
  footer ul li a img { width: 100% !important; }
  footer div { display: block; width: 100%; height: auto; }
  footer div img { width: 100%; } 
  .spnone{display: none;}}

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

/* -----------------------------------------------------------------
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
------------------------------------------------------------------ */
.top_index main #cont1 { position: relative; top: 0; left: 0; background: url(../images/cont_bg1.png) center top no-repeat; background-size: 100% auto; /*border-bottom: 1px solid #CBCBCB;*/ height: 687px; }

.top_index main #cont1 .inner h1 { position: absolute; top: 130px; right: 0; width: 604px; }

@media screen and (max-width: 1000px) { .top_index main #cont1 { background: url(../images/cont_bg1_sp.png) center top no-repeat; background-size: 100% auto; height: 122vw; border-bottom: none; }
  .top_index main #cont1 .inner h1 { top: 0; width: 100%; } }

.top_index main #cont2 { position: relative; top: 0; left: 0; background: url(../images/cont_bg2.png) center top no-repeat; background-size: 100% auto; height: 573px; }

.top_index main #cont2 .inner .img1 { position: absolute; top: 68px; left: 406px; width: 310px; }

.top_index main #cont2 .inner .img2 { position: absolute; top: 485px; left: 120px; width: 286px; }

.top_index main #cont2 .inner .img3 { position: absolute; top: 1262px; left: 176px; width: 610px; }

@media screen and (max-width: 1000px) { .top_index main #cont2 { background: url(../images/cont_bg2_sp.png) center top no-repeat; background-size: 100% auto; height: 124vw; }
  .top_index main #cont2 .inner .img1 { position: relative; top: 0; left: 0; width: 100%; }
  .top_index main #cont2 .inner .img2 { position: relative; top: 0; left: 0; width: 100%; }
  .top_index main #cont2 .inner .img3 { position: relative; top: 0; left: 0; width: 100%; } }

.top_index main #cont3 { position: relative; top: 0; left: 0; background: url(../images/cont_bg3.png) center top no-repeat; background-size: 100% auto; height: 881px; }

.top_index main #cont3 .inner p { position: absolute; top: 194px; left: 101px; width: 540px; }

@media screen and (max-width: 1000px) { .top_index main #cont3 { background: url(../images/cont_bg3_sp.png) center top no-repeat; background-size: 100% auto; height:121vw; }
  .top_index main #cont3 .inner p { position: relative; top: 0; left: 0; width: 100%; } }

.top_index main #cont4 { position: relative; top: 0; left: 0; background: url(../images/cont_bg4.png) center top no-repeat; background-size: 100% auto; height: 1030px; }

.top_index main #cont4 .inner p { position: absolute; top: 275px; left: 219px; width: 760px; }

@media screen and (max-width: 1000px) { .top_index main #cont4 { background: url(../images/cont_bg4_sp.png) center top no-repeat; background-size: 100% auto; height: 210vw; }
  .top_index main #cont4 .inner p { position: relative; top: 0; left: 0; width: 100%; } }

.top_index main #cont5 { position: relative; top: 0; left: 0; background: url(../images/cont_bg5.png) center top no-repeat; background-size: 100% auto; height: 739px; }

.top_index main #cont5 .inner p { position: absolute; top: 355px; left: 90px; width: 480px; }

@media screen and (max-width: 1000px) { .top_index main #cont5 { background: url(../images/cont_bg5_sp.png) center top no-repeat; background-size: 100% auto; height: 122vw; }
  .top_index main #cont5 .inner p { position: relative; top: 0; left: 0; width: 100%; } }

.top_index main #cont6 { position: relative; top: 0; left: 0; background: url(../images/cont_bg6.png) center top no-repeat; background-size: 100% auto; height: 932px; }

.top_index main #cont6 .inner p { position: absolute; top: 151px; left: 120px; width: 770px; }

@media screen and (max-width: 1000px) { .top_index main #cont6 { background: url(../images/cont_bg6_sp.png) center top no-repeat; background-size: 100% auto; height: 177vw; }
  .top_index main #cont6 .inner p { position: relative; top: 0; left: 0; width: 100%; } }

.top_index main #cont7 { position: relative; top: 0; left: 0; background: url(../images/cont_bg7.png) center top no-repeat; background-size: 100% auto; height: 700px; }

.top_index main #cont7 .inner .img1 { position: absolute; top: 328px; left: 97px; width: 460px; }

.top_index main #cont7 .inner .img2 { position: absolute; top: 811px; left: 119px; width: 955px; }

.info {
	margin: 1em auto;
    padding: 10em 1.5em 0;
    text-align: left;
    font-size: 2em;
    width: 80%;
    }
.info dl {padding: 0.8em 0;border-bottom: 1px solid #ccc;
display: flex;
  flex-wrap: wrap;}
.info dt {padding-bottom: 0; width:15%;}
.info dd {padding-bottom: 0; width:85%;}
@media screen and (max-width: 1000px) {
.info {
	margin: 1em auto;
    padding: 8em 1.5em 0;
    text-align: left;
    font-size: 1.5em;
    width: 80%;
    }
.info dt,.info dd {width:100%}
}

@media screen and (max-width: 1000px) { .top_index main #cont7 { background: url(../images/cont_bg7_sp.png) center top no-repeat; background-size: 100% auto; height: 170vw; }
  .top_index main #cont7 .inner .img1 { position: relative; top: 0; left: 0; width: 100%; }
  .top_index main #cont7 .inner .img2 { position: relative; top: 0; left: 0; width: 100%; } }

.top_index main #cont8 { position: relative; top: 0; left: 0; background: url(../images/cont_bg8.png) center top no-repeat; background-size: 100% auto; height: 750px; }

.top_index main #cont8 .inner p {margin: 0px auto; width: 366px;}
.top_index main #cont8 .inner p a {display: block; position: absolute; top: 480px;}


@media screen and (max-width: 1000px) { .top_index main #cont8 { background: url(../images/cont_bg8_sp.png) center top no-repeat; background-size: 100% auto; height: 123vw; }
  .top_index main #cont8 .inner p { position: relative; top: 0; left: 0; width: 100%; } }

@media screen and (max-width: 1000px) {
.top_index main #cont8 .inner p {margin: 0px auto; width: 70%;}
.top_index main #cont8 .inner p a {display: block; position: absolute; top: 80vw;}
}

.top_index main #cont9 { position: relative; top: 0; left: 0; background: url(../images/cont_bg9.png) center top no-repeat; background-size: 100% auto; height: 734px; }

.top_index main #cont9 .inner p { position: absolute; top: 157px; left: 122px; width: 952px; }

@media screen and (max-width: 1000px) { .top_index main #cont9 { background: url(../images/cont_bg9_sp.png) center top no-repeat; background-size: 100% auto; height: 122vw; }
  .top_index main #cont9 .inner p { position: relative; top: 0; left: 0; width: 100%; } }

.top_index main #cont10 { position: relative; top: 0; left: 0; background: url(../images/cont_bg10.png) center top no-repeat; background-size: 100% auto; height: 1439px; }

.top_index main #cont10 .inner .img1 { position: absolute; top: 211px; left: 199px; width: 340px; }

.top_index main #cont10 .inner .img2 { position: absolute; top: 589px; left: 122px; width: 953px; }

@media screen and (max-width: 1000px) { .top_index main #cont10 { background: url(../images/cont_bg10_sp.png) center top no-repeat; background-size: 100% auto; height: 552vw; }
  .top_index main #cont10 .inner .img1 { position: relative; top: 0; left: 0; width: 100%; }
  .top_index main #cont10 .inner .img2 { position: relative; top: 0; left: 0; width: 100%; } }

.top_index main #cont11 { position: relative; top: 0; left: 0; background: url(../images/cont_bg11.png) center top no-repeat; background-size: 100% auto; height: 687px; }

.top_index main #cont11 .inner p { position: absolute; top: 470px; left: 199px; width: 680px; }

@media screen and (max-width: 1000px) { .top_index main #cont11 { background: url(../images/cont_bg11_sp.png) center top no-repeat; background-size: 100% auto; height: 91.46667vw; }
  .top_index main #cont11 .inner p { position: relative; top: 0; left: 0; width: 100%; } }

.top_index main #cont12 { position: relative; top: 0; left: 0; background: url(../images/cont_bg12.png) center top no-repeat; background-size: 100% auto; height: 832px; }

.top_index main #cont12 .inner p { position: absolute; top: 96px; left: 119px; width: 858px; }

@media screen and (max-width: 1000px) { .top_index main #cont12 { background: url(../images/cont_bg12_sp.png) center top no-repeat; background-size: 100% auto; height: 245.33333vw; }
  .top_index main #cont12 .inner p { position: relative; top: 0; left: 0; width: 100%; } }

.top_index main #cont13 { position: relative; top: 0; left: 0; background: url(../images/cont_bg13.png) center top no-repeat; background-size: 100% auto; height: 692px; }

.top_index main #cont13 .inner p { position: absolute; top: 460px; left: 97px; width: 467px; }

@media screen and (max-width: 1000px) { .top_index main #cont13 { background: url(../images/cont_bg13_sp.png) center top no-repeat; background-size: 100% auto; height: 92.26667vw; }
  .top_index main #cont13 .inner p { position: relative; top: 0; left: 0; width: 100%; } }

.top_index main #cont14 { position: relative; top: 0; left: 0; background: url(../images/cont_bg14.png) center top no-repeat; background-size: 100% auto; height: 603px; }

.top_index main #cont14 .inner p { position: absolute; top: 92px; left: 120px; width: 862px; }

@media screen and (max-width: 1000px) { .top_index main #cont14 { background: url(../images/cont_bg14_sp.png) center top no-repeat; background-size: 100% auto; height: 188vw; }
  .top_index main #cont14 .inner p { position: relative; top: 0; left: 0; width: 100%; } }

.top_index main #cont15 { position: relative; top: 0; left: 0; background: url(../images/cont_bg15.png) center top no-repeat; background-size: 100% auto; height: 982px; }

.top_index main #cont15 .inner .img1 { position: absolute; top: 87px; left: 120px; width: 948px; }

@media screen and (max-width: 1000px) { .top_index main #cont15 { background: url(../images/cont_bg15_sp.png) center top no-repeat; background-size: 100% auto; height: 210.66667vw; }
  .top_index main #cont15 .inner .img1 { position: relative; top: 0; left: 0; width: 100%; } }
