/*********

DEFAULT RESET
imagecolor: #ff9393
subcolor: #7bcc9d

**********/

.breadcrumbs {
font-size: 1.12rem;
padding: 1vw 4.8vw;
width: 100%;
}
.breadcrumbs a {
color: #ff9393;
}
@media screen and (min-width: 768px) {
.breadcrumbs {
font-size: clamp(1.2rem, 1.3vw, 1.3rem);
}
}
@media screen and (min-width: 992px) {
.breadcrumbs {
max-width: calc(1040px + 10vw);
margin: auto;
font-size: clamp(1.3rem, 1.4vw, 1.4rem);
}
}


/*********

COMMON

**********/
.pageH__ttl {
padding: 8.6% 0;
text-align: center;
}
.pageH__ttl .t_jp {
font-size: 2.4rem;
font-weight: 900;
}
.pageH__ttl .t_eng {
display: block;
font-size: 1.4rem;
color: #ff9393;
font-weight: 600;
}
.paged__clmttl {
font-size: 2.23rem;
font-weight: 700;
}
@media screen and (min-width: 768px) {
.pageH__ttl {
font-size: clamp(2.8rem, 3.2vw, 3.2rem);
}
.pageH__ttl .t_jp {
font-size: 3.2rem;
}
.clmInflex {
display: -webkit-flex;
display: -moz-flex;
display: flex;
}
}
@media screen and (min-width: 992px) {
.pageH__ttl {
padding: 75px 0;
text-align: center;
}
.pageH__ttl .t_jp {
font-size: clamp(3.2rem, 4.2vw, 4.2rem);
}
.lsInflex {
display: -webkit-flex;
display: -moz-flex;
display: flex;
}
}

