@charset "UTF-8";

/* --------------------------------------------------------------
基本スタイル
--------------------------------------------------------------- */

#main{
margin:0;
padding:0;
background-color:#fff;
}

@media only screen and (max-width: 768px) {
#main{
margin:0px;
}
}


.wn {
width: 100%;
    margin: 100px 0 0 0;
}
@media only screen and (max-width: 768px) {
.wn {
 margin:60px 0 0 0;
}
}

/* --------------------------------------------- */
/* ---------------------------------------------------------------------------------------------
	矢印ありテキストリンク
-------------------------------- */
.arrow{ 
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #0066cc;
    vertical-align: middle;
    text-decoration: none;
} 
.arrow::before,
.arrow::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.arrow_01::before{
    width: 7px;
    height: 7px;
    border-top: 1.5px solid #0066cc;
    border-right: 1.5px solid #0066cc;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.arrow2{ 
    position: relative;
    display: inline-block;
    padding: 0 10px 0 0;
    color: #0066cc;
    vertical-align: middle;
    text-decoration: none;
    font-size: 14px;
} 
.arrow2::before,
.arrow2::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.arrow_02::after{
    width: 7px;
    height: 7px;
    border-top: 1.5px solid #0066cc;
    border-right: 1.5px solid #0066cc;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
/* --------------------------------------------- */


/* -------------------------------
	矢印ありボタン
-------------------------------- */
.arrow-button{
    /* ボタンのCSS */
    background-color: #303d6e;
    border-radius: 8px;
    color: #fff !important;
    line-height: 1.6;
    display: flex;
    align-items: center;
    padding: 15px 25px;
    position: relative; /* position: relative;で矢印の位置を基点とさせます */
    text-align: left;
    text-decoration: none;
    width: 100%;
    min-height: 77px;
}
.arrow-button::after{
    /* 擬似要素で矢印アイコンをつくる */
    content: '';
    border: 0;
    border-top: solid 1.5px #fff;
    border-right: solid 1.5px #fff;
    display: inline-block;
    width: 8px;
    height: 8px;
    /* 矢印アイコンの位置を設定 */
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-25%) rotate(135deg);
}
.arrow-button:hover{
    /* ボタンのCSS */
    background-color: #979eb6;
    }
@media only screen and (max-width: 768px) {
.arrow-button{
    margin-bottom: 10px;
    min-height: auto;
    font-size: 15px;
}
}
.arrow-button02{
    /* ボタンのCSS */
    background-color: #74c0dc;
    border-radius: 8px;
    color: #fff !important;
    line-height: 1.6;
    display: flex;
    align-items: center;
    padding: 15px 25px;
    position: relative; /* position: relative;で矢印の位置を基点とさせます */
    text-align: left;
    text-decoration: none;
    width: 100%;
    min-height: 77px;
}
.arrow-button02::after{
    /* 擬似要素で矢印アイコンをつくる */
    content: '';
    border: 0;
    border-top: solid 1.5px #fff;
    border-right: solid 1.5px #fff;
    display: inline-block;
    width: 8px;
    height: 8px;
    /* 矢印アイコンの位置を設定 */
    position: absolute;
    top: 42%;
    right: 20px;
    transform: rotate(45deg);
}
.arrow-button02:hover{
    /* ボタンのCSS */
    background-color: #bfe7f6;
    }
@media only screen and (max-width: 768px) {
.arrow-button02{
    min-height: auto;
    font-size: 15px;
}
}

.arrow-button02_s{
    /* ボタンのCSS */
    background-color: #74c0dc;
    border-radius: 6px;
    color: #fff !important;
    line-height: 1.6;
    display: flex;
    align-items: center;
    padding: 5px 17px;
    position: relative; /* position: relative;で矢印の位置を基点とさせます */
    text-align: left;
    text-decoration: none;
    width: 100%;
    min-height: 46px;
}
.arrow-button02_s::after{
    /* 擬似要素で矢印アイコンをつくる */
    content: '';
    border: 0;
    border-top: solid 1.5px #fff;
    border-right: solid 1.5px #fff;
    display: inline-block;
    width: 8px;
    height: 8px;
    /* 矢印アイコンの位置を設定 */
    position: absolute;
    top: 42%;
    right: 20px;
    transform: rotate(45deg);
}
.arrow-button02_s:hover{
    /* ボタンのCSS */
    background-color: #bfe7f6;
    }
@media only screen and (max-width: 768px) {
.arrow-button02_s{
    min-height: auto;
    font-size: 15px;
}
}

.arrow-button03{
    /* ボタンのCSS */
    background-color: rgba( 2, 22, 100, 1 );
    color: #fff !important;
    line-height: 1.2;
    display: block;
    padding: 24px 35px;
    position: relative; /* position: relative;で矢印の位置を基点とさせます */
    text-align: left;
    text-decoration: none;
    width: 100%;
    font-family: 'Noto Serif JP', serif;
    font-size: 24px;
}
.arrow-button03::after{
    /* 擬似要素で矢印アイコンをつくる */
    content: '';
    border: 0;
    border-top: solid 1.5px #fff;
    border-right: solid 1.5px #fff;
    display: inline-block;
    width: 17px;
    height: 17px;
    /* 矢印アイコンの位置を設定 */
    position: absolute;
    top: 40%;
    right: 35px;
    transform: rotate(45deg);
}
.arrow-button03:hover{
    /* ボタンのCSS */
    background-color: rgba( 2, 22, 100, 0.8 );
    }
@media only screen and (max-width: 768px) {
.arrow-button03{
    padding: 24px;
    font-size: 18px;
}
.arrow-button03::after{
    width: 13px;
    height: 13px;
    top: 40%;
    right: 24px;
    transform: rotate(45deg);
}
}

.arrow-button05{
    /* ボタンのCSS */
    background-color: #fff;
    line-height: 1.2;
    display: block;
    padding: 24px 35px;
    position: relative; /* position: relative;で矢印の位置を基点とさせます */
    text-align: center;
    width: 100%;
    font-size: 28px;
     min-height: 187px;  
    border: 1px solid #b7b7b7;
}
.arrow-button05 p {
    font-family: 'Noto Serif JP', serif;
color: #021664 !important;
  padding:0px;
      position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    bottom: auto;
    width: 100%;
}
.arrow-button05::after{
    /* 擬似要素で矢印アイコンをつくる */
    content: '';
    border: 0;
    border-top: solid 1.5px #021664;
    border-right: solid 1.5px #021664;
    display: inline-block;
    width: 17px;
    height: 17px;
    /* 矢印アイコンの位置を設定 */
    position: absolute;
    top: 45%;
    right: 5%;
    transform: translate(-45%, -50%);
    -webkit-transform: translate(-45%, -50%);
    -ms-transform: translate(-45%, -50%);
    transform: rotate(45deg);
}
.arrow-button05:hover{
    /* ボタンのCSS */
    background-color: #021664;
    }
.arrow-button05:hover p {
color: #fff !important;
    }
.arrow-button05:hover::after {
border-top: solid 1.5px #fff;
    border-right: solid 1.5px #fff;
    }

@media only screen and (max-width: 1420px) {
    .arrow-button05{
         min-height: 10vw;  
}
}
    
@media only screen and (max-width: 768px) {
.arrow-button05 p{
    padding: 0px;
    font-size: 17px;
}
.arrow-button05::after{
    width: 13px;
    height: 13px;
    
}
}

.arrow-button06{
    /* ボタンのCSS */
    background-color: rgba( 19, 32, 82, 1 );
    color: #fff !important;
    line-height: 1;
    display: block;
    padding: 16px 20px 15px 20px;
    position: relative; /* position: relative;で矢印の位置を基点とさせます */
    text-align: left;
    text-decoration: none;
    width: 100%;
    font-size: 18px;
}
.arrow-button06::after{
    /* 擬似要素で矢印アイコンをつくる */
    content: '';
    border: 0;
    border-top: solid 1.5px #fff;
    border-right: solid 1.5px #fff;
    display: inline-block;
    width: 10px;
    height: 10px;
    /* 矢印アイコンの位置を設定 */
    position: absolute;
    top: 40%;
    right: 20px;
    transform: rotate(45deg);
}
.arrow-button06:hover{
    /* ボタンのCSS */
    background-color: rgba( 19, 32, 82, 0.8 );
    }
@media only screen and (max-width: 768px) {
.arrow-button06{
    padding: 12px;
    font-size: 15px;
}
.arrow-button06::after{
    width: 10px;
    height: 10px;
    top: 40%;
    right: 24px;
    transform: rotate(45deg);
}
}

/* --------------------------------------------- */

