@charset "UTF-8";
/*
Theme Name: 株式会社ケーシーエス採用サイト2025
Theme URI: 
Description: 株式会社ケーシーエスの採用サイトテンプレート（2025版）
Version: 1.0
Author: KCSCORP
Author URI: https://www.kcscorp.jp/
*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400..600&display=swap");
html, body { overflow-x: hidden; }

body { font-family: 'Roboto','Noto Sans JP',sans-serif; margin: 0; font-weight: 400; color: #000; font-size: 16px; line-height: 160%; letter-spacing: 0.1rem; }

a { text-decoration: none; transition: all 0.2s linear; }
a:hover { transition: all 0.2s linear; }

h1, h2, h3, h4, h5, h6 { font-weight: 600; margin-bottom: 30px; }

.btn-yellow, .wp-block-button__link { background: #FFEB33; border-radius: 38px; padding: 29px 50px; min-width: 360px; text-align: left; position: relative; overflow: hidden; top: 0; right: 0; bottom: 0; margin: auto 0; line-height: 1; font-size: 95%; letter-spacing: 0.2rem; text-decoration: none !important; }
.btn-yellow:hover, .wp-block-button__link:hover { background-color: #fff; }
.btn-yellow:after, .wp-block-button__link:after { position: absolute; content: ""; background-size: 49px; background-color: #fff; border-radius: 50%; width: 49px; height: 49px; display: block; top: 15px; right: 13px; }
.btn-yellow:hover:after, .wp-block-button__link:hover:after { background-color: #FFEB33; }
.btn-yellow span, .wp-block-button__link span { overflow: hidden; position: absolute; top: 23px; right: 26px; bottom: 0; width: 30px; margin: auto 0; line-height: 1; }
.btn-yellow span:before, .btn-yellow span:after, .wp-block-button__link span:before, .wp-block-button__link span:after { content: url(img/arrow-right.svg); display: block; z-index: 1; position: absolute; top: 0; right: 0; animation-fill-mode: forwards; animation-duration: 0.3s; }
.btn-yellow span:after, .wp-block-button__link span:after { right: 0; transform: translateX(-152%); }
.btn-yellow:hover span:before, .wp-block-button__link:hover span:before { animation-name: transformRightLeft; animation-delay: 0s; }
.btn-yellow:hover span:after, .wp-block-button__link:hover span:after { animation-name: transformLeftRight; animation-delay: 0.2s; }

@keyframes transformLeftRight { 0% { transform: translateX(-100%); }
  100% { transform: translateX(0); } }
@keyframes transformRightLeft { 0% { transform: translateX(0); }
  100% { transform: translateX(100%); } }
a.arrow { position: relative; font-size: 119%; }
a.arrow:before { content: ""; position: absolute; background-image: url(img/arrow-top-right.svg); background-repeat: no-repeat; background-size: 6px; width: 6px; height: 6px; display: block; z-index: 999; bottom: 5px; right: -17px; }
a.arrow:after { content: ""; position: absolute; bottom: -3px; right: -23px; background: #FFEB33; width: 20px; height: 20px; display: block; border-radius: 50%; }

.logged-in header ul:first-child li:first-child a { top: 79px; }
.logged-in .openbtn { top: 68px; }
.logged-in #wpadminbar { z-index: 99999999999999999999999999; }

.grecaptcha-badge { visibility: hidden; }

header { padding: 0 0 20px 0; }
header .logo a:hover { opacity: 0.6; }
header .logo img { margin: 40px 0 0 89px; width: 216px; height: 61px; }
header ul { padding-top: 32px; font-weight: 400; }
header .list-menu { padding-top: 60px; letter-spacing: 0.17rem; text-align: left; float: right; }
header .list-menu a { color: #000; font-size: 141%; display: inline-block; }
header .list-menu a:hover { color: #FFEB33; }
header .list-menu .list-inline-item:not(:last-child) { margin-right: 25px; }
header ul:first-child { width: 374px; }
header ul:first-child li:first-child a { border-radius: 5px; font-size: 135%; border: 2px solid #FFEB33; color: #000; background: #FFEB33; display: inline; position: fixed; z-index: 999999; right: 176px; top: 42px; padding: 13px 44px; text-align: center; }
header ul:first-child li:first-child a:hover { color: #FFEB33; background: #fff; }

#g-nav.panelactive { visibility: visible; opacity: 1; width: 100%; min-height: 100vh; display: block; transition: all 0.5s; }
#g-nav.panelactive .hnav_bg { width: 100%; height: 100%; display: block; background-color: white; position: absolute; top: 0; right: 0; z-index: -100; }

#g-nav { position: fixed; z-index: 999; top: 0; opacity: 0; visibility: hidden; color: #000; transition: all 0.5s; }
#g-nav a { color: #000; }
#g-nav .logo { width: 216px; height: 57px; display: block; top: 42px; position: absolute; left: 89px; }

#g-nav-list { width: 57%; position: absolute; right: 0; overflow: auto; -webkit-overflow-scrolling: touch; top: 10%; margin: 0 auto; left: 0; }
#g-nav-list ul.main { list-style: none; margin: 0; padding: 0; }
#g-nav-list ul.main li { border-top: 1px solid #aaa; }
#g-nav-list ul.main li:last-child { border-bottom: 1px solid #aaa; }
#g-nav-list ul.main a { display: block; padding: 37px 0; position: relative; font-size: 150%; font-weight: 400; transition: all 0.2s linear; }
#g-nav-list ul.main a:before { content: ""; position: absolute; display: block; background-color: #FFEB33; width: 46.76px; height: 46.76px; right: 15px; top: 28px; border-radius: 50%; }
#g-nav-list ul.main a:after { content: ""; position: absolute; display: block; background-image: url("img/arrow-ku-right.svg"); background-size: 7px; background-repeat: no-repeat; width: 7px; height: 13px; right: 33px; top: 44px; }
#g-nav-list ul.main a:hover { color: #FFEB33; transition: all 0.2s linear; }
#g-nav-list .menu { padding-top: 23px; }
#g-nav-list .menu .btn-yellow-large { width: 100%; background: #FFEB33; text-align: center; color: #000; padding: 22px; margin: 45px 0; border-radius: 10px; border: 2px solid #FFEB33; font-weight: 400; font-size: 150%; transition: all 0.2s linear; }
#g-nav-list .menu .btn-yellow-large:hover { background: #fff; color: #FFEB33; transition: all 0.2s linear; }
#g-nav-list .menu .links { border-top: 1px solid #aaa; padding-top: 37px; font-size: 100%; margin-top: 0; letter-spacing: 0; }
#g-nav-list .menu .links a:hover { color: #FFEB33; }
#g-nav-list .menu .links img { transition: all 0.3s linear; }
#g-nav-list .menu .links img:hover { transition: all 0.3s linear; opacity: 0.4; }
#g-nav-list .copy { font-size: 100%; line-height: 130%; text-align: center; letter-spacing: 0; }
#g-nav-list .copy a { background: none; display: inline; padding: 0; }
#g-nav-list .copy a:after { display: none; }

.hidden { display: none !important; }

.display { display: block; }

.openbtn { position: fixed; cursor: pointer; width: 79px; height: 79px; background-color: #FFF; border-radius: 50%; z-index: 999999; right: 86px; top: 32px; opacity: 1; }
.openbtn span { display: inline-block; transition: all .4s; position: absolute; left: 17px; height: 0.8px; background-color: #000; }

.openbtn span:nth-of-type(1) { top: 25px; width: 50%; }

.openbtn span:nth-of-type(2) { top: 39px; width: 50%; }

.openbtn span:nth-of-type(3) { top: 52px; width: 17%; }

.openbtn.active span:nth-of-type(1) { top: 22px; left: 14px; transform: translateY(6px) rotate(-45deg); width: 55%; }

.openbtn.active span:nth-of-type(2) { top: 34px; left: 13px; transform: translateY(-6px) rotate(45deg); width: 55%; }

.openbtn.active span:nth-of-type(3) { opacity: 0; }

footer .menu { padding-top: 89px; }
footer a { color: #000; }
footer .catch { padding: 12rem 0; }
footer .catch br:first-of-type { display: none; }
footer .links { position: relative; display: block; height: 551px; }
footer .links:after { content: ''; width: 100%; height: 551px; background-image: url(img/footer2.jpg); vertical-align: middle; right: 0; position: absolute; top: 0; background-size: 100%; background-repeat: no-repeat; background-position: 50% -172%; z-index: -1; display: flex; align-items: center; background-attachment: fixed; background-size: cover; }
footer .links p { font-size: 254%; font-weight: 500; color: #fff; line-height: 178%; margin-top: 16px; letter-spacing: 0.2rem; }
footer .links ul { margin-top: 123px; }
footer .links li { text-align: center; }
footer .links li:first-child a:hover { background-color: #6CCFDF; }
footer .links li:last-child a:hover { background-color: #DE6259; }
footer .btn-white { font-weight: 500; font-size: 244%; opacity: 0.8; padding: 45px 73px; position: relative; color: #000; background: #fff; width: 100%; max-width: 674px; margin-bottom: 20px; text-align: left; }
footer .btn-white:after { content: ""; position: absolute; display: block; width: 45px; height: 45px; background: #FFEB33; border-radius: 50%; right: 35px; top: 51px; }
footer .btn-white:before { content: ""; position: absolute; display: block; width: 21px; height: 8px; background: url(img/arrow-right.svg) no-repeat center; right: 45px; top: 67px; z-index: 1; }
footer .btn-white:hover { color: #fff; opacity: 0.9; }
footer .btn-white:hover:after { background-color: #fff; }
footer .list-menu { text-align: right; font-size: 110%; }
footer .list-menu a:hover { color: #FFEB33; }
footer .list-menu li { margin-bottom: 1.5rem; margin-left: .9rem; margin-right: 0; }
footer .list-menu .list-inline-item:not(:last-child) { margin-right: 0; }
footer .bottom-links { border-top: 1px solid #BBB; padding-top: 26px; margin-top: 37px; font-size: 90%; }
footer .bottom-links a:hover { color: #FFEB33; }
footer .copy { font-size: 110%; letter-spacing: 0.05rem; }
footer .icon-insta { margin-top: 10px; }
footer .arrow { margin-left: 10px; }

.main-visual { position: relative; min-height: 85vh; }
.main-visual .container { position: absolute; top: 39%; left: 6.8%; }
.main-visual h2 { font-size: 487%; letter-spacing: 0.37rem; margin-bottom: 56px; }
.main-visual p { margin-bottom: 0.25rem; color: #707070; font-size: 117%; letter-spacing: 0.05rem; font-weight: 500; line-height: 174%; }
.main-visual .info { position: absolute; bottom: 32px; right: 1.2%; font-size: 90%; font-weight: 300; background-color: rgba(255, 255, 255, 0.1); opacity: 1; backdrop-filter: blur(20px); border-radius: 20px; padding: 32px 16px 29px 16px; width: 806px; overflow: hidden; }
.main-visual .info ul { padding-left: 0; margin: 0; }
.main-visual .info ul li { padding-left: 2rem; padding-right: 2rem; }
.main-visual .info ul time { letter-spacing: 0; font-size: 134%; font-weight: 500; }
.main-visual .info ul p { color: #000; margin-bottom: 0; font-size: 132%; letter-spacing: 0; line-height: 140%; font-weight: 400; }
.main-visual .info a { color: #000; }
.main-visual .info a:hover { color: #FFEB33; }
.main-visual .swiper-pagination-fraction { width: auto; right: 21px; left: auto; }
.main-visual .swiper-pagination-bullet { width: 15px; height: 6px; border-radius: 0; margin: 0 !important; }
.main-visual .swiper-pagination-bullet-active { background-color: #FFEB33; }
.main-visual .swiper-horizontal > .swiper-pagination-bullets, .main-visual .swiper-pagination-bullets.swiper-pagination-horizontal, .main-visual .swiper-pagination-custom, .main-visual .swiper-pagination-fraction { width: auto; right: 20px; left: auto; bottom: 4px; }
.main-visual .swiper-pagination-bullet:first-of-type { border-top-left-radius: 10px; border-bottom-left-radius: 10px; }
.main-visual .swiper-pagination-bullet:last-of-type { border-top-right-radius: 10px; border-bottom-right-radius: 10px; }

.innovation { padding: 379px 0 209px 0; z-index: 4; position: relative; }
.innovation:after { content: ""; position: absolute; display: block; background-image: url(./img/home/pc_innovation.svg); background-size: 100% auto; background-repeat: no-repeat; width: 1448.92px; height: 197.23px; z-index: -1; top: 27%; right: -11px; }
.innovation h2 { font-size: 268%; line-height: 138%; margin-bottom: 71px; position: relative; letter-spacing: -1.2px; }
.innovation p { font-weight: 500; font-size: 150%; line-height: 237%; margin-bottom: 0.95rem; }
.innovation .stroke-kcs { position: relative; }
.innovation svg { position: absolute; top: 37%; left: 16%; }

.en-title:before { content: attr(data-en); display: block; font-size: 22px; color: #aaa; font-weight: 500; letter-spacing: 0.05rem; }

/*#bg-circle{ 
}*/
.about-us { position: relative; background: #F5F5F5; padding: 188px 0 216px 0; z-index: 1; }
.about-us:before { content: ""; position: absolute; display: block; background-image: url(./img/circle.svg); background-size: 392.9px 780.62px; background-repeat: no-repeat; width: 392.9px; height: 780.62px; z-index: 1; top: -404px; left: 0; transform: rotate(180deg); }
.about-us .container { z-index: 3; position: relative; }
.about-us .container img { max-width: 812px; position: absolute; left: unset; top: 0; }
.about-us h2 { font-size: 398%; }
.about-us p { font-size: 150%; line-height: 185%; }
.about-us .btn { margin-top: 49px; }

.job-intro { padding: 127px 0; position: relative; }
.job-intro:before { content: ""; position: absolute; display: block; background-image: url(./img/home/bg-job.svg); background-size: 100%; background-repeat: no-repeat; width: 100%; z-index: -1000; top: -34.5%; left: 0; height: 1984.13px; }
.job-intro h2 { font-size: 398%; margin-bottom: 8.6rem; }
.job-intro h2:before { margin-bottom: 5px; }
.job-intro .swiper-wrapper { transition-timing-function: linear; }
.job-intro a:hover .visual { background-color: #dddddd; transition: all 0.2s linear; }
.job-intro a:hover img { transform: scale(1.1, 1.1); transition: all 0.2s linear; }
.job-intro article .visual { background: #F5F5F5; display: flex; justify-content: center; align-items: center; width: 380px; height: 260px; border-radius: 10px; position: relative; transition: all 0.2s linear; }
.job-intro article .visual img { max-width: 50%; max-height: 50%; transition: all 0.2s linear; }
.job-intro article .visual:before { content: ""; position: absolute; background-image: url("img/arrow-top-right.svg"); background-repeat: no-repeat; background-size: 11px; width: 11px; height: 11px; display: block; z-index: 999; bottom: 30px; right: 27px; }
.job-intro article .visual:after { content: ""; position: absolute; bottom: 15px; right: 15px; background: #FFEB33; width: 40px; height: 40px; display: block; border-radius: 50%; }
.job-intro article h2 { font-size: 141%; margin-top: 22px; margin-bottom: 10px; color: #000; }
.job-intro article p { color: #707070; }
.job-intro .swiper-button-prev { right: 16%; }

.swiper-button-prev, .swiper-button-next { top: 170px; background: #FFEB33 no-repeat center; background-image: url("img/arrow-ku-right.svg"); background-size: 12px 24px; display: block; width: 91px; height: 91px; border-radius: 50%; transition: all 0.2s linear; border: 3px solid #FFEB33; }
.swiper-button-prev:hover, .swiper-button-next:hover { background-color: #fff; transition: all 0.2s linear; }
.swiper-button-prev:after, .swiper-button-next:after { display: none; }

.swiper-button-prev { right: 13%; left: auto; transform: scaleX(-1); }

.swiper-button-next { right: 7.8%; }

.member-intro { padding: 183px 0 342px 0; position: relative; }
.member-intro:before { content: ""; position: absolute; display: block; background-image: url(img/home/s.svg); background-size: 1378.24px 689.12px; background-repeat: no-repeat; height: 689.12px; z-index: -3; top: -57px; right: -334px; width: 1378.24px; }
.member-intro h2 { font-size: 382%; margin-bottom: 60px; }
.member-intro h2:before { margin-bottom: 5px; }
.member-intro article { border-radius: 15px; /*width: 400px;
height: 500px;
object-fit: none;
background-position: center;*/ position: relative; overflow: hidden; max-width: 401px; height: 517px; }
.member-intro article span { position: absolute; content: ""; display: block; width: 100%; height: 100%; top: 0; background-repeat: no-repeat; background-position: center center; background-size: cover; transition: all .2s ease-out; border-radius: 35px 15px 15px 15px; }
.member-intro article:hover span { transform: scale(1.08); }
.member-intro article .visual { position: relative; height: 517px; display: block; }
.member-intro article .visual .career { position: absolute; top: 0; left: -1px; background: #fff; border-bottom-right-radius: 7px; padding: 7px 6px 7px 6px; letter-spacing: 0; color: #000; }
.member-intro article .visual ul, .member-intro article .visual li { margin: 0; padding: 0; }
.member-intro article .visual li:nth-child(2) { margin-left: 17px; position: relative; }
.member-intro article .visual li:nth-child(2):before { content: ""; display: block; top: 5px; left: -12px; background: #000; width: 1px; height: 15px; position: absolute; }
.member-intro article .visual li:nth-child(3) { color: #707070; font-size: 90%; margin-left: 5px; }
.member-intro article .visual .intro { position: absolute; bottom: 0; left: 0; background-image: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0)); border-bottom-left-radius: 15px; border-bottom-right-radius: 15px; word-break: break-word; overflow-wrap: break-word; padding: 24px 24px 26px 24px; color: #fff; line-height: 211%; width: 100%; }
.member-intro article .visual .intro .name { font-size: 108%; }
.member-intro article .visual .intro .text { font-size: 130%; margin-top: 3px; }
.member-intro .swiper-button-prev, .member-intro .swiper-button-next { left: auto; right: auto; top: inherit; bottom: 166px; }
.member-intro .swiper-button-next { left: 15%; }

.environment-intro { padding: 116px 0 139px; background: #F5F5F5; }
.environment-intro .conteiner { max-width: 1400px; }
.environment-intro h2 { font-size: 401%; }
.environment-intro h2:before { margin-bottom: 5px; }
.environment-intro h2 + p { font-size: 138%; margin-bottom: 80px !important; }
.environment-intro img { height: auto; margin: 48px auto 13px; transition: all 0.2s linear; min-width: 110px; min-height: 139px; }
.environment-intro .col-6 { margin-bottom: 20px; }
.environment-intro .card { border: none; margin-bottom: 2rem; border: 4px solid #fff; transition: all 0.2s linear; }
.environment-intro .card:before { content: ""; position: absolute; background-image: url("img/arrow-top-right.svg"); background-repeat: no-repeat; background-size: 11px; width: 11px; height: 11px; display: block; z-index: 999; bottom: 22px; right: 27px; }
.environment-intro .card:after { content: ""; position: absolute; bottom: 6px; right: 15px; background: #FFEB33; width: 40px; height: 40px; display: block; border-radius: 50%; }
.environment-intro .card:hover { border: 4px solid #FFEB33; transition: all 0.2s linear; }
.environment-intro .card:hover img { transform: scale(1.1); transition: all 0.2s linear; }
.environment-intro .card-body { padding-bottom: 27px; }
.environment-intro .card-title { font-size: 156%; padding-left: 0; margin-top: 0; }
.environment-intro .card-title:after { display: none; }
.environment-intro .card-text { font-size: 115%; padding: 0.7rem 0.7rem 0; }

#i1-1 { position: absolute; right: -276px; top: -303px; z-index: -2; }

.main-icon { position: absolute; width: 100%; height: 100%; z-index: -10; }
.main-icon img { position: absolute; }

.main-icon:nth-of-type(1) { z-index: -9; }
.main-icon:nth-of-type(1) img { animation: icon-k-anim 0.8s linear forwards; }

@keyframes icon-k-anim { 0% { transform: translate(215.5%, 150%); }
  100% { transform: translate(47%, -19%); opacity: 1; } }
.main-icon:nth-of-type(2) { top: -363px; left: -75px; }
.main-icon:nth-of-type(2) svg { width: 959px; }

@-webkit-keyframes animate-svg-stroke-c { 0% { stroke-dashoffset: 1678.287109375px; stroke-dasharray: 1678.287109375px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 1678.287109375px; } }
@keyframes animate-svg-stroke-c { 0% { stroke-dashoffset: 1678.287109375px; stroke-dasharray: 1678.287109375px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 1678.287109375px; } }
.svg_c_elm-1 { -webkit-animation: animate-svg-stroke-c 1s linear 0.8s both; animation: animate-svg-stroke-c 1s linear 0.8s both; }

.main-icon:nth-of-type(3) { bottom: -63.5%; left: -5%; }
.main-icon:nth-of-type(3) svg { max-width: 1400px; }

@keyframes icon-s-anim { 0% { transform: rotate(0); }
  100% { transform: rotate(360deg); } }
.svg-elem-1, .svg-elem-2, .svg-elem-3, .svg-elem-4, .svg-elem-5, .svg-elem-6 { opacity: 0; }

.isActive { opacity: 1; }

@-webkit-keyframes animate-svg-stroke-1 { 0% { stroke-dashoffset: 1094.5999755859375px; stroke-dasharray: 1094.5999755859375px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 1094.5999755859375px; } }
@keyframes animate-svg-stroke-1 { 0% { stroke-dashoffset: 1094.5999755859375px; stroke-dasharray: 1094.5999755859375px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 1094.5999755859375px; } }
@-webkit-keyframes animate-svg-fill-1 { 0% { fill: transparent; }
  100% { fill: whitesmoke; } }
@keyframes animate-svg-fill-1 { 0% { fill: transparent; }
  100% { fill: whitesmoke; } }
.svg-elem-1.isActive { -webkit-animation: animate-svg-stroke-1 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53) 0s both, animate-svg-fill-1 0.6s linear 0.8s both; animation: animate-svg-stroke-1 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53) 0s both, animate-svg-fill-1 0.6s linear 0.8s both; }

@-webkit-keyframes animate-svg-stroke-2 { 0% { stroke-dashoffset: 786.7200927734375px; stroke-dasharray: 786.7200927734375px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 786.7200927734375px; } }
@keyframes animate-svg-stroke-2 { 0% { stroke-dashoffset: 786.7200927734375px; stroke-dasharray: 786.7200927734375px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 786.7200927734375px; } }
@-webkit-keyframes animate-svg-fill-2 { 0% { fill: transparent; }
  100% { fill: #6ccfdf; } }
@keyframes animate-svg-fill-2 { 0% { fill: transparent; }
  100% { fill: #6ccfdf; } }
.svg-elem-2.isActive { -webkit-animation: animate-svg-stroke-2 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53) 0.12s both, animate-svg-fill-2 0.6s linear 0.9s both; animation: animate-svg-stroke-2 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53) 0.12s both, animate-svg-fill-2 0.6s linear 0.9s both; }

@-webkit-keyframes animate-svg-stroke-3 { 0% { stroke-dashoffset: 773.6800537109375px; stroke-dasharray: 773.6800537109375px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 773.6800537109375px; } }
@keyframes animate-svg-stroke-3 { 0% { stroke-dashoffset: 773.6800537109375px; stroke-dasharray: 773.6800537109375px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 773.6800537109375px; } }
@-webkit-keyframes animate-svg-fill-3 { 0% { fill: transparent; }
  100% { fill: #0690ac; } }
@keyframes animate-svg-fill-3 { 0% { fill: transparent; }
  100% { fill: #0690ac; } }
.svg-elem-3.isActive { -webkit-animation: animate-svg-stroke-3 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53) 0.24s both, animate-svg-fill-3 0.6s linear 1s both; animation: animate-svg-stroke-3 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53) 0.24s both, animate-svg-fill-3 0.6s linear 1s both; }

@-webkit-keyframes animate-svg-stroke-4 { 0% { stroke-dashoffset: 1303.592041015625px; stroke-dasharray: 1303.592041015625px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 1303.592041015625px; } }
@keyframes animate-svg-stroke-4 { 0% { stroke-dashoffset: 1303.592041015625px; stroke-dasharray: 1303.592041015625px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 1303.592041015625px; } }
@-webkit-keyframes animate-svg-fill-4 { 0% { fill: transparent; }
  100% { fill: #ffeb33; } }
@keyframes animate-svg-fill-4 { 0% { fill: transparent; }
  100% { fill: #ffeb33; } }
.svg-elem-4.isActive { -webkit-animation: animate-svg-stroke-4 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53) 0.36s both, animate-svg-fill-4 0.6s linear 1.1s both; animation: animate-svg-stroke-4 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53) 0.36s both, animate-svg-fill-4 0.6s linear 1.1s both; }

@-webkit-keyframes animate-svg-stroke-5 { 0% { stroke-dashoffset: 800.1580810546875px; stroke-dasharray: 800.1580810546875px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 800.1580810546875px; } }
@keyframes animate-svg-stroke-5 { 0% { stroke-dashoffset: 800.1580810546875px; stroke-dasharray: 800.1580810546875px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 800.1580810546875px; } }
@-webkit-keyframes animate-svg-fill-5 { 0% { fill: transparent; }
  100% { fill: #f2bbbb; } }
@keyframes animate-svg-fill-5 { 0% { fill: transparent; }
  100% { fill: #f2bbbb; } }
.svg-elem-5.isActive { -webkit-animation: animate-svg-stroke-5 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53) 0.48s both, animate-svg-fill-5 0.6s linear 1.2s both; animation: animate-svg-stroke-5 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53) 0.48s both, animate-svg-fill-5 0.6s linear 1.2s both; }

@-webkit-keyframes animate-svg-stroke-6 { 0% { stroke-dashoffset: 799.7944946289062px; stroke-dasharray: 799.7944946289062px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 799.7944946289062px; } }
@keyframes animate-svg-stroke-6 { 0% { stroke-dashoffset: 799.7944946289062px; stroke-dasharray: 799.7944946289062px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 799.7944946289062px; } }
@-webkit-keyframes animate-svg-fill-6 { 0% { fill: transparent; }
  100% { fill: #f8675d; } }
@keyframes animate-svg-fill-6 { 0% { fill: transparent; }
  100% { fill: #f8675d; } }
.svg-elem-6.isActive { -webkit-animation: animate-svg-stroke-6 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53) 0.6s both, animate-svg-fill-6 0.6s linear 1.3s both; animation: animate-svg-stroke-6 0.6s cubic-bezier(0.55, 0.085, 0.68, 0.53) 0.6s both, animate-svg-fill-6 0.6s linear 1.3s both; }

.scroll-up { opacity: 0; visibility: hidden; transform: translateY(50px); transition: all 1s; }

.scroll-up.is-show { opacity: 1; visibility: visible; transform: translateY(0px); }

@-webkit-keyframes animate-svg-stroke-1 { 0% { stroke-dashoffset: 804.1298828125px; stroke-dasharray: 804.1298828125px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 804.1298828125px; } }
@keyframes animate-svg-stroke-1 { 0% { stroke-dashoffset: 804.1298828125px; stroke-dasharray: 804.1298828125px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 804.1298828125px; } }
.svg_s-1 { -webkit-animation: animate-svg-stroke-1 .9s ease-out 2.13s both; animation: animate-svg-stroke-1 .9s ease-out 2.13s both; }

@-webkit-keyframes animate-svg-stroke-2 { 0% { stroke-dashoffset: 801.9637451171875px; stroke-dasharray: 801.9637451171875px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 801.9637451171875px; } }
@keyframes animate-svg-stroke-2 { 0% { stroke-dashoffset: 801.9637451171875px; stroke-dasharray: 801.9637451171875px; }
  100% { stroke-dashoffset: 0; stroke-dasharray: 801.9637451171875px; } }
.svg_s-2 { -webkit-animation: animate-svg-stroke-2 .9s ease-in 1.2s both; animation: animate-svg-stroke-2 .9s ease-in 1.2s both; }

.page, .single { position: relative; overflow: visible; }
.page:after, .single:after { content: ""; position: absolute; display: block; right: -127px; top: 87px; background: url(img/circle.svg) no-repeat; background-size: 71%; width: 392.9px; height: 780.62px; z-index: -1; }
.page .container.middle, .single .container.middle { padding-top: 29px; }

.sub .title { padding-top: 60px; }
.sub .title h1 { font-size: 2rem; font-weight: 600; margin-bottom: 2.3rem; }
.sub .en-title span { font-size: 90%; padding-left: 15px; }
.sub .en-title:before { display: none; }
.sub .en-title:after { content: attr(data-en); display: block; font-size: 1rem; color: #FFEB33; font-weight: 500; padding-top: 5px; }
.sub .list-path { border-top: 1px solid #E2E2E2; padding-top: 15px; font-size: 77%; letter-spacing: 0; }
.sub .list-path a { color: #000; }
.sub .list-path a:hover { color: #FFEB33; }
.sub .list-path .list-inline-item:not(:last-child) { margin-right: .2rem; }
.sub .list-path li:first-of-type { padding-left: 12px; position: relative; }
.sub .list-path li:first-of-type:before { position: absolute; content: ""; top: 10px; left: 0; background-color: #FFEB33; border-radius: 50%; width: 5px; height: 5px; display: block; }
.sub .list-path li:nth-child(n+2) { padding-left: 12px; position: relative; }
.sub .list-path li:nth-child(n+2):before { position: absolute; content: ""; top: 7px; left: 0; background-image: url("img/arrow-ku-left_gray.svg"); background-repeat: no-repeat; background-size: 7px 13px; width: 7px; height: 13px; display: block; background-color: unset; }
.sub main .page-contents { font-size: 100%; padding-top: 29px; padding-bottom: 133px; max-width: 1008px; --bs-gutter-x: 1.5rem; --bs-gutter-y: 0; width: 100%; padding-right: calc(var(--bs-gutter-x) * .5); padding-left: calc(var(--bs-gutter-x) * .5); margin-right: auto; margin-left: auto; }
.sub main .page-contents a:hover { color: #FFEB33; }
.sub main .page-contents h1 { margin-top: 17px; font-size: 192%; }
.sub main .page-contents h1:first-of-type { margin-top: 0; }
.sub main .page-contents h2 { background: #F5F5F5; padding: 14px 20px; font-size: 1.5rem; margin-top: 2rem; margin-bottom: 1rem; }
.sub main .page-contents h4 { position: relative; font-size: 1.2rem; margin-top: 2rem; }
.sub main .page-contents h4:after { content: ""; display: block; position: absolute; background: #000; width: 50px; height: 1px; transform: scaleY(0.5); left: 0px; bottom: -10px; }
.sub main .page-contents h6 { font-size: 105%; padding-left: 17px; position: relative; margin-top: 1.7rem; margin-bottom: 0.8rem; }
.sub main .page-contents h6:after { content: ""; display: block; position: absolute; background: #FFEB33; width: 8px; height: 8px; left: 0; top: 5px; border-radius: 50%; }
.sub main .page-contents a { color: #000; text-decoration: underline; transition: all 0.2s linear; }
.sub main .page-contents a:hover { opacity: .7; transition: all 0.2s linear; }
.sub main .page-contents a[target="_blank"] { padding-right: 20px; display: inherit; }
.sub main .page-contents a[target="_blank"]:after { content: url(img/icon-tab.svg); display: inline-block; width: 15px; height: 14px; margin-left: 5px; vertical-align: -2px; }
.sub main .page-contents a[target="_blank"]:has(img):after { display: none; }
.sub main .page-contents a[href$=".pdf"], .sub main .page-contents a[href$=".doc"], .sub main .page-contents a[href$=".docx"], .sub main .page-contents a[href$=".xls"], .sub main .page-contents a[href$=".xlsx"] { padding-right: 45px; position: relative; display: inline-block; }
.sub main .page-contents a[href$=".pdf"]:after, .sub main .page-contents a[href$=".doc"]:after, .sub main .page-contents a[href$=".docx"]:after, .sub main .page-contents a[href$=".xls"]:after, .sub main .page-contents a[href$=".xlsx"]:after { content: "PDF"; background: #aaa; color: #fff; padding: 0; display: inline-block; font-size: 10px; font-weight: 700; width: 45px; text-align: center; height: 16px; line-height: 17px; border-radius: 3px; position: absolute; top: 6px; right: -3px; }
.sub main .page-contents a[href$=".doc"]:after, .sub main .page-contents a[href$=".docx"]:after { content: "Word"; }
.sub main .page-contents a[href$=".xls"]:after, .sub main .page-contents a[href$=".xlsx"]:after { content: "Excel"; }
.sub ul { list-style: none; }
.sub ul li { position: relative; }
.sub ul li:before { content: ""; display: block; position: absolute; background: #FFEB33; width: 8px; height: 8px; left: -21px; top: 8px; border-radius: 50%; }
.sub ol ::marker { color: #FFEB33; font-weight: 600; }
.sub .wp-block-flexible-table-block-table table tbody tr th, .sub .wp-block-flexible-table-block-table table tbody tr td { border-width: 0; padding: 2rem 2.5rem; }
.sub table { margin: 1.5rem 0; }
.sub table tr { border-top: 1px solid #232323; }
.sub table tr:last-of-type { border-bottom: 1px solid #232323; }
.sub table th { background: #F5F5F5; }
.sub table th, .sub table td { padding: 2rem 2.5rem; }
.sub table td p:last-of-type, .sub table td ul { margin-bottom: 0; }
.sub table td h5 { font-size: 100%; }
.sub table td h5:first-of-type { margin-top: 0; }
.sub table ul, .sub table ol { padding-left: 1.2rem; }
.sub .arrow { font-size: 100%; color: #000; text-decoration: underline; }

.wrap-gray { padding: 20px; background: #F5F5F5; border-radius: 10px; }

h3 { position: relative; padding-left: 21px; font-size: 1.3rem; margin-top: 1.7rem; margin-bottom: 1rem; }
h3:before { content: ""; display: block; position: absolute; border: 6px solid #FFEB33; width: 25px; height: 25px; border-radius: 50%; left: -10px; top: -1px; }
h3:after { content: ""; display: block; position: absolute; background: #fff; width: 21px; height: 40px; left: -19px; top: -1px; z-index: 1; }

h5 { padding-left: 14px; position: relative; font-size: 105%; margin-top: 1.7rem; margin-bottom: 0.8rem; }
h5:after { content: ""; display: block; position: absolute; background: #FFEB33; width: 5px; height: 1.1em; left: 0px; top: 0; border-radius: 10px; }

.wrap-mokuji { position: sticky; top: 10px; }

#mokuji { position: relative; margin-bottom: 5rem; background: #F5F5F5; padding: 1.3rem 1.6rem 2rem; border-radius: 10px; font-size: 95%; letter-spacing: 0; }
#mokuji summary { display: none; }
#mokuji summary::-webkit-details-marker { display: none; }
#mokuji ol { margin: 0; padding: 0; list-style: decimal-leading-zero; list-style-position: inside; }
#mokuji ol li { counter-increment: numli; position: relative !important; }
#mokuji ol li:after { content: ""; display: block; position: absolute; width: 23px; height: 23px; background: #FFEB33; border-radius: 50%; background-size: 20px; z-index: 1; right: 4px; top: 6px; }
#mokuji ol li:before { content: ""; display: block; position: absolute; width: 7px; height: 13px; background: url(img/arrow-ku-left.svg) no-repeat; transform: rotate(-90deg); background-size: 5px; z-index: 2; right: 9px; top: 11px; }
#mokuji ol li a { position: relative; display: block; color: #000; padding: 0.4rem 23px 0.4rem 25px; border-bottom: 1px solid #aaa; }
#mokuji ol li a:hover { color: #FFEB33; }
#mokuji ol li a:before { content: counter(numli,decimal-leading-zero) ". "; display: inline-block; font-weight: 400; position: absolute; left: 0; letter-spacing: 0; }
#mokuji ::marker { content: ""; }

h1.bg-none { background: none !important; padding: 0 !important; }

.sub main .col-6:has(a.list-environment) { margin-bottom: 2rem; }

.sub main h1:nth-child(n+2) { margin-top: 1.5rem; }

.sub main a.list-environment { display: block; border-radius: 5px; background: #F5F5F5; padding: 1rem; text-decoration: none; position: relative; border: 4px solid #F5F5F5; }
.sub main a.list-environment:before { content: ""; position: absolute; background-image: url("img/arrow-top-right.svg"); background-repeat: no-repeat; background-size: 6px; width: 11px; height: 11px; display: block; z-index: 2; bottom: 7px; right: 10px; }
.sub main a.list-environment:after { content: ""; position: absolute; bottom: 6px; right: 10px; background: #FFEB33; width: 17px; height: 17px; display: block; border-radius: 50%; }
.sub main a.list-environment:hover { border: 4px solid #FFEB33; transition: all 0.2s linear; color: #000; }
.sub main a.list-environment:hover img { transform: scale(1.1); transition: all 0.2s linear; }
.sub main a.list-environment dl { display: flex; margin-bottom: 0; }
.sub main a.list-environment img { width: 40px; height: auto; transition: all 0.2s linear; }
.sub main a.list-environment h5 { padding: 0; font-size: 120%; margin-bottom: 5px; margin-top: 5px; }
.sub main a.list-environment h5:after { display: none; }
.sub main a.list-environment dt { padding: 14px 17px 20px 5px; }
.sub main a.list-environment p { line-height: 157%; margin-bottom: 0; }

.list-gray .content { background: #F5F5F5; padding: 1.2rem 2.5rem 1.8rem; border-radius: 10px; }
.list-gray .content p:first-of-type { font-weight: 500; text-align: center; padding-bottom: 1rem; position: relative; margin-bottom: 0.3rem; font-size: 125%; }
.list-gray .content p:first-of-type:after { content: ""; position: absolute; display: block; background: #aaa; width: 100%; height: 1px; right: auto; left: auto; bottom: 5px; }
.list-gray .content img { margin-top: 10px; }
.list-gray .col-12 { margin-bottom: 2rem; }

.home .list-gray div:last-of-type { margin-bottom: 1rem; }

.list-image .image p:first-of-type { margin-bottom: 0.5rem; }
.list-image .image img { height: 220px; width: 100%; object-fit: cover; }
.list-image .image p.title { font-size: 115%; font-weight: 500; padding-top: 0; }
.list-image .image p.text { line-height: 174%; margin-bottom: 2rem; }

.culture .list-image:last-of-type { margin-bottom: 100px; }

main > .container > h1 { margin-top: 17px; font-size: 192%; }

.culture { padding-bottom: 90px; }
.culture h2 { position: relative; padding-left: 21px; font-size: 1.3rem; margin-top: 10px; }
.culture h2:before { content: ""; display: block; position: absolute; border: 5px solid #FFEB33; width: 23px; height: 23px; border-radius: 50%; left: -10px; top: 0; }
.culture h2:after { content: ""; display: block; position: absolute; background: #fff; width: 21px; height: 40px; left: -21px; top: 0; z-index: 1; }

.recruitment .clumn-content { margin: 0; padding-top: 29px; padding-bottom: 90px; }
.recruitment .clumn-content .wrap-content h2 { margin-bottom: 16px; font-size: 190%; margin-top: 60px; }
.recruitment .clumn-content .wrap-content＞h1 { margin-top: 0; }
.recruitment .btn-new { font-size: 110%; padding: 15px 50px; color: #fff; background-color: #2FBED5; transition: all 0.2s linear; }
.recruitment .btn-new:hover { background-color: #2698aa; transition: all 0.2s linear; }
.recruitment .btn-career { font-size: 110%; padding: 15px 50px; color: #fff; background-color: #F8675D; transition: all 0.2s linear; }
.recruitment .btn-career:hover { background-color: #c6524a; transition: all 0.2s linear; }
.recruitment .off { background: #E2E2E2; color: #aaa; }
.recruitment #mokuji ol li a { padding-left: 0; }
.recruitment #mokuji ol li a:before { display: none; }
.recruitment .btn-yellow-md { background: #FFEB33; border-radius: 50px; padding: 15px 30px; min-width: 306px; position: relative; margin: 15px auto; border: 3px solid #FFEB33; font-size: 110%; font-weight: 600; }
.recruitment .btn-yellow-md:hover { background: #fff; color: #FFEB33; }
.recruitment .btn-yellow-md[target="_blank"]:after { content: ""; display: block; position: absolute; top: 37%; right: 8%; width: 18.74px; height: 16.93px; background-image: url("img/icon-tab.svg"); background-repeat: no-repeat; background-size: 18px; }

.flow { margin-top: 20px; }
.flow ol { counter-reset: item; list-style-type: none; padding-left: 47px; }
.flow ol li { position: relative; padding-left: 7px; }
.flow ol li:before { content: counter(item) ""; counter-increment: item; position: absolute; display: block; top: 10px; left: -23px; }
.flow ol li:after { content: ""; position: absolute; display: block; border-radius: 50%; top: 8px; left: -35px; background-size: 30px; width: 32px; height: 32px; z-index: -1; background-color: #FFEB33; }
.flow ol li .row > div { font-weight: 500; font-size: 120%; margin-top: 10px; }
.flow ol li .row div + div { font-size: 100%; margin-bottom: 10px; font-weight: 400; }
.flow .border-line { content: ""; display: block; position: absolute; background: #E5E5E5; height: 100%; width: 1px; left: -20px; top: 33px; z-index: -3; }
.flow li:last-of-type .border-line { display: none; }

.accordion .accordion-item { border: 0; background-color: #F5F5F5; padding: 5px 12px; margin-bottom: 15px; border-radius: 10px; }
.accordion h3 { margin: 0 !important; font-size: 144.9278%; padding-left: 0; }
.accordion h3:before, .accordion h3:after { display: none; }
.accordion .accordion-button { border: 0; box-shadow: none; background: none; color: #000; padding-right: 23px; padding-left: 29px; font-size: 69%; line-height: 135%; letter-spacing: 0.08rem; }
.accordion .accordion-button:before { content: "Q."; color: #2FBED5; left: 3px; top: 17px; display: block; position: absolute; font-weight: 600; }
.accordion .accordion-button:after { display: none; }
.accordion .accordion-button span:first-of-type { content: ""; right: 6px; top: 50%; display: block; position: absolute; background: #aaa; width: 15px; height: 1px; transition: all 0.2s linear; }
.accordion .accordion-button span:last-of-type { display: none; transition: all 0.2s linear; }
.accordion .accordion-button.collapsed span:first-of-type { content: ""; right: 6px; top: 50%; display: block; position: absolute; background: #aaa; width: 15px; height: 1px; transform: rotate(0deg); transition: all 0.2s linear; }
.accordion .accordion-button.collapsed span:last-of-type { content: ""; right: 6px; top: 50%; display: block; position: absolute; background: #aaa; width: 15px; height: 1px; transform: rotate(90deg); transition: all 0.2s linear; }
.accordion .accordion-body { border-top: 1px solid #aaa; line-height: 133%; position: relative; padding-left: 29px; padding-bottom: 0; }
.accordion .accordion-body p { font-size: 100%; }
.accordion .accordion-body:before { content: "A."; color: #F8675D; left: 3px; top: 17px; display: block; position: absolute; font-weight: 600; }

.sub main .work h1:nth-child(n+2) { margin-top: 3rem; }
.sub main .work h1 + h2 { margin-top: 2rem; }
.sub main .work h2 { background: #F5F5F5; border-radius: 10px; position: relative; padding: 1.5rem 1rem 1.2rem 115px; background-repeat: no-repeat; background-position: 2% center; background-size: 70px 50px; font-size: 130%; margin-top: 4.5rem; margin-bottom: 1.3rem; }
.sub main .work h2 span { display: block; font-size: 60%; color: #707070; padding-top: 6px; }
.sub main .work .text img { max-width: 100%; height: auto !important; }
.sub main .work .bg-yellow { background-color: #fffdeb; padding: 0.5rem 2rem 1rem; margin: 2rem 0 1rem; border-radius: 10px; }
.sub main .work .bg-yellow h3 { font-size: 1.15rem; padding-left: 24px; }
.sub main .work .bg-yellow h3:after { background-color: #fffdeb; }

p + br { display: none; }

.page .btn-yellow, .single .btn-yellow, .error404 .btn-yellow { font-size: 100%; font-weight: 500; border: 2px solid #FFEB33; }
.page .btn-yellow:hover, .single .btn-yellow:hover, .error404 .btn-yellow:hover { color: #000; }
.page .wp-block-button__link, .single .wp-block-button__link, .error404 .wp-block-button__link { background: #FFEB33 !important; min-width: 180px; padding: 15px 30px !important; border: 2px solid #FFEB33; font-weight: 500; }
.page .wp-block-button__link:after, .single .wp-block-button__link:after, .error404 .wp-block-button__link:after { background-color: unset; right: 17px; }
.page .wp-block-button__link:hover, .single .wp-block-button__link:hover, .error404 .wp-block-button__link:hover { opacity: 1 !important; color: #FFEB33 !important; background: #fff !important; }
.page .wp-block-button__link[target="_blank"], .single .wp-block-button__link[target="_blank"], .error404 .wp-block-button__link[target="_blank"] { padding-right: 43px !important; }

.form th { position: relative; }
.form th p { margin: 0; }
.form th, .form td { padding: 2rem 1.7rem !important; }
.form .require { background: #DB3B3D; color: #fff; display: block; float: right; padding: 2px 6px; font-size: 80%; border-radius: 5px; }
.form .wpcf7-form-control { width: 100%; padding: 0.5rem 0.5rem; }

.wrap-checkbox { position: relative; }
.wrap-checkbox 　input[type="checkbox"]:disabled { background-color: #525252; }
.wrap-checkbox input[type="checkbox"] { position: absolute; left: -27px; top: 1px; width: 20px; height: 20px; }

.wrap-agreement { height: 250px; margin-top: 30px; margin-bottom: 20px; padding: 1rem; overflow: auto; border: 1px solid #a7a7a7; background-color: #fff; }
.wrap-agreement h1 { font-size: 2rem; }
.wrap-agreement h2 { margin-top: 1.7rem !important; }

input[type="submit"], input[type="button"] { display: inline-block; margin: 0 auto; margin-top: 1rem; letter-spacing: 0.1rem; border: 2px solid #FFEB33; background: #FFEB33; padding: 0.7rem 2rem; border-radius: 35px; transition: all 0.2s linear; font-weight: 500; }
input[type="submit"]:hover, input[type="button"]:hover { background: #fff; transition: all 0.2s linear; }

input[type="submit"]:disabled { background: #ccc !important; border: 2px solid #ccc; color: #aaa; }
input[type="submit"]:disabled:hover { animation: none; }

.wpcf7-form table + ul li:before { display: none; }
.wpcf7-form .wpcf7-spinner { display: block; margin: 20px auto; }

.member main img { border-radius: 10px; max-height: 473px; margin-top: 26px; }
.member .wrap-intro .copy { background-color: transparent; font-size: 2rem; padding: 0; margin-bottom: 3rem; font-weight: 600; margin-top: 5.8rem; line-height: 120%; }
.member .wrap-intro .job { margin-bottom: 0; font-size: 107%; font-weight: 600; margin-top: 40px; }
.member .wrap-intro .name { font-size: 160%; font-weight: 600; margin-top: 5px; margin-bottom: 1rem; }
.member .wrap-intro .history { background: #F5F5F5; padding: 1.1rem 1.5rem; max-width: 300px; border-radius: 10px; font-size: 89%; min-width: 216px; }
.member .wrap-intro .history p:first-of-type { font-weight: 400; margin-bottom: 0; }
.member .wrap-intro .history p:last-of-type { color: #707070; margin-bottom: 0; margin-top: 1px; }
.member h2 { font-size: 2.2rem; margin-top: 3.6rem; counter-increment: num; margin-bottom: 21px; }
.member h2:before { content: counter(num,decimal-leading-zero) "."; color: #FFEB33; margin-right: 5px; }
.member h2:first-of-type { margin-top: 0; }
.member .schedule { padding: 4rem 3.3rem; margin-bottom: 4rem; margin-top: 2.3rem; }
.member .schedule ul { margin-bottom: 0; }
.member .schedule ul li { position: relative; }
.member .schedule ul li:before { display: none; }
.member .schedule ul li:last-of-type p:last-of-type { margin-bottom: 0 !important; }
.member .schedule p { line-height: 160%; }
.member .schedule .col-3 { color: #707070; position: relative; font-size: 153%; font-weight: 500; text-align: right; padding-right: 9px; letter-spacing: 0; line-height: 130%; }
.member .schedule .col-3:before { content: ""; display: block; position: absolute; background: #FFEB33; height: 11px; width: 11px; left: 20px; top: 12px; z-index: 2; border-radius: 50%; }
.member .schedule .col-9 p:first-of-type { font-size: 130%; font-weight: 500; }
.member .schedule .col-9 p:last-of-type { margin-bottom: 3rem; font-size: 101%; }
.member .schedule .border-line { content: ""; display: block; position: absolute; background: #707070; height: 100%; width: 1px; left: 13px; top: 11%; z-index: 1; }
.member .schedule ul li:last-of-type .border-line { display: none; }
.member .img-member { margin-top: 0 !important; margin-bottom: 150px; }

.page .member-intro { padding: 39px 0 0 0; }
.page .member-intro:before { display: none !important; }
.page .member-intro article { margin: 0 auto 97px; }
.page .member-intro li:before { background-color: unset; }

.member .wrap-content img { margin-top: 40px; }

.single-members .wrap-intro { padding-bottom: 90px; }

@media (min-width: 460px) { .form.check th { width: 35%; } }
@media (min-width: 768px) { .main-visual h2 br { display: none; } }
@media (min-width: 992px) { .offset-lg-1 { margin-left: 5.33333333%; }
  .col-lg-8 { flex: 0 0 auto; width: 69.66666667%; } }
@media (min-width: 1200px) { .page .container.sub { max-width: 1180px; }
  .page .container.middle { max-width: 990px; }
  .clumn-content .intro { margin-bottom: 40px; }
  .nav-tabs { border-color: #aaa; padding-bottom: 1px; }
  .nav-tabs li:before { display: none !important; }
  .intro .nav-tabs .nav-link { min-width: 320px; padding: 22px 50px; transition: all 0.2s linear; border-top-left-radius: 10px; border-top-right-radius: 10px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; border: none; color: #fff; text-align: center; }
  .intro .nav-link.off { color: #aaa; }
  .intro .nav-link.off:hover { color: #fff; }
  .nav-link.btn-new { margin-right: 44px; }
  .nav-link.btn-new.active { background-color: #2FBED5; }
  .nav-link.btn-career.active { background-color: #F8675D; }
  .nav-link.btn-new:hover { background-color: #2FBED5; }
  .nav-link.btn-career:hover { background-color: #F8675D; } }
@media (min-width: 1600px) { a.arrow:after { bottom: 3px; }
  a.arrow:before { bottom: 10px; z-index: 1; } }
@media (min-width: 1680px) { .sub .arrow { top: 29px; }
  #mokuji { font-size: 110%; padding: 2rem 2rem 3rem; }
  #mokuji ol li:after { width: 27.98px; height: 27.98px; right: 4px; top: 13px; }
  #mokuji ol li:before { right: 12px; top: 21px; }
  #mokuji ol li a { padding: 1rem 29px 1rem 25px; }
  .intro .nav-tabs .nav-link { min-width: 418px; }
  .page .container.middle { padding-top: 90px; }
  .page .member-intro { padding-top: 90px; }
  .innovation .container { max-width: 1400px; }
  .member-intro .container, .about-us .container, footer .container { max-width: 1640px; padding: 0; }
  .page .sub.container { max-width: 1640px; padding: 0; }
  footer .links:after { background-position: 50% 50%; }
  .page .container.middle { max-width: 1364px; }
  .sub .title { padding-top: 142px; }
  .sub .title .en-title { font-size: 3rem; }
  .sub .list-path { font-size: 100%; }
  .sub .en-title:after { font-size: 1.5rem; }
  .page .container.middle { padding-top: 84px; font-size: 107%; }
  .page-contents p, .wrap-content p { line-height: 170%; }
  .member .wrap-intro .copy { font-size: 2.5rem; margin-top: 16.8rem; }
  .member .wrap-intro .history { max-width: 400px; min-width: 400px; padding: 1.7rem 2rem; font-size: 113%; line-height: 168%; margin-top: 30px; }
  .member .wrap-info .name { font-size: 212%; }
  .member main img { max-height: 666px; margin-top: 117px; }
  .member .clumn-content { margin-top: 12.5rem; }
  .member h2 { font-size: 3rem; margin-top: 7.6rem; }
  .member .schedule { padding: 6rem 3rem; }
  .member .schedule .col-3 { font-size: 175%; line-height: 103%; }
  .member .schedule .col-3:before { height: 16px; width: 16px; top: 6px; left: 27px; }
  .member .schedule .col-9 p:first-of-type { font-size: 169%; line-height: 100%; }
  .member .schedule .col-9 p:last-of-type { font-size: 110%; margin-top: 15px; }
  .member .schedule .border-line { left: 23.5px; }
  footer .menu { padding-bottom: 20px; } }
.main-icon:nth-of-type(2) svg { width: 959px; }

.main-icon:nth-of-type(3) { bottom: -63.5%; left: -5%; }
.main-icon:nth-of-type(3) svg { max-width: 1400px; }

@media (max-width: 1680px) { footer .links p { font-size: 220%; padding-left: 2rem; }
  footer .links:after { background-position: 50% 0%; }
  .about-us .container img { max-width: 730px; }
  .member-intro .swiper-button-next { left: 17%; } }
@media (max-width: 1600px) { .member-intro .swiper-button-next { left: 13%; }
  header .logo img { margin: 30px 0 0 63px; width: 152px; height: 40px; }
  header .list-menu { padding-top: 37px; letter-spacing: 0.08rem; padding-left: 0; float: right; }
  header .list-menu a { font-size: 105%; }
  header .list-menu .list-inline-item:not(:last-child) { margin-right: 15px; }
  header ul:first-child { width: 261px; }
  header ul:first-child li:first-child a { font-size: 99%; right: 124px; top: 30px; padding: 5px 27px; }
  .openbtn { width: 55px; height: 55px; right: 61px; top: 22px; }
  .openbtn span { left: 13px; }
  .openbtn span:nth-of-type(1) { top: 18px; }
  .openbtn span:nth-of-type(2) { top: 28px; }
  .openbtn span:nth-of-type(3) { top: 37px; }
  .openbtn.active { top: 13px; }
  #g-nav .logo { top: 30px; left: 63px; }
  #g-nav .logo img { width: 152px; display: block; }
  #g-nav-list .menu { padding-top: 25px; }
  #g-nav-list .menu .btn-yellow-large { margin: 25px 0 11px 0; border-radius: 4px; font-size: 105%; padding: 17px; }
  #g-nav-list .menu .links { padding-top: 16px; font-size: 67%; margin-top: 0; }
  #g-nav-list .menu .links img { width: 25px; }
  #g-nav-list .menu .copy { font-size: 78%; }
  #g-nav-list ul.main a { padding: 19px 0; font-size: 100%; }
  #g-nav-list ul.main a:before { width: 30px; height: 30px; right: 13px; top: 17px; }
  #g-nav-list ul.main a:after { background-size: 5px; right: 22px; top: 28px; }
  .main-visual { padding-top: 126px; }
  .main-visual .container { top: 35.5%; }
  .main-visual h2 { font-size: 337%; letter-spacing: 0.3rem; margin-bottom: 36px; }
  .main-visual p { font-size: 87%; letter-spacing: 0; line-height: 185%; }
  .main-visual .info { width: 42%; top: 77.5%; font-size: 67%; padding: 17px 16px 29px 2px; bottom: unset; }
  #i1-1 { right: -14.8%; top: -40%; width: 726px; }
  .main-icon:nth-of-type(1) img { height: 1078px; right: 26%; top: -154px; }
  .main-icon:nth-of-type(2) svg { width: 707px; }
  .main-icon:nth-of-type(3) { left: -7.9%; bottom: -46.3%; }
  .main-icon:nth-of-type(3) svg { max-width: 1022px; }
  .innovation { padding: 187px 0 0 0; }
  .innovation:after { background-size: 73% auto; top: 26%; right: -30%; }
  .innovation .container { max-width: 1000px; }
  .innovation h2 { font-size: 186%; letter-spacing: 0px; margin-top: 67px; margin-bottom: 57px; }
  .innovation p { font-size: 106%; margin-bottom: 0.5rem; }
  .innovation svg { position: static; width: 113%; margin: 155px 70px 0 10px; }
  .home h2.en-title { font-size: 263%; }
  .home h2.en-title:before { font-size: 15px; }
  .about-us { padding: 129px 0 141px 0; }
  .about-us .container { max-width: 1185px; }
  .about-us .container img { max-width: 100%; position: unset; }
  .about-us:before { background-size: 72% auto; top: -74.5%; left: -8.5%; }
  .about-us p { font-size: 102%; line-height: 149%; }
  .about-us .btn { margin-top: 33px; }
  .about-us .btn-yellow { padding: 20px 31px; min-width: 249px; }
  .about-us .btn-yellow:after { width: 35px; height: 35px; display: block; top: 9px; right: 11px; }
  .about-us .btn-yellow span { top: 16px; right: 18px; }
  .about-us .btn-yellow, .sub .btn-yellow { padding: 20px 55px 20px 32px; min-width: 249px; }
  .about-us .btn-yellow:after, .sub .btn-yellow:after { width: 35px; height: 35px; display: block; top: 9px; right: 11px; }
  .about-us .btn-yellow span, .sub .btn-yellow span { top: 16px; right: 18px; }
  .job-intro { padding: 87px 0; }
  .job-intro:before { background-size: 107%; top: -41.5%; left: 0px; }
  .job-intro h2 { font-size: 271%; margin-bottom: 5.6rem; }
  .job-intro .swiper-button-prev, .job-intro .swiper-button-next { top: 120px; width: 66px; height: 66px; }
  .job-intro article .visual { width: 266px; height: 178px; }
  .job-intro article .visual:after { width: 30px; height: 30px; bottom: 11px; right: 13px; }
  .job-intro article .visual:before { background-size: 8px; bottom: 20px; right: 20px; width: 11px; height: 11px; }
  .job-intro article h2 { font-size: 105%; margin-top: 12px; margin-bottom: 4px; }
  .job-intro article p { font-size: 74%; }
  .member-intro { padding: 121px 0 243px 0; }
  .member-intro:before { background-size: 71%; top: -48px; right: -48.5%; }
  .member-intro h2 { font-size: 262%; margin-bottom: 49px; }
  .member-intro h2:before { font-size: 14px; }
  .member-intro article { height: 360px; max-width: 280px; }
  .member-intro article .visual { height: 360px; }
  .member-intro article .visual ul { font-size: 86%; }
  .member-intro article .visual .career { padding: 2px 10px 2px 16px; }
  .member-intro article .visual .intro { padding: 27px 24px 15px 24px; line-height: 156%; }
  .member-intro article .visual .intro .name { font-size: 86%; }
  .member-intro article .visual .intro .text { font-size: 95%; margin-top: 0px; }
  .member-intro .swiper-button-prev, .member-intro .swiper-button-next { width: 63px; height: 63px; bottom: 118px; }
  .environment-intro { padding: 91px 0 113px; /*    .en-title{ font-size: 270%; margin-bottom: 22px; &:before{ font-size: 15px; } }*/ }
  .environment-intro .container { max-width: 990px; }
  .environment-intro h2 + p { font-size: 98%; margin-bottom: 67px !important; }
  .environment-intro img { width: 76px; margin: 35px auto 5px; min-height: 100px; max-height: 100px; }
  .environment-intro .card:after { bottom: 1px; right: 2px; width: 29px; height: 29px; }
  .environment-intro .card:before { background-size: 9px; bottom: 9px; right: 10px; }
  .environment-intro .card-title { font-size: 102%; }
  .environment-intro .card-text { line-height: 152%; font-size: 78%; padding: 0; }
  .environment-intro .card-body { padding-bottom: 0; }
  footer .container { max-width: 1155px; }
  footer .catch { padding: 8.3rem 0; }
  footer .links { height: 392px; }
  footer .links:after { height: 392px; background-position: 50% 17%; }
  footer .links p { font-size: 182%; line-height: 183%; margin-top: 14px; letter-spacing: unset; }
  footer .links ul { margin-top: 92px; }
  footer .btn-white { font-size: 164%; padding: 31px 61px; width: 100%; }
  footer .btn-white:before { right: 41px; top: 46px; }
  footer .btn-white:after { width: 35px; height: 35px; right: 35px; top: 33px; }
  footer .menu { padding-top: 64px; }
  footer .menu .logo { width: 149px; }
  footer .menu .icon-insta { margin-top: 2px; width: 25px; }
  footer .list-menu { font-size: 81%; }
  footer .list-menu li { margin-bottom: 0.6rem; letter-spacing: 0.02rem; }
  footer .bottom-links { padding-top: 15px; margin-top: 19px; font-size: 66%; }
  .container.middle { max-width: 1000px; }
  .logged-in header ul:first-child li:first-child a { top: 62px; }
  .logged-in .openbtn { top: 55px; } }
@media (max-width: 1400px) { .member-intro .swiper-button-next { left: 15%; }
  @keyframes icon-k-anim { 0% { transform: translate(220%, 150%); }
    100% { transform: translate(51%, -19%); } } }
@media (max-width: 1199.98px) { .recruitment .intro > ul:first-of-type li:before { display: none; }
  .page .member-intro article { margin: 0 auto 60px; }
  header { padding-bottom: 0; }
  header ul { padding-top: 0; }
  header .logo img { width: 132px; height: 35px; margin-top: 27px; }
  footer .links { padding: 3rem 0; }
  footer .links li { text-align: center; }
  footer .links p { margin-top: 0; font-size: 133%; line-height: 146%; text-align: center; }
  footer .catch br:first-of-type { display: block; }
  footer .catch br:last-of-type { display: none; }
  footer .btn-white { max-width: 400px; font-size: 118%; padding: 23px 32px; }
  footer .btn-white:before { right: 37px; top: 35px; }
  footer .btn-white:after { width: 32px; height: 32px; right: 32px; top: 23px; }
  footer .list-menu { float: inherit !important; text-align: center; }
  footer .list-menu li { margin-bottom: 0.4rem; }
  footer .list-menu li:first-of-type { margin-left: 0; }
  footer .menu { padding-top: 48px; text-align: center; }
  footer .menu .float-end { float: inherit !important; padding-top: 0.8rem; }
  footer .bottom-links { margin-top: 2px; }
  .home .en-title { font-size: 200%; }
  .innovation { padding: 67px 0 0 0; }
  .innovation:after { top: 9%; }
  .innovation svg { position: static; width: 65%; margin: 20px 70px 0 10px; }
  .about-us:before { left: -13.5%; top: -44.5%; }
  .member-intro .swiper-button-next { left: 21%; }
  .member-intro .swiper-pagination { display: none; }
  .member-intro article { height: 400px; }
  .member-intro article .visual { height: 400px; }
  .sub .title { padding-top: 0; }
  .sub .title h1 { margin-bottom: 1.4rem; font-size: 135%; }
  .sub .list-path { padding-top: 30px; }
  .sub .list-path ul { display: none; }
  .sub main .page-contents { padding-top: 6px; }
  .page, .single { overflow: hidden; }
  .page:after, .single:after { top: 2%; background-size: 100px 198px; width: 100px; height: 198px; right: -14px; }
  #mokuji ol { max-width: none; }
  .member .wrap-intro .history { margin-bottom: 27px; max-width: none; }
  .member .wrap-intro .copy { margin-top: 2rem; font-size: 1.5rem; margin-bottom: 1.4rem; }
  .member .wrap-intro .job { font-size: 100%; }
  .member .wrap-intro .name { font-size: 120%; }
  .member h2 { font-size: 2rem; }
  .member .clumn-content { margin: 5rem 0; }
  .member .schedule { padding: 2rem 2rem 2rem 3rem; margin-bottom: 2.5rem; }
  .member .schedule .col-3 { font-size: 100%; line-height: 180%; }
  .member .schedule .col-3:before { left: 19px; top: 9px; }
  .member .schedule .col-9 p:first-of-type { font-size: 110%; }
  .member .schedule .border-line { left: 13px; }
  .member .schedule + img { margin-bottom: 0; }
  .container, .container-fluid, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl { padding-right: calc(var(--bs-gutter-x) * 1); padding-left: calc(var(--bs-gutter-x) * 1); }
  .environment-intro .col-6 { margin-bottom: 1rem; } }
@media (max-width: 991.98px) { footer .container { max-width: 100%; }
  #mokuji { display: none; }
  .member .clumn-content { margin-top: 3rem; }
  .member main img { margin-left: 0; } }
@media screen and (max-width: 768px) { .logged-in header ul:first-child li:first-child a { top: 62px; }
  .logged-in .openbtn { top: 55px; }
  .sub .title h1 { padding: 0 10px; }
  .sub .list-path { margin: 0 10px; }
  .sub main a.list-environment { padding: 1rem 0.5rem; }
  .col-6:has(.list-environment) { padding-right: calc(var(--bs-gutter-x) * .3); padding-left: calc(var(--bs-gutter-x) * .3); }
  .wrap-intro { margin-top: 35px; }
  .wrap-intro .row { margin-bottom: 50px; }
  .wrap-intro img { border-radius: 10px; }
  .wrap-intro .copy { font-size: 110%; font-weight: 600; margin: 0 0 12px; line-height: 110%; }
  .wrap-intro .job { font-size: 90%; margin-bottom: 0; line-height: 80%; }
  .wrap-intro .name { font-size: 110%; font-weight: 600; }
  .wrap-intro .history { font-size: 95%; background: #F5F5F5; padding: 11px 15px; border-radius: 10px; margin-top: 15px; }
  .wrap-intro .history p:first-of-type { margin-bottom: 0; }
  .wrap-intro .history p:last-of-type { color: #707070; margin-bottom: 0; }
  footer .catch { padding: 54px 0 0; }
  footer .links { padding: 0; }
  footer .links p { line-height: 170%; padding-left: 0; }
  footer .links ul { margin-top: 17px; }
  footer .btn-white { width: 100%; padding: 26px 37px; }
  .main-icon:nth-of-type(3) { bottom: -41.3%; }
  .main-icon:nth-of-type(3) svg { width: 600px; } }
@media (max-width: 575.98px) { footer .links:after { background-position: 18% 50%; }
  .sub .wp-block-flexible-table-block-table table tbody tr th, .sub .wp-block-flexible-table-block-table table tbody tr td { border-width: 0; padding: 0.7rem 1.5rem 0.7rem 1rem; }
  .recruitment .clumn-content .wrap-content h2 { font-size: 1.5rem; }
  :where(.wp-block-columns.is-layout-flex) { gap: 0 !important; }
  .home h2.en-title { font-size: 150%; }
  .page-template-page-member .wrap-intro .job { line-height: 104%; }
  .page-template-page-member .wrap-intro .history p:last-of-type { line-height: 110%; }
  .sub table th, .sub table td { padding: 1rem; }
  header .logo img { margin: 23px 0 0 37px; width: 119px; height: 33px; }
  header ul:first-child li:first-child a { font-size: 92%; right: 76px; top: 20px; }
  #g-nav-list ul.main a:after { right: 5%; }
  .openbtn { width: 48px; height: 48px; right: 18px; top: 16px; }
  .openbtn span { left: 13px; }
  .openbtn span:nth-of-type(1) { top: 14px; }
  .openbtn span:nth-of-type(2) { top: 23px; }
  .openbtn span:nth-of-type(3) { top: 30px; }
  .main-visual { min-height: auto; padding-top: 83px; }
  .main-visual .container { position: inherit; left: unset; top: unset; }
  .main-visual h2 { font-size: 200%; letter-spacing: 0.05rem; line-height: 142%; margin-bottom: 12px; }
  .main-visual p { font-size: 68%; }
  .main-visual .info { position: relative; width: 82%; margin-top: 154px; margin-left: 10%; padding: 28px 16px 43px 0px; font-size: 80%; z-index: 5; }
  .main-visual .info:after { content: ""; position: absolute; display: block; background-color: #eee; background-size: 1px 100%; height: 1px; width: 100%; bottom: 0; left: 0; }
  .main-visual .info ul li { padding-left: 0; }
  .main-visual .info ul time { font-size: 99%; padding-left: 18px; }
  .main-visual .info ul p { font-weight: 300; padding-left: 18px; font-size: 108%; line-height: 151%; }
  .main-visual .swiper-horizontal > .swiper-pagination-bullets, .main-visual .swiper-pagination-bullets.swiper-pagination-horizontal, .main-visual .swiper-pagination-custom, .main-visual .swiper-pagination-fraction { bottom: 13px; }
  #i1-1 { width: 332px; right: -97px; top: -30%; }
  #i1 { height: 491px; right: 145px; top: -24%; }
  .about-us .btn-yellow, .sub .btn-yellow { padding: 17px 55px 17px 32px; min-width: 196px; }
  .about-us .btn-yellow:after, .sub .btn-yellow:after { width: 29px; height: 29px; }
  .about-us .btn-yellow .arrow, .sub .btn-yellow .arrow { width: 15px; top: 14px; }
  .innovation { padding: 89px 0 0 0; }
  .innovation:after { width: 407px; height: 57px; top: 63px; right: -38px; background-image: url(./img/home/sp_innovation.svg); }
  .innovation h2 { font-size: 157%; margin-top: 0; margin-bottom: 27px; }
  .innovation .row > * { padding-right: calc(var(--bs-gutter-x) * 1); padding-left: calc(var(--bs-gutter-x) * 1); }
  .innovation p { font-size: 90%; line-height: 165%; margin-bottom: 0.7rem; }
  .innovation svg { width: 100%; margin: 0px 70px 109px 10px; height: 100%; }
  .about-us { padding: 65px 0 75px 0; }
  .about-us:before { display: none; }
  .about-us .container img { width: 353px; position: unset; margin-bottom: 27px; }
  .about-us .en-title { margin-bottom: 30px; font-size: 150%; position: relative; }
  .about-us .en-title:before { font-size: 14px; padding-left: 31px; }
  .about-us .en-title:after { content: ""; display: block; width: 20px; height: 1px; background-color: #aaa; left: 2px; top: 8px; position: absolute; }
  .about-us .text { font-size: 85%; overflow: hidden; }
  .about-us .text p { font-size: 100%; margin-bottom: 0.2rem; }
  .about-us .btn { margin-top: 20px; }
  .about-us .row > * { padding-right: calc(var(--bs-gutter-x) * .9); padding-left: calc(var(--bs-gutter-x) * .9); }
  .job-intro { padding: 63px 0; }
  .job-intro:before { background-size: contain; width: 155%; top: 16px; left: -115px; }
  .job-intro .en-title { margin-bottom: 30px; font-size: 150%; position: relative; text-align: left !important; }
  .job-intro .en-title:before { font-size: 14px; padding-left: 31px; }
  .job-intro .en-title:after { content: ""; display: block; width: 20px; height: 1px; background-color: #aaa; left: 2px; top: 8px; position: absolute; }
  .job-intro .container-sm { padding-right: calc(var(--bs-gutter-x) * 1.6); padding-left: calc(var(--bs-gutter-x) * 1.6); }
  .job-intro article .visual { width: 281px; height: 170px; }
  .job-intro article .visual:after { width: 26px; height: 26px; }
  .job-intro article .visual:before { width: 7.65px; height: 7.23px; background-size: 7.65px; bottom: 21px; right: 21px; }
  .job-intro article .content { padding: 0 14px; }
  .job-intro article h2 { font-size: 100%; margin-top: 10px; margin-bottom: 0; }
  .job-intro .swiper-button-prev { right: 28%; }
  .job-intro .swiper-button-prev, .job-intro .swiper-button-next { top: 84px; }
  .swiper-button-prev, .swiper-button-next { width: 46.79px !important; height: 46.79px !important; background-size: 7px 13px !important; }
  .member-intro { padding: 23px 0 150px 0; }
  .member-intro:before { background-size: 107%; height: 270px; top: -2px; right: -53px; width: 265px; }
  .member-intro .container { padding-right: calc(var(--bs-gutter-x) * 1.5); padding-left: calc(var(--bs-gutter-x) * 1.5); }
  .member-intro .en-title { margin-bottom: 30px; font-size: 150%; position: relative; }
  .member-intro .en-title:before { font-size: 14px; padding-left: 31px; }
  .member-intro .en-title:after { content: ""; display: block; width: 20px; height: 1px; background-color: #aaa; left: 2px; top: 8px; position: absolute; }
  .member-intro article { max-width: 314px; height: 350px; }
  .member-intro article .visual { height: 350px; }
  .member-intro article .visual .career { padding: 4px 10px 4px 16px; }
  .member-intro article .visual li:nth-child(2) { margin-left: 4px; }
  .member-intro article .visual li:nth-child(2):before { top: 6px; left: -5px; background: #cbcbcb; height: 12px; }
  .member-intro article .visual li:nth-child(3) { font-size: 80%; margin-left: 3px; }
  .member-intro article .visual .intro { padding: 27px 15px 15px 15px; }
  .member-intro .swiper-button-prev, .member-intro .swiper-button-next { bottom: 72px; }
  .member-intro .swiper-button-next { left: 30%; }
  .environment-intro { padding: 61px 0 55px; }
  .environment-intro .container { padding-right: calc(var(--bs-gutter-x) * 1.5); padding-left: calc(var(--bs-gutter-x) * 1.5); }
  .environment-intro .en-title { margin-bottom: 30px; font-size: 150%; position: relative; }
  .environment-intro .en-title:before { font-size: 14px; padding-left: 31px; }
  .environment-intro .en-title:after { content: ""; display: block; width: 20px; height: 1px; background-color: #aaa; left: 2px; top: 8px; position: absolute; }
  .environment-intro h2 + p { font-size: 100%; margin-bottom: 26px !important; }
  .environment-intro img { width: 50px; margin: 22px auto 5px; min-height: 65px; max-height: 65px; }
  .environment-intro .card { margin-bottom: 1rem; }
  .environment-intro .card:after { width: 22px; height: 22px; bottom: 9px; right: 5px; }
  .environment-intro .card:before { background-size: 7px; width: 7px; height: 7px; bottom: 17px; right: 12px; }
  .environment-intro .card-body { padding: 9px 5px; }
  .environment-intro .card-title { font-size: 103%; margin-bottom: 2px; }
  .environment-intro .card-text { font-size: 81%; padding: 1rem 0.7rem 0; line-height: 140%; }
  .sub main .page-contents, main .wrap-content { font-size: 87.5%; line-height: 1.8; letter-spacing: 0; }
  .sub main .page-contents h2, .sub main .page-contents h3, main .wrap-content h2, main .wrap-content h3 { font-size: 125%; }
  .sub main .page-contents h4, main .wrap-content h4 { font-size: 115%; }
  .page .wp-block-button__link, .single .wp-block-button__link, .error404 .wp-block-button__link { font-size: 100%; }
  .page .container.middle { font-size: 87.5%; }
  .page-template-page-member .container { padding-right: 1rem; padding-left: 1rem; }
  .page-template-page-member .wrap-intro { padding-bottom: 50px; padding-top: 0; margin-top: 25px; }
  .page-template-page-member .wrap-intro img { margin-top: 0; margin-left: 0; }
  .page-template-page-member .wrap-intro .copy { margin-top: 0; font-size: 100%; margin-bottom: 1.1rem; }
  .page-template-page-member .wrap-intro .job { margin-top: 13px; font-size: 84%; letter-spacing: 0; }
  .page-template-page-member .wrap-intro .name { margin-top: 0; margin-bottom: 0; font-size: 110%; }
  .page-template-page-member .wrap-intro .history { min-width: unset; padding: 0.4rem 0.5rem; letter-spacing: 0; width: 95%; margin-top: 7px; line-height: 152%; margin-bottom: 13px; font-size: 84%; font-size: 84%; border-radius: 5px; }
  .page-template-page-member .wrap-intro .arrow { font-size: 95%; margin-left: 3px; }
  .page-template-page-member .wrap-intro .arrow:after { bottom: 0px; }
  .page-template-page-member .wrap-intro .row { margin-bottom: 33px; }
  .sub main a.list-environment dl { display: block; }
  .sub main a.list-environment dt { text-align: center; padding: 14px 5px 20px 5px; }
  .sub main a.list-environment img { width: auto; height: 59px; }
  .sub main a.list-environment h5 { text-align: center; }
  .list-gray .content p:first-of-type { font-size: 120%; }
  .list-image { margin-bottom: 37px; }
  .list-image .image img { margin-bottom: 7px; }
  #g-nav .logo { top: 17px; left: 41px; }
  #g-nav .logo img { width: 93px; }
  #g-nav-list { width: 76%; }
  #g-nav-list .menu { padding-top: 29px; }
  #g-nav-list .menu .btn-yellow-large { font-size: 99%; padding: 10px; }
  #g-nav-list .menu .links { margin-top: 30px; }
  #g-nav-list ul.main a { font-size: 88%; padding: 13px 0; }
  #g-nav-list ul.main a:before { top: 13px; width: 24px; height: 24px; }
  #g-nav-list ul.main a:after { background-size: 4px; right: 19px; top: 21px; }
  a.arrow:after { bottom: 2px; right: -21px; width: 15px; height: 15px; }
  a.arrow:before { background-size: 5px; width: 5px; height: 5px; bottom: 7.5px; right: -16.1px; z-index: 1; }
  .sub .title h1 { font-size: 119%; margin-bottom: 0.9rem; }
  .sub .en-title:after { font-size: 69%; padding-top: 0; }
  .recruitment .clumn-content { padding-top: 0; }
  .recruitment .intro ul li:before { display: none; }
  .recruitment .btn-new, .recruitment .btn-career { font-size: 102%; padding: 7px 40px; }
  .recruitment .wrap-mokuji { margin-top: 20px; }
  #mokuji { margin-bottom: 2rem; }
  .sub .list-path { padding-top: 5px; }
  .sub.member h2 { font-size: 1.6rem; }
  .sub.member .img img { margin-top: 0; max-height: 269px; object-fit: cover; width: 83%; object-position: 50% 24%; }
  .sub.member .copy { font-size: 140%; margin-bottom: 0; }
  .sub.member .job { margin-top: 23px; font-size: 88%; }
  .sub.member .name { margin-bottom: 0; }
  .sub.member .history { background: none; padding: 0; margin-top: 8px; margin-bottom: 0; }
  .sub.member .history p { line-height: 130%; font-size: 90%; }
  .sub.member .history .clumn-content { margin-top: 1rem; }
  .sub.member .wrap-intro { margin-bottom: 0; padding-bottom: 0; }
  .sub.member .wrap-intro .row { margin-bottom: 0; }
  .sub.member .wrap-content img { margin-top: 5px; }
  .sub.member .schedule { margin-top: 2rem; padding: 1rem 1.5rem 1.5rem 2rem; }
  .sub.member .schedule .col-3 { padding-left: 0; padding-right: 12px; font-size: 105%; }
  .sub.member .schedule .col-3:before { left: 2px; top: 7px; }
  .sub.member .schedule .col-9 { padding-left: 0; }
  .sub.member .schedule .col-9 p:first-of-type { margin-bottom: 0.5rem; }
  .sub.member .schedule .col-9 p:last-of-type { margin-bottom: 1.5rem; }
  .sub.member .schedule .border-line { left: -4.5px; top: 7%; }
  .wrap-intro { padding-bottom: 20px; }
  .wrap-intro .col-6:last-of-type { padding-left: 0.3rem; padding-right: 0; }
  .wrap-intro .history { padding: 10px 10px; letter-spacing: 0; margin-bottom: 8px; }
  .culture { padding-bottom: 0; }
  .accordion h3 .accordion-button { font-size: 80%; letter-spacing: 0; }
  .accordion-item { color: #000; }
  .accordion .accordion-button span { width: 15px; }
  .wrap-agreement h1 { font-size: 135%; }
  .sub main .work h2 span { font-size: 70%; }
  .sub main .work .bg-yellow { padding: 0.5rem 1rem 1rem; margin: 1rem 0 1rem; }
  .sub main .work .bg-yellow ul { padding-left: 1.2rem; }
  .sub main .work .bg-yellow li { line-height: 140%; margin-bottom: 10px; font-size: 93%; }
  .sub main .work .bg-yellow li:before { left: -17px; }
  .sub main .work .bg-yellow h3 { font-size: 1rem; margin-top: 2rem; }
  .sub main .work .bg-yellow h3:before { width: 20px; height: 20px; left: -7px; }
  .sub main .work .bg-yellow h3:first-of-type { margin-top: 1rem; } }
@media (max-width: 517px) { #i3 { top: -25px; } }
@media (max-width: 460px) { .sub main .work h1 + h2 { margin-top: 2rem; }
  .sub main .work h2 { font-size: 110%; background-size: 70px 42px; margin-top: 3rem; margin-bottom: 1rem; padding: 1.2rem 0.5rem 1rem 84px; }
  .sub main .work span { font-size: 60%; }
  .page .container.middle { padding-top: 0; }
  .main-icon:nth-of-type(2) svg { width: 302px; }
  .main-icon:nth-of-type(3) { left: -11.9%; bottom: -8.5%; }
  .main-icon:nth-of-type(3) svg { width: 463px; }
  .sub table tbody tr th, .sub table tbody tr td { padding: 1rem 0.7rem !important; display: block; text-align: left; vertical-align: middle; width: 100% !important; word-break: normal; }
  .sub table tbody tr td { padding-bottom: 1.35rem; } }
@media (max-width: 398px) { header .logo img { width: 100px; }
  header ul:first-child li:first-child a { padding: 3px 20px; }
  .job-intro article .visual { width: 225px; height: 154px; }
  footer .links p { font-size: 119%; }
  .member .schedule .col-3:before { left: -6px; }
  .member .schedule .border-line { left: -13.5px; }
  .recruitment .btn-new, .recruitment .btn-career { padding: 7px 29px; } }
