@font-face { font-family: "Noto Sans JP"; font-style: "normal"; font-weight: 600; src: url("./fonts/NotoSansJP-Bold.otf") format("opentype"); }

@font-face { font-family: "Noto Sans JP"; font-style: "normal"; font-weight: 500; src: url("./fonts/NotoSansJP-Medium.otf") format("opentype"); }

@font-face { font-family: "Noto Sans JP"; font-style: "normal"; font-weight: 400; src: url("./fonts/NotoSansJP-Regular.otf") format("opentype"); }

@font-face { font-family: "Noto Sans JP"; font-style: "normal"; font-weight: 300; src: url("./fonts/NotoSansJP-Light.otf") format("opentype"); }

@font-face { font-family: "Poppins"; font-style: "normal"; font-weight: 600; src: url("./fonts/Poppins-Bold.ttf") format("opentype"); }

@font-face { font-family: "Poppins"; font-style: "normal"; font-weight: 500; src: url("./fonts/Poppins-Medium.ttf") format("opentype"); }

@font-face { font-family: "Poppins"; font-style: "normal"; font-weight: 400; src: url("./fonts/Poppins-Regular.ttf") format("opentype"); }

@font-face { font-family: "Poppins"; font-style: "normal"; font-weight: 300; src: url("./fonts/Poppins-Light.ttf") format("opentype"); }

@font-face { font-family: "Poppins Italic"; font-style: "normal"; font-weight: 600; src: url("./fonts/Poppins-BoldItalic.ttf") format("opentype"); }

@font-face { font-family: "Poppins Italic"; font-style: "normal"; font-weight: 500; src: url("./fonts/Poppins-MediumItalic.ttf") format("opentype"); }

@font-face { font-family: "Poppins Italic"; font-style: "normal"; font-weight: 400; src: url("./fonts/Poppins-Italic.ttf") format("opentype"); }

@font-face { font-family: "Poppins Italic"; font-style: "normal"; font-weight: 300; src: url("./fonts/Poppins-LightItalic.ttf") format("opentype"); }

@font-face { font-family: "Poppins Italic"; font-style: "normal"; font-weight: 200; src: url("./fonts/Poppins-ThinItalic.ttf") format("opentype"); }

@keyframes fadezoom { 0% { transform: scale(1); }
  100% { transform: scale(1.2); } }

.slide-animation { animation: fadezoom 8s 0s forwards; }

* { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Noto Sans JP'; font-size: 1.1vw; font-weight: 400; line-height: 1; letter-spacing: 1px; }

@media screen and (max-width: 480px) { * { font-size: 3.5vw; } }

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

a { text-decoration: none; cursor: pointer; color: #000000; outline: none; }

.fadeup { opacity: 0; visibility: hidden; transition: transform 1s, opacity 1s; transform: translateY(30px); }

.fadeup.fadeactive { opacity: 1; visibility: visible; transform: translateY(0px); }

.pc { display: initial; }

@media screen and (max-width: 480px) { .pc { display: none !important; } }

.sp { display: none !important; }

@media screen and (max-width: 480px) { .sp { display: inherit !important; } }

.barlow { font-family: 'Barlow'; }

.poppins { font-family: 'Poppins'; }

.poppins.italic { font-family: 'Poppins Italic'; }

.section-ttl { position: relative; }

.section-ttl .head { font-size: 3vw; color: #483D8B; font-family: 'Barlow'; font-weight: 600; letter-spacing: 4px; }

.section-ttl .head-bg { position: absolute; font-size: 10vw; font-family: 'Barlow'; font-weight: 600; color: #F2F5F7; z-index: -1; width: 70vw; top: -4vw; left: -4vw; letter-spacing: 0px; }

.section-ttl .sub { color: #483D8B; margin-top: 1.8vw; font-size: 1.2vw; }

@media screen and (max-width: 480px) { .section-ttl .head { font-size: 7vw; }
  .section-ttl .head-bg { width: 100%; font-size: 17vw; letter-spacing: 2px; top: -6vw; }
  .section-ttl .sub { margin-top: 3vw; font-size: 3.5vw; } }

.basic-btn, #footer .footer-middle .left .btn, #top .about .btn, #top .service .service-tile .btn, #top .result .result-tile .btn, #top .content-tiles .content .btn, #top .posts .posts-contents .posts-wrap .btn, #about .content-tiles .content .btn, #performance .performance-list .btn-area .btn, #single-item .btn-area .btn, #contact .contact-content .form-wrap form .btn-wrap .send-btn, #contact-thanks .top-link { display: inline-block; background-color: #483D8B; color: white; box-shadow: 2px 3px 9px #717171; padding: 1.5vw 3vw; border-radius: 100px; border: none; }

.basic-btn:hover, #footer .footer-middle .left .btn:hover, #top .about .btn:hover, #top .service .service-tile .btn:hover, #top .result .result-tile .btn:hover, #top .content-tiles .content .btn:hover, #top .posts .posts-contents .posts-wrap .btn:hover, #about .content-tiles .content .btn:hover, #performance .performance-list .btn-area .btn:hover, #single-item .btn-area .btn:hover, #contact .contact-content .form-wrap form .btn-wrap .send-btn:hover, #contact-thanks .top-link:hover { background-color: #5a5094; }

@media screen and (max-width: 480px) { .basic-btn, #footer .footer-middle .left .btn, #top .about .btn, #top .service .service-tile .btn, #top .result .result-tile .btn, #top .content-tiles .content .btn, #top .posts .posts-contents .posts-wrap .btn, #about .content-tiles .content .btn, #performance .performance-list .btn-area .btn, #single-item .btn-area .btn, #contact .contact-content .form-wrap form .btn-wrap .send-btn, #contact-thanks .top-link { font-size: 3.5vw; padding: 5vw 0vw; width: 60vw; justify-content: center; text-align: center; } }

.view-btn { position: relative; display: inline-block; border: 1px solid #483D8B; width: 21vw; text-align: center; padding: 1.5vw; font-weight: 500; box-shadow: 0px 4px 35px #d8d8d8; color: white; background: #483D8B; }

.view-btn span { font-weight: 500; }

.view-btn .hover { display: none; letter-spacing: 3px; }

.view-btn:after { content: ''; position: absolute; width: 20px; height: 5px; border-right: 2px solid white; border-bottom: 1px solid white; top: 0; bottom: 0; right: 1.5vw; margin: auto; transform: skewX(60deg); }

.view-btn:hover { background: white; color: #483D8B; }

.view-btn:hover .normal { display: none; }

.view-btn:hover .hover { display: inherit; }

.view-btn:hover:after { border-color: #483D8B; }

@media screen and (max-width: 480px) { .view-btn { width: 100%; padding: 4.5vw; background: #483D8B; color: white; }
  .view-btn:after { right: 6vw; border-color: white; } }

.under-page { margin-top: 7vw; padding-bottom: 10vw; }

@media screen and (max-width: 480px) { .under-page { margin-top: 18vw; padding-bottom: 5vw; } }

.under-mainv { position: relative; display: flex; justify-content: space-between; height: 25vw; margin-bottom: 7vw; }

.under-mainv .left { display: flex; align-items: center; flex-direction: column; justify-content: center; width: 35%; height: 100%; background-color: rgba(72, 61, 139, 0.85); }

.under-mainv .left .ttl { font-size: 3vw; font-weight: 400; color: white; margin-bottom: 0.5vw; }

.under-mainv .left .sub { color: white; font-size: 1vw; letter-spacing: 1px; }

.under-mainv .right { display: flex; align-items: center; flex-direction: column; justify-content: center; width: 65%; height: 100%; background: rgba(0, 0, 0, 0.65); }

.under-mainv .right .txt { color: white; font-size: 1vw; line-height: 1.8; font-weight: 300; }

@media screen and (max-width: 480px) { .under-mainv { flex-direction: column; height: 90vw; margin-bottom: 15vw; }
  .under-mainv .left { width: 100%; }
  .under-mainv .left .ttl { font-size: 7vw; margin-bottom: 2vw; }
  .under-mainv .left .sub { font-size: 3vw; }
  .under-mainv .right { width: 100%; }
  .under-mainv .right .txt { text-align: center; font-size: 2.8vw; line-height: 2; } }

.sub-mainv { height: 30vw; }

@media screen and (max-width: 480px) { .sub-mainv { height: 50vw; } }

.under-ttl-wrap { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 10vw 0; }

.under-ttl-wrap .head { color: #483D8B; font-weight: 500; font-size: 2.5vw; line-height: 1.5; text-align: center; margin-bottom: 3vw; }

.under-ttl-wrap .sub { color: #8D8D8D; text-align: center; font-size: 1.1vw; line-height: 2.3; letter-spacing: 0; }

@media screen and (max-width: 480px) { .under-ttl-wrap { padding: 15vw 0; }
  .under-ttl-wrap .head { font-weight: 500; font-size: 5vw; margin-bottom: 5vw; }
  .under-ttl-wrap .sub { font-size: 3vw; } }

.under-section-ttl { display: flex; flex-direction: column; align-items: center; justify-content: center; }

.under-section-ttl .head { font-size: 1vw; font-weight: 500; letter-spacing: 0px; color: #483D8B; }

.under-section-ttl .ttl { font-weight: 500; font-size: 2vw; margin: 2.5vw 0; letter-spacing: 1px; }

.under-section-ttl .sub { font-size: 1vw; text-align: center; color: #8D8D8D; line-height: 1.8; }

@media screen and (max-width: 480px) { .under-section-ttl { padding: 0 8%; }
  .under-section-ttl .head { font-size: 3.5vw; }
  .under-section-ttl .ttl { font-size: 5.5vw; margin: 5vw 0; text-align: center; line-height: 1.5; }
  .under-section-ttl .sub { text-align: left; font-size: 3vw; } }

#header { position: fixed; width: 100%; top: 0; left: 0; z-index: 100; transition: .3s; background-color: white; }

#header .header-inner { display: flex; justify-content: space-between; align-items: center; height: 7vw; }

#header .header-inner .logo { height: 100%; }

#header .header-inner .logo img { width: auto; height: 100%; }

#header .header-inner .header-links { display: flex; align-items: center; justify-content: center; height: 100%; }

#header .header-inner .header-links .txt { display: flex; align-items: center; padding: 20px 0; color: black; margin-right: 50px; font-weight: 300; background: linear-gradient(black, black) no-repeat 100% 100%; background-size: 0 1px; transition: background-size 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }

#header .header-inner .header-links .txt:hover { background-position: 0 100%; background-size: 100% 1px; }

#header .header-inner .header-links .btn { display: flex; align-items: center; justify-content: center; background-color: #483D8B; color: white; height: 100%; width: 200px; font-weight: 300; }

#header .header-inner .header-links .btn:hover { background-color: #5a5094; }

#header .header-inner .menu-btn { display: none; }

#header .header-navi { display: none; }

@media screen and (max-width: 480px) { #header .header-inner { height: auto; }
  #header .header-inner .logo { width: 45vw; height: 18vw; }
  #header .header-inner .header-links { display: none; }
  #header .header-inner .menu-btn { position: relative; display: flex; align-items: center; width: 18vw; height: 18vw; transition: .3s; background: #483D8B; }
  #header .header-inner .menu-btn span { display: block; width: 20%; height: 1px; background-color: white; opacity: 1; transition: .3s; margin: 0 auto; }
  #header .header-inner .menu-btn::after, #header .header-inner .menu-btn::before { content: ''; position: absolute; display: block; height: 1px; width: 20%; background: white; left: 0; right: 0; margin: auto; transition: .3s; }
  #header .header-inner .menu-btn::after { top: 7.5vw; }
  #header .header-inner .menu-btn::before { bottom: 7.5vw; }
  #header .header-inner .menu-btn.open span { opacity: 0; }
  #header .header-inner .menu-btn.open::after { transform: translateY(1.35vw) rotate(-45deg); }
  #header .header-inner .menu-btn.open::before { transform: translateY(-1.35vw) rotate(45deg); }
  #header .header-navi { background-color: #483D8B; }
  #header .header-navi .navi-inner { padding: 5vw 10vw 20vw; }
  #header .header-navi .navi-inner .link-tile { display: flex; flex-direction: column; padding: 6vw 0; }
  #header .header-navi .navi-inner .link-tile:not(:first-child) { border-top: 1px solid white; }
  #header .header-navi .navi-inner .link-tile .poppins { font-size: 5vw; font-weight: 500; letter-spacing: 1px; margin-bottom: 1.5vw; }
  #header .header-navi .navi-inner .link-tile .sub { font-size: 3vw; font-weight: 100; }
  #header .header-navi .navi-inner .link-tile span { color: white; }
  #header .header-navi .navi-inner .btn { display: block; width: 100%; background-color: white; color: #483D8B; text-align: center; border-radius: 100px; padding: 5vw 0; margin-top: 5vw; } }

#footer { position: relative; }

#footer .footer-top { background-color: #483D8B; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 5vw 0; }

#footer .footer-top p { color: white; }

#footer .footer-top .head { font-size: 2.5vw; margin-bottom: 3vw; line-height: 1.5; }

#footer .footer-top .sub { font-size: 1vw; color: rgba(255, 255, 255, 0.6); line-height: 2; text-align: center; }

#footer .footer-middle { display: flex; }

#footer .footer-middle .head { color: white; font-size: 2vw; margin-bottom: 2vw; }

#footer .footer-middle .left { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 50%; background-image: linear-gradient(to right, #483D8B 0%, #403586 61%, #3D3183 100%); }

#footer .footer-middle .left .btn { box-shadow: 2px 3px 9px #2d2d2d; }

#footer .footer-middle .right { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 50%; height: 18vw; background-image: linear-gradient(to right, #483D8B 0%, #3D3183 100%); }

#footer .footer-middle .right .tel-cont { color: white; }

#footer .footer-middle .right .tel-cont .tel { display: flex; align-items: flex-end; justify-content: center; font-family: 'Helvetica Neue'; }

#footer .footer-middle .right .tel-cont .tel span { font-size: 2vw; font-weight: bold; letter-spacing: 0; }

#footer .footer-middle .right .tel-cont .tel .number { font-family: 'Helvetica Neue'; color: white; font-size: 3.5vw; font-weight: bold; letter-spacing: 0; }

#footer .footer-middle .right .tel-cont .note { text-align: center; margin-top: 0.5vw; font-size: 1vw; }

#footer .footer-inner { display: flex; justify-content: space-between; background-color: #F2F2F2; padding: 3.5vw 2%; }

#footer .footer-inner span, #footer .footer-inner a { display: inline-block; color: black; }

#footer .footer-inner .company-info { display: flex; align-items: flex-end; justify-content: space-between; width: 45%; }

#footer .footer-inner .company-info .logo { width: 32%; }

#footer .footer-inner .company-info .info { width: 65%; }

#footer .footer-inner .company-info .info .name-logo { width: 60%; margin-bottom: 0.5vw; }

#footer .footer-inner .company-info .info p { font-size: 1vw; font-weight: 100; }

#footer .footer-inner .middle { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-end; width: 45%; margin-right: 2%; }

#footer .footer-inner .middle .info { display: flex; flex-direction: column; }

#footer .footer-inner .middle .info .name { margin-bottom: 1vw; }

#footer .footer-inner .middle .info .address { font-weight: 300; font-size: 1vw; }

#footer .footer-inner .middle .links { width: 100%; }

#footer .footer-inner .middle .links .footer-link { display: flex; justify-content: space-between; margin-bottom: 2vw; }

#footer .footer-inner .middle .links .footer-link.sub { justify-content: flex-end; }

#footer .footer-inner .middle .links .footer-link.sub a { font-size: 0.8vw; margin-left: 2vw; }

#footer .footer-inner .middle .links .footer-link a { font-size: 1vw; display: inline-block; background: linear-gradient(black, black) no-repeat 100% 100%; background-size: 0 1px; padding-bottom: 0.5vw; transition: background-size 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }

#footer .footer-inner .middle .links .footer-link a:hover { background-position: 0 100%; background-size: 100% 1px; }

#footer .footer-inner .middle .copyright { font-size: 0.5vw; color: #B2B2B2; text-align: right; letter-spacing: 1px; }

@media screen and (max-width: 480px) { #footer .footer-top { padding: 15vw 9%; }
  #footer .footer-top .head { font-size: 5vw; margin-bottom: 5vw; line-height: 1.8; text-align: center; }
  #footer .footer-top .sub { font-size: 3.5vw; line-height: 2; text-align: center; text-align: left; }
  #footer .footer-middle { flex-direction: column; }
  #footer .footer-middle .head { font-size: 5vw; margin-bottom: 7vw; }
  #footer .footer-middle .left { padding: 15vw 9%; width: 100%; background-image: linear-gradient(to left, #483D8B 0%, #403586 61%, #3D3183 100%); }
  #footer .footer-middle .right { padding: 15vw 9%; width: 100%; height: auto; }
  #footer .footer-middle .right .tel-cont .tel span { font-size: 6vw; font-weight: bold; letter-spacing: 0; }
  #footer .footer-middle .right .tel-cont .tel .number { font-size: 9vw; }
  #footer .footer-middle .right .tel-cont .note { text-align: center; margin-top: 3vw; font-size: 3vw; }
  #footer .footer-inner { flex-direction: column; padding: 13vw 0; }
  #footer .footer-inner .company-info { width: 100%; flex-direction: column; align-items: center; }
  #footer .footer-inner .company-info .logo { width: 35%; }
  #footer .footer-inner .company-info .info { width: 100%; text-align: center; }
  #footer .footer-inner .company-info .info .name-logo { width: 55%; margin: 5vw auto 8vw; }
  #footer .footer-inner .company-info .info p { font-size: 4vw; font-weight: 400; line-height: 1.5; }
  #footer .footer-inner .middle { width: 100%; margin: 7vw 0 0; align-items: center; }
  #footer .footer-inner .middle .links .footer-link.sub { justify-content: center; flex-wrap: wrap; row-gap: 2vw; column-gap: 5vw; width: 80%; margin: 0 auto; }
  #footer .footer-inner .middle .links .footer-link.sub a { font-size: 3.5vw; margin: 0; }
  #footer .footer-inner .middle .copyright { margin-top: 5vw; font-size: 2.0vw; line-height: 1.5; color: #B2B2B2; text-align: center; letter-spacing: 1px; } }

#top { overflow: hidden; }

@media screen and (max-width: 480px) { #top { padding-bottom: 10vw; } }

#top .mainv { position: relative; margin-top: 7vw; }

#top .mainv .main-imgs { position: relative; width: 100%; height: 50vw; overflow: hidden; background: url("images/top/mainv.jpg") no-repeat; background-size: cover; background-position: center; }

#top .mainv .mainv-txt { position: absolute; color: white; top: 18vw; left: 8.3%; z-index: 11; }

#top .mainv .mainv-txt .head { font-size: 3.5vw; font-weight: 600; line-height: 1.3; margin-bottom: 3vw; }

#top .mainv .mainv-txt .sub { line-height: 2.2; font-weight: 300; }

#top .mainv .scroll { position: absolute; bottom: 5vw; right: calc( 60 / 1440 * 100%); color: white; z-index: 11; writing-mode: vertical-lr; transform: rotate(180deg); font-weight: 500; }

#top .mainv .scroll::after { position: absolute; content: ''; width: 1px; height: 4vw; background: white; left: 0; right: 0; top: -5vw; margin: auto; }

#top .mainv::after { content: ''; position: absolute; display: block; width: 100%; height: 100%; background-image: linear-gradient(to right, rgba(3, 3, 3, 0.72) 0%, rgba(0, 0, 0, 0) 100%); top: 0; left: 0; z-index: 10; }

@media screen and (max-width: 480px) { #top .mainv { height: 100vh; margin-top: 0; }
  #top .mainv .main-imgs { position: relative; width: auto; height: 100vw; overflow: hidden; background: url("images/top/mainv.jpg") no-repeat; background-size: cover; background-position: top 15vw center; }
  #top .mainv .mainv-txt { top: 40vh; left: 0vw; right: 0; }
  #top .mainv .mainv-txt .head { font-size: 7.5vw; font-weight: 500; line-height: 1.7; margin-bottom: 4vw; text-align: center; }
  #top .mainv .mainv-txt .sub { line-height: 1.8; text-align: center; }
  #top .mainv .main-imgs { width: auto; height: 100%; }
  #top .mainv .scroll { right: 8vw; bottom: 20vw; }
  #top .mainv .scroll::after { height: 16vw; top: -20vw; } }

#top .about { text-align: center; padding: 15vw 2% 0; }

#top .about .about-head { text-align: center; }

#top .about .about-head .head { font-size: 3.5vw; font-weight: 500; line-height: 1.3; margin-bottom: 3vw; }

#top .about .about-head .sub { font-size: 16px; font-weight: 100; line-height: 1.8; }

#top .about .content { display: flex; justify-content: space-between; margin: 8vw 0 6vw; }

#top .about .content .tile { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; padding: 3vw; width: 49%; height: 25vw; }

#top .about .content .tile .ttl { font-size: 20px; color: white; margin-bottom: 1vw; z-index: 5; }

#top .about .content .tile a { position: relative; color: #695CB5; z-index: 5; padding: 0 1vw; }

#top .about .content .tile a:after { content: ''; position: absolute; width: 0.5vw; height: 0.5vw; border-top: 1px solid #695CB5; border-right: 1px solid #695CB5; transform: rotate(45deg); top: 3px; bottom: 0; right: 0vw; margin: auto; }

#top .about .content .tile a:hover { text-decoration: underline; }

#top .about .content .tile.left { background: url("images/top/about-bg1.png") no-repeat; background-size: cover; }

#top .about .content .tile.right { background: url("images/top/about-bg2.png") no-repeat; background-size: cover; }

#top .about .content .tile:after { content: ''; position: absolute; width: 100%; height: 60%; bottom: 0; left: 0; background-image: linear-gradient(to top, #030303 0%, rgba(0, 0, 0, 0) 100%); }

#top .about .btn { margin: 0 auto; }

@media screen and (max-width: 480px) { #top .about { text-align: center; padding: 20vw 2% 0; }
  #top .about .about-head { text-align: center; }
  #top .about .about-head .head { font-size: 6.0vw; font-weight: 500; line-height: 1.8; margin-bottom: 3vw; }
  #top .about .about-head .sub { font-size: 3.3vw; font-weight: 100; line-height: 1.8; }
  #top .about .content { display: flex; justify-content: space-between; flex-direction: column; margin: 15vw 0 10vw; row-gap: 3vw; }
  #top .about .content .tile { width: 100%; height: 50vw; padding: 6vw; }
  #top .about .content .tile .ttl { font-size: 4.5vw; margin-bottom: 3vw; }
  #top .about .content .tile a { font-size: 3.5vw; padding: 0 3vw; }
  #top .about .content .tile a:after { content: ''; position: absolute; width: 1.5vw; height: 1.5vw; border-top: 1px solid #695CB5; border-right: 1px solid #695CB5; transform: rotate(45deg); top: 3px; bottom: 0; right: 0vw; margin: auto; } }

#top .service { display: flex; flex-direction: column; row-gap: 2vw; padding: 0 2%; margin: 15vw 0 0vw; }

#top .service .service-tile { display: flex; justify-content: space-between; background: #F2F2F2; padding: 2%; }

#top .service .service-tile.rev { flex-direction: row-reverse; }

#top .service .service-tile .info { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; width: 49%; }

#top .service .service-tile .head { font-size: 1.5vw; font-weight: bold; color: #483D8B; }

#top .service .service-tile .ttl { font-size: 1.8vw; line-height: 1.5; margin: 1.7vw 0; }

#top .service .service-tile .txt { font-weight: 100; line-height: 2; font-size: 1vw; letter-spacing: 0px; }

#top .service .service-tile .btn { font-size: 1vw; margin-top: 3vw; padding: 1.2vw 3vw; }

#top .service .service-tile .img { width: 49%; height: 32vw; overflow: hidden; }

@media screen and (max-width: 480px) { #top .service { row-gap: 5vw; }
  #top .service .service-tile { flex-direction: column; padding: 13vw 4%; }
  #top .service .service-tile.rev { flex-direction: column; }
  #top .service .service-tile .info { width: 100%; }
  #top .service .service-tile .head { font-size: 4vw; }
  #top .service .service-tile .ttl { font-size: 5vw; line-height: 1.5; margin: 5vw 0; }
  #top .service .service-tile .txt { font-weight: 100; line-height: 2; font-size: 3.5vw; text-align: left; }
  #top .service .service-tile .btn { font-size: 3.5vw; padding: 5vw 0vw; margin: 0 auto; justify-content: center; }
  #top .service .service-tile .img { width: 100%; height: 60vw; margin: 5vw 0 10vw; } }

#top .result { display: flex; flex-direction: column; row-gap: 2vw; margin: 10vw 0 0; }

#top .result .result-tile { display: flex; justify-content: space-between; background: #151519; }

#top .result .result-tile .info { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; width: 49%; }

#top .result .result-tile .head { font-size: 1.5vw; font-weight: bold; color: #483D8B; }

#top .result .result-tile .ttl { color: white; font-size: 1.8vw; line-height: 1.5; margin: 1.7vw 0; }

#top .result .result-tile .txt { color: white; font-weight: 100; line-height: 2; font-size: 1vw; letter-spacing: 0px; }

#top .result .result-tile .btn { font-size: 1vw; margin-top: 3vw; padding: 1.2vw 3vw; box-shadow: 2px 3px 9px black; }

#top .result .result-tile .slider { width: 49%; height: 40vw; }

#top .result .result-tile .slider .slick-list { height: 100%; }

#top .result .result-tile .slider .slick-track { height: 100%; }

#top .result .result-tile .slider .slick-dots { display: none !important; }

#top .result .result-tile .slider .img-wrap { width: 100%; height: 100%; overflow: hidden; }

#top .result .result-tile .slider .img-wrap img { width: auto; height: 100%; object-fit: cover; }

#top .result .result-tile .slide-cont { position: absolute; display: flex; align-items: center; column-gap: 1.2vw; bottom: 0.5vw; right: 0.5vw; }

#top .result .result-tile .slide-cont .page { position: relative; width: 2.5vw; height: 2.5vw; }

#top .result .result-tile .slide-cont .page span { color: white; font-weight: 100; }

#top .result .result-tile .slide-cont .page .num { position: absolute; top: 0; left: 0; }

#top .result .result-tile .slide-cont .page .page-total { position: absolute; bottom: 0; right: 0; }

#top .result .result-tile .slide-cont .page .sep { position: absolute; width: 1px; height: 3vw; background: white; transform: rotate(45deg); top: -0.2vw; right: 1.3vw; }

#top .result .result-tile .slide-cont .arrows { display: flex; column-gap: 0.7vw; }

#top .result .result-tile .slide-cont .arrows .arrow-box { position: relative; cursor: pointer; width: 4vw; height: 4vw; background: rgba(29, 29, 29, 0.6); }

#top .result .result-tile .slide-cont .arrows .arrow-box:after { position: absolute; content: ''; width: 1.0vw; height: 1.0vw; border-top: 2px solid white; border-right: 2px solid white; top: 0; bottom: 0; margin: auto; }

#top .result .result-tile .slide-cont .arrows .arrow-box.pref:after { transform: rotate(-135deg); left: 1.5vw; }

#top .result .result-tile .slide-cont .arrows .arrow-box.next:after { transform: rotate(45deg); right: 1.8vw; }

@media screen and (max-width: 480px) { #top .result { padding: 0 2%; }
  #top .result .result-tile { position: relative; flex-direction: column; padding: 15vw 0 40vw; }
  #top .result .result-tile .info { display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; width: 100%; padding: 0 6%; }
  #top .result .result-tile .head { font-size: 4vw; }
  #top .result .result-tile .ttl { color: white; font-size: 5vw; line-height: 1.5; margin: 4vw 0; }
  #top .result .result-tile .txt { color: white; font-weight: 100; line-height: 2; font-size: 3vw; letter-spacing: 0px; text-align: left; }
  #top .result .result-tile .btn { position: absolute; font-size: 3.5vw; padding: 5vw 0vw; bottom: 10vw; box-shadow: 2px 3px 9px black; }
  #top .result .result-tile .slider { width: 100%; height: 80vw; margin-top: 5vw; }
  #top .result .result-tile .slider .slick-list { height: 100%; }
  #top .result .result-tile .slider .slick-track { height: 100%; }
  #top .result .result-tile .slider .slick-dots { margin-top: 7vw; display: flex !important; list-style: none; justify-content: center; column-gap: 2vw; }
  #top .result .result-tile .slider .slick-dots li { height: 0.7vw; width: 10%; background-color: #6A6A6A; }
  #top .result .result-tile .slider .slick-dots li button { display: none; }
  #top .result .result-tile .slider .slick-dots li.slick-active { background-color: #483D8B; }
  #top .result .result-tile .slider .img-wrap { width: 100%; height: 100%; overflow: hidden; }
  #top .result .result-tile .slider .img-wrap img { width: 100%; }
  #top .result .result-tile .slide-cont { display: none; } }

#top .content-tiles { display: flex; flex-direction: column; row-gap: 2vw; padding: 0 2%; margin: 10vw 0 0; }

#top .content-tiles .content { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 30vw; }

#top .content-tiles .content.company { background: url("images/top/about-bg3.png") no-repeat; background-size: cover; }

#top .content-tiles .content.recruit { background: url("images/top/recruit-bg.jpg") no-repeat; background-size: cover; background-position: top -11vw center; }

#top .content-tiles .content:after { content: ''; position: absolute; width: 100%; height: 100%; bottom: 0; left: 0; background: rgba(0, 0, 0, 0.6); }

#top .content-tiles .content .ttl { color: white; font-weight: 400; z-index: 1; font-size: 2.3vw; letter-spacing: 4px; margin-bottom: 2vw; }

#top .content-tiles .content .btn { z-index: 1; box-shadow: 2px 3px 9px black; }

@media screen and (max-width: 480px) { #top .content-tiles { row-gap: 3vw; }
  #top .content-tiles .content { height: 70vw; }
  #top .content-tiles .content .ttl { font-size: 5vw; margin: 7vw 0 5vw; }
  #top .content-tiles .content.company { background: url("images/top/about-bg3.png") no-repeat; background-size: cover; background-position: top left -10vw; }
  #top .content-tiles .content.recruit { background: url("images/top/recruit-bg.jpg") no-repeat; background-size: cover; background-position: top center; } }

#top .posts { margin: 15vw 0 10vw; padding: 0 2%; }

#top .posts .head-ttl { font-weight: 400; font-size: 2.8vw; color: #483D8B; text-align: center; margin-bottom: 5vw; }

#top .posts .posts-contents { display: flex; justify-content: space-between; }

#top .posts .posts-contents .posts-wrap { display: flex; flex-direction: column; align-items: center; width: 49%; background-color: #F2F2F2; padding: 6vw 0 5vw; }

#top .posts .posts-contents .posts-wrap .sub-ttl { color: #483D8B; font-size: 1.7vw; text-align: center; }

#top .posts .posts-contents .posts-wrap .post-list { display: flex; flex-direction: column; align-items: center; margin: 3vw 0vw; row-gap: 3vw; }

#top .posts .posts-contents .posts-wrap .post-list .first-post { display: flex; justify-content: space-between; align-items: center; width: 75%; }

#top .posts .posts-contents .posts-wrap .post-list .first-post .thum { width: 30%; }

#top .posts .posts-contents .posts-wrap .post-list .first-post .post-info { width: 67%; }

#top .posts .posts-contents .posts-wrap .post-list .first-post .post-info .date { font-family: 'Helvetica Neue'; color: #483D8B; letter-spacing: 0; margin-bottom: 0.7vw; }

#top .posts .posts-contents .posts-wrap .post-list .first-post .post-info .txt { line-height: 1.5; font-size: 1vw; }

@media screen and (max-width: 480px) { #top .posts { margin: 20vw 0 10vw; }
  #top .posts .head-ttl { font-weight: 400; font-size: 7vw; margin-bottom: 10vw; }
  #top .posts .posts-contents { flex-direction: column; row-gap: 5vw; }
  #top .posts .posts-contents .posts-wrap { width: 100%; padding: 12vw 4%; }
  #top .posts .posts-contents .posts-wrap .sub-ttl { font-size: 5vw; font-weight: 500; }
  #top .posts .posts-contents .posts-wrap .post-list { margin: 10vw 0; row-gap: 7vw; }
  #top .posts .posts-contents .posts-wrap .post-list .first-post { width: 100%; }
  #top .posts .posts-contents .posts-wrap .post-list .first-post .thum { width: 40%; }
  #top .posts .posts-contents .posts-wrap .post-list .first-post .post-info { width: 57%; }
  #top .posts .posts-contents .posts-wrap .post-list .first-post .post-info .date { font-size: 3vw; margin-bottom: 2vw; }
  #top .posts .posts-contents .posts-wrap .post-list .first-post .post-info .txt { line-height: 1.5; font-size: 3.2vw; } }

#about .under-mainv { background: url("images/about/mainv.png") no-repeat; background-size: cover; background-position: top -7vw center; }

@media screen and (max-width: 480px) { #about .under-mainv { background-position: center; } }

#about .about-content { display: flex; justify-content: space-between; background: #151519; margin: 10vw 0; }

#about .about-content .info { display: flex; flex-direction: column; justify-content: center; align-items: flex-end; row-gap: 2vw; text-align: center; width: 55%; }

#about .about-content .info .tile { background: rgba(255, 255, 255, 0.06); border-radius: 3px; width: 86%; padding: 2vw 3vw; }

#about .about-content .info .tile .head { color: white; border-left: 3px solid #483D8B; margin-bottom: 1vw; text-align: left; font-weight: 500; padding-left: 1vw; }

#about .about-content .info .tile .txt { color: #8D8D8D; text-align: left; font-size: 1vw; line-height: 1.8; }

#about .about-content .img { width: 40%; height: 42vw; overflow: hidden; }

#about .about-content .img img { object-fit: cover; object-position: 50% 50%; height: 100%; }

#about .about-content.rev { flex-direction: row-reverse; }

#about .about-content.rev .info { align-items: flex-start; }

@media screen and (max-width: 480px) { #about .about-content { margin: 10vw 0 25vw; flex-direction: column-reverse; }
  #about .about-content .img { width: 100%; height: 100vw; }
  #about .about-content .info { width: 100%; padding: 5vw 2%; }
  #about .about-content .info .tile { width: 100%; height: 39vw; padding: 8vw 6vw; }
  #about .about-content .info .tile .head { font-size: 4vw; padding-left: 2vw; margin-bottom: 4vw; }
  #about .about-content .info .tile .txt { font-size: 3vw; }
  #about .about-content.rev { flex-direction: column-reverse; }
  #about .about-content.rev .info { align-items: flex-end; } }

#about .about-service { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; column-gap: 7vw; row-gap: 7vw; width: 80%; background: #F8F8F8; margin: 6vw auto 0; border: 1px solid #483D8B; border-radius: 6px; padding: 5vw 0; }

#about .about-service .tile { width: 31%; }

#about .about-service .tile .icon { display: flex; justify-content: center; align-items: center; background: white; border-radius: 50%; width: 8vw; height: 8vw; margin: 0 auto; }

#about .about-service .tile .icon img { width: 50%; }

#about .about-service .tile .ttl { font-weight: 500; font-size: 1.2vw; color: #483D8B; text-align: center; line-height: 1.5; margin: 1vw 0 0.8vw; }

#about .about-service .tile .txt { color: #8D8D8D; line-height: 2; font-size: 1vw; letter-spacing: 1px; }

@media screen and (max-width: 480px) { #about .about-service { flex-direction: column; width: 88%; padding: 7vw 3vw; }
  #about .about-service .tile { width: 100%; }
  #about .about-service .tile .head { display: flex; margin-bottom: 1vw; }
  #about .about-service .tile .icon { width: 15vw; height: 15vw; margin: 0 4vw 0 0; }
  #about .about-service .tile .ttl { font-size: 4vw; text-align: left; }
  #about .about-service .tile .txt { font-size: 3vw; } }

#about .content-tiles { display: flex; flex-direction: column; row-gap: 2vw; padding: 0 2%; margin: 10vw 0 0; }

#about .content-tiles .content { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 30vw; }

#about .content-tiles .content.process { background: url("images/about/process-bg.png") no-repeat; background-size: cover; background-position: center center; }

#about .content-tiles .content:after { content: ''; position: absolute; width: 100%; height: 100%; bottom: 0; left: 0; background: rgba(0, 0, 0, 0.6); }

#about .content-tiles .content .ttl { color: white; font-weight: 400; z-index: 1; font-size: 2.3vw; letter-spacing: 4px; margin-bottom: 2vw; }

#about .content-tiles .content .btn { z-index: 1; box-shadow: 2px 3px 9px black; }

@media screen and (max-width: 480px) { #about .content-tiles { row-gap: 3vw; }
  #about .content-tiles .content { height: 70vw; }
  #about .content-tiles .content .ttl { font-size: 5vw; margin: 7vw 0 5vw; }
  #about .content-tiles .content.company { background: url("images/top/about-bg3.png") no-repeat; background-size: cover; background-position: top center; }
  #about .content-tiles .content.recruit { background: url("images/top/recruit-bg.png") no-repeat; background-size: cover; background-position: top center; } }

#performance .under-mainv { background: url("images/performance/mainv.jpg") no-repeat; background-size: cover; background-position: center; }

#performance .performance-content-wrap { position: relative; margin: 10vw 0; background: #151519; }

#performance .performance-content-wrap .slide-cont { position: absolute; display: flex; align-items: center; column-gap: 1.2vw; bottom: 0.5vw; right: 0.5vw; }

#performance .performance-content-wrap .slide-cont .page { position: relative; width: 2.5vw; height: 2.5vw; }

#performance .performance-content-wrap .slide-cont .page span { color: white; font-weight: 100; }

#performance .performance-content-wrap .slide-cont .page .num { position: absolute; top: 0; left: 0; }

#performance .performance-content-wrap .slide-cont .page .page-total { position: absolute; bottom: 0; right: 0; }

#performance .performance-content-wrap .slide-cont .page .sep { position: absolute; width: 1px; height: 3vw; background: white; transform: rotate(45deg); top: -0.2vw; right: 1.3vw; }

#performance .performance-content-wrap .slide-cont .arrows { display: flex; column-gap: 0.7vw; }

#performance .performance-content-wrap .slide-cont .arrows .arrow-box { position: relative; cursor: pointer; width: 4vw; height: 4vw; background: rgba(29, 29, 29, 0.6); }

#performance .performance-content-wrap .slide-cont .arrows .arrow-box:after { position: absolute; content: ''; width: 1.0vw; height: 1.0vw; border-top: 2px solid white; border-right: 2px solid white; top: 0; bottom: 0; margin: auto; }

#performance .performance-content-wrap .slide-cont .arrows .arrow-box.pref:after { transform: rotate(-135deg); left: 1.5vw; }

#performance .performance-content-wrap .slide-cont .arrows .arrow-box.next:after { transform: rotate(45deg); right: 1.8vw; }

#performance .performance-content-wrap .slick-dots { display: none !important; }

@media screen and (max-width: 480px) { #performance .performance-content-wrap { margin: 10vw 0 20vw; padding-bottom: 10vw; }
  #performance .performance-content-wrap .slide-cont { display: none; }
  #performance .performance-content-wrap .slick-dots { margin-top: 7vw; display: flex !important; list-style: none; justify-content: center; column-gap: 2vw; }
  #performance .performance-content-wrap .slick-dots li { height: 0.7vw; width: 10%; background-color: #6A6A6A; }
  #performance .performance-content-wrap .slick-dots li button { display: none; }
  #performance .performance-content-wrap .slick-dots li.slick-active { background-color: #483D8B; } }

#performance .performance-content { position: relative; display: flex; justify-content: space-between; background: #151519; }

#performance .performance-content .info { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; text-align: center; padding: 0 7%; width: 50%; }

#performance .performance-content .info .ttl { display: flex; align-items: baseline; padding-bottom: 1.5vw; border-bottom: 1px solid white; width: 100%; text-align: left; }

#performance .performance-content .info .ttl span { font-size: 2vw; }

#performance .performance-content .info .ttl .num { color: #483D8B; margin-right: 1vw; }

#performance .performance-content .info .ttl .item { color: white; line-height: 1.5; }

#performance .performance-content .info .txt { color: #8D8D8D; line-height: 2; text-align: left; margin: 1.8vw 0; font-size: 1vw; }

#performance .performance-content .info .price-box { display: flex; align-items: center; background-color: rgba(255, 255, 255, 0.06); border-radius: 6px; color: white; padding: 0.8vw 2vw; }

#performance .performance-content .info .price-box .head { font-size: 0.9vw; }

#performance .performance-content .info .price-box .sep { height: 1px; width: 1.4vw; background-color: white; transform: rotate(-45deg); margin: 0 0.3vw; }

#performance .performance-content .info .price-box .yen { font-size: 1.3vw; margin-top: 0.4vw; margin-right: 0.2vw; }

#performance .performance-content .info .price-box .price { font-size: 1.8vw; margin-right: 0.2vw; }

#performance .performance-content .info .price-box .tax { font-size: 0.7vw; }

#performance .performance-content .info .tag-list { display: flex; flex-wrap: wrap; margin-top: 1.8vw; column-gap: 1vw; }

#performance .performance-content .info .tag-list .tag { color: white; font-size: 0.9vw; }

#performance .performance-content .img { width: 50%; height: 42vw; overflow: hidden; }

#performance .performance-content .img img { object-fit: cover; object-position: 50% 50%; height: 100%; }

@media screen and (max-width: 480px) { #performance .performance-content { flex-direction: column-reverse; }
  #performance .performance-content .info { width: 100%; padding: 10vw 9vw 5vw; }
  #performance .performance-content .info .ttl { display: flex; align-items: baseline; padding-bottom: 5vw; border-bottom: 1px solid white; width: 100%; text-align: left; }
  #performance .performance-content .info .ttl span { font-size: 4.5vw; }
  #performance .performance-content .info .ttl .num { margin-right: 3vw; }
  #performance .performance-content .info .ttl .item { color: white; }
  #performance .performance-content .info .txt { margin: 5vw 0; font-size: 3vw; }
  #performance .performance-content .info .price-box { padding: 3vw 8vw; }
  #performance .performance-content .info .price-box .head { font-size: 3vw; }
  #performance .performance-content .info .price-box .sep { height: 1px; width: 4vw; margin: 0 2vw 0 1vw; }
  #performance .performance-content .info .price-box .yen { font-size: 5vw; margin-top: 1vw; margin-right: 0.2vw; }
  #performance .performance-content .info .price-box .price { font-size: 6vw; margin-right: 0.2vw; }
  #performance .performance-content .info .price-box .tax { font-size: 2vw; }
  #performance .performance-content .info .tag-list { margin-top: 5vw; column-gap: 3vw; }
  #performance .performance-content .info .tag-list .tag { color: white; font-size: 3vw; }
  #performance .performance-content .img { width: 100%; height: 70vw; } }

#performance .performance-list { display: flex; justify-content: space-between; align-items: flex-start; width: 80%; margin: 0 auto; }

#performance .performance-list .item-list { width: 76%; }

#performance .performance-list .items { display: flex; flex-wrap: wrap; justify-content: space-between; width: 100%; row-gap: 4vw; }

#performance .performance-list .items .item { width: 31.5%; padding-bottom: 4vw; border-bottom: 1px solid #D1D1D1; }

#performance .performance-list .items .item .img { margin-bottom: 1.3vw; }

#performance .performance-list .items .item .ttl { color: #483D8B; font-weight: 500; font-size: 1.2vw; line-height: 1.5; }

#performance .performance-list .items .item .txt { margin: 1.3vw 0; color: #8D8D8D; font-size: 0.9vw; line-height: 1.8; }

#performance .performance-list .items .item .tag-list { display: flex; column-gap: 0.7vw; row-gap: 0.7vw; z-index: 1; }

#performance .performance-list .items .item .tag-list .tag { font-size: 0.9vw; z-index: 2; }

#performance .performance-list .dumy { width: 31.5%; }

#performance .performance-list .btn-area { margin-top: 5vw; text-align: center; }

#performance .performance-list .btn-area .btn { margin: 0 auto; }

#performance .performance-list .side-menu { position: sticky; border: 1px solid #483D8B; border-radius: 6px; width: 20%; top: 10vw; }

#performance .performance-list .side-menu .head { color: #483D8B; text-align: left; border-bottom: 1px solid #483D8B; padding: 1.3vw 1.5vw; font-size: 1vw; }

#performance .performance-list .side-menu .tag-list { padding: 1.5vw 1.5vw; display: flex; flex-wrap: wrap; column-gap: 0.7vw; row-gap: 0.7vw; }

#performance .performance-list .side-menu .tag-list .tag { font-size: 0.9vw; cursor: pointer; color: gray; }

#performance .performance-list .side-menu .tag-list input { display: none; }

#performance .performance-list .side-menu .tag-list input:checked + .tag { color: #483D8B; font-weight: 500; }

@media screen and (max-width: 480px) { #performance .performance-list { flex-direction: column; width: 94%; }
  #performance .performance-list .item-list { width: 100%; }
  #performance .performance-list .items { flex-direction: column; width: 100%; row-gap: 7vw; }
  #performance .performance-list .items .item { display: flex; flex-direction: row; justify-content: space-between; width: 100%; padding-bottom: 7vw; border-bottom: 1px solid #D1D1D1; }
  #performance .performance-list .items .item .item-info { display: flex; flex-direction: column; width: 60%; }
  #performance .performance-list .items .item .img { margin-bottom: 1.3vw; width: 35%; }
  #performance .performance-list .items .item .ttl { font-size: 3.5vw; }
  #performance .performance-list .items .item .txt { margin: 2vw 0; font-size: 3vw; }
  #performance .performance-list .items .item .tag-list { display: flex; column-gap: 2vw; row-gap: 1vw; }
  #performance .performance-list .items .item .tag-list .tag { font-size: 3vw; z-index: 2; }
  #performance .performance-list .dumy { display: none; }
  #performance .performance-list .btn-area { margin-top: 5vw; text-align: center; }
  #performance .performance-list .btn-area .btn { margin: 0 auto; }
  #performance .performance-list .side-menu { position: relative; border: 1px solid #483D8B; border-radius: 6px; width: 100%; top: 0vw; margin: 15vw 0; }
  #performance .performance-list .side-menu .head { color: #483D8B; text-align: left; border-bottom: 1px solid #483D8B; padding: 4vw 5vw; font-size: 3.5vw; }
  #performance .performance-list .side-menu .tag-list { padding: 4vw 5vw; column-gap: 3vw; row-gap: 2vw; }
  #performance .performance-list .side-menu .tag-list .tag { font-size: 3vw; } }

#recruit { background: white; padding-bottom: 0; }

#recruit .under-mainv { background: url("images/about/mainv.png") no-repeat; background-size: cover; background-position: top -7vw center; margin-bottom: 0; }

@media screen and (max-width: 480px) { #recruit .under-mainv { background-position: center; } }

#recruit .sub-mainv { background: url("images/recruit/sub-mainv.jpg") no-repeat; background-size: cover; background-position: top -8vw center; }

@media screen and (max-width: 480px) { #recruit .sub-mainv { background-position: center; } }

#recruit .company-info { background: #F2F2F2; padding: 8vw 0 10vw; }

#recruit .company-info .content { display: flex; justify-content: space-between; margin: 8vw 0 0vw; }

#recruit .company-info .content .tile { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; padding: 3vw; width: 49%; height: 25vw; }

#recruit .company-info .content .tile .ttl { font-size: 1.8vw; color: white; margin-bottom: 1vw; z-index: 5; }

#recruit .company-info .content .tile a { position: relative; color: #695CB5; z-index: 5; padding: 0 1vw; }

#recruit .company-info .content .tile a:after { content: ''; position: absolute; width: 0.5vw; height: 0.5vw; border-top: 1px solid #695CB5; border-right: 1px solid #695CB5; transform: rotate(45deg); top: 3px; bottom: 0; right: 0vw; margin: auto; }

#recruit .company-info .content .tile a:hover { text-decoration: underline; }

#recruit .company-info .content .tile.left { background: url("images/recruit/about-bg.png") no-repeat; background-size: cover; }

#recruit .company-info .content .tile.right { background: url("images/recruit/company-bg.png") no-repeat; background-size: cover; }

#recruit .company-info .content .tile:after { content: ''; position: absolute; width: 100%; height: 60%; bottom: 0; left: 0; background-image: linear-gradient(to top, #030303 0%, rgba(0, 0, 0, 0) 100%); }

@media screen and (max-width: 480px) { #recruit .company-info { padding: 15vw 0 3vw; }
  #recruit .company-info .under-section-ttl .sub { text-align: center; }
  #recruit .company-info .content { display: flex; justify-content: space-between; flex-direction: column; margin: 10vw 0 0vw; row-gap: 3vw; }
  #recruit .company-info .content .tile { width: 100%; height: 50vw; padding: 6vw; }
  #recruit .company-info .content .tile .ttl { font-size: 4.5vw; margin-bottom: 3vw; }
  #recruit .company-info .content .tile a { font-size: 3.5vw; padding: 0 3vw; }
  #recruit .company-info .content .tile a:after { content: ''; position: absolute; width: 1.5vw; height: 1.5vw; border-top: 1px solid #695CB5; border-right: 1px solid #695CB5; transform: rotate(45deg); top: 3px; bottom: 0; right: 0vw; margin: auto; } }

#recruit .requirements { background: white; padding: 10vw 0 12vw; }

#recruit .requirements .table-wrap { width: 65%; margin: 4vw auto 0; }

#recruit .requirements .table-wrap table { width: 100%; }

#recruit .requirements .table-wrap table tr { display: flex; justify-content: space-between; }

#recruit .requirements .table-wrap table th, #recruit .requirements .table-wrap table td { padding: 2.3vw 0; border-bottom: 1px solid #DBDBDB; text-align: left; }

#recruit .requirements .table-wrap table th { width: 15%; font-weight: 500; font-size: 1vw; }

#recruit .requirements .table-wrap table td { width: 75%; font-size: 1vw; }

@media screen and (max-width: 480px) { #recruit .requirements { padding: 15vw 0 3vw; }
  #recruit .requirements .under-section-ttl .sub { text-align: center; }
  #recruit .requirements .table-wrap { width: 82%; margin: 10vw auto 0; }
  #recruit .requirements .table-wrap table { width: 100%; }
  #recruit .requirements .table-wrap table tr { display: flex; flex-direction: column; }
  #recruit .requirements .table-wrap table th, #recruit .requirements .table-wrap table td { padding: 0vw 0; border: none; text-align: left; }
  #recruit .requirements .table-wrap table th { width: 100%; font-weight: 500; font-size: 3.5vw; margin-bottom: 3vw; }
  #recruit .requirements .table-wrap table td { width: 100%; font-size: 3.5vw; border-bottom: 1px solid #DBDBDB; margin-bottom: 5vw; padding-bottom: 5vw; line-height: 1.5; } }

#process { background: #F2F2F2; }

#process .under-mainv { background: url("images/about/mainv.png") no-repeat; background-size: cover; background-position: top -7vw center; }

@media screen and (max-width: 480px) { #process .under-mainv { background-position: center; } }

#process .process-list { display: flex; flex-direction: column; align-items: flex-end; }

#process .process-list .process-cont { width: 87%; padding: 3vw 9vw 3vw 3vw; background: white; }

#process .process-list .process-cont:not(:last-child) { border-bottom: 1px solid #D1D1D1; }

#process .process-list .process-cont .ttl-wrap { margin-bottom: 3vw; }

#process .process-list .process-cont .ttl-wrap .sec { color: #483D8B; font-size: 0.9vw; font-weight: 500; margin-bottom: 0.5vw; }

#process .process-list .process-cont .ttl-wrap .ttl { font-weight: 500; font-size: 1.5vw; color: #483D8B; }

#process .process-list .process-cont .content { display: flex; justify-content: space-between; }

#process .process-list .process-cont .content .img { width: 45%; }

#process .process-list .process-cont .content .img img { height: 100%; object-fit: cover; }

#process .process-list .process-cont .content .right { position: relative; width: 50%; }

#process .process-list .process-cont .content .right .number { position: absolute; font-weight: 300; font-size: 7vw; top: -1vw; right: 1vw; color: #483D8B; }

#process .process-list .process-cont .content .right .head { font-weight: 500; line-height: 1.8; font-size: 1.2vw; }

#process .process-list .process-cont .content .right .sep { height: 1px; width: 4vw; display: block; margin: 1.5vw 0; background: #483D8B; }

#process .process-list .process-cont .content .right .process-tiles { display: flex; justify-content: space-between; }

#process .process-list .process-cont .content .right .process-tiles .tile { position: relative; display: flex; justify-content: center; align-items: center; width: 32%; height: 4.5vw; background: #EDECF2; border-radius: 6px; color: #483D8B; font-size: 1.1vw; font-weight: 500; }

#process .process-list .process-cont .content .right .process-tiles .tile:not(:first-child):after { content: ''; position: absolute; background: url("images/process/icon-arrow.png") no-repeat white; background-position: center; background-size: 40%; width: 2vw; height: 2vw; border-radius: 50%; top: 0; bottom: 0; left: -1.5vw; margin: auto; }

#process .process-list .process-cont .content .right .cont-txt { color: #8D8D8D; line-height: 2; font-size: 0.9vw; margin: 1.5vw 0; }

#process .process-list .process-cont .content .right .staff-box { background: #F8F8F8; padding: 2vw; border-radius: 6px; }

#process .process-list .process-cont .content .right .staff-box .head { color: #483D8B; font-size: 1vw; font-weight: 500; margin-bottom: 0.8vw; }

#process .process-list .process-cont .content .right .staff-box .txt { color: #8D8D8D; line-height: 1.8; font-size: 0.95vw; }

@media screen and (max-width: 480px) { #process .process-list .process-cont { width: 94%; padding: 9vw 0vw 9vw 9vw; }
  #process .process-list .process-cont .ttl-wrap { margin-bottom: 2vw; }
  #process .process-list .process-cont .ttl-wrap .sec { color: #483D8B; font-size: 3vw; font-weight: 500; }
  #process .process-list .process-cont .ttl-wrap .ttl { font-weight: 500; font-size: 4vw; color: #483D8B; line-height: 1.5; }
  #process .process-list .process-cont .content { flex-direction: column; }
  #process .process-list .process-cont .content .img { width: 100%; height: 65vw; overflow: hidden; }
  #process .process-list .process-cont .content .img img { object-fit: cover; }
  #process .process-list .process-cont .content .right { position: initial; width: 90%; margin: 5vw 0; }
  #process .process-list .process-cont .content .right .number { position: absolute; font-weight: 300; font-size: 15vw; top: 7vw; right: 5vw; }
  #process .process-list .process-cont .content .right .head { display: none; }
  #process .process-list .process-cont .content .right .sep { display: none; }
  #process .process-list .process-cont .content .right .process-tiles .tile { width: 32%; height: 15vw; background: #EDECF2; border-radius: 6px; color: #483D8B; font-size: 3vw; font-weight: 500; text-align: center; line-height: 1.5; }
  #process .process-list .process-cont .content .right .process-tiles .tile:not(:first-child):after { background-size: 40%; width: 6vw; height: 6vw; top: 0; bottom: 0; left: -3.5vw; margin: auto; }
  #process .process-list .process-cont .content .right .cont-txt { font-size: 3vw; margin: 4.5vw 0; }
  #process .process-list .process-cont .content .right .staff-box { padding: 5vw 5vw; }
  #process .process-list .process-cont .content .right .staff-box .head { display: initial; font-size: 3vw; margin-bottom: 1vw; }
  #process .process-list .process-cont .content .right .staff-box .txt { color: #8D8D8D; line-height: 1.8; font-size: 3vw; } }

#company { background: white; padding-bottom: 0; }

#company .under-mainv { background: url("images/about/mainv.jpg") no-repeat; background-size: cover; background-position: top -14vw center; margin-bottom: 0; }

@media screen and (max-width: 480px) { #company .under-mainv { background-position: center right 0; } }

#company .sub-mainv { background: url("images/company/sub-mainv.png") no-repeat; background-size: cover; background-position: top center; }

#company .history-info { background: white; padding: 8vw 0 10vw; }

#company .history-info .table-wrap { width: 65%; margin: 4vw auto 0; }

#company .history-info .table-wrap table { width: 100%; }

#company .history-info .table-wrap table tr { display: flex; justify-content: space-between; }

#company .history-info .table-wrap table th, #company .history-info .table-wrap table td { padding: 2.3vw 0; border-bottom: 1px solid #DBDBDB; text-align: left; }

#company .history-info .table-wrap table th { width: 10%; font-weight: 500; font-size: 1vw; }

#company .history-info .table-wrap table td { width: 90%; font-size: 1vw; }

@media screen and (max-width: 480px) { #company .history-info .table-wrap { width: 82%; margin: 10vw auto 0; }
  #company .history-info .table-wrap table { width: 100%; }
  #company .history-info .table-wrap table tr { display: flex; flex-direction: column; }
  #company .history-info .table-wrap table th, #company .history-info .table-wrap table td { padding: 0vw 0; border: none; text-align: left; }
  #company .history-info .table-wrap table th { width: 100%; font-weight: 500; font-size: 3.5vw; margin-bottom: 3vw; }
  #company .history-info .table-wrap table td { width: 100%; font-size: 3.5vw; border-bottom: 1px solid #DBDBDB; margin-bottom: 5vw; padding-bottom: 5vw; line-height: 1.5; } }

#company .origin-info { width: 80%; margin: 0 auto; }

#company .origin-info .img { margin: 1vw 0 3vw; }

#company .origin-info .txt { line-height: 2; }

@media screen and (max-width: 480px) { #company .origin-info { width: 82%; } }

#company .company-info { background: white; padding: 10vw 0 10vw; }

#company .company-info .table-wrap { width: 65%; margin: 4vw auto 0; }

#company .company-info .table-wrap table { width: 100%; }

#company .company-info .table-wrap table tr { display: flex; justify-content: space-between; }

#company .company-info .table-wrap table th, #company .company-info .table-wrap table td { padding: 2.3vw 0; border-bottom: 1px solid #DBDBDB; text-align: left; }

#company .company-info .table-wrap table th { width: 15%; font-weight: 500; font-size: 1vw; }

#company .company-info .table-wrap table td { width: 75%; font-size: 1vw; }

@media screen and (max-width: 480px) { #company .company-info { padding: 15vw 0 15vw; }
  #company .company-info .table-wrap { width: 82%; margin: 10vw auto 0; }
  #company .company-info .table-wrap table { width: 100%; }
  #company .company-info .table-wrap table tr { display: flex; flex-direction: column; }
  #company .company-info .table-wrap table th, #company .company-info .table-wrap table td { padding: 0vw 0; border: none; text-align: left; }
  #company .company-info .table-wrap table th { width: 100%; font-weight: 500; font-size: 3.5vw; margin-bottom: 3vw; }
  #company .company-info .table-wrap table td { width: 100%; font-size: 3.5vw; border-bottom: 1px solid #DBDBDB; margin-bottom: 5vw; padding-bottom: 5vw; line-height: 1.5; } }

#company .googlemap { height: 30vw; }

@media screen and (max-width: 480px) { #company .googlemap { height: 50vw; } }

#single { margin-top: 15vw; }

#single .post-content { width: 80%; margin: auto; }

#single .post-content .post-info { margin-bottom: 5vw; padding-bottom: 2vw; border-bottom: 1px solid #DBDBDB; }

#single .post-content .post-info .head { display: flex; align-items: center; }

#single .post-content .post-info .head .sub { color: #483D8B; font-size: 1.3vw; font-weight: 400; line-height: 1; margin-right: 1.5vw; }

#single .post-content .post-info .head .date { color: #483D8B; font-weight: 300; line-height: 1; }

#single .post-content .post-info .title { font-size: 2vw; font-weight: 400; line-height: 1.5; margin: 1.2vw 0 0vw; }

#single .post-content .post-info .author { display: flex; align-items: center; margin-top: 1vw; }

#single .post-content .post-info .author .img { border-radius: 50%; width: 3vw; height: 3vw; overflow: hidden; margin-right: 1vw; }

#single .post-content .post-info .author .img img { height: auto; width: 100%; }

#single .post-content .thum { margin-bottom: 3vw; }

#single .post-content h1 { font-size: 1.5vw; font-weight: 500; margin: 5vw 0 1vw; }

#single .post-content p { line-height: 2; }

@media screen and (max-width: 480px) { #single { margin-top: 30vw; padding-bottom: 20vw; }
  #single .post-content { width: 82%; margin: auto; }
  #single .post-content .post-info { margin-bottom: 5vw; padding-bottom: 2vw; border-bottom: 1px solid #DBDBDB; }
  #single .post-content .post-info .head { display: flex; align-items: center; }
  #single .post-content .post-info .head .sub { font-size: 4vw; font-weight: 500; line-height: 1; margin-right: 3vw; }
  #single .post-content .post-info .head .date { color: #483D8B; font-weight: 300; line-height: 1; }
  #single .post-content .post-info .title { font-size: 4vw; font-weight: 500; line-height: 1.5; margin: 3vw 0 0vw; }
  #single .post-content .post-info .author { display: flex; align-items: center; margin-top: 3vw; }
  #single .post-content .post-info .author .img { width: 9vw; height: 9vw; overflow: hidden; margin-right: 3vw; }
  #single .post-content .thum { margin-bottom: 3vw; }
  #single .post-content h1 { font-size: 4vw; font-weight: 500; margin: 5vw 0 1vw; }
  #single .post-content p { line-height: 2; } }

#single-item { margin-top: 100px; padding: 0; }

#single-item .performance-content { display: flex; justify-content: space-between; background: #151519; }

#single-item .performance-content.rev { flex-direction: row-reverse; }

#single-item .performance-content .info { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; text-align: center; padding: 0 7%; width: 50%; }

#single-item .performance-content .info .ttl { display: flex; align-items: baseline; padding-bottom: 1.5vw; border-bottom: 1px solid white; width: 100%; text-align: left; }

#single-item .performance-content .info .ttl span { font-size: 2vw; }

#single-item .performance-content .info .ttl .num { color: #483D8B; margin-right: 1vw; }

#single-item .performance-content .info .ttl .item { color: white; }

#single-item .performance-content .info .txt { margin: 1.8vw 0; }

#single-item .performance-content .info .txt p { color: #8D8D8D; line-height: 2; text-align: left; font-size: 1vw; }

#single-item .performance-content .info .price-box { display: flex; align-items: center; background-color: rgba(255, 255, 255, 0.06); border-radius: 6px; color: white; padding: 0.8vw 2vw; }

#single-item .performance-content .info .price-box .head { font-size: 0.9vw; }

#single-item .performance-content .info .price-box .sep { height: 1px; width: 1.4vw; background-color: white; transform: rotate(-45deg); margin: 0 0.3vw; }

#single-item .performance-content .info .price-box .yen { font-size: 1.3vw; margin-top: 0.4vw; margin-right: 0.2vw; }

#single-item .performance-content .info .price-box .price { font-size: 1.8vw; margin-right: 0.2vw; }

#single-item .performance-content .info .price-box .tax { font-size: 0.7vw; }

#single-item .performance-content .info .tag-list { margin-top: 1.8vw; }

#single-item .performance-content .info .tag-list .tag { color: white; font-size: 1vw; }

#single-item .performance-content .img { width: 50%; height: 42vw; overflow: hidden; }

#single-item .performance-content .img img { object-fit: cover; object-position: 50% 50%; height: 100%; }

@media screen and (max-width: 480px) { #single-item .performance-content { flex-direction: column-reverse; }
  #single-item .performance-content .info { width: 100%; padding: 10vw 9vw; }
  #single-item .performance-content .info .ttl { display: flex; align-items: baseline; padding-bottom: 5vw; border-bottom: 1px solid white; width: 100%; text-align: left; }
  #single-item .performance-content .info .ttl span { font-size: 4.5vw; }
  #single-item .performance-content .info .ttl .num { margin-right: 3vw; }
  #single-item .performance-content .info .ttl .item { color: white; }
  #single-item .performance-content .info .txt { margin: 5vw 0; font-size: 3vw; }
  #single-item .performance-content .info .price-box { padding: 3vw 8vw; }
  #single-item .performance-content .info .price-box .head { font-size: 3vw; }
  #single-item .performance-content .info .price-box .sep { height: 1px; width: 4vw; margin: 0 2vw 0 1vw; }
  #single-item .performance-content .info .price-box .yen { font-size: 5vw; margin-top: 1vw; margin-right: 0.2vw; }
  #single-item .performance-content .info .price-box .price { font-size: 6vw; margin-right: 0.2vw; }
  #single-item .performance-content .info .price-box .tax { font-size: 2vw; }
  #single-item .performance-content .info .tag-list { margin-top: 5vw; column-gap: 3vw; }
  #single-item .performance-content .info .tag-list .tag { color: white; font-size: 3vw; }
  #single-item .performance-content .img { width: 100%; height: 70vw; } }

#single-item .btn-area { margin: 5vw 0; text-align: center; }

@media screen and (max-width: 480px) { #single-item .btn-area { margin: 15vw 0; } }

#post { background: #F2F2F2; padding-bottom: 0; }

#post .under-mainv { background: url("images/about/mainv.png") no-repeat; background-size: cover; background-position: top -7vw center; }

@media screen and (max-width: 480px) { #post .under-mainv { background-position: center; } }

#post .post-contents { width: 80%; margin: 0 auto; background: white; padding: 5vw 4.5% 10vw; }

#post .post-contents .tabs { display: flex; align-items: center; margin-bottom: 5vw; }

#post .post-contents .tabs .tab { cursor: pointer; color: #BEBEBE; font-size: 1.7vw; font-weight: 500; }

#post .post-contents .tabs .tab.active { color: #483D8B; }

#post .post-contents .tabs .sep { width: 1px; height: 1.5vw; background: #483D8B; margin: 0 2.5vw; }

#post .post-contents .post-list .news-list { display: flex; flex-direction: column; }

#post .post-contents .post-list .news-list .news { position: relative; display: flex; align-items: center; padding: 2.5vw 0; border-top: 1px solid #DBDBDB; }

#post .post-contents .post-list .news-list .news:last-child { border-bottom: 1px solid #DBDBDB; }

#post .post-contents .post-list .news-list .news .date { font-weight: 100; margin-right: 2vw; color: #483D8B; }

#post .post-contents .post-list .news-list .news .ttl { font-weight: 400; }

#post .post-contents .post-list .news-list .news:after { position: absolute; content: ''; background: url("images/icon-arrow2.png") no-repeat; background-position: center right; width: 2vw; height: 4vw; top: 0; bottom: 0; right: 0; margin: auto; }

#post .post-contents .post-list .blog-list { display: flex; flex-direction: column; }

#post .post-contents .post-list .blog-list .blog { position: relative; display: flex; align-items: center; justify-content: space-between; padding: 2.5vw 0; border-top: 1px solid #DBDBDB; }

#post .post-contents .post-list .blog-list .blog:last-child { border-bottom: 1px solid #DBDBDB; }

#post .post-contents .post-list .blog-list .blog .thum { width: 20%; }

#post .post-contents .post-list .blog-list .blog .info { width: 75%; }

#post .post-contents .post-list .blog-list .blog .date { font-weight: 100; margin-bottom: 1vw; color: #483D8B; }

#post .post-contents .post-list .blog-list .blog .cont { font-weight: 400; line-height: 1.8; }

#post .post-contents .post-list .pagination { margin-top: 10vw; display: flex; justify-content: center; align-items: center; }

#post .post-contents .post-list .pagination .link { position: relative; cursor: pointer; }

#post .post-contents .post-list .pagination .btn { background: #F2F2F2; color: #7E7E7E; margin: 0 2.5vw; padding: 1.2vw 3.2vw; border-radius: 100px; cursor: pointer; }

#post .post-contents .post-list .pagination .btn.active { background: #483D8B; color: white; }

#post .post-contents .post-list .pagination .page-num { display: flex; align-items: center; }

#post .post-contents .post-list .pagination .page-num span { color: #483D8B; }

#post .post-contents .post-list .pagination .page-num .sep { width: 1px; height: 1vw; background: #483D8B; transform: rotate(10deg); margin: 0 0.7vw; }

@media screen and (max-width: 480px) { #post .post-contents { width: 94%; padding: 10vw 6vw 10vw; }
  #post .post-contents .tabs { display: flex; align-items: center; justify-content: center; margin-bottom: 10vw; }
  #post .post-contents .tabs .tab { cursor: pointer; color: #BEBEBE; font-size: 4vw; font-weight: 500; }
  #post .post-contents .tabs .tab.active { color: #483D8B; }
  #post .post-contents .tabs .sep { width: 1px; height: 4vw; background: #483D8B; margin: 0 6vw; }
  #post .post-contents .post-list .news-list .news { position: relative; flex-direction: column; align-items: flex-start; padding: 6vw 0; }
  #post .post-contents .post-list .news-list .news .date { font-weight: 100; margin-right: 0vw; font-size: 3vw; margin-bottom: 2vw; }
  #post .post-contents .post-list .news-list .news .ttl { font-weight: 400; font-size: 3.5vw; }
  #post .post-contents .post-list .news-list .news:after { display: none; }
  #post .post-contents .post-list .blog-list { display: flex; flex-direction: column; }
  #post .post-contents .post-list .blog-list .blog { padding: 6vw 0; }
  #post .post-contents .post-list .blog-list .blog .thum { width: 45%; }
  #post .post-contents .post-list .blog-list .blog .info { width: 50%; }
  #post .post-contents .post-list .blog-list .blog .date { font-weight: 400; margin-right: 0vw; font-size: 3vw; margin-bottom: 2vw; }
  #post .post-contents .post-list .blog-list .blog .cont { font-weight: 400; font-size: 3.5vw; line-height: 1.8; }
  #post .post-contents .post-list .pagination { margin-top: 10vw; display: flex; justify-content: center; align-items: center; }
  #post .post-contents .post-list .pagination .link { position: relative; cursor: pointer; font-size: 2vw; }
  #post .post-contents .post-list .pagination .btn { margin: 0 2vw; padding: 4vw 5vw; border-radius: 100px; cursor: pointer; font-size: 3vw; }
  #post .post-contents .post-list .pagination .page-num { display: flex; align-items: center; }
  #post .post-contents .post-list .pagination .page-num span { color: #483D8B; font-size: 2vw; }
  #post .post-contents .post-list .pagination .page-num .sep { width: 1px; height: 2vw; margin: 0 1vw; } }

#privacy { width: 70%; margin: 15vw auto 0; }

#privacy .under-page-ttl { margin: 0vw 0 10vw; }

#privacy .under-page-ttl .head { color: #483D8B; letter-spacing: 0; font-size: 1.4vw; font-weight: 500; margin-bottom: 1vw; }

#privacy .under-page-ttl .sub { font-size: 2vw; font-weight: 500; }

#privacy .privacy-content .inner { margin: auto; }

#privacy .privacy-content .wrap { margin-bottom: 3vw; line-height: 2.2; }

#privacy .privacy-content .wrap p { font-size: 1.1vw; line-height: 2; }

#privacy .privacy-content .wrap .head { font-weight: 400; line-height: 2.2; }

@media screen and (max-width: 480px) { #privacy { width: 82%; margin: 40vw auto 0; }
  #privacy .under-page-ttl { margin: 0vw 0 10vw; }
  #privacy .under-page-ttl .head { color: #483D8B; letter-spacing: 0; font-size: 3.5vw; font-weight: 500; margin-bottom: 4vw; }
  #privacy .under-page-ttl .sub { font-size: 5vw; font-weight: 500; }
  #privacy .privacy-content .inner { margin: auto; }
  #privacy .privacy-content .wrap { margin-bottom: 8vw; line-height: 2.2; font-size: 3vw; }
  #privacy .privacy-content .wrap .head { font-weight: 400; line-height: 2.2; } }

#sitemap { width: 70%; margin: 15vw auto 0; }

#sitemap .under-page-ttl { margin: 0vw 0 10vw; }

#sitemap .under-page-ttl .head { color: #483D8B; letter-spacing: 0; font-size: 1.4vw; font-weight: 500; margin-bottom: 1vw; }

#sitemap .under-page-ttl .sub { font-size: 2vw; font-weight: 500; }

#sitemap .sitemap-content { margin-bottom: 20vw; }

#sitemap .sitemap-content .sitemap-list { display: flex; flex-direction: column; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; margin: auto; }

#sitemap .sitemap-content .sitemap-list .link { position: relative; color: #483D8B; font-weight: 500; width: 100%; border-bottom: 1px solid #CECECE; cursor: pointer; }

#sitemap .sitemap-content .sitemap-list .link .name { position: relative; display: block; padding: 3vw 0vw; font-size: 1.2vw; font-weight: 400; }

#sitemap .sitemap-content .sitemap-list .link .lists { display: flex; }

#sitemap .sitemap-content .sitemap-list .link .lists a { position: relative; color: #1D1D1D; font-size: 1.0vw; font-weight: 400; margin-left: 3.5vw; margin-bottom: 1.5vw; }

#sitemap .sitemap-content .sitemap-list .link .lists a:after { position: absolute; content: ''; width: 0.4vw; height: 0.4vw; border-top: 1px solid #1D1D1D; border-right: 1px solid #1D1D1D; transform: rotate(45deg); top: 0; bottom: 0; left: -1.8vw; margin: auto; }

#sitemap .sitemap-content .sitemap-list .link .lists a:first-child { margin-left: 1.8vw; }

#sitemap .sitemap-content .sitemap-list .link:after { position: absolute; content: ''; background: url("images/icon-arrow2.png") no-repeat; background-position: center right; width: 2vw; height: 4vw; top: 0; bottom: 0; right: 0; margin: auto; }

@media screen and (max-width: 480px) { #sitemap { width: 82%; margin: 40vw auto 0; }
  #sitemap .under-page-ttl { margin: 0vw 0 10vw; }
  #sitemap .under-page-ttl .head { color: #483D8B; letter-spacing: 0; font-size: 3.5vw; font-weight: 500; margin-bottom: 4vw; }
  #sitemap .under-page-ttl .sub { font-size: 5vw; font-weight: 500; }
  #sitemap .sitemap-content .sitemap-list .link { position: relative; color: #483D8B; font-weight: 500; width: 100%; border-bottom: 1px solid #CECECE; cursor: pointer; }
  #sitemap .sitemap-content .sitemap-list .link .name { position: relative; display: block; padding: 5vw 0vw; font-size: 4vw; font-weight: 500; }
  #sitemap .sitemap-content .sitemap-list .link .lists { display: flex; flex-wrap: wrap; margin-bottom: 4vw; width: 60%; gap: 2vw 4vw; }
  #sitemap .sitemap-content .sitemap-list .link .lists a { position: relative; color: #1D1D1D; font-size: 3.5vw; font-weight: 400; margin-left: 1.8vw; }
  #sitemap .sitemap-content .sitemap-list .link .lists a:after { position: absolute; content: ''; width: 0.7vw; height: 0.7vw; border-top: 1px solid #1D1D1D; border-right: 1px solid #1D1D1D; transform: rotate(45deg); top: 0; bottom: 0; left: -1.8vw; margin: auto; }
  #sitemap .sitemap-content .sitemap-list .link .lists a:first-child { margin-left: 1.8vw; }
  #sitemap .sitemap-content .sitemap-list .link:after { position: absolute; content: ''; background: url("images/icon-arrow2.png") no-repeat; background-position: center right; width: 2vw; height: 4vw; top: 0; bottom: 0; right: 0; margin: auto; } }

#contact { background-color: white; }

#contact .under-mainv { background: url("images/about/mainv.png") no-repeat; background-size: cover; background-position: top -7vw center; }

@media screen and (max-width: 480px) { #contact .under-mainv { background-position: center; } }

#contact .contact-content .inner { width: 60%; margin: auto; }

#contact .contact-content .head { text-align: left; line-height: 2; }

#contact .contact-content .tel-cont { display: flex; align-items: center; margin: 3vw auto 3vw; text-align: center; }

#contact .contact-content .tel-cont .tel { display: flex; justify-content: center; align-items: center; margin: 2vw 0; }

#contact .contact-content .tel-cont .tel .icon { width: 1.3vw; }

#contact .contact-content .tel-cont .tel .num { color: #483D8B; font-weight: 500; font-size: 2.5vw; letter-spacing: 0px; margin-left: 1vw; }

#contact .contact-content .tel-cont .time { margin-left: 4vw; }

#contact .contact-content .form-wrap .head { font-size: 1.5vw; font-weight: 500; line-height: 1; margin-bottom: 3vw; }

#contact .contact-content .form-wrap form .input-wrap { display: flex; align-items: flex-start; justify-content: center; flex-direction: column; margin-bottom: 2.5vw; }

#contact .contact-content .form-wrap form .input-wrap.textarea { align-items: flex-start; margin-bottom: 4vw; }

#contact .contact-content .form-wrap form .input-name { position: relative; display: flex; align-items: center; font-weight: 400; font-size: 1.1vw; margin-bottom: 1vw; }

#contact .contact-content .form-wrap form .input-name sup { color: #483D8B; font-size: 1.3vw; top: 0; right: 0; transform: translateY(3px); }

#contact .contact-content .form-wrap form .input-name.textarea { margin-top: 1vw; }

#contact .contact-content .form-wrap form .flex-input { display: flex; justify-content: space-between; flex-direction: column; }

#contact .contact-content .form-wrap form .flex-input input[type=radio] { display: none; }

#contact .contact-content .form-wrap form .flex-input input[type=radio]:checked + label:after { opacity: 1; }

#contact .contact-content .form-wrap form .flex-input .radio-label { position: relative; padding: 1.4vw 0vw 1.4vw 4vw; font-size: 1.1vw; cursor: pointer; }

#contact .contact-content .form-wrap form .flex-input .radio-label:after { content: ''; position: absolute; width: 0.7vw; height: 0.7vw; background: #483D8B; border-radius: 50%; top: 0; bottom: 0; left: 1.9vw; margin: auto; opacity: 0; }

#contact .contact-content .form-wrap form .flex-input .radio-label:before { content: ''; position: absolute; width: 1.5vw; height: 1.5vw; background: white; border: 1px solid black; border-radius: 50%; top: 0; bottom: 0; left: 1.5vw; margin: auto; }

#contact .contact-content .form-wrap form .privacy-txt { text-align: center; margin-bottom: 2vw; }

#contact .contact-content .form-wrap form .privacy-txt p { font-size: 1.1vw; }

#contact .contact-content .form-wrap form .privacy-txt a { font-size: 1.1vw; color: #000C9F; text-decoration: underline; }

#contact .contact-content .form-wrap form .checkbox-wrap { display: flex; justify-content: center; margin-bottom: 4vw; align-items: center; }

#contact .contact-content .form-wrap form .checkbox-wrap input[type=checkbox] { display: none; }

#contact .contact-content .form-wrap form .checkbox-wrap input[type=checkbox] + label::after { opacity: 0; }

#contact .contact-content .form-wrap form .checkbox-wrap input[type=checkbox]:checked + label::after { opacity: 1; }

#contact .contact-content .form-wrap form .checkbox-wrap label { position: relative; width: 1.3vw; height: 1.3vw; background: white; border: 1px solid #707070; cursor: pointer; margin-right: 1vw; border-radius: 2px; }

#contact .contact-content .form-wrap form .checkbox-wrap label:after { content: ''; position: absolute; width: 0.5vw; height: 1vw; border-right: 2px solid #483D8B; border-bottom: 2px solid #483D8B; transform: rotate(45deg); top: -0.2vw; right: 0.2vw; }

#contact .contact-content .form-wrap form .checkbox-wrap p { font-size: 1.1vw; }

#contact .contact-content .form-wrap form .btn-wrap { text-align: center; }

#contact .contact-content .form-wrap form input[type=text], #contact .contact-content .form-wrap form input[type=email], #contact .contact-content .form-wrap form input[type=tel] { width: 100%; background: #FCFCFC; border: 1px solid #A5A5A5; border-radius: 3px; padding: 1vw 2vw; font-size: 1vw; outline: none; }

#contact .contact-content .form-wrap form textarea { width: 100%; height: 20vw; background: #FCFCFC; border: 1px solid #A5A5A5; border-radius: 3px; resize: vertical; padding: 1.5vw 2vw; outline: none; font-size: 1vw; line-height: 1.8; }

@media screen and (max-width: 480px) { #contact .contact-content { margin-bottom: 15vw; }
  #contact .contact-content .inner { width: 84vw; margin: auto; }
  #contact .contact-content .head { text-align: left; line-height: 2; font-size: 3.5vw; }
  #contact .contact-content .tel-cont { width: 84vw; margin: 5vw auto 0vw; padding: 0vw 0; flex-direction: column; }
  #contact .contact-content .tel-cont .head { font-size: 4vw; }
  #contact .contact-content .tel-cont .tel { display: flex; justify-content: center; align-items: center; margin: 4vw 0; }
  #contact .contact-content .tel-cont .tel .icon { width: 4vw; padding-top: 0.4vw; }
  #contact .contact-content .tel-cont .tel .num { font-size: 8vw; margin-left: 4vw; font-weight: 500; }
  #contact .contact-content .tel-cont .time { font-size: 3vw; }
  #contact .contact-content .form-wrap { padding: 10vw 0vw; }
  #contact .contact-content .form-wrap .head { font-size: 4vw; margin-bottom: 7vw; }
  #contact .contact-content .form-wrap form .input-wrap { margin-bottom: 8vw; }
  #contact .contact-content .form-wrap form .input-wrap.textarea { margin-bottom: 8vw; }
  #contact .contact-content .form-wrap form .input-name { font-size: 3.5vw; margin-bottom: 3vw; }
  #contact .contact-content .form-wrap form .input-name sup { font-size: 5vw; transform: translateY(3px); }
  #contact .contact-content .form-wrap form .flex-input { display: flex; justify-content: space-between; }
  #contact .contact-content .form-wrap form .flex-input input[type=radio] { display: none; }
  #contact .contact-content .form-wrap form .flex-input input[type=radio]:checked + label:after { opacity: 1; }
  #contact .contact-content .form-wrap form .flex-input .radio-label { font-size: 3.5vw; padding: 2vw 0vw 2vw 7vw; }
  #contact .contact-content .form-wrap form .flex-input .radio-label:after { content: ''; position: absolute; width: 2.5vw; height: 2.5vw; background: #483D8B; border-radius: 50%; top: 0; bottom: 0; left: 2vw; margin: auto; opacity: 0; }
  #contact .contact-content .form-wrap form .flex-input .radio-label:before { content: ''; position: absolute; width: 3vw; height: 3vw; background: white; border-radius: 50%; top: 0; bottom: 0; left: 1.5vw; margin: auto; }
  #contact .contact-content .form-wrap form .privacy-txt { text-align: center; margin-bottom: 5vw; }
  #contact .contact-content .form-wrap form .privacy-txt p { font-size: 3vw; }
  #contact .contact-content .form-wrap form .privacy-txt a { font-size: 3vw; }
  #contact .contact-content .form-wrap form .checkbox-wrap { display: flex; justify-content: center; margin-bottom: 10vw; align-items: center; }
  #contact .contact-content .form-wrap form .checkbox-wrap input[type=checkbox] { display: none; }
  #contact .contact-content .form-wrap form .checkbox-wrap input[type=checkbox] + label::after { opacity: 0; }
  #contact .contact-content .form-wrap form .checkbox-wrap input[type=checkbox]:checked + label::after { opacity: 1; }
  #contact .contact-content .form-wrap form .checkbox-wrap label { width: 5vw; height: 5vw; }
  #contact .contact-content .form-wrap form .checkbox-wrap label:after { content: ''; position: absolute; width: 1.5vw; height: 3vw; top: 0vw; right: 1vw; }
  #contact .contact-content .form-wrap form .checkbox-wrap a { color: #000C9F; text-decoration: underline; }
  #contact .contact-content .form-wrap form .checkbox-wrap p { font-size: 3.5vw; }
  #contact .contact-content .form-wrap form input[type=text], #contact .contact-content .form-wrap form input[type=email], #contact .contact-content .form-wrap form input[type=tel] { width: 100%; padding: 3vw 5vw; font-size: 3.5vw; outline: none; }
  #contact .contact-content .form-wrap form textarea { width: 100%; height: 50vw; resize: vertical; padding: 3vw 5vw; outline: none; font-size: 3.5vw; }
  #contact .contact-content .form-wrap form select { appearance: button; width: 100%; background: #F2F2F2; padding: 3vw 3vw; font-size: 3.5vw; outline: none; border: none; } }

#contact-thanks { text-align: center; margin-top: 15vw; }

#contact-thanks .head { color: #483D8B; font-size: 1.5vw; letter-spacing: 0px; }

#contact-thanks .sub { font-size: 2.5vw; font-weight: 500; margin: 3vw 0; }

#contact-thanks .txt { line-height: 2; letter-spacing: 3px; }

#contact-thanks .top-link { margin-top: 4vw; }

@media screen and (max-width: 480px) { #contact-thanks { margin-top: 40vw; padding-bottom: 20vw; }
  #contact-thanks .head { font-size: 3.5vw; }
  #contact-thanks .sub { font-size: 5vw; font-weight: 500; margin: 5vw 0; }
  #contact-thanks .txt { padding: 0 8vw; margin: 7vw 0 7vw; }
  #contact-thanks .top-link { font-size: 4vw; } }