/* -------------------------------
	写真ありボタン
-------------------------------- */
.btn-caponimg {
    display: block;
    position: relative;
    overflow: hidden;
    height: 100%;
    min-height: 376px;
    background-color: #fff;
    transition-property: color;
    transition-duration: 0.3s;
}
.btn-caponimg .bg {
    position: absolute;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    transition-duration: 0.2s;
    transition-property: opacity, transform, -webkit-transform;
    transition-timing-function: ease-out;
}
.btn-caponimg img:hover{
  transform:scale(1.2,1.2);
  transition:1s all;
}
.arrow-button04{
    /* ボタンのCSS */
    background-color: rgba( 2, 22, 100, 0.8 );
    color: #fff !important;
    line-height: 1.6;
    display: block;
    padding: 43px 35px;
    position: relative; /* position: relative;で矢印の位置を基点とさせます */
    text-align: left;
    text-decoration: none;
    width: 50%;
    position: absolute;
    bottom: 0;
    left: 0;
    font-family: 'Noto Serif JP', serif;
    font-size: 30px;
}
.arrow-button04::after{
    /* 擬似要素で矢印アイコンをつくる */
    content: '';
    border: 0;
    border-top: solid 1.5px #fff;
    border-right: solid 1.5px #fff;
    display: inline-block;
    width: 17px;
    height: 17px;
    /* 矢印アイコンの位置を設定 */
    position: absolute;
    top: 45%;
    right: 35px;
    transform: rotate(45deg);
}
.arrow-button04:hover{
    /* ボタンのCSS */
    background-color: rgba( 2, 22, 100, 0.6 );
    }
.arrow-button04b{
    /* ボタンのCSS */
    background-color: rgba( 255, 255, 255, 1 );
    color: #021664 !important;
    line-height: 1.6;
    display: block;
    padding: 30px 35px 20px 17px;
    position: relative; /* position: relative;で矢印の位置を基点とさせます */
    text-align: left;
    text-decoration: none;
    width: 60%;
    position: absolute;
    bottom: 0;
    left: 0;
    font-family: 'Noto Serif JP', serif;
    font-size: 30px;
}
.arrow-button04b::after{
    /* 擬似要素で矢印アイコンをつくる */
    content: '';
    border: 0;
    border-top: solid 1.5px #021664;
    border-right: solid 1.5px #021664;
    display: inline-block;
    width: 17px;
    height: 17px;
    /* 矢印アイコンの位置を設定 */
    position: absolute;
    top: 45%;
    right: 35px;
    transform: rotate(45deg);
}
.arrow-button04b:hover{
    /* ボタンのCSS */
    background-color: rgba( 255, 255, 255, 0.8 );
    }

@media only screen and (max-width: 1400px) {
.btn-caponimg {
    height: 100%;
    min-height: 25vw;
}
.arrow-button04b{
    padding: 30px 35px 20px 17px;
    width: 30vw;
    }
}

@media only screen and (max-width: 768px) {
.btn-caponimg {
    min-height: 150px;
}  
.arrow-button04{
    background-color: rgba( 2, 22, 100, 0.9 );
    padding: 24px;
    width: 70%;
    font-size: 20px;
}
.arrow-button04::after{
    width: 13px;
    height: 13px;
    top: 45%;
    right: 24px;
    transform: rotate(45deg);
}
.arrow-button04b{
    padding: 12px 24px 10px 10px;
    width: 80%;
    font-size: 20px;
}
.arrow-button04b::after{
    width: 13px;
    height: 13px;
    top: 42%;
    right: 24px;
    transform: rotate(45deg);
}
}

.arrow-button03b{
    /* ボタンのCSS */
    background: url(../images/research/basic/btn1.jpg) no-repeat top left #fff;
    background-size:cover;
    height:187px;
    color: #fff !important;
    line-height: 4.4;
    display: block;
    padding: 24px 100px 24px 24px;
    position: relative;
    text-align: right;
    text-decoration: none;
    width: 100%;
    font-family: 'Noto Serif JP', serif;
    font-size: 30px;
    object-fit: cover;
    transition-duration: 0.2s;
    transition-property: opacity, transform, -webkit-transform;
    transition-timing-function: ease-out;
}

.arrow-button03b::after{
    /* 擬似要素で矢印アイコンをつくる */
    content: '';
    border: 0;
    border-top: solid 1.5px #fff;
    border-right: solid 1.5px #fff;
    display: inline-block;
    width: 17px;
    height: 17px;
    /* 矢印アイコンの位置を設定 */
    position: absolute;
    top: 45%;
    right: 35px;
    transform: rotate(45deg);
}
.arrow-button03b:hover{
    /* ボタンのCSS */
    opacity: 0.8;
    }


@media only screen and (max-width: 1180px) {
.arrow-button03b {
  height:140px;
    padding: 17px 8vw 0 3vw;
    font-size: 24px;
}
}

@media only screen and (max-width: 768px) {
.arrow-button03b{
    background: url(../images/research/basic/btn1.jpg) no-repeat top center #fff;
    background-size:cover;
    padding: 2px 50px 0 0;
    font-size: 18px;
    height:90px;
    max-height: 90px 
}
.arrow-button03b::after{
    width: 13px;
    height: 13px;
    top: 40%;
    right: 24px;
    transform: rotate(45deg);
}
}


.btn-caponimg-s {
    display: block;
    position: relative;
    overflow: hidden;
    height: 100%;
    min-height: 195px;
    background-color: #fff;
    transition-property: color;
    transition-duration: 0.3s;
    border-radius: 10px;
}
.btn-caponimg-s .bg {
    position: absolute;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    /*transition-duration: 0.2s;
    transition-property: opacity, transform, -webkit-transform;
    transition-timing-function: ease-out;*/
}
.btn-caponimg-s img:hover{
  /*transform:scale(1.2,1.2);
  transition:1s all;*/
}
.arrow-button04-s{
    /* ボタンのCSS */
    background-color: rgba( 0, 0, 0, 0.8 );
    color: #fff !important;
    line-height: 1.6;
    display: block;
    padding: 5px 15px;
    position: relative; /* position: relative;で矢印の位置を基点とさせます */
    text-align: center;
    text-decoration: none;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 20px;
}
.arrow-button04-s:hover{
    /* ボタンのCSS */
    background-color: rgba( 0, 0, 0, 0.6 );
    }
@media only screen and (max-width: 768px) {
.btn-caponimg-s {
    min-height: 120px;
}  
.arrow-button04-s{
    padding: 5px;
    width: 100%;
    font-size: 15px;
}
}



@media only screen and (max-width: 768px) {
.main_v4 {
  background: url(../images/research/basic/ips/main.jpg) no-repeat top center #fff;
    background-size:cover;
  max-height:70px;
    height: 70px;
  }
.main_v4 h3 {
  margin: 0;
  text-align:left;
  font-size:18px;
    font-weight: 600;
  padding:10px 20px 10px 20px;
    width:auto;
  /*letter-spacing:0px;*/
}
}

/* --------------------------------------------- */

/* ----------------------------------------------------------------------------------------------------------------------------
	写真あり（左）ボタン
-------------------------------- */

.p-card2.-type1 a {
    padding: 5px; }

.p-card2.-type1 a:hover {
    opacity: 0.6; }
.p-card2.-type1 a:hover img {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
    transition: .4s;
/*    transform: scale(1.2,1.2);*/
}

.p-card2.-type1 .p-card2__figure {
          width: 120px;
    margin-right: 1.5rem; }
  
.p-card2.-type1 .c-arrow-square {
      margin-left: 3rem; }

.p-card2 a {
      background-color: #fff;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    height: 100%;
border-radius: 4px;}

/*.p-card2 a::before {
      content: '';
      display: block;
      width: 100%;
      height: 100%;
      display: block;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      z-index: 0;
      border-radius: 0.5rem;
      background-color: #ffffff;
      -webkit-box-shadow: 0px 0.5rem 1.3rem 0px rgba(0, 0, 0, 0.05);
      box-shadow: 0px 0.5rem 1.3rem 0px rgba(0, 0, 0, 0.05);
      opacity: 0;
      -webkit-transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1);
      -o-transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1);
      transition: all 300ms cubic-bezier(0.215, 0.61, 0.355, 1);
      pointer-events: none; }


    .p-card2 a.is-hover:hover {
      border-color: rgba(0, 0, 0, 0); }
      .p-card2 a.is-hover:hover::before {
        opacity: 1; }
      .p-card2 a.is-hover:hover::after {
        opacity: 0; }
      .p-card2 a.is-hover:hover .c-arrow-square::after {
        opacity: 0; }*/
.p-card2 .c-arrow-nw {
    display: inline-block;
    width: 23px;
    height: 18px;
    position: absolute;
    top: 35%;
    right: 20px;
      margin-left: 3rem; }
.p-card2 .c-arrow-nw2 {
    display: inline-block;
    width: 23px;
    height: 18px;
    position: absolute;
    top: 35%;
    right: 7px;
      margin-left: 3rem; }
