.sp {display: block;}
.ssp {display: none;}

@media screen and (max-width: 768px) {
.sp {display: none;}
.ssp {display: block;}
}
p{
margin-bottom: 0;
}
.row{
margin-right: 0;
margin-left: 0;}

.header{
display: flex;
justify-content: space-between;
align-items: center;
padding: 16px 32px;
background: #fff;
box-shadow: 0 2px 5px rgba(0,0,0,0.1);
position: fixed;
font-size: 16px;
z-index: 100;
top: 0;
height: 77px;
width: 100%;
}
.header .logo{
display: flex;
align-items: flex-end;
line-height: 1;
}
.header .logo img{
width: 70px;
margin-right: 10px;
}
.header nav a {
font-size: 18px;
margin: 0 16px;
text-decoration: none;
color: #004080;
font-weight: bold;
}
.header nav a:hover{
border-bottom: 1px solid #004080;
}
.cta-btn {
background: #F5A623;
color: #fff;
padding: 9.6px 19.2px;
border-radius: 6px;
text-decoration: none;
}
.cta-btn:hover{
opacity: 0.5;
}
.sp-menu{
position: absolute;
}
.sp-menu__box {
position: fixed;
top: 60px;
right: 10px;
display: flex;
justify-content: center;
align-items: center;
height: 40px;
width: 40px;
z-index: 100;
background-color: #3584bb;
border-radius: 5px;
}
.sp-menu__box span,
.sp-menu__box span:before,
.sp-menu__box span:after {
content: "";
display: block;
height: 3px;
width: 25px;
border-radius: 3px;
background-color: #ffffff;
position: absolute;
}
.sp-menu__box span:before {
bottom: 8px;
}
.sp-menu__box span:after {
top: 8px;
}
#sp-menu__check {
display: none;
}
#sp-menu__check:checked ~ .sp-menu__box span {
background: rgba(255, 255, 255, 0);
}
#sp-menu__check:checked ~ .sp-menu__box span::before {
bottom: 0;
transform: rotate(45deg);
}
#sp-menu__check:checked ~ .sp-menu__box span::after {
top: 0;
transform: rotate(-45deg);
}
#sp-menu__check:checked ~ .hamburger__content {
left: 0;
}
#sp-menu__check:checked ~ .hamburger-demo-cover{
position: fixed;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 2;
background: rgba(3,3,3,.5);
display: block;
}

.sp-menu__content {
width: 45%;
height: 65%;
position: fixed;
top: 6%;
left: 100%;
z-index: 90;
background-color: #f0ffff;
transition: all 0.5s;
}
.sp-menu__list {
padding: 60px 10px 0;
margin-bottom: 10%;
}
.sp-menu__item {
border-bottom: solid 1px #000000;
list-style: none;
font-size: 16px;
padding: 10px 0;
}
.sp-menu__content::backdrop {
background: rgba(0, 0, 0, 0.2);
}

#sp-menu__check:checked ~ .sp-menu__content {
left: 56%;
}
@media screen and (max-width: 1024px) and (min-width: 768px){
.header nav{
display: none;
}
}
@media only screen and (max-width: 767px) {
.header {
padding: 0.5rem 1rem;
height:55px;
}
.header .logo img {
width: 45px;
margin-right: 5px;
}
.header .logo{
font-size: 12px;
}
.header nav{
display: none;
}
.sp-menu .cta-btn {
margin-left: 5%;
}
}
@media screen and (min-width: 1024px) {
.sp-menu {
display: none;
}
}

.hero {
background: url('https://stat.ameba.jp/user_images/20251008/12/choice-one/3b/0b/j/o1764099215692749953.jpg') center/cover no-repeat;
color: #fff;
text-align: center;
padding: 82px 32px;
margin-top: 77px;
position: relative;
}
.hero::after {
content: "";
position: absolute;
top:0;
left:0;
width:100%;
height:100%;
background: rgba(0,64,128,0.6);
}
.hero-content {
position: relative;
z-index: 1;
}
.hero h1 {
font-size: 40px;
margin-bottom: 16px;
}
.hero p {
font-size: 19.2px;
margin-bottom: 32px;
}
.hero-buttons a {
margin: 0 8px;
padding: 12.8px 25.6px;
border-radius: 6px;
text-decoration: none;
font-weight: bold;
}
.btn-orange {
background: #F5A623;
color: #fff;
}
.btn-orange:hover{
background: #fff;
color: #F5A623;
}
.btn-outline {
background: #fff;
color: #004080;
border: 2px solid #004080;
}
.btn-outline:hover{
background: #004080;
color: #fff;
}
@media only screen and (max-width: 767px) {
.hero{
background: url('https://stat.ameba.jp/user_images/20251008/12/choice-one/3b/0b/j/o1764099215692749953.jpg') center/auto no-repeat;
background-position-x: -330px;
padding: 80px 16px;
margin-top: 55px;
}
.hero h1 {
font-size: 29px;
margin-bottom: 16px;
}
.hero span{
display: none;
}
.hero p {
font-size: 16px;
}
.hero-buttons a {
padding: 8px 9.6px;
font-size: 14px;
}
}

