

.head_img{
    background-image: url("/js/diagnosis/img/diagnosis_back-img_pc.jpg");
    height: 395px;
    object-fit: contain;
    background-repeat: no-repeat;
    background-size:cover;
    margin-top: min(8rem, calc(80/12.4*1vw));
    /*animation: fadein 1.0s ease forwards;*/
    background-position: center;
    overflow: hidden;
    background-color: #fafafa;
}
 @media (max-width: 1375px) {
    .head_img {
        height: 320px;
    }
}
@media (max-width: 1150px) {
    .head_img {
        height: 290px;
    }
}
@media (max-width: 980px) {
    .head_img {
        height: 245px;
    }
}
/*@media (max-width: 839px) {
    .head_img {
        height: 230px;
        aspect-ratio: 1920 / 495;
    }
}*/
@media (max-width: 767px) {
    .head_img {
        background-image: url("/js/diagnosis/img/diagnosis_back-img_sp.jpg");
        margin-top: calc(80 / 7.5 * 1vw);
        height: auto;
        aspect-ratio: 750 / 672;
    }
    .head_img_container{
        box-sizing: border-box;
    }
}

.head_img_container{
    border-radius: 1.5rem;
    margin: 0 auto;
    padding: 0px 0 55px;
    width: 100%;
    max-width: 1000px;
}
@media (max-width: 1180px){
    .head_img_container{
        padding: 0px calc(min(80px, calc(40 / 3.75 * 1vw)));
    }
}
@media (max-width: 767px){
    .head_img_container{
        padding:0px calc(min(20px, calc(20 / 3.75* 1vw))) 40px !important;
    }
}

.head_img_union{
    max-width: 900px;
    box-sizing: content-box;
    margin: 0 auto;
}

.head_img_text{
    color: #faf3ee;
    font-family: 'Shippori Mincho B1';
    padding: 15px 0px;
}

.head_img_text_container{
    padding: 15px 0px;
}
@media (max-width: 767px){
    .head_img_text_container{
        padding: 2.8vw 0px;
    } 
}

.head_img_text h2{
    font-size: 4.09rem;
    letter-spacing: 4.39px;
    padding-top: 44px;
}
@media (max-width: 1375px){
    .head_img_text h2{
        padding-top: 21px;
    }
}
@media (max-width: 1150px){
    .head_img_text h2{
        font-size: 2.39rem;
        padding-top: 30px;
    }
}
@media (max-width: 1023px){
    .head_img_text h2{
        font-size: min(4.6rem, calc(36/12.8*1vw));
        padding-top: 22px;
    }
}
@media (max-width: 980px){
    .head_img_text h2{
        padding-top: 16px;
    }
}
@media (max-width: 839px){
    .head_img_text h2{
        padding-top: 12px;
    }
}
@media (max-width: 767px){
    .head-tag_pc{
        display: none;
    }
    .head_img_text h2{
        padding-top: 1.2vw;
        line-height: 10.8vw;
        font-size: 7.1vw;
        letter-spacing: 1vw;
    }
}
@media (max-width: 480px){
    .head_img_text h2{
        padding-top: 0;
    }
}

.head-tag_sp{
    display: none;
}
@media (max-width: 767px){
    .head-tag_sp{
        display: block;
    }
}

.head_img_text1{
    font-size: 2.4rem;
    letter-spacing: 1.5px;
    margin-top: 12px;
}
@media (max-width: 1375px){
    .head_img_text1{
        margin-top: 0px;
    }
}
@media (max-width: 1023px){
    .head_img_text1{
        font-size: min(2.8rem, calc(28/12.8*1vw));
        margin-top: 12px;
}
    }
@media (max-width: 980px){
    .head_img_text1{
        margin-top: 7px;
    }
}
@media (max-width: 767px){
    .head_img_text1{
        margin-top: 1.5vw;
        font-size: 3.2vw;
    }
}