.p-card2 .c-arrow-nw2 img {
    width: 8px;
}

    .p-card2 .c-arrow-square {
            border-top: solid 1.5px #6e6e6e;
    border-right: solid 1.5px #6e6e6e;
    display: inline-block;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 45%;
    right: 20px;
    transform: rotate(45deg);
      margin-left: 3rem; }


.p-card2 img {
    vertical-align: middle;
    width: -webkit-fill-available;
    }

/* ----- p-card2__contents ----- */
.p-card2__figure {
  position: relative;
  z-index: 1; }

.p-card2__contents {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.p-card2__title {
  font-weight: 400; 
      font-size: 16px;
    margin-top: 0.5rem;
        padding-right: 2.5rem;
    color: #000000;
           }
@media only screen and (max-width: 768px) {
.p-card2 a {
    display: block;
}
.p-card2.-type1 .p-card2__figure {
    width: 100%;
}
.p-card2__title {
    font-size: 15px;
    margin-top: 0.5rem;
    padding: 5px;
}
}

/* --------------------------------------------- */

/* ----------------------------------------------------------------------------------------------------------------------------
	写真あり（左）ボタン2
-------------------------------- */

.p-card3.-type1 a {
    padding: 5px;
}

.p-card3.-type1 a:hover {
    opacity: 0.6; }
.p-card3.-type1 a:hover img {
    opacity: 1;
    filter: alpha(opacity=100);
    -ms-filter: "alpha(opacity=100)";
    transition: .4s;
/*    transform: scale(1.2,1.2);*/
}

.p-card3.-type1 .p-card3__figure {
          width: 120px;
    margin-right: 1.5rem; }
  
.p-card3.-type1 .c-arrow-square {
      margin-left: 3rem; }

.p-card3 a {
      background-color: #fff;
    border:1px solid #b7b7b7;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    height: 100%;
border-radius: 6px;
}


.p-card3 .c-arrow-nw {
    display: inline-block;
    width: 23px;
    height: 18px;
    position: absolute;
    top: 35%;
    right: 20px;
      margin-left: 3rem; }
.p-card3 .c-arrow-nw2 {
    display: inline-block;
    width: 23px;
    height: 18px;
    position: absolute;
    top: 35%;
    right: 7px;
      margin-left: 3rem; }
.p-card3 .c-arrow-nw2 img {
    width: 8px;
}

    .p-card3 .c-arrow-square {
            border-top: solid 1.5px #6e6e6e;
    border-right: solid 1.5px #6e6e6e;
    display: inline-block;
    width: 10px;
    height: 10px;
    position: absolute;
    top: 45%;
    right: 20px;
    transform: rotate(45deg);
      margin-left: 3rem; }


.p-card3 img {
    vertical-align: middle;
    width: -webkit-fill-available;
    }

/* ----- p-card2__contents ----- */
.p-card3__figure {
  position: relative;
  z-index: 1; }

.p-card3__contents {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.p-card3__title {
  font-weight: 400; 
      font-size: 20px;
    margin-top: 0.5rem;
        padding-right: 2.5rem;
    color: #021664;
           }
@media only screen and (max-width: 768px) {
.p-card3 a {
    display: block;
}
.p-card3.-type1 .p-card3__figure {
    width: 100%;
}
.p-card3__title {
    font-size: 15px;
    margin-top: 0.5rem;
    padding: 5px;
}
}

/* --------------------------------------------- */



/* -------------------------------
	ボタン
-------------------------------- */
.btn-border {
  display: inline-block;
  width: auto;
  text-align: left;
  border: 1px solid #7f7f7f;
  font-size: 16px;
  color: #9ec34b;
  text-decoration: none;
  font-weight: normal;
  padding: 12px 22px 10px 22px;
  transition: .4s;
  line-height:1.5;
}

.btn-border:hover {
  background-color: #4fa9b8;
  border-color: #4fa9b8;
  color: #FFF !important;
  text-decoration: none !important;
}

@media only screen and (max-width: 768px) {
.btn-border {
  width: 100%;
  text-align: center;
  font-size: 15px;
  padding: 10px 22px;
  }
}

.btn-border2 {
  display: inline-block;
  width: auto;
  text-align: left;
  border: 1px solid #53a9b7;
  background-color: #53a9b7;
  font-size: 16px;
  color: #fff !important;
  text-decoration: none;
  font-weight: normal;
  padding: 12px 22px 10px 22px;
  transition: .4s;
  line-height:1.5;
}

.btn-border2:hover {
  background-color: #fff;
  border-color: #53a9b7;
  color: #000 !important;
  text-decoration: none !important;
}

@media only screen and (max-width: 768px) {
.btn-border2 {
  width: 100%;
  text-align: center;
  font-size: 15px;
  padding: 10px 22px;
  }
}

.btn-pdf {
  display: inline-block;
  width: auto;
  text-align: left;
  background-color:#c94040;
  font-size: 15px;
  color: #fff!important;
  text-decoration: none;
  font-weight: normal;
  padding: 8px 20px 6px 20px;
  transition: .4s;
  line-height:1.5;
    border: 1px solid #c94040;
}

.btn-pdf:hover {
  background-color: #ffffff;
  color: #c94040 !important;
  text-decoration: none !important;
    border: 1px solid #c94040;
}

@media only screen and (max-width: 768px) {
.btn-pdf {
  width: 100%;
  text-align: center;
  font-size: 14px;
  padding: 10px 20px;
  }
}

/* ---------------------------------------------------------------------------------------------
	見出し
-------------------------------- */

/* 大見出し */
.mi00 {
color: #000;/*文字色*/
margin-bottom: 30px !important;
font-size: 26px;
font-weight:normal;
text-align:center;
}
.mi00:before {
  content: url("../images/common/icon.png");
  padding-right:15px;
}
.mi00:after {
  content: url("../images/common/icon.png");
  padding-left:15px;
}

@media only screen and (max-width: 768px) {
/* 大見出し */
.mi00 {
margin-bottom: 10px !important;
font-size: 22px;
}
.mi00:before {
  padding-right:8px;
}
.mi00:after {
  padding-left:8px;
}
}



/* ----------------------------------------------------------------------------------------------------------- */
/* 背景あり */
.mi01 {
font-size:28px;
padding: 0.5em 1em;/*上下 左右の余白*/
color: #fff;/*文字色*/
font-weight:400;
/*margin-bottom:50px;*/
background: url(../images/common/mi_bg1.jpg) no-repeat top center #fff;
  background-size:auto;
    margin-top: 0 !important;
}

@media only screen and (max-width: 768px) {
.mi01 {
font-size:18px;
    font-weight:600;
padding: 0.8em 0.8em 0.5em 0.8em;/*上下 左右の余白*/
/*margin-bottom:25px;*/
background-size:cover;
line-height: 1.5;
}
}
/* --------------------------------------------- */

/* ----------------------------------------------------------------------------------------------------------- */
/* 左線背景色あり */
.mi02 {
    padding: 31px 0 27px 0;
    border-top: 1px solid #b2b2b2;
    border-bottom: 1px solid #b2b2b2;
    font-size: 22px;
    line-height: 1.33;
    color: #021664;
    font-weight: 400;
    /*margin-bottom: 50px;*/
}
.mi02:before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-bottom: calc(((-2.4rem * 1.33) + 2.4rem) / 2 + 0rem);
}
.mi02:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    margin-top: calc(((-2.4rem * 1.33) + 2.4rem) / 2 + 0rem);
}
.mi02 span {
    display: inline-block;
    position: relative;
}
.mi02 span:before {
    content: "";
    display: block;
    width: 100%;
    height: 4px;
    background: -webkit-gradient(linear,left top,right top,from(#0095d8),to(#0077cb));
    background: -o-linear-gradient(left,#303d6e 0%,#303d6e 100%);
    background: linear-gradient(90deg,#303d6e 0%,#303d6e 100%);
    position: absolute;
    top: -25px;
}

@media only screen and (max-width: 768px) {
.mi02 {
padding: 20px 0 17px 0;
font-size:17px;
/*margin-bottom:25px;*/
}
.mi02 span:before {
    top: -14px;
}
}
/* --------------------------------------------- */



/* ----------------------------------------------------------------------------------------------------------- */
/* 数字付き */
.mi03_1 {
font-size:18px;
  position: relative;
  padding: 0.6em 0.6em 0.6em 0.6em;
  line-height: 1.5em;
  color: #000;/*文字色*/
  background: #eaf5fa;
  border-left : solid 47px #303d6e;
  font-weight:bold;
  /*margin-bottom: 50px !important;*/
}
.mi03_1:before{
  /* 以下数字をつける */
  position: absolute;
content: "1";
  /*数字のデザイン変える*/
  display:inline-block;
  color: #fff;
  font-weight:400;
  font-size: 24px;
  top: 47%;
  -moz-transform: translateY(-50%);
  	-webkit-transform: translateY(-50%);
  	-o-transform: translateY(-50%);
  	-ms-transform: translateY(-50%);
  	transform: translateY(-50%);
  left: -47px;
  width: 47px;
  height: 1em;
  line-height: 1;
  text-align:center;
    font-family:'Noto Sans JP', sans-serif;
}

.mi03_2 {
font-size:18px;
  position: relative;
  padding: 0.6em 0.6em 0.6em 0.6em;
  line-height: 1.5em;
  color: #000;/*文字色*/
  background: #eaf5fa;
  border-left : solid 47px #303d6e;
  font-weight:bold;
  /*margin-bottom: 50px !important;*/
}
.mi03_2:before{
  /* 以下数字をつける */
  position: absolute;
content: "2";
  /*数字のデザイン変える*/
  display:inline-block;
  color: #fff;
  font-weight:400;
  font-size: 24px;
  top: 47%;
  -moz-transform: translateY(-50%);
  	-webkit-transform: translateY(-50%);
  	-o-transform: translateY(-50%);
  	-ms-transform: translateY(-50%);
  	transform: translateY(-50%);
  left: -47px;
  width: 47px;
  height: 1em;
  line-height: 1;
  text-align:center;
    font-family:'Noto Sans JP', sans-serif;
}
.mi03_3 {
font-size:18px;
  position: relative;
  padding: 0.6em 0.6em 0.6em 0.6em;
  line-height: 1.5em;
  color: #000;/*文字色*/
  background: #eaf5fa;
  border-left : solid 47px #303d6e;
  font-weight:bold;
  /*margin-bottom: 50px !important;*/
}
.mi03_3:before{
  /* 以下数字をつける */
  position: absolute;
content: "3";
  /*数字のデザイン変える*/
  display:inline-block;
  color: #fff;
  font-weight:400;
  font-size: 24px;
  top: 47%;
  -moz-transform: translateY(-50%);
  	-webkit-transform: translateY(-50%);
  	-o-transform: translateY(-50%);
  	-ms-transform: translateY(-50%);
  	transform: translateY(-50%);
  left: -47px;
  width: 47px;
  height: 1em;
  line-height: 1;
  text-align:center;
    font-family:'Noto Sans JP', sans-serif;
}
@media only screen and (max-width: 768px) {
.mi03_1 {
font-size:16px;
  position: relative;
  padding: 0.3em 0.3em 0.3em 0.5em;
  line-height: 1.5em;
  border-left : solid 26px #303d6e;
  /*margin-bottom: 25px;*/
    font-weight:500;
}
.mi03_1:before{
  font-size: 18px;
  top: 45%;
  left: -26px;
  width: 26px;
}
.mi03_2 {
font-size:16px;
  position: relative;
  padding: 0.3em 0.3em 0.3em 0.5em;
  line-height: 1.5em;
  border-left : solid 26px #303d6e;
  /*margin-bottom: 25px;*/
    font-weight:500;
}
.mi03_2:before{
  font-size: 18px;
  top: 45%;
  left: -26px;
  width: 26px;
}
.mi03_3 {
font-size:16px;
  position: relative;
  padding: 0.3em 0.3em 0.3em 0.5em;
  line-height: 1.5em;
  border-left : solid 26px #303d6e;
  /*margin-bottom: 25px;*/
    font-weight:500;
}
.mi03_3:before{
  font-size: 18px;
  top: 45%;
  left: -26px;
  width: 26px;
}
}
/* --------------------------------------------- */

/* ----------------------------------------------------------------------------------------------------------- */
/* 背景有り */
.mi04 {
font-size:18px;
  padding: 0.6em 0.6em 0.4em 1em;
  line-height: 1.5em;
  color: #000;/*文字色*/
  background: #eaf5fa;
  font-weight:bold;
  /*margin-bottom: 50px !important;*/
}

@media only screen and (max-width: 768px) {
.mi04 {
font-size:16px;
  padding: 0.7em 0.8em 0.5em 0.8em;
  /*margin-bottom: 25px; */ 
    font-weight:500;
    line-height: 1.4;
    }
}
.mi04b {
font-size:20px;
  padding: 0.6em 0.6em 0.4em 1.3em;
  line-height: 1.5em;
  color: #fff;/*文字色*/
  background: #303d6e;
  font-weight:400;
    margin: 0 !important;
}

@media only screen and (max-width: 768px) {
.mi04b {
font-size:15px;
  padding: 0.7em 0.8em 0.5em 0.8em;
 margin: 0;
    font-weight:500;
    line-height: 1.4;
    }
}
.mi04c {
font-size:16px;
  padding: 0.6em 0.6em 0.4em 1.3em;
  line-height: 1.5em;
  color: #000;/*文字色*/
  background: #ededed;
  font-weight:bold;
    }

@media only screen and (max-width: 768px) {
.mi04c {
font-size:15px;
  padding: 0.7em 0.8em 0.5em 0.8em;
    font-weight:500;
    line-height: 1.4;
    }
}
.mi04d {
font-size:18px !important;
  padding: 0.6em 0.6em 0.4em 1em;
  line-height: 1.5em;
  color: #fff;/*文字色*/
  background: #303d6e;
  font-weight:500;
  /*margin-bottom: 50px !important;*/
}

@media only screen and (max-width: 768px) {
.mi04d {
font-size:16px !important;
  padding: 0.7em 0.8em 0.5em 0.8em;
  /*margin-bottom: 25px; */ 
    font-weight:500;
    line-height: 1.4;
    }
}
/* --------------------------------------------- */

/* ----------------------------------------------------------------------------------------------------------- */
/* 文字大 */
.mi05 {
    font-size: 22px;
    line-height: 1.33;
    color: #021664;
    font-weight: 400;
}

@media only screen and (max-width: 768px) {
.mi05 {
font-size:17px;
}
}

/* ----------------------------------------------------------------------------------------------------------- */
/* 下線あり */
.mi06 {
    font-size: 30px;
    line-height: 2;
    color: #021664;
    font-weight: 400;
    font-family: 'Noto Serif JP', serif;
    border-bottom: 3px solid #fed100;
    display: inline-block;
}

@media only screen and (max-width: 768px) {
.mi06 {
font-size:24px;
}
}


/* キャプション */
.cap_bg {
  position: relative;
  padding: 1em;
  background: #e5e5e5;
  font-size:14px !important;
  margin: 20px 0 40px 0;
    }
@media only screen and (max-width: 768px) {
.cap_bg {
  font-size:13px !important;
  margin: 15px 0 30px 0;
}
}


/* ---------------------------------------------------------------------------------------------
	背景色ありBOX
-------------------------------- */
.txt_box1 {
padding: 2em 2em 1em 2em;
background: #f2f2f2;
margin-bottom:50px;
}
@media only screen and (max-width: 768px) {
.txt_box1 {
padding: 1em 1em 0.5em 1em;
margin-bottom:20px;
}
}

/* 背景色ありBOX */
.card_box1 {
padding: 1em;
background: #f2f9fa;
border-top: solid 6px #4fa9b8;/*左線（実線 太さ 色）*/
margin-bottom:20px;
}
.card_box1b {
padding: 1em;
background: #f2f9fa;
border-top: solid 6px #4fa9b8;/*左線（実線 太さ 色）*/
margin-bottom:0px;
}
.card_box1d {
padding: 1em 1em 0.5em 1em;
background: #f6f6f6;
margin-bottom:0px;
}
.card_box1c {
padding: 0.7em 0.7em 0.2em 0.7em;
background: #f6f6f6;
margin-bottom:20px;
display: flex;
  justify-content: center;
  align-items: center;
  height:90px;
  max-height:100px;
}
.card_box1c p{
line-height:1.2em !important;
text-align:center;
}
.card_box1c p span {
font-size:90% !important;
line-height:1.2em !important;
}
@media only screen and (max-width: 768px) {
.card_box1 {
padding: 1em;
background: #f2f9fa;
border-top: solid 6px #4fa9b8;/*左線（実線 太さ 色）*/
margin-bottom:20px;
}
.card_box1c {
padding: 0.5em 0.5em 0.2em 0.5em;
margin-bottom:10px;
display: flex;
  justify-content: center;
  align-items: center;
  height:auto;
}
}

/* 背景色ありBOX2 */
.card_box2 {
padding: 1em 0.5em 0.1em 0.5em;
background: #83c3cd;
text-align:center;
}
.card_box2 p {
color:#fff;
font-weight:bold;
line-height:1 !important;
}
.card_box2_btm {
padding: 1em;
background: #f2f9fa;
}
@media only screen and (max-width: 768px) {
.card_box2 {
padding:0.5em 0.5em 0.1em 0.5em;
}
.card_box2_btm {
padding: 1em;
background: #f2f9fa;
margin-bottom:20px;
}
}

/* 背景色ありBOX */
.card_box3 {
padding: 1em;
background: #fef3ea;
border-top: solid 6px #f9c597;/*左線（実線 太さ 色）*/
margin-bottom:20px;
border-radius: 0px 0px 25px 25px;
}
.card_box3 p {
font-size:18px!important;
}
.card_box3b {
padding: 1em;
background: #fef3ea;
border-top: solid 6px #f9c597;/*左線（実線 太さ 色）*/
margin-bottom:0px;
border-radius: 25px 0px 0px 25px;
}
@media only screen and (max-width: 768px) {
.card_box3 {
padding: 1em;
margin-bottom:20px;
}
.card_box3 p {
font-size:16px!important;
}
}

/* 背景色ありBOX */
.card_box4 {
padding: 1em;
background: #f2f7de;
border-top: solid 6px #afbd75;/*左線（実線 太さ 色）*/
margin-bottom:20px;
border-radius: 0px 0px 25px 25px;
}
.card_box4 p {
font-size:18px!important;
}
@media only screen and (max-width: 768px) {
.card_box4 {
padding: 1em;
margin-bottom:20px;
}
.card_box4 p {
font-size:16px!important;
}
}


/* ---------------------------------------------------------------------------------------------
	外来枠
-------------------------------- */
.sub_info{
padding:0;
display:table;
width:100%;
text-align:left !important;
}

.sub_info .lft{
display:table-cell;
vertical-align:middle;
padding:40px 30px 40px 30px;
width:auto;
background-color: #ededed;
    white-space: nowrap;
} 
.sub_info .rgt{
display:table-cell;
vertical-align:middle;
    padding:40px 30px 40px 30px;
width:80%;
    background-color: #f6f6f6;
} 

@media only screen and (max-width: 768px) {
.sub_info .lft{
display:block;
vertical-align:top;
padding:15px 15px 5px 15px;
width:100%;
} 
.sub_info .rgt{
    display:block;
width:100%;
padding:15px 15px 5px 15px;
} 
}
/* --------------------------------------------- */

/* -------------------------------
	テーブル
-------------------------------- */
.award{
display: table;
width:100%;
}
.award .end{
display: table-cell;
}

table, th, td {
/*border: 1px #e5e5e5 solid;*/
    border:none;
border-collapse: collapse;
background-color: ffffff;
line-height:1.4;
}
.tbl-r02 {
    width: 100%;
	height:auto;
	margin-bottom:20px;
  }

.tbl-r02 th {
width:15%;
 border: 1px #e5e5e5 solid;
background-color: #83c3cd;
padding: 5px 10px;
text-align: left;
vertical-align: middle;
color:#fff;
}
.tbl-r02 .day{
height:40px;
}
.tbl-r02 .awd{
height:60px;
}
.tbl-r02 td {
width:85%;
　border: 1px #e5e5e5 solid;
border-collapse: collapse;
background-color: #ffffff;
padding: 5px 10px;
text-align: left;
vertical-align: middle;
}


@media screen and (max-width: 640px) {
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .tbl-r02 {
    width: 100%;
  }
  .tbl-r02 th,
  .tbl-r02 td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
  .tbl-r02 .day{
height:auto;
}
.tbl-r02 .awd{
height:auto;
}
}

/* --------------------------------------------- */
/* -------------------------------
	パンくず
-------------------------------- */
*, *::after, *::before {
  box-sizing: border-box;
}


.cd-breadcrumb a {
  color: #000000 !important;
  text-decoration: none;
}

.cd-breadcrumb, .cd-multi-steps {
  width: 92%;
  padding: 0;
  margin:0 auto;

}
.cd-breadcrumb:after, .cd-multi-steps:after {
  content: "";
  display: table;
  clear: both;
}
.cd-breadcrumb li, .cd-multi-steps li {
  display: inline-block;
  float: left;
  margin: 0.5em 0.2em 0 0;
    font-size: 11px;
    line-height: 1.3;
}
.cd-breadcrumb li::after, .cd-multi-steps li::after {
  /* this is the separator between items */
  display: inline-block;
  margin: 0 0.2em !important;
  color: #959fa5;
}
.cd-breadcrumb li:last-of-type::after, .cd-multi-steps li:last-of-type::after {
  /* hide separator after the last item */
  display: none;
}
.cd-breadcrumb li > *, .cd-multi-steps li > * {
  /* single step */
  display: inline-block;
  font-size: 11px;
  color: #2c3f4c;
  font-style:normal;
}
.cd-breadcrumb li.current > *, .cd-multi-steps li.current > * {
  /* selected step */
  color: #000;
}
.no-touch .cd-breadcrumb a:hover, .no-touch .cd-multi-steps a:hover {
  /* steps already visited */
  color: #000;
}
.cd-breadcrumb.custom-separator li::after, .cd-multi-steps.custom-separator li::after {
  /* replace the default arrow separator with a custom icon */
  content: '';
  height: 8px;
  width: 12px;
  /*background: url(../images/common/cd-custom-separator.svg) no-repeat center center;*/
  vertical-align: middle;
border-top: solid 1px #6e6e6e;
    border-right: solid 1px #6e6e6e;
        width: 5px;
    height: 5px;
        top: 45%;
    right: 20px;
    transform: rotate(45deg);
}

@media only screen and (min-width: 768px) {
  .cd-breadcrumb, .cd-multi-steps {
      width: 100%;
    padding: 0 0 0 5.5vw;
  }
  .cd-breadcrumb li, .cd-multi-steps li {
    margin: 1.2em 0.3em 0 0;
    font-size: 14px;
  }
  .cd-breadcrumb li::after, .cd-multi-steps li::after {
    margin: 0 1em;
  }
  .cd-breadcrumb li > *, .cd-multi-steps li > * {
    font-size: 14px;
  }
    .cd-breadcrumb.custom-separator li::after, .cd-multi-steps.custom-separator li::after {
  /* replace the default arrow separator with a custom icon */
  content: '';
  height: 16px;
  width: 16px;
  /*background: url(../images/common/cd-custom-separator.svg) no-repeat center center;*/
  vertical-align: middle;
  border-top: solid 1px #6e6e6e;
    border-right: solid 1px #6e6e6e;
        width: 7px;
    height: 7px;
        top: 45%;
    right: 20px;
    transform: rotate(45deg);
}
}
/* --------------------------------------------- */

/* -------------------------------
	footer
-------------------------------- */

#footer {
    background-color:#eef2f7;
padding:0 4vw 0 4vw;
margin:0;
    border-bottom: 1px solid #fff;
      }

#footer .foot_link {
    width: 95%;
 color:#000;
 padding:60px 0 40px 0;
}
 
#footer .foot_link .mi {
	font-size: 15px;
	text-align: left;
	padding: 0 0 10px 0;
	line-height:1;
	font-weight:500;
}

#footer .foot_link .fb {
	font-size: 14px!important;
	text-align: left;
	padding: 0 0 10px 0;
	font-weight:normal;

    padding: 8px 0 0 30px;
    line-height: 26px;
    background: url(../images/common/icon2.png) no-repeat left center;
    min-height: 40px;
}
/*#footer .foot_link .fb:before {
  content: url("../images/common/icon2.png");
  padding-right:10px;
}*/
#footer .foot_link ul li {
	font-size: 14px;
	text-align: left;
	line-height:1.8;
}