/*********

ABOUTUS

**********/
.cGreet {
margin: 0 calc(50% - 50vw);
width: 100vw;
background: #fff1f1;
padding: 2rem 4.8vw;
}
.cGreet > h2 {
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
gap: 1rem;
}
.cGreet__sub {
display: block;
font-size: 1.3rem;
color: #ff9393;
}
.cGreet__line {
content: '';
display: block;
width: 16px;
height: 1px;
border-bottom: 1px solid #555;
}
.cGreet > h3 {
color: #ff9393;
font-size: 2rem;
letter-spacing: 0.16em;
margin: 3rem 0;
}
.cGreet > h3 > span {
display: block;
font-size: 0.64em;
}
.cGreet__txt {
background: #fff;
border-radius: 1.4rem;
border: 1px solid #ff9393;
padding: 1.2em 1.6em;
position: relative;
}
.cGreet__txt::before,
.cGreet__txt::after {
font-family: 'Material Icons';
content: '\e244';
font-size: 4.8rem;
color: #ff9393;
line-height: 1;
position: absolute;
}
.cGreet__txt::before {
top: -0.5em;
left: -0.3em;
transform: scale(-1, -1);
}
.cGreet__txt::after {
bottom: -0.5em;
right: -0.3em;
}
.cGreet__txt p br {
display: none;
}
.greet__sign {
font-size: 1.2rem;
color: #797979;
line-height: 1;
text-align: center;
}
.abt_Shots {
margin: 4.8vw calc(50% - 50vw) 0;
width: 100vw;
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
-webkit-justify-content: space-between;
-moz-justify-content: space-between;
justify-content: space-between;
gap: 0.64rem;
}
.abt_Shots figure {
flex: 1;
border: 1px solid rgba(255,255,255,0.75);
overflow: hidden;
}
.abt_Shots figure:nth-child(1) {
border-radius: 0 1rem 1rem 0;
}
.abt_Shots figure:nth-child(2) {
border-radius: 1rem;
}
.abt_Shots figure:nth-child(3) {
border-radius: 1rem 0 0 1rem;
}
.cBh {
margin: 10vw auto;
}
.cBh > h3 {
margin-bottom: 6.4rem;
font-size: 1.9rem;
letter-spacing: 0.18em;
text-align: center;
position: relative;
}
.cBh > h3 i {
font-size: 1.2rem;
display: block;
font-style: normal;
font-weight: normal;
letter-spacing: 0.1em;
}
.cBh img {
width: 50%;
}
.cProf {
margin: 8.5vw 0 0;
padding: 0 10.5%;
}
.cProf .name {
display: -webkit-inline-flex;
display: -moz-inline-flex;
display: inline-flex;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
white-space: nowrap;
margin-bottom: 2.4rem;
}
.cProf .name h3 {
font-size: 1.2rem;
color: #666;
padding-right: 1.6rem;
position: relative;
}
.cProf .name h3 em,
.cProf .name h3 strong,
.cProf .name h3 i {
display: block;
font-style: normal;
font-weight: normal;
}
.cProf .name h3 em {
margin-bottom: 1.3rem;
letter-spacing: 0.25em;
}
.cProf .name h3 strong {
font-size: 1.9rem;
-webkit-text-stroke: 0.2px #ff9393;
margin: 0 0 6px -1px;
letter-spacing: 0.18em;
}
.cProf .name h3 i {
letter-spacing: 0.1em;
}
.cProf .name .born {
font-size: 1.2rem;
padding-left: 1.6rem;
}
.cBh > h3::before,
.cProf .name h3::after {
content: '';
display: block;
position: absolute;
}
.cBh > h3::before {
width: 80px;
height: 60px;
background: #ffe0d4;
clip-path: polygon(0 0, 100% 0, 50% 100%);
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: -1;
}
.cProf .name h3::after {
width: 1px;
height: 100%;
background: #ff9393;
top: 0;
right: 0;
}
.histTbl th {
white-space: nowrap;
}
.histTbl th,
.histTbl td {
border-bottom: 1px solid #d5d5d5;
font-size: 1.3rem;
}
.histTbl th {
vertical-align: top;
color: ff9393;
font-weight: normal;
}
.histTbl td {
padding: 0.64rem 0 0.64rem 1rem;
line-height: 1.3;
}
@media screen and (min-width: 768px) {
.cGreet {
padding: 8vw 4.8vw;
}
.cGreet__txt p {
line-height: 2.5;
}
.cGreet__txt p br {
display: block;
}
.cGreet__sub {
font-size: 1.4rem;
}
.abt_Shots {
gap: 1.8rem;
}
.cBh {
margin: 8vw auto;
}
.cBh img {
width: 42%;
}
.cBh > h3::before {
width: 90px;
height: 70px;
}
.cBh .clmInflex {
gap: 2.2em;
}
.cProf {
flex: 1;
margin: 0;
padding: 0;
}
.histTbl th,
.histTbl td {
display: block;
padding: 1.2rem 0 1.2rem 1.4rem;
line-height: inherit;
}
}
@media screen and (min-width: 992px) {
.cGreet {
padding-right: 6.4%;
}
.cGreet > h2,
.cGreet > h3 {
max-width: 1040px;
margin: auto;
}
.cGreet > h3 {
text-align: center;
font-size: 2.48rem;
margin: 5rem auto;
}
.cGreet__txt {
width: 75%;
max-width: 800px;
padding: 40px;
}
.cGreet__txt::before,
.cGreet__txt::after {
font-size: 6rem;
}
.cGreet__txt p {
font-size: 1.4rem;
line-height: 2.3;
}
.abt_Shots {
margin: 50px auto 0;
max-width: 1040px;
gap: 2.4rem;
}
.cBh {
margin: 85px auto;
}
.cBh .clmInflex {
padding-bottom: 140px;
gap: 4.8rem;
}
.cProf {
position: relative;
}
.cProf .name {
position: absolute;
top: 0;
left: 160px
}
.cBh img {
width: 140px;
position: absolute;
top: 0;
left: 0;
}
.histTbl {
margin: 0;
position: relative;
top: 140px;
}
.histTbl th,
.histTbl td {
display: table-cell;
}
}


/*********

SUBJECT

**********/
.cspWrapper {
border-bottom: 1px solid #d5d5d5;
margin: 8.5vw 0;
padding-bottom: 8.5vw;
scroll-margin-top: 80px;
}
#subject > .cspWrapper:last-child {
border-bottom: none;
padding-bottom: 0;
}
.subHead {
/*display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
*/
background: url('../images/spec_icon_sogo.png') no-repeat 0 0;
background-size: contain;
padding-left: 74px;
}
.subHead > h2 {
font-size: 2.4rem;
}
#ophthalmology .subHead {
background: url('../images/spec_icon_eye.png') no-repeat 0 0;
background-size: contain;
}
#dermatology .subHead {
background: url('../images/spec_icon_skins.png') no-repeat 0 0;
background-size: contain;
}
#speech .subHead {
background: url('../images/spec_icon_gengo.png') no-repeat 0 0;
background-size: contain;
}
.cspWrapper > h3 {
display: inline-block;
border-radius: 50px;
background: #424242;
font-size: 1.6rem;
color: #fff;
padding: 1.24rem 2rem;
margin: 1.8rem auto 0;
}
.cspInner,
.cspLead {
border-radius: 3.2vw;
border: 1px solid #d5d5d5;
padding: 3.68vw 5vw;
}
.cspInner {
margin-top: -1.4rem;
}
.cspInner > h3 {
font-size: 1.6rem;
color: #a06246;
}
.cspInner > h3:not(:first-child) {
margin-top: 2.4vw;
}
.cspInner > h3 .startage {
display: block;
font-size: 1.3rem;
font-weight: normal;
}
.cspInner dt {
font-weight: 700;
margin: 1.64rem 0 0;
}
.cspInner dd {
margin-left: 1.2rem;
}
.cspWrapper .ttable__wrapper {
line-height: 1.2;
}
#ophthalmology .ttable__wrapper {
border-color: #7bcc9d;
}
#dermatology .ttable__wrapper {
border-color: #cecece;
}
#dermatology .ttable__wrapper small {
display: block;
}
#speech .ttable__wrapper {
border-color: #a49481;
}
.cspLead {
background: #f4f4f4;
margin-top: 1.64rem;
}
.freqLine {
text-decoration: underline;
text-underline-offset: 6px;
text-decoration-thickness: 2px;
text-decoration-color: #ff9393;
}
@media screen and (min-width: 768px) {
.cspWrapper {
scroll-margin-top: 180px;
}
.cspWrapper > h3,
.cspInner > h3 {
font-size: clamp(1.7rem, 2vw, 1.8rem);
}
}
@media screen and (min-width: 992px) {
.cspWrapper {
scroll-margin-top: 100px;
margin: 80px 0;
padding-bottom: 80px;
}
.cspInner,
.cspLead {
padding: 1em 5vw;
}
.subHead {
padding-left: 99px;
}
.subHead > h2 {
font-size: clamp(2.4rem, 4vw, 4rem);
}
.cspWrapper > h3,
.cspInner > h3 {
font-size: clamp(1.8rem, 2.4vw, 2.4rem);
}
.cspInner > h3 {
margin-top: 1em;
}
.cspLead {
padding: 1em 5vw;
}
}


