@charset "UTF-8";

:root {
    /* グローバルのCSS Variablesを上書きする場合にはここに記述 */
    --margin:40;
    --block-margin-ratio:1.425;
    --section-margin-ratio:3.525;
}

/* body {
    animation-name:loading;
    animation-duration:1s;
    animation-fill-mode:forwards;
    animation-delay:0.4s;
    opacity:0;
}

@keyframes loading {
	0% {opacity: 0;}
	100% {opacity: 1;}
} */

img{
    max-width: 100%;
    height:auto;
}

.fadein {
    opacity:0.0;
    filter: alpha(opacity=0);
    transition : all 500ms;
    -moz-opacity:0.0;
}
.fadein.scrollin {
    opacity:1.0;
    filter: alpha(opacity=100);
    -moz-opacity:1.0;
}

#article-start{
    color: var(--color-white);
    background: #304664;
    background: linear-gradient(0deg,rgba(48, 70, 100, 1) 0%, rgba(15, 33, 85, 1) 100%);
    position: relative;
}

#article-start::before{
    content:"";
    position:absolute;
    top:0;
    left:0;
    width:100%;
    /*height:8px;*/
    height:1.2vw;
    background-color: #e72925;
    z-index: 1;
}

#article-start::after{
    content:"";
    position:absolute;
    bottom:0;
    left:0;
    width:100%;
    /*height:8px;*/
    height:0.41666667vw;
    background-color: #e72925;
    z-index: 1;
}

.left_line{
    position: absolute;
    left:0;
    /*top:80px;
    width:8px;
    height:calc(100% - 80px);*/
    top:4.16666667vw;
    width:0.41666667vw;
    height:calc(100% - 4.16666667vw);
    background-color: #e72925;
}

.right_line{
    position: absolute;
    right:0;
    /*bottom:80px;
    width:8px;
    height:calc(100% - 80px);*/
    bottom:4.16666667vw;
    width:0.41666667vw;
    height:calc(100% - 4.16666667vw);
    background-color: #e72925;
}

.deco_corner_top{
/*    width: 72px;*/
    width: 3.75vw;
    position: absolute;
    left:0;
    top:0;
}

.deco_corner_bottom{
/*    width: 72px;*/
    width: 3.75vw;
    position: absolute;
    right:0;
    bottom:0;
    transform: rotate(180deg);
}

.wrapper{
    position: relative;
    padding-bottom: 80px;
}

.bg_01{
    position: fixed;
    left:0;
    top:0;
    width:70vw;
    height:70vw;
    background: #EF8578;
    background: radial-gradient(circle at left top,rgba(239, 133, 120, 1) 0%, rgba(255, 255, 255, 0) 50%);
}

.bg_02{
    position: fixed;
    left:0;
    top:899px;
    width:100vw;
    height:100vw;
    background: #4E5187;
    background: radial-gradient(circle,rgba(78, 81, 135, 1) 0%, rgba(57, 73, 111, 0) 76%);
}

.bg_03{
    position: fixed;
    left:0;
    top:2870px;
    width:50vw;
    height:50vw;
    background: #4E5187;
    background: radial-gradient(circle,rgba(78, 81, 135, 1) 0%, rgba(57, 73, 111, 0) 76%);
}

.bg_04{
    position: fixed;
    right:0;
    bottom:0;
    /*width:990px;
    height:990px;*/
    width:51.5625vw;
    height:51.5625vw;
    background: #6266AA;
    background: radial-gradient(circle at right bottom,rgba(98, 102, 170, 1) 0%, rgba(48, 70, 100, 0) 70%);
}

.bg_05{
    position: fixed;
    left:0;
    top:899px;
    width:100vw;
    height:100vw;
    background: #4E5187;
    background: radial-gradient(circle,rgba(78, 81, 135, 1) 0%, rgba(57, 73, 111, 0) 76%);
    display:none;
}

.c-content--body p{
    text-align: justify;
}

figcaption div{
    text-align: justify !important;   
}

.hero{
    margin-top:0 !important;
    margin-bottom:60px !important;
    margin-left: auto;
    margin-right: auto;
    max-width: 1160px;
    max-height: 890px;
}
.hero img {
    width: 100%;
    max-width: 1160px;
    display: block;
    margin: 0 auto;
    aspect-ratio: 86 / 65;
}

.kv_front{
    width:100%;
    /* position: absolute;
    left:3.90625vw;
    top:26.41666667vw; */
    margin: -40px auto 90px;
}

.kv_front_pic{
    line-height: 0;
}