#footer .foot_link a:link { color: #000; transition: .2s;}
#footer .foot_link  a:visited { color: #000; }
#footer .foot_link  a:hover { color: #999; text-decoration:none; }
#footer .foot_link  a:active { color: #999; text-decoration:none; }

@media (max-width: 768px) {	

#footer .foot_link {
margin-right:0px !important;
margin-left:0px !important;
padding:40px 0 5px 0;
}

#footer .foot_link .f_link {
margin-bottom:35px;
}

#footer .foot_link .f_link .mi {
	font-size: 14px !important;
	padding-left: 1em;
	text-align: left;
	padding: 0 0 5px 0;
    line-height:1;
	}
#footer .foot_link ul li {
padding-left: 1.8em;
	font-size: 13px !important;
	text-align: left;
	line-height:1.8 !important;
	border-bottom:1px solid #fff;
	padding:5px 0;
}

#footer .foot_link ul li a{
	display:block;
	color:#fff;
height:100%;
width:100%
}
}

#copyright {
    background-color:#eef2f7;
padding:0 4vw 0 4vw;
margin:0;
      }

.copyright {
background-color:#eef2f7;
  color: #000000;
  font-size: 13px;
  text-align: left;
  padding: 20px 0;
  }

.pagetop a {
  position: fixed;
  right: 0px;
  bottom: 0px;
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  /*opacity: 0.8;*/
  z-index: 9999;
}
.pagetop a:hover {
 opacity: 0.8;
}
.pagetop img {
width:75px;
}

