@charset "utf-8";
/* CSS Document */
/*WEB-------------フォント-------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP&display=swap');


body {
    font-family: 'Noto Sans JP', sans-serif, "Font Awesome 5 Free";
    font-size: 14px;
    color: #4d4d4d;
    background-color: #fff;
    line-height: 2;
}


footer {
    background-color: rgba(240, 241, 245, 0.9);
}


/*-------------アンカー・ボタン アウトラインなし-------------*/
a.active.focus,
a.active:focus,
a.focus,
a:active.focus,
a:active:focus,
a:focus,
button.active.focus,
button.active:focus,
button.focus,
button:active.focus,
button:active:focus,
button:focus,
.btn.active.focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn:active:focus,
.btn:focus {
    outline: 0;
    outline-color: transparent;
    outline-width: 0;
    outline-style: none;
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
}

/*-------------　PC・SP画像切り替え------------- */
.pc {
    display: block;
}

.sp {
    display: none;
}

@media only screen and (max-width: 768px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }
}

/*--　font-size  ---------------------*/
.f14 {
    font-size: 14px;
}

.f16 {
    font-size: 16px;
}

.f18 {
    font-size: 18px;
}

.f20 {
    font-size: 20px;
}

.f22 {
    font-size: 22px;
}

.f24 {
    font-size: 24px;
}

.f26 {
    font-size: 26px;
}

/*--　ボタン ---------------------*/
.btn-main {
    color: #fff;
    border-color: #7268AA;
    background-color: #7268AA;
}

.btn-main:hover {
    color: #7268AA;
    background-color: rgba(114, 104, 170, 0.1);
}
.btn-outline {
    color: #7e4e75;
    border-color: #7e4e75;
    background-color: #fff;
}

.btn-outline:hover {
    color: #fff;
    background-color: #7e4e75;
}

.btn-login {
    color: #fff;
    border-color: #3ba8c4;
    background-color: rgba(59, 168, 196, 0.5);
    font-size: 26px;
    padding: 30px 0;
}

.btn-login:hover {
    color: #3ba8c4;
    background-color: rgba(59, 168, 196, 0.3);
}

.btn-tcross {
    color: #fff;
    border-color: #91AA61;
    background-color: #91AA61;
}

.btn-tcross:hover {
    color: #91AA61;
    background-color: rgba(145, 170, 97, 0.1);
}

/*--　テキストカラー ---------------------*/
.text_ppl {
    color: #7e4e75;
}

.text_red {
    color: #a32959;
}
.text_dblue{
    color: #403c64;
}

/*--  リストマーク　　--------------------*/

li.kome {
    list-style: none;
}

li.kome:before {
    content: "※";
    padding-right: 5px;
}
ul.dia_base{
    font-size: 18px;
    line-height: 1.5;
    list-style: none;
    padding-left: 10px;

  }
 