.section1 {
padding: 64px 32px;
text-align: center;
}
h2 {
display: block;
font-size: 24px;
text-align: center;
margin:20px 0;
font-weight: bold;
unicode-bidi: isolate;
}
.features {
display: flex;
flex-wrap: wrap;
justify-content: space-evenly;
}
.feature {
width: 30%;
background: #f5f5f5;
border-radius: 10px;
padding: 32px;
}
.feature h3 {
margin-bottom: 16px;
color: #004080;
font-size: 18px;
font-weight: bold;
}
.section2{
background: #004080;
color: #fff;
padding: 24px 32px;
}
.section2 .stat_box{
display: flex;
justify-content: space-around;
}
.section2 .stat {
text-align: center;
width: 33%;
}
.stat h3 {
font-size: 32px;
margin: 0 auto 8px;
font-weight: bold;
}
@media only screen and (max-width: 767px) {
section {
padding: 16px 32px;
}
.feature {
width: 100%;
margin-bottom: 10px;
}

.stat h2,
.stat h3 {
margin-block-start: 0;
font-size: 24px;
}
.stat p{
font-size: 13px;
}
}
.section3{
max-width: 1080px;
margin: 50px auto;
padding: 0 20px;
text-align: center;
line-height: 1.6;
}

.section3 .steps{
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 30px;
}
.section3 .step {
background: #fff;
padding: 25px 20px;
border-radius: 12px;
text-align: center;
border: 2px solid #e0e7ff;
}
.section3 .step span {
display: inline-block;
background: #6372ff;
color: #fff;
padding: 5px 12px;
border-radius: 20px;
font-weight: bold;
margin-bottom: 10px;
}
.section3 h3 {
display: block;
font-size: 18px;
margin-bottom: 18px;
font-weight: bold;
}
.section3 p{
margin: 16px 0;
font-size: 16px;
}
@media only screen and (max-width: 767px) {
.section3 p{
font-size: 14px;
}
}

.section4{
max-width: 1080px;
margin: 50px auto;
padding: 0 20px;
line-height: 1.6;
}
.section4 h2{
text-align: center;
}
.section4 .voices{
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 30px;
}
.section4 .voice {
background: #fff;
padding: 20px;
border-radius: 12px;
font-family: 'Hiragino Kaku Gothic ProN';
font-style: italic;
border-left: 5px solid #5ca9fb;
}
@media only screen and (max-width: 767px) {
.section4 .voice{
font-size: 14px;
padding: 10px 0 10px 10px;
}
}

.section5{
max-width: 1280px;
margin: 50px auto;
padding: 0 20px;
line-height: 1.6;
}
.section5 .jobs {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 1.5rem;
}
.section5 .job-card {
background: #fff;
border: 1px solid #ddd;
border-radius: 8px;
padding: 1.5rem;
text-align: left;
}
.section5 .job-card h3 {
margin-bottom: 0.5rem;
color: #004080;
}
.section5 .job-card p {
margin: 0.2rem 0;
}
.section5 .job-card a {
display: inline-block;
margin-top: 0.5rem;
color: #F5A623;
font-weight: bold;
text-decoration: none;
}

.section6 {
background: #004080;
color: #fff;
padding: 48px 32px;
text-align: center;
}
.section6 p{
margin-bottom:30px;
}
.section6 a {
background: #F5A623;
color: #fff;
padding: 12px 25px;
border-radius: 6px;
text-decoration: none;
font-weight: bold;
}
.section6 a:hover{
background: #fff;
color: #F5A623;
}
@media only screen and (max-width: 767px) {
.section6{
margin-bottom: 10px;
}
}

.footer {
font-family: serif;
margin:10px 0;
}
.footer .wrap,
.footer .wrap2 {
max-width: 1280px;
width: 90%;
margin: 0 auto;
}
.footer .wrap2 {
display: flex;
flex-wrap: wrap;
justify-content: space-around;
}

.footer .wrap_logo{
display: flex;
align-items: center;
justify-content: center;
margin-bottom: 20px;
}
.footer .wrap_logo img{
width: 10%;
}
.footer .footer_menu{
display: flex;
flex-wrap: wrap;
line-height: 1.5;
list-style: none;
margin: 20px 0;
padding-left: 0;
justify-content: center;
}
.footer .footer_menu li {
font-size: 18px;
padding: 0 20px;
}
.footer .footer_menu li a:hover{
border-bottom: 1px solid #000;
}
.footer .wrap2 .box {
 width: 22%;
}
.footer .wrap2 .MAP {
 width: 25%;
}
.footer .box .address{
font-size: 16px;
margin-bottom: 10px;
}
.footer .box p{
font-size: 14px;
margin: 0 0 5px;
line-height: 1.5;
}
.footer .box a{
color: #000;
}
@media screen and (max-width: 1024px) and (min-width: 768px){
.footer .wrap2 .box {
 width: 48%;
}
.footer .wrap2 .MAP {
 width: 50%;
}
.footer .wrap2 .box:first-child,
.footer .wrap2 .box:nth-child(2){
margin-bottom:20px;
}
}
@media only screen and (max-width: 767px) {
.footer .wrap_logo img {
width: 25%;
}
.footer .footer_menu li {
font-size: 16px;
padding: 0px 15px;
}
.footer .wrap2 .box,
.footer .wrap2 .MAP  {
 width: 100%;
}
.footer .wrap2 .box:nth-child(2){
margin-bottom:20px;
}
}