@media (max-width: 768px) {	
.pagetop a {
  position: fixed;
  right: 0px;
  bottom: 0px;
  z-index: 9999;
   opacity: 0.8 !important;
}
.pagetop a:visited {
 opacity: 0.8 !important;
}
.pagetop a:active {
 opacity: 0.8 !important;
}
.pagetop a:hover {
 opacity: 0.8 !important;
}
.pagetop img {
width:65px;
position: fixed;
  right: 0px;
  bottom: 0px;
}

.copyright {
  font-size: 12px;
  padding: 20px 0;
  }

}


/* -------------------------------
	navigation
-------------------------------- */
.head {
border-bottom:1px solid #e5e5e5;
padding: 20px 30px 20px 30px;
margin:0;
position: relative;
}

.head .keishin_link {
position: absolute;
    top: 0px;
    right: 2.5vw;
    background-color: #f2f2f2;
    padding: 7px 15px;
    line-height: 1.2;
    font-size: 14px;
}
.head .keishin_link a {
text-decoration:none;
    color:#000 !important;
	padding:0;
	transition: .3s;
}
.head .keishin_link a:hover {
  color: #000; /* ホバーした時の文字色 */
  border-bottom: 2px solid #fed000; /* 下線 なしにする場合は削除する*/
}


.header {
display:table;
width: 100%;
}
.header .logo {
display:table-cell;
width:20%;
padding:0;
margin:0;
vertical-align:middle;
}
.header .logo img {
width:224px;
}
.header .nv {
    width:auto;
display:table-cell;
    vertical-align: middle;
}
.header .nv ul.navigation {
    /*table-layout:fixed;*/
	float:right !important;
	text-align:right !important;
	margin: 10px 0 0 0;
}
.header .nv ul.navigation li {
    display:table-cell;
    vertical-align:middle !important;
    text-align:center;
    }