/*********

COOPERTATION

**********/
#cooperation .group__list {
margin: 0 calc(50% - 50vw);
width: 100vw;
border-radius: 0
}
#cooperation h2.cooType {
font-size: 1.5rem;
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
gap: 1.5rem;
font-weight: normal;
color: #424242;
}
#cooperation h2.cooType::before {
content: '';
display: block;
width: 3.6rem;
height: 0.5rem;
border-radius: 0.5rem;
background: #424242;
}
#cooperation h3.cooType__name {
font-size: 1.92rem;
margin-top: 1.6rem;
}
#cooperation h3.cooType__name > span {
font-size: 1.6rem;
}
#cooperation .group__list > li:before {
width: 100%;
height: 120%;
z-index: unset;
}
.coo__helplist li {
font-size: 1.3rem;
padding-left: 1em;
text-indent: -1em;
}
.coo__helplist li::before {
content: '・';
}
.cooperClm {
margin-top: 8.64vw;
}
.coo_partner {
border-radius: 0.5rem;
border: 1px solid #424242;
}
.coo_partner li:not(:last-child) {
border-bottom: 1px solid #424242;
margin: -1px;
}
.coo_partner a {
color: #ff9393;
font-weight: 600;
padding: 0.36em 1em;
display: -webkit-flex;
display: -moz-flex;
display: flex;
-webkit-align-items: center;
-moz-align-items: center;
align-items: center;
gap: 0.4rem;
}
.coo_partner a::after {
font-family: 'Material Icons';
content: '\e89e';
font-size: 0.86em;
font-weight: normal;
color: #7f7f7f;
}
@media screen and (min-width: 768px) {
#cooperation .group__list {
-webkit-flex-direction: column;
-moz-flex-direction: column;
flex-direction: column;
}
#cooperation h2.cooType {
font-size: clamp(1.8rem, 2.1vw, 2.1rem);
}
#cooperation h3.cooType__name {
font-size: clamp(2.8rem, 3.4vw, 3.4rem);
}
#cooperation h3.cooType__name > span {
font-size: clamp(2.4rem, 2.8vw, 2.8rem);
}
.coo__helplist li {
font-size: inherit;
}
.coo_partner,
.coo_partner li:not(:last-child) {
border: none;
}
.coo_partner li {
display: inline-block;
*display: inline;
*zoom: 1;
vertical-align: middle;
margin-right: 1.2em;
}
}
@media screen and (min-width: 992px) {
.ls_clmMax {
max-width: 1040px;
position: relative;
}
.ls_clmMax picture {
width: 42.5%;
position: absolute;
top: 50%;
right: 0;
transform: translateY(-50%);
}
.ls_clmMax h2,
.ls_clmMax h3,
.ls_clmMax p,
.coo__helplist {
width: 53.5%;
}
.ls_clmMax h2,
.ls_clmMax h3 {
margin: 0;
}
.coo_partner a {
padding: 0.5em 1.25em;
}
}










