/* ----------------------------------------------------------
General Settings
---------------------------------------------------------- */
.pt-contact {background-image: url(../img/pagetitle/pt-contact.webp);}
.pt-privacy {background-image: url(../img/pagetitle/pt-privacy.webp);}
.pt-voice {background-image: url(../img/pagetitle/pt-voice.webp);}
.pt-casestudy {background-image: url(../img/pagetitle/pt-casestudy.webp);}
.pt-faq {background-image: url(../img/pagetitle/pt-faq.webp);}
.pt-amamori {background-image: url(../img/pagetitle/pt-amamori.webp);}
.pt-recover {background-image: url(../img/pagetitle/pt-recover.webp);}
.pt-reform {background-image: url(../img/pagetitle/pt-reform.webp);}
.pt-about {background-image: url(../img/pagetitle/pt-about.webp);}
.pt-recruit {background-image: url(../img/pagetitle/pt-recruit.webp);}
.pt-staff {background-image: url(../img/pagetitle/pt-staff.webp);}
.pt-company {background-image: url(../img/pagetitle/pt-company.webp);}
.pt-mitsumori {background-image: url(../img/pagetitle/pt-mitsumori.webp);}
.pt-news {background-image: url(../img/pagetitle/pt-news.webp);}
.pt-common {background-image: url(../img/pagetitle/pt-common.webp);}

.hissubox {
  font-size:80%;
  background-color: var(--color-2nd);
  padding:0.5em;
  margin: 0 0.3em;
  font-weight: 700;
  color:var(--color-white);
  border-radius: 3px;
}

.gra-nom {
background: #008ec2;
background: linear-gradient(90deg, rgba(0, 142, 194, 1) 18%, rgba(0, 95, 219, 1) 100%);
}
.gra-reform {
background: #78C200;
background: linear-gradient(90deg, rgba(120, 194, 0, 1) 0%, rgba(72, 179, 205, 1) 100%);
}
.gra-recover {
background: #093299;
background: linear-gradient(90deg, rgba(9, 50, 153, 1) 0%, rgba(8, 193, 184, 1) 100%);
}
.gra-amamori {
background: #99098f;
background: linear-gradient(90deg, rgba(153, 9, 143, 1) 0%, rgba(85, 8, 193, 1) 100%);
}
.gra-faq {
background: #78C200;
background: linear-gradient(270deg, rgba(120, 194, 0, 1) 0%, rgba(72, 179, 205, 1) 100%);
}
.gra-casestudy {
background: #008ec2;
background: linear-gradient(90deg, rgba(0, 142, 194, 1) 18%, rgba(0, 95, 219, 1) 100%);
}
.gra-voice {
background: #49B3CB;
background: linear-gradient(90deg, rgba(73, 179, 203, 1) 0%, rgba(118, 193, 8, 1) 100%);
}

.border-nom {
border-bottom:10px solid rgba(0, 142, 194, 1);
}
.border-reform {
border-bottom:10px solid rgba(120, 194, 0, 1) ;
}
.border-recover {
border-bottom:10px solid rgba(72, 179, 205, 1);
}
.border-amamori {
border-bottom:10px solid rgba(153, 9, 143, 1) ;
}
.border-faq {
border-bottom:10px solid rgba(72, 179, 205, 1);
}
.border-casestudy {
border-bottom:10px solid rgba(0, 95, 219, 1);
}
.border-voice {
border-bottom:10px solid rgba(118, 193, 8, 1);
}