.header .nv ul.navigation li a {
font-size:16px;
font-weight:400;
    display:block;
    text-decoration:none;
    color:#000 !important;
	padding:0 25px;
	transition: .3s;
}
.header .nv ul.navigation li a:hover {
    color:#a0a0a0 !important;
	}
	

/*サブナビ*/
.header .nv ul.navigation {
overflow: hidden;
display: flex;
}
.header .nv ul.navigation > li:hover > a {/*layer-1*/
  color: #4fa9b8;
  /*background: #e3f3f5;*/
  }
.header .nv ul.navigation li ul {
  width: auto;
  display: none;
  margin-left: 0px;
  position: absolute;
  background: #e3f3f5;
  top:74px !important;
  z-index:110;
}
.header .nv ul.navigation li ul li {
  display:block !important;
  border-bottom: 1px solid #fff;
  border-left: 3px solid #4fa9b8 !important;
  padding:5px;
  text-align:left !important;
}
.header .nv ul.navigation .child {
    border: 1px solid #fff !important;
	border-left: 3px solid #4fa9b8 !important;
}
.header .nv ul.navigation > li li:hover > a {/*layer-2*/
  color: #4fa9b8;
  background: #e3f3f5;
 }
.header .nv ul.navigation li ul li a {
  border-bottom: 1px solid #eee;
   font-weight:normal !important;
}
/*サブナビ*/

@media (max-width: 1200px) {
.header .logo {

}
.header .nv {

}
.header .nv ul.navigation {
	padding-top:10px;
}
.header .nv ul.navigation li a {
padding:0 15px;
}
}

@media (max-width: 992px) {
.header .logo {

}
.header .nv {

}
.header .nv .header .nv ul.navigation {
	padding-top:10px;
}
.header .nv ul.navigation li a {
font-size:15px;
padding:0 10px;
}
}

@media (max-width: 820px)  {
.header .nv ul.navigation {
    display:none;
}
}

@media (max-width: 768px)  {
.head {
padding: 10px;
}
.header .nv ul.navigation {
    display:none;
}
.header .logo {
width:50%;
}
.header .logo img {
width:100%;
}
}

/* -------------------------------
　グローバルナビゲーション 2024
-------------------------------- */

.header__menu {
  position: relative;
  width: 100%;
  background: #fff; /* メニューの背景色 */
  text-align: right;
  list-style: none;
  padding: 0;
margin: 10px 0 0 0;
    z-index: 110;
}
.header__menu li {
  display: inline-block;
  padding: 1em 1.5em;
    margin-top: 2px;
}

.header__menu li a {
  color: #000; /* メニューの文字色 */
  text-decoration: none;
}

.header__menu li a:hover {
  color: #000; /* ホバーした時の文字色 */
  border-bottom: 2px solid #fed000; /* 下線 なしにする場合は削除する*/
}

ul.mega__menu-second {
  visibility: hidden;
  opacity: 0;
}

.header__menu li:hover {
  background: #f2f2f2; /* メニューの背景色 */
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

li.mega__menu ul.mega__menu-second {
  position: absolute;
  top: 40px;
  left: 0;
  width: 100%;
  background: #f2f2f2; /* メガメニューの背景色 */
  padding: 20px;
  box-sizing: border-box;
  text-align: center;
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
}

li.mega__menu:hover ul.mega__menu-second {
  top: 51px;
  visibility: visible;
  opacity: 1;
}
@media (max-width: 1300px) {
.header__menu li {
  padding: 1em 1em;
}
}
@media (max-width: 1200px) {
.header__menu li {
  padding: 1em 0.5em;
}
}
@media (max-width: 1000px) {
.header__menu li {
    font-size: 15px;
  padding: 1em 0.5em;
}
}
@media (max-width: 900px) {
.header__menu {
    display:none;
}
.head .keishin_link {
    display:none !important;
}
.head .keishin_link a {
display:none !important;
}
}

#menu{
	/*配置*/
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100%;
	pointer-events: none;
	z-index: 100;
}

/****メニュー開閉ボタン****/
#menu div{
	/*デザイン*/
	width: 50px;
	height: 50px;
	background: #83c3cd;
	/*配置*/
	overflow: hidden;
	position: absolute;
	top: 0px;
	right: 0px;
}

#menu .menuopen{
	/*デザイン*/
	color: rgba(255,255,255,1);
	font-size: 14px;
	/*配置*/
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 30%;
	left: 10%;
	pointer-events: auto;
	text-decoration:none;
}

#menu .menuclose{
	/*デザイン*/
	color: rgba(255,255,255,1);
	font-size: 20px;
	/*配置*/
	display: none;
	width: 100%;
	height: auto;
	position: absolute;
	top: 20%;
	left: 35%;
	pointer-events: auto;
	text-decoration:none;
	z-index:50;
}

/****メニュー一覧****/
#menu ul{
	/*アニメーション*/
	-webkit-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
	/*デザイン*/
	background:#83c3cd;
	width: 90%;
	/*配置*/
	position: absolute;
	top: 30px;/*#menu divの高さ*/
	right: -100%;/*#menu ul(メニュー一覧)の幅*/
	margin-top:5%;
	z-index:100;
	width:100%
}

#menu li{
	/*デザイン*/
	padding: 10px;
	color: rgba(0,0,0,1);
	border-bottom: 1px rgba(255,255,255,1) solid;
	/*配置*/
	pointer-events: auto;
}

#menu li a{
	display:block;
	color:#fff;
height:100%;
width:100%
}

/****メニューオープン時****/
#menu:target .menuopen{
	/*配置*/
	display: none;
}

#menu:target .menuclose{
	/*配置*/
	display: block;
}

#menu:target ul{
	/*配置*/
	right: 0;
	margin-top:5%;
}

@media (min-width: 900px) {
#menu{display: none;}
}

/* --------------------------------------------- */
/* -------------------------------
　臨床　タイトル
-------------------------------- */
.main_v {
    width: 100%;
  padding: 0;
  background-color: #fff;
  margin: 0px;
  background: url(../images/clinical/intervention/main.jpg) no-repeat top center #fff;
    background-size:cover;
  height:406px;
  display:block;
  text-align:left;
    position: relative;
}
.main_v h2 {
background-color:#ffffff;
  font-weight: 400;
  color: #021664;
  margin: 0 auto 0 auto;
  text-align:left;
  font-size:46px;
  width:auto;
  display:inline-block;
  padding:0px 5.5vw 20px 5.5vw;
  letter-spacing:2px;
font-family: 'Noto Serif JP', serif;
    position: absolute;
    bottom:0;
}
.main_v h2 span {
  font-weight: normal;
  color: #021664;
  margin: 0;
  padding:0;
  text-align:left;
  font-size:22px;
  line-height:1.5;
   letter-spacing:1px;
    font-family: 'Noto Sans JP', sans-serif;
}
@media only screen and (max-width: 1030px) {
.main_v {
  height:350px;
}
}
@media only screen and (max-width: 768px) {
.main_v {
  background: url(../images/clinical/intervention/main.jpg) no-repeat top center #fff;
  background-size:cover;
  max-height:150px;
}
.main_v h2 {
  font-size:24px;
    font-weight: 500;
  width:auto;
  padding:10px 20px 10px 20px;
  /*letter-spacing:0px;*/
}
.main_v h2 span {
  font-size:16px;
  line-height:2;
}
}