.kv_front_text{
    font-size:1.4vw;
    line-height: 1.8;
    font-weight: 600;
    margin-top:1.04166667vw;
    text-align: center;
}

.p-gh{
    margin-bottom:0 !important;
    position: relative;
    z-index: 1;
}
.p-gh__upper{
    border-bottom:none !important;
}

.p-gh__lower{
    border-bottom:none !important;
}

.p-gh__pr{
    text-align: right;
}

.p-gh__pr__logo:hover{
    opacity: 0.7;
}

.sponsor_logo{
    position: absolute;
    left:0;
    right:0;
    bottom:0;
    top:0;
    margin:11px auto 0;
    width: 136px;
    line-height: 0;
}

.sponsor_logo img{
    max-width: 100%;
    height:auto;
}

/*
.sponsor_logo:hover{
    opacity: 0.7;
}
*/

.logo_bottom{
    /*width:260px;*/
    width:16.25rem;
    text-align: center;
    line-height:0;
    margin-left:auto;
    margin-right:auto;
    /*margin-top:150px;
    margin-bottom:30px;*/
    margin-top:9.375rem;
    margin-bottom:1.875rem;
}
.logo_bottom img{
    max-width: 100%;
    height: auto;
}

.logo_bottom:hover{
    opacity: 0.7;
}

.h3{
    border-left:solid 6px #9fd9f6;
    /* border-right:solid 6px #9fd9f6; */
    color:#9fd9f6;
    letter-spacing: 0.04em;
    justify-content: left;
    padding: 0 0 0.3rem 1rem;
}

.study{
    background: rgba(223, 238, 250, 1);
    background: 
              linear-gradient(135deg, transparent 20px, rgba(223, 238, 250, 1) 0) top left,
              linear-gradient(-45deg, transparent 20px, rgba(223, 238, 250, 1) 0) bottom right;
    background-size: 50% 100%;
    background-repeat: no-repeat; 
    position: relative;
}

.study_heading{
    font-size:2rem;
    color: #0086cd;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.04em;
    margin-top: 10px;
}

.study_container{
    display: flex;
    justify-content: space-between;
    width: 680px;
    margin: 35px auto 30px;
}

.study_container_left{
    width:187px;
    padding-top: 7px;
    line-height: 0;
}

.study_container_left_caption{
    color: var(--color-black);
    text-align: center;
    margin-top:10px;
}

.study_container_left_caption_jobtitle{
    font-size: 12px;
    line-height: 1.3;
    display: block;
    margin-bottom: 5px;
}

.study_container_left_caption_name{
    font-size: 24px;
    line-height: 1;
}

.study_container_left_caption_professor{
    font-size: 16px;
    margin-left:0.25em;
}

.study_container_right{
    width:432px;
    display: flex;
    flex-direction: column;
    row-gap: 40px;
}

.study_pic{
    line-height: 0;
        width: 680px;
    margin: 35px auto 30px;
}

.study p{
    color: var(--color-black);
}

.Interview{
    /* border: solid 1px #9fd9f6;
    padding:37px; */
    padding-bottom: 45px;
    position: relative;
    margin-top: 140px;
}

.deco_interview{
    position: absolute;
    width:140px;
    left:-23px;
    top:-30.5px;
}

.Interview_heading{
    font-size:3rem;
    line-height: 1.34375;
    color:var(--color-white);
    font-weight: 700;
    text-align: left;
    margin-bottom: 40px;
    letter-spacing: 0.04em;
    color: #9fd9f6;
    position: relative;
    top: -1.5rem;
    left: 9rem;
}
.Interview_lead {
    font-size: 1.4vw;
    line-height: 1.8;
    font-weight: 600;
    margin-top: 1.04166667vw;
}

.Interview_container{
    display: flex;
    justify-content: center;
    gap: 74px;
    margin-top:55px;
    margin-bottom: 90px;
}

.Interview_container_left{
    width:268px;
    line-height: 0;
}

.Interview_container_right{
    width:268px;
    line-height: 0;
}

.Interview_container_caption{
    text-align: center;
    margin-top: 10px;
}

.Interview_department{
    font-size: 12px;
    line-height: 1.3;
    display: block;
    margin-bottom: 5px;
}

.Interview_name{
    font-size: 24px;
    line-height: 1;
    display: block;
}

.san{
    font-size: 15px;
    padding-left:0.2em;
}

.Interview_keyword_heading{
    font-size:2.75rem;
    line-height: 1;
    text-align: center;
    font-weight: 800;
/*    padding-bottom: 10px;
    margin-bottom: 48px;*/
    padding-bottom: 1.625rem;
    margin-top: 5rem;
    margin-bottom: 3rem;
    border-bottom: solid 1px #9fd9f6;
    display: flex;
    justify-content: center;
}

