@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 Sans JP' , "游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , 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; width: auto; height: 100%; margin: 0px auto; background-position: top; }

body .inter { font-family: 'Inter', sans-serif; }

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

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

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

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

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

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

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

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

a:hover { opacity: 0.7; }

a:link { outline: medium none; }

a:visited { outline: medium none; }

/* -----------------------------------------------------------------
@mixin
------------------------------------------------------------------ */
/* -----------------------------------------------------------------
base content
------------------------------------------------------------------ */
p.pagetop:hover { opacity: 0.7; }

.nolink { pointer-events: 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; } }

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

header { position: absolute; top: 0; left: 0; width: 100%; z-index: 900; }

header.top::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; }

header .inner { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; margin: 0 auto; }

#top-head,
#top-head:after,
#top-head h1,
nav {
    transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}
header.fixed {position: fixed; background: #FFF;}
header .inner div { display: -webkit-flex; display: -ms-flex; display: flex; align-items: flex-start; padding: 23px 0 0 28px; }
header.fixed .inner div { display: -webkit-flex; display: -ms-flex; display: flex; align-items: flex-start; padding: 20px 0 20px 30px; }

@media screen and (max-width: 1000px) { 
header.fixed .inner div { display: -webkit-flex; display: -ms-flex; display: flex; align-items: flex-start; padding: 8px 0 8px 15px; }
}

header .inner div h1 { width: 200px; }
header.fixed .inner div h1 { width: 120px; }

@media screen and (max-width: 1000px) { 
    header.fixed .inner div h1 { width: 80px; }
}

header .inner div h1.top { padding: 0 20px 30px 0; }
@media screen and (max-width: 1000px) {
header .inner div h1.top { background: #FFF; padding: 15px 12px 20px 15px; }
}
@media screen and (max-width: 1000px) {
header .inner div.logoPc { display: none;}
}
@media screen and (max-width: 1000px) {
header.sp .inner div.logo h1.top { background: #FFF; padding: 0 17px 30px 0; display: block;}
}

header.fixed .inner div h1.top { padding: 0 20px 0 0; }

@media screen and (max-width: 1000px) {
header.fixed .inner div h1.top { padding: 8px 40px 0 15px; }
}

header .inner div ul { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; padding: 15px 0 0 130px; }

header.fixed .inner div ul { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; padding: 20px 0 0 130px; }

header .inner div ul li { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; margin: 0 45px 0 0; }

header .inner div ul li::before { content: ''; display: block; background: #cccccc; width: 1px; height: 16px; margin: 0 50px 0 0; }

header .inner div ul li:first-child::before { display: none; }

header .inner div ul li a { position: relative; top: 0; left: 0; color: #000000; font-size: 16px; letter-spacing: 0.2em; }

header .inner div ul li a::after { content: ''; display: block; position: absolute; bottom: -17px; left: 0; background: #990238; width: 100%; height: 0; -webkit-transition: 0.30s; -moz-transition: 0.30s; -ms-transition: 0.30s; -o-transition: 0.30s; transition: 0.30s; }

header .inner div ul li a:hover::after, header .inner div ul li a.on::after { height: 3px; }

header .inner div p { margin: 22px 0 0 38px; }

header .inner div p a { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; color: #000000; font-size: 14px; }

header .inner div p a em { display: block; width: 18px; margin: 0 8px 0 0; }

header .inner p.right { padding: 30px 30px 0 0; }

header .inner p.right a { display: block; width: 84px; }

@media screen and (max-width: 1000px) { header.sp { z-index: 100; }
  header.sp .inner div { justify-content: flex-start; padding: 0; }

  header.sp.fixed .inner div { justify-content: flex-start; padding: 0; }
    
  header.sp .inner div ul { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; padding: 0; }
    
@media screen and (max-width: 1000px) { 
    header.sp .inner div ul { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; padding: 0; }
}
    
    
  header.sp .inner div ul li { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; margin: 0 3.06667vw 0 0; }
  header.sp .inner div ul li::before { content: ''; display: block; background: #cccccc; width: 1px; height: 3.73333vw; margin: 0 3.73333vw 0 0; }
  header.sp .inner div ul li:first-child::before { display: none; }
  header.sp .inner div ul li a { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; color: #000000; font-size: 3.0vw; letter-spacing: 0.2em; width: 100%; height: 14.93333vw; }
  header.sp .inner div ul li a:hover::after { display: none; }
  header.sp .inner div ul li a.on::after { content: ''; display: block; position: absolute; bottom: 0vw; left: 0; background: #990238; width: 100%; height: 0.8vw; }
  header .inner { width: 100%; }
  header .inner div { justify-content: space-between; width: 100%; padding: 2.93333vw 4.8vw 0 2.8vw; }
  header .inner div h1 { width: 33.6vw; }
  header .inner div p { position: fixed; top: 6.4vw; right: 4.8vw; margin: 0; z-index: 10; }
  header .inner div p a { font-size: 3.2vw; }
  header .inner div p a em { width: 4vw; margin: 0 2.13333vw 0 0; } }

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

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

footer {position: relative; top: 0; left: 0; background: #191919; padding: 74px 0 92px 0; }

footer .comArea {color: white; margin-bottom: 4em;}
footer .comArea p {font-weight: 500; color: #CCC; font-size: 1.5em;}
footer .comArea ul {overflow: hidden; width: 60%; margin: 0 auto;}
footer .comArea ul li {float: left; margin-right: 20px; padding-right: 20px; border-right: 1px solid #333; width: calc(50% - 31px); text-align: center; font-size: 1.2em; color: #999; line-height: 180%;}
footer .comArea ul li:last-child {margin: 0; border: none;} 

footer span { display: block; margin-bottom: 10px; text-align: center;}

footer p { color: #cccccc; text-align: center; font-size: 13px; line-height: 1.76923; margin: 0 0 20px 0; }

footer ul.sns { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; margin: 0 0 44px 0;  clear: both;}

footer ul.sns li { height: 27px; margin: 0 12px; }

footer ul.sns li img { width: auto; height: 100%; }

footer strong { display: block; text-align: center; font-size: 11px; color: #cccccc; }

@media screen and (max-width: 1000px) { footer { padding: 14vw 0 21.06667vw 0; }
  footer p { font-size: 3.06667vw; margin: 0 0 3.73333vw 0; }
  footer ul.sns { margin: 0 0 12.66667vw 0; }
  footer ul.sns li { height: 5.6vw; margin: 0 2.26667vw; }
  footer strong { font-size: 2.66667vw; line-height: 1.76923; }
    
    footer .comArea p {font-weight: 500; color: #CCC; font-size: 1.3em;}
footer .comArea ul {overflow: hidden; width: 90%; margin: 0 auto;}
footer .comArea ul li {float:none; margin:0 0 10px 0; padding-right: 0; border-right: 1px solid #333; width: 100%; text-align: center; font-size: 1.0em; color: #999; line-height: 180%;}
footer .comArea ul li:last-child {margin: 0; border: 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
------------------------------------------------------------------ */
.box_img { position: absolute; top: 0; left: 0; width: 100%; z-index: 100; }

.box_img img { width: 100%; max-width: 1366px; margin: 0 auto; opacity: 0.4; }

.achivement main { padding: 0; }

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

.achivement main #key { position: relative; top: 0; left: 0; background: url(../images/achivement/key.jpg) center center no-repeat; background-size: cover; width: 100%; height: 542px; }

.achivement main #key .inner { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; flex-direction: column; max-width: 1050px; width: 100%; height: 100%; margin: 0 auto; }

.achivement main #key .inner h2 { position: relative; top: 0; left: 0; font-family: 'Poppins', sans-serif; font-size: 90px; letter-spacing: -0.01em; line-height: 1; width: 100%; padding: 68px 0 2px 0; }

.achivement main #key .inner strong { display: block; font-size: 20px; color: #990238; letter-spacing: 0.22em; }

@media screen and (max-width: 1000px) { .achivement main #key { background: url(../images/achivement/key_sp.jpg) center center no-repeat; background-size: cover; height: 80vw; }
  .achivement main #key .inner { justify-content: center; max-width: 140vw; padding: 0 0 0 6.13333vw; box-sizing: border-box; }
  .achivement main #key .inner h2 { font-size: 10.93333vw; padding: 0 0 1.33333vw 0; margin: -5.33333vw 0 0 0; }
  .achivement main #key .inner strong { font-size: 3.46667vw; } }

.achivement main #cont01 { position: relative; top: 0; left: 0; max-width: 1366px; padding: 90px 0 0 0; margin: 0 auto; }

.achivement main #cont01 h3 { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; font-size: 30px; letter-spacing: 0.1em; font-weight: bold; margin: 0 0 45px 0; }

.achivement main #cont01 h3::before, .achivement main #cont01 h3::after { content: ''; display: block; background: #000000; width: 68px; height: 3px; margin: 8px 22px 0px 22px; }

.achivement main #cont01 h3 em { color: #990238; font-weight: bold; }

.achivement main #cont01 dl { display: -webkit-flex; display: -ms-flex; display: flex; overflow: hidden; margin: 0 0 20px 0; }

.achivement main #cont01 dl dt { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; background: #0c529b; width: 48.5%; box-sizing: border-box; }

.achivement main #cont01 dl dt div { width: 485px; padding: 66px 0 0 20px; }

.achivement main #cont01 dl dt div strong { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; color: #FFFFFF; font-weight: bold; font-size: 20px; line-height: 1.5; margin: 0 0 2px 0; }

.achivement main #cont01 dl dt div strong em { display: block; font-family: 'Lato', sans-serif; font-size: 60px; font-weight: bold; width: 70px; }

.achivement main #cont01 dl dt div p { font-size: 15px; line-height: 2.4; color: #FFFFFF; padding: 0 0 0 70px; }

.achivement main #cont01 dl dd { position: relative; top: 0; left: 0; width: 51.5%; }

.achivement main #cont01 dl dd:after { position: absolute; bottom: 0; left: 0; content: ''; display: block; width: 0; height: 0; border-style: solid; border-width: 34.77306vw 45px 0 0; border-color: #0c529b transparent transparent transparent; }

@media screen and (max-width: 1000px) { .achivement main #cont01 { padding: 11.33333vw 0 0 0; }
  .achivement main #cont01 h3 { display: block; font-size: 5.33333vw; line-height: 1.35; text-align: center; margin: 0 0 5.2vw 0; }
  .achivement main #cont01 h3::before, .achivement main #cont01 h3::after { display: none; }
  .achivement main #cont01 dl { display: block; margin: 0; }
  .achivement main #cont01 dl dt { width: 100%; }
  .achivement main #cont01 dl dt div { width: 100%; padding: 7.73333vw 4.66667vw 9.33333vw 3.73333vw; }
  .achivement main #cont01 dl dt div strong { font-size: 4.26667vw; line-height: 1.25; margin: 0 0 2.26667vw 0; }
  .achivement main #cont01 dl dt div strong em { font-size: 8vw; width: 9.33333vw; }
  .achivement main #cont01 dl dt div p { font-size: 3.46667vw; line-height: 1.84615; padding: 0; }
  .achivement main #cont01 dl dd { width: 100%; }
  .achivement main #cont01 dl dd:after { display: none; } }

.achivement main #cont02 { position: relative; top: 0; left: 0; background: url(../images/achivement/bg.jpg) center center no-repeat; background-size: cover; padding: 81px 0 116px 0; }

.achivement main #cont02 .inner { max-width: 1162px; margin: 0 auto; }

.achivement main #cont02 .inner h3 { text-align: center; color: #0c529b; font-size: 30px; font-weight: bold; letter-spacing: 0.13em; line-height: 2.33333; margin: 0 0 46px 0; }

.achivement main #cont02 .inner h3 span { position: relative; top: 0; left: 0; display: inline-block; }

.achivement main #cont02 .inner h3 span::after { position: absolute; bottom: 5px; left: 0; content: ''; display: block; background: #0c529b; width: 100%; height: 2px; }

.achivement main #cont02 .inner h3 em { font-weight: bold; color: #990238; }

.achivement main #cont02 .inner ul { display: -webkit-flex; display: -ms-flex; display: flex; flex-wrap: wrap; justify-content: space-between; }

.achivement main #cont02 .inner ul li { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; flex-direction: column; border: #0c529b solid 1px; border-radius: 10px; width: 564px; height: 520px; padding: 70px 0 0 0; box-sizing: border-box; margin: 0 0 30px 0; }

.achivement main #cont02 .inner ul li.img01 { background: #FFFFFF url(../images/achivement/cont02_img01.png) right bottom no-repeat; background-size: 355px auto; }

.achivement main #cont02 .inner ul li.img02 { background: #FFFFFF url(../images/achivement/cont02_img02.png) right bottom no-repeat; background-size: 355px auto; }

.achivement main #cont02 .inner ul li.img03 { background: #FFFFFF url(../images/achivement/cont02_img03.png) right bottom no-repeat; background-size: 355px auto; }

.achivement main #cont02 .inner ul li.img04 { background: #FFFFFF url(../images/achivement/cont02_img04.png) right bottom no-repeat; background-size: 355px auto; }

.achivement main #cont02 .inner ul li h4 { border-bottom: 1px solid #0c529b; text-align: center; font-weight: bold; color: #0c529b; font-size: 28px; letter-spacing: 0.08em; padding: 0 0 5px 0; margin: 0 0 50px 0; }

.achivement main #cont02 .inner ul li div p { display: -webkit-flex; display: -ms-flex; display: flex; align-items: baseline; justify-content: center; flex-wrap: wrap; color: #0c529b; font-size: 50px; line-height: 1; letter-spacing: 0.1em; font-weight: bold; }

.achivement main #cont02 .inner ul li div p strong { font-family: 'Lato', sans-serif; font-size: 180px; line-height: 1; font-weight: bold; letter-spacing: -0.025em; margin: 0 10px -8px 0; display:block; }

.achivement main #cont02 .inner .block { border: #0c529b solid 1px; border-radius: 10px; background: #FFFFFF url(../images/achivement/cont02_img05.png) right bottom no-repeat; background-size: 355px auto; padding: 55px 0 68px 0; }

.achivement main #cont02 .inner .block h4 { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; text-align: center; font-weight: bold; color: #0c529b; font-size: 28px; letter-spacing: 0.08em; margin: 0 0 17px 0; }

.achivement main #cont02 .inner .block h4 span { border-bottom: 1px solid #0c529b; padding: 0 0 6px 0; }

.achivement main #cont02 .inner .block ol { width: 870px; margin: 0 auto; }

.achivement main #cont02 .inner .block ol li { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; border-bottom: dashed 2px #0c529b; padding: 16px 0 20px 0; }

.achivement main #cont02 .inner .block ol li span { display: block; width: 100px; margin: 0 47px 0 0; }

.achivement main #cont02 .inner .block ol li p { font-size: 30px; color: #0c529b; font-weight: bold; margin: 13px 0 0 0; }

@media screen and (max-width: 1000px) { .achivement main #cont02 { padding: 10.4vw 0 13.86667vw 0; }
  .achivement main #cont02 .inner h3 { font-size: 5.33333vw; line-height: 1.35; margin: 0 0 7.06667vw 0; }
  .achivement main #cont02 .inner h3 span { display: inline; font-size: 95%; letter-spacing: 0.07em; }
  .achivement main #cont02 .inner h3 span::after { display: none; }
  .achivement main #cont02 .inner ul { display: block; }
  .achivement main #cont02 .inner ul li { border-radius: 1.33333vw; width: 92vw; height: 69.33333vw; padding: 9.6vw 0 0 0; margin: 0 auto 2.66667vw auto; }
  .achivement main #cont02 .inner ul li.img01 { background: #FFFFFF url(../images/achivement/cont02_img01.png) right bottom no-repeat; background-size: 47.33333vw auto; }
  .achivement main #cont02 .inner ul li.img02 { background: #FFFFFF url(../images/achivement/cont02_img02.png) right bottom no-repeat; background-size: 47.33333vw auto; }
  .achivement main #cont02 .inner ul li.img03 { background: #FFFFFF url(../images/achivement/cont02_img03.png) right bottom no-repeat; background-size: 47.33333vw auto; }
  .achivement main #cont02 .inner ul li.img04 { background: #FFFFFF url(../images/achivement/cont02_img04.png) right bottom no-repeat; background-size: 47.33333vw auto; }
  .achivement main #cont02 .inner ul li h4 { font-size: 3.73333vw; padding: 0 0 0.66667vw 0; margin: 0 0 1.6vw 0; }
  .achivement main #cont02 .inner ul li div p { font-size: 8vw; }
  .achivement main #cont02 .inner ul li div p strong { font-size: 34.66667vw; margin: 0 1.33333vw -1.06667vw 0; }
  .achivement main #cont02 .inner .block { border-radius: 1.33333vw; background: #FFFFFF url(../images/achivement/cont02_img05.png) right bottom no-repeat; background-size: 47.33333vw auto; width: 92vw; padding: 8.4vw 5.06667vw 10.4vw 5.06667vw; margin: 0 auto; box-sizing: border-box; }
  .achivement main #cont02 .inner .block h4 { font-size: 3.73333vw; margin: 0 0 5.73333vw 0; }
  .achivement main #cont02 .inner .block h4 span { padding: 0 0 0.8vw 0; }
  .achivement main #cont02 .inner .block ol { width: 100%; }
  .achivement main #cont02 .inner .block ol li { padding: 1.6vw 0 3.73333vw 0; }
  .achivement main #cont02 .inner .block ol li span { width: 13.33333vw; margin: 0 2.93333vw 0 0; }
  .achivement main #cont02 .inner .block ol li p { font-size: 4.8vw; width: 65.6vw; margin: 1.73333vw 0 0 0; } }

.achivement main #cont03 { position: relative; top: 0; left: 0; background: #bdd5e1; padding: 102px 0 110px 0; }

.achivement main #cont03 .inner { max-width: 1110px; }

.achivement main #cont03 .inner h3 { font-size: 38px; line-height: 1.57895; font-weight: bold; text-align: center; letter-spacing: 0.08em; margin: 0 0 63px 0; }

.achivement main #cont03 .inner h4 { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; font-size: 30px; letter-spacing: 0.1em; font-weight: bold; margin: 0 0 35px 0; }

.achivement main #cont03 .inner h4::before, .achivement main #cont03 .inner h4::after { content: ''; display: block; background: #000000; width: 78px; height: 3px; margin: 6px 24px 0 24px; }

.achivement main #cont03 .inner h4 em { color: #990238; font-weight: bold; }

.achivement main #cont03 .inner .block { display: -webkit-flex; display: -ms-flex; display: flex; align-items: flex-start; margin: 0 0 30px 0; }

.achivement main #cont03 .inner .block .img { position: relative; top: 0; left: 0; width: 56px; margin: 0 48px 0 0; }

.achivement main #cont03 .inner .block .img.right { order: 1; margin: 0 0 0 50px; }

.achivement main #cont03 .inner .block .img span { position: absolute; bottom: -25px; left: 0; display: block; font-size: 16px; line-height: 1; text-align: center; width: 100%; }

.achivement main #cont03 .inner .block .text { position: relative; top: 0; left: 0; display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; border-radius: 10px; background: #FFFFFF; font-size: 16px; font-weight: bold; line-height: 1.875; letter-spacing: 0.11em; width: 900px; padding: 29px 48px 31px 48px; box-sizing: border-box; }

.achivement main #cont03 .inner .block .text::before { content: ''; display: block; position: absolute; top: 50%; left: -20px; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); width: 0; height: 0; border-style: solid; border-width: 9px 20px 9px 0; border-color: transparent #FFFFFF transparent transparent; }

.achivement main #cont03 .inner .block .text.left { order: 0; margin: 0 0 0 105px; }

.achivement main #cont03 .inner .block .text.left::before { display: none; }

.achivement main #cont03 .inner .block .text.left::after { content: ''; display: block; position: absolute; top: 50%; left: auto; right: -20px; transform: translateY(-50%); -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); width: 0; height: 0; border-style: solid; border-width: 9px 0 9px 20px; border-color: transparent transparent transparent #FFFFFF; }

@media screen and (max-width: 1000px) { .achivement main #cont03 { padding: 11.73333vw 0 8vw 0; }
  .achivement main #cont03 .inner h3 { font-size: 5.33333vw; line-height: 1.35; margin: 0 0 10.93333vw 0; }
  .achivement main #cont03 .inner h4 { font-size: 5.33333vw; margin: 0 0 6vw 0; }
  .achivement main #cont03 .inner h4::before, .achivement main #cont03 .inner h4::after { display: none; }
  .achivement main #cont03 .inner .block { width: 92vw; margin: 0 auto 4.4vw auto; }
  .achivement main #cont03 .inner .block .img { width: 9.06667vw; margin: 0 6.4vw 0 0; }
  .achivement main #cont03 .inner .block .img.right { margin: 0 0 0 6.13333vw; }
  .achivement main #cont03 .inner .block .img span { bottom: -3.33333vw; font-size: 2.66667vw; }
  .achivement main #cont03 .inner .block .text { border-radius: 1.33333vw; font-size: 3.46667vw; line-height: 1.61538; width: 76.26667vw; padding: 4vw 5.6vw 4.66667vw 7.33333vw; }
  .achivement main #cont03 .inner .block .text::before { left: -2.66667vw; border-width: 1.2vw 2.66667vw 1.2vw 0; border-color: transparent #FFFFFF transparent transparent; }
  .achivement main #cont03 .inner .block .text.left { margin: 0; padding: 4vw 5.6vw 4.66667vw 6vw; }
  .achivement main #cont03 .inner .block .text.left::after { right: -2.66667vw; border-width: 1.2vw 0 1.2vw 2.66667vw; border-color: transparent transparent transparent #FFFFFF; } }

.achivement main #cont04 { position: relative; top: 0; left: 0; background: #f1f1f1; padding: 99px 0 108px 0; }

.achivement main #cont04 .inner { max-width: 1190px; }

.achivement main #cont04 .inner h3 { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; font-size: 30px; letter-spacing: 0.1em; font-weight: bold; margin: 0 0 64px 0; }

.achivement main #cont04 .inner h3::before, .achivement main #cont04 .inner h3::after { content: ''; display: block; background: #000000; width: 78px; height: 3px; margin: 5px 24px 0px 24px; }

.achivement main #cont04 .inner h3 em { color: #990238; font-weight: bold; }

.achivement main #cont04 .inner ul { display: -webkit-flex; display: -ms-flex; display: flex; flex-wrap: wrap; justify-content: space-between; }

.achivement main #cont04 .inner ul li { position: relative; top: 0; left: 0; background: url(../images/achivement/cont04_img.png) center top no-repeat; background-size: cover; width: 285px; height: 348px; }

.achivement main #cont04 .inner ul li .title { position: absolute; top: -11px; left: 0; width: 252px; }

.achivement main #cont04 .inner ul li .title div { border-top: 1px solid #000000; border-bottom: 1px solid #000000; text-align: center; font-size: 14px; width: 64px; padding: 3px 0 3px 0; margin: 0 auto; }

.achivement main #cont04 .inner ul li .text { width: 252px; padding: 78px 0 0 0; }

.achivement main #cont04 .inner ul li .text p { font-size: 15px; line-height: 2; text-align: center; font-weight: bold; width: 190px; margin: 0 auto; }

@media screen and (max-width: 1000px) { .achivement main #cont04 { padding: 11.33333vw 0 2.93333vw 0; }
  .achivement main #cont04 .inner h3 { font-size: 5.33333vw; margin: 0 0 11.33333vw 0; }
  .achivement main #cont04 .inner h3::before, .achivement main #cont04 .inner h3::after { display: none; }
  .achivement main #cont04 .inner ul { margin: 0 0 0 2.66667vw; }
  .achivement main #cont04 .inner ul li { width: 46.66667vw; height: 57.33333vw; margin: 0 0 11.73333vw 0; }
  .achivement main #cont04 .inner ul li .title { top: -2.66667vw; width: 43.73333vw; }
  .achivement main #cont04 .inner ul li .title div { font-size: 2.4vw; width: 11.2vw; padding: 0.66667vw 0 0.4vw 0; }
  .achivement main #cont04 .inner ul li .text { width: 43.73333vw; padding: 9.33333vw 0 0 0; }
  .achivement main #cont04 .inner ul li .text p { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; align-items: center; font-size: 3.2vw; line-height: 1.625; width: 28.66667vw; height: 26vw; } }

/* インタビュー動画 */
.achivement main .interview { position: relative; top: 0; left: 0; max-width: 1366px; padding: 90px 0 145px 0; margin: 0 auto; }

.achivement main .interview h3 { text-align: center; font-weight: bold; font-size: 24px; letter-spacing: 0.1em; margin: 0 0 35px 0; }

.achivement main .interview .flex { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; border: 1px solid #cccccc; background: #f2f2f2; width: 1160px; margin: 0 auto 30px; padding: 72px 74px 73px 83px; box-sizing: border-box; }

.achivement main .interview .flex .left { position: relative; top: 0; left: 0; width: 455px; padding: 74px 0 0 0; }

.achivement main .interview .flex .left span { display: block; position: absolute; top: 0; left: 0; width: 913px; }

.achivement main .interview .flex .left div { position: relative; top: 0; left: 0; }

.achivement main .interview .flex .left div h3 { font-size: 24px; line-height: 1.66667; font-weight: bold; text-align: left; letter-spacing: 0.2em; margin: 0; }

.achivement main .interview .flex .left div h3 em { color: #990238; font-weight: bold; }

.achivement main .interview .flex .left div strong { display: block; font-size: 18px; font-weight: bold; letter-spacing: 0.2em; margin: 6px 0 22px 0; }

.achivement main .interview .flex .left div p { font-size: 15px; line-height: 2; letter-spacing: 0.2em; width: 455px; }

.achivement main .interview .flex .right { position: relative; top: 0; left: 0; width: 460px; order: 1; z-index: 1; }

@media screen and (max-width: 1000px) { .achivement main .interview { padding: 11.2vw 0 16.53333vw 0; }
  .achivement main .interview h3 { font-size: 5.33333vw; line-height: 1.75; margin: 0 0 3.86667vw 0; }
  .achivement main .interview h3 em { display: none; }
  .achivement main .interview .flex { display: block; background: #fbfbfb; width: 92vw; padding: 0; }
  .achivement main .interview .flex .left { width: 100%; padding: 21.33333vw 5.33333vw 9.6vw 6vw; box-sizing: border-box; overflow-x: hidden; }
  .achivement main .interview .flex .left span { top: 8.66667vw; left: 6vw; width: 158.26667vw; }
  .achivement main .interview .flex .left div h3 { font-size: 5.33333vw; line-height: 1.5; }
  .achivement main .interview .flex .left div h3 em { display: inline; }
  .achivement main .interview .flex .left div strong { font-size: 3.46667vw; margin: 0.8vw 0 4.53333vw 0; }
  .achivement main .interview .flex .left div p { font-size: 3.73333vw; line-height: 1.78571; width: 100%; }
  .achivement main .interview .flex .right { width: 100%; } }



.list_index main { padding: 0; }

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

.list_index main #key { position: relative; top: 0; left: 0; background: url(../images/list/bg.jpg) center center no-repeat; background-size: cover; width: 100%; height: 542px; }

.list_index main #key .inner { display: -webkit-flex; display: -ms-flex; display: flex; align-items: flex-end; max-width: 1050px; width: 100%; height: 100%; margin: 0 auto; }

.list_index main #key .inner h2 { position: relative; top: 0; left: 0; width: 715px; padding: 0 0 88px 0; }

@media screen and (max-width: 1000px) { .list_index main #key { background: url(../images/list/bg_sp.jpg) center center no-repeat; background-size: cover; height: 80vw; }
  .list_index main #key .inner { justify-content: center; max-width: 140vw; }
  .list_index main #key .inner h2 { width: 86.93333vw; padding: 0 0 23.73333vw 0; } }

.list_index main #cont01 { position: relative; top: 0; left: 0; max-width: 1366px; padding: 84px 0 97px 0; margin: 0 auto; }

@media screen and (max-width: 1000px) {
.list_index main #cont01 { position: relative; top: 0; left: 0; max-width: 1366px; padding: 20px 0 0 0; margin: 0 auto; }
.list_index main #cont01 .inner { position: relative; top: 0; left: 0; max-width: 1366px; padding: 40px 0; margin: 0 auto; }
}
.list_index main #cont01 .img { display: block; position: absolute; top: 0; right: 0; width: 453px; z-index: 0; }

.list_index main #cont01 .inner { max-width: 1050px; width: 92.53333vw; margin: 0 auto;}

.list_index main #cont01 .inner h3 { font-size: 30px; font-weight: bold; line-height: 1.6; letter-spacing: 0.2em; margin: 0 0 21px 0; }

.list_index main #cont01 .inner h3 em { color: #990238; font-weight: bold; }

.list_index main #cont01 .inner p { width: 685px; font-size: 15px; letter-spacing: 0.2em; line-height: 2.4; }

@media screen and (max-width: 1000px) {
.list_index main #cont01 .inner p { width: 98%; margin: 0 auto; font-size: 15px; letter-spacing: 0.2em; line-height: 2.4; }
}

.list_index main #cont01 .inner div { margin: 74px 0 0 0; position: relative; z-index: 10;}

@media screen and (max-width: 1000px) {
.list_index main #cont01 .inner div { margin: 30px 0 0 0; position: relative; z-index: 10;}
}

.list_index main #cont01 .inner div strong { display: block; font-weight: bold; font-size: 18px; line-height: 1.77778; margin: 0 0 34px 0; }

.list_index main #cont01 .inner div strong em { font-size: 12px; font-weight: bold; }

.list_index main #cont01 .inner div strong span { font-weight: normal; display: block; font-size: 13px; margin: 2px 0 0 0; }

.list_index main #cont01 .inner div p.style01 { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; width: 857px; }
.list_index main #cont01 .inner div p.style02 { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; width: 800px; }


/**/
.list_index main #cont01 div ul {overflow: hidden;}
.list_index main #cont01 div ul li {width: 15.8%; margin:0 1% 10px 0; float: left;}

@media screen and (max-width: 1000px) {
    .list_index main #cont01 div ul li {width: 32%; margin:0 2% 10px 0; float: left;}
}

.list_index main #cont01 div ul li:nth-child(6n) {margin-right: 0;}
@media screen and (max-width: 1000px) {
    .list_index main #cont01 div ul li:nth-child(3n) {margin-right: 0;}
}

@media screen and (max-width: 1000px) {
.list_index main #cont01 .inner div p.style01 { display:inline-block; width: 100%!important; }
.list_index main #cont01 .inner div p.style02 { display:inline-block; width: 100%!important; }
.list_index main #cont01 .inner div p span { display: inline-block!important; margin-right: 20px; }
.list_index main #cont01 .inner div p span.img00 { width: calc(115px*0.8)!important; padding: 20px 0 0 0; }
.list_index main #cont01 .inner div p span.img01 { width: calc(107px*0.8)!important; padding: 30px 0 0 0; }
.list_index main #cont01 .inner div p span.img02 { width: calc(170px*0.8)!important; padding: 30px 0 0 0; }
.list_index main #cont01 .inner div p span.img03 { width: calc(200px*0.8)!important; }
.list_index main #cont01 .inner div p span.img04 { width: calc(140px*0.8)!important; padding: 10px 0 0 0; }
.list_index main #cont01 .inner div p span.img05 { width: calc(146px*0.8)!important; padding: 10px 0 0 0; }
.list_index main #cont01 .inner div p span.img06 { width: calc(173px*0.8)!important; }
.list_index main #cont01 .inner div p span.img07 { width: calc(288px*0.8)!important; padding: 20px 0 0 0;  }
.list_index main #cont01 .inner div p span.img08 { width: calc(86px*0.8)!important; padding: 10px 0 0 0;  }
.list_index main #cont01 .inner div strong { display: block; font-weight: bold; font-size: 18px; line-height: 1.77778; margin: 0 0 10px 0; }
}

.list_index main #cont01 .inner div p span { display: block; }

.list_index main #cont01 .inner div p span.img00 { width: 115px; padding: 20px 0 0 0; }

.list_index main #cont01 .inner div p span.img01 { width: 107px; padding: 30px 0 0 0; }

.list_index main #cont01 .inner div p span.img02 { width: 170px; padding: 30px 0 0 0; }

.list_index main #cont01 .inner div p span.img03 { width: 200px; }

.list_index main #cont01 .inner div p span.img04 { width: 140px; padding: 10px 0 0 0; }

.list_index main #cont01 .inner div p span.img05 { width: 146px; padding: 10px 0 0 0; }

.list_index main #cont01 .inner div p span.img06 { width: 173px; }

.list_index main #cont01 .inner div p span.img07 { width: 288px; padding: 20px 0 0 0;  }

.list_index main #cont01 .inner div p span.img08 { width: 86px; padding: 10px 0 0 0;  }


.list_index main #cont02 { position: relative; top: 0; left: 0; padding: 0 0 140px 0; }

.list_index main #cont02 .inner { max-width: 1050px; }

.list_index main #cont02 .inner .title { margin: 0 0 44px 0; }

.list_index main #cont02 .inner .title h3 { border-left: 4px solid #990238; font-size: 22px; font-weight: bold; line-height: 1.27273; letter-spacing: 0.2em; margin: 0 0 27px 0; padding: 0 0 0 18px; }

.list_index main #cont02 .inner .title p { font-size: 15px; letter-spacing: 0.1em; line-height: 2.4; margin: 0 0 4px 0; }

.list_index main #cont02 .inner .title ul li { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; }

.list_index main #cont02 .inner .title ul li span { display: block; width: 15px; margin: 0 8px 0 0; }

.list_index main #cont02 .inner .title ul li a { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; font-size: 15px; letter-spacing: 0.1em; line-height: 2.4; color: #000000; text-decoration: underline; }

.list_index main #cont02 .inner .title ul li a em { display: block; width: 15px; margin: 0 0 0 6px; }


/*　案件一覧 ナビエリア　*/
.sort-btn{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding:30px 0 0;
    margin-bottom: 5em;
}
.sort-btn li{
    font-size: 1.5em;
    list-style:none;
	cursor: pointer;
	padding: 25px 0;
    letter-spacing: 0.1em;
    width: 33.2%;
    text-align: center;
    border-left: 1px solid #E7E7E7;
    border-top: 1px solid #E7E7E7;
    border-bottom: 1px solid #E7E7E7;
    background: #fbfbfb;
    color: #666;
}
.sort-btn li:last-child {
    border-right: 1px solid #E7E7E7;
}
.sort-btn li.active{
    font-weight: bold;
    border-bottom: 1px solid #FFF;
    background: #FFF;
    color: black;
}
@media only screen and (max-width: 1000px) {
.sort-btn{
	justify-content: space-between;
    width: 92.53333vw;
    margin:0 auto 20px;
}
.sort-btn li{
	width:calc(33.33% - 2px);
	margin:0 0 10px 0;
	text-align:center;
    font-size: 1.1em;
	padding: 20px 0;
	}	
}


/*　案件一覧 情報エリア　*/
ul.grid {
    width: calc(100% + 50px);
    overflow: hidden;
  position: relative;/*並び替えの基準点を指定*/
}
ul.grid li {
    width: 23.0%;
    margin-right: 12px;
    margin-bottom: 12px;
}
ul.grid li dl {
    padding: 20px;
    border: 1px solid #E7E7E7;
    /*background: #fbfbfb;*/
}
ul.grid li dl dt {
    font-size: 1.35em;
    line-height: 140%;
    height: 40px;
}
ul.grid li dl dt {color: #999;}
ul.grid li.sort01 dl dt {color: #cc0000;}
ul.grid li dl dd {
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
}
ul.grid li dl dd a {
    transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    font-size: 1.1em;
    font-weight: normal;
    display: block;
    text-align: center;
    padding: 8px;
    border:solid 1px #CCC;
    color: black;
    background: #FFF;
}
ul.grid li dl dd a:hover {
    font-size: 1.1em;
    font-weight: normal;
    display: block;
    text-align: center;
    padding: 8px;
    background: #000;
    color: white;
    opacity: 1.0!important;
    border: solid 1px black;
}
ul.grid li dl dd p {
    font-size: 1.5em;
    font-weight: bold;
    line-height: 170%;
    margin-bottom: 1.5em;
}
.item {
  display: block;
  position: absolute;
  z-index: 1;
list-style:none;
}
.item-content {
  position: relative;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 1000px) {
ul.grid {
    width: calc(92.53333vw + 10px);
    margin: 0 auto;
    overflow: hidden;
  position: relative;/*並び替えの基準点を指定*/
    left: 5px;
}
ul.grid li {
    float: left;
    width: calc(50% - 10px);
    margin-right: 10px;
    margin-bottom: 10px;
}
    ul.grid li dl {
        border: 1px solid #E7E7E7;
        padding: 15px;
    }
ul.grid li dl dt {
    font-size: 1.0em;
    line-height: 130%;
}
ul.grid li dl dt {color: #999;}
ul.grid li.sort01 dl dt {color: #cc0000;}
ul.grid li dl dd {
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
}
ul.grid li dl dd a {
    color: #333;
}
ul.grid li dl dd p {
    font-size: 1.2em;
    font-weight: normal;
    line-height: 160%;
    margin-bottom: 1.0em;
}
ul.grid li dl dd span {
    font-size: 0.8em;
    font-weight: normal;
    display: block;
    text-align: center;
}
.item {
  display: block;
  position: absolute;
  z-index: 1;
list-style:none;
}
.item-content {
  position: relative;
  width: 100%;
  height: 100%;
}
}


@media screen and (max-width: 1000px) { .list_index main #cont02 { padding: 0 0 6.93333vw 0; }
  .list_index main #cont02 .inner { max-width: 140vw; }
  .list_index main #cont02 .inner .title { width: 92.53333vw; margin: 0 auto 9.86667vw auto; }
  .list_index main #cont02 .inner .title h3 { font-size: 4.8vw; line-height: 1.33333; letter-spacing: 0.2em; margin: 0 0 4.66667vw 0; padding: 0 0 0 2.4vw; }
  .list_index main #cont02 .inner .title p { font-size: 3.73333vw; line-height: 1.71429; margin: 0 0 3.06667vw 0; }
  .list_index main #cont02 .inner .title ul li span { width: 3.73333vw; margin: 0 1.86667vw 0 0; }
  .list_index main #cont02 .inner .title ul li a { font-size: 3.46667vw; letter-spacing: 0.1em; line-height: 2.38462; }
  .list_index main #cont02 .inner .title ul li a em { width: 2.8vw; margin: 0 0 0 1.33333vw; }
  .list_index main #cont02 .inner .flex { display: block; }
  .list_index main #cont02 .inner .flex .left { width: 100%; }
  .list_index main #cont02 .inner .flex .left ul { display: -webkit-flex; display: -ms-flex; display: flex; flex-wrap: wrap; padding: 0; }
  .list_index main #cont02 .inner .flex .left ul li { border-top: solid 1px #cccccc; background: #f6f6f6; width: 50%; margin: 0; box-sizing: border-box; }
  .list_index main #cont02 .inner .flex .left ul li:nth-child(2n) { border-left: solid 1px #cccccc; }
  .list_index main #cont02 .inner .flex .left ul li:last-child { margin: 0; }
  .list_index main #cont02 .inner .flex .left ul li a { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; justify-content: space-between; font-size: 3.46667vw; color: #000000; width: 100%; height: 11.73333vw; padding: 0 3.73333vw 0 4.8vw; box-sizing: border-box; }
  .list_index main #cont02 .inner .flex .left ul li a em { transform: rotate(90deg); width: 2.4vw; opacity: 1; }
  .list_index main #cont02 .inner .flex .left ul li a:hover { font-weight: normal; }
  .list_index main #cont02 .inner .flex .right { width: 100%; }
  .list_index main #cont02 .inner .flex .right .box ul { display: block; }
  .list_index main #cont02 .inner .flex .right .box ul li { display: block; width: 100%; padding: 9.06667vw 0 11.2vw 0; }
  .list_index main #cont02 .inner .flex .right .box ul li:nth-child(2n) { border-left: none; }
  .list_index main #cont02 .inner .flex .right .box ul li .box_in { width: 92.53333vw; margin: 0 auto; }
  .list_index main #cont02 .inner .flex .right .box ul li span { font-size: 3.46667vw; margin: 0 0 1.6vw 0; }
  .list_index main #cont02 .inner .flex .right .box ul li strong { font-size: 4vw; letter-spacing: 0.1em; margin: 0 0 3.2vw 0; }
  .list_index main #cont02 .inner .flex .right .box ul li p { font-size: 3.46667vw; letter-spacing: 0.1em; line-height: 2.07692; margin: 0 0 6.4vw 0; }
  .list_index main #cont02 .inner .flex .right .box ul li div a { border-radius: 0.53333vw; font-size: 3.2vw; width: 92.53333vw; height: 11.2vw; margin: 0 auto; }
  .list_index main #cont02 .inner .flex .right .box ul li div a em { top: 4.26667vw; right: 4.66667vw; width: 2.66667vw; } }

.top_index main { padding: 0; overflow: hidden;}

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

.top_index main #key { /*max-width: 1260px;*/ width:94%; margin: 0 0 0 6%; padding: 0 0 120px 0; background: url(../images/top/key_bg.png) no-repeat top right; background-size: 70%;}

@media screen and (max-width: 1000px) { 
.top_index main #key { /*max-width: 1260px;*/ width:94%; margin: 110px 0 120px 6%; overflow: hidden; background: url(../images/top/key_bg.png) no-repeat center bottom; background-size:contain;}
}

@media screen and (max-width: 1000px) { 
.top_index main #key { width:100%; margin: 0 auto; padding: 0 0 170px 0; }
}
.top_index main #key .copyBlock {
    padding: 17% 0 8% 5%;
    width:38%;
}
.top_index main #key .copyBlock p.title {
    margin-bottom: 2em;
}

.top_index main #key .copyBlock p.titleSp {
    display: none;
}
.top_index main #key .copyBlock p.lead {
    font-size: 1.4em;
    line-height: 200%;
    margin-bottom: 2em;
    color: black;
    width: 100%;
    text-align: justify;
    text-justify: inter-ideograph;
}
@media screen and (max-width: 1000px) { 
.top_index main #key .copyBlock p.lead {
    font-size: 1.5em;
    line-height: 200%;
    margin-bottom: 2em;
    color: black;
    width: 100%;
}
}
.top_index main #key .copyBlock ul.btn {
    width:284px;
    height: auto;
}
.top_index main #key .copyBlock ul.btn li {
    margin-bottom: 1em;
}
.top_index main #key .copyBlock ul.btn li:nth-child(3) {
    margin-bottom: 0;
}

@media screen and (max-width: 1000px) { 
    .top_index main #key .imgBlock {
    width: 80%;
        float: inherit;
    margin: 0 auto;
    padding-bottom: 0px;
}
.top_index main #key .copyBlock {
    width: 100%;
        float: inherit;
    margin: 0 auto;
    padding: 20% 0 0 0;
}

.top_index main #key .copyBlock p.title {
    /*display: none;*/
    width: 85%;
    margin: 0 auto 30px;
}
.top_index main #key .copyBlock p.titleSp {
    margin-bottom: 5em;
    display: block;
}
.top_index main #key .copyBlock p.lead {
    font-size: 1.19em;
    line-height: 200%;
    margin:0 auto 2em;
    width: 85%;
    text-align: justify;
}
.top_index main #key .copyBlock ul.btn {
    width:284px;
    height: auto;
    margin: 0 auto;
}
.top_index main #key .copyBlock ul.btn li {
    margin-bottom: 1em;
}
}

.top_index main #key video { position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; width: 100%; }

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

.top_index main #key .inner h2 { position: relative; top: 24px; left: 0; width: 753px; margin: 0 auto; }

.top_index main #key .inner h2 a { display: block; position: absolute; bottom: 110px; right: 57px; width: 96px; }

@media screen and (max-width: 1000px) { 
  .top_index main #key video { width: auto; height: 100%; margin: 0; }
  .top_index main #key .inner h2 { top: 4.26667vw; width: 100%; }
  .top_index main #key .inner h2 a { bottom: 13.33333vw; right: 7.6vw; width: 20.26667vw; } }

.top_index main #cont01 { position: relative; top: 0; left: 0; max-width: 1366px; padding: 0 0 100px 0; margin: 0 auto; }

.top_index main #cont01 .lead { text-align: center; font-weight: 500; font-size: 18px; line-height: 1.77778; margin: 0 0 96px 0; }

.top_index main #cont01 .flex { display: -webkit-flex; display: -ms-flex; display: flex; }

.top_index main #cont01 .flex .left { width: 642px; margin: 0 56px 0 0; }

.top_index main #cont01 .flex .right { position: relative; top: 0; left: 0; width: 498px; padding: 147px 0 0 0; }

.top_index main #cont01 .flex .right span { display: block; position: absolute; top: 67px; left: -2px; width: 433px; }

.top_index main #cont01 .flex .right div { position: relative; top: 0; left: 0; }

.top_index main #cont01 .flex .right div h3 { font-size: 30px; font-weight: bold; letter-spacing: 0.2em; margin: 0 0 32px 0; }

.top_index main #cont01 .flex .right div strong { display: block; width: 492px; margin: 0 0 44px 3px; }

.top_index main #cont01 .flex .right div p a { display: -webkit-flex; display: -ms-flex; display: flex; align-items: center; font-size: 14px; color: #000000; text-decoration: underline; }

.top_index main #cont01 .flex .right div p a:hover { text-decoration: none; }

.top_index main #cont01 .flex .right div p a em { display: block; width: 15px; margin: 0 0 0 7px; }

@media screen and (max-width: 1000px) { .top_index main #cont01 { padding: 5vw 0 19.86667vw 0; }
  .top_index main #cont01 .lead { text-align: left; font-size: 4.26667vw; line-height: 1.875; width: 91.46667vw; margin: 0 auto 13.6vw auto; }
  .top_index main #cont01 .lead br { display: none; }
  .top_index main #cont01 .flex { display: block; }
  .top_index main #cont01 .flex .left { width: 100%; margin: 0 0 7.33333vw 0; }
  .top_index main #cont01 .flex .right { width: 92vw; padding: 12.93333vw 0 0 0; margin: 0 auto; }
  .top_index main #cont01 .flex .right span { top: 0; left: 0; width: 74.13333vw; }
  .top_index main #cont01 .flex .right div h3 { font-size: 5.33333vw; letter-spacing: 0.1em; margin: 0 0 5.73333vw 0; }
  .top_index main #cont01 .flex .right div strong { width: 87.73333vw; margin: 0 0 6.66667vw 0.66667vw; }
  .top_index main #cont01 .flex .right div p a { font-size: 3.46667vw; }
  .top_index main #cont01 .flex .right div p a em { width: 3.46667vw; margin: 0 0 0 1.6vw; } }

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

.top_index main #cont02 .flex { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; }

.top_index main #cont02 .inner {
    width: 73%; margin: 0 auto; max-width: 1140px; position: relative;
}
@media screen and (max-width: 1000px) {
.top_index main #cont02 .inner {
    width: 93%; margin: 0 auto; max-width: 1140px; position: relative;
}
}

.top_index main #cont02 .flex .left { position: relative; top: 0; left: 0; width: 630px; }

.top_index main #cont02 span { width: 1366px; left: 13.5%; position: relative; top: 30px; display: block;}

@media screen and (max-width: 1000px) {
.top_index main #cont02 span { width: 1366px; left: 3.5%; position: relative; top: 30px; display: block;
    }
}

.top_index main #cont02 .flex .left div { position: relative; top: 0; left: 0; padding: 79px 0 0 0; }

.top_index main #cont02 div h3 { font-size: 30px; font-weight: bold; letter-spacing: 0.2em; margin: 0 0 25px 0; }

.top_index main #cont02 div h3 em { color: #990238; font-weight: bold; }

.top_index main #cont02 div p { font-size: 15px; line-height: 2.4; letter-spacing: 0.3em; }

.top_index main #cont02 div p em { display: block; margin: 36px 0 0 0; }

.top_index main #cont02 div ul {overflow: hidden;}
.top_index main #cont02 div ul li {width: 22.8%; margin:0 2.85% 40px 0; float: left;}

@media screen and (max-width: 1000px) {
    .top_index main #cont02 div ul li {width: 48%; margin:0 4% 18px 0; float: left;}
}

.top_index main #cont02 div ul li:nth-child(4n) {margin-right: 0;}
@media screen and (max-width: 1000px) {
    .top_index main #cont02 div ul li:nth-child(2n) {margin-right: 0;}
    .top_index main #cont02 div ul li:nth-child(4n) {margin: inherit;}
}

.top_index main #cont02 div ul li p.title {font-size: 1.5em; letter-spacing: 0.2em; font-weight: 500; padding-top: 5px;}

@media screen and (max-width: 1000px) {
    .top_index main #cont02 div ul li p.title {font-size: 15px; letter-spacing: 0.2em; font-weight: 500; padding-top: 5px;}
}

.top_index main #cont02 div ul li p.summary {font-size: 1.3em; letter-spacing: 0.2em; line-height: 1.8em;}

@media screen and (max-width: 1000px) {
.top_index main #cont02 div ul li p.summary {font-size: 13px; letter-spacing: 0.2em; line-height: 1.8em;}
}

.top_index main #cont02 .flex .right { position: relative; top: 0; left: 0; width: 419px; padding: 115px 0 0 0; order: 1; }

@media screen and (max-width: 1000px) { .top_index main #cont02 { padding: 0 0 18.93333vw 0; width: 100%; overflow-x: hidden; }
  .top_index main #cont02 .flex { display: block; }
  .top_index main #cont02 .flex .left { width: 92vw; padding: 12.8vw 0 0 0; margin: 0 auto; }
  .top_index main #cont02 .flex .left span { width: 137.33333vw; }
  .top_index main #cont02 .flex .left div { padding: 0; }
  .top_index main #cont02 .flex .left div h3 { font-size: 5.33333vw; letter-spacing: 0.1em; margin: 0 0 3.2vw 0; }
  .top_index main #cont02 .flex .left div p { font-size: 3.46667vw; line-height: 2.30769; letter-spacing: 0.1em; }
  .top_index main #cont02 .flex .left div p em { margin: 8vw 0 0 0; }
  .top_index main #cont02 .flex .right { width: 76vw; padding: 0; margin: 0 auto 5.06667vw auto; } }

.top_index main #cont03 { position: relative; top: 0; left: 0; max-width: 1366px; padding: 0 0 170px 0; margin: 0 auto; }

.top_index main #cont03 .flex { display: -webkit-flex; display: -ms-flex; display: flex; width: 100%; overflow-x: hidden; }

.top_index main #cont03 .flex .left { width: 642px; margin: 0 62px 0 0; }

.top_index main #cont03 .flex .right { position: relative; top: 0; left: 0; width: 498px; padding: 101px 0 0 0; }

.top_index main #cont03 .flex .right span { display: block; position: absolute; top: 19px; left: 0; width: 664px; }

.top_index main #cont03 .flex .right .in { position: relative; top: 0; left: 0; }

.top_index main #cont03 .flex .right .in h3 { font-size: 30px; line-height: 1.53333; font-weight: bold; letter-spacing: 0.2em; margin: 0 0 42px 0; }

.top_index main #cont03 .flex .right .in h3 em { color: #990238; font-weight: bold; }

.top_index main #cont03 .flex .right .in p { font-size: 15px; line-height: 2; letter-spacing: 0.2em; margin: 0 0 43px 0; }

.top_index main #cont03 .flex .right .in .link a { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; align-items: center; border-radius: 4px; background: #000000; color: #FFFFFF; font-size: 16px; width: 245px; height: 66px; box-sizing: border-box; padding: 0 22px 0 26px; }

.top_index main #cont03 .flex .right .in .link a em { display: block; width: 22px; }

@media screen and (max-width: 1000px) { .top_index main #cont03 { padding: 0 0 26.4vw 0; }
  .top_index main #cont03 .flex { display: block; width: 100%; overflow-x: hidden; }
  .top_index main #cont03 .flex .left { width: 100%; margin: 0 0 7.33333vw 0; }
  .top_index main #cont03 .flex .right { width: 92vw; padding: 12.66667vw 0 0 0; margin: 0 auto; }
  .top_index main #cont03 .flex .right span { top: 0; left: 0; width: 130.8vw; }
  .top_index main #cont03 .flex .right .in h3 { font-size: 5.33333vw; line-height: 1.5; margin: 0 0 4.53333vw 0; }
  .top_index main #cont03 .flex .right .in p { font-size: 3.46667vw; line-height: 1.92308; margin: 0 0 6.66667vw 0; }
  .top_index main #cont03 .flex .right .in .link a { border-radius: 0.53333vw; font-size: 3.2vw; width: 49.06667vw; height: 13.33333vw; padding: 0 4.26667vw 0 5.06667vw; }
  .top_index main #cont03 .flex .right .in .link a em { width: 4.53333vw; } }

.top_index main #cont04 { position: relative; top: 0; left: 0; max-width: 1366px; padding: 0 0 210px 0; margin: 0 auto; }

.top_index main #cont04 .flex { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: flex-end; }

.top_index main #cont04 .flex .left { position: relative; top: 0; left: 0; width: 565px; padding: 118px 0 0 0; }

.top_index main #cont04 .flex .left span { display: block; position: absolute; top: 30px; left: 0; width: 913px; }

.top_index main #cont04 .flex .left div { position: relative; top: 0; left: 0; }

.top_index main #cont04 .flex .left div h3 { font-size: 30px; line-height: 1.53333; font-weight: bold; letter-spacing: 0.2em; }

.top_index main #cont04 .flex .left div h3 em { color: #990238; font-weight: bold; }

.top_index main #cont04 .flex .left div strong { display: block; font-size: 18px; font-weight: bold; letter-spacing: 0.2em; margin: 7px 0 24px 0; }

.top_index main #cont04 .flex .left div p { font-size: 15px; line-height: 2; letter-spacing: 0.2em; width: 486px; }

.top_index main #cont04 .flex .right { position: relative; top: 0; left: 0; width: 640px; order: 1; z-index: 1; }

@media screen and (max-width: 1000px) { .top_index main #cont04 { padding: 0 0 32vw 0; }
  .top_index main #cont04 .flex { display: block; width: 100%; overflow-x: hidden; }
  .top_index main #cont04 .flex .left { width: 92vw; padding: 12.13333vw 0 0 0; margin: 0 auto; }
  .top_index main #cont04 .flex .left span { top: 0; left: 0; width: 158.26667vw; }
  .top_index main #cont04 .flex .left div h3 { font-size: 5.33333vw; line-height: 1.5; letter-spacing: 0.2em; }
  .top_index main #cont04 .flex .left div strong { font-size: 3.46667vw; margin: 0.53333vw 0 4.8vw 0; }
  .top_index main #cont04 .flex .left div p { font-size: 3.46667vw; line-height: 1.92308; width: 100%; }
  .top_index main #cont04 .flex .right { width: 100%; padding: 0 0 7.33333vw 0; } }

#pop01 { display: none; background: #FFFFFF; }

#pop01 div { width: 600px; padding: 54px 0 80px 0; box-sizing: border-box; }

#pop01 div strong { display: block; text-align: center; font-weight: bold; font-size: 24px; margin: 0 0 25px 0; }

#pop01 div span { display: block; font-size: 15px; line-height: 2; width: 486px; margin: 0 auto 20px auto; }

#pop01 div p { font-size: 14px; line-height: 2.14286; width: 486px; margin: 0 auto; }

#pop01 div p a { display: block; color: #0374bb; text-decoration: underline; }

#pop01 div p a:hover { text-decoration: none; }

@media screen and (max-width: 1000px) { #pop01 div { width: 92vw; padding: 7.2vw 0 10.66667vw 0; }
  #pop01 div strong { font-size: 4.8vw; margin: 0 0 3.33333vw 0; }
  #pop01 div span { font-size: 3.2vw; width: 90%; margin: 0 auto 2.66667vw auto; }
  #pop01 div p { font-size: 3.2vw; width: 90%; } }

#pop02 { display: none; background: #FFFFFF; max-width: 800px; }

#pop02 .base { position: relative; top: 0; left: 0; width: 920px; padding: 50px 0 65px 0; box-sizing: border-box; }

#pop02 .base .title { text-align: center; margin: 0 0 24px 0; }

#pop02 .base .title span { display: block; position: absolute; top: 0; left: 0; width: 100%; }

#pop02 .base .title span img { width: 100%; height: auto; }

#pop02 .base .title p { position: relative; top: 0; left: 0; display: inline-block; border: 1px solid #000000; background: #FFFFFF; font-size: 16px; letter-spacing: 0.1em; font-weight: bold; margin: 0 0 19px 0; padding: 2px 10px 5px 10px; }

#pop02 .base .title strong { position: relative; top: 0; left: 0; display: block; font-size: 30px; font-weight: bold; text-align: center; line-height: 1.33333; }

#pop02 .base .title strong em { font-weight: bold; font-size: 30px; color: #990238; }

#pop02 .base .list ul { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; margin: 0 0 38px 0; }

#pop02 .base .list ul li { width: 245px; }

#pop02 .base .list ul li.arrow { width: 15px; margin: 0 15px; padding: 92px 0 0 0; box-sizing: border-box; }

#pop02 .base .list ul li span { display: block; margin: 0 0 13px 0; }

#pop02 .base .list ul li strong { display: block; font-size: 16px; font-weight: bold; letter-spacing: 0.1em; margin: 0 0 7px 0; }

#pop02 .base .list ul li p { font-size: 14px; letter-spacing: 0.1em; line-height: 2; }

#pop02 .base .list ol { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: center; }

#pop02 .base .list ol li a { display: -webkit-flex; display: -ms-flex; display: flex; justify-content: space-between; align-items: center; border-radius: 4px; background: #000000; color: #FFFFFF; font-size: 14px; letter-spacing: 0.1em; width: 245px; height: 65px; padding: 0 22px 0 26px; box-sizing: border-box; }

#pop02 .base .list ol li a em { display: block; width: 22px; }

@media screen and (max-width: 1000px) { #pop02 .base { width: 92vw; padding: 6.66667vw 0 8.66667vw 0; }
  #pop02 .base .title { margin: 0 0 3.2vw 0; }
  #pop02 .base .title span { width: 100%; }
  #pop02 .base .title p { font-size: 3.46667vw; margin: 0 0 2.53333vw 0; padding: 0.26667vw 1.33333vw 0.66667vw 1.33333vw; }
  #pop02 .base .title strong { font-size: 5.33333vw; }
  #pop02 .base .title strong em { font-size: 5.33333vw; }
  #pop02 .base .list ul { display: block; width: 90%; margin: 0 auto 10.13333vw auto; }
  #pop02 .base .list ul li { width: 100%; }
  #pop02 .base .list ul li.arrow { transform: rotate(90deg); width: 3.33333vw; margin: 4vw auto; padding: 0; }
  #pop02 .base .list ul li span { margin: 0 0 1.73333vw 0; }
  #pop02 .base .list ul li strong { font-size: 3.46667vw; margin: 0 0 0.93333vw 0; }
  #pop02 .base .list ul li p { font-size: 3.46667vw; }
  #pop02 .base .list ol li a { border-radius: 0.53333vw; font-size: 3.46667vw; width: 60vw; height: 16vw; padding: 0 2.93333vw 0 3.46667vw; }
  #pop02 .base .list ol li a em { width: 5.86667vw; } }
@media screen and (max-width: 1000px) {
    br.spNone {
        display: none;
    }}
    
    
.popLogo { display: none; background: #FFFFFF; }

.popLogo { width: 700px; padding: 54px 0 80px 0; box-sizing: border-box; }

.popLogo strong { display: block; text-align: center; font-weight: bold; font-size: 24px; margin: 0 0 25px 0; }

.popLogo span { display: block; font-size: 15px; line-height: 2; width: 586px; margin: 0 auto 10px auto; font-weight: 600; }

.popLogo p { font-size: 14px; line-height: 2.14286; width: 586px; margin: 0 auto; }

.popLogo p a { display: block; color: #0374bb; text-decoration: underline; }

.popLogo p a:hover { text-decoration: none; }

@media screen and (max-width: 1000px) { .popLogo { width: 92vw; padding: 7.2vw 0 10.66667vw 0; }
  .popLogo strong { font-size: 4.8vw; margin: 0 0 3.33333vw 0; }
  .popLogo span { font-size: 3.2vw; width: 90%; margin: 0 auto 2.66667vw auto; }
  .popLogo p { font-size: 3.2vw; width: 90%; } }


/* 終了の告知 */
.close {width: 75%; margin: 0 auto;position: absolute; top: 50vh; left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);}
.closeSP {display: none;}
@media screen and (max-width: 1000px) { 
    .close {width: 95%; margin: 0 auto;position: absolute; top: 300px; left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);}
.closePC {display: none;}
.closeSP {display: block;}
}