/* -------------------------------
　研究　タイトル
-------------------------------- */
.main_v2 {
  padding: 0;
  background-color: #fff;
  margin: 0px;
  background: url(../images/research/top/main.jpg) no-repeat top center #fff;
    background-size:cover;
  height:406px;
  display:block;
   text-align:left;
     vertical-align: middle;
position: relative
}
.main_v2 h2 {
background-color: rgba( 2, 22, 100, 0.8 );
  font-weight: bold;
font-weight: 400;
  color: #fff;
  margin: auto 0 auto 0;
  text-align:left;
  font-size:46px;
  width:auto;
  display:inline-block;
  padding:35px 5.5vw 50px 5.5vw;
    font-family: 'Noto Serif JP', serif;
    position: absolute;              
   top: 50%;                         
   transform: translate(0, -50%);
}
.main_v2 h2 span {
  font-weight: normal;
  color: #fff;
  margin: 0;
  padding:0;
  text-align:left;
  font-size:22px;
  line-height:1.5;
   letter-spacing:1px;
    font-family: 'Noto Sans JP', sans-serif;
}

@media only screen and (max-width: 1030px) {
.main_v2 {
  height:350px;
}
}

@media only screen and (max-width: 768px) {
.main_v2 {
  background: url(../images/research/top/main.jpg) no-repeat top center #fff;
    background-size:cover;
  max-height:150px;
  }
.main_v2 h2 {
  margin: 0;
  text-align:left;
  font-size:24px;
    font-weight: 500;
  padding:10px 20px 10px 20px;
    width:auto;
  /*letter-spacing:0px;*/
}
.main_v2 h2 span {
  font-size:16px;
  line-height:2;
}
}

/* -------------------------------
　研究　中タイトル
-------------------------------- */
.main_v4 {
  padding: 0;
  background-color: #132052;
  margin: 0px;
  background: url(../images/research/basic/ips/main.jpg) no-repeat top center #fff;
    background-size:cover;
  height:187px;
  display:block;
   text-align:left;
     vertical-align: middle;
position: relative
}
.main_v4 h3 {
font-weight: 400;
  color: #fff;
  margin: auto 0 auto 0;
  text-align:left;
  font-size:30px;
  width:auto;
  display:inline-block;
  padding:3vw 5.5vw 3vw 3vw;
    font-family: 'Noto Serif JP', serif;
    position: absolute;              
   top: 50%;                         
   transform: translate(0, -50%);
}

@media only screen and (max-width: 1180px) {
.main_v4 {
  height:13vw;
}
}

@media only screen and (max-width: 768px) {
.main_v4 {
  background: url(../images/research/basic/ips/main.jpg) no-repeat top center #fff;
    background-size:cover;
  max-height:70px;
    height: 70px;
  }
.main_v4 h3 {
  margin: 0;
  text-align:left;
  font-size:18px;
    font-weight: 600;
  padding:10px 20px 10px 20px;
    width:auto;
  /*letter-spacing:0px;*/
}
}

/* -------------------------------
　タイトル
-------------------------------- */
.main_v3 {
  padding: 0;
  margin: 0px;
  background: url(../images/news/main.jpg) no-repeat top center #fff;
    background-size:cover;
  height:237px;
  display:block;
   text-align:left;
     vertical-align: middle;
position: relative
}
.main_v3 h2 {
background-color: rgba( 255, 255, 255, 0.9 );
  font-weight: bold;
font-weight: 400;
  color: #021664;
  margin: auto 0 auto 5.5vw;
  text-align:left;
  font-size:35px;
  width:auto;
  display:inline-block;
  padding:35px 3.5vw 35px 3.5vw;
    font-family: 'Noto Serif JP', serif;
    position: absolute;              
   top: 50%;                         
   transform: translate(0, -50%);
}

@media only screen and (max-width: 1030px) {
.main_v3 {
  height:200px;
}
}

@media only screen and (max-width: 768px) {
.main_v3 {
  background: url(../images/news/main.jpg) no-repeat top center #fff;
    background-size:cover;
  max-height:100px;
  }
.main_v3 h2 {
    text-align:left;
  font-size:20px;
    font-weight: 500;
  padding:10px 20px 10px 20px;
    width:auto;
  /*letter-spacing:0px;*/
}
}

/* --------------------------------------------- */

/* -------------------------------
　研究グループ　背景
-------------------------------- */
.research {
  background: url(../images/research_group/research_bg.png) repeat-y top center #fff;
  background-size:auto;
  padding:110px 0 0 0;
}
.research2 {
  background: url(../images/research_group/research_bg2.jpg) repeat-y top center #fff;
  background-size:auto;
  padding:0;
}
.sub {
  padding: 0;
  background-color: #fff;
  margin: 0px;
  background: url(../images/research_group/01/sub.jpg) no-repeat top center #fff;
  height:259px;
  display:block;
  text-align:center;
}
.r_box01 {
margin-bottom:70px;
}
.r_box02 {
padding:80px 0;
margin:0;
}

@media only screen and (max-width: 768px) {
.research {
  background: url(../images/research_group/research_bg.png) repeat-y top center #fff;
  background-size:contain;
  padding:55px 0 0 0;
}
.research2 {
  background: url(../images/research_group/research_bg2.jpg) repeat-y top center #fff;
  background-size:cover;
  margin:0;
  padding:0;
}
.sub {
  padding: 0;
  background-color: #fff;
  margin: 0px;
  background: url(../images/research_group/01/sub.jpg) no-repeat top center #fff;
  background-size:180%;
  max-height:90px;
  display:block;
  text-align:center;
}
.r_box01 {
margin-bottom:20px;
}
.r_box02 {
padding:40px 0;
}
}

/* -------------------------------
　研究グループ　navi
-------------------------------- */
.research_navi  {
  padding:0px 0 17px 0;
  text-align:center;
 }
.research_navi img  {
width:100%;
max-width:163px;
}
.research_navi img:last-child  {
width:100%;
max-width:162px;
}

@media only screen and (max-width: 768px) {
.research_navi  {
  padding:0px 0 8px 0;
  text-align:left;
  width:100%;
 }
.research_navi .btn-group{
width:100% !important;
}
}

/* -------------------------------
　研究グループ　学びたい方
-------------------------------- */
.study {
  background-color:#e3f3f5;
  padding:50px 0;
}
.study .main {
display:table;
margin-bottom:50px;
}
.study .main .lft {
width:40%;
display:table-cell;
background-color:#4fa9b8;
padding:40px;
vertical-align:top;
}
.study .main .lft p {
font-size:28px !important;
font-weight:bold;
color:#fff;
text-align:left;
line-height:1.5 !important;
}
.study .main .rgt {
width:60%;
display:table-cell;
background-color:#fff;
padding:0;
}
.study .main .rgt p {
font-size:16px !important;
padding:30px;
}
.study .contact {
display:block;
margin:0;
background-color:#f1f9fa;
padding:15px;
text-align:center;
}
.study .contact .btn {
display: inline-block;
  width: auto;
  text-align: center;
  font-size: 18px;
  color: #000;
  background-color:#fff;
  text-decoration: none;
  font-weight: bold;
  padding: 20px 60px;
  transition: .4s;
  line-height:1;
}
.study .contact .btn:hover {
  background-color: #4fa9b8;
  color: #FFF !important;
  text-decoration: none !important;
}

@media only screen and (max-width: 768px) {
.study {
  background-color:#e3f3f5;
  padding:25px 0;
}
.study .main {
display:block;
margin-bottom:25px;
}
.study .main .lft {
width:100%;
padding:12px;
display:block;
}
.study .main .lft p {
font-size:22px !important;
}
.study .main .rgt {
width:100%;
}
.study .main .rgt p {
font-size:15px !important;
padding:15px;
}
.study .contact .btn {
width:100%;
  font-size: 16px;
  padding: 12px 0;
  }
}


#nav_toggle{
	display: none;
}

nav{
	display: none;
}
 