/* ----------------------------------------------------------
Style for PCs
---------------------------------------------------------- */
@media screen and (min-width: 1025px) {

/* Pagetitle */
.pagetitle {
  width:100%;
  height: auto;
  display: flex;
  align-items: center;
  aspect-ratio: 6 / 1;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  margin-top:150px;
  position: relative;
}
.pagetitle .ptbody {
  width:fit-content;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding:1em 4em 1.5em 5%;
  margin-bottom: 0em;
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
  box-shadow:0px 5px 10px rgba(0,0,0,0.2);
  position: absolute;
  top:50%;
  left:0;
  z-index:1;
  transform: translateY(-50%);
}
.pagetitle .ptbody h2 {
font-size: clamp(1.5rem, 1rem + 1.5vw, 2.4rem);
font-weight: 700;
color:var(--color-white);
text-shadow: 0px 1px 6px rgba(0,0,0,0.5);
margin-bottom: 0.3em;
}
.pagetitle .ptbody ul {
  width:100%;
  height: auto;
  display: flex;
  justify-content: flex-start;
  margin-bottom: 0em;
}
.pagetitle .ptbody ul li {
  font-size:12px;
  font-weight: 700;
  line-height: 1.5em;
  color:var(--color-white);
text-shadow: 0px 1px 6px rgba(0,0,0,0.5);
  margin:0;
}
.pagetitle .ptbody ul li:after {
  content:" > ";
  margin-right: 0.5em;
}
.pagetitle .ptbody ul li:last-child:after {
  content:"";
  margin-right:0;
}
.pagetitle .ptbody ul li a {
  color:var(--color-white);
  text-decoration: none;
}
.pagetitle .ptbody ul li a:hover {
  text-decoration: underline;
}

.pagetitle .ptbg {
width:90%;
height: 100%;
display: block;
margin-left:auto;
border-top-left-radius: 9999px;
border-bottom-left-radius: 9999px;
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-color: #555;
}

/* CaseStudy */
.casestudyslide {
  width:100%;
  height: auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 auto;
}
.casestudyslide li {
width:31.3333333333%;
height: auto;
display: block;
margin:0 1% 50px 1%!important;
border-top-right-radius: 100px;
box-shadow:0px 5px 10px rgba(0,0,0,0.15);
}


/* News */
.updatecatelist {
  width:50%;
  height: auto;
  display: flex;
  justify-content: space-between;
}
.updatecatelist li {
  flex: 1;
  height:auto;
  display: block;
  font-size: clamp(0.8rem, 0rem + 0.5vw, 1.1rem);
  margin:0 1%;
}
.updatecatelist li.udcl_selected {
  flex: 1;
  height:auto;
display: block;
text-align: center;
padding:0.3em 0;
color:var(--color-white);
font-weight: 700;
border-radius: 3px;
border:1px solid var(--color-1st);
background-color: var(--color-1st);
}
.updatecatelist li a {
width:100%;
height: auto;
display: block;
text-align: center;
padding:0.3em 0;
color:var(--color-1st);
text-decoration: none;
border-radius: 3px;
border:1px solid var(--color-1st);
transition: .4s all;
}
.updatecatelist li a:hover {
color: var(--color-white);
background-color: var(--color-5th);
border:1px solid var(--color-5th);
}


/* News */

.mmcc ul.newsslide, 
.newsslide {
  width:100%;
  height: auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 auto;
}
.newsslide li {
width:31.3333333333%;
height: auto;
display: block;
margin:0 1% 50px 1%!important;
border-top-right-radius: 100px;
box-shadow:0px 5px 10px rgba(0,0,0,0.15);
}


/* FAQ */
.faq-list .faq-item {
  width:100%;
  height: auto;
  display: block;
  border-bottom: 1px dotted var(--color-ccc);
  padding-bottom: 10px;
  margin:0 0 5px 0;
    transition: .4s all;
}
.faq-list .faq-item {
  width:100%;
  height: auto;
  display: block;
  background-image: url(../img/header/ic-menu_open.webp);
  background-repeat: no-repeat;
  background-position: 98% 25%;
  background-size: 30px;
  cursor: pointer;
    transition: .4s all;
}
.faq-list .faq-item.active {
  background-image: url(../img/header/ic-menu_close.webp);
}
.faq-list .faq-item h3 {
  width:100%;
  height: auto;
  min-height:50px;
  display: flex;
  align-items: center;
font-size: clamp(1rem,0.9vw + 0.5rem, 10rem);
font-family: var(--font-min);
letter-spacing: var(--font-min-ls);
font-weight: 500;
line-height: 1.5em;
  padding:0.2em 4em 0px 75px;
  background-image: url(../img/index/ic-faq_q.webp);
  background-repeat: no-repeat;
  background-position: 15px 10px;
  background-size: 30px auto;
    transition: .4s all;
}
.faq-list .faq-item h3:hover {
font-weight: 700;
}
.faq-list .faq-item p {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: none; /* JSで制御するので不要 */
  font-size: clamp(1rem,1vw + 0.1rem, 1.5rem);
  line-height: 1.5em;
  margin: 0;
  padding: 0 80px 0 75px;
  background-image: url(../img/index/ic-faq_a.webp);
  background-repeat: no-repeat;
  background-position: 15px 0;
  background-size: 40px auto;
}

.faq-list .faq-item.active h3 {
  font-weight: 700;
}
.faq-list .faq-item.active p {
  display: block;
  min-height: 60px;
  max-height: 800px; /* 十分な高さに設定（実際の内容に応じて調整） */
  opacity: 1;
  padding:0.3em 80px 30px 75px;
  margin-top: 0.5em;
}


/* Voice */
.voicelist {
  flex-wrap: wrap;
  margin: 0 auto;
}
.voicelist li {
  width:48%!important;
  background-color: var(--color-f8)!important;
}


/* Staff */
.stafflist {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  margin:0 auto;
}
.stafflist li {
 width: 100%;
 height: auto;
 display: flex;
 justify-content: space-between;
 align-items: center;
 background-color: var(--color-f8);
 border-radius: 40px;
 padding:2em 3em;
 box-shadow:0px 5px 15px rgba(0,0,0,0.2);
 margin:0 0 2em 0!important;
}
.stafflist li .stf_img {
  width:40%;
  height: auto;
  display: block;
}
.stafflist li .stf_img img {
 border-radius: 30px;
}
.stafflist li .stf_cc {
  width:55%;
}
.stafflist li .stf_cc h4 {
  width:100%;
  height: auto;
  display: flex;
  align-items: center;
font-size: clamp(1.5rem, 1rem + 1.5vw, 2.4rem);
  font-weight: 700;
line-height: 1em;
}
.stafflist li .stf_cc h4 span {
font-size: clamp(0.9rem, 0rem + 1vw, 1.1rem);
font-weight: 400;
line-height: 1em;
color:var(--color-1st);
margin-left:1em
}
.stafflist li .stf_cc p {
  margin:0;
}


.partnerlist {
  width:100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.partnerlist li {
  width:48%;
  height: auto;
  display: flex;
  flex-direction: column;
  padding:2em;
  background-color: var(--color-white);
  border-radius: 20px;
  margin:0 1% 2%!important;
  box-shadow:0px 5px 10px rgba(0,0,0,0.2);
}
.partnerlist li h4 {
  color:var(--color-1st);
}
.partnerlist li p.pl_comment {
  margin-bottom: 1em!important;
}
.partnerlist li p.pl_link {
  font-size: clamp(0.9rem, 0rem + 1vw, 1.1rem);
  margin-bottom: 0em!important;
}


/* About */
.historymm {
  width:100%;
  height: auto;
  display: block;
}
.hism_fl {
  width:100%;
  height: auto;
  display: flex;
  justify-content: space-between;
}
.hism_fl_cc {
  width:65%;
  height: auto;
  display: block;
}
.hism_fl_img {
  width:30%;
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.hism_fl_img .hismimg_s01 {
  width:100%;
  height: auto;
  display: block;
  margin:0 0 0 0;
  box-shadow:10px 10px 0 var(--color-1st);
}
.hism_fl_img .hismimg_s02 {
  width:100%;
  height: auto;
  display: block;
  margin:0 0 0 0;
  box-shadow:10px 10px 0 var(--color-3rd);
}


/* Recruit */
.recruitline01_base {
  width:100%;
  height: auto;
  display: block;
  background-image: url(../img/recruit/tsbg.jpg);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
}
.recruitlist01 {
  width:100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  padding-bottom:8%;
  margin:0 auto 80px;
}
.recruitlist01 li {
  width:47%;
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding:1.5em;
  border-radius: 10px;
  background-color: rgba(255,255,255,0.9);
  box-shadow: 0px 5px 10px rgba(0,0,0,0.2);
  margin:0 1.5% 3%!important;
}
.recruitlist01 li .rl01_img {
  width:40%;
}
.recruitlist01 li .rl01_cc {
  width:55%;
}
.recruitlist01 li .rl01_cc h3 {
font-size: clamp(1rem, 0.6rem + 0.8vw, 1.6rem);
  font-weight: 700;
  margin-bottom:0.5em;
}
.recruitlist01 li .rl01_cc h3 span {
  width:40px;
  height: 40px;
  display: inline-block;
  font-size: 18px;
  letter-spacing: -1px;
  font-weight: 700;
  line-height: 40px;
  text-align: center;
  color: var(--color-white);
  background-color: var(--color-1st);
  border-radius: 9999px;
  margin:0 0.5em 0 0;
}
.recruitlist01 li .rl01_cc p {
  margin:0;
}

.recruitsec02 {
  width:100%;
  height: auto;
  display: block;
  background-image: url(../img/recruit/bg02.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.rec_c2_cov {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: rgba(0, 95, 219, 0.8);
background: linear-gradient(90deg, rgba(0, 95, 219, 0.8) 0%, rgba(0, 142, 194, 0.8) 100%);
}
.rec_c2_cov h2 {
  color:var(--color-white);
  text-align: center;
}
.rec_c2_cov p {
  font-weight: 700;
  color:var(--color-white);
  text-align: center;
  margin:0;
}


.recruit_sec03 {
width:100%;
height: autp;
display: block;
}
.recruit_sec03 h2 {
  color:var(--color-1st);
  text-align: center;
}
.recruit_sec03 ul.recruitlist02 {
  width:100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  margin:0 auto;
}
.recruit_sec03 ul.recruitlist02 li {
  flex:1;
  height: auto;
  display: flex;
  flex-direction: column;
  margin:0 1%;
}
.recruit_sec03 ul.recruitlist02 li .recl03_img {
width:100%;
height: auto;
display: block;
overflow: hidden;
border-radius: 5px;
margin-bottom: 0.5em;
}
.recruit_sec03 ul.recruitlist02 li p {
  text-align: center;
  margin:0!important;
}


.recruit_sec04 {
width:100%;
height: autp;
display: block;
background-color: var(--color-f8);
}
.recruit_sec04 h2 {
  color:var(--color-1st);
  text-align: center;
}


.recruit_sec05 {
width:100%;
height: autp;
display: block;
}
.recruit_sec05 h2 {
  color:var(--color-1st);
  text-align: center;
}

.rec05mm {
  width:100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  margin:0 auto 50px;
}
.rec05_01 {
  width:50%;
  height: auto;
  display: block;
  padding:0 5% 0 0;
  border-right:1px dotted var(--color-1st);
}
.rec05_02 {
  width:50%;
  height: auto;
  display: block;
  padding:0 0 0 5%;
}
.rec05mm .rec05_01 h3 {
  width:100%;
  height: auto;
  display: block;
  font-size: clamp(1.1rem, 0.8rem + 0.6vw, 1.4rem);
  font-weight: 700;
  line-height: 1.25em;
  text-align: center;
  background-image: url(../img/header/ic-tel_cir_b.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 60px;
  padding-top:65px;
}
.rec05mm .rec05_02 h3 {
  width:100%;
  height: auto;
  display: block;
  font-size: clamp(1.1rem, 0.8rem + 0.6vw, 1.4rem);
  font-weight: 700;
  line-height: 1.25em;
  text-align: center;
  background-image: url(../img/header/ic-mail.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 60px;
  padding-top:65px;
}
p.optxt {
  text-align: center;
  line-height:1em;
  margin-bottom: 0em;
}
p.telnum {
  width:fit-content;
  height: auto;
  display: block;
  font-size: clamp(1.35rem, 1rem + 1vw, 4rem);
  font-weight: 700;
  line-height: 70px;
  margin:0 auto;
}
p.telnum a {
  width:100%;
  height: 70px;
  display: block;
  text-decoration: none;
  padding:0 0 0 55px;
  color: var(--color-black);
  background-image: url(../img/header/ic-freedial.webp);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 50px auto;
}

.rec05list {
  width:80%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(../img/header/box_1st.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 80% 1px;
  margin:0 auto!important;
}
.rec05list li {
flex: 1;
height: auto;
aspect-ratio: 1 / 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
  font-weight: 700;
color:var(--color-white);
background-color: rgba(0,0,0,0.2);
margin:0 3%;
border-radius: 9999px;
}
.rec05list li:nth-child(1) {
  background-color: var(--color-1st);
}
.rec05list li:nth-child(2) {
  background-color: var(--color-1st);
}
.rec05list li:nth-child(3) {
  background-color: var(--color-1st);
}
.rec05list li:nth-child(4) {
  background-color: var(--color-2nd);
}
.rec05list li span {
  display: block;
  font-size: clamp(1.1rem, 0.8rem + 0.6vw, 1.4rem);
  text-align: center;
  font-weight: 700;
}


/* Access */
.accline01 {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  padding-bottom:50px;
  border-bottom:1px dotted var(--color-1st);
  margin-bottom: 50px;
}
.accl_cc {
  width:100%;
}
.accl_map {
  width:100%;
}
.accl_map iframe {
  width:100%;
  height: 500px;
  display: block;
}

}

/* ----------------------------------------------------------
Style for iPad Pro
---------------------------------------------------------- */
@media screen and (min-width: 769px) and (max-width: 1024px) {

/* Pagetitle */
.pagetitle {
  width:100%;
  height: auto;
  display: flex;
  align-items: center;
  aspect-ratio: 4 / 1;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  margin-top:160px;
  position: relative;
}
.pagetitle .ptbody {
  width:fit-content;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding:1em 4em 1.5em 5%;
  margin-bottom: 0em;
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
  box-shadow:0px 5px 10px rgba(0,0,0,0.2);
  position: absolute;
  top:50%;
  left:0;
  z-index:1;
  transform: translateY(-50%);
}
.pagetitle .ptbody h2 {
font-size: clamp(1.5rem, 1rem + 1.5vw, 2.4rem);
font-weight: 700;
color:var(--color-white);
text-shadow: 0px 1px 6px rgba(0,0,0,0.5);
margin-bottom: 0.3em;
}
.pagetitle .ptbody ul {
  width:100%;
  height: auto;
  display: flex;
  justify-content: flex-start;
  margin-bottom: 0em;
}
.pagetitle .ptbody ul li {
  font-size:12px;
  font-weight: 700;
  line-height: 1.5em;
  color:var(--color-white);
text-shadow: 0px 1px 6px rgba(0,0,0,0.5);
  margin:0;
}
.pagetitle .ptbody ul li:after {
  content:" > ";
  margin-right: 0.5em;
}
.pagetitle .ptbody ul li:last-child:after {
  content:"";
  margin-right:0;
}
.pagetitle .ptbody ul li a {
  color:var(--color-white);
  text-decoration: none;
}
.pagetitle .ptbody ul li a:hover {
  text-decoration: underline;
}

.pagetitle .ptbg {
width:90%;
height: 100%;
display: block;
margin-left:auto;
border-top-left-radius: 9999px;
border-bottom-left-radius: 9999px;
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-color: #555;
}

/* CaseStudy */
.casestudyslide {
  width:100%;
  height: auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 auto;
}
.casestudyslide li {
  width:46%;
  height: auto;
  display: block;
  margin:0 2% 50px 2%!important;
border-top-right-radius: 100px;
box-shadow:0px 5px 10px rgba(0,0,0,0.15);
}


/* News */

.mmcc ul.newsslide, 
.newsslide {
  width:100%;
  height: auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 auto;
}
.newsslide li {
  width:46%;
  height: auto;
  display: block;
  margin:0 2% 50px 2%!important;
border-top-right-radius: 100px;
box-shadow:0px 5px 10px rgba(0,0,0,0.15);
}


/* FAQ */
.faq-list .faq-item {
  width:100%;
  height: auto;
  display: block;
  border-bottom: 1px dotted var(--color-ccc);
  padding-bottom: 10px;
  margin:0 0 5px 0;
    transition: .4s all;
}
.faq-list .faq-item {
  width:100%;
  height: auto;
  display: block;
  background-image: url(../img/header/ic-menu_open.webp);
  background-repeat: no-repeat;
  background-position: 98% 25%;
  background-size: 30px;
  cursor: pointer;
    transition: .4s all;
}
.faq-list .faq-item.active {
  background-image: url(../img/header/ic-menu_close.webp);
}
.faq-list .faq-item h3 {
  width:100%;
  height: auto;
  min-height:50px;
  display: flex;
  align-items: center;
font-size: clamp(1rem,0.9vw + 0.5rem, 10rem);
font-family: var(--font-min);
letter-spacing: var(--font-min-ls);
font-weight: 500;
line-height: 1.5em;
  padding:0.2em 4em 0px 75px;
  background-image: url(../img/index/ic-faq_q.webp);
  background-repeat: no-repeat;
  background-position: 15px 10px;
  background-size: 30px auto;
    transition: .4s all;
}
.faq-list .faq-item h3:hover {
font-weight: 700;
}
.faq-list .faq-item p {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: none; /* JSで制御するので不要 */
  font-size: clamp(1rem,1vw + 0.1rem, 1.5rem);
  line-height: 1.5em;
  margin: 0;
  padding: 0 80px 0 75px;
  background-image: url(../img/index/ic-faq_a.webp);
  background-repeat: no-repeat;
  background-position: 15px 0;
  background-size: 40px auto;
}

.faq-list .faq-item.active h3 {
  font-weight: 700;
}
.faq-list .faq-item.active p {
  display: block;
  min-height: 60px;
  max-height: 800px; /* 十分な高さに設定（実際の内容に応じて調整） */
  opacity: 1;
  padding:0.3em 80px 30px 75px;
  margin-top: 0.5em;
}


/* Staff */
.stafflist {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  margin:0 auto;
}
.stafflist li {
 width: 100%;
 height: auto;
 display: flex;
 justify-content: space-between;
 background-color: var(--color-f8);
 border-radius: 40px;
 padding:2em 3em;
 box-shadow:0px 5px 15px rgba(0,0,0,0.2);
 margin:0 0 2em 0!important;
}
.stafflist li .stf_img {
  width:40%;
  height: auto;
  display: block;
}
.stafflist li .stf_img img {
 border-radius: 30px;
}
.stafflist li .stf_cc {
  width:55%;
}
.stafflist li .stf_cc h4 {
  width:100%;
  height: auto;
  display: flex;
  align-items: center;
font-size: clamp(1.5rem, 1rem + 1.5vw, 2.4rem);
  font-weight: 700;
line-height: 1em;
}
.stafflist li .stf_cc h4 span {
font-size: clamp(0.9rem, 0rem + 1vw, 1.1rem);
font-weight: 400;
line-height: 1em;
color:var(--color-1st);
margin-left:1em
}
.stafflist li .stf_cc p {
  margin:0;
}


.partnerlist {
  width:100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.partnerlist li {
  width:48%;
  height: auto;
  display: flex;
  flex-direction: column;
  padding:2em;
  background-color: var(--color-white);
  border-radius: 20px;
  margin:0 1% 2%!important;
  box-shadow:0px 5px 10px rgba(0,0,0,0.2);
}
.partnerlist li h4 {
  color:var(--color-1st);
}
.partnerlist li p.pl_comment {
  margin-bottom: 1em!important;
}
.partnerlist li p.pl_link {
  font-size: clamp(0.9rem, 0rem + 1vw, 1.1rem);
  margin-bottom: 0em!important;
}


/* About */
.historymm {
  width:100%;
  height: auto;
  display: block;
}
.hism_fl {
  width:100%;
  height: auto;
  display: flex;
  justify-content: space-between;
}
.hism_fl_cc {
  width:65%;
  height: auto;
  display: block;
}
.hism_fl_img {
  width:30%;
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.hism_fl_img .hismimg_s01 {
  width:100%;
  height: auto;
  display: block;
  margin:0 0 0 0;
  box-shadow:10px 10px 0 var(--color-1st);
}
.hism_fl_img .hismimg_s02 {
  width:100%;
  height: auto;
  display: block;
  margin:0 0 0 0;
  box-shadow:10px 10px 0 var(--color-3rd);
}


/* Recruit */
.recruitline01_base {
  width:100%;
  height: auto;
  display: block;
  background-image: url(../img/recruit/tsbg.jpg);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 200% auto;
}
.recruitlist01 {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  padding-bottom:8%;
  margin:0 auto 80px;
}
.recruitlist01 li {
  width:100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding:1.5em;
  border-radius: 10px;
  background-color: rgba(255,255,255,0.9);
  box-shadow: 0px 5px 10px rgba(0,0,0,0.2);
  margin:0 0% 20px!important;
}
.recruitlist01 li .rl01_img {
  width:40%;
}
.recruitlist01 li .rl01_cc {
  width:55%;
}
.recruitlist01 li .rl01_cc h3 {
font-size: clamp(1rem, 0.6rem + 0.8vw, 1.6rem);
  font-weight: 700;
  margin-bottom:0.5em;
}
.recruitlist01 li .rl01_cc h3 span {
  width:40px;
  height: 40px;
  display: inline-block;
  font-size: 18px;
  letter-spacing: -1px;
  font-weight: 700;
  line-height: 40px;
  text-align: center;
  color: var(--color-white);
  background-color: var(--color-1st);
  border-radius: 9999px;
  margin:0 0.5em 0 0;
}
.recruitlist01 li .rl01_cc p {
  margin:0;
}

.recruitsec02 {
  width:100%;
  height: auto;
  display: block;
  background-image: url(../img/recruit/bg02.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.rec_c2_cov {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: rgba(0, 95, 219, 0.8);
background: linear-gradient(90deg, rgba(0, 95, 219, 0.8) 0%, rgba(0, 142, 194, 0.8) 100%);
}
.rec_c2_cov h2 {
  color:var(--color-white);
  text-align: center;
}
.rec_c2_cov p {
  font-weight: 700;
  color:var(--color-white);
  text-align: center;
  margin:0;
}


.recruit_sec03 {
width:100%;
height: autp;
display: block;
}
.recruit_sec03 h2 {
  color:var(--color-1st);
  text-align: center;
}
.recruit_sec03 ul.recruitlist02 {
  width:100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin:0 auto;
}
.recruit_sec03 ul.recruitlist02 li {
  width:47%;
  height: auto;
  display: flex;
  flex-direction: column;
  margin:0 1.5% 4%;
}
.recruit_sec03 ul.recruitlist02 li .recl03_img {
width:100%;
height: auto;
display: block;
overflow: hidden;
border-radius: 5px;
margin-bottom: 0.5em;
}
.recruit_sec03 ul.recruitlist02 li p {
  text-align: center;
  margin:0!important;
}


.recruit_sec04 {
width:100%;
height: autp;
display: block;
background-color: var(--color-f8);
}
.recruit_sec04 h2 {
  color:var(--color-1st);
  text-align: center;
}


.recruit_sec05 {
width:100%;
height: autp;
display: block;
}
.recruit_sec05 h2 {
  color:var(--color-1st);
  text-align: center;
}

.rec05mm {
  width:100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  margin:0 auto 50px;
}
.rec05_01 {
  width:50%;
  height: auto;
  display: block;
  padding:0 5% 0 0;
  border-right:1px dotted var(--color-1st);
}
.rec05_02 {
  width:50%;
  height: auto;
  display: block;
  padding:0 0 0 5%;
}
.rec05mm .rec05_01 h3 {
  width:100%;
  height: auto;
  display: block;
  font-size: clamp(1.1rem, 0.8rem + 0.6vw, 1.4rem);
  font-weight: 700;
  line-height: 1.25em;
  text-align: center;
  background-image: url(../img/header/ic-tel_cir_b.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 60px;
  padding-top:65px;
}
.rec05mm .rec05_02 h3 {
  width:100%;
  height: auto;
  display: block;
  font-size: clamp(1.1rem, 0.8rem + 0.6vw, 1.4rem);
  font-weight: 700;
  line-height: 1.25em;
  text-align: center;
  background-image: url(../img/header/ic-mail.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 60px;
  padding-top:65px;
}
p.optxt {
  text-align: center;
  line-height:1em;
  margin-bottom: 0em;
}
p.telnum {
  width:fit-content;
  height: auto;
  display: block;
  font-size: clamp(1.35rem, 1rem + 1vw, 4rem);
  font-weight: 700;
  line-height: 70px;
  margin:0 auto;
}
p.telnum a {
  width:100%;
  height: 70px;
  display: block;
  text-decoration: none;
  padding:0 0 0 55px;
  color: var(--color-black);
  background-image: url(../img/header/ic-freedial.webp);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 50px auto;
}

.rec05list {
  width:80%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(../img/header/box_1st.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 80% 1px;
  margin:0 auto!important;
}
.rec05list li {
flex: 1;
height: auto;
aspect-ratio: 1 / 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
  font-weight: 700;
color:var(--color-white);
background-color: rgba(0,0,0,0.2);
margin:0 3%;
border-radius: 9999px;
}
.rec05list li:nth-child(1) {
  background-color: var(--color-1st);
}
.rec05list li:nth-child(2) {
  background-color: var(--color-1st);
}
.rec05list li:nth-child(3) {
  background-color: var(--color-1st);
}
.rec05list li:nth-child(4) {
  background-color: var(--color-2nd);
}
.rec05list li span {
  display: block;
  font-size: clamp(1.1rem, 0.8rem + 0.6vw, 1.4rem);
  text-align: center;
  font-weight: 700;
}

/* Access */
.accline01 {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  padding-bottom:50px;
  border-bottom:1px dotted var(--color-1st);
  margin-bottom: 50px;
}
.accl_cc {
  width:100%;
}
.accl_map {
  width:100%;
}
.accl_map iframe {
  width:100%;
  height: 400px;
  display: block;
}

}


/* ----------------------------------------------------------
Style for Smartphone
---------------------------------------------------------- */
@media screen and (max-width: 768px) {

  /* Pagetitle */
.pagetitle {
  width:100%;
  height: auto;
  display: flex;
  align-items: center;
  aspect-ratio: 2 / 1;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  margin-top:160px;
  position: relative;
}
.pagetitle .ptbody {
  width:fit-content;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding:1em 3em 1.5em 5%;
  margin-bottom: 0em;
  border-top-right-radius: 9999px;
  border-bottom-right-radius: 9999px;
  box-shadow:0px 5px 10px rgba(0,0,0,0.2);
  position: absolute;
  top:60%;
  left:0;
  z-index:1;
}
.pagetitle .ptbody h2 {
font-size: 22px;
font-weight: 700;
color:var(--color-white);
text-shadow: 0px 1px 6px rgba(0,0,0,0.5);
margin-bottom: 0.3em;
}
.pagetitle .ptbody ul {
  width:100%;
  height: auto;
  display: flex;
  justify-content: flex-start;
  margin-bottom: 0em;
}
.pagetitle .ptbody ul li {
  font-size:12px;
  font-weight: 700;
  line-height: 1.5em;
  color:var(--color-white);
text-shadow: 0px 1px 6px rgba(0,0,0,0.5);
  margin:0;
}
.pagetitle .ptbody ul li:after {
  content:" > ";
  margin-right: 0.5em;
}
.pagetitle .ptbody ul li:last-child:after {
  content:"";
  margin-right:0;
}
.pagetitle .ptbody ul li a {
  color:var(--color-white);
  text-decoration: none;
}
.pagetitle .ptbody ul li a:hover {
  text-decoration: underline;
}

.pagetitle .ptbg {
width:90%;
height: 100%;
display: block;
margin-left:auto;
border-top-left-radius: 9999px;
border-bottom-left-radius: 9999px;
background-repeat: no-repeat;
background-position: center center;
background-size: cover;
background-color: #555;
}


/* CaseStudy */
.casestudyslide {
  width:100%;
  height: auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 auto;
}
.casestudyslide li {
  width:100%;
  height: auto;
  display: block;
  margin:0 0% 30px 0%!important;
border-top-right-radius: 100px;
box-shadow:0px 5px 10px rgba(0,0,0,0.15);
}


/* News */

.mmcc ul.newsslide, 
.newsslide {
  width:100%;
  height: auto;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  margin: 0 auto;
}
.newsslide li {
width:100%;
  height: auto;
  display: block;
  margin:0 0% 30px 0%!important;
border-top-right-radius: 100px;
box-shadow:0px 5px 10px rgba(0,0,0,0.15);
}


/* FAQ */
.faq-list .faq-item {
  width:100%;
  height: auto;
  display: block;
  border-bottom: 1px dotted var(--color-ccc);
  padding-bottom: 15px;
  margin:0 0 15px 0;
    transition: .4s all;
}
.faq-list .faq-item {
  width:100%;
  height: auto;
  display: block;
  background-image: url(../img/header/ic-menu_open.webp);
  background-repeat: no-repeat;
  background-position: 100% 8px;
  background-size: 20px;
  cursor: pointer;
    transition: .4s all;
}
.faq-list .faq-item.active {
  background-image: url(../img/header/ic-menu_close.webp);
}
.faq-list .faq-item h3 {
  width:100%;
  height: auto;
  min-height:50px;
  display: flex;
  align-items: center;
font-size: 16px;
font-family: var(--font-min);
letter-spacing: var(--font-min-ls);
font-weight: 500;
line-height: 1.5em;
  padding:35px 0 0 0;
  background-image: url(../img/index/ic-faq_q.webp);
  background-repeat: no-repeat;
  background-position: left 5px;
  background-size: 25px auto;
    transition: .4s all;
}
.faq-list .faq-item h3:hover {
font-weight: 700;
}
.faq-list .faq-item p {
  height: 0;
  overflow: hidden;
  opacity: 0;
  transition: none; /* JSで制御するので不要 */
  font-size:14px;
  line-height: 2em;
  margin: 0;
  padding:0px 0 0 0;
  background-image: url(../img/index/ic-faq_a.webp);
  background-repeat: no-repeat;
  background-position: left 5px;
  background-size: 25px auto;
}

.faq-list .faq-item.active h3 {
  font-weight: 700;
}
.faq-list .faq-item.active p {
  display: block;
  min-height: 60px;
  max-height: 800px; /* 十分な高さに設定（実際の内容に応じて調整） */
  opacity: 1;
  padding:35px 0 0 0;
  margin-top: 0.5em;
}


/* Staff */
.stafflist {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  margin:0 auto;
}
.stafflist li {
 width: 100%;
 height: auto;
 display: flex;
 flex-direction: column;
 background-color: var(--color-f8);
 border-radius: 30px;
 padding:2em 2em;
 box-shadow:0px 5px 15px rgba(0,0,0,0.2);
 margin:0 0 2em 0!important;
}
.stafflist li .stf_img {
  width:80%;
  height: auto;
  display: block;
  margin:0 auto;
}
.stafflist li .stf_img img {
 border-radius: 20px;
}
.stafflist li .stf_cc {
  width:100%;
  height: auto;
  display: block;
  padding:1em 0 0 0;
}
.stafflist li .stf_cc h4 {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
font-size: 26px;
  font-weight: 700;
  text-align: center;
line-height: 1em;
}
.stafflist li .stf_cc h4 span {
  display: block;
  text-align: center;
font-size: 11px;
font-weight: 400;
line-height: 1em;
color:var(--color-1st);
padding-top:15px;
}
.stafflist li .stf_cc p {
  margin:0;
}


.partnerlist {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
.partnerlist li {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  padding:2em;
  background-color: var(--color-white);
  border-radius: 20px;
  margin:0 0 2%!important;
  box-shadow:0px 5px 10px rgba(0,0,0,0.2);
}
.partnerlist li h4 {
  color:var(--color-1st);
}
.partnerlist li p.pl_comment {
  margin-bottom: 1em!important;
}
.partnerlist li p.pl_link {
  font-size: clamp(0.9rem, 0rem + 1vw, 1.1rem);
  margin-bottom: 0em!important;
}


/* About */
.historymm {
  width:100%;
  height: auto;
  display: block;
}
.hism_fl {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
}
.hism_fl_cc {
  width:100%;
  height: auto;
  display: block;
  margin-bottom: 50px;
}
.hism_fl_img {
  width:100%;
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.hism_fl_img .hismimg_s01 {
  width:80%;
  height: auto;
  display: block;
  margin:0 auto;
  box-shadow:10px 10px 0 var(--color-1st);
}
.hism_fl_img .hismimg_s02 {
  width:80%;
  height: auto;
  display: block;
  margin:0 auto;
  box-shadow:10px 10px 0 var(--color-3rd);
}


/* Recruit */
.recruitline01_base {
  width:100%;
  height: auto;
  display: block;
  background-image: url(../img/recruit/tsbg.jpg);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 200% auto;
}
.recruitlist01 {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  padding-bottom:8%;
  margin:0 auto 80px;
}
.recruitlist01 li {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  padding:1.5em;
  border-radius: 10px;
  background-color: rgba(255,255,255,0.9);
  box-shadow: 0px 5px 10px rgba(0,0,0,0.2);
  margin:0 0% 20px!important;
}
.recruitlist01 li .rl01_img {
  width:100%;
  margin-bottom: 1.5em;
  overflow: hidden;
  border-radius: 5px;
}
.recruitlist01 li .rl01_cc {
  width:100%;
}
.recruitlist01 li .rl01_cc h3 {
font-size: clamp(1rem, 0.6rem + 0.8vw, 1.6rem);
  font-weight: 700;
  margin-bottom:0.5em;
}
.recruitlist01 li .rl01_cc h3 span {
  width:40px;
  height: 40px;
  display: inline-block;
  font-size: 18px;
  letter-spacing: -1px;
  font-weight: 700;
  line-height: 40px;
  text-align: center;
  color: var(--color-white);
  background-color: var(--color-1st);
  border-radius: 9999px;
  margin:0 0.5em 0 0;
}
.recruitlist01 li .rl01_cc p {
  margin:0;
}

.recruitsec02 {
  width:100%;
  height: auto;
  display: block;
  background-image: url(../img/recruit/bg02.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.rec_c2_cov {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: rgba(0, 95, 219, 0.8);
background: linear-gradient(90deg, rgba(0, 95, 219, 0.8) 0%, rgba(0, 142, 194, 0.8) 100%);
}
.rec_c2_cov h2 {
  color:var(--color-white);
  text-align: center;
}
.rec_c2_cov p {
  font-weight: 700;
  color:var(--color-white);
  text-align: center;
  margin:0;
}


.recruit_sec03 {
width:100%;
height: autp;
display: block;
}
.recruit_sec03 h2 {
  color:var(--color-1st);
  text-align: center;
}
.recruit_sec03 ul.recruitlist02 {
  width:100%;
  height: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin:0 auto;
}
.recruit_sec03 ul.recruitlist02 li {
  width:47%;
  height: auto;
  display: flex;
  flex-direction: column;
  margin:0 1.5% 4%;
}
.recruit_sec03 ul.recruitlist02 li .recl03_img {
width:100%;
height: auto;
display: block;
overflow: hidden;
border-radius: 5px;
margin-bottom: 0.5em;
}
.recruit_sec03 ul.recruitlist02 li p {
  text-align: center;
  margin:0!important;
}


.recruit_sec04 {
width:100%;
height: autp;
display: block;
background-color: var(--color-f8);
}
.recruit_sec04 h2 {
  color:var(--color-1st);
  text-align: center;
}


.recruit_sec05 {
width:100%;
height: autp;
display: block;
}
.recruit_sec05 h2 {
  color:var(--color-1st);
  text-align: center;
}

.rec05mm {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  margin:0 auto 50px;
}
.rec05_01 {
  width:100%;
  height: auto;
  display: block;
  padding:0 0 40px 0;
  border-bottom:1px dotted var(--color-1st);
}
.rec05_02 {
  width:100%;
  height: auto;
  display: block;
  padding:40px 0 0 0;
}
.rec05mm .rec05_01 h3 {
  width:100%;
  height: auto;
  display: block;
  font-size: clamp(1.1rem, 0.8rem + 0.6vw, 1.4rem);
  font-weight: 700;
  line-height: 1.25em;
  text-align: center;
  background-image: url(../img/header/ic-tel_cir_b.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 60px;
  padding-top:65px;
}
.rec05mm .rec05_02 h3 {
  width:100%;
  height: auto;
  display: block;
  font-size: clamp(1.1rem, 0.8rem + 0.6vw, 1.4rem);
  font-weight: 700;
  line-height: 1.25em;
  text-align: center;
  background-image: url(../img/header/ic-mail.webp);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: auto 60px;
  padding-top:65px;
}
p.optxt {
  text-align: center;
  line-height:1em;
  margin-bottom: 0em;
}
p.telnum {
  width:fit-content;
  height: auto;
  display: block;
  font-size: clamp(1.35rem, 1rem + 1vw, 4rem);
  font-weight: 700;
  line-height: 70px;
  margin:0 auto;
}
p.telnum a {
  width:100%;
  height: 70px;
  display: block;
  text-decoration: none;
  padding:0 0 0 55px;
  color: var(--color-black);
  background-image: url(../img/header/ic-freedial.webp);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 50px auto;
}

.rec05list {
  width:100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url(../img/header/box_1st.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 80% 1px;
  margin:0 auto!important;
}
.rec05list li {
flex: 1;
height: auto;
aspect-ratio: 1 / 1;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
text-align: center;
font-weight: 12px;
  font-weight: 700;
color:var(--color-white);
background-color: rgba(0,0,0,0.2);
margin:0 1%;
border-radius: 9999px;
}
.rec05list li:nth-child(1) {
  background-color: var(--color-1st);
}
.rec05list li:nth-child(2) {
  background-color: var(--color-1st);
}
.rec05list li:nth-child(3) {
  background-color: var(--color-1st);
}
.rec05list li:nth-child(4) {
  background-color: var(--color-2nd);
}
.rec05list li span {
  display: block;
  font-size: 12;
  text-align: center;
  font-weight: 700;
}

/* Access */
.accline01 {
  width:100%;
  height: auto;
  display: flex;
  flex-direction: column;
  padding-bottom:50px;
  border-bottom:1px dotted var(--color-1st);
  margin-bottom: 50px;
}
.accl_cc {
  width:100%;
}
.accl_map {
  width:100%;
}
.accl_map iframe {
  width:100%;
  height: 400px;
  display: block;
}

}
