@charset "UTF-8";
* { margin: 0; padding: 0; box-sizing: border-box; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; }

html { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; -o-transition: border-box; box-sizing: border-box; overflow-x: hidden; }

body { -webkit-text-size-adjust: 100%; }

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; font-weight: normal; vertical-align: baseline; background: 0 0; }

h1 { font-size: 2em; margin: 0.67em 0; }

hr { box-sizing: content-box; /* 1 */ height: 0; /* 1 */ overflow: visible; /* 2 */ display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; }

pre { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

abbr[title] { border-bottom: none; /* 1 */ text-decoration: underline; /* 2 */ -webkit-text-decoration: underline dotted; text-decoration: underline dotted; /* 2 */ }

b, strong { font-weight: bold !important; }

code, kbd, pre, samp, tt { font-family: monospace, monospace; /* 1 */ font-size: 1em; /* 2 */ }

small { font-size: 80%; }

sub, sup { font-size: 75%; position: relative; vertical-align: baseline; border: 0; outline: 0; }

sub { bottom: -0.25em; }

sup { top: -0.5em; }

button, input, optgroup, select, textarea { font-family: inherit; /* 1 */ font-size: 100%; /* 1 */ line-height: 1.15; /* 1 */ }

button, input { /* 1 */ overflow: visible; transition: all .2s ease-in-out 0s; }

button, select { /* 1 */ text-transform: none; }

input, select { vertical-align: middle; }

input:focus { outline: 0; }

textarea { overflow: auto; }

fieldset { padding: 0.35em 0.75em 0.625em; }

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

progress { vertical-align: baseline; }

button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }

button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }

[type="checkbox"], [type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

[type="search"] { -webkit-appearance: textfield; /* 1 */ outline-offset: -2px; /* 2 */ }

[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

::-webkit-file-upload-button { -webkit-appearance: button; /* 1 */ font: inherit; /* 2 */ }

summary { display: list-item; }

template, [hidden], .hidden { display: none; }

blockquote, q { quotes: none; }

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

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

img { vertical-align: top; border-style: none; line-height: 0; font-size: 0; -ms-interpolation-mode: bicubic; background: 0 0; zoom: 1; }

ol, ul { list-style: none; }

a { background-color: transparent; text-decoration: none; font-size: 100%; vertical-align: baseline; text-decoration: none; background: 0 0; }

a:focus { outline: 0; }

a img { opacity: 1; transition: ease-out 0.3s; }

a img:hover { opacity: 0.7; transition: ease-out 0.3s; }

ins { background-color: #ff9; color: #000; text-decoration: none; }

mark { background-color: #ff9; color: #000; font-style: italic; font-weight: 700; }

del { text-decoration: line-through; }

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

a, button, input { transition: all .3s ease-in-out 0s; }

/*====================================================================================
■01.MARGIN DEFAULT
====================================================================================*/
.m00 { margin: 0px !important; }

.m05 { margin: 5px !important; }

.m10 { margin: 10px !important; }

.m15 { margin: 15px !important; }

.m20 { margin: 20px !important; }

.m25 { margin: 25px !important; }

.m30 { margin: 30px !important; }

.m35 { margin: 35px !important; }

.m40 { margin: 40px !important; }

.m45 { margin: 45px !important; }

.m50 { margin: 50px !important; }

.m55 { margin: 55px !important; }

.m60 { margin: 60px !important; }

.mt00 { margin-top: 0px !important; }

.mt01 { margin-top: 1px !important; }

.mt02 { margin-top: 2px !important; }

.mt03 { margin-top: 3px !important; }

.mt04 { margin-top: 4px !important; }

.mt05 { margin-top: 5px !important; }

.mt06 { margin-top: 6px !important; }

.mt07 { margin-top: 7px !important; }

.mt08 { margin-top: 8px !important; }

.mt09 { margin-top: 9px !important; }

.mt10 { margin-top: 10px !important; }

.mt15 { margin-top: 15px !important; }

.mt20 { margin-top: 20px !important; }

.mt25 { margin-top: 25px !important; }

.mt30 { margin-top: 30px !important; }

.mt35 { margin-top: 35px !important; }

.mt40 { margin-top: 40px !important; }

.mt45 { margin-top: 45px !important; }

.mt50 { margin-top: 50px !important; }

.mt55 { margin-top: 55px !important; }

.mt60 { margin-top: 60px !important; }

.mt65 { margin-top: 65px !important; }

.mt70 { margin-top: 70px !important; }

.mt75 { margin-top: 75px !important; }

.mt80 { margin-top: 80px !important; }

.mt90 { margin-top: 90px !important; }

.mt100 { margin-top: 100px !important; }

.mr00 { margin-right: 0px !important; }

.mr05 { margin-right: 5px !important; }

.mr10 { margin-right: 10px !important; }

.mr15 { margin-right: 15px !important; }

.mr20 { margin-right: 20px !important; }

.mr25 { margin-right: 25px !important; }

.mr30 { margin-right: 30px !important; }

.mr35 { margin-right: 35px !important; }

.mr40 { margin-right: 40px !important; }

.mr45 { margin-right: 45px !important; }

.mr50 { margin-right: 50px !important; }

.mr55 { margin-right: 55px !important; }

.mr60 { margin-right: 60px !important; }

.mb00 { margin-bottom: 0px !important; }

.mb01 { margin-bottom: 1px !important; }

.mb02 { margin-bottom: 2px !important; }

.mb03 { margin-bottom: 3px !important; }

.mb04 { margin-bottom: 4px !important; }

.mb05 { margin-bottom: 5px !important; }

.mb06 { margin-bottom: 6px !important; }

.mb07 { margin-bottom: 7px !important; }

.mb08 { margin-bottom: 8px !important; }

.mb09 { margin-bottom: 9px !important; }

.mb10 { margin-bottom: 10px !important; }

.mb15 { margin-bottom: 15px !important; }

.mb20 { margin-bottom: 20px !important; }

.mb25 { margin-bottom: 25px !important; }

.mb30 { margin-bottom: 30px !important; }

.mb35 { margin-bottom: 35px !important; }

.mb40 { margin-bottom: 40px !important; }

.mb45 { margin-bottom: 45px !important; }

.mb50 { margin-bottom: 50px !important; }

.mb55 { margin-bottom: 55px !important; }

.mb60 { margin-bottom: 60px !important; }

.ml00 { margin-left: 0px !important; }

.ml05 { margin-left: 5px !important; }

.ml10 { margin-left: 10px !important; }

.ml15 { margin-left: 15px !important; }

.ml20 { margin-left: 20px !important; }

.ml25 { margin-left: 25px !important; }

.ml30 { margin-left: 30px !important; }

.ml35 { margin-left: 35px !important; }

.ml40 { margin-left: 40px !important; }

.ml45 { margin-left: 45px !important; }

.ml50 { margin-left: 50px !important; }

.ml55 { margin-left: 55px !important; }

.ml60 { margin-left: 60px !important; }

/*====================================================================================
■PADDING DEFAULT
====================================================================================*/
.p00 { padding: 0px !important; }

.p01 { padding: 1px !important; }

.p02 { padding: 2px !important; }

.p03 { padding: 3px !important; }

.p04 { padding: 4px !important; }

.p05 { padding: 5px !important; }

.p06 { padding: 6px !important; }

.p07 { padding: 7px !important; }

.p08 { padding: 8px !important; }

.p09 { padding: 9px !important; }

.p10 { padding: 10px !important; }

.p15 { padding: 15px !important; }

.p20 { padding: 20px !important; }

.p25 { padding: 25px !important; }

.p30 { padding: 30px !important; }

.p35 { padding: 35px !important; }

.p40 { padding: 40px !important; }

.p45 { padding: 45px !important; }

.p50 { padding: 50px !important; }

.p55 { padding: 55px !important; }

.p60 { padding: 60px !important; }

.pl00 { padding-left: 0px !important; }

.pl05 { padding-left: 5px !important; }

.pl10 { padding-left: 10px !important; }

.pl15 { padding-left: 15px !important; }

.pl20 { padding-left: 20px !important; }

.pl25 { padding-left: 25px !important; }

.pl30 { padding-left: 30px !important; }

.pl35 { padding-left: 35px !important; }

.pl40 { padding-left: 40px !important; }

.pl45 { padding-left: 45px !important; }

.pl50 { padding-left: 50px !important; }

.pl55 { padding-left: 55px !important; }

.pl60 { padding-left: 60px !important; }

.pr00 { padding-right: 0px !important; }

.pr05 { padding-right: 5px !important; }

.pr10 { padding-right: 10px !important; }

.pr15 { padding-right: 15px !important; }

.pr20 { padding-right: 20px !important; }

.pr25 { padding-right: 25px !important; }

.pr30 { padding-right: 30px !important; }

.pr35 { padding-right: 35px !important; }

.pr40 { padding-right: 40px !important; }

.pr45 { padding-right: 45px !important; }

.pr50 { padding-right: 50px !important; }

.pr55 { padding-right: 55px !important; }

.pr60 { padding-right: 60px !important; }

.pb00 { padding-bottom: 0px !important; }

.pb05 { padding-bottom: 5px !important; }

.pb10 { padding-bottom: 10px !important; }

.pb15 { padding-bottom: 15px !important; }

.pb20 { padding-bottom: 20px !important; }

.pb25 { padding-bottom: 25px !important; }

.pb30 { padding-bottom: 30px !important; }

.pb35 { padding-bottom: 35px !important; }

.pb40 { padding-bottom: 40px !important; }

.pb45 { padding-bottom: 45px !important; }

.pb50 { padding-bottom: 50px !important; }

.pb55 { padding-bottom: 55px !important; }

.pb60 { padding-bottom: 60px !important; }

.pt00 { padding-top: 0px !important; }

.pt05 { padding-top: 5px !important; }

.pt10 { padding-top: 10px !important; }

.pt15 { padding-top: 15px !important; }

.pt20 { padding-top: 20px !important; }

.pt25 { padding-top: 25px !important; }

.pt30 { padding-top: 30px !important; }

.pt35 { padding-top: 35px !important; }

.pt40 { padding-top: 40px !important; }

.pt45 { padding-top: 45px !important; }

.pt50 { padding-top: 50px !important; }

.pt55 { padding-top: 55px !important; }

.pt60 { padding-top: 60px !important; }

/*====================================================================================
■WIDTH DEFAULT
====================================================================================*/
.w5 { width: 5% !important; }

.w10 { width: 10% !important; }

.w15 { width: 15% !important; }

.w20 { width: 20% !important; }

.w25 { width: 25% !important; }

.w30 { width: 30% !important; }

.w35 { width: 35% !important; }

.w40 { width: 40% !important; }

.w45 { width: 45% !important; }

.w49 { width: 49% !important; }

.w50 { width: 50% !important; }

.w55 { width: 55% !important; }

.w59 { width: 59% !important; }

.w60 { width: 60% !important; }

.w65 { width: 65% !important; }

.w70 { width: 70% !important; }

.w80 { width: 80% !important; }

.w90 { width: 90% !important; }

.w100 { width: 100% !important; }

/*====================================================================================
■MARGIN% DEFAULT
====================================================================================*/
.ml1per { margin-left: 1%; }

.ml2per { margin-left: 2%; }

.ml3per { margin-left: 3%; }

.ml4per { margin-left: 4%; }

.mr1per { margin-right: 1%; }

.mr2per { margin-right: 2%; }

.mr3per { margin-right: 3%; }

.mr4per { margin-right: 4%; }

.mt1per { margin-top: 1%; }

.mt2per { margin-top: 2%; }

.mt3per { margin-top: 3%; }

.mt4per { margin-top: 4%; }

.mt5per { margin-top: 5%; }

.mt6per { margin-top: 6%; }

.mt7per { margin-top: 7%; }

.mt8per { margin-top: 8%; }

.mt9per { margin-top: 9%; }

.mt10per { margin-top: 10%; }

.pd1per { padding: 1%; }

.pd2per { padding: 2%; }

.pd3per { padding: 3%; }

.pd4per { padding: 4%; }

.pull_left { float: left; }

.pull_right { float: right; }

.text_left { text-align: left !important; }

.text_right { text-align: right !important; }

.text_center { text-align: center !important; }

.text_justify { text-align: justify !important; }

.text_nowrap { white-space: nowrap !important; }

.text_lower { text-transform: lowercase !important; }

.text_upper { text-transform: uppercase !important; }

.text_capitalize { text-transform: capitalize !important; }

.text_normal { font-weight: normal !important; }

.text_bold { font-weight: bold !important; }

.text_line { text-decoration: underline; }

.text_noline { text-decoration: none !important; }

.text_over { overflow: hidden !important; }

.fz10 { font-size: 10px !important; }

.fz11 { font-size: 11px !important; }

.fz12 { font-size: 12px !important; }

.fz13 { font-size: 13px !important; }

.fz14 { font-size: 14px !important; }

.fz15 { font-size: 15px !important; }

.fz16 { font-size: 16px !important; }

.fz17 { font-size: 17px !important; }

.fz18 { font-size: 18px !important; }

.fz19 { font-size: 19px !important; }

.fz20 { font-size: 20px !important; }

.fz22 { font-size: 22px !important; }

.fz24 { font-size: 24px !important; }

.lhnm { line-height: normal !important; }

.lh00 { line-height: 0 !important; }

.lh12 { line-height: 1.2 !important; }

.lh13 { line-height: 1.3 !important; }

.lh14 { line-height: 1.4 !important; }

.lh15 { line-height: 1.5 !important; }

.lh16 { line-height: 1.6 !important; }

.lh17 { line-height: 1.7 !important; }

.lh18 { line-height: 1.8 !important; }

.lh20 { line-height: 2 !important; }

.lh23 { line-height: 2.3 !important; }

.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }

.clearfix:after { clear: both; }

.clearfix { zoom: 1; }

.visible { visibility: visible; }

.visible-hidden { visibility: hidden; }

.dispc, .breakpc { display: block !important; }

@media all and (max-width: 767px) { .dispc, .breakpc { display: none !important; } }

.dissp, .breaksp { display: block !important; }

@media all and (min-width: 768px) { .dissp, .breaksp { display: none !important; } }

.flexFont { font-size: 100%; }

.obj__fit, .imgfit { width: 100%; height: 100%; -o-object-fit: cover; object-fit: cover; font-family: 'object-fit: cover;'; }

.overflow { overflow: hidden; }

@keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }

@keyframes fadeOut { 0% { opacity: 1; }
  100% { opacity: 0; } }

@keyframes fadeInDown { 0% { opacity: 0;
    transform: translateY(-20px); }
  100% { opacity: 1;
    transform: translateY(0); } }

@keyframes fadeInDownBig { 0% { opacity: 0;
    transform: translateY(-2000px); }
  100% { opacity: 1;
    transform: translateY(0); } }

@keyframes fadeInLeft { 0% { opacity: 0;
    transform: translateX(-20px); }
  100% { opacity: 1;
    transform: translateX(0); } }

@keyframes fadeUpLeftRight { 0% { opacity: 0;
    transform: translate3d(-50px, 50px, 0); }
  100% { opacity: 1;
    transform: translateX(0, 0px, 0); } }

@keyframes fadeUpRightLeft { 0% { opacity: 0;
    transform: translate3d(50px, 50px, 0); }
  100% { opacity: 1;
    transform: translateX(0, 0px, 0); } }

@keyframes fadeDownRightLeft { 0% { opacity: 0;
    transform: translate3d(50px, -50px, 0); }
  100% { opacity: 1;
    transform: translateX(0, 0px, 0); } }

@media (max-width: 767px) {
  @keyframes fadeDownRightLeft { 0% {
      transform: translate3d(-50px, 50px, 0); }
    100% {
      transform: translateX(0, 0px, 0); } } }

@keyframes fadeDownLeftRight { 0% { opacity: 0;
    transform: translate3d(-50px, -50px, 0); }
  100% { opacity: 1;
    transform: translateX(0, 0px, 0); } }

@keyframes fadeInLeftBig { 0% { opacity: 0;
    transform: translateX(-2000px); }
  100% { opacity: 1;
    transform: translateX(0); } }

@keyframes fadeInRight { 0% { opacity: 0;
    transform: translateX(20px); }
  100% { opacity: 1;
    transform: translateX(0); } }

@keyframes fadeInRightBig { 0% { opacity: 0;
    transform: translateX(2000px); }
  100% { opacity: 1;
    transform: translateX(0); } }

@keyframes fadeInUp { 0% { opacity: 0;
    transform: translateY(20px); }
  100% { opacity: 1;
    transform: translateY(0); } }

@keyframes fadeInUpBig { 0% { opacity: 0;
    transform: translateY(2000px); }
  100% { opacity: 1;
    transform: translateY(0); } }

@keyframes slideInDown { 0% { opacity: 0;
    transform: translateY(-2000px); }
  100% { opacity: 1;
    transform: translateY(0); } }

@keyframes slideInLeft { 0% { opacity: 0;
    transform: translateX(-2000px); }
  100% { opacity: 1;
    transform: translateX(0); } }

@keyframes slideInRight { 0% { opacity: 0;
    transform: translateX(2000px); }
  100% { opacity: 1;
    transform: translateX(0); } }

@keyframes slideInUp { 0% { opacity: 0;
    transform: translateY(2000px); }
  100% { opacity: 1;
    transform: translateY(0); } }

.wimg.loadit.animated, .wimgright.loadit.animated { position: relative; }

.wimg:after, .wimgright:after { position: absolute; content: ''; left: 0; top: 0; width: 100%; height: 100%; background: #f7f7f8; z-index: 3; transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1); transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1); }

.wimg:before, .wimgright:before { position: absolute; content: ""; left: 0; top: 0; width: 100%; height: 100%; background: #BF0001; z-index: 3; transition: all 800ms cubic-bezier(0.77, 0, 0.175, 1); transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1); }

.wimg:after { right: 0; transform-origin: top right; }

.wimgright:after { left: 0; transform-origin: top left; }

.wimg:before { right: 0; transform-origin: top right; }

.wimgright:before { left: 0; transform-origin: top left; }

.wimg.loadit.animated.slideright:after, .wimgright.loadit.animated.slideleft:after { transform: scaleX(0); }

.wimg.loadit.animated.slideright:before, .wimgright.loadit.animated.slideleft:before { transform: scaleX(0); transition-delay: 0.3s; opacity: 0.7; }

.fadeInUp { animation-name: fadeInUp; animation-iteration-count: 1; animation-duration: 1s; animation-delay: 0.3s; animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1); animation-fill-mode: both; backface-visibility: hidden; }

.slideInDown { animation-name: slideInDown; animation-iteration-count: 1; animation-duration: 1s; animation-delay: 0.3s; animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1); animation-fill-mode: both; backface-visibility: hidden; }

.navstate_show.menu-open .header .nav__inside .list > li { animation-name: fadeInUp; animation-iteration-count: 1; animation-duration: 0.3s; animation-delay: 0s; animation-timing-function: cubic-bezier(0, 0.2, 0.8, 1); animation-fill-mode: both; backface-visibility: hidden; }

@media all and (max-width: 750px) { .navstate_show.menu-open .header .nav__inside .list > li { animation-name: fadeInRight; animation-iteration-count: 1; animation-duration: 0.6s; animation-delay: 0s; animation-timing-function: cubic-bezier(0, 0.2, 0.8, 1); animation-fill-mode: both; backface-visibility: hidden; } }

.navstate_show.menu-open .header .nav__inside .list > li:nth-child(1) { animation-delay: 0.1s; }

@media all and (max-width: 750px) { .navstate_show.menu-open .header .nav__inside .list > li:nth-child(1) { animation-delay: 0.1s; } }

.navstate_show.menu-open .header .nav__inside .list > li:nth-child(2) { animation-delay: 0.2s; }

@media all and (max-width: 750px) { .navstate_show.menu-open .header .nav__inside .list > li:nth-child(2) { animation-delay: 0.2s; } }

.navstate_show.menu-open .header .nav__inside .list > li:nth-child(3) { animation-delay: 0.3s; }

@media all and (max-width: 750px) { .navstate_show.menu-open .header .nav__inside .list > li:nth-child(3) { animation-delay: 0.3s; } }

.navstate_show.menu-open .header .nav__inside .list > li:nth-child(4) { animation-delay: 0.4s; }

@media all and (max-width: 750px) { .navstate_show.menu-open .header .nav__inside .list > li:nth-child(4) { animation-delay: 0.4s; } }

.navstate_show.menu-open .header .nav__inside .list > li:nth-child(5) { animation-delay: 0.5s; }

@media all and (max-width: 750px) { .navstate_show.menu-open .header .nav__inside .list > li:nth-child(5) { animation-delay: 0.5s; } }

.navstate_show.menu-open .header .nav__inside .list > li:nth-child(6) { animation-delay: 0.6s; }

@media all and (max-width: 750px) { .navstate_show.menu-open .header .nav__inside .list > li:nth-child(6) { animation-delay: 0.6s; } }

.navstate_show.menu-open .header .nav__inside .list > li:nth-child(7) { animation-delay: 0.7s; }

@media all and (max-width: 750px) { .navstate_show.menu-open .header .nav__inside .list > li:nth-child(7) { animation-delay: 0.7s; } }

.navstate_show.menu-open .header .nav__inside .list > li:nth-child(8) { animation-delay: 0.8s; }

@media all and (max-width: 750px) { .navstate_show.menu-open .header .nav__inside .list > li:nth-child(8) { animation-delay: 0.8s; } }

.navstate_show.menu-open .header .nav__inside .list > li:nth-child(9) { animation-delay: 0.9s; }

@media all and (max-width: 750px) { .navstate_show.menu-open .header .nav__inside .list > li:nth-child(9) { animation-delay: 0.9s; } }

.navstate_show.menu-open .header .nav__inside .list > li:nth-child(10) { animation-delay: 1s; }

@media all and (max-width: 750px) { .navstate_show.menu-open .header .nav__inside .list > li:nth-child(10) { animation-delay: 1s; } }

.navstate_show.menu-open .header .nav__inside .list > li:nth-child(11) { animation-delay: 1.1s; }

@media all and (max-width: 750px) { .navstate_show.menu-open .header .nav__inside .list > li:nth-child(11) { animation-delay: 1.1s; } }

.navstate_show.menu-open .header .nav__inside .list > li:nth-child(12) { animation-delay: 1.2s; }

@media all and (max-width: 750px) { .navstate_show.menu-open .header .nav__inside .list > li:nth-child(12) { animation-delay: 1.2s; } }

.navstate_show.menu-open .header .nav__inside .list > li:nth-child(13) { animation-delay: 1.3s; }

@media all and (max-width: 750px) { .navstate_show.menu-open .header .nav__inside .list > li:nth-child(13) { animation-delay: 1.3s; } }

.navstate_show.menu-open .header .nav__inside .list > li:nth-child(14) { animation-delay: 1.4s; }

@media all and (max-width: 750px) { .navstate_show.menu-open .header .nav__inside .list > li:nth-child(14) { animation-delay: 1.4s; } }

.navstate_show.menu-open .header .nav__inside .list > li:nth-child(15) { animation-delay: 1.5s; }

@media all and (max-width: 750px) { .navstate_show.menu-open .header .nav__inside .list > li:nth-child(15) { animation-delay: 1.5s; } }

.navstate_hide.menu-open .header .nav__inside__list > li { animation-name: fadeInUp; animation-iteration-count: 1; animation-duration: 0.3s; animation-delay: 0s; animation-timing-function: cubic-bezier(0, 0.2, 0.8, 1); animation-fill-mode: both; backface-visibility: hidden; }

@media all and (max-width: 750px) { .navstate_hide.menu-open .header .nav__inside__list > li { animation-name: fadeInRight; animation-iteration-count: 1; animation-duration: 0.6s; animation-delay: 0s; animation-timing-function: cubic-bezier(0, 0.2, 0.8, 1); animation-fill-mode: both; backface-visibility: hidden; } }

.navstate_hide.menu-open .header .nav__inside__list > li:nth-child(1) { animation-delay: 0.1s; }

@media all and (max-width: 750px) { .navstate_hide.menu-open .header .nav__inside__list > li:nth-child(1) { animation-delay: 0.1s; } }

.navstate_hide.menu-open .header .nav__inside__list > li:nth-child(2) { animation-delay: 0.2s; }

@media all and (max-width: 750px) { .navstate_hide.menu-open .header .nav__inside__list > li:nth-child(2) { animation-delay: 0.2s; } }

.navstate_hide.menu-open .header .nav__inside__list > li:nth-child(3) { animation-delay: 0.3s; }

@media all and (max-width: 750px) { .navstate_hide.menu-open .header .nav__inside__list > li:nth-child(3) { animation-delay: 0.3s; } }

.navstate_hide.menu-open .header .nav__inside__list > li:nth-child(4) { animation-delay: 0.4s; }

@media all and (max-width: 750px) { .navstate_hide.menu-open .header .nav__inside__list > li:nth-child(4) { animation-delay: 0.4s; } }

.navstate_hide.menu-open .header .nav__inside__list > li:nth-child(5) { animation-delay: 0.5s; }

@media all and (max-width: 750px) { .navstate_hide.menu-open .header .nav__inside__list > li:nth-child(5) { animation-delay: 0.5s; } }

.navstate_hide.menu-open .header .nav__inside__list > li:nth-child(6) { animation-delay: 0.6s; }

@media all and (max-width: 750px) { .navstate_hide.menu-open .header .nav__inside__list > li:nth-child(6) { animation-delay: 0.6s; } }

.navstate_hide.menu-open .header .nav__inside__list > li:nth-child(7) { animation-delay: 0.7s; }

@media all and (max-width: 750px) { .navstate_hide.menu-open .header .nav__inside__list > li:nth-child(7) { animation-delay: 0.7s; } }

.navstate_hide.menu-open .header .nav__inside__list > li:nth-child(8) { animation-delay: 0.8s; }

@media all and (max-width: 750px) { .navstate_hide.menu-open .header .nav__inside__list > li:nth-child(8) { animation-delay: 0.8s; } }

.navstate_hide.menu-open .header .nav__inside__list > li:nth-child(9) { animation-delay: 0.9s; }

@media all and (max-width: 750px) { .navstate_hide.menu-open .header .nav__inside__list > li:nth-child(9) { animation-delay: 0.9s; } }

.navstate_hide.menu-open .header .nav__inside__list > li:nth-child(10) { animation-delay: 1s; }

@media all and (max-width: 750px) { .navstate_hide.menu-open .header .nav__inside__list > li:nth-child(10) { animation-delay: 1s; } }

.navstate_hide.menu-open .header .nav__inside__list > li:nth-child(11) { animation-delay: 1.1s; }

@media all and (max-width: 750px) { .navstate_hide.menu-open .header .nav__inside__list > li:nth-child(11) { animation-delay: 1.1s; } }

.navstate_hide.menu-open .header .nav__inside__list > li:nth-child(12) { animation-delay: 1.2s; }

@media all and (max-width: 750px) { .navstate_hide.menu-open .header .nav__inside__list > li:nth-child(12) { animation-delay: 1.2s; } }

.navstate_hide.menu-open .header .nav__inside__list > li:nth-child(13) { animation-delay: 1.3s; }

@media all and (max-width: 750px) { .navstate_hide.menu-open .header .nav__inside__list > li:nth-child(13) { animation-delay: 1.3s; } }

.navstate_hide.menu-open .header .nav__inside__list > li:nth-child(14) { animation-delay: 1.4s; }

@media all and (max-width: 750px) { .navstate_hide.menu-open .header .nav__inside__list > li:nth-child(14) { animation-delay: 1.4s; } }

.navstate_hide.menu-open .header .nav__inside__list > li:nth-child(15) { animation-delay: 1.5s; }

@media all and (max-width: 750px) { .navstate_hide.menu-open .header .nav__inside__list > li:nth-child(15) { animation-delay: 1.5s; } }

.delay1 { animation-delay: 0.15s; }

@media all and (max-width: 960px) { .delay1 { animation-delay: 0.15s; } }

.delay2 { animation-delay: 0.3s; }

@media all and (max-width: 960px) { .delay2 { animation-delay: 0.3s; } }

.delay3 { animation-delay: 0.45s; }

@media all and (max-width: 960px) { .delay3 { animation-delay: 0.45s; } }

.delay4 { animation-delay: 0.6s; }

@media all and (max-width: 960px) { .delay4 { animation-delay: 0.6s; } }

.delay5 { animation-delay: 0.75s; }

@media all and (max-width: 960px) { .delay5 { animation-delay: 0.75s; } }

.delay6 { animation-delay: 0.9s; }

@media all and (max-width: 960px) { .delay6 { animation-delay: 0.9s; } }

.delay7 { animation-delay: 1.05s; }

@media all and (max-width: 960px) { .delay7 { animation-delay: 1.05s; } }

.delay8 { animation-delay: 1.2s; }

@media all and (max-width: 960px) { .delay8 { animation-delay: 1.2s; } }

.delay9 { animation-delay: 1.35s; }

@media all and (max-width: 960px) { .delay9 { animation-delay: 1.35s; } }

.delay10 { animation-delay: 1.5s; }

@media all and (max-width: 960px) { .delay10 { animation-delay: 1.5s; } }

.delay11 { animation-delay: 1.65s; }

@media all and (max-width: 960px) { .delay11 { animation-delay: 1.65s; } }

.delay12 { animation-delay: 1.8s; }

@media all and (max-width: 960px) { .delay12 { animation-delay: 1.8s; } }

.delay13 { animation-delay: 1.95s; }

@media all and (max-width: 960px) { .delay13 { animation-delay: 1.95s; } }

.delay14 { animation-delay: 2.1s; }

@media all and (max-width: 960px) { .delay14 { animation-delay: 2.1s; } }

.delay15 { animation-delay: 2.25s; }

@media all and (max-width: 960px) { .delay15 { animation-delay: 2.25s; } }

.delay16 { animation-delay: 2.4s; }

@media all and (max-width: 960px) { .delay16 { animation-delay: 2.4s; } }

.delay17 { animation-delay: 2.55s; }

@media all and (max-width: 960px) { .delay17 { animation-delay: 2.55s; } }

.delay18 { animation-delay: 2.7s; }

@media all and (max-width: 960px) { .delay18 { animation-delay: 2.7s; } }

@font-face { font-family: "AvenirPro35Light"; src: url("webFonts/AvenirPro35Light/font.woff") format("woff"), url("webFonts/AvenirPro35Light/font.woff2") format("woff2"); }

@font-face { font-family: "AvenirPro85Heavy"; src: url("webFonts/AvenirPro85Heavy/font.woff") format("woff"), url("webFonts/AvenirPro85Heavy/font.woff2") format("woff2"); }

@font-face { font-family: "AvenirPro95Black"; src: url("webFonts/AvenirPro95Black/font.woff") format("woff"), url("webFonts/AvenirPro95Black/font.woff2") format("woff2"); }

h1 { margin: 0; padding: 0; }

.container { max-width: 1020px; margin: 0 auto; padding: 0 20px; }

@media all and (max-width: 1020px) { .container { max-width: 100%; } }

@media all and (max-width: 960px) { .container { padding: 0 5%; } }

.container-large { max-width: 1240px; margin: 0 auto; padding: 0 30px; }

@media all and (max-width: 1020px) { .container-large { max-width: 100%; } }

@media all and (max-width: 960px) { .container-large { padding: 0 5%; } }

.container-xlarge { max-width: 1370px; margin: 0 auto; padding: 0 30px; }

@media all and (max-width: 1020px) { .container-xlarge { max-width: 100%; } }

@media all and (max-width: 960px) { .container-xlarge { padding: 0 5%; } }

.ahover { position: relative; }

.ahover > a:after { position: absolute; transition: all 0.35s ease; }

.ahover > a:after { bottom: 2px; display: block; height: 3px; width: 0%; border-radius: 99px; content: ""; background-color: #BF0001; left: 50%; }

@media all and (min-width: 769px) { .ahover > a:hover { opacity: 1; color: #BF0001 !important; }
  .ahover > a:hover:after { opacity: 1; width: 75%; left: 12.5%; } }

.AvenirPro35Light { font-family: AvenirPro35Light; }

.AvenirPro85Heavy { font-family: AvenirPro85Heavy; }

.AvenirPro95Black { font-family: AvenirPro95Black; }

body { font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Osaka, 'MS UI Gothic', sans-serif; font-size: 14px; font-weight: 500; color: #4B4B4B; background: #fff; position: relative; overflow-x: hidden; }

body .wrapper { position: relative; padding: 220px 0 200px; z-index: 1; }

@media all and (max-width: 960px) { body .wrapper { padding: 180px 0 150px; } }

body .wrapper .container { position: relative; z-index: 2; }

body .clpage { color: #BF0001; }

body p { font-size: 14px; line-height: 2; color: #4B4B4B; }

body a { line-height: normal; color: #4B4B4B; }

body img, body iframe { max-width: 100%; line-height: 0; }

body .img { overflow: hidden; line-height: 0; }

body .img img { transform: scale(1); transition-duration: 4s; transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1); transition-property: transform; }

.header { position: fixed; left: 0; top: 0; width: 100%; padding: 20px 30px; z-index: 99; background: rgba(254, 254, 255, 0.95); }

@media all and (max-width: 960px) { .header { border-bottom: 1px solid #C9C9C9; padding: 15px 5%; } }

.header-top { display: flex; justify-content: space-between; align-items: center; }

@media all and (max-width: 960px) { .header-top { position: relative; } }

@media all and (min-width: 961px) { .header-top { height: 40px; } }

.header-logo { position: relative; z-index: 2; }

.header-logo a { display: flex; justify-content: center; align-items: center; }

.header-logo img { height: 30px; }

@media all and (max-width: 960px) { .header-logo img { height: 20px; } }

.header-nav { display: flex; justify-content: center; align-items: center; }

@media all and (min-width: 961px) { .header-nav { position: relative; z-index: 1; } }

.header-nav .nav-inside { width: 100%; }

@media all and (max-width: 960px) { .header-nav .nav-inside { margin-left: 0; visibility: hidden; opacity: 0; position: absolute; top: 35px; left: -6%; width: 112%; height: 100vh; padding: 20px 6% 60px; background: rgba(254, 254, 255, 0.95); border-top: 1px solid #C3C3C3; overflow-y: auto; } }

.header-nav .list { display: flex; justify-content: center; align-items: center; width: 100%; }

@media all and (max-width: 960px) { .header-nav .list { flex-wrap: wrap; } }

.header-nav .list-item { margin: 0 20px; }

@media all and (max-width: 960px) { .header-nav .list-item { flex: 0 0 100%; } }

.header-nav .list-item a, .header-nav .list-item span { font-size: 12px; line-height: 1; display: block; padding: 12px 0 8px; text-transform: uppercase; font-family: "AvenirPro85Heavy"; }

@media all and (max-width: 960px) { .header-nav .list-item a, .header-nav .list-item span { padding: 15px 0; line-height: 1.4; font-size: 20px; font-weight: 600; } }

@media all and (max-width: 960px) { .header-nav .list-item.ahover > a { position: relative; }
  .header-nav .list-item.ahover > a::before { content: ''; background: transparent; position: absolute; width: 8px; height: 8px; right: 0; top: 50%; margin-top: -4px; transform: rotate(45deg); border-top: 1px solid #4B4B4B; border-right: 1px solid #4B4B4B; transition: all .3s; } }

@media all and (min-width: 961px) { .header-nav .list-item.last { margin-right: 0; margin-left: 40px; }
  .header-nav .list-item.last a { background: #fff; width: 150px; height: 40px; font-size: 10px; border: 0.5px solid #4B4B4B; padding: 0; display: flex; justify-content: center; align-items: center; padding-top: 3px; }
  .header-nav .list-item.last a:hover { background: #4B4B4B; color: #fff; } }

@media all and (max-width: 960px) { .header-nav .list-item.last a { font-size: 20px; position: relative; font-weight: 600; }
  .header-nav .list-item.last a::before { content: ''; background: transparent; position: absolute; width: 8px; height: 8px; right: 0; top: 50%; margin-top: -4px; transform: rotate(45deg); border-top: 1px solid #4B4B4B; border-right: 1px solid #4B4B4B; transition: all .3s; } }

@media all and (min-width: 961px) { .header-nav .list-sub { padding: 20px 0; }
  .header-nav .list-sub--text::after { bottom: 22px; } }

@media all and (max-width: 960px) { .header-nav .list-sub--ul { margin-bottom: 20px; } }

@media all and (min-width: 961px) { .header-nav .list-sub--ul { background: rgba(255, 255, 255, 0.9); position: absolute; left: -30px; top: 140px; padding: 30px; width: 400px; z-index: -1; transition: .2s ease; visibility: hidden; opacity: 0; }
  .header-nav .list-sub--ul.show { top: 72px; visibility: visible; opacity: 1; }
  .header-nav .list-sub--ul::after { position: absolute; content: ''; background: #4B4B4B; width: 70px; height: 0.5px; left: 30px; top: 0; } }

.header-nav .list-sub--ul .list-item { margin: 0; position: relative; z-index: 9; }

@media all and (min-width: 961px) { .header-nav .list-sub--ul .list-item { background: #fff; }
  .header-nav .list-sub--ul .list-item:first-child a { padding-top: 0; }
  .header-nav .list-sub--ul .list-item:last-child a { padding-bottom: 0; } }

.header-nav .list-sub--ul .list-item a { font-size: 12px; padding: 10px 0; color: #555; font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Osaka, 'MS UI Gothic', sans-serif; font-weight: 500; }

@media all and (min-width: 961px) { .header-nav .list-sub--ul .list-item a:hover { text-decoration: underline; color: #BF0001; } }

@media all and (max-width: 960px) { .header-nav .list-sub--ul .list-item a { font-size: 14px; } }

.header-nav .list-sub--ul .list-item a.ico-blank { background: url(../images/common/ico-blank.svg) no-repeat right 12px; display: inline-block; padding: 10px 0; background-size: 12px; padding-right: 17px; }

@media all and (max-width: 960px) { .header-nav .list-sub:last-child { margin-top: 20px; } }

.hamburger { width: 40px; height: 40px; transition: all .3s; display: flex; justify-content: flex-end; align-items: center; cursor: pointer; position: absolute; right: 0; top: -12px; z-index: 1000; }

@media all and (min-width: 961px) { .hamburger { display: none; } }

.hamburger_inside { z-index: 99; height: 38%; width: 56%; position: relative; }

.hamburger_inside span { height: 2px; position: absolute; background: #000; display: inline-block; width: 100%; border-radius: 3px; transition: all 0.4s ease-in-out 0s; }

.hamburger_inside span:first-child { top: 0; }

.hamburger_inside span:nth-child(2) { top: 0; bottom: 0; margin: auto; position: absolute; }

.hamburger_inside span:last-child { bottom: 0; }

.menu-open { position: relative; }

@media all and (max-width: 960px) { .menu-open .nav-inside { transition: all .3s ease; opacity: 1; visibility: visible; } }

.menu-open .hamburger_inside span { height: 1px; }

.menu-open .hamburger_inside span:nth-child(1) { transform: translateY(8px) rotate(-225deg); }

.menu-open .hamburger_inside span:nth-child(2) { transform: translateY(0) rotate(225deg); width: 100%; }

.menu-open .hamburger_inside span:nth-child(3) { opacity: 0; }

.footer { padding: 80px 30px 20px 30px; background: #F7F7F7; position: relative; z-index: 2; }

@media all and (max-width: 960px) { .footer { padding: 50px 0 20px; } }

.footer-head { display: flex; justify-content: flex-start; align-items: flex-start; }

@media all and (max-width: 960px) { .footer-head { flex-wrap: wrap; } }

.footer-logo { flex: 0 0 100%; margin-bottom: 50px; }

@media all and (min-width: 961px) { .footer-logo { flex: 0 0 250px; margin-bottom: 0; } }

@media all and (max-width: 960px) { .footer-logo { border-bottom: 1px solid #C3C3C3; padding-bottom: 25px; } }

.footer-logo a { display: flex; justify-content: flex-start; align-items: center; }

@media all and (max-width: 960px) { .footer-logo a { justify-content: center; } }

.footer-logo img { height: 30px; }

@media all and (max-width: 960px) { .footer-logo img { height: 22px; } }

.footer-nav { display: flex; justify-content: flex-start; align-items: flex-start; }

@media all and (max-width: 960px) { .footer-nav { flex-wrap: wrap; padding: 0 5%; width: 100%; flex: 0 0 100%; } }

.footer-nav ul { display: flex; justify-content: flex-start; align-items: flex-start; margin-right: 60px; flex-wrap: wrap; }

@media all and (min-width: 961px) { .footer-nav ul { flex-direction: column; } }

@media all and (max-width: 960px) { .footer-nav ul { margin-right: 0; flex: 0 0 100%; margin-top: 30px; }
  .footer-nav ul:first-child { margin-top: 0; } }

.footer-nav ul:last-child { margin-right: 0; }

.footer-nav ul li { flex: 0; margin-bottom: 20px; }

.footer-nav ul li:last-child { margin-bottom: 0; }

@media all and (max-width: 960px) { .footer-nav ul li { margin-bottom: 15px; flex: 0 0 100%; } }

.footer-nav--item a, .footer-nav--item span { font-size: 14px; line-height: 1.4; text-transform: uppercase; font-family: AvenirPro85Heavy; }

.footer-nav--item a::after, .footer-nav--item span::after { bottom: -2px; left: 0; }

@media all and (min-width: 961px) { .footer-nav--item a:hover:after, .footer-nav--item span:hover:after { width: 100%; left: 0%; } }

@media all and (max-width: 960px) { .footer-nav .ahover a { display: block; position: relative; }
  .footer-nav .ahover a::before { content: ''; background: transparent; position: absolute; width: 8px; height: 8px; right: 0; top: 50%; margin-top: -4px; transform: rotate(45deg); border-top: 1px solid #4B4B4B; border-right: 1px solid #4B4B4B; transition: all .3s; } }

.footer-nav .footer-nav--sub { margin-left: 0 !important; margin-top: 0; }

.footer-nav .footer-nav--sub li { margin-bottom: 10px; }

.footer-nav .footer-nav--sub li:last-child { margin-bottom: 0; }

.footer-nav .footer-nav--sub a { font-size: 12px; font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Osaka, 'MS UI Gothic', sans-serif; }

@media all and (min-width: 961px) { .footer-nav .footer-nav--sub a:hover { text-decoration: underline; color: #BF0001; } }

.footer-nav .footer-nav--sub a.fontsarva { font-family: AvenirPro85Heavy; }

@media all and (max-width: 960px) { .footer-nav .footer-nav--sub a.fontsarva { font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Osaka, 'MS UI Gothic', sans-serif; font-weight: 500; } }

@media all and (max-width: 960px) { .footer-nav .footer-nav--sub a { font-size: 14px; } }

.footer-nav .footer-nav--sub a.ico-blank { background: url(../images/common/ico-blank.svg) no-repeat right center; background-size: 12px; padding: 2px 0 0; padding-right: 17px; }

@media all and (max-width: 1019px) { .footer-copy { margin-top: 40px; } }

@media all and (max-width: 960px) { .footer-copy { text-align: center; } }

.footer-copy address { font-style: normal; font-size: 10px; font-family: AvenirPro85Heavy; margin-top: 80px; }

@media all and (min-width: 1020px) { .footer-copy address { text-align: right; } }

@media all and (max-width: 960px) { .footer-copy address { font-weight: 400; margin-top: 40px; } }

.fontinter { font-family: "inter-variable" !important; }

.fontgold { font-family: "goldenbook",serif; }

.fontgothic { font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", Osaka, 'MS UI Gothic', sans-serif !important; }

.fontsar { font-family: AvenirPro85Heavy; }

.blockHead { position: relative; text-align: center; margin: 0 0 150px; }

@media all and (max-width: 960px) { .blockHead { margin: 0 0 100px; } }

.blockHead h1, .blockHead h2, .blockHead .tit { text-align: center; margin-bottom: 30px; font-family: AvenirPro85Heavy; font-size: 50px; line-height: 1.2; }

.blockHead h1 span, .blockHead h2 span, .blockHead .tit span { font-size: 50px; line-height: 1.2; display: block; }

.blockHead h1 small, .blockHead h2 small, .blockHead .tit small { font-size: 14px; line-height: 1.2; display: block; }

@media all and (max-width: 960px) { .blockHead h1, .blockHead h2, .blockHead .tit { margin-bottom: 25px; font-size: 36px; }
  .blockHead h1 span, .blockHead h2 span, .blockHead .tit span { font-size: 36px; } }

.blockHead p { font-weight: bold; position: relative; padding-bottom: 50px; display: block; }

@media all and (max-width: 960px) { .blockHead p { padding-bottom: 35px; } }

.blockHead p::after { position: absolute; content: ''; background: #4B4B4B; width: 66px; height: 0.5px; left: 50%; margin-left: -33px; bottom: 0; }

.blockDesc-text h2, .blockDesc-text h3 { font-size: 20px; margin-bottom: 45px; font-weight: bold; }

@media all and (max-width: 960px) { .blockDesc-text h2, .blockDesc-text h3 { margin-bottom: 35px; } }

.buttonLink { border: 1px solid #4B4B4B; display: flex; justify-content: center; align-items: center; padding: 24px 22px 23px; position: relative; z-index: 2; transition: all .3s; width: 100%; max-width: 320px; }

@media all and (min-width: 961px) { .buttonLink:hover { background: #4B4B4B; }
  .buttonLink:hover span { background: url(../images/common/arrwhite.png) no-repeat right top 2px; background-size: 14px; color: #fff; } }

.buttonLink span { background: url(../images/common/arr.png) no-repeat right top 2px; background-size: 14px; padding: 0 25px; font-family: AvenirPro35Light; text-transform: uppercase; transition: all .3s; line-height: 1; }

@media all and (max-width: 960px) { .buttonLink span { background-size: 10px; padding: 0 20px; background-position: right top 3px; } }

.buttonLink img { height: 8px; display: none; }

.blockButton { position: relative; z-index: 2; max-width: 700px; margin: 0 auto; margin-top: 190px; display: flex; justify-content: space-between; align-items: center; }

@media all and (max-width: 960px) { .blockButton { margin-top: 170px; } }

@media all and (max-width: 640px) { .blockButton { flex-wrap: wrap; justify-content: center; } }

@media all and (max-width: 960px) { .blockButton a { margin: 0 20px; } }

@media all and (max-width: 640px) { .blockButton a { margin: 0; }
  .blockButton a:first-child { margin-bottom: 40px; } }

.max700 { max-width: 700px; margin: 0 auto; }

.max720 { max-width: 700px; margin: 0 auto; }

@media all and (min-width: 961px) { .max720 p.fz20 { text-wrap: nowrap; } }

.max780 { max-width: 780px; margin: 0 auto; }

.max900 { max-width: 900px; margin: 0 auto; }

.max1000 { max-width: 1000px; margin: 0 auto; }

.contact .blockContact { margin-top: 120px; }

.contact .blockContact h2 { font-size: 20px; font-family: AvenirPro85Heavy; text-align: center; }

.contact .blockContact-list { display: flex; justify-content: space-between; align-items: flex-start; margin-top: 60px; }

@media all and (max-width: 960px) { .contact .blockContact-list { margin-top: 0; flex-wrap: wrap; } }

.contact .blockContact-item { flex: 0 0 25%; max-width: 220px; }

@media all and (max-width: 960px) { .contact .blockContact-item { flex: 0 0 100%; margin: 0 auto; max-width: 300px; margin-top: 40px; } }

.contact .blockContact-item p { text-align: center; margin-top: 20px; font-weight: bold; }

@media all and (max-width: 960px) { .contact .blockContact-item p { text-align: left; margin-top: 15px; } }

.contact .blockContact-box { border: 0.5px solid #4B4B4B; display: block; padding: 19px 22px; background: url(../images/common/arr.png) no-repeat right 22px center; background-size: 14px; transition: all .3s; }

.contact .blockContact-box span { font-family: AvenirPro85Heavy; }

@media all and (max-width: 960px) { .contact .blockContact-box span { font-size: 20px; } }

@media all and (min-width: 961px) { .contact .blockContact-box:hover { background: #4B4B4B url(../images/common/arrwhite.png) no-repeat right 22px center; background-size: 14px; }
  .contact .blockContact-box:hover span { color: #fff; } }

.blockService-list { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 60px 132px; max-width: 1050px; margin: 0 auto; }

@media all and (max-width: 1100px) { .blockService-list { grid-gap: 40px; } }

@media all and (max-width: 960px) { .blockService-list { grid-template-columns: repeat(2, 1fr); grid-gap: 30px; } }

@media all and (max-width: 640px) { .blockService-list { grid-template-columns: repeat(1, 1fr); grid-gap: 70px; } }

@media all and (min-width: 961px) { .blockService-item { max-width: 260px; } }

.blockService-item a { border: 0.5px solid #C9C9C9; }

@media all and (max-width: 960px) { .blockService-item a { margin: 0 auto; max-width: 260px; aspect-ratio: 1/1; } }

.blockService-item a img { transform: scale(1.01); }

.blockService-item p { margin-top: 20px; text-align: center; }

@media all and (max-width: 960px) { .blockService-item p { margin-top: 12px; } }

@media all and (min-width: 961px) { .blockService-item:nth-child(5) p { letter-spacing: -1px; } }

.blockService-box { transition: all .3s; display: flex; justify-content: center; align-items: center; }

.service .blockService { margin-top: 70px; }

@media all and (max-width: 960px) { .service .blockService { margin-top: 40px; } }

.service .blockButton { margin-top: 130px; }

@media all and (max-width: 960px) { .service .blockButton { margin-top: 110px; } }

.backlink { margin-top: 140px; text-align: center; }

@media all and (max-width: 960px) { .backlink { margin-top: 100px; } }

.backlink .buttonLink { margin: 0 auto; }

.max580 { max-width: 580px; margin: 0 auto; }

@media all and (min-width: 961px) { .max580 p { text-align: center; } }

@media all and (max-width: 960px) { .error-404.wrapper { padding: 120px 0; } }

.error-404 .blockHead { margin-bottom: 50px; }

.error-404 .blockHead .tit { font-size: 80px; font-family: AvenirPro85Heavy; margin: 0; }

.error-404 .blockHead .tit small { font-weight: 600; font-size: 20px; margin-bottom: 50px; }

@media all and (max-width: 960px) { .error-404 .blockHead .tit small { margin-bottom: 40px; } }

.error-404 .blockHead .tit span { font-size: 36px; font-weight: bold; line-height: 1; display: block; }

.error-404 .backlink { margin-top: 80px; }

@keyframes rotation { 0% { transform: rotate(0); }
  100% { transform: rotate(360deg); } }

@keyframes load1 { 0%, 80%, to {
    box-shadow: 0 0;
    height: 4em; }
  40% {
    box-shadow: 0 -2em;
    height: 5em; } }

.loader, .loader:after, .loader:before { background: #F9F9FA; animation: load1 1s infinite ease-in-out; width: 1em; height: 40px; max-height: 40px; transition: all .3s; }

.loader { text-indent: -9999em; margin: 60px auto 120px; position: relative; top: 50px; font-size: 11px; transform: translateZ(0); animation-delay: -.16s; color: #BF0001; }

@media all and (max-width: 768px) { .loader { margin: 35px auto 80px; } }

.loader:after, .loader:before { position: absolute; top: 0; content: ''; }

.loader:before { left: -1.5em; animation-delay: -.32s; }

.loader:after { left: 1.5em; }

.btnview { font-size: 12px; display: inline-block; border-bottom: 0.5px solid #4B4B4B; padding-bottom: 11px; text-align: right; background: url(../images/common/arr.png) no-repeat right top 1px; background-size: 14px; padding-right: 22px; padding-left: 80px; line-height: 1; font-family: AvenirPro85Heavy; position: relative; }

.btnview::after { position: absolute; content: ''; background: #BF0001; width: 0; height: 0.5px; left: 0; bottom: -1px; transition: all .3s; }

@media all and (min-width: 961px) { .btnview:hover { color: #BF0001; background: url(../images/common/arr-red.png) no-repeat right top 1px; background-size: 14px; }
  .btnview:hover::after { width: 100%; } }

@media all and (max-width: 960px) { .btnview { font-size: 10px; border-width: 1px; background-position: right top; padding-bottom: 6px; background-size: 10px; padding-right: 18px; padding-left: 40px; } }

.frontpage.wrapper { padding-top: 80px; }

@media all and (max-width: 960px) { .frontpage.wrapper { padding-top: 50px; } }

.frontpage .container-xlarge { max-width: 1340px; margin: 0 auto; padding: 0 30px; }

@media all and (max-width: 960px) { .frontpage .container-xlarge { padding: 0 5%; } }

.frontpage h2 { font-size: 26px; font-family: AvenirPro85Heavy; line-height: 1; }

.frontpage .tit { max-width: 1050px; margin: 0 auto; margin-bottom: 50px; }

.frontpage .animationText { position: relative; display: flex; justify-content: flex-start; align-items: center; }

.frontpage .animationText .animated { display: flex; justify-content: center; align-items: center; }

@media all and (min-width: 961px) { .frontpage .animationText { height: calc(100vh - 160px); padding-bottom: 80px; } }

@media all and (max-width: 960px) { .frontpage .animationText { height: calc(100svh - 100px); padding-top: 0; } }

.frontpage .animationText .scrollbtn { position: absolute; left: 0; bottom: 0; width: 100%; text-align: center; }

.frontpage .animationText .scrollbtn a { display: block; background: url(../images/common/arrdown.svg) no-repeat center center; background-size: 10px; width: 80px; }

.frontpage .animationText .scrollbtn a span { display: flex; justify-content: center; align-items: center; animation: rotation 15s linear infinite; }

.frontpage .animationText p { font-size: inherit; margin: 0; }

.frontpage .animationText p svg { overflow: visible; }

@media all and (min-width: 961px) { .frontpage .animationText p svg { max-width: 100%; } }

@media all and (max-width: 960px) { .frontpage .animationText p svg { width: 80%; } }

.frontpage .animationText p .text-stroke { fill: none; stroke: #ccc; stroke-width: 14px; stroke-dashoffset: -3500; stroke-dasharray: 3500; stroke-linecap: square; stroke-linejoin: miter; animation: dash 4.5s ease-in-out forwards; }

@media all and (max-width: 960px) { .frontpage .animationText p .text-stroke { stroke-width: 16px; stroke-dashoffset: 7081; stroke-dasharray: 7081; } }

.frontpage .animationText p .text-stroke-2 { stroke: #4B4B4B; }

.frontpage .animationText p .g1 .st1 { animation-delay: 0.15s; }

.frontpage .animationText p .g1 .st2 { animation-delay: 0.3s; }

.frontpage .animationText p .g1 .st3 { animation-delay: 0.45s; }

.frontpage .animationText p .g1 .st4 { animation-delay: 0.6s; }

.frontpage .animationText p .g1 .st5 { animation-delay: 0.75s; }

.frontpage .animationText p .g1 .st6 { animation-delay: 0.9s; }

.frontpage .animationText p .g1 .st7 { animation-delay: 1.05s; }

.frontpage .animationText p .g1 .st8 { animation-delay: 1.2s; }

.frontpage .animationText p .g1 .st9 { animation-delay: 1.35s; }

.frontpage .animationText p .g1 .st10 { animation-delay: 1.5s; }

.frontpage .animationText p .g1 .st11 { animation-delay: 1.65s; }

.frontpage .animationText p .g1 .st12 { animation-delay: 1.8s; }

.frontpage .animationText p .g2 .st1 { animation-delay: 0.25s; }

.frontpage .animationText p .g2 .st2 { animation-delay: 0.5s; }

.frontpage .animationText p .g2 .st3 { animation-delay: 0.75s; }

.frontpage .animationText p .g2 .st4 { animation-delay: 1s; }

.frontpage .animationText p .g2 .st5 { animation-delay: 1.25s; }

.frontpage .animationText p .g2 .st6 { animation-delay: 1.5s; }

.frontpage .animationText p .g2 .st7 { animation-delay: 1.75s; }

.frontpage .animationText p .g2 .st8 { animation-delay: 2s; }

.frontpage .animationText p .g2 .st9 { animation-delay: 2.25s; }

.frontpage .animationText p .g2 .st10 { animation-delay: 2.5s; }

.frontpage .animationText p .g2 .st11 { animation-delay: 2.75s; }

.frontpage .animationText p .g2 .st12 { animation-delay: 3s; }

@media all and (max-width: 960px) { 

  .frontpage .animationText p .g1 .st1 { animation-delay: 3.15s; }
  
  .frontpage .animationText p .g1 .st2 { animation-delay: 3.3s; }
  
  .frontpage .animationText p .g1 .st3 { animation-delay: 3.45s; }
  
  .frontpage .animationText p .g1 .st4 { animation-delay: 3.6s; }
  
  .frontpage .animationText p .g1 .st5 { animation-delay: 3.75s; }
  
  .frontpage .animationText p .g1 .st6 { animation-delay: 3.9s; }
  
  .frontpage .animationText p .g1 .st7 { animation-delay: 4.05s; }
  
  .frontpage .animationText p .g1 .st8 { animation-delay: 4.2s; }
  
  .frontpage .animationText p .g1 .st9 { animation-delay: 4.35s; }
  
  .frontpage .animationText p .g1 .st10 { animation-delay: 4.5s; }
  
  .frontpage .animationText p .g1 .st11 { animation-delay: 4.65s; }
  
  .frontpage .animationText p .g1 .st12 { animation-delay: 4.8s; }
  
  .frontpage .animationText p .g2 .st1 { animation-delay: 3.25s; }
  
  .frontpage .animationText p .g2 .st2 { animation-delay: 3.5s; }
  
  .frontpage .animationText p .g2 .st3 { animation-delay: 3.75s; }
  
  .frontpage .animationText p .g2 .st4 { animation-delay: 4s; }
  
  .frontpage .animationText p .g2 .st5 { animation-delay: 4.25s; }
  
  .frontpage .animationText p .g2 .st6 { animation-delay: 4.5s; }
  
  .frontpage .animationText p .g2 .st7 { animation-delay: 4.75s; }
  
  .frontpage .animationText p .g2 .st8 { animation-delay: 5s; }
  
  .frontpage .animationText p .g2 .st9 { animation-delay: 5.25s; }
  
  .frontpage .animationText p .g2 .st10 { animation-delay: 5.5s; }
  
  .frontpage .animationText p .g2 .st11 { animation-delay: 5.75s; }
  
  .frontpage .animationText p .g2 .st12 { animation-delay: 6s; } }

@keyframes dash { 100% { stroke-dashoffset: 0; } }

.frontpage .block { margin: 120px 0; }

@media all and (max-width: 960px) { .frontpage .block { margin: 60px 0; } }

.frontpage .newsTop { border-bottom: 0.5px solid #F7F7F7; padding: 120px 0; position: relative; }

@media all and (max-width: 960px) { .frontpage .newsTop { padding: 60px 30px 90px; width: calc(100% + 60px); margin-left: -30px; } }

.frontpage .newsTop::after { position: absolute; content: ''; background: #4B4B4B; max-width: 655px; width: 0; height: 0.5px; left: 0; transition: width .7s ease; bottom: -1px; }

.frontpage .newsTop.active::after { width: 50%; }

.frontpage .newsTop-list { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 80px; max-width: 1050px; margin: 0 auto; margin-bottom: 80px; }

@media all and (max-width: 1100px) { .frontpage .newsTop-list { grid-gap: 40px; } }

@media all and (max-width: 960px) { .frontpage .newsTop-list { margin-bottom: 0; grid-template-columns: repeat(2, 1fr); grid-gap: 30px; } }

@media all and (max-width: 960px) { .frontpage .newsTop-item:last-child { display: none; } }

.frontpage .newsTop-item .date { margin-bottom: 15px; font-size: 12px; font-family: AvenirPro95Black; }

.frontpage .newsTop .text_right { max-width: 1050px; margin: 0 auto; }

@media all and (max-width: 960px) { .frontpage .newsTop .text_right { display: none; } }

@media all and (max-width: 960px) { .frontpage .serviceTop { margin-top: 90px; } }

.frontpage .recruitTop { border-top: 0.5px solid #C9C9C9; margin-top: 150px; padding-top: 150px; }

.frontpage .recruitTop .content { display: flex; justify-content: space-between; align-items: flex-start; max-width: 1050px; margin: 0 auto; }

@media all and (max-width: 960px) { .frontpage .recruitTop { margin-top: 150px; padding-top: 0; border-top: 0; } }

@media all and (max-width: 960px) { .frontpage .recruitTop .txt { flex: 0 0 100%; } }

.frontpage .recruitTop .txt h2 { line-height: 1.3; }

@media all and (max-width: 960px) { .frontpage .recruitTop .txt h2 { margin-bottom: 50px; } }

.frontpage .recruitTop .txt p { margin: 50px 0; }

@media all and (max-width: 960px) { .frontpage .recruitTop .txt p { max-width: 425px; margin: 25px auto 20px; } }

.frontpage .recruitTop .txt .img { display: none; }

@media all and (max-width: 960px) { .frontpage .recruitTop .txt .img { display: flex; justify-content: center; align-items: center; border: 0.5px solid #4B4B4B; height: 180px; max-width: 425px; margin: 0 auto; } }

@media all and (max-width: 960px) { .frontpage .recruitTop .txt .text_rightSP { max-width: 425px; margin: 0 auto; text-align: right; } }

.frontpage .recruitTop .img { display: flex; justify-content: center; align-items: center; flex: 0 0 44%; max-width: 425px; height: 220px; border: 0.5px solid #4B4B4B; }

@media all and (max-width: 960px) { .frontpage .recruitTop .img { display: none; } }

.home .header .delay2, .home .scrollbtn .delay2, .home .wrapper:before { animation-delay: 6.6s; }

@media all and (max-width: 960px) { .home .header .delay2, .home .scrollbtn .delay2, .home .wrapper:before { animation-delay: 6.2s; } }

.over_260 .frontpage .ourVisionTop .fadeInUp { animation-delay: .3s; }

@media all and (min-width: 961px) { .news .container { max-width: 1060px; } }

@media all and (min-width: 961px) { .newsDetail .container { max-width: 1060px; } }

.blockNews-list { max-width: 660px; margin: 0 auto; }

.blockNews-item { margin-top: 70px; }

@media all and (max-width: 960px) { .blockNews-item { margin-top: 100px; } }

.blockNews-item:first-child { margin-top: 0; }

@media all and (min-width: 961px) { .blockNews-item .loadit { display: flex; justify-content: flex-start; align-items: flex-start; flex-wrap: nowrap; } }

.blockNews-item .date { font-size: 12px; font-family: AvenirPro85Heavy; }

@media all and (min-width: 961px) { .blockNews-item .date { flex: 0 0 100px; } }

@media all and (max-width: 960px) { .blockNews-item .date { font-size: 14px; margin-bottom: 25px; } }

.blockNews-item .titlink { font-weight: normal; display: block; line-height: 1.5; }

.blockNews .load-more { margin: 0 auto; margin-top: 110px; max-width: 320px; }

@media all and (max-width: 960px) { .blockNews .load-more { margin-top: 100px; } }

@media all and (max-width: 960px) { .blockNews .load-more a { justify-content: center; } }

.blockNews .load-more a span { background: url(../images/common/arrdow.svg) no-repeat right top 1px; background-size: 11px; padding: 0; padding-right: 18px; }

@media all and (min-width: 961px) { .blockNews .load-more a:hover span { background: url(../images/common/arrdow-white.svg) no-repeat right top 1px; background-size: 11px; } }

@media all and (min-width: 961px) { .newsDetail .blockHead { margin-bottom: 100px; } }

.newsDetail .blockNews { border-top: 0.5px solid #F7F7F7; padding-top: 120px; margin-top: 150px; }

.newsDetail .blockNews .maintit { font-size: 28px; margin-bottom: 80px; font-family: AvenirPro85Heavy; text-align: center; }

@media all and (max-width: 960px) { .newsDetail .blockNews .maintit { font-size: 26px; margin-bottom: 70px; text-align: left; } }

.newsDetail .blockWP { margin: 0 auto; max-width: 800px; }

@media all and (max-width: 960px) { .newsDetail .blockWP { margin-top: 75px; } }

.newsDetail .blockWP .date { font-family: AvenirPro85Heavy; position: relative; padding-bottom: 20px; }

.newsDetail .blockWP .date::after { position: absolute; content: ''; background: #4B4B4B; width: 40px; height: 0.5px; left: 0%; bottom: 0; }

.newsDetail .blockWP h1 { margin-top: 50px; margin-bottom: 60px; font-size: 18px; }

@media all and (max-width: 960px) { .newsDetail .blockWP h1 { font-size: 18px; margin: 50px 0 60px; } }

.newsDetail .blockWP .btnnavi { margin-top: 150px; display: flex; justify-content: space-between; align-items: center; }

@media all and (max-width: 960px) { .newsDetail .blockWP .btnnavi { padding: 0 30px; } }

/* purgecss start ignore */
.blockWP .thumbnails { margin: 60px auto 100px; display: block; }

.blockWP .thumbnails img { width: 100%; }

@media all and (max-width: 960px) { .blockWP .thumbnails { margin: 40px auto; } }

.blockWP .editor-image { margin: 90px auto; display: block; }

.blockWP .editor-image img { width: 100%; }

@media all and (max-width: 960px) { .blockWP .editor-image { margin: 40px auto; } }

/* purgecss end ignore */
.btnnavi li span a { font-size: 14px; font-family: AvenirPro85Heavy; text-transform: uppercase; }

.btnnavi--prev span { background: url(../images/common/arrback.png) no-repeat left top 4px; background-size: 14px; padding-left: 22px; }

@media all and (max-width: 960px) { .btnnavi--prev span { background-position: left top 6px; background-size: 10px; padding-left: 20px; } }

@media all and (min-width: 1024px) { .btnnavi--prev { margin-left: -100px; } }

.btnnavi--next span { background: url(../images/common/arr.png) no-repeat right top 4px; background-size: 14px; padding-right: 22px; }

@media all and (max-width: 960px) { .btnnavi--next span { background-position: right top 6px; background-size: 10px; padding-right: 20px; } }

@media all and (min-width: 1024px) { .btnnavi--next { margin-right: -100px; } }

/* purgecss start ignore */
.contact_from .maintit { margin-bottom: 90px; }

@media all and (max-width: 960px) { .contact_from .maintit { margin-bottom: 80px; } }

.contact_from .blockform { max-width: 780px; margin: 0 auto; }

.contact_from .clpage { color: #4B4B4B; }

.contact_from form p { font-weight: bold; margin-top: 40px; }

@media all and (max-width: 960px) { .contact_from form p { font-weight: normal; } }

.contact_from form .wpcf7-form-control-wrap { display: block; margin-top: 10px; line-height: 1; }

@media all and (max-width: 960px) { .contact_from form .wpcf7-form-control-wrap { margin-top: 5px; } }

.contact_from form .wpcf7-not-valid-tip { font-size: 16px; margin-top: 5px; }

.contact_from form input, .contact_from form textarea { background: #fff; border: 0.5px solid #C9C9C9; border-radius: 3px; padding: 20px 10px; width: 100%; }

.contact_from form textarea { height: 200px; resize: vertical; }

@media all and (max-width: 960px) { .contact_from form textarea { height: 290px; } }

.contact_from form .wpcf7-response-output { margin-top: 50px; }

.contact_from form .btnpage-submit { margin-top: 100px; text-align: center; display: flex; justify-content: center; align-items: center; }

.contact_from form .btnpage-submit span:not(.wpcf7-spinner) { position: relative; width: 320px; display: block; background: url(../images/common/arr.png) no-repeat right 28% center; background-size: 14px; transition: all .3s; }

@media all and (min-width: 961px) { .contact_from form .btnpage-submit span:not(.wpcf7-spinner):hover { background: #4B4B4B url(../images/common/arrwhite.png) no-repeat right 28% center; background-size: 14px; }
  .contact_from form .btnpage-submit span:not(.wpcf7-spinner):hover input { color: #fff; } }

.contact_from form .btnpage-submit .wpcf7-spinner { position: absolute; left: 50%; margin-left: -12px; bottom: -30px; }

.contact_from form .btnpage-submit .wpcf7-submit { width: 100%; max-width: 320px; margin: 0 auto; font-weight: bold; border-radius: 0; height: 64px; cursor: pointer; background: none; border: 0.5px solid #4B4B4B; line-height: 1.6; }

@media all and (max-width: 960px) { .contact_from form .btnpage-submit .wpcf7-submit { font-weight: normal; } }

/* purgecss end ignore */
.antisocial .content-inside { margin-top: 110px; }

@media all and (max-width: 960px) { .antisocial .content-inside { margin-top: 70px; } }

.antisocial .content-inside p span { font-weight: normal; font-size: 20px; margin-top: 70px; display: block; margin-bottom: 10px; }

@media all and (max-width: 960px) { .antisocial .content-inside p span { margin-top: 50px; } }

@media all and (max-width: 960px) { .antisocial .blockHead h2 { font-size: 26px; }
  .antisocial .blockButton { margin-top: 140px; } }

.blockgray { background: #F7F7F7; }

@media all and (max-width: 960px) { .csr .blockDesc .fz20 { font-size: 14px !important; } }

.csr .icon { margin: 120px auto 130px; display: grid; grid-template-columns: repeat(6, 1fr); grid-gap: 15px; }

@media all and (max-width: 960px) { .csr .icon { margin: 80px 0 100px; grid-template-columns: repeat(3, 1fr); } }

.csr .blockgray { padding: 110px 10px 150px; }

.csr .block { max-width: 610px; margin: 0 auto; }

.csr .block:first-child { margin-bottom: 160px; }

.csr .block .tit { font-size: 26px; text-align: center; max-width: 500px; font-weight: bold; border-bottom: 0.5px solid #4B4B4B; padding-bottom: 20px; line-height: 1; margin: 0 auto; margin-bottom: 30px; }

.csr .block p { text-align: center; }

@media all and (min-width: 961px) { .csr .blockButton { margin-top: 150px; } }

@media all and (max-width: 960px) { .csr .blockButton { margin-top: 100px; } }

@media all and (min-width: 961px) { .service-child .blockHead { margin-bottom: 120px; } }

.service-child .content-inside { margin-top: 60px; }

@media all and (max-width: 960px) { .service-child .content-inside { margin-top: 45px; } }

@media all and (max-width: 960px) { .service-child .blockHead h2 { font-size: 26px; }
  .service-child .blockDesc .fz20 { font-size: 18px !important; }
  .service-child .blockButton { margin-top: 100px; } }

.titsub, .compliance dl dt { font-size: 20px; position: relative; padding-bottom: 15px; margin-bottom: 40px; }

.titsub::after, .compliance dl dt::after { position: absolute; content: ''; background: #4B4B4B; width: 40px; height: 0.5px; left: 0; bottom: 0; }

.compliance dl { margin-top: 80px; }

.compliance dl.first { margin-bottom: 110px; margin-top: 0; }

.compliance dl.first dt { font-size: 26px; }

.compliance dl dd { font-size: 14px; line-height: 2; }

@media all and (min-width: 961px) { .compliance dl dd .flex { display: flex; justify-content: flex-start; align-items: center; } }

@media all and (max-width: 960px) { .compliance dl dd .flex span { display: block; margin-bottom: 20px; text-align: center; } }

.compliance dl dd .flex img { height: 68px; }

@media all and (max-width: 960px) { .compliance dl dd .flex img { height: 80px; } }

@media all and (min-width: 961px) { .compliance dl dd .flex p { margin-left: 20px; } }

.compliance dl dd a { text-decoration: underline; }

@media all and (min-width: 961px) { .compliance dl dd a:hover { opacity: .5; } }

.compliance .sec02 { border-top: 0.5px solid #C9C9C9; padding-top: 120px; margin-top: 120px; }

.compliance .promotion { max-width: 1310px; margin: 0 auto; padding: 0 30px; border-top: 0.5px solid #C9C9C9; padding-top: 150px; margin-top: 150px; }

@media all and (max-width: 960px) { .compliance .promotion { margin-top: 100px; padding-top: 0; padding: 0 5%; border-top: 0; } }

@media all and (min-width: 961px) { .compliance .promotion .flex { display: flex; justify-content: space-between; align-items: flex-start; } }

@media all and (min-width: 961px) { .compliance .promotion .left { max-width: 400px; } }

@media all and (min-width: 961px) { .compliance .promotion .right { flex: 0 0 50%; max-width: 480px; } }

.compliance .promotion .right .flex { display: flex; justify-content: space-between; align-items: flex-start; }

.compliance .promotion .right .flex .box { align-self: stretch; flex: 0 0 47%; }

@media all and (max-width: 960px) { .compliance .promotion .right { margin-top: 140px; } }

.compliance .promotion .box { border: 0.5px solid #4B4B4B; text-align: center; padding: 20px 0; height: 176px; display: flex; justify-content: center; align-items: center; flex-direction: column; }

.compliance .promotion .box p { text-align: center; }

.compliance .promotion .box.b3 { height: auto; }

.compliance .promotion .arr { height: 48px; display: flex; justify-content: space-between; align-items: flex-start; }

.compliance .promotion .arr span { font-size: 12px; height: 48px; display: flex; justify-content: center; align-items: center; padding-left: 50px; flex: 0 0 47%; }

.compliance .promotion .arr span.last { padding-left: 85px; }

.compliance .promotion .arr span.arrdown { background: url(../images/arr-down.png) no-repeat center bottom; background-size: 5px; }

.compliance .promotion .arr span.arrup { background: url(../images/arr-up.png) no-repeat center top; background-size: 5px; }

.containerx { max-width: 1100px; margin: 0 auto; padding: 0 30px; }

@media all and (max-width: 960px) { .containerx { padding: 0 5%; } }

.titline { max-width: 1360px; margin: 0 auto; padding: 0 30px; }

@media all and (max-width: 960px) { .titline { padding: 0 5%; margin-bottom: 90px; } }

.titline .tit { display: flex; justify-content: flex-start; align-items: center; line-height: 1; border-bottom: 0.5px solid #4B4B4B; padding-bottom: 15px; margin: 0; position: relative; }

.titline .tit::after { position: absolute; content: ''; background: #4B4B4B; width: 45%; height: 0.5px; right: -45%; bottom: -1px; }

.titline .tit span { font-family: AvenirPro85Heavy; font-size: 80px; line-height: 1; }

@media all and (max-width: 960px) { .titline .tit span { font-size: 26px; } }

.titline .tit small { font-size: 14px; margin-left: 30px; }

@media all and (max-width: 960px) { .titline .tit small { margin-left: 15px; } }

@media all and (min-width: 961px) { .officeTour .titline { margin-bottom: 180px; } }

.officeTour .titsub, .officeTour .compliance dl dt, .compliance dl .officeTour dt { font-size: 26px; }

@media all and (min-width: 961px) { .officeTour .titsub, .officeTour .compliance dl dt, .compliance dl .officeTour dt { margin-bottom: 60px; } }

.officeTour .office { margin-top: 90px; }

@media all and (min-width: 961px) { .officeTour .office { display: flex; justify-content: space-between; align-items: flex-start; margin-top: 180px; } }

@media all and (min-width: 961px) { .officeTour .office .img { max-width: 465px; } }

@media all and (min-width: 961px) { .officeTour .office .desc { max-width: 435px; } }

@media all and (max-width: 960px) { .officeTour .office .desc { margin-top: 40px; } }

.about.wrapper { padding-bottom: 0; }

.about .map { max-height: 386px; overflow: hidden; height: 100%; filter: grayscale(100%); filter: progid:DXImageTransform.Microsoft.BasicImage(grayScale=1); }

@media all and (max-width: 960px) { .about .map { max-height: 680px; }
  .about .map iframe { height: 680px; } }

.about .blockDesc { margin-bottom: 100px; }

.about .blockgray { max-width: 840px; margin: 30px auto; padding: 80px 30px; }

.about .blockgray .tit { font-size: 26px; margin-bottom: 20px; }

@media all and (max-width: 960px) { .about .blockgray .tit { margin-bottom: 30px; } }

.about .ourrole, .about .message, .about .infomation { border-top: 0.5px solid #F7F7F7; position: relative; padding: 180px 0; }

@media all and (max-width: 960px) { .about .ourrole, .about .message, .about .infomation { padding: 120px 0; }
  .about .ourrole .max1000, .about .message .max1000, .about .infomation .max1000 { padding: 0 5%; } }

.about .ourrole::after, .about .message::after, .about .infomation::after { position: absolute; content: ''; background: #4B4B4B; max-width: 50%; width: 0; height: 0.5px; left: 0; transition: width .7s ease; top: -1px; }

.about .ourrole.active::after, .about .message.active::after, .about .infomation.active::after { width: 50%; }

.about .ourrole .titsub, .about .ourrole .compliance dl dt, .compliance dl .about .ourrole dt, .about .message .titsub, .about .message .compliance dl dt, .compliance dl .about .message dt, .about .infomation .titsub, .about .infomation .compliance dl dt, .compliance dl .about .infomation dt { font-size: 26px; }

@media all and (min-width: 961px) { .about .ourrole .titsub, .about .ourrole .compliance dl dt, .compliance dl .about .ourrole dt, .about .message .titsub, .about .message .compliance dl dt, .compliance dl .about .message dt, .about .infomation .titsub, .about .infomation .compliance dl dt, .compliance dl .about .infomation dt { margin-bottom: 60px; } }

.about .ourrole { margin-top: 180px; }

@media all and (max-width: 960px) { .about .ourrole { margin-top: 120px; }
  .about .ourrole p.text_center { text-align: left !important; } }

.about .ourrole .titsub::after, .about .ourrole .compliance dl dt::after, .compliance dl .about .ourrole dt::after { left: 50%; margin-left: -20px; }

.about .ourrole .img { margin: 0 auto; margin-top: 150px; max-width: 620px; }

@media all and (max-width: 960px) { .about .ourrole .img { margin-top: 120px; } }

@media all and (min-width: 961px) { .about .message .dflex { display: flex; justify-content: space-between; align-items: flex-start; } }

@media all and (min-width: 961px) { .about .message .mes { max-width: 500px; } }

.about .message .mes .fz20 { margin-bottom: 30px; }

.about .message .sign { display: flex; justify-content: flex-end; align-items: center; margin-top: 60px; }

@media all and (max-width: 960px) { .about .message .sign { flex-wrap: wrap; } }

.about .message .sign .img { margin-left: 40px; }

@media all and (max-width: 960px) { .about .message .sign .img { margin-left: 0; margin-top: 20px; } }

.about .message .sign img { height: 60px; }

@media all and (max-width: 960px) { .about .message .blockButton { margin-top: 150px; } }

.about table { width: 100%; }

.about table th, .about table td { font-weight: bold; border-bottom: 0.5px solid #D9D9D9; padding: 35px 40px; vertical-align: middle; line-height: 2; }

@media all and (max-width: 960px) { .about table th, .about table td { padding: 35px 0; font-weight: normal; vertical-align: top; } }

.about table th { padding-right: 0; width: 270px; text-align: left; }

@media all and (max-width: 960px) { .about table th { width: 90px; } }

@media all and (min-width: 961px) { .about table span { font-weight: bold; } }

@media all and (min-width: 961px) { .about table a { font-weight: bold; }
  .about table a:hover { text-decoration: underline; } }

.about table.last { margin-top: 120px; font-family: AvenirPro85Heavy; }

@media all and (max-width: 960px) { .about table.last { margin-top: 100px; }
  .about table.last th { width: 165px; font-weight: 400; vertical-align: middle; }
  .about table.last td { font-weight: 400; vertical-align: middle; } }

.recruit .titline { padding: 0; }

.recruit .blockHead { text-align: left; }

@media all and (max-width: 960px) { .recruit .blockHead { margin-bottom: 60px; } }

.recruit .blockHead h1 { text-align: left; font-size: 80px; }

@media all and (max-width: 960px) { .recruit .blockHead h1 { font-size: 50px; margin-bottom: 80px; } }

.recruit .blockHead p { font-weight: normal; max-width: 600px; }

.recruit .blockHead p::after { background: none; }

.recruit .blockHead p:last-child { padding-bottom: 0; }

.recruit .ourValues, .recruit .interview, .recruit .work, .recruit .workstyle { padding-top: 160px; }

@media all and (max-width: 960px) { .recruit .ourValues, .recruit .interview, .recruit .work, .recruit .workstyle { padding-top: 140px; } }

.recruit .ourValues .titline, .recruit .interview .titline, .recruit .work .titline, .recruit .workstyle .titline { margin-bottom: 110px; }

@media all and (max-width: 960px) { .recruit .ourValues .titline, .recruit .interview .titline, .recruit .work .titline, .recruit .workstyle .titline { margin-bottom: 80px; } }

.recruit .imglarge img { width: 100%; }

.recruit .ourValues .av-container { margin-bottom: 50px; }

@media all and (max-width: 960px) { .recruit .ourValues .av-container { margin-bottom: 80px; } }

.recruit .ourValues .av-container:last-child { margin-bottom: 0; }

@media all and (min-width: 961px) { .recruit .ourValues-item { display: flex; justify-content: flex-start; align-items: flex-start; width: 50%; } }

.recruit .ourValues-item.right { margin-left: auto; margin-right: 0; }

.recruit .ourValues-item .titsub, .recruit .ourValues-item .compliance dl dt, .compliance dl .recruit .ourValues-item dt { font-size: 36px; flex: 0 0 180px; }

.recruit .ourValues-item .titsub::after, .recruit .ourValues-item .compliance dl dt::after, .compliance dl .recruit .ourValues-item dt::after { width: 20px; }

@media all and (max-width: 960px) { .recruit .ourValues-item .titsub, .recruit .ourValues-item .compliance dl dt, .compliance dl .recruit .ourValues-item dt { font-size: 26px; margin-bottom: 30px; } }

@media all and (min-width: 961px) { .recruit .ourValues-item p { font-size: 20px; } }

.recruit .interview-list { display: grid; grid-template-columns: repeat(4, 1fr); grid-gap: 60px; }

@media all and (max-width: 960px) { .recruit .interview-list { grid-template-columns: repeat(2, 1fr); grid-gap: 60px 20px; } }

.recruit .interview .name { display: flex; justify-content: flex-start; align-items: center; margin-top: 20px; margin-bottom: 10px; }

.recruit .interview .name span { font-size: 20px; }

@media all and (max-width: 960px) { .recruit .interview .name span { font-size: 14px; } }

.recruit .interview .name small { font-size: 14px; margin-left: 20px; }

@media all and (max-width: 960px) { .recruit .interview .name small { font-size: 12px; } }

@media all and (max-width: 960px) { .recruit .interview p { font-size: 12px; } }

.recruit .interview .img { box-shadow: 6px 6px 12px rgba(0, 0, 0, 0.05); }

@media all and (min-width: 961px) { .recruit .interview .img a:hover { opacity: .5; }
  .recruit .interview .img a:hover img { opacity: 1; } }

@media all and (min-width: 961px) { .recruit .work-list { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 60px; } }

@media all and (max-width: 960px) { .recruit .work-list .av-container { margin-bottom: 80px; }
  .recruit .work-list .av-container:last-child { margin-bottom: 0; } }

.recruit .work .name { font-size: 20px; margin-top: 20px; margin-bottom: 10px; }

.recruit .workstyle-list { max-width: 1000px; margin: 0 auto; }

.recruit .workstyle-list h3 { font-size: 26px; border-bottom: 0.5px solid #4B4B4B; padding-bottom: 12px; margin-bottom: 15px; position: relative; }

.recruit .workstyle-list h3 small { font-size: 26px; }

@media all and (max-width: 960px) { .recruit .workstyle-list h3 small { font-size: 20px; } }

.recruit .workstyle-list h3::after { position: absolute; content: ''; background: #4B4B4B; width: 45%; height: 0.5px; right: -45%; bottom: -1px; }

.recruit .workstyle-list .item { margin-bottom: 90px; }

@media all and (max-width: 960px) { .recruit .workstyle-list .item { margin-bottom: 80px; } }

.recruit .workstyle-list .item:last-child { margin-bottom: 0; }

.recruit .app-details { margin: 200px 0; }

.recruit .address { max-width: 1000px; margin: 0 auto; margin-top: 60px; border-bottom: 0.5px solid #D9D9D9; padding-bottom: 30px; position: relative; }

.recruit .address::after { position: absolute; content: ''; background: #D9D9D9; width: 45%; height: 0.5px; right: -45%; bottom: -1px; }

.recruit .address p.tit { font-weight: bold; font-size: 16px; margin-bottom: 15px; }

.recruit-details { margin-top: 220px; }

@media all and (min-width: 961px) { .recruit-details { border-top: 0.5px solid #4B4B4B; position: relative; }
  .recruit-details::after { position: absolute; content: ''; background: #4B4B4B; width: 40%; height: 0.5px; right: -40%; top: -1px; } }

@media all and (max-width: 960px) { .recruit-details { margin-top: 150px; } }

.recruit-details .tit { font-weight: bold; font-size: 20px; }

@media all and (min-width: 961px) { .recruit-details .tit { margin: 15px 30px; } }

@media all and (max-width: 960px) { .recruit-details .tit { padding-bottom: 12px; margin-bottom: 25px; position: relative; border-bottom: 0.5px solid #4B4B4B; }
  .recruit-details .tit::after { position: absolute; content: ''; background: #4B4B4B; width: 20%; height: 0.5px; right: -20%; bottom: -1px; } }

@media all and (min-width: 961px) { .recruit-details .dflex { display: flex; justify-content: space-between; align-items: flex-start; } }

@media all and (min-width: 961px) { .recruit-details .blocktab, .recruit-details .blockstep { flex: 0 0 60%; max-width: 785px; } }

@media all and (max-width: 960px) { .recruit-details .blocktab, .recruit-details .blockstep { width: 112%; margin-left: -6%; } }

.recruit .app .tabslist { display: flex; justify-content: flex-start; align-items: center; border-bottom: 3px solid #F7F7F7; }

@media all and (min-width: 961px) { .recruit .app .tabslist { position: relative; margin-top: -57px; }
  .recruit .app .tabslist::after { position: absolute; content: ''; background: #F7F7F7; width: 40%; height: 3px; right: -40%; bottom: -3px; z-index: 9; } }

.recruit .app .tabslist li { flex: 0 0 33%; max-width: 200px; text-align: center; cursor: pointer; padding: 15px 5px; transition: all .3s; position: relative; bottom: -3px; height: 55px; }

.recruit .app .tabslist li.active { border-bottom: 3px solid #4B4B4B; }

@media all and (min-width: 961px) { .recruit .app .tabslist li:hover { opacity: .5; } }

.recruit .app table { width: 100%; }

.recruit .app table th, .recruit .app table td { border-bottom: 0.5px solid #D9D9D9; padding: 35px 40px; vertical-align: middle; line-height: 2; }

@media all and (max-width: 960px) { .recruit .app table th, .recruit .app table td { padding: 30px 20px; font-weight: normal; } }

.recruit .app table th { padding-right: 0; width: 270px; text-align: left; font-weight: bold; }

@media all and (max-width: 960px) { .recruit .app table th { width: 110px; } }

.recruit .app table td { padding-left: 0; }

@media all and (min-width: 961px) { .recruit .app table td { position: relative; }
  .recruit .app table td::after { position: absolute; content: ''; background: #D9D9D9; width: 60%; height: 0.5px; right: -60%; bottom: -1px; } }

@media all and (max-width: 960px) { .recruit .app table td { padding-right: 20px; } }

.recruit .app table tr:last-child th { vertical-align: top; }

.recruit .app table tr:last-child th, .recruit .app table tr:last-child td { border-bottom: 0; }

.recruit .app table tr:last-child th::after, .recruit .app table tr:last-child td::after { background: none; }

.recruit .blockstep dl { border-bottom: 0.5px solid #D9D9D9; display: flex; justify-content: flex-start; align-items: center; padding: 40px 15px; position: relative; }

.recruit .blockstep dl::after { position: absolute; content: ''; background: #D9D9D9; width: 40%; height: 0.5px; right: -40%; bottom: -1px; }

@media all and (max-width: 960px) { .recruit .blockstep dl { align-items: flex-start; padding: 30px 5%; }
  .recruit .blockstep dl:last-child { border-bottom: 0; } }

.recruit .blockstep dt { font-family: "inter-variable"; font-size: 26px; color: #B7B7B7; margin-right: 15px; }

@media all and (max-width: 960px) { .recruit .blockstep dt { font-size: 14px; line-height: 25px; } }

.recruit .blockstep dd { display: flex; justify-content: flex-start; align-items: center; }

@media all and (max-width: 960px) { .recruit .blockstep dd { align-items: flex-start; } }

.recruit .blockstep dd strong { word-break: keep-all; margin-right: 10px; flex: 1; position: relative; }

.recruit .blockstep dd strong::after { content: '/'; margin-left: 10px; }

@media all and (max-width: 960px) { .recruit .blockstep dd strong { margin-right: 5px; flex: 0 0 80px; } }

@media all and (max-width: 960px) { .recruit .blockButton { margin-top: 140px; } }

.interview_detail.wrapper { padding-top: 0; }

@media all and (min-width: 961px) { .interview_detail.wrapper { padding-top: 160px; } }

@media all and (min-width: 961px) { .interview_detail .interview .titline { margin-bottom: 80px; }
  .interview_detail .interview .titline .tit span { font-size: 50px; } }

@media all and (min-width: 961px) { .interview_detail .interview-list { grid-template-columns: repeat(3, 1fr); grid-gap: 70px; } }

.interview_detail .detail { background: #FAFAFA; position: relative; }

@media all and (min-width: 961px) { .interview_detail .detail::before { position: absolute; content: ''; background: #fff; width: 120px; height: 100%; left: 0; top: 0; } }

.interview_detail .content-wrapper { max-width: 1050px; margin: 0 auto; padding: 0 30px; padding-top: 200px; padding-bottom: 300px; }

@media all and (max-width: 960px) { .interview_detail .content-wrapper { padding: 0 5%; padding-top: 150px; padding-bottom: 150px; } }

.interview_detail .content-wrapper h1 { font-size: 36px; font-weight: bold; margin-bottom: 45px; }

@media all and (max-width: 960px) { .interview_detail .content-wrapper h1 { font-size: 20px; } }

.interview_detail .content-wrapper .dflex { display: flex; justify-content: flex-start; align-items: flex-start; }

@media all and (max-width: 960px) { .interview_detail .content-wrapper .dflex .dflex { flex: 1; flex-wrap: wrap; padding-left: 15px; } }

@media all and (max-width: 960px) { .interview_detail .content-wrapper .dflex p:not(.name) { font-size: 12px; flex: 0 0 100%; } }

.interview_detail .content-wrapper .name { font-size: 26px; line-height: 1; position: relative; padding-left: 75px; }

@media all and (max-width: 960px) { .interview_detail .content-wrapper .name { padding-left: 35px; } }

.interview_detail .content-wrapper .name::before { position: absolute; content: ''; background: #4B4B4B; width: 60px; height: 0.5px; left: 0; top: 5px; }

@media all and (max-width: 960px) { .interview_detail .content-wrapper .name::before { width: 30px; } }

@media all and (min-width: 961px) { .interview_detail .content-wrapper .year { margin: 0 15px; } }

@media all and (max-width: 960px) { .interview_detail .content-wrapper .year { margin-bottom: 10px; } }

.interview_detail .list { margin-top: 150px; }

@media all and (max-width: 960px) { .interview_detail .list { margin-top: 120px; } }

.interview_detail .list .titsub, .interview_detail .list .compliance dl dt, .compliance dl .interview_detail .list dt { font-size: 26px; }

@media all and (min-width: 961px) { .interview_detail .list .titsub, .interview_detail .list .compliance dl dt, .compliance dl .interview_detail .list dt { margin-bottom: 60px; } }

.interview_detail .list .content { margin-top: 110px; }

@media all and (min-width: 961px) { .interview_detail .list .content { display: flex; justify-content: space-between; align-items: flex-start; padding-left: 80px; } }

@media all and (max-width: 960px) { .interview_detail .list .content { margin-top: 150px; } }

@media all and (min-width: 961px) { .interview_detail .list .img { max-width: 375px; } }

@media all and (max-width: 960px) { .interview_detail .list .img { margin-bottom: 80px; } }

.interview_detail .list .img img { width: 100%; }

@media all and (min-width: 961px) { .interview_detail .list .desc { max-width: 430px; } }

@media all and (min-width: 961px) { .interview_detail .list .content1 { margin-bottom: 180px; padding-left: 0; }
  .interview_detail .list .content1 .img { max-width: 490px; } }

.interview_detail .list .content1 .titsub2 { margin-top: 180px; }

@media all and (max-width: 960px) { .interview_detail .list .content1 .titsub2 { margin-top: 120px; } }

.loading { position: fixed; width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; background: #fff; z-index: 1000; }

.loading svg { width: 281px; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); }

.loading svg.svg1 { z-index: 1; }

.loading svg.svg1 .st1 { position: relative; z-index: 1; fill: #fff; animation-name: change-height; animation-duration: 1.5s; animation-delay: 1s; animation-timing-function: ease-in; animation-fill-mode: both; }

.loading svg.svg2 { z-index: 2; animation-name: fadeIn; animation-iteration-count: 1; animation-duration: 1s; animation-delay: 0.5s; animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1); animation-fill-mode: both; backface-visibility: hidden; }

.loading svg.svg3 { z-index: 0; animation-name: opaci; animation-timing-function: ease-in-out; animation-delay: .5s; animation-duration: .1s; }

.loading.done { animation-name: fadeOut; animation-iteration-count: 1; animation-duration: 1s; animation-delay: 1s; animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1); animation-fill-mode: both; backface-visibility: hidden; }

.loading.done .svg3 { z-index: 3; }

@keyframes change-height { from { transform: translateY(0); }
  to { transform: translateY(-100px); } }

@keyframes opaci { 0% { opacity: 1; }
  100% { opacity: 0; } }

body:not(.home) .loading { display: none; opacity: 0; visibility: hidden; }

body.loaddone .loading.done { visibility: hidden; opacity: 0; }

.grecaptcha-badge { z-index: 99;}