/*メニュー部分*/
@media only screen and (max-width: 900px) {
	nav{
		display: none;
		position: absolute;
		top:15.5vw;
		width: 100%;
		background-color:#132052;
		left: 0;
		z-index:100;
	}
header nav ul{
		display: block;
		margin: 0 auto;
		width: 90%;
	}
header nav ul li{
		margin: 0 auto;
		text-align: left;
		border-bottom: 1px solid #fff;
		padding:10px 0;
	}
header nav ul li:last-child{
		border: none;
	}
header nav ul li a{
		display: block;
		color:#fff !important;
	}
header nav ul li a:hover{
		color:#a7d4dc;
	}
	
	/*開閉ボタン*/
	#nav_toggle{
		display: block;
		width: 46px;
		height: 46px;
		position: absolute;
	top: 8px;
	right: 8px;
		z-index: 100;
		background-color:#132052;
	}
	#nav_toggle div {
		position: relative;
	}
	#nav_toggle span{
		display: block;
		height: 1px;
		background: #fff;
		position:absolute;
		width: 60%;
		top:0;
		left: 10px;
		-webkit-transition: 0.5s ease-in-out;
		-moz-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;	
	}
	#nav_toggle span:nth-child(1){
		top:11px;
	}
	#nav_toggle span:nth-child(2){
		top:21px;
	}
	#nav_toggle span:nth-child(3){
		top:31px;
	}
	
	/*開閉ボタンopen時*/
	.open #nav_toggle span:nth-child(1) {
			top: 21px;
		   -webkit-transform: rotate(135deg);
			-moz-transform: rotate(135deg);
			transform: rotate(135deg);
		}
		.open #nav_toggle span:nth-child(2) {
			width: 0;
			left: 50%;
		}
		.open #nav_toggle span:nth-child(3) {
			top: 21px;
			-webkit-transform: rotate(-135deg);
			-moz-transform: rotate(-135deg);
			transform: rotate(-135deg);
		}
 
}







/* ---------------------------------------------------------------------------------------------
　マージン
-------------------------------- */
.ct_mb10 {
margin-bottom:10px;
}
@media only screen and (max-width: 768px) {
.ct_mb10 {
margin-bottom:10px;
}
}
.ct_mb20 {
margin-bottom:20px;
}
@media only screen and (max-width: 768px) {
.ct_mb20 {
margin-bottom:10px;
}
}
.ct_mb30 {
margin-bottom:30px;
}
@media only screen and (max-width: 768px) {
.ct_mb30 {
margin-bottom:15px;
}
}
.ct_mb40 {
margin-bottom:40px;
}
@media only screen and (max-width: 768px) {
.ct_mb40 {
margin-bottom:20px;
}
}
.ct_mb50 {
margin-bottom:50px;
}
@media only screen and (max-width: 768px) {
.ct_mb50 {
margin-bottom:25px;
}
}
.ct_mb60 {
margin-bottom:60px;
}
@media only screen and (max-width: 768px) {
.ct_mb60 {
margin-bottom:30px;
}
}
.ct_mb80 {
margin-bottom:80px;
}
@media only screen and (max-width: 768px) {
.ct_mb80 {
margin-bottom:40px;
}
}
.ct_mb100 {
margin-bottom:100px;
}
@media only screen and (max-width: 768px) {
.ct_mb100 {
margin-bottom:50px;
}
}
.ct_mb120 {
margin-bottom:120px;
}
@media only screen and (max-width: 768px) {
.ct_mb120 {
margin-bottom:60px;
}
}
.ct_mt70 {
margin-top:70px;
}
@media only screen and (max-width: 768px) {
.ct_mt70 {
margin-top:30px;
}
}
.ct_mt60 {
margin-top:60px;
}
@media only screen and (max-width: 768px) {
.ct_mt60 {
margin-top:30px;
}
}

.ct_mt20 {
margin:0px;
}
@media only screen and (max-width: 768px) {
.ct_mt20 {
margin-top:20px;
}
}

/* ---------------------------------------------------------------------------------------------
　テキストと画像
-------------------------------- */
.ct_bx {
display:table;
}
.ct_bx_nxt {
display:table-cell;
vertical-align:top;
}
.ct_bx_nxt_r {
display:table-cell;
vertical-align:top;
width: 30%;
}
.ct_bx_nxt_r02 {
display:table-cell;
vertical-align:top;
width: 45%;
}
.ct_bx_nxt p {
margin-right: 90px;
}

@media only screen and (max-width: 1200px) {
.ct_bx_nxt p {
margin-right: 6vw;
}
}

@media only screen and (max-width: 768px) {
.ct_bx {
display:block;
}
.ct_bx_nxt {
display:block;
margin-bottom: 30px
}
.ct_bx_nxt p {
margin-right: 0;
}
}

/* --------------------------------------------- */
/* 図 */
.zu{
width:auto;
}
.zu p{
font-size:14px;
text-align:right;
margin-bottom:15px;
}
.zu img{
text-align:center;
margin:0 auto 10px auto;
}
.zu .zu_title {
color: #fff;/*文字色*/
background: #303d6e;
text-align:center;
margin-bottom: 15px;
font-size: 16px;
font-weight:400;
padding: 0.5em 0.3em 0.4em 0.3em;
line-height: 1.5;
}
.btn-zu {
  display: none;
}

@media only screen and (max-width: 768px) {
.zu p{
font-size:13px;
margin-bottom:0;
}
.zu .zu_title {
margin-bottom: 10px;
font-size: 14px;
}
.btn-zu {
  display: inline-block;
  width: auto;
  background-color:#132052;
  text-align: right;
  font-size: 13px;
  color: #fff !important;
  text-decoration: none;
  font-weight: normal;
  padding: 5px 15px;
  transition: .4s;
  line-height:1.5;
  margin:5px 0 0 0;
}
}

/* -------------------------------
　キャプション
-------------------------------- */
.ct_cap {
background-color:#e5e5e5;
padding:1em 1em 0.5em 1em;
width:auto;
}
.ct_cap p {
font-size:16px!important;
}
@media only screen and (max-width: 768px) {
.ct_cap {

}
}


/* -------------------------------
　アンカーSP
-------------------------------- */
@media only screen and (max-width: 768px) {
.pl a:link { color: #1170cf !important; background-color:#e0efff; padding:5px 10px; width:100%; margin-bottom:2px; display:inline-block; }
.pl a:visited { color: #1170cf !important; }
.pl a:hover { color: #999; text-decoration:underline !important; }
.pl a:active { color: #999; text-decoration:underline !important; }
}

/* -------------------------------
　画像
-------------------------------- */
.ig_r {
margin:0 auto;
text-align:center;
margin-bottom:15px;
}

.res {
margin:0 auto;
text-align:center;
width:80%;
}


/* -------------------------------
　文字色
-------------------------------- */
.text_green {
  color: #4fa9b8;
}
.text_green2 {
  color: #a7d4db;
}
.text_green3 {
  color: #63b567;
}
.text_gray {
  color: #d7d7d7;
}
.text_gray2 {
  color: #c6c6c6;
}
.text_gray3 {
  color: #838383;
}
.text_org {
  color: #ff6600;
}
.text_org2 {
  color: #ffcc00;
}
.new {
  color: #fed000;
  font-weight:300;
}

/* --------------------------------------------------------------
　リスト
-------------------------------- */


.lst ul, ol{
  list-style:none;
}
.lst ul li{
  background:url(../images/common/list.png) no-repeat 0 0;
  background-size:auto 16px;
  padding-left: 20px;
    background-position: 0 4px;
 }

@media only screen and (max-width: 768px) {
.lst ul li {
  background:url(../images/common/list.png) no-repeat 0 0;
  background-size:auto 14px;
  padding-left: 18px;
background-position: 0 4px;
}
}


/* ---------------------------------------------------------------------------------------------
　5カラム
-------------------------------- */
.col-xs-1-5, .col-sm-1-5, .col-md-1-5, .col-lg-1-5,
.col-xs-2-5, .col-sm-2-5, .col-md-2-5, .col-lg-2-5,
.col-xs-3-5, .col-sm-3-5, .col-md-3-5, .col-lg-3-5,
.col-xs-4-5, .col-sm-4-5, .col-md-4-5, .col-lg-4-5 {
    position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
}   
.col-xs-1-5 {
    width: 20%;
    float: left;
}
.col-xs-2-5 {
    width: 40%;
    float: left;
}

.col-xs-3-5 {
    width: 60%;
    float: left;
}

.col-xs-4-5 {
    width: 80%;
    float: left;
}
@media (min-width: 768px) {
    .col-sm-1-5 {
        width: 20%;
        float: left;
    }
    .col-sm-2-5 {
        width: 40%;
        float: left;
    }
    .col-sm-3-5 {
        width: 60%;
        float: left;
    }
    .col-sm-4-5 {
        width: 80%;
        float: left;
    }
}
@media (min-width: 992px) {
    .col-md-1-5 {
        width: 20%;
        float: left;
    }
    .col-md-2-5 {
        width: 40%;
        float: left;
    }
    .col-md-3-5 {
        width: 60%;
        float: left;
    }
    .col-md-4-5 {
        width: 80%;
        float: left;
    }
}
@media (min-width: 1200px) {
    .col-lg-1-5 {
        width: 20%;
        float: left;
    }
    .col-lg-2-5 {
        width: 40%;
        float: left;
    }
    .col-lg-3-5 {
        width: 60%;
        float: left;
    }
    .col-lg-4-5 {
        width: 80%;
        float: left;
    }
}   