.head_img_text_box {
    position: relative;  /* 疑似要素をこの要素内に配置するため */
    /*overflow: hidden; */
    height: auto;
    letter-spacing: -0.5px;
  }
  
  .head_img_text_box::after {
    content: "";
    position: absolute;
    top: 62%;
    left: 45.8%;
    width: 17.6%;
    height: 1px;
    background-color: #7c8279;
    transform: translate(-50%, -50%) rotate(-45deg);
    pointer-events: none;
  }

  @media (max-width: 1375px){
    .head_img_text_box::after{
        left: 47%;
        width: 15%;
    }
  }
  @media (max-width: 980px){
    .head_img_text_box::after{
        top: 54%;
        left: 52%;
        width: 14%;
    }
  }
  @media (max-width: 910px){
    .head_img_text_box::after{
        top: 54%;
        left: 55%;
        width: 14%;
    }
  }
  @media (max-width: 880px){
    .head_img_text_box::after{
        left: 60%;
    }
  }
  @media (max-width: 820px){
    .head_img_text_box::after{
        left: 62%;
    }
  }  
  @media (max-width: 795px){
    .head_img_text_box::after{
        left: 64%;
    }
  }
@media (max-width: 767px) {
    .head_img_text_box::after {
        display: none;
    }
}

.head_img_text_box_sp::after{
    display: none;
}
@media (max-width: 767px) {
    .head_img_text_box_sp{
        position: relative;
    }
    .head_img_text_box_sp::after {
        display: block;
        content: "";
        position: absolute;
        top: 72%;
        left: 64.8%;
        width: 20.6%;
        height: 1px;
        background-color: #7c8279;
        transform: translate(-50%, -50%) rotate(-45deg);
        pointer-events: none;
    }
} 

.head_img_text2{
    margin-top: 43px;
    font-size: 1.5rem;
}
@media (max-width: 1375px) {
    .head_img_text2{
        margin-top: 20px;
    }
}
@media (max-width: 1150px) {
    .head_img_text2{
        margin-top: 21px;
    }
}
@media (max-width: 980px) {
    .head_img_text2{
        margin-top: 16px;
    }
}
@media (max-width: 767px) {
    .head_img_text2{
        margin-top: 30vw;
        font-size: 3.5vw;
    }
}

.head_img_text3{
    font-size: 1.5rem;
    margin-top: 20px;
}
@media (max-width: 1150px) {
    .head_img_text3{
        margin-top: 10px;
    }
}
@media (max-width: 767px) {
    .head_img_text3{
        margin-top: 2vw;
        font-size: 3.5vw;
    }
}

.underlayer-heading{
    display: none;
}
.cmn-entry {
    display: none;
}

.underlayer-heading__ruby{
    display: none;
}

.underlayer-heading__st{
    display: none;
}

button {
    padding: 13px 15px;
    color: white;
    cursor: pointer;
    border-radius: 0 4px 4px 0;
    font-family: 'Noto Sans JP';
}

#assessment-page{
    min-height: 467px;
}

.information-page__inner {
    background-color: #fafafa;
}

.information-page__mv__img {
    background-color: #7cd9eb;
    display: none;
}

.recruit-container {
    padding: 4rem;
    border-radius: 1.5rem;
    margin: 0 auto;
    padding: 40px 0 80px;
    width: 100%;
    margin-bottom: 6rem;
    /*margin-top: 95px;*/
    max-width: 1000px;
    animation: fadein 1.0s ease forwards;
}

.recruit-union {
    border: solid 1px #f8f8f8;
    max-width: 900px;
    box-sizing: content-box;
    margin: 0 auto;
}

.chat-img {
    /*margin-bottom: 15px;*/
    aspect-ratio: 900 / 200;
    height: auto;
    background: url("/js/diagnosis/img/diagnosis_pc.jpg");
    background-size: cover;
    background-position: center;
    border-radius:20px 20px 0px 0px;
    display: none;
}

