﻿*:where(:not(html,iframe,canvas,img,svg,video,audio):not(svg *,symbol *)){all:unset;display:revert}*,*::before,*::after{box-sizing:border-box}a,button{cursor:revert}ol,ul,menu{list-style:none}img{max-inline-size:100%;max-block-size:100%}table{border-collapse:collapse}input,textarea{-webkit-user-select:auto}textarea{white-space:revert}meter{-webkit-appearance:revert;appearance:revert}pre{all:revert}::placeholder{color:unset}::marker{content:""}:where([hidden]){display:none}:where([contenteditable]:not([contenteditable=false])){-moz-user-modify:read-write;-webkit-user-modify:read-write;overflow-wrap:break-word;-webkit-line-break:after-white-space;-webkit-user-select:auto}:where([draggable=true]){-webkit-user-drag:element}:where(dialog:modal){all:revert}html{font-size:62.5%}a{text-decoration:none}img{max-width:100%;height:auto;vertical-align:bottom}iframe{display:block;width:100%}@media screen and (min-width: 600px){.sp{display:none}}.tb{display:none}@media screen and (min-width: 600px){.tb{display:block}}.pc{display:none}@media screen and (min-width: 1025px){.pc{display:block}}.main{display:block}:root{--main-color: #2f7bc9}body{color:#333;font-family:"Noto Sans JP",sans-serif;font-weight:400;font-size:1.6rem;line-height:2;letter-spacing:.1em;background-color:#fff}body.fixed{position:fixed;height:100%;overflow-y:scroll}a{color:#333}.wrapper{margin:0 auto;padding:0 4%;width:100%;max-width:120rem}.block{padding-block:clamp(5rem,2.293rem + 7.52vw,10rem)}.block:nth-of-type(odd){background:#eee}.section-title{font-size:clamp(2.4rem,1.101rem + 3.61vw,4.8rem);font-weight:bold;text-align:center;text-box-trim:trim-start;margin-bottom:1em}.section-title::after{content:"";display:block;width:2em;height:2px;background:var(--main-color);margin:0 auto}.sub-title{font-size:clamp(1.8rem,1.475rem + .9vw,2.4rem);font-weight:bold;text-align:center;padding-block:.5em}.container{display:grid;gap:clamp(1.8rem,1.475rem + .9vw,2.4rem)}.text-link{color:var(--main-color);border-bottom:1px dashed var(--main-color)}.text-link:hover{color:var(--main-color)}.break{display:inline-block}.bold{color:var(--main-color);font-weight:bold}.btn a{display:flex;gap:1em;color:#fff;padding:1rem 2rem;width:fit-content;margin-inline:auto;background:var(--main-color);border-radius:1rem}.btn a::after{content:"→";transition:translate .5s}.btn a:hover::after{translate:.5em}.header{position:fixed;top:0;left:0;z-index:10;width:100%;background-color:#fff}.header a{color:var(--main-color)}.header .wrapper{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding-block:1rem;max-width:192rem}.header .wrapper h1 img{width:20rem}.header .wrapper nav{display:grid;place-items:center;position:fixed;z-index:20;top:0;right:-100%;width:100%;min-height:100dvh;background:var(--main-color);transition:right .5s}@media screen and (min-width: 1025px){.header .wrapper nav{position:static;width:auto;min-height:auto;background-color:rgba(0,0,0,0)}}.header .wrapper nav.active{right:0}.header .wrapper nav ul{display:flex;flex-direction:column;gap:5rem}@media screen and (min-width: 1025px){.header .wrapper nav ul{flex-direction:row;align-items:center}}.header .wrapper nav ul li a{display:block;color:#fff;text-align:center}@media screen and (min-width: 1025px){.header .wrapper nav ul li a{color:#333}.header .wrapper nav ul li a::after{content:"";display:block;width:100%;height:1px;background-color:#333;transform:scale(0);transition:transform .5s}.header .wrapper nav ul li a:hover::after{transform:scale(1)}}.header .wrapper .menuBtn{position:relative;z-index:30;width:3.3rem;height:2rem;background-color:rgba(0,0,0,0);border:none;translate:0 -0.3em}@media screen and (min-width: 1025px){.header .wrapper .menuBtn{display:none}}.header .wrapper .menuBtn::after{position:absolute;left:0;bottom:0;content:"MENU";width:100%;color:var(--main-color);font-size:1rem;text-align:center;translate:0 100%}.fixed .header .wrapper .menuBtn::after{color:#fff}.header .wrapper .menuBtn:hover{cursor:pointer}.header .wrapper .menuBtn:focus{outline:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}.header .wrapper .menuBtn span{display:block;position:absolute;width:100%;height:2px;background:var(--main-color);transition:all .5s}.fixed .header .wrapper .menuBtn span{background:#fff}.header .wrapper .menuBtn span:nth-child(1){top:0}.fixed .header .wrapper .menuBtn span:nth-child(1){translate:0 .8rem;rotate:-45deg}.header .wrapper .menuBtn span:nth-child(2){top:.8rem}.fixed .header .wrapper .menuBtn span:nth-child(2){opacity:0}.header .wrapper .menuBtn span:nth-child(3){top:1.6rem}.fixed .header .wrapper .menuBtn span:nth-child(3){translate:0 -0.8rem;rotate:45deg}.hero{position:relative;display:grid;place-items:center;min-height:100vh;background:url(../images/hero_image.webp) no-repeat center/cover}.hero p{color:#fff;text-align:center}.hero p img{width:80%;max-width:70rem;margin-bottom:2.4rem}#greeting .section-title{scale:.8;line-height:1.5}#greeting .section-title::after{content:none}@media screen and (min-width: 600px){#greeting .text{text-align:center}}.banner .wrapper ul{display:flex;justify-content:center;gap:2rem}.company .wrapper{gap:clamp(2.4rem,1.101rem + 3.61vw,4.8rem)}@media screen and (min-width: 600px){.company .wrapper{grid-template-columns:1fr 1fr;align-items:center}}.company .wrapper table{width:100%;margin-bottom:clamp(2.4rem,1.101rem + 3.61vw,4.8rem)}.company .wrapper table tbody{display:grid;gap:1em}.company .wrapper table tbody tr{display:grid;grid-template-columns:8em 1fr}.company .wrapper table tbody tr th,.company .wrapper table tbody tr td{padding-bottom:1em;border-bottom:1px solid var(--main-color)}.company .wrapper table .list{display:flex;flex-wrap:wrap}.company .wrapper table .list li:not(:last-child)::after{content:"、"}.company .wrapper .representative .container{display:grid;gap:2.4rem}@media screen and (min-width: 1025px){.company .wrapper .representative .container{grid-template-columns:2fr 1fr;align-items:flex-start}}.company .wrapper .representative .text{display:grid;gap:1em}.company .wrapper .representative figure{width:fit-content;margin-inline:auto;text-align:center;background:#eee}.company .wrapper .representative figure figcaption{padding-block:1em}#philosophy .wrapper .container{display:grid;gap:clamp(2.5rem,1.147rem + 3.76vw,5rem)}#philosophy .wrapper .container section{padding:2.4rem;background:#fff;border:1px solid var(--main-color);border-radius:8px}#philosophy .wrapper .container .text{display:grid;gap:1em}#philosophy .wrapper .container .text h4{color:var(--main-color);font-weight:700;text-align:center}#recruit h3{text-align:center}#recruit h3+p{font-weight:700;text-align:center}#recruit table tr{display:grid;padding-bottom:2rem}@media screen and (min-width: 600px){#recruit table tr{grid-template-columns:9em 1fr}}#recruit table tr th{font-weight:700}#recruit table tr td.list p{padding-left:1.5em;text-indent:-1.5em}#recruit table tr td.list p::before{content:"・"}.contact{position:relative}.contact .wrapper{overflow-x:hidden}.contact .wrapper section .sub-title{text-align:center;margin-bottom:clamp(1.8rem,1.475rem + .9vw,2.4rem)}.contact .wrapper section.tel{margin-bottom:clamp(2.4rem,1.101rem + 3.61vw,4.8rem)}.contact .wrapper section.tel .num{margin-bottom:2rem;text-align:center}.contact .wrapper section.tel .num a{display:grid;grid-template-columns:1.5em 1fr;gap:.5em;align-items:center;margin:0 auto;padding:1rem 3rem;width:fit-content;color:#fff;font-size:clamp(2rem,.912rem + 1.5vw,3rem);background:var(--main-color);border-radius:5rem}.contact .wrapper section.tel .num a::before{content:"";display:block;width:1.2em;aspect-ratio:1;background:url(../images/tel.svg) no-repeat center/contain}.contact .wrapper section.tel .num a:hover{opacity:.7}.contact .wrapper section.tel .text{width:fit-content;margin-inline:auto}.contact .wrapper section.mail .text{width:fit-content;margin-inline:auto;margin-bottom:clamp(1.8rem,1.475rem + .9vw,2.4rem)}@media screen and (min-width: 600px){.contact .wrapper section.mail .text{text-align:center}}.contact .wrapper section.mail form table{width:100%}.contact .wrapper section.mail form table tr{display:grid;margin-bottom:2rem}@media screen and (min-width: 600px){.contact .wrapper section.mail form table tr{grid-template-columns:13em 1fr}}.contact .wrapper section.mail form table tr th{margin-bottom:.5rem}@media screen and (min-width: 600px){.contact .wrapper section.mail form table tr th{padding:1.1rem 0}}.contact .wrapper section.mail form table tr th .required{display:flex;align-items:center}@media screen and (min-width: 600px){.contact .wrapper section.mail form table tr th .required{justify-content:space-between}}.contact .wrapper section.mail form table tr th .required::after{content:"必須";display:inline-block;margin:0 1em;padding:.5rem;color:#fff;font-size:1.2rem;background:red}.contact .wrapper section.mail form input,.contact .wrapper section.mail form textarea{padding:1rem;width:100%;background-color:#fff;border:1px solid #333}.contact .wrapper section.mail form input::placeholder,.contact .wrapper section.mail form textarea::placeholder{color:#aaa}.contact .wrapper section.mail form input+p,.contact .wrapper section.mail form textarea+p{padding-top:.5rem;font-size:1.2rem}.contact .wrapper section.mail form .radio{padding:1rem 0}.contact .wrapper section.mail form .radio input[type=radio]{position:absolute;z-index:-1;width:1px;opacity:0}.contact .wrapper section.mail form .radio input[type=radio]+label{position:relative;display:flex;align-items:center}.contact .wrapper section.mail form .radio input[type=radio]+label::before{display:grid;place-items:center;content:"";margin-right:1rem;padding:0;width:1.6rem;aspect-ratio:1;font-size:1.2rem;line-height:1;border:1px solid #333}.contact .wrapper section.mail form .radio input[type=radio]:checked+label::before{content:"✓"}.contact .wrapper section.mail form textarea{min-height:20rem}.contact .wrapper section.mail form .privacypolicy{margin-bottom:5rem;padding:2rem;aspect-ratio:1;background:#fff;background-color:#ccc}@media screen and (min-width: 600px){.contact .wrapper section.mail form .privacypolicy{margin-left:13em;aspect-ratio:2/1}}.contact .wrapper section.mail form .privacypolicy h3{margin-bottom:2rem;font-size:2rem}.contact .wrapper section.mail form .privacypolicy div{margin-bottom:2rem;padding-right:1rem;width:100%;height:calc(100% - 5rem);overflow-y:scroll}.contact .wrapper section.mail form .privacypolicy div ul{display:grid;gap:2rem;margin-top:5rem}.contact .wrapper section.mail form .privacypolicy div ul li h4{margin-bottom:1rem;font-weight:bold}.contact .wrapper section.mail form .privacypolicy .check input[type=checkbox]{position:absolute;z-index:-1;width:1px;opacity:0}.contact .wrapper section.mail form .privacypolicy .check label{display:flex;align-items:center;width:fit-content;font-size:1.2rem;cursor:pointer}.contact .wrapper section.mail form .privacypolicy .check label::before{display:grid;place-items:center;content:"";margin-right:1rem;padding:0;width:1.6rem;aspect-ratio:1;line-height:1;border:1px solid #333}.contact .wrapper section.mail form .privacypolicy .check.checked label::before{content:"✓"}.contact .wrapper section.mail form .btn{text-align:center}@media screen and (min-width: 600px){.contact .wrapper section.mail form .btn{padding-left:13em;text-align:left}}.contact .wrapper section.mail form .btn button{padding:1rem 2rem;width:20rem;text-align:center;letter-spacing:1em;text-indent:1em;border:1px solid #333;background-color:#fff;transition:color .5s,background-color .5s;cursor:pointer}.contact .wrapper section.mail form .btn button[disabled]{color:#aaa;border:1px solid #aaa;cursor:not-allowed}@media(hover: hover){.contact .wrapper section.mail form .btn button[disabled]:hover{color:#aaa;background-color:#fff}}@media(hover: hover){.contact .wrapper section.mail form .btn button:hover{color:#fff;background-color:#333}}.footer{padding-block:1rem;background:var(--main-color);text-align:center}.footer .wrapper p{color:#fff;font-size:1.2rem;text-align:center}