li.diamond{
    position: relative;
    padding-left: 15px;
    margin-bottom: 10px;
  }
 
  li.diamond:before {
    content: "";
    position: absolute;
    top: .6em;
    left: 0;
    width: 7px;
    height: 7px;
    background-color: #8b6b4e;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }


/*----ナビバー-----------------------*/

.nav_back {
    background-color: rgba(240, 241, 245, 0.9);
}

nav {
    width: 100%;
    height: 48px;
    position: relative;
    background-color: transparent;
}

.drawer {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    position: relative;
    height: 40px;
    padding: 0 0.5em;
}

/*----ナビゲーション部分-------------------*/
.menu ul {
    height: 100vh;
    padding: 0;
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
}

.menu ul li {
    list-style: none;
}

.menu ul li a {
    display: block;

    padding: 1em;
    border-bottom: 1px dotted #CCC;
    color: #333;
    text-decoration: none;
}


.menu ul li a:hover {
    background-color: rgba(240, 241, 245, 0.9);
    color: #7e4e75;
}

.menu ul li.fb a {
    color: #3b5998;
}

.menu ul li.fb a:hover {
    color: #6c89c6;
}

/*.dropdown-toggle::after {
    display: inline-block;
    margin-left: 0.255em;
    vertical-align: 0.03em;
    content: "";
    border-top: 0.5em solid;
    border-right: 0.4em solid transparent;
    border-bottom: 0;
    border-left: 0.4em solid transparent;
}
.dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 10rem;
    padding: 0.5rem 0;
    margin: 0.125rem 0 0;
    font-size: 12.6px;
    color: #4d4d4d;
    text-align: left;
    list-style: none;
    background-color:rgba(240, 241, 245, 0.9);
    background-clip: padding-box;
    border: none;
    border-radius: 0;
}
@media screen and (max-width: 958px){
	.dropdown-menu{
		width: 100%;
	}

}*/

.menu {
    /*text-align:center;*/
    background-color: rgba(240, 241, 245, 0.9);
    transition: 0.5s ease;
    /*滑らかに表示*/
    -webkit-transform: translateX(120%);
    /*画面より100%外へ押し出し非表示にさせる*/

    /*  transform: translateX(-100%);/*右から出す場合は、マイナス100%としてください*/

}

/*-----OPEN時の動き--------------------*/
.menu.open {
    -webkit-transform: translateX(0%);
    transform: translateX(20%);
    /*メニューを左から20%の位置へ戻す*/
    height: 100vh;

}

/*トグルボタンのスタイルを指定*/
.Toggle {
    display: block;
    /*position: fixed;*/
    /* bodyに対しての絶対位置指定 */
    width: 30px;
    height: 30px;
    cursor: pointer;
    z-index: 3;
    padding-top: 5px;
    /*right:10px;*/
}

.Toggle span {
    display: block;
    position: absolute;
    width: 25px;
    border-bottom: solid 2px #808080;
    -webkit-transition: .35s ease-in-out;
    /*変化の速度を指定*/
    -moz-transition: .35s ease-in-out;
    /*変化の速度を指定*/
    transition: .35s ease-in-out;
    /*変化の速度を指定*/

}

/*------各ボーダー少しずつずらす----------------*/
.Toggle span:nth-child(1) {
    top: 10px;
}

.Toggle span:nth-child(2) {
    top: 19px;
}

.Toggle span:nth-child(3) {
    top: 28px;
}

.Toggle.active span:nth-child(1) {
    top: 18px;
    /* ------1番目のspanをマイナス45度に----------- */
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

/* ------2番目と3番目のspanを45度に----------- */
.Toggle.active span:nth-child(2),
.Toggle.active span:nth-child(3) {
    top: 18px;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
}

/*-------ここからPCモニターの記述------------------*/
@media screen and (min-width: 960px) {

    nav {
        display: flex;
    }

    .Toggle {
        display: none;
    }

    .menu {
        width: 100%;
        font-size: 0.9em;
        background-color: transparent;
        margin: 0;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    .menu ul {
        height: 30px;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end;
        align-items: center;
    }

    .menu ul li a {
        padding: 0 1em;
        border-bottom: none;
    }

    .menu ul li a:hover {
        background-color: transparent;
    }
}

/*----dropdown　hoverで開く----*/
.dropdown:hover .dropdown-menu {
    display: block;
    margin: 0;
}


/*--　各ページタイトルバッグ　---------------------*/
.title_back {
    background: -webkit-linear-gradient(90deg, rgb(169, 226, 237), rgb(237, 178, 220));
    background: linear-gradient(90deg, rgb(169, 226, 237), rgb(237, 178, 220));
}

/*--　紙ふぶき　---------------------*/
.fubuki {
    position: fixed;
    padding: 0;
    margin: 0;
    width: 100%;
    height: 100%;
    display: flex;
    z-index: -1;
}

.fubuki li {
    position: fixed;
    list-style: none;
    top: -100px;
    background: #cfecfce6;
    border-radius: 0% 90%;
    animation: fall 4s linear infinite, sway 2s ease-in-out infinite alternate;
}

@keyframes fall {
    to {
        top: 120%;
    }
}

@keyframes sway1 {
    from {
        transform: translateX(0px) rotate(0deg);
    }

    to {
        transform: translateX(200px) rotate(-45deg);
    }
}

@keyframes sway2 {
    from {
        transform: translateX(200px) rotate(-45deg);
    }

    to {
        transform: translateX(0px) rotate(0deg);
    }
}

.fubuki li:nth-child(1) {
    left: 0%;
    width: 24px;
    height: 15px;
    animation: fall 7s linear infinite,
        sway1 3.5s ease-in-out infinite alternate;
    animation-delay: 7s;
}

.fubuki li:nth-child(2) {
    left: 5%;
    width: 13px;
    height: 9px;
    animation: fall 15s linear infinite,
        sway1 2s ease-in-out infinite alternate;
    animation-delay: 8s;
}

.fubuki li:nth-child(3) {
    left: 15%;
    width: 16px;
    height: 10px;
    animation: fall 9s linear infinite,
        sway1 3.5s ease-in-out infinite alternate;
    animation-delay: 13s;
}

.fubuki li:nth-child(4) {
    left: 30%;
    width: 16px;
    height: 10px;
    animation: fall 8s linear infinite,
        sway2 4s ease-in-out infinite alternate;
    animation-delay: 7s;
}

.fubuki li:nth-child(5) {
    left: 40%;
    width: 16px;
    height: 10px;
    animation: fall 10s linear infinite,
        sway1 4s ease-in-out infinite alternate;
    animation-delay: 0s;
}

.fubuki li:nth-child(6) {
    left: 55%;
    width: 24px;
    height: 15px;
    animation: fall 11s linear infinite,
        sway2 3s ease-in-out infinite alternate;
    animation-delay: 3s;
}

.fubuki li:nth-child(7) {
    left: 65%;
    width: 16px;
    height: 10px;
    animation: fall 7s linear infinite,
        sway1 3.5s ease-in-out infinite alternate;
    animation-delay: 7s;
}

.fubuki li:nth-child(8) {
    left: 50%;
    width: 13px;
    height: 9px;
    animation: fall 7s linear infinite,
        sway1 3s ease-in-out infinite alternate;
    animation-delay: 3s;
}

.fubuki li:nth-child(9) {
    left: 80%;
    width: 16px;
    height: 10px;
    animation: fall 8s linear infinite,
        sway1 4s ease-in-out infinite alternate;
    animation-delay: 2s;
}

.fubuki li:nth-child(10) {
    left: 90%;
    width: 24px;
    height: 15px;
    animation: fall 15s linear infinite,
        sway2 3s ease-in-out infinite alternate;
    animation-delay: 2s;
}

.fubuki li:nth-child(11) {
    left: 25%;
    width: 13px;
    height: 9px;
    animation: fall 15s linear infinite,
        sway2 4s ease-in-out infinite alternate;
    animation-delay: 8s;
}

.fubuki li:nth-child(12) {
    left: 70%;
    width: 24px;
    height: 15px;
    animation: fall 9s linear infinite,
        sway2 3.5s ease-in-out infinite alternate;
    animation-delay: 13s;
}

/*--　バックグラデーション　---------------------*/
.bg {
    animation: slide 18s ease-in-out infinite alternate;
    background-image: linear-gradient(-45deg, rgba(231, 220, 230, 0.4) 35%, rgb(255, 255, 255, 0.3) 30%);
    bottom: 0;
    left: -60%;
    opacity: .3;
    position: fixed;
    right: -60%;
    top: 0;
    z-index: -3;
}

.bg2 {
    animation-direction: alternate-reverse;
    animation-duration: 15s;
}

.bg3 {
    animation-duration: 8s;
}

@keyframes slide {
    0% {
        transform: translateX(-25%);
    }

    100% {
        transform: translateX(25%);
    }
}



/*--- top背景画像 -------------------------*/
.main_img {
    /*height: 90vh;*/
    background-image: url(../img/cpac2021_top.png);
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 60% auto;
    background-attachment: fixed;
    z-index: 2;
}

@media (max-width: 575px) {
    .main_img {
        background-size: 100% auto;
    }

}


/*-- CPACタイトル画像の大きさ　----------------------------*/
.title_img {
    width: 80%;
    padding-left: 80px;

}

@media (max-width: 1200px) {
    .title_img {
        width: 90%;
        padding-left: 30px;
    }
}

@media (max-width: 576px) {
    .title_img {
        width: 90%;
        padding-left: 10px;
    }
}

/*-- 〇ボタン　----------------------------------------*/
a.btn_ppl {
    color: #fff;
    background-color: rgba(114, 104, 170, 0.8);
}

a.btn_ppl:hover {
    color: #7268AA;
    background: rgba(114, 104, 170, 0.3);
}

a.btn_blue {
    color: #fff;
    background-color: rgba(59, 168, 196, 0.8);
}

a.btn_blue:hover {
    color: #3ba8c4;
    background: rgba(59, 168, 196, 0.3);
}

a.btn_shadow {
    -webkit-box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.3);
}


a.btn_circle {
    border-radius: 50%;
    /*line-height: 150px;*/
    font-size: 25px;
    width: 160px;
    height: 160px;
    padding: 50px 0;
}

a.link {
    color: #7e4e75;
}

a.link:hover {
    color: #3ba8c4;
    text-decoration: none;
}

/*-- NEWSなど背景色　----------------------------------------*/
.container_top {
    background-color: rgba(255, 255, 255, 0.3);
}

/*-- 共通見出し　----------------------------------------*/

h3.common_title {
    position: relative;
    color: #7e4e75;
}

h3.common_title span {
    position: relative;
    z-index: 2;
    display: inline-block;
    background-color: #fff;
    text-align: left;
}

h3.common_title::before {
    position: absolute;
    top: 50%;
    z-index: 1;
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #d8c0d3;
}

.bg_ppl {
    background-color: #d8c0d3
}


/*-- テキストリンクの色　----------------------------------------*/

.text_link a {
    color: #3ba8c4;
}

.text_link a:hover {
    color: #7e4e75;
    text-decoration: none;
}

/*-- テキストに影　----------------------------------------*/
.text_shadow_w {
    text-shadow: 1px 1px 0.5px #fff;
}

.text_shadow_gry {
    text-shadow: 3px 3px 4px #475785;
}

/*-- table　----------------------------------------*/
.outline_detaile {
    border-bottom: 1px dotted #e6e6fa;
    line-height: inherit;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.outline_detaile_title {
    background-color: rgb(191, 211, 231, 0.7);
    border-bottom: 1px solid #fff;
    line-height: inherit;
    /*font-weight: bold;*/
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}


/*-- Faculty Members ----------------------------------------*/

h3.first-letter:first-letter {
    color: #a32959;
}

.under_marker {
    background: linear-gradient(transparent 75%, #d8c0d3 75%);
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 1rem;
}
/*---Complication of the Year 2021----------------------------------------*/

.coy_title{
 border-left: 5px solid #a32959;
 padding-left: 10px;
 color: #403c64;
 font-size: 22px;
}
.dr_name{
    color:#8c602f;
}

/*-----ページトップへ-------------------------*/
#page_top {
    width: 50px;
    height: 50px;
    position: fixed;
    right: 0;
    bottom: 0;
    background: #7E4E75;
    opacity: 0.6;
    border-radius: 50%;
}

#page_top a {
    position: relative;
    display: block;
    width: 50px;
    height: 50px;
    text-decoration: none;
}

#page_top a::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f106';
    font-size: 30px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -35px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}