.chat-container {
    overflow: hidden;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.chat-header {
    background: linear-gradient(120deg, #3c6e9e, #0a4883);
    color: white;
    padding: 15px;
    line-height: 8px;
    text-align: center;
    display: none !important;
}

.chat-box {
    height: auto;
    overflow-y: auto;
    padding: 15px 30px;
    background-color: white;
}

.chat-box p {
    font-weight: bold;

}

.chat-message.user {
    background-color: #773537;
    color: white;
    margin-left: auto !important;
    text-align: left;
    font-weight: 600;
}



.chat-message.bot {
    margin-right: auto;
    text-align: left;
    line-height: 24px;
    font-weight: 600;
}




.chat-message.bot2 {
    font-weight: 600;
}

.chat-message {
    margin: 10px 0;
    padding: 15px 20px 20px;
    border-radius: 7px;
    max-width: 75%;
    clear: both;
    background-color: #ededed;
    color: #3c1b22;
}

.chat-message-title{
    margin: 10px 0;
    padding: 15px 20px 20px;
    border-radius: 7px;
    max-width: 100%;
    clear: both;
    background-color: #ededed;
    color: #3c1b22; 
}

.chat-message-title.bot-title {
    margin-right: auto;
    text-align: left;
    line-height: 24px;
    font-weight: 600;
}


.chat-speak:hover {
    opacity: 0.6;
}

.button-container {
    margin: 10px 0 0;
    padding: 10px;
    border-radius: 10px;
    max-width: 100%;
    clear: both;
    margin-right: auto;
    text-align: left;
}

button.select_job {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 10px 5px;
    cursor: pointer;
    box-shadow: 0px 5px 0px 0px #c19b9c;
    overflow: hidden;
    text-decoration: none;
    color: #472d2f;
    background-color: #eeeeee;
    border-radius: 7px;
    padding: 15px 22px;
    font-family: "Shippori Mincho B1";
    font-weight: 600;
}

/* ホバー時のスタイル */
button.select_job:hover {
    opacity: 0.6;
    transition: 0.3s;
}


button.select_job.noclick {
    box-shadow: 0px 0px 0px 0px;
    pointer-events: none;
    opacity: 0.6;
}

.chat-input {
    display: flex;
    padding: 15px 30px 20px;
    background-color: #FFF;
}

#user-input {
    flex: 1;
    padding: 10px 20px;
    border: 1px solid #a5a5a5;
    background-color: #FFF;
    border-radius: 4px 0 0 4px;
    border-right: 0px;
    font-family: 'Noto Sans JP';
    box-shadow: 0px 2px rgb(217 212 212 / 30%);
    font-weight: 400;
    border-radius: 7px 0 0 7px;
    font-family: 'Shippori Mincho B1';
}

#sendButton {
    box-shadow: 0px 2px rgb(217 212 212 / 30%);
    background-color: #1e2c51;
    border-radius: 0 7px 7px 0;
    border: 1px solid #999a9c;
    color: #f7f8f8;
    padding: 12px 21px 13px 19px;
    font-family: 'Shippori Mincho B1';
}

#sendButton:hover{
    opacity: 0.6;
    transition: 0.3s;
}

#sendButton img {
    filter: brightness(40%);
    width: 22px;
}

@media (max-width: 767px) {
    #sendButton{
        height: 45px !important;
        padding: 10px 13px 13px 13px;
    }

    #sendButton img {
        height: 20px;
        width: auto;
    }
}

#sendButton img:hover {
    opacity: 0.6;
}

#playButton {
    display: none;
    width: 20px;
}

.layout-ttl {
    display: none;
}

.layout__main-information {
    margin-top: 20px !important;
}

.bot2 a {
    color: #0c244c;
    font-weight: bold;
    text-decoration: underline;
    cursor: pointer;
}

.bot2 a:hover {
    opacity: 0.7;
}

@media (max-width: 1180px) {

    .recruit-container {
        /*margin-top: 80px;*/
        padding: 40px calc(min(80px, calc(40/3.75*1vw)));
    }
}

