@charset "UTF-8";
/* sass */
/*FONT SETTING 
==================================================*/
.hdg-level01 { font-family: 'Shuei KakuGo Kin L', 'tofu'; }

.content-head.type03 .hdg-level01, .hdg-level02, .hdg-level03 { font-family: 'Shuei KakuGo Kin B', 'tofu'; }
.content-head.type03 .hdg-level01.disabled, .hdg-level02.disabled, .hdg-level03.disabled { color: #ccc !important; }

.header .header-inner .nav-wrap .nav-content { font-family: 'Noto Sans Japanese', serif; font-weight: 500; }

.footer .footer-nav-wrap .column-wrap, .header .header-inner .nav-wrap .info-wrap .info-inq p { font-family: 'Noto Sans Japanese', serif; font-weight: 400; }

.content-head.type01 .hdg-level01-wrap .hdg-level01 span, .content-body .nav-service-wrap .hdg-level02 span, .header .header-inner .nav-wrap .nav-content .nav-parent li a span, .footer .footer-nav-wrap .column-wrap .nav-parent li span { font-family: 'Noto Sans', sans-serif; font-weight: normal; }

/* layout */
.bread-crumbs { background-color: #fff; padding: 0 10px; }
.bread-crumbs ol { padding: 15px 0; max-width: 1100px; margin: 0 auto; box-sizing: border-box; letter-spacing: -.40em; }
.bread-crumbs ol li { display: inline-block; letter-spacing: normal; font-size: 13px; font-size: 1.3rem; line-height: 1; color: #4d4d4d; padding: 0 0 0 5px; }
.bread-crumbs ol li a { cursor: pointer; text-decoration: none; }
.bread-crumbs ol li a:link { color: #236da0; }
.bread-crumbs ol li a:visited { color: #236da0; }
.bread-crumbs ol li a:hover { color: #236da0; text-decoration: underline; }
.bread-crumbs ol li a:active, .bread-crumbs ol li a:focus { color: #236da0; }
.bread-crumbs ol li:before { content: "\003e"; padding-right: 5px; color: #ccc; }
.bread-crumbs ol li:first-child { padding: 0; }
.bread-crumbs ol li:first-child:before { content: ""; padding: 0; }

.content-body { background: #fff; z-index: 2; padding: 50px 0; }

.content-wrap { max-width: 960px; padding: 0 20px; margin: 0 auto; box-sizing: border-box; }
.content-wrap.full { max-width: 100%; margin: 0 auto; padding: 0; }

/* head_foot */
.header { box-sizing: border-box; z-index: 1; top: -133px; width: 100%; height: 133px; }
.header .header-band { background: #004ea2 url(/shared/image/head_bg.png) no-repeat right top; height: 50px; }
.header .sp-open-bg { display: none; }
.header .header-inner { background: #fff; height: 60px; position: relative; font-size: 0; }
.header .header-inner .header-content { max-width: 1120px; padding: 0 10px; box-sizing: border-box; margin: 0 auto; display: table; width: 100%; }
.header .header-inner .nav-control-btn { display: none; }
.header .header-inner .logo-wrap { display: blcok; position: absolute; top: -37px; }
.header .header-inner .logo-wrap p { display: none; font-size: 0; line-height: 0; position: relative; z-index: 5; }
.header .header-inner .logo-wrap p img { height: 22px; max-width: auto; }
.header .header-inner .logo-wrap p a { display: inline-block; vertical-align: middle; }
.header .header-inner .logo-wrap p a img { transition: opacity 0.3s; }
.header .header-inner .logo-wrap p a:hover img { opacity: 0.5; }
.header .header-inner .logo-wrap .hdr-logo-dnp { margin-right: 14px; }
.header .header-inner .nav-wrap { position: relative; z-index: 1; margin: 0 auto; box-sizing: border-box; font-size: 0; vertical-align: middle; padding-left: 3%; }
.header .header-inner .nav-wrap .nav-content, .header .header-inner .nav-wrap .info-wrap { display: inline-block; vertical-align: top; }
.header .header-inner .nav-wrap .nav-content { width: 80%; box-sizing: border-box; }
.header .header-inner .nav-wrap .nav-content .nav-parent { display: -webkit-box; display: -moz-box; display: -ms-box; display: -webkit-flexbox; display: -moz-flexbox; display: -ms-flexbox; display: -webkit-flex; display: -moz-flex; display: -ms-flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; font-size: 13px; font-size: 1.3rem; width: 100%; }
.header .header-inner .nav-wrap .nav-content .nav-parent li { display: -webkit-box; display: -moz-box; display: -ms-box; display: -webkit-flexbox; display: -moz-flexbox; display: -ms-flexbox; display: -webkit-flex; display: -moz-flex; display: -ms-flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; position: relative; }
.header .header-inner .nav-wrap .nav-content .nav-parent li a, .header .header-inner .nav-wrap .nav-content .nav-parent li p { display: block; text-align: center; padding: 16.5px 27px 10.5px; height: 60px; box-sizing: border-box; color: #000; text-decoration: none; font-size: 17px; font-size: 1.6rem; }
.header .header-inner .nav-wrap .nav-content .nav-parent li a:before, .header .header-inner .nav-wrap .nav-content .nav-parent li p:before { position: absolute; bottom: 15px; left: 50%; content: ''; width: 0; height: 2px; background-color: #000; opacity: 0; transition: .3s; }
@media screen and (min-width: 768px) { .header .header-inner .nav-wrap .nav-content .nav-parent li a:hover:before, .header .header-inner .nav-wrap .nav-content .nav-parent li p:hover:before { bottom: 15px; left: 50%; opacity: 1; width: 70px; margin-left: -35px; }
  .header .header-inner .nav-wrap .nav-content .nav-parent li a:hover.disabled:hover:before, .header .header-inner .nav-wrap .nav-content .nav-parent li p:hover.disabled:hover:before { opacity: 0; display: none; } }
.header .header-inner .nav-wrap .nav-content .nav-parent li a.link-blank, .header .header-inner .nav-wrap .nav-content .nav-parent li p.link-blank { position: relative; }
.header .header-inner .nav-wrap .nav-content .nav-parent li a.link-blank:after, .header .header-inner .nav-wrap .nav-content .nav-parent li p.link-blank:after { content: ""; background: transparent url(/shared/image/icon_window_white.png) no-repeat; background-size: 16px 16px; display: inline-block; vertical-align: middle; width: 16px; height: 16px; margin-left: 5px; }
.header .header-inner .nav-wrap .nav-content .nav-parent li a.accordionActive:before, .header .header-inner .nav-wrap .nav-content .nav-parent li p.accordionActive:before { bottom: 15px; left: 50%; opacity: 1; width: 70px; margin-left: -35px; }
.header .header-inner .nav-wrap .nav-content .nav-parent li a.disabled, .header .header-inner .nav-wrap .nav-content .nav-parent li p.disabled { color: #ccc; }
.header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child { position: absolute; width: 210px; left: -40px; top: 60px; display: none; }
.header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child li { display: block; border-right: none; overflow: visible; white-space: nowrap; position: relative; z-index: 5; }
.header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child li a { text-align: left; height: auto; background: #3f3f3f url(/shared/image/arrow-right-white01.png) no-repeat 92% center; background-size: 3px 5px; padding: 10px 60px 10px 20px; color: #fff; font-size: 13px; font-size: 1.3rem; }
.header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child li a:before { opacity: 0; display: none; }
.header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child li a span { display: none; }
@media screen and (min-width: 768px) { .header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child li a:hover { transition: background 0.2s; background-color: #525252; color: #fff; }
  .header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child li a:hover:before { opacity: 0; display: none; } }
.header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child li:first-child { border-bottom: 1px solid #525252; }
.header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child li:first-child a { padding: 14px 60px 14px 20px; font-size: 14px; font-size: 1.4rem; }
.header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child.accordionActive { display: block; }
.header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child.accordionActive:before { opacity: 0; display: none; }
.header .header-inner .nav-wrap .nav-content .nav-parent li.gnav04 .nav-child { left: -5px; }
.header .header-inner .nav-wrap .info-wrap { width: 20%; height: 60px; font-size: 0; text-align: right; }
.header .header-inner .nav-wrap .info-wrap .info-inq { display: inline-block; vertical-align: top; padding: 14px 15px 15px 0; }
.header .header-inner .nav-wrap .info-wrap .info-inq p { font-size: 12px; font-size: 1.2rem; }
.header .header-inner .nav-wrap .info-wrap .info-inq p a { display: block; border: 1px solid #000; padding: 5px 10px; color: #000; }
.header .header-inner .nav-wrap .info-wrap .info-inq p a.link-blank { padding: 5px; position: relative; }
.header .header-inner .nav-wrap .info-wrap .info-inq p a.link-blank:after { content: ""; background: transparent url(/shared/image/icon_window_black.png) no-repeat; background-size: 12px 12px; display: inline-block; vertical-align: middle; width: 12px; height: 12px; margin-top: -3px; margin-left: 3px; }
@media screen and (min-width: 768px) { .header .header-inner .nav-wrap .info-wrap .info-inq p a:hover { transition: background 0.2s; background-color: #000; color: #fff; }
  .header .header-inner .nav-wrap .info-wrap .info-inq p a.link-blank:hover:after { background-image: url(/shared/image/icon_window_white.png); } }
.header .header-inner .nav-wrap .info-wrap .info-serach { display: inline-block; vertical-align: top; position: relative; }
.header .header-inner .nav-wrap .info-wrap .info-serach .glass { font-size: 0; line-height: 0; }
.header .header-inner .nav-wrap .info-wrap .info-serach .glass a { margin: 14px 0; display: block; width: 42px; height: 32px; background: transparent url(/shared/image/icon_glass.png) no-repeat center center; background-size: 18px 18px; border-left: 1px solid #000; }
.header .header-inner .nav-wrap .info-wrap .info-serach .glass a.accordionActive { padding: 14px 0; margin: 0; background-color: #3f3f3f; background-image: url(/shared/image/icon_close.png); background-size: 18px 18px; }
.header .header-inner .nav-wrap .info-wrap .info-serach .search-wrap { position: absolute; top: 60px; right: 0; background: #3f3f3f; padding: 15px; display: none; }
.header .header-inner .nav-wrap .info-wrap .info-serach .search-wrap.accordionActive { display: block; }
.header .header-inner .nav-wrap .info-wrap .info-serach .search-wrap .search-txt { position: relative; }
.header .header-inner .nav-wrap .info-wrap .info-serach .search-wrap .search-input { -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; padding: 5px 40px 5px 5px; font-size: 16px; font-size: 1.6rem; width: 240px; height: 32px; box-sizing: border-box; border-radius: 0; }
.header .header-inner .nav-wrap .info-wrap .info-serach .search-wrap .search-btn { display: block; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; position: absolute; right: 0; top: 0; height: 32px; width: 40px; background: transparent url(/shared/image/icon_glass.png) no-repeat center center; background-size: 18px 18px; cursor: pointer; }

@media screen and (max-width: 900px) { .header .header-inner .nav-wrap { padding-left: 0; }
  .header .header-inner .nav-wrap .nav-content .nav-parent li a, .header .header-inner .nav-wrap .nav-content .nav-parent li p { padding-right: 17px; padding-left: 17px; }
  .header .header-inner .nav-wrap .nav-content { width: 77%; }
  .header .header-inner .nav-wrap .info-wrap { width: 23%; }
  .header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child { left: -55px; }
  .header .header-inner .nav-wrap .nav-content .nav-parent li.gnav01 .nav-child { left: 0; }
  .header .header-inner .nav-wrap .nav-content .nav-parent li.gnav04 .nav-child { left: -15px; } }
.transform { padding-top: 133px; }
.transform .l-head { height: 0; background: transparent; }
.transform .l-head img { display: none; }
.transform .header { position: fixed; width: 100%; height: 60px; padding: 0; top: 0; z-index: 9990; }
.transform .header .header-band { height: 5px; }
.transform .header .header-inner { background-color: rgba(255, 255, 255, 0.89); }

.link-top-wrap { background: #fff; position: relative; }
.link-top-wrap .link-top { padding: 50px 0 30px; height: 50px; max-width: 1280px; margin: 0 auto; position: relative; text-align: right; }
.link-top-wrap .link-top a { font-size: 0; line-height: 0; display: inline-block; z-index: 5; width: 50px; height: 50px; background: transparent url(/shared/image/icon_pagetop.png) no-repeat 0 0; position: absolute; right: 30px; top: 50px; }
.link-top-wrap .link-top a span { visibility: hidden; }
@media screen and (min-width: 768px) { .link-top-wrap .link-top a:hover { transition: opacity 0.3s; opacity: 0.7; } }

.footer { background: #fff; }
.footer .footer-nav-wrap { background-color: #3f3f3f; color: #fff; }
.footer .footer-nav-wrap a { color: #fff; }
@media screen and (min-width: 768px) { .footer .footer-nav-wrap a:hover { text-decoration: underline; } }
.footer .footer-nav-wrap .column-wrap { max-width: 1140px; margin: 0 auto; padding: 60px 20px; box-sizing: border-box; display: -webkit-box; display: -moz-box; display: -ms-box; display: -webkit-flexbox; display: -moz-flexbox; display: -ms-flexbox; display: -webkit-flex; display: -moz-flex; display: -ms-flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.footer .footer-nav-wrap .column-wrap .nav-main-column { width: 28%; padding-right: 3%; box-sizing: border-box; border-right: 1px solid #525252; }
.footer .footer-nav-wrap .column-wrap .nav-main-column ul li { font-size: 12px; font-size: 1.2rem; padding-top: 5px; }
.footer .footer-nav-wrap .column-wrap .nav-direct-column { width: 18%; padding: 0 1.5%; box-sizing: border-box; border-right: 1px solid #525252; }
.footer .footer-nav-wrap .column-wrap .txt-company { border: 1px solid #fff; margin-bottom: 20px; }
.footer .footer-nav-wrap .column-wrap .txt-company p { font-size: 0; }
.footer .footer-nav-wrap .column-wrap .txt-company p span img { display: block; padding-top: 15px; max-width: 100%; }
.footer .footer-nav-wrap .column-wrap .txt-company p span.txt { display: block; font-size: 12px; font-size: 1.2rem; padding-top: 10px; }
.footer .footer-nav-wrap .column-wrap .txt-company p a { display: block; padding: 5px 20px 20px; }
@media screen and (min-width: 768px) { .footer .footer-nav-wrap .column-wrap .txt-company p a:hover { transition: background 0.2s; background-color: #4e4e4e; text-decoration: none; } }
.footer .footer-nav-wrap .column-wrap .nav-parent li { font-size: 16px; font-size: 1.6rem; margin-top: 30px; }
.footer .footer-nav-wrap .column-wrap .nav-parent li span { display: block; color: #aaaaaa; font-size: 11px; font-size: 1.1rem; }
.footer .footer-nav-wrap .column-wrap .nav-parent li .pc-view { display: inline; }
.footer .footer-nav-wrap .column-wrap .nav-parent li .sp-view { display: none; }
.footer .footer-nav-wrap .column-wrap .nav-parent li:first-child { margin-top: 0; }
.footer .footer-nav-wrap .column-wrap .nav-parent li .disabled { color: #666; }
.footer .footer-nav-wrap .column-wrap .nav-parent li .disabled span { color: #666 !important; }
.footer .footer-nav-wrap .column-wrap .nav-child { margin-top: 30px; }
.footer .footer-nav-wrap .column-wrap .nav-child li { font-size: 14px; font-size: 1.4rem; padding-bottom: 5px; margin-top: 0; }
.footer .footer-nav-wrap .column-wrap .nav-child li.category-top { display: none; }
.footer .footer-nav-wrap .column-wrap .nav-child li a.link-blank { position: relative; }
.footer .footer-nav-wrap .column-wrap .nav-child li a.link-blank:after { content: ""; background: transparent url(/shared/image/icon_window_white.png) no-repeat; background-size: 16px 16px; display: inline-block; vertical-align: middle; width: 16px; height: 16px; margin-left: 5px; }
.footer .footer-nav-wrap .column-wrap .info-inq { margin-top: 30px; }
.footer .footer-nav-wrap .column-wrap .info-inq p a { display: block; text-align: center; font-weight: bold; background: #4e4e4e; padding: 10px; }
.footer .footer-nav-wrap .column-wrap .info-inq p a.link-blank { padding: 10px 5px; position: relative; }
.footer .footer-nav-wrap .column-wrap .info-inq p a.link-blank:after { content: ""; background: transparent url(/shared/image/icon_window_white.png) no-repeat; background-size: 16px 16px; display: inline-block; vertical-align: middle; width: 16px; height: 16px; margin-left: 5px; }
@media screen and (max-width: 890px) { .footer .footer-nav-wrap .column-wrap .info-inq p a { font-size: 12px; font-size: 1.2rem; } }
@media screen and (min-width: 768px) { .footer .footer-nav-wrap .column-wrap .info-inq p a:hover { transition: background 0.2s; background-color: #666; text-decoration: none; } }
.footer .footer-nav-wrap .column-wrap .info-inq ul { display: none; }
.footer .footer-license-wrap { max-width: 1100px; margin: 0 auto; padding: 30px 20px; }
.footer .footer-license-wrap ul { display: table; width: 100%; }
.footer .footer-license-wrap ul li { display: table-cell; vertical-align: middle; width: 33.333333333%; box-sizing: border-box; font-size: 11px; font-size: 1.1rem; }
.footer .footer-license-wrap ul li.license01 { padding: 0 15px 0 80px; position: relative; }
.footer .footer-license-wrap ul li.license01 a { display: block; position: absolute; left: 0; top: 50%; margin-top: -30px; }
.footer .footer-license-wrap ul li.license02 { padding: 0 15px 0 70px; background: transparent url(/shared/image/footer_license_logo02.png) no-repeat 0 center; }
.footer .footer-license-wrap ul li.license03 { padding: 0 0 0 125px; background: url(/shared/image/footer_license_logo03.png) 0 center no-repeat, url(/shared/image/footer_license_logo04.png) 60px center no-repeat; }
.footer .footer-subnavi-wrap { border-top: 1px solid #dfdfdf; padding: 10px 20px; }
.footer .footer-subnavi-wrap .footer-subnavi-inner { display: table; width: 100%; max-width: 1100px; margin: 0 auto; }
.footer .footer-subnavi-wrap .footer-subnavi-inner ul, .footer .footer-subnavi-wrap .footer-subnavi-inner p { display: table-cell; vertical-align: middle; }
.footer .footer-subnavi-wrap .footer-subnavi-inner p { text-align: right; }
.footer .footer-subnavi-wrap .footer-subnavi-inner p small, .footer .footer-subnavi-wrap .footer-subnavi-inner p span { display: inline-block; vertical-align: middle; padding: 10px 0; }
.footer .footer-subnavi-wrap .footer-subnavi-inner p span { padding-left: 30px; font-size: 0; line-height: 0; }
.footer .footer-subnavi-wrap .footer-subnavi-inner ul { display: table; padding: 10px 0; }
.footer .footer-subnavi-wrap .footer-subnavi-inner ul li { display: table-cell; vertical-align: top; white-space: nowrap; font-size: 12px; font-size: 1.2rem; padding: 0 15px; border-left: 1px solid #dfdfdf; }
.footer .footer-subnavi-wrap .footer-subnavi-inner ul li:first-child { padding: 0 15px 0 0; border-left: 1px none; }
@media screen and (min-width: 768px) { .footer .footer-subnavi-wrap .footer-subnavi-inner ul li a:hover { text-decoration: underline; } }

/* layout_sp */
@media screen and (max-width: 767px) { .bread-crumbs ol { padding: 10px 0; }
  .bread-crumbs ol li { font-size: 11px; font-size: 1.1rem; }
  .content-body { padding: 20px 0 0; }
  .content-wrap { padding: 0 10px 1px; } }
/* head_foot_sp */
@media screen and (max-width: 767px) { .header { z-index: 1; top: 0; width: 100%; height: 144px; background-color: #fff; }
  .header .header-band { height: 2px; }
  .header .header-inner { background: #fff; height: 38px; }
  .header .header-inner .header-content { padding: 0; box-sizing: border-box; margin: -38px auto 0; display: block; width: 100%; background: transparent; z-index: 5; }
  .header .header-inner .nav-control-btn { display: block; height: 38px; font-size: 0; line-height: 0; }
  .header .header-inner .nav-control-btn a { display: block; height: 38px; width: 38px; position: absolute; right: 0; top: 0; z-index: 100; }
  .header .header-inner .nav-control-btn a span { width: 16px; height: 2px; display: block; background: #777777; position: absolute; left: 12px; top: 17px; -webkit-transition: all 0.3s; -ms-transition: all 0.3s; transition: all 0.3s; -webkit-transform: rotate(0deg); -ms-transform: rotate(0deg); transform: rotate(0deg); }
  .header .header-inner .nav-control-btn a span.top { -webkit-transform: translateY(-5px); -ms-transform: translateY(-5px); transform: translateY(-5px); }
  .header .header-inner .nav-control-btn a span.bottom { -webkit-transform: translateY(5px); -ms-transform: translateY(5px); transform: translateY(5px); }
  .header .header-inner .logo-wrap { display: block; position: relative; width: 100%; background-color: #fff; height: 38px; width: 250px; z-index: 101; top: 0; padding-right: 0; }
  .header .header-inner .logo-wrap p { display: none; position: absolute; left: 10px; top: 10px; font-size: 0; line-height: 0; }
  .header .header-inner .logo-wrap p a { display: inline-block; background: transparent url(/shared/image/logo02_sp.png) no-repeat 0 0; background-size: 148px 16px; width: 148px; height: 16px; vertical-align: middle; }
  .header .header-inner .logo-wrap p a.hdr-logo-dnp { background: transparent url(/shared/image/logo01_sp.png) no-repeat 0 0; background-size: 52px 16px; width: 52px; height: 16px; margin-right: 7px; }
  .header .header-inner .logo-wrap p img { display: none; }
  .header .header-inner .nav-wrap { height: 0; visibility: hidden; opacity: 0; padding-left: 0; }
  .sp-menu-open .sp-open-bg { height: 120%; display: block; width: 100%; position: fixed; background: rgba(0, 0, 0, 0.6); z-index: 1; }
  .sp-menu-open .header { position: relative; }
  .sp-menu-open .header .header-inner { z-index: 100; }
  .sp-menu-open .header .header-inner .nav-control-btn { z-index: 10; }
  .sp-menu-open .header .header-inner .nav-control-btn a { background-color: #3f3f3f; }
  .sp-menu-open .header .header-inner .nav-control-btn a span { background: #fff; }
  .sp-menu-open .header .header-inner .nav-control-btn a span.top { -webkit-transform: rotate(-45deg) translateY(0px); -ms-transform: rotate(-45deg) translateY(0px); transform: rotate(-45deg) translateY(0px); }
  .sp-menu-open .header .header-inner .nav-control-btn a span.middle { background: rgba(255, 255, 255, 0); }
  .sp-menu-open .header .header-inner .nav-control-btn a span.bottom { -webkit-transform: rotate(45deg) translateY(0px); -ms-transform: rotate(45deg) translateY(0px); transform: rotate(45deg) translateY(0px); }
  .sp-menu-open .header .header-inner .nav-wrap { display: block; height: auto; visibility: visible; opacity: 1; -webkit-transition: all 0.3s; -ms-transition: all 0.3s; transition: all 0.3s; position: relative; background: #3f3f3f; box-sizing: border-box; font-size: 0; width: 100%; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content, .sp-menu-open .header .header-inner .nav-wrap .info-wrap { display: block; width: 100%; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content { max-width: 100%; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent { display: block; font-size: 13px; font-size: 1.3rem; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li { display: block; border-right: none; position: relative; border-bottom: 1px solid #343434; text-align: left; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li a, .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li p { display: block; padding: 10px 40px 10px 20px; height: auto; box-sizing: border-box; color: #fff; text-decoration: none; font-size: 13px; font-size: 1.3rem; position: relative; text-align: left; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li a:before, .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li p:before { content: ""; display: none; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li a:after, .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li p:after { content: ""; position: absolute; right: 15px; top: 50%; display: block; width: 9px; height: 5px; margin-top: -2.5px; background: transparent url(/shared/image/arrow-bottom-white01.png) no-repeat 0 0; background-size: 9px 5px; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li a span, .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li p span { display: inline-block; font-size: 11px; font-size: 1.1rem; padding-left: 10px; vertical-align: middle; color: #aaaaaa; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li a.link-blank, .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li p.link-blank { position: relative; padding-right: 40px; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li a.link-blank:after, .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li p.link-blank:after { content: ""; background: transparent url(/shared/image/icon_window_white.png) no-repeat; background-size: 16px 16px; display: block; vertical-align: middle; width: 16px; height: 16px; position: absolute; right: 10px; top: 50%; margin-top: -8px; padding: 0; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li a.accordionActive:after, .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li p.accordionActive:after { background-image: url(/shared/image/arrow-top-white01.png); }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li a.disabled, .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li p.disabled { color: #666; padding-right: 20px; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li a.disabled span, .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li p.disabled span { color: #666; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li a.disabled:after, .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li p.disabled:after { display: none; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child { position: static; width: 100%; box-sizing: border-box; border-top: 1px solid #343434; border-left: 5px solid #343434; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child li { display: block; border-right: none; overflow: visible; white-space: nowrap; position: relative; z-index: 5; border-top: none; border-bottom: none; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child li a { height: auto; background-image: none; padding: 10px 20px 10px 25px; color: #fff; font-size: 13px; font-size: 1.3rem; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child li a:after { content: ""; display: none; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child li a span { display: inline; font-size: 11px; font-size: 1.1rem; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child li a.link-blank { padding-right: 40px; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child li a.link-blank:after { display: block; background: transparent url(/shared/image/icon_window_white.png) no-repeat; background-size: 16px 16px; }
  .sp-menu-open .header .header-inner .nav-wrap .nav-content .nav-parent li .nav-child li:first-child a { padding: 10px 10px 10px 25px; font-size: 13px; font-size: 1.3rem; }
  .sp-menu-open .header .header-inner .nav-wrap .info-wrap { width: 100%; height: auto; max-width: 100%; display: table; }
  .sp-menu-open .header .header-inner .nav-wrap .info-wrap .info-inq { display: table-footer-group; vertical-align: top; max-width: 100%; padding: 0; }
  .sp-menu-open .header .header-inner .nav-wrap .info-wrap .info-inq p { padding: 15px 20px; font-size: 13px; font-size: 1.3rem; text-align: center; }
  .sp-menu-open .header .header-inner .nav-wrap .info-wrap .info-inq p a { display: block; border: none; padding: 12px; color: #fff; font-weight: bold; background: #4e4e4e; }
  .sp-menu-open .header .header-inner .nav-wrap .info-wrap .info-inq p a.link-blank { padding: 12px; }
  .sp-menu-open .header .header-inner .nav-wrap .info-wrap .info-inq p a.link-blank:after { background-image: url(/shared/image/icon_window_white.png); background-size: 16px 16px; width: 16px; height: 16px; margin-left: 5px; }
  .sp-menu-open .header .header-inner .nav-wrap .info-wrap .info-serach { display: table-header-group; vertical-align: top; padding: 0; position: relative; }
  .sp-menu-open .header .header-inner .nav-wrap .info-wrap .info-serach .glass { display: none; }
  .sp-menu-open .header .header-inner .nav-wrap .info-wrap .info-serach .search-wrap { display: block; position: relative; background: #3f3f3f; padding: 20px 20px 0; top: auto; }
  .sp-menu-open .header .header-inner .nav-wrap .info-wrap .info-serach .search-wrap .search-input { width: 100%; }
  .link-top-wrap { background: #fff; position: relative; }
  .link-top-wrap .link-top { padding: 25px 0; height: 30px; margin: 0 auto; position: relative; text-align: right; }
  .link-top-wrap .link-top a { font-size: 0; line-height: 0; display: inline-block; z-index: 5; width: 30px; height: 30px; background: transparent url(/shared/image/icon_pagetop.png) no-repeat 0 0; background-size: 30px 30px; position: absolute; right: 20px; top: 25px; }
  .footer .footer-nav-wrap .column-wrap { margin: 0 auto; padding: 20px 0 0; box-sizing: border-box; display: block; }
  .footer .footer-nav-wrap .column-wrap .nav-main-column { width: 100%; padding: 0 20px; box-sizing: border-box; border-right: none; }
  .footer .footer-nav-wrap .column-wrap .nav-main-column ul { display: none; }
  .footer .footer-nav-wrap .column-wrap .nav-direct-column { width: 100%; padding: 0; box-sizing: border-box; border-right: none; }
  .footer .footer-nav-wrap .column-wrap .txt-company { border: 1px solid #fff; padding: 0; margin: 0 0 20px; }
  .footer .footer-nav-wrap .column-wrap .txt-company p { font-size: 0; background: transparent url(/shared/image/footer_logo.png) no-repeat center 20px; background-size: 220px 16px; }
  .footer .footer-nav-wrap .column-wrap .txt-company p a { padding: 30px 20px 15px; text-align: center; display: block; font-size: 0; }
  .footer .footer-nav-wrap .column-wrap .txt-company p span { display: none; }
  .footer .footer-nav-wrap .column-wrap .txt-company p span.txt { font-size: 11px; font-size: 1.1rem; padding-top: 10px; }
  .footer .footer-nav-wrap .column-wrap .nav-parent { display: block; font-size: 13px; font-size: 1.3rem; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li { display: block; border-right: none; position: relative; margin-top: 0; border-top: 1px solid #343434; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li a, .footer .footer-nav-wrap .column-wrap .nav-parent li p { display: block; padding: 10px 40px 10px 20px; height: auto; box-sizing: border-box; color: #fff; text-decoration: none; font-weight: normal; font-size: 13px; font-size: 1.3rem; position: relative; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li a:after, .footer .footer-nav-wrap .column-wrap .nav-parent li p:after { content: ""; position: absolute; right: 15px; top: 50%; display: block; width: 9px; height: 5px; margin-top: -2.5px; background: transparent url(/shared/image/arrow-bottom-white01.png) no-repeat 0 0; background-size: 9px 5px; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li a span, .footer .footer-nav-wrap .column-wrap .nav-parent li p span { display: inline-block; font-size: 11px; font-size: 1.1rem; padding-left: 10px; vertical-align: middle; color: #aaaaaa; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li a.link-blank, .footer .footer-nav-wrap .column-wrap .nav-parent li p.link-blank { position: relative; padding-right: 40px; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li a.link-blank:after, .footer .footer-nav-wrap .column-wrap .nav-parent li p.link-blank:after { content: ""; background: transparent url(/shared/image/icon_window_white.png) no-repeat; background-size: 16px 16px; display: block; vertical-align: middle; width: 16px; height: 16px; position: absolute; right: 10px; top: 50%; margin-top: -8px; padding: 0; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li a.accordionActive:after, .footer .footer-nav-wrap .column-wrap .nav-parent li p.accordionActive:after { background-image: url(/shared/image/arrow-top-white01.png); }
  .footer .footer-nav-wrap .column-wrap .nav-parent li a.disabled, .footer .footer-nav-wrap .column-wrap .nav-parent li p.disabled { color: #666; padding-right: 20px; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li a.disabled span, .footer .footer-nav-wrap .column-wrap .nav-parent li p.disabled span { color: #666; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li a.disabled:after, .footer .footer-nav-wrap .column-wrap .nav-parent li p.disabled:after { display: none; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li .sp-view { display: block; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li .pc-view { display: none; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li .nav-child { position: static; display: none; width: 100%; box-sizing: border-box; border-top: 1px solid #343434; border-left: 5px solid #343434; margin-top: 0; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li .nav-child li { display: block; border-right: none; overflow: visible; white-space: nowrap; position: relative; z-index: 5; border-top: none; border-bottom: none; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li .nav-child li a { height: auto; background-image: none; padding: 10px 20px 10px 25px; color: #fff; font-size: 13px; font-size: 1.3rem; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li .nav-child li a:after { content: ""; display: none; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li .nav-child li a span { display: inline; font-size: 11px; font-size: 1.1rem; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li .nav-child li a.link-blank { padding-right: 40px; position: relative; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li .nav-child li a.link-blank:after { display: block; background-image: url(/shared/image/icon_window_white.png); background-size: 16px 16px; width: 16px; height: 16px; margin-left: 0; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li .nav-child li:first-child a { padding: 10px 10px 10px 25px; font-size: 13px; font-size: 1.3rem; }
  .footer .footer-nav-wrap .column-wrap .nav-parent li .nav-child.accordionActive { display: block; }
  .footer .footer-nav-wrap .column-wrap .info-inq { margin-top: 0; border-top: 1px solid #343434; }
  .footer .footer-nav-wrap .column-wrap .info-inq p { padding: 20px 20px 15px; }
  .footer .footer-nav-wrap .column-wrap .info-inq p a { font-weight: normal; }
  .footer .footer-nav-wrap .column-wrap .info-inq ul { display: block; text-align: center; font-size: 0; padding-bottom: 10px; }
  .footer .footer-nav-wrap .column-wrap .info-inq ul li { display: inline-block; font-size: 12px; font-size: 1.2rem; padding: 0 8px 10px; }
  .footer .footer-license-wrap { margin: 0 auto; padding: 10px 15px; }
  .footer .footer-license-wrap ul { display: block; }
  .footer .footer-license-wrap ul li { display: block; width: 100%; padding: 10px 0; }
  .footer .footer-license-wrap ul li.license01 { padding: 10px 0 10px 40px; min-height: 30px; box-sizing: border-box; }
  .footer .footer-license-wrap ul li.license01 a { margin-top: -15px; }
  .footer .footer-license-wrap ul li.license01 a img { width: 30px; height: 30px; }
  .footer .footer-license-wrap ul li.license02 { padding: 10px 0 10px 40px; background: transparent url(/shared/image/footer_license_logo02.png) no-repeat 0 center; background-size: 30px 46px; min-height: 46px; box-sizing: border-box; }
  .footer .footer-license-wrap ul li.license03 { padding: 10px 0 10px 40px; background: url(/shared/image/footer_license_logo03.png) 0 5px no-repeat, url(/shared/image/footer_license_logo04.png) 0 45px no-repeat; background-size: 30px 33px,30px 36px; min-height: 80px; box-sizing: border-box; }
  .footer .footer-subnavi-wrap { padding: 10px; }
  .footer .footer-subnavi-wrap .footer-subnavi-inner { display: block; }
  .footer .footer-subnavi-wrap .footer-subnavi-inner ul, .footer .footer-subnavi-wrap .footer-subnavi-inner p { display: block; }
  .footer .footer-subnavi-wrap .footer-subnavi-inner p { text-align: center; padding-bottom: 5px; font-size: 11px; font-size: 1.1rem; }
  .footer .footer-subnavi-wrap .footer-subnavi-inner p small, .footer .footer-subnavi-wrap .footer-subnavi-inner p span { padding: 0; }
  .footer .footer-subnavi-wrap .footer-subnavi-inner p span { display: none; }
  .footer .footer-subnavi-wrap .footer-subnavi-inner ul { display: block; padding: 0 0 5px; text-align: center; font-size: 0; }
  .footer .footer-subnavi-wrap .footer-subnavi-inner ul li { display: inline-block; font-size: 11px; font-size: 1.1rem; padding: 0 5px; white-space: normal; }
  .footer .footer-subnavi-wrap .footer-subnavi-inner ul li:first-child { padding: 0 5px 0 0; }
  .footer .footer-subnavi-wrap .footer-subnavi-inner ul li:last-child { padding: 0 0 0 5px; } }
/* print */
/* parts */
@media screen and (min-width: 768px) { main { position: relative; }
  #mainvisualWrap { margin: 0 auto; max-width: 1280px; width: 100%; position: relative; }
  #mainvisualWrap .img01, #mainvisualWrap .img02 { opacity: 0; -webkit-animation: animat_fadeIn 1.5s ease forwards; -moz-animation: animat_fadeIn 1.5s ease forwards; -ms-animation: animat_fadeIn 1.5s ease forwards; animation: animat_fadeIn 1.5s ease forwards; line-height: 0; }
  #mainvisualWrap .img01 img, #mainvisualWrap .img02 img { width: 100%; }
  #mainvisualWrap .img01 img.sp, #mainvisualWrap .img02 img.sp { display: none; }
  #mainvisualWrap .mainWrap { max-width: 1100px; margin: 0 auto; padding: 0 3% 0; box-sizing: content-box; }
  #mainvisualWrap .mainWrap section { padding: 0 2% 0; }
  #mainvisualWrap .mainWrap h1 { font-family: 'Noto Sans', sans-serif; font-size: 62px; font-size: 6.2rem; line-height: 1.2; padding-top: 3%; padding-right: 11%; opacity: 0; -webkit-animation: animat_mainvisual_text 1.5s ease 0.5s forwards; -moz-animation: animat_mainvisual_text 1.5s ease 0.5s forwards; -ms-animation: animat_mainvisual_text 1.5s ease 0.5s forwards; animation: animat_mainvisual_text 1.5s ease 0.5s forwards; }
  #mainvisualWrap .mainWrap .subTtl { padding-top: 1.5%; font-family: 'Noto Sans Japanese', serif; font-feature-settings: "palt" 1; font-size: 16px; font-size: 1.6rem; line-height: 1.5; opacity: 0; -webkit-animation: animat_mainvisual_text 1.5s ease 0.5s forwards; -moz-animation: animat_mainvisual_text 1.5s ease 0.5s forwards; -ms-animation: animat_mainvisual_text 1.5s ease 0.5s forwards; animation: animat_mainvisual_text 1.5s ease 0.5s forwards; }
  #mainvisualWrap .mainWrap .subTtl br { display: none; }
  #mainvisualWrap .icon_scroll_wrap { position: absolute; right: 5%; top: 43%; width: 82px; line-height: 0; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll { /* 左上へ配置 */ /* 右下へ配置 */ /* 左下へ配置 */ /* 右下へ配置 */ /* 左上→右上 */ /* 右上→右下 */ /* 右下→左下 */ /* 左下→左上 */ }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll:hover { opacity: 0.5; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll a { display: block; text-decoration: none; height: 82px; position: relative; padding-top: 13px; box-sizing: border-box; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll a:hover { text-decoration: none; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll::after, #mainvisualWrap .icon_scroll_wrap .icon_scroll::before, #mainvisualWrap .icon_scroll_wrap .icon_scroll a::after, #mainvisualWrap .icon_scroll_wrap .icon_scroll a::before { background-color: #333; content: ''; display: block; position: absolute; z-index: 10; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll::after { height: 1px; left: -1px; top: -1px; width: 0px; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll::before { bottom: 0px; height: 1px; right: 0px; width: 0px; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll a::after { bottom: 0px; height: 0px; left: -1px; width: 1px; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll a::before { height: 0px; right: 0px; top: -1px; width: 1px; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll::after { -webkit-animation: animat_box_line_w 0.3s linear 2s forwards; -moz-animation: animat_box_line_w 0.3s linear 2s forwards; -ms-animation: animat_box_line_w 0.3s linear 2s forwards; animation: animat_box_line_w 0.3s linear 2s forwards; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll a::before { -webkit-animation: animat_box_line_h 0.3s linear 2.3s forwards; -moz-animation: animat_box_line_h 0.3s linear 2.3s forwards; -ms-animation: animat_box_line_h 0.3s linear 2.3s forwards; animation: animat_box_line_h 0.3s linear 2.3s forwards; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll::before { -webkit-animation: animat_box_line_w 0.3s linear 2.6s forwards; -moz-animation: animat_box_line_w 0.3s linear 2.6s forwards; -ms-animation: animat_box_line_w 0.3s linear 2.6s forwards; animation: animat_box_line_w 0.3s linear 2.6s forwards; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll a::after { -webkit-animation: animat_box_line_h 0.3s linear 2.9s forwards; -moz-animation: animat_box_line_h 0.3s linear 2.9s forwards; -ms-animation: animat_box_line_h 0.3s linear 2.9s forwards; animation: animat_box_line_h 0.3s linear 2.9s forwards; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll span { margin: 7px auto 0; display: block; width: 0; height: 0; border-style: solid; -webkit-animation: animat_fadeIn_fadeOut 1.5s ease 3.2s infinite; -moz-animation: animat_fadeIn_fadeOut 1.5s ease 3.2s infinite; -ms-animation: animat_fadeIn_fadeOut 1.5s ease 3.2s infinite; animation: animat_fadeIn_fadeOut 1.5s ease 3.2s infinite; border-width: 11px 11px 0 11px; border-color: #515151 transparent transparent transparent; opacity: 0; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll span:nth-child(2) { border-width: 8px 8px 0 8px; -webkit-animation: animat_fadeIn_fadeOut 1.5s ease 3.5s infinite; -moz-animation: animat_fadeIn_fadeOut 1.5s ease 3.5s infinite; -ms-animation: animat_fadeIn_fadeOut 1.5s ease 3.5s infinite; animation: animat_fadeIn_fadeOut 1.5s ease 3.5s infinite; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll span:nth-child(3) { border-width: 6px 6px 0 6px; -webkit-animation: animat_fadeIn_fadeOut 1.5s ease 3.7s infinite; -moz-animation: animat_fadeIn_fadeOut 1.5s ease 3.7s infinite; -ms-animation: animat_fadeIn_fadeOut 1.5s ease 3.7s infinite; animation: animat_fadeIn_fadeOut 1.5s ease 3.7s infinite; }
  .animateTtlWrap { position: relative; margin-bottom: 5.181818181818182%; display: inline-block; margin-left: -2%; padding-left: 2%; }
  .animateTtlWrap::before { background-color: #333; content: ''; display: block; position: absolute; z-index: 10; bottom: -1px; height: 1px; left: -1px; width: 0px; }
  .animateTtlWrap .ttl { overflow: hidden; word-spacing: nowrap; }
  .animateTtlWrap .ttl h2 { font-family: 'Noto Sans', sans-serif; font-size: 94px; font-size: 9.4rem; line-height: 1; opacity: 0; }
  .animateTtlWrap .ttl h2 span { font-size: 49px; font-size: 4.9rem; }
  .animateTtlWrap.show::before { -webkit-animation: animat_box_line_w 1s linear forwards; -moz-animation: animat_box_line_w 1s linear forwards; -ms-animation: animat_box_line_w 1s linear forwards; animation: animat_box_line_w 1s linear forwards; }
  .animateTtlWrap.show h2 { -webkit-animation: animat_fadeUp 1.5s ease forwards; -moz-animation: animat_fadeUp 1.5s ease forwards; -ms-animation: animat_fadeUp 1.5s ease forwards; animation: animat_fadeUp 1.5s ease forwards; }
  #serviceWrap { background-color: #f4f4f4; }
  #serviceWrap .serviceInner { max-width: 1100px; margin: 0 auto; padding: 0 3% 0; box-sizing: content-box; }
  #serviceWrap .serviceInner .animateTtlWrap.show + h3, #serviceWrap .serviceInner .animateTtlWrap.show + h3 + p { -webkit-animation: animat_fadeUp 1s ease 0.4s forwards; -moz-animation: animat_fadeUp 1s ease 0.4s forwards; -ms-animation: animat_fadeUp 1s ease 0.4s forwards; animation: animat_fadeUp 1s ease 0.4s forwards; }
  #serviceWrap .serviceInner section { padding: 7.818181818181818% 2% 9.09%; }
  #serviceWrap .serviceInner section h3 { font-size: 36px; font-size: 3.6rem; font-feature-settings: "palt" 1; line-height: 1; padding-bottom: 2.727272727272727%; opacity: 0; }
  #serviceWrap .serviceInner section h3 + p { opacity: 0; font-size: 16px; font-size: 1.6rem; padding-bottom: 4.181818181818182%; }
  #serviceWrap .serviceInner section .serviceListWrap.show { -webkit-animation: animat_service_wrap 0.4s ease forwards; -moz-animation: animat_service_wrap 0.4s ease forwards; -ms-animation: animat_service_wrap 0.4s ease forwards; animation: animat_service_wrap 0.4s ease forwards; }
  #serviceWrap .serviceInner section .serviceListWrap.show .serviceBlock { -webkit-animation: animat_service_block 0.6s ease 0.4s forwards; -moz-animation: animat_service_block 0.6s ease 0.4s forwards; -ms-animation: animat_service_block 0.6s ease 0.4s forwards; animation: animat_service_block 0.6s ease 0.4s forwards; }
  #serviceWrap .serviceInner section .serviceListWrap.show .serviceBlock .img { -webkit-animation: animat_fadeUp 0.7s ease 0.8s forwards; -moz-animation: animat_fadeUp 0.7s ease 0.8s forwards; -ms-animation: animat_fadeUp 0.7s ease 0.8s forwards; animation: animat_fadeUp 0.7s ease 0.8s forwards; }
  #serviceWrap .serviceInner section .serviceListWrap.show .serviceBlock h4 { -webkit-animation: animat_fadeUp 0.7s ease 1.2s forwards; -moz-animation: animat_fadeUp 0.7s ease 1.2s forwards; -ms-animation: animat_fadeUp 0.7s ease 1.2s forwards; animation: animat_fadeUp 0.7s ease 1.2s forwards; }
  #serviceWrap .serviceInner section .serviceListWrap.show .serviceBlock h4 + ul { -webkit-animation: animat_fadeUp 0.7s ease 1.6s forwards; -moz-animation: animat_fadeUp 0.7s ease 1.6s forwards; -ms-animation: animat_fadeUp 0.7s ease 1.6s forwards; animation: animat_fadeUp 0.7s ease 1.6s forwards; }
  #serviceWrap .serviceInner section .serviceListWrap.show .serviceBtBlock { -webkit-animation: animat_fadeIn 0.6s ease 0.4s forwards; -moz-animation: animat_fadeIn 0.6s ease 0.4s forwards; -ms-animation: animat_fadeIn 0.6s ease 0.4s forwards; animation: animat_fadeIn 0.6s ease 0.4s forwards; }
  #serviceWrap .serviceInner section .serviceListWrap.show .serviceBtBlock p { -webkit-animation: animat_fadeIn 0.7s ease 2s forwards; -moz-animation: animat_fadeIn 0.7s ease 2s forwards; -ms-animation: animat_fadeIn 0.7s ease 2s forwards; animation: animat_fadeIn 0.7s ease 2s forwards; }
  #serviceWrap .serviceInner section .serviceListWrap.show .serviceBtn p { /* 左上→右上 */ /* 右上→右下 */ /* 右下→左下 */ /* 左下→左上 */ }
  #serviceWrap .serviceInner section .serviceListWrap.show .serviceBtn p::after { -webkit-animation: animat_box_line_w 0.3s linear 2.4s forwards; -moz-animation: animat_box_line_w 0.3s linear 2.4s forwards; -ms-animation: animat_box_line_w 0.3s linear 2.4s forwards; animation: animat_box_line_w 0.3s linear 2.4s forwards; }
  #serviceWrap .serviceInner section .serviceListWrap.show .serviceBtn p a::before { -webkit-animation: animat_box_line_h 0.3s linear 2.7s forwards; -moz-animation: animat_box_line_h 0.3s linear 2.7s forwards; -ms-animation: animat_box_line_h 0.3s linear 2.7s forwards; animation: animat_box_line_h 0.3s linear 2.7s forwards; }
  #serviceWrap .serviceInner section .serviceListWrap.show .serviceBtn p::before { -webkit-animation: animat_box_line_w 0.3s linear 3s forwards; -moz-animation: animat_box_line_w 0.3s linear 3s forwards; -ms-animation: animat_box_line_w 0.3s linear 3s forwards; animation: animat_box_line_w 0.3s linear 3s forwards; }
  #serviceWrap .serviceInner section .serviceListWrap.show .serviceBtn p a::after { -webkit-animation: animat_box_line_h 0.3s linear 3.3s forwards; -moz-animation: animat_box_line_h 0.3s linear 3.3s forwards; -ms-animation: animat_box_line_h 0.3s linear 3.3s forwards; animation: animat_box_line_h 0.3s linear 3.3s forwards; }
  #serviceWrap .serviceInner section .serviceListWrap.show .serviceBtn p span { -webkit-animation: animat_fadeIn 0.7s ease 3.6s forwards; -moz-animation: animat_fadeIn 0.7s ease 3.6s forwards; -ms-animation: animat_fadeIn 0.7s ease 3.6s forwards; animation: animat_fadeIn 0.7s ease 3.6s forwards; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner { display: flex; flex-wrap: wrap; justify-content: flex-start; width: 100%; box-sizing: border-box; padding: 32px 3.5454545454545454% 24px; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBlock { box-sizing: border-box; width: 49%; flex-grow: 1; padding: 2% 5% 2.5%; overflow: hidden; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBlock .img { padding-top: 4%; text-align: center; height: 162px; opacity: 0; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBlock .img img { max-width: 200px; width: 100%; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBlock h4 { font-family: 'Noto Sans', sans-serif; font-size: 26px; font-size: 2.6rem; font-feature-settings: "palt" 1; line-height: 1; text-align: center; margin-top: 2.5%; opacity: 0; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBlock h4 span { display: block; text-align: center; font-size: 18px; font-size: 1.8rem; font-feature-settings: normal; line-height: 1; margin-top: 3.5%; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBlock ul { display: block; padding: 5% 0; opacity: 0; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBlock ul li { position: relative; padding-left: 1em; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBlock ul li span { position: absolute; left: 0; top: 0; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .space { max-width: 14px; width: 2%; flex-grow: 1; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBtBlock { width: 100%; background-color: #eaf3ff; padding: 28px; margin-top: 14px; opacity: 0; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBtBlock p { text-align: center; font-family: 'Shuei KakuGo Kin B', 'tofu'; font-size: 20px; font-size: 2.0rem; font-feature-settings: "palt" 1; line-height: 1; opacity: 0; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBtBlock p span { display: block; text-align: center; padding-top: 15px; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-size: 1.6rem; font-feature-settings: normal; line-height: 1; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn { padding: 0px 40px 32px; text-align: center; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p { text-align: center; font-size: 16px; font-size: 1.6rem; font-feature-settings: "palt" 1; line-height: 1; display: inline-block; position: relative; max-width: 450px; width: 100%; /* 左上へ配置 */ /* 右下へ配置 */ /* 左下へ配置 */ /* 右下へ配置 */ }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p::after, #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p::before, #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p a::after, #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p a::before { background-color: #333; content: ''; display: block; position: absolute; z-index: 10; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p::after { height: 1px; left: -1px; top: -1px; width: 0px; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p::before { bottom: 0px; height: 1px; right: 0px; width: 0px; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p a::after { bottom: 0px; height: 0px; left: -1px; width: 1px; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p a::before { height: 0px; right: 0px; top: -1px; width: 1px; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p a { display: block; color: #000; text-align: center; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p a:hover { text-decoration: none; color: #000; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p a span { display: block; padding: 17px; z-index: 2; opacity: 0; position: relative; background-color: #e3e3e3; overflow: hidden; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p a span:hover { background-color: #000; color: #fff; transition: background 0.2s ease 0s; }
  #newsWrap .newsInner { max-width: 1100px; margin: 0 auto; padding: 0 3% 0; box-sizing: content-box; }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList li:nth-child(1) { -webkit-animation: animat_left_slide 1s ease 0.7s forwards; -moz-animation: animat_left_slide 1s ease 0.7s forwards; -ms-animation: animat_left_slide 1s ease 0.7s forwards; animation: animat_left_slide 1s ease 0.7s forwards; }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList li:nth-child(2) { -webkit-animation: animat_left_slide 1s ease 1s forwards; -moz-animation: animat_left_slide 1s ease 1s forwards; -ms-animation: animat_left_slide 1s ease 1s forwards; animation: animat_left_slide 1s ease 1s forwards; }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList li:nth-child(3) { -webkit-animation: animat_left_slide 1s ease 1.3s forwards; -moz-animation: animat_left_slide 1s ease 1.3s forwards; -ms-animation: animat_left_slide 1s ease 1.3s forwards; animation: animat_left_slide 1s ease 1.3s forwards; }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList li:nth-child(4) { -webkit-animation: animat_left_slide 1s ease 1.6s forwards; -moz-animation: animat_left_slide 1s ease 1.6s forwards; -ms-animation: animat_left_slide 1s ease 1.6s forwards; animation: animat_left_slide 1s ease 1.6s forwards; }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList li:nth-child(5) { -webkit-animation: animat_left_slide 1s ease 1.9s forwards; -moz-animation: animat_left_slide 1s ease 1.9s forwards; -ms-animation: animat_left_slide 1s ease 1.9s forwards; animation: animat_left_slide 1s ease 1.9s forwards; }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList li:nth-child(6) { -webkit-animation: animat_left_slide 1s ease 2.2s forwards; -moz-animation: animat_left_slide 1s ease 2.2s forwards; -ms-animation: animat_left_slide 1s ease 2.2s forwards; animation: animat_left_slide 1s ease 2.2s forwards; }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList li:nth-child(7) { -webkit-animation: animat_left_slide 1s ease 2.5s forwards; -moz-animation: animat_left_slide 1s ease 2.5s forwards; -ms-animation: animat_left_slide 1s ease 2.5s forwards; animation: animat_left_slide 1s ease 2.5s forwards; }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList li:nth-child(8) { -webkit-animation: animat_left_slide 1s ease 2.8s forwards; -moz-animation: animat_left_slide 1s ease 2.8s forwards; -ms-animation: animat_left_slide 1s ease 2.8s forwards; animation: animat_left_slide 1s ease 2.8s forwards; }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList li:nth-child(9) { -webkit-animation: animat_left_slide 1s ease 3.1s forwards; -moz-animation: animat_left_slide 1s ease 3.1s forwards; -ms-animation: animat_left_slide 1s ease 3.1s forwards; animation: animat_left_slide 1s ease 3.1s forwards; }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList li:nth-child(10) { -webkit-animation: animat_left_slide 1s ease 3.4s forwards; -moz-animation: animat_left_slide 1s ease 3.4s forwards; -ms-animation: animat_left_slide 1s ease 3.4s forwards; animation: animat_left_slide 1s ease 3.4s forwards; }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList li:nth-child(11) { -webkit-animation: animat_left_slide 1s ease 3.7s forwards; -moz-animation: animat_left_slide 1s ease 3.7s forwards; -ms-animation: animat_left_slide 1s ease 3.7s forwards; animation: animat_left_slide 1s ease 3.7s forwards; }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList + .newsListBtn { /* 左上→右上 */ /* 右上→右下 */ /* 右下→左下 */ /* 左下→左上 */ }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList + .newsListBtn::after { -webkit-animation: animat_box_line_w 0.3s linear 0.7s forwards; -moz-animation: animat_box_line_w 0.3s linear 0.7s forwards; -ms-animation: animat_box_line_w 0.3s linear 0.7s forwards; animation: animat_box_line_w 0.3s linear 0.7s forwards; }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList + .newsListBtn a::before { -webkit-animation: animat_box_line_h 0.3s linear 1s forwards; -moz-animation: animat_box_line_h 0.3s linear 1s forwards; -ms-animation: animat_box_line_h 0.3s linear 1s forwards; animation: animat_box_line_h 0.3s linear 1s forwards; }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList + .newsListBtn::before { -webkit-animation: animat_box_line_w 0.3s linear 1.3s forwards; -moz-animation: animat_box_line_w 0.3s linear 1.3s forwards; -ms-animation: animat_box_line_w 0.3s linear 1.3s forwards; animation: animat_box_line_w 0.3s linear 1.3s forwards; }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList + .newsListBtn a::after { -webkit-animation: animat_box_line_h 0.3s linear 1.6s forwards; -moz-animation: animat_box_line_h 0.3s linear 1.6s forwards; -ms-animation: animat_box_line_h 0.3s linear 1.6s forwards; animation: animat_box_line_h 0.3s linear 1.6s forwards; }
  #newsWrap .newsInner .animateTtlWrap.show + .newsList + .newsListBtn span { -webkit-animation: animat_fadeIn 0.7s ease 1.9s forwards; -moz-animation: animat_fadeIn 0.7s ease 1.9s forwards; -ms-animation: animat_fadeIn 0.7s ease 1.9s forwards; animation: animat_fadeIn 0.7s ease 1.9s forwards; }
  #newsWrap .newsInner section { padding: 9.363636363636365% 2% 6.545454545454546%; }
  #newsWrap .newsInner section .newsList { width: 100%; padding: 0 14.09090909090909%; box-sizing: border-box; }
  #newsWrap .newsInner section .newsList li { display: table; width: 100%; padding: 15px 0; box-sizing: border-box; opacity: 0; }
  #newsWrap .newsInner section .newsList li .item { display: table-cell; width: 225px; white-space: nowrap; vertical-align: top; }
  #newsWrap .newsInner section .newsList li .item .date, #newsWrap .newsInner section .newsList li .item .cat { display: inline-block; vertical-align: middle; }
  #newsWrap .newsInner section .newsList li .item .date { width: 7.4em; margin-right: 20px; }
  #newsWrap .newsInner section .newsList li .item .cat { padding: 3px; max-width: 80px; width: 100%; line-height: 1; box-sizing: border-box; text-align: center; }
  #newsWrap .newsInner section .newsList li .item .cat.press { border: solid 1px #006de3; color: #006de3; }
  #newsWrap .newsInner section .newsList li .item .cat.news { border: solid 1px #af910a; color: #af910a; }
  #newsWrap .newsInner section .newsList li .item .cat.topics { border: solid 1px #ff7186; color: #ff7186; }
  #newsWrap .newsInner section .newsList li a:hover { text-decoration: underline; }
  #newsWrap .newsInner section .newsListBtn { margin: 32px auto 0; text-align: center; position: relative; max-width: 450px; width: 100%; font-size: 16px; font-size: 1.6rem; font-feature-settings: "palt" 1; /* 左上へ配置 */ /* 右下へ配置 */ /* 左下へ配置 */ /* 右下へ配置 */ /* 左上→右上 */ /* 右上→右下 */ /* 右下→左下 */ /* 左下→左上 */ }
  #newsWrap .newsInner section .newsListBtn::after, #newsWrap .newsInner section .newsListBtn::before, #newsWrap .newsInner section .newsListBtn a::after, #newsWrap .newsInner section .newsListBtn a::before { background-color: #333; content: ''; display: block; position: absolute; z-index: 10; }
  #newsWrap .newsInner section .newsListBtn::after { height: 1px; left: -1px; top: -1px; width: 0px; }
  #newsWrap .newsInner section .newsListBtn::before { bottom: 0px; height: 1px; right: 0px; width: 0px; }
  #newsWrap .newsInner section .newsListBtn a::after { bottom: 0px; height: 0px; left: -1px; width: 1px; }
  #newsWrap .newsInner section .newsListBtn a::before { height: 0px; right: 0px; top: -1px; width: 1px; }
  #newsWrap .newsInner section .newsListBtn::after { -webkit-animation: animat_box_line_w 0.3s linear forwards; -moz-animation: animat_box_line_w 0.3s linear forwards; -ms-animation: animat_box_line_w 0.3s linear forwards; animation: animat_box_line_w 0.3s linear forwards; }
  #newsWrap .newsInner section .newsListBtn a::before { -webkit-animation: animat_box_line_h 0.3s linear 0.3s forwards; -moz-animation: animat_box_line_h 0.3s linear 0.3s forwards; -ms-animation: animat_box_line_h 0.3s linear 0.3s forwards; animation: animat_box_line_h 0.3s linear 0.3s forwards; }
  #newsWrap .newsInner section .newsListBtn::before { -webkit-animation: animat_box_line_w 0.3s linear 0.6s forwards; -moz-animation: animat_box_line_w 0.3s linear 0.6s forwards; -ms-animation: animat_box_line_w 0.3s linear 0.6s forwards; animation: animat_box_line_w 0.3s linear 0.6s forwards; }
  #newsWrap .newsInner section .newsListBtn a::after { -webkit-animation: animat_box_line_h 0.3s linear 0.9s forwards; -moz-animation: animat_box_line_h 0.3s linear 0.9s forwards; -ms-animation: animat_box_line_h 0.3s linear 0.9s forwards; animation: animat_box_line_h 0.3s linear 0.9s forwards; }
  #newsWrap .newsInner section .newsListBtn a { display: block; line-height: 1; text-align: center; text-decoration: none; color: #000; }
  #newsWrap .newsInner section .newsListBtn a:hover { color: #000; }
  #newsWrap .newsInner section .newsListBtn a span { display: block; padding: 17px; opacity: 0; background-color: #fff; overflow: hidden; }
  #newsWrap .newsInner section .newsListBtn a span:hover { background-color: #000; color: #fff; transition: background 0.2s ease 0s; }
  #bannerWrap { max-width: 1100px; margin: 0 auto; padding: 0 6% 121px; box-sizing: content-box; opacity: 0; -webkit-animation: animat_fadeIn 1s linear forwards; -moz-animation: animat_fadeIn 1s linear forwards; -ms-animation: animat_fadeIn 1s linear forwards; animation: animat_fadeIn 1s linear forwards; }
  #bannerWrap ul { max-width: 705px; width: 100%; margin: 0 auto; }
  #bannerWrap ul li { display: inline-block; width: 50%; box-sizing: border-box; padding-left: 1.8439716312056738%; }
  #bannerWrap ul li img { width: 100%; }
  #bannerWrap ul li:first-child { padding-left: 0; padding-right: 1.8439716312056738%; }
  #bannerWrap ul li a:hover img { opacity: 0.7; transition: opacity 0.3s ease-out 0s; }
  #bannerWrap ul.column3-2 { max-width: 1060px; padding: 0; margin-top: -2%; }
  #bannerWrap ul.column3-2 li { width: 32%; padding: 0; margin-right: 2%; margin-top: 2%; }
  #bannerWrap ul.column3-2 li:nth-child(3n) { margin-right: 0; }
  .line { position: absolute; left: 7%; width: 1px; height: 100%; box-sizing: border-box; }
  .line span { display: block; -webkit-animation: animat_vLine 5s linear 2s forwards; -moz-animation: animat_vLine 5s linear 2s forwards; -ms-animation: animat_vLine 5s linear 2s forwards; animation: animat_vLine 5s linear 2s forwards; background-color: black; }
  .link-top-wrap { background-color: transparent; } }
@-webkit-keyframes animat_box_line_w { 0% { width: 0px; }
  100% { width: 100%; } }
@-moz-keyframes animat_box_line_w { 0% { width: 0px; }
  100% { width: 100%; } }
@-ms-keyframes animat_box_line_w { 0% { width: 0px; }
  100% { width: 100%; } }
@keyframes animat_box_line_w { 0% { width: 0px; }
  100% { width: 100%; } }
@-webkit-keyframes animat_box_line_h { 0% { height: 0px; }
  100% { height: 100%; } }
@-moz-keyframes animat_box_line_h { 0% { height: 0px; }
  100% { height: 100%; } }
@-ms-keyframes animat_box_line_h { 0% { height: 0px; }
  100% { height: 100%; } }
@keyframes animat_box_line_h { 0% { height: 0px; }
  100% { height: 100%; } }
@-webkit-keyframes animat_fadeIn_fadeOut { 0% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 0; } }
@-moz-keyframes animat_fadeIn_fadeOut { 0% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 0; } }
@-ms-keyframes animat_fadeIn_fadeOut { 0% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 0; } }
@keyframes animat_fadeIn_fadeOut { 0% { opacity: 0; }
  50% { opacity: 1; }
  100% { opacity: 0; } }
@-webkit-keyframes animat_fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
@-moz-keyframes animat_fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
@-ms-keyframes animat_fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
@keyframes animat_fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
@-webkit-keyframes animat_vLine { 0% { height: 0; }
  100% { height: 100%; } }
@-moz-keyframes animat_vLine { 0% { height: 0; }
  100% { height: 100%; } }
@-ms-keyframes animat_vLine { 0% { height: 0; }
  100% { height: 100%; } }
@keyframes animat_vLine { 0% { height: 0; }
  100% { height: 100%; } }
@-webkit-keyframes animat_mainvisual_text { 0% { opacity: 0; margin-left: 150px; }
  100% { opacity: 1; margin-left: 0px; } }
@-moz-keyframes animat_mainvisual_text { 0% { opacity: 0; margin-left: 150px; }
  100% { opacity: 1; margin-left: 0px; } }
@-ms-keyframes animat_mainvisual_text { 0% { opacity: 0; margin-left: 150px; }
  100% { opacity: 1; margin-left: 0px; } }
@keyframes animat_mainvisual_text { 0% { opacity: 0; margin-left: 150px; }
  100% { opacity: 1; margin-left: 0px; } }
@-webkit-keyframes animat_service_wrap { 0% { background-color: transparent; }
  100% { background-color: #e3e3e3; } }
@-moz-keyframes animat_service_wrap { 0% { background-color: transparent; }
  100% { background-color: #e3e3e3; } }
@-ms-keyframes animat_service_wrap { 0% { background-color: transparent; }
  100% { background-color: #e3e3e3; } }
@keyframes animat_service_wrap { 0% { background-color: transparent; }
  100% { background-color: #e3e3e3; } }
@-webkit-keyframes animat_service_block { 0% { background-color: transparent; }
  100% { background-color: #fff; } }
@-moz-keyframes animat_service_block { 0% { background-color: transparent; }
  100% { background-color: #fff; } }
@-ms-keyframes animat_service_block { 0% { background-color: transparent; }
  100% { background-color: #fff; } }
@keyframes animat_service_block { 0% { background-color: transparent; }
  100% { background-color: #fff; } }
@-webkit-keyframes animat_left_slide { 0% { opacity: 0; -webkit-transform: translate3d(10%, 0px, 0px); -moz-transform: translate3d(10%, 0px, 0px); -ms-transform: translate3d(10%, 0px, 0px); transform: translate3d(10%, 0px, 0px); }
  100% { opacity: 1; -webkit-transform: none; -moz-transform: none; -ms-transform: none; transform: none; } }
@-moz-keyframes animat_left_slide { 0% { opacity: 0; -webkit-transform: translate3d(10%, 0px, 0px); -moz-transform: translate3d(10%, 0px, 0px); -ms-transform: translate3d(10%, 0px, 0px); transform: translate3d(10%, 0px, 0px); }
  100% { opacity: 1; -webkit-transform: none; -moz-transform: none; -ms-transform: none; transform: none; } }
@-ms-keyframes animat_left_slide { 0% { opacity: 0; -webkit-transform: translate3d(10%, 0px, 0px); -moz-transform: translate3d(10%, 0px, 0px); -ms-transform: translate3d(10%, 0px, 0px); transform: translate3d(10%, 0px, 0px); }
  100% { opacity: 1; -webkit-transform: none; -moz-transform: none; -ms-transform: none; transform: none; } }
@keyframes animat_left_slide { 0% { opacity: 0; -webkit-transform: translate3d(10%, 0px, 0px); -moz-transform: translate3d(10%, 0px, 0px); -ms-transform: translate3d(10%, 0px, 0px); transform: translate3d(10%, 0px, 0px); }
  100% { opacity: 1; -webkit-transform: none; -moz-transform: none; -ms-transform: none; transform: none; } }
@-webkit-keyframes animat_fadeUp { 0% { opacity: 0; -webkit-transform: translate3d(0px, 15%, 0px); -moz-transform: translate3d(0px, 15%, 0px); -ms-transform: translate3d(0px, 15%, 0px); transform: translate3d(0px, 15%, 0px); }
  100% { opacity: 1; -webkit-transform: none; -moz-transform: none; -ms-transform: none; transform: none; } }
@-moz-keyframes animat_fadeUp { 0% { opacity: 0; -webkit-transform: translate3d(0px, 15%, 0px); -moz-transform: translate3d(0px, 15%, 0px); -ms-transform: translate3d(0px, 15%, 0px); transform: translate3d(0px, 15%, 0px); }
  100% { opacity: 1; -webkit-transform: none; -moz-transform: none; -ms-transform: none; transform: none; } }
@-ms-keyframes animat_fadeUp { 0% { opacity: 0; -webkit-transform: translate3d(0px, 15%, 0px); -moz-transform: translate3d(0px, 15%, 0px); -ms-transform: translate3d(0px, 15%, 0px); transform: translate3d(0px, 15%, 0px); }
  100% { opacity: 1; -webkit-transform: none; -moz-transform: none; -ms-transform: none; transform: none; } }
@keyframes animat_fadeUp { 0% { opacity: 0; -webkit-transform: translate3d(0px, 15%, 0px); -moz-transform: translate3d(0px, 15%, 0px); -ms-transform: translate3d(0px, 15%, 0px); transform: translate3d(0px, 15%, 0px); }
  100% { opacity: 1; -webkit-transform: none; -moz-transform: none; -ms-transform: none; transform: none; } }
/* parts_sp */
@media screen and (max-width: 767px) { #mainvisualWrap { width: 100%; }
  #mainvisualWrap .img01 img, #mainvisualWrap .img02 img { display: none; width: 100%; }
  #mainvisualWrap .img01 img.sp, #mainvisualWrap .img02 img.sp { display: block; }
  #mainvisualWrap .mainWrap { margin: 29px 20px 16px; padding-left: 10px; border-left: solid 1px #000000; }
  #mainvisualWrap .mainWrap h1 { font-family: 'Noto Sans', sans-serif; font-size: 40px; font-size: 4.0rem; line-height: 1.2; margin-bottom: 9px; } }
@media screen and (max-width: 767px) and (max-width: 320px) { #mainvisualWrap .mainWrap h1 { font-size: 32px; font-size: 3.2rem; } }
@media screen and (max-width: 767px) { #mainvisualWrap .mainWrap p { font-feature-settings: "palt" 1; font-size: 14px; font-size: 1.4rem; }
  #mainvisualWrap .icon_scroll_wrap { display: none; }
  .animateTtlWrap .ttl h2 { font-family: 'Noto Sans', sans-serif; font-size: 50px; font-size: 5.0rem; line-height: 1; border-bottom: solid 1px #000; }
  .animateTtlWrap .ttl h2 span { font-size: 23px; font-size: 2.3rem; font-feature-settings: "palt" 1; }
  #serviceWrap { padding: 43px 0 0; background-color: #f4f4f4; }
  #serviceWrap .animateTtlWrap { margin-bottom: 27px; padding: 0 10px; }
  #serviceWrap h3 { font-size: 18px; margin-bottom: 19px; padding: 0 20px; }
  #serviceWrap h3 + p { font-size: 14px; font-size: 1.4rem; padding: 0 20px 50px; }
  #serviceWrap .serviceListWrap { background-color: #e3e3e3; }
  #serviceWrap .serviceListWrap .serviceListInner { padding: 12px 20px 20px; display: flex; flex-direction: column; }
  #serviceWrap .serviceListWrap .serviceListInner .spOrder1 { order: 1; }
  #serviceWrap .serviceListWrap .serviceListInner .spOrder2 { order: 2; }
  #serviceWrap .serviceListWrap .serviceListInner .spOrder3 { order: 3; }
  #serviceWrap .serviceListWrap .serviceListInner .serviceBlock { background-color: #fff; padding: 20px 16px 26px; }
  #serviceWrap .serviceListWrap .serviceListInner .serviceBlock .img { margin-bottom: 20px; text-align: center; }
  #serviceWrap .serviceListWrap .serviceListInner .serviceBlock .img img { max-width: 142px; width: 100%; }
  #serviceWrap .serviceListWrap .serviceListInner .serviceBlock h4 { font-family: 'Noto Sans', sans-serif; font-feature-settings: "palt" 1; font-size: 22px; font-size: 2.2rem; line-height: 1; text-align: center; }
  #serviceWrap .serviceListWrap .serviceListInner .serviceBlock h4 span { display: block; text-align: center; font-size: 12px; font-size: 1.2rem; font-feature-settings: normal; line-height: 1; margin-top: 9px; }
  #serviceWrap .serviceListWrap .serviceListInner .serviceBlock ul { display: block; padding: 23px 0 0; }
  #serviceWrap .serviceListWrap .serviceListInner .serviceBlock ul li { position: relative; padding-left: 1em; font-size: 13px; font-size: 1.3rem; }
  #serviceWrap .serviceListWrap .serviceListInner .serviceBlock ul li span { position: absolute; left: 0; top: 0; }
  #serviceWrap .serviceBtBlock { width: 100%; background-color: #eaf3ff; padding: 19px; margin: 20px 0; box-sizing: border-box; }
  #serviceWrap .serviceBtBlock p { text-align: center; font-family: 'Shuei KakuGo Kin B', 'tofu'; font-size: 14px; font-size: 1.4rem; font-feature-settings: "palt" 1; line-height: 1; }
  #serviceWrap .serviceBtBlock p span { display: block; text-align: center; padding-top: 10px; font-family: 'Noto Sans', sans-serif; font-size: 9px; font-size: 0.9rem; font-feature-settings: normal; line-height: 1; }
  #serviceWrap .serviceBtn { margin-top: 20px; padding: 0 20px 31px; width: 100%; box-sizing: border-box; }
  #serviceWrap .serviceBtn p { font-size: 13px; font-size: 1.3rem; font-feature-settings: "palt" 1; }
  #serviceWrap .serviceBtn a { display: block; border: solid 1px #000000; padding: 14px 0; text-align: center; }
  #newsWrap { margin: 34px 0 0; }
  #newsWrap .animateTtlWrap { margin: 0 10px 20px; }
  #newsWrap .newsList li { border-bottom: solid 1px #dbdbdb; padding: 13px 20px 12px; font-size: 13px; font-size: 1.3rem; }
  #newsWrap .newsList li:first-child { border-top: solid 1px #dbdbdb; }
  #newsWrap .newsList li .item { display: block; font-size: 11px; font-size: 1.1rem; margin-bottom: 10px; }
  #newsWrap .newsList li .item span { display: inline-block; vertical-align: middle; }
  #newsWrap .newsList li .item span.cat { margin-left: 10px; padding: 3px; max-width: 55px; width: 100%; line-height: 1; box-sizing: border-box; text-align: center; }
  #newsWrap .newsList li .item span.cat.press { border: solid 1px #006de3; color: #006de3; }
  #newsWrap .newsList li .item span.cat.news { border: solid 1px #af910a; color: #af910a; }
  #newsWrap .newsList li .item span.cat.topics { border: solid 1px #ff7186; color: #ff7186; }
  #newsWrap .newsListBtn { margin-top: 19px; padding: 0 20px; font-size: 13px; font-size: 1.3rem; font-feature-settings: "palt" 1; }
  #newsWrap .newsListBtn a { display: block; border: solid 1px #000000; padding: 14px 0; text-align: center; }
  #bannerWrap { padding: 25px 5px 0; }
  #bannerWrap ul { display: table; width: 100%; }
  #bannerWrap ul li { display: table-cell; width: 50%; padding: 0 5px; }
  #bannerWrap ul li img { width: 100%; }
  #bannerWrap ul.column3-2 { display: block; padding: 0; margin-top: -0.5%; }
  #bannerWrap ul.column3-2 li { display: inline-block; width: 48%; padding: 0; margin: 0.5% 1% 0; } }
/* parts */
@media print { .transform { padding-top: 0; }
  .transform .header { position: static; }
  main { position: relative; }
  #mainvisualWrap { margin: 0 auto; max-width: 1280px; width: 100%; position: relative; }
  #mainvisualWrap .img01, #mainvisualWrap .img02 { line-height: 0; }
  #mainvisualWrap .img01 img, #mainvisualWrap .img02 img { width: 100%; }
  #mainvisualWrap .img01 img.sp, #mainvisualWrap .img02 img.sp { display: none; }
  #mainvisualWrap .mainWrap { max-width: 1100px; margin: 0 auto; padding: 0 3% 0; box-sizing: content-box; }
  #mainvisualWrap .mainWrap section { padding: 0 2% 0; }
  #mainvisualWrap .mainWrap h1 { font-family: 'Noto Sans', sans-serif; font-size: 62px; font-size: 6.2rem; line-height: 1.2; padding-top: 3%; padding-right: 11%; }
  #mainvisualWrap .mainWrap .subTtl { padding-top: 1.5%; font-family: 'Noto Sans', sans-serif; font-feature-settings: "palt" 1; font-size: 16px; font-size: 1.6rem; line-height: 1.5; }
  #mainvisualWrap .mainWrap .subTtl br { display: none; }
  #mainvisualWrap .icon_scroll_wrap { position: absolute; right: 5%; top: 43%; width: 82px; line-height: 0; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll { /* 左上へ配置 */ /* 右下へ配置 */ /* 左下へ配置 */ /* 右下へ配置 */ }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll:hover { opacity: 0.5; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll a { display: block; text-decoration: none; height: 82px; position: relative; padding-top: 13px; box-sizing: border-box; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll a:hover { text-decoration: none; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll::after, #mainvisualWrap .icon_scroll_wrap .icon_scroll::before, #mainvisualWrap .icon_scroll_wrap .icon_scroll a::after, #mainvisualWrap .icon_scroll_wrap .icon_scroll a::before { background-color: #333; content: ''; display: block; position: absolute; z-index: 10; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll::after { height: 1px; left: -1px; top: -1px; width: 0px; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll::before { bottom: 0px; height: 1px; right: 0px; width: 0px; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll a::after { bottom: 0px; height: 0px; left: -1px; width: 1px; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll a::before { height: 0px; right: 0px; top: -1px; width: 1px; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll span { margin: 7px auto 0; display: block; width: 0; height: 0; border-style: solid; border-width: 11px 11px 0 11px; border-color: #515151 transparent transparent transparent; opacity: 0; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll span:nth-child(2) { border-width: 8px 8px 0 8px; }
  #mainvisualWrap .icon_scroll_wrap .icon_scroll span:nth-child(3) { border-width: 6px 6px 0 6px; }
  .animateTtlWrap { position: relative; margin-bottom: 5.181818181818182%; display: inline-block; margin-left: -2%; padding-left: 2%; }
  .animateTtlWrap::before { background-color: #333; content: ''; display: block; position: absolute; z-index: 10; bottom: -1px; height: 1px; left: -1px; width: 0px; }
  .animateTtlWrap .ttl { word-spacing: nowrap; }
  .animateTtlWrap .ttl h2 { font-family: 'Noto Sans', sans-serif; font-size: 94px; font-size: 9.4rem; line-height: 1; }
  .animateTtlWrap .ttl h2 span { font-size: 49px; font-size: 4.9rem; }
  #serviceWrap { background-color: #f4f4f4; }
  #serviceWrap .serviceInner { max-width: 1100px; margin: 0 auto; padding: 0 3% 0; box-sizing: content-box; }
  #serviceWrap .serviceInner section { padding: 7.818181818181818% 2% 9.09%; }
  #serviceWrap .serviceInner section h3 { font-size: 36px; font-size: 3.6rem; font-feature-settings: "palt" 1; line-height: 1; padding-bottom: 2.727272727272727%; }
  #serviceWrap .serviceInner section h3 + p { font-size: 16px; font-size: 1.6rem; padding-bottom: 4.181818181818182%; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner { display: flex; flex-wrap: wrap; justify-content: flex-start; width: 100%; box-sizing: border-box; padding: 32px 3.5454545454545454% 24px; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBlock { box-sizing: border-box; width: 49%; flex-grow: 1; padding: 2% 5% 2.5%; background-color: #fff; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBlock .img { padding-top: 4%; text-align: center; height: 162px; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBlock .img img { max-width: 200px; width: 100%; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBlock h4 { font-family: 'Noto Sans', sans-serif; font-size: 26px; font-size: 2.6rem; font-feature-settings: "palt" 1; line-height: 1; text-align: center; margin-top: 2.5%; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBlock h4 span { display: block; text-align: center; font-size: 18px; font-size: 1.8rem; font-feature-settings: normal; line-height: 1; margin-top: 3.5%; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBlock ul { display: block; padding: 5% 0; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBlock ul li { position: relative; padding-left: 1em; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBlock ul li span { position: absolute; left: 0; top: 0; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .space { max-width: 14px; width: 2%; flex-grow: 1; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBtBlock { width: 100%; background-color: #eaf3ff; padding: 28px; margin-top: 14px; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBtBlock p { text-align: center; font-family: 'Shuei KakuGo Kin B', 'tofu'; font-size: 20px; font-size: 2.0rem; font-feature-settings: "palt" 1; line-height: 1; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceListInner .serviceBtBlock p span { display: block; text-align: center; padding-top: 15px; font-family: 'Noto Sans', sans-serif; font-size: 16px; font-size: 1.6rem; font-feature-settings: normal; line-height: 1; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn { padding: 0px 40px 32px; text-align: center; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p { text-align: center; font-size: 16px; font-size: 1.6rem; font-feature-settings: "palt" 1; line-height: 1; display: inline-block; position: relative; max-width: 450px; width: 100%; border: solid 1px #000; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p a { display: block; color: #000; text-align: center; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p a:hover { text-decoration: none; color: #000; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p a span { display: block; padding: 17px; z-index: 2; position: relative; overflow: hidden; }
  #serviceWrap .serviceInner section .serviceListWrap .serviceBtn p a span:hover { background-color: #000; color: #fff; transition: background 0.2s ease 0s; }
  #newsWrap .newsInner { max-width: 1100px; margin: 0 auto; padding: 0 3% 0; box-sizing: content-box; }
  #newsWrap .newsInner section { padding: 9.363636363636365% 2% 6.545454545454546%; }
  #newsWrap .newsInner section .newsList { width: 100%; padding: 0 14.09090909090909%; box-sizing: border-box; }
  #newsWrap .newsInner section .newsList li { display: table; width: 100%; padding: 15px 0; box-sizing: border-box; }
  #newsWrap .newsInner section .newsList li .item { display: table-cell; width: 225px; white-space: nowrap; vertical-align: top; }
  #newsWrap .newsInner section .newsList li .item .date, #newsWrap .newsInner section .newsList li .item .cat { display: inline-block; vertical-align: middle; }
  #newsWrap .newsInner section .newsList li .item .date { margin-right: 20px; }
  #newsWrap .newsInner section .newsList li .item .cat { padding: 3px; max-width: 80px; width: 100%; line-height: 1; box-sizing: border-box; text-align: center; }
  #newsWrap .newsInner section .newsList li .item .cat.press { border: solid 1px #006de3; color: #006de3; }
  #newsWrap .newsInner section .newsList li .item .cat.news { border: solid 1px #af910a; color: #af910a; }
  #newsWrap .newsInner section .newsList li .item .cat.topics { border: solid 1px #ff7186; color: #ff7186; }
  #newsWrap .newsInner section .newsList li a:hover { text-decoration: underline; }
  #newsWrap .newsInner section .newsListBtn { margin: 32px auto 0; text-align: center; position: relative; max-width: 450px; width: 100%; font-size: 16px; font-size: 1.6rem; font-feature-settings: "palt" 1; border: solid 1px #000; }
  #newsWrap .newsInner section .newsListBtn a { display: block; line-height: 1; text-align: center; text-decoration: none; color: #000; }
  #newsWrap .newsInner section .newsListBtn a:hover { color: #000; }
  #newsWrap .newsInner section .newsListBtn a span { display: block; padding: 17px; background-color: #fff; }
  #newsWrap .newsInner section .newsListBtn a span:hover { background-color: #000; color: #fff; transition: background 0.2s ease 0s; }
  #bannerWrap { max-width: 1100px; margin: 0 auto; padding: 0 6% 121px; box-sizing: content-box; }
  #bannerWrap ul { max-width: 705px; width: 100%; margin: 0 auto; }
  #bannerWrap ul li { display: inline-block; width: 50%; box-sizing: border-box; padding-left: 1.8439716312056738%; }
  #bannerWrap ul li img { width: 100%; }
  #bannerWrap ul li:first-child { padding-left: 0; padding-right: 1.8439716312056738%; }
  .line { position: absolute; left: 7%; width: 1px; height: 100%; box-sizing: border-box; }
  .line span { display: block; -webkit-animation: animat_vLine 5s linear 3s forwards; -moz-animation: animat_vLine 5s linear 3s forwards; -ms-animation: animat_vLine 5s linear 3s forwards; animation: animat_vLine 5s linear 3s forwards; background-color: black; }
  .link-top-wrap { background-color: transparent; } }

  /* inquiry */  
  .content-wrap.full .inquiry-wrap { background-color: #f4f4f4; padding: 50px 20px 40px; text-align: center !important; }

  .content-wrap.full .inquiry-wrap .txt { font-size: 16px; font-size: 1.6rem; }
  
  .content-wrap.full .inquiry-wrap .list-link-btn { padding-bottom: 0; }
  
  .content-wrap.full .inquiry-wrap .list-link-btn li.wide a, .content-body .inquiry-wrap .list-link-btn li.wide button { font-size: 24px; font-size: 2.4rem; font-weight: bold; min-width: 440px; }

  .content-wrap.full .inquiry-wrap .list-link-btn { list-style: none; padding-bottom: 25px; }

  .content-wrap.full .inquiry-wrap .list-link-btn li { text-align: center; margin-bottom: 25px; }

  .content-wrap.full .inquiry-wrap .txt { line-height: 1.8; margin-bottom: 40px; font-size: 16px; font-size: 1.6rem; }
  
  .content-wrap.full .list-link-btn li a { display: inline-block; cursor: pointer; border: none; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; padding: 15px 40px; background: #4f7cb0 url(/shared/image/arrow-right-white01.png) no-repeat 20px center; background-size: 5px 9px; color: #fff; font-size: 16px; font-size: 1.6rem; line-height: 1.6; min-width: 240px; font-weight: bold; text-decoration: none; }

  @media screen and (max-width: 767px) {
    .content-wrap.full{ margin: 20px auto 0; }
    .content-wrap.full .inquiry-wrap { padding: 20px 10px; }
    .content-wrap.full .inquiry-wrap .txt { font-size: 14px; font-size: 1.4rem; margin-bottom: 15px; }
    .content-wrap.full .inquiry-wrap .list-link-btn { padding-bottom: 0; }
    .content-wrap.full .inquiry-wrap .list-link-btn li.wide a { width: 100%; padding: 12px 30px; box-sizing: border-box; background-position: 15px center; font-size: 16px; font-size: 1.6rem; min-width: 100px; }
  }