/*********

RECRUIT

**********/
.pRec_hero,
.image_marquee {
margin: 0 calc(50% - 50vw);
width: 100vw;
}
.theCopy {
margin: 1.84rem auto;
font-size: 2.4rem;
font-weight: 600;
text-align: center;
line-height: 1.6;
position: relative;
}
.theCopy::before,
.theCopy::after {
font-family: 'Material Icons';
content: '\e244';
font-size: 3.64rem;
line-height: 1;
position: absolute;
}
.theCopy::before {
top: 0;
left: 10%;
transform: scale(-1, -1);
}
.theCopy::after {
bottom: 0;
right: 10%;
}
.image_marquee {
background: #ff9393;
padding: 1em;
overflow: hidden;
}
.image_track {
display: flex;
width: max-content;
animation: scrollmarq linear infinite;
}
.marquee__item {
flex: 0 0 auto;	
margin-right: 1.6em;
border-radius: 1em;
overflow: hidden;
max-width: 120px;
height: auto;
}
.marquee__item img {
object-position: center;
object-fit: cover;
aspect-ratio: 640/425;
}
@keyframes scrollmarq {
from {
transform: translateX(0);
}
to {
transform: translateX(-50%);
}
}
.rRecommend,
.rJobtype {
margin: 2.6rem 0;
}
.rRecommend h2.rRec_ttl {
color: #fff;
font-size: 1.6rem;
border-radius: 0.5rem;
font-weight: 600;
text-align: center;
background: #ff9393;
padding: 1.2rem 1.4rem;
margin: 1.6rem auto 10px;
position: relative;
}
.rRecommend h2.rRec_ttl::after {
width: 0;
height: 0;
content: '';
border-style: solid;
border-width: 10px 10px 0 10px;
border-color: #ff9393 transparent transparent transparent;
position: absolute;
bottom: -9px;
left: 50%;
transform: translateX(-50%)
}
.rRec_item {
border: 1px solid #ff9393;	
border-radius: 0.5rem;
padding: 1.2em;
margin-bottom: 1.2em;
}
.rRec_item dt {
font-weight: 600;
position: relative;
padding-left: 4.82rem;
font-size: 1.6rem;
}
.rRec_item dt::before {
font-size: 3.2rem;
color: #ff9393;
content: attr(data-number);
position: absolute;
top: 50%;
left: 0;
transform: translateY(-50%);
}
.rRec_item dt::after {
content: '';
width: 100px;
height: 1px;
background: #ff9393;
position: absolute;
bottom: 0;
left: 0;
}
.rRec_item dd {
padding: 1.24em;
}
.rRec_item dd:last-child {
padding-bottom: 0;
}
.rJobtype > h2 {
font-size: 2rem;
font-weight: 600;
text-align: center;
margin-bottom: 1.86rem;
}
.rJobtype > h2::after {
content: '';
display: block;
width: 10%;
height: 3px;
background: #ff9393;
border-radius: 5px;
margin: 0.3em auto 0;
}
@media screen and (min-width: 768px) {
.theCopy {
font-size: 2.8rem;
}
.theCopy .ms_van {
display: none;
}
.theCopy::before,
.theCopy::after {
font-size: 4rem;
}
.marquee__item {
max-width: 180px;
}
.rRecommend,
.rJobtype {
margin: 3rem 0;
}
.rRecommend h2.rRec_ttl {
font-size: 1.2em;
margin-bottom: 15px;
}
.rRecommend h2.rRec_ttl::after {
border-width: 14px 14px 0 14px;
bottom: -13px;
}
.rRec_item {
padding: 1.6em;
margin-bottom: 1.5em;
}
.rRec_item dt {
padding-left: 6rem;
font-size: 1.2em;
}
.rRec_item dt::before {
font-size: 4rem;
}
.rRec_item dd {
padding: 2em;
}
.rJobtype > h2 {
font-size: 2.6rem;
margin-bottom: 1.68em;
}
}
@media screen and (min-width: 992px) {
.theCopy {
font-size: 2em;
margin: 1.5em auto;
}
.marquee__item {
max-width: 260px;
}
.rRecommend,
.rJobtype {
margin: 100px 0;
}
.rRecommend h2.rRec_ttl {
font-size: 1.2em;
padding: 1.5em;
margin-bottom: 24px;
}
.rRecommend h2.rRec_ttl::after {
border-width: 24px 24px 0 24px;
bottom: -23px;
}
}




/*********

SUB_PAGES

**********/
.prvRaws {
margin-top: 1.5em;
}
.prvRaws li {
list-style-position:inside;
counter-increment: cnt;
}
.prvRaws li:before{
display: marker;
content:  counter(cnt) "）";
}
.prvRaws p,
.prvRaws dl {
font-size: 0.92em;
line-height: 1.48;
letter-spacing: 0.05em;
}
.prvRaws dt {
font-weight: 600;
line-height: inherit;
letter-spacing: inherit;
margin: 1.24em 0;
}