@media(max-width:1024px) {
    .recruit-container {
        margin-bottom: 0 !important;
    }

    .chat-header {
        padding: 25px;
    }

    .chat-img1 {
        padding-bottom: 1px;
    }

    .h2.ai_title {
        font-size: 35px;
    }

    .chat-message.bot {
        font-size: 1.6rem;
        line-height: 2em;
    }

    .chat-message.bot2 {
        font-size: 1.6rem;
        line-height: 2em;
        margin-top: 20px;

    }

    button.select_job {
        font-size: 17px;
    }

    .chat-message.user {
        font-size: 1.6rem;
        line-height: 2em;
    }

    #user-input {
        height: 54px;
    }

    button {
        font-size: 1.6rem;
    }

    .layout__main-information {
        margin-top: 0px !important;
    }

    #sendButton {
        height: 54px;
    }
}

@media(max-width:767px) {
    .recruit-container {
        padding: 20px calc(min(20px, calc(20 / 3.75* 1vw))) 40px !important;
        padding-top:35px !important;
    }

    .recruit-container {
        margin-top: 0px !important;
    }

    .chat-container {
        margin-top: -5px;
    }

    .chat-header {
        padding: 12px !important;
    }

    .chat-message.bot {
        max-width: 100% !important;
        font-size: 1.4rem !important;
        line-height: 1.6em !important;
    }

    .chat-message.bot2 {
        font-size: 1.4rem !important;
        line-height: 1.6em !important;
        max-width: 100%;
    }

    .button-container {
        max-width: 100% !important;
        margin: 0px !important;
        padding: 10px 0;
    }

    button.select_job {
        font-size: 13px !important;
    }

    .chat-message.user {
        font-size: 1.4rem !important;
        line-height: 1.6em !important;
    }

    #user-input {
        font-size: 16px !important;
        flex: none;
        width: calc(100% - 60px);
        height: 45px;
    }

    .chat-input button {
        width: 60px;
    }

    button {
        font-size: 13px !important;

    }

    button.select_job {
        padding: 12px;
    }

    #playButton {
        width: 20px;
    }

    .chat-img2 {
        display: block;
    }

    .cta-floating {
        display: none;
    }

    .layout__side {
        display: none;
    }

    .chat-box {
        padding: 15px 15px 0;
    }

    .chat-input {
        padding: 15px 15px 30px;
    }

}

@media(max-width:524px) {

    .chat-img {
        background-image: url('/js/diagnosis/img/diagnosis_sp.jpg');
        height: auto;
        aspect-ratio: 750 / 360;
    }

    button.select_job {
        width: 100%;
        padding: 13px 0px;
    }

}

@media(max-width:480px) {
    .chat-header {
        display: none;
    }
    button.select_job{
        font-size: 13px !important;
        width: 100%;
        margin: 10px 4px;
    }
}

@media(max-width:363px) {
    button {
        font-size: 12px;
        padding: 13px 11px;
    }

    .chat-input {
        padding: 0px 13px 15px 13px;
    }

    #user-input {
        /*width: 70%;*/
    }
}

.chat-input .nosend {
    opacity: 0.4;
}

.bot2 a {
    word-break: break-all;
}

/* input 要素が disabled の間だけ灰色にする */
#user-input:disabled {
background: #e0e0e0;
color: #666;
cursor: not-allowed;
}
#sendButton:disabled {
background: #e0e0e0;
color: #666;
cursor: not-allowed;
border: 1px solid #9b9ea5;
border-left: 0px;
}

/*Footer以下非表示*/
.fr-entry,
.ft-menu,
.ft-sns,
.ft-co,
.ft-breadcrumb, 
.cmn-entry{
    display: none !important;
}

.ft {
    padding: 5rem 0 !important;
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
}

.ft-name {
    text-align: center !important;
    margin-bottom: 20px !important;
    display: flex !important;
    justify-content: center !important;
}

.ft__wrap {
    display: block !important;
    gap: 3rem 0 !important;
    grid-template: none !important;
}