.Interview_keyword_heading span{
    display:block;
}

.Interview_keyword_heading_01, .Interview_keyword_heading_02{
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    color: #9fd9f6;
}

.Interview_keyword_heading_01{
/*    font-size: 15px;
    margin-top:9px;
    margin-right:6px;*/
    font-size: 1.9375rem;
    margin-top:0.9rem;
    margin-right:0.375rem;
}

.Interview_keyword_heading_02{
    margin-top:0;
    /*font-size: 32px;
    margin-right:9px;*/
    font-size: 3rem;
    margin-right:1rem;
    font-weight: 700;
}

.Interview_keyword_heading_03{
    letter-spacing: 0.04em;
}

.Interview_keyword_container{
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
}

.Interview_keyword_container_left, .Interview_keyword_container_right{
    width:48%;
}

.Interview_keyword_container_right{
    margin-top:-6px;
    /*text-align: justify;*/
}

.Interview_keyword_container+.Interview_keyword_heading{
    margin-top:80px;
}

.Interview_keyword_container_left p {
    text-align: right;
    font-size: 0.8rem;
}

.special_message{
    color: var(--color-black);
    background-color: #fff;
    background: linear-gradient(135deg, transparent 30px, #fff 0);
    padding-top:60px;
    position: relative;
}

.special_message_heading{
    font-size: 64px;
    line-height: 1;
    font-weight: 900;
    color:#e72925;
    letter-spacing: 0.04em;
    /* white-space: nowrap;
    display: flex;
    justify-content: center;
    gap:28px; */
    margin-bottom:40px;
    text-align: center;
}

.deco_message{
    width:100%;
    display: block;
    color: #f3a48b;
    font-size: 2.4rem;
    letter-spacing: -0.04em;
    font-weight: 600;
}

.special_message_heading_text{
    padding-top:16px;
    display: block;
}

.special_message_lead{
    font-size: 1.4vw;
    font-weight: 600;
    text-align: center !important;
}

.special_message_sepline{
    width:47.5rem;
    height:1px;
    background-color: #f3a386;
    /*margin:55px auto 65px;*/
    margin:3.4375rem auto 4.0625rem;
}

.special_message_sum{
    font-size:2.6rem;
    line-height:1.41666667;
    color:#e72925;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    text-align: center;
    /*margin-top:12px;*/
    /*margin-bottom:42px;*/
    margin-top:4.625rem;
    margin-bottom:-1rem;
}

/*
:nth-child(1 of .special_message_sum) {
    margin-top:72px;
}
*/

.special_message_sum span{
    position: relative;
    display: inline-block;
    width:100%;
}

.special_message_sum span::before{
    content: url(../images/brackets.svg);
    position: absolute;
    width:2.6875rem;
    left:0;
    top:-0.75rem;
}

.special_message_sum span::after{
    content: url(../images/brackets.svg);
    position: absolute;
    width:2.6875rem;
    right:0;
    bottom:-0.75rem;
    transform: rotate(180deg);
}

.special_message_person{
    text-align: right;
    position: relative;
    width: 47.5rem;
    /*margin: 47px auto 45px;*/
    margin: 55px auto 45px;
}

.special_message_person::before{
    content: "";
    position:absolute;
    left:0;
    top:calc(50% - 1.5px);
    width: 100%;
    height:1px;
    border-top:dotted 2px #b5b5b6; 
}

.special_message_person_container{
    background-color: #fff;
    padding-left: 0.75rem;
    /* padding-right:0.75rem; */
    position: relative;
    z-index: 1;    
    line-height: 1;
}

.special_message_person_role{
    font-size: 1rem;
    color: #fff;
    font-weight: 600;
    background-color: #f3a48b;
    padding:10px;
    padding-top:0;
    padding-bottom:0;
    border-radius: 100px;
    position: relative;
    top:-6.5px;
}

.special_message_person_role span{
    position: relative;
    z-index: 1;
    top:-1px
}

.special_message_person_jobtitle{
    font-size: 1rem;
    position: relative;
    top:-6.5px;
    margin-left:8px;
    margin-right:10px;
    font-weight: 500;
}

.special_message_person_name{
    font-size: 2rem;
    font-weight: 600;
}

.special_message_person_san{
    font-size: 19px;
    font-weight: 500;
    margin-left:0.1em;
}

.newtontv{
    width:100%;
    margin:0 auto;
    line-height: 0;
}
.newtontv h2 {
    font-weight: 900;
    color: #e72925;
}

.newtontv:hover{
    opacity: 0.7;
}

.secsep{
    /*margin-top:70px;
    margin-bottom:70px;*/
    margin-top:4.375rem;
    margin-bottom:4.375rem;
    --vl-ratio: 0.8;
}


/*20251203-------------------------------------*/
.p-gf__main__menu ul {
  display: flex;
  flex-wrap: wrap;
}
.p-gf__main__menu a {
  display: inline-block;
  width: auto;
  margin: 10px auto 0;
  text-align: center;
  font-size: 12px;
  line-height: 1.4rem;
  font-weight: 400;
  color: #000;
}
.p-gf__main__menu a:hover {
  text-decoration: underline;
}
.p-gf__main__menu ul li {
  margin: 0 0 0 0.75rem;
}
.p-gf__main__menu ul li:nth-child(1) {
  margin: 0;
}
.p-gf__main__menu ul li::after {
  content: "|";
  color: rgba(0,0,0,0.3);
  margin: 0 0 0 0.75rem;
  padding: 0 0 0 0;
  font-size: 14px;
}
.p-gf__main__menu ul li:nth-last-child(1)::after {
  content: "";
}
@media (max-width: 768px) {
  .p-gf__main__menu ul {
    justify-content: space-between;
  }
  .p-gf__main__menu ul li {
    margin: 0;
  }
  .p-gf__main__menu ul li::after {
    content: "";
    margin: 0 0 0 0.75rem;
  }
  .p-gf__main__menu a {
    text-decoration: underline;
  }
}
/*---------------------------------------------*/

.c-share, footer {
    position: relative;
}
.c-share {
    background-color: #fff;
    margin-top: 0;
    padding-top: 80px;
}
footer.p-gf {
    background-color: #fff;
    margin-top: 0;
    padding-top: 80px;
}

@media only screen and (min-device-width: 320px) and (max-width: 767px) {    

    :root {
        /* グローバルのCSS Variablesを上書きする場合にはここに記述 */
        --section-margin-ratio:2.25;
    }

    .p-gh__upper{
        border-bottom:solid 1px #dadada !important;
    }

    .p-gh__pr span{
        transform: scale(85%);
        transform-origin: right center;
    }

    .logo_bottom{
        /*margin-top:110px;
        margin-bottom:30px;*/
        margin-top:29.33333333vw;
        margin-bottom:8vw;
    }

    .h3{
        border-left:solid 1.33333333vw #9fd9f6;
        /* border-right:solid 1.33333333vw #9fd9f6; */
    }

    #article-start::before{
        height:1.33333333vw;
    }

    #article-start::after{
        height:1.33333333vw;
    }

    .left_line{
        position: absolute;
        left:0;
        top:13.33333333vw;
        width:1.33333333vw;
        height:calc(100% - 13.33333333vw);
    }

    .right_line{
        position: absolute;
        right:0;
        bottom:13.33333333vw;
        width:1.33333333vw;
        height:calc(100% - 13.33333333vw);
    }

    .deco_corner_top{
        width:12vw;
    }

    .deco_corner_bottom{
        width:12vw;
    }

    .hero{
        margin-bottom:0px !important;
    }

    .hero img {
        aspect-ratio: 22 / 21;
    }

    .kv_front{
        /*width:325px;*/
        width: 86.66666667vw;
        margin:-8vw auto 21.33333333vw;
        /* position: relative;
        left:0;
        top:0; */
    }

    .kv_front_pic{
        line-height: 0;
    }

    .kv_front_text, .special_message_lead{
        font-size:4.26666667vw;
        margin-top:13.33333333vw;
    }

    .study_heading{
        font-size:1.75rem;
        line-height: 1.34375;
        margin-top: 4vw;
    }

    .study_container{
        display: flex;
        justify-content: space-between;
        flex-direction: column;
        width: auto;
        row-gap: 12vw;
        margin: 10.66666667vw auto 8vw;
    }

    .study_container_left{
        width:49.06666667vw;
        /*width: auto;*/
        padding-top:0;
        margin: 0 auto;
    }

    .study_container_left_caption{
        margin-top:2.66666667vw;
    }

    .study_container_left_caption_jobtitle{
        font-size: 3.2vw;
        margin-bottom: 1.33333333vw;
    }

    .study_container_left_caption_name{
        font-size: 6.4vw;
    }

    .study_container_left_caption_professor{
        font-size: 4.26666667vw;
    }

    .study_container_right{
        width:auto;
        display: flex;
        flex-direction: column;
        row-gap: 10.66666667vw;
    }
    .study_pic{
        width: 100%;
    }
    
    .Interview{
        /* padding:5.33333333vw;
        padding-top:17.86666667vw; */
        padding-bottom: 12vw;
        margin-top: 24vw;
    }

    .deco_interview{
        width:20.33333333vw;
        left:-2.13333333vw;
        top:-40px;
    }

    .Interview_heading{
        font-size:1.4rem;
        margin-bottom: 10.66666667vw;
        top: -1.8rem;
        left: 5.5rem;
    }

    .Interview_lead {
    font-size: 4.26666667vw;
}

    .Interview_container{
        flex-direction: column;
        gap: 10.66666667vw;
        margin-top:14.66666667vw;
        margin-bottom: 22.66666667vw;
    }

    .Interview_container_left{
        width:auto;
    }

    .Interview_container_right{
        width:auto;
    }

    .Interview_container_caption{
        margin-top: 2.66666667vw;
    }

    .Interview_department{
        font-size: 3.2vw;
        margin-bottom: 1.33333333vw;
    }

    .Interview_name{
        font-size: 6.4vw;
    }

    .san{
        font-size: 4vw;
    }

    .Interview_keyword_container{
        display: flex;
        flex-direction: column;
        row-gap: 8vw;
    }

    .Interview_keyword_container_left, .Interview_keyword_container_right{
        width:auto;
    }

    .Interview_keyword_container_right{
        margin-top:0;
    }

    .Interview_keyword_heading{
        /*margin-bottom:3rem;*/
        display: block;
        line-height: 1.2;
        margin-top: 3rem;
        margin-bottom: 2rem;
    }
    .Interview_keyword_heading span {
        display: inline-block;
    }
    .Interview_keyword_heading_01 {
        margin-right: 0;
    }

    .Interview_keyword_container+.Interview_keyword_heading{
        margin-top:17.33333333vw;
    }

    .special_message{
        background: linear-gradient(135deg, transparent 8vw, #fff 0);
        padding-top:10.66666667vw;
    }

    .special_message_heading{
        font-size: 9.6vw;
        line-height: 1.2;
        justify-content:flex-start;
        padding-left:5.33333333vw;
        gap:4vw;
        margin-bottom:10.66666667;
    }

    .deco_message{
        width:100%;
        font-size: 1.4rem;
    }

    .special_message_heading_text{
        padding-top:0.8vw;
    }

    .special_message_sum{
        width:86.66666667vw;
        font-size:1.4rem;
        /*margin-top:3.2vw;
        margin-bottom:3.2vw;*/
    }
    
    .special_message_sum span::before{
        content: url(../images/brackets.svg);
        position: absolute;
        width:1.475rem;
        left:0;
        top:-0.65rem;
    }

    .special_message_sum span::after{
        content: url(../images/brackets.svg);
        position: absolute;
        width:1.475rem;
        right:0;
        bottom:-0.65rem;
        transform: rotate(180deg);
    }
    
    .special_message_person{
        width: auto;
        margin: 9.533333vw auto -6.666667vw;
    }

    .special_message_person::before{
        border-top:none; 
    }

    .special_message_person_role{
        font-size: 3.46666667vw;
        padding:2.13333333vw;
        padding-top:0;
        padding-bottom:0;
        position: relative;
        top:-0.8vw;
    }

    .special_message_person_role span{
        position: relative;
        z-index: 1;
        top:-0.26666667vw
    }

    .special_message_person_jobtitle{
        font-size: 3.46666667vw;
        top:-0.93333333vw;
        margin-left:1.33333333vw;
        margin-right:1.86666667vw;
    }

    .special_message_person_name{
        font-size: 6.93333333vw;
    }

    .special_message_person_san{
        font-size: 3.46666667vw;
    }

    .special_message_sepline{
        width:86.66666667vw;
        /*margin:55px auto 65px;*/
        margin:3.4375rem auto 4.0625rem;
    }

    .special_message_mt{
        /*margin-top: 45px !important;*/
        margin-top: 12vw !important;
    }

    .newtontv{
        width:100%;
    }
    .newtontv h2 span {
        text-align: center;
    }

    .l-container{
        /*width:325px !important;*/
        width:86.66666667vw !important;
    }

    .bg_02{
        /*top:1278px;*/
        top:340.8vw;
        opacity: 0.7;
    }

    .bg_03{
        /*top:3250px;*/
        top:866.66666667vw;
        width:100vw;
        height:100vw;
        opacity: 0.7;
    }

    .bg_05{
        /*top:500px;*/
        top:133.33333333vw;
        display: block;
        opacity: 0.7;
    }

}