@charset "utf-8";
/* CSS Document */

a:link, a:visited, a:hover, a:active {
    color: #004ea2;
    text-decoration: none;
}


/*------------------------------------繧ｷ繝ｳ繝昴ず繧ｦ繝�*/
p.symposium-txt{
  font-size: 153.9%;
  line-height: 2.2;
  margin-bottom: 0px;
}

.event-map-sec{

}
.event-map-sec img{
  width:393px;
  float: left;
  margin: 0 45px 0 0;
}


.event-map-right{
width: 405px;
float: left;
}

.event-map-sec dl{
  clear: both;
}

.event-map-sec dl dt{
  width: 68px;
  text-align:center;
  float:left;
  border: 1px solid #0052a0;
  font-size:138.5%;
  line-height: 1;
  color: #0051a3;
  margin: 0 17px 30px 0;
  padding: 5px 0 ;
}
.event-map-sec dl dd{
  width: 315px;
  float:left;
  text-align:left;
  font-size:138.5%;
  margin:5px 0  30px 0; 
}


.lecturer-profiles-sec{
  text-align: center;
  width: 25%;
  float: left;
  margin: 0 0 0 50px;

}

.lecturer-profiles-sec img{
  margin: 0 0 22px 0;
}

.lecturer-profiles-sec h3{
  font-size: 138.5%;
  margin: 0 0 16px 0;
}
.lecturer-profiles-sec span.lpspan{
  font-size: 80%;
}


.icon_lecturer{
  background:url(../img/general/sim_title_bg.png) repeat-x;
  color: white;
  font-size: 108%;
  text-align: center;
  margin-bottom: 12px;
}



/*------------------------------------繧｢繝ｯ繝ｼ繝�*/


.award_box{
  margin-bottom: 50px;
}

.award_box h3{
    color: white;
    background: #004ea2;
    width: 210px;
    padding: 10px 0;
    font-size: 115%;
    text-align: center;
    letter-spacing: 2px;
    line-height: 1;
    margin: 0 0 20px 0; 
}



.award_box h4{
    font-size: 138.5%;
    color: #004ea2;
    margin-bottom: 10px;
    font-weight: bold; 
}


.award_box p{
  font-size: 138.5%;
  line-height: 2.0;
}


.entry_dl{
  clear: both;
  margin-bottom:20px;
}

.entry_dl dt,.entry_dl dd{
  float: left;
  font-size: 116%;
  line-height: 1.8;
}

.line_dl1,.line_dl2{
  clear: both;
  margin-bottom:20px;
}

.line_dl1 dt,.line_dl1 dd,.line_dl2 dt, .line_dl2 dd{
  float: left;
  font-size: 116%;
  line-height: 1.8;
}

.line_dl1 dt{
  width: 23px;
background:url(../img/contents/award/award-number1.gif) no-repeat left center;
text-indent:-9999px;
}

.line_dl2 dt{
  width: 23px;
background:url(../img/contents/award/award-number2.gif) no-repeat left center;
text-indent:-9999px;
}




.award_sec01 p, .award_sec03 dl dt,.award_sec03 dl dd{
  font-size: 131%;
  line-height: 2.0;
}


.award_sec02{

}

.award_sec03 dl dd {
    font-size: 131%;
    line-height: 2.0;
    padding-left: 5px;
}



.award_contact{
  clear: both;
  width: 80%;
  text-align: center;
  margin: 3.472vw auto 0;
  background: #f8f8f8;
  padding: 0.694vw;
}

.award_contact h3{
  color: #004ea2;
  margin-bottom: 0.347vw;
}

.award_contact h3,
.award_contact p{
  font-size: 1.16vw;
  line-height: 1.8;
}

/* ===================== */

.award_contact2{
  border: 1px dashed #0052a0;
  margin: 3.472vw auto 0;
  padding: 3.125vw;
  background:#FFF;
}

.award_contact2 h3{
  color: #004ea2;
  margin-bottom: 1.388vw;
  font-size: 2vw;
  font-weight: bold;
}

.award_contact2 p{
  font-size: 1.23vw;
  line-height: 1.8;
}

.award_contact2 img{
  float: right;
  width: 28%;
  height: auto;
  margin: 0 0 0.694vw 2.083vw;
}

@media screen and (max-width:768px){

  .award_contact{
    width: auto;
    margin: 0 0 24px;
    padding: 10px;
    margin-top: 30px;
  }

  .award_contact h3,
  .award_contact p{
    font-size: 14px;
  }

  .award_contact2{
    margin: 0 0 24px;
    padding: 20px;
  }

  .award_contact2 h3{
    font-size: 18px;
    margin-bottom: 16px;
  }

  .award_contact2 p{
    font-size: 14px;
  }

  .award_contact2 img{
    float: none;
    width: auto;
    margin: 0 auto 16px;
    display: block;
  }
}


.content_sym {
    position: relative;
    background: url(../img/general/main_bg_symposium.png) no-repeat center top;
    /* background-size: cover; */
    min-height: 100%; 
 }

.content_sym .content_inner{
    width: 1060px;
  padding:0px 0;
  margin: 0 auto;
  text-align: center;
}


.content_sym .content_inner p{
  margin:0;
}
.content_sym .content_inner img{
    width: 1060px;
    padding: 0 0 40px 0;
    margin: -12px 0 0 0; 
  
}

.spsymposium{
	min-width: 1000px;
	overflow: hidden;
}
.content_sym2{
	width: 1000px;
	margin: 0 auto;
	}
	
.content_sym2 .content_inner,.content_sym .content_inner {
	margin: 0 -100%;
	padding: 0 100%;
}
.content_sym2 .content_inner img,.content_sym .content_inner img {
	margin: 0 -460px;
}	
	
	
	
.content_award {
    position: relative;
    background: url(../img/general/main_bg_award.png) no-repeat;
    /* background-size: cover; */ 
 }

.content_award .content_inner{
    width: 1060px;
  margin: 0 auto;
  text-align: center;
}


.content_award .content_inner p{
  margin:0;
}
.content_award .content_inner img{
  padding:0px 0;
  margin: -12px 0 0 0;

}


.award08{
	position:relative;
	width: 100%;
	min-width: 1194px;
    background: url(../img/contents/award08/award0801_bg.png) repeat-y;
	background-position: top center;
-moz-background-size:cover;
background-size:cover;
}


.hidden{
	min-width: 1194px;
	overflow:hidden
}

.content_award08 {
margin-bottom:25px;


 }

.content_award08 .content_inner{
    width: 1060px;
  margin: 0 auto;
  text-align: center;
}

.content_award08 .content_inner p{
  margin:0;
}
.content_award08 .content_inner img{
  padding:0px 0;
  margin: -12px 0 0 0;
}









.content_about {
    position: relative;
    background: url(../img/general/emphasis.png) no-repeat;
    /* background-size: cover; */
    min-height: 100%; 
 }

.content_about .content_inner{
  width: 1060px;
  padding:0;
  margin: 0 auto;
  text-align: center;
}


.content_about .content_inner p{
  margin:0;
}
.content_about .content_inner img{
  padding:35px 0 0 0;
}




.about-movie-box{
    background: url(../img/contents/about/about_m_img.png) no-repeat right top;
    width: 753px;
    margin: 0 auto;
    padding-bottom: 20px; 
}


.about-movie-use{
  width:465px;
}

.about-movie-use dl{
  clear: both;
  width:465px;
  margin-bottom: 1px;
}

.about-movie-use dl dt{
  width:261px;
  float: left;
}

.about-movie-use dl dd{
  width:202px;
  float: right;
  border: 1px solid #004ea2;
}


.about-movie-use .about-first{
  padding-top:8px;
}


.about-details{
  width: 780px;
  margin: 0 auto 80px;
}


.about-details img{
    float: left;
    margin: 0 10px 60px 0; 
}

.about-details p{
  font-size: 138%;
  line-height: 2.0;
  margin: 0 0px 20px 0;
  padding-top:20px;

}


.mhap-box{
  border: 1px solid #adadad;
  padding: 35px 35px 15px 35px;
}

.mhap-box p{
  font-size: 138%;
  line-height: 2.0;
}

.mhap-box p span.sp{
  font-size: 90%;

}


.description-top{
  width: 930px;
  margin: 0 auto;
  text-align: left;
  clear: both;
  }

.description-top h2{
  margin-bottom: 50px;
}


.banner_txt{
  font-size:138.5%;
}



.fadeInDown {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1s;
 -ms-animation-duration:1s;
 animation-duration:1s;
 -webkit-animation-name: fadeInDown;
 animation-name: fadeInDown;
 visibility: visible !important;
}
@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}









/* -----0801Symposium----- */
.seminar{
  width: 100%;
  margin: 4vw auto 0;
  padding-left: 0;
  display: block;
}

.seminar-details .topWhatH201{
  text-align: center;
  margin: 6.5vw auto 2.4vw;
  width: fit-content;
}

.seminar-details h2{
  display: block;
  background: url(../img/seminar_title_bg.png) repeat-x center;
  text-align: center;
  padding: 0.5vw 4.2vw 0.4vw;
  color:#FFF;
  font-weight: bold;
  font-size: 1.6vw;
  margin-bottom: 0;
}

.seminar-details h3{
  font-size: 2.2vw;
  margin: 0 0 2.8vw;
  line-height: 1.4;
  color: #333333;
  padding-top: 0;
}

.seminar-button{
  text-align: center;
}

/* =====================
   seminar list
===================== */

.seminar-box{
  width: 100%;
  box-sizing: border-box;
  border: 0.277vw solid #47bcec;
  background: #fff;
  display: flex;
  align-items: center;
  text-align: left;
  padding: 0.6vw 2vw;
  margin: 0 0 1.2vw;
}

.seminar-box:last-child{
  margin-bottom: 0;
}

.seminar-box-img{
  width: 14vw;
  flex-shrink: 0;
  text-align: center;
  margin-right: 3vw;
}

.seminar-box-img img{
  width: 10vw;
  height: auto;
  border-radius: 50%;
}

.seminar-box-text{
  flex: 1;
}

.seminar-box-text h3{
  color: #122e8f;
  font-size: 1.6vw;
  line-height: 1.45;
  font-weight: 400;
  margin: 0 0 1.4vw;
}

#VcArea-MainColum .seminar-box-text p{
  color: #122e8f;
  font-size: 1.25vw;
  line-height: 1.6;
  margin: 0;
}

/* 旧レイアウト用要素が残っていても崩れないように */
.seminar a{
  color: inherit;
  text-decoration: none;
}

.seminar-box h2,
.seminar-box-inner,
.seminar-box-inner h3,
.seminar-box-inner img,
.seminar-box-inner p .yk{
  /* 新HTMLでは未使用 */
}
.seminar.seminar-list h2{
  background: url(../img/bg_seminar08.png) repeat-y;
  background-repeat: repeat;
  margin: 0;
  text-align: center;
  color: #fff;
  font-size: 1.111vw;
  line-height: 1.4;
  padding: 0.486vw 0;
display: inline-block;
    padding-left: 1vw;
    padding-right: 1vw;
    min-width: 209px;	
}
/* =====================
   SP
===================== */

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

  .detailBlockBase01 .seminar-details > .topWhatH201:first-of-type h2 {
    margin-top: 0;
  }

  .seminar-details .topWhatH201 {
    margin: 0 auto 20px;
  }

  .seminar-details h2{
    font-size: 16px;
    padding: 8px 20px 6px;
    margin-bottom: 20px;
  }
  .seminar.seminar-list h2{
    font-size: 16px;
    padding: 8px 20px 6px;
        display: block;
        width: calc(100% - 40px);	  
  }

  .seminar-details h3{
    font-size: 22px;
    margin-bottom: 24px;
  }

  .seminar-box{
    border-width: 2px;
    padding: 18px 14px;
    margin-bottom: 14px;
    align-items: flex-start;
  }

  .seminar-box-img{
    width: 90px;
    margin: 0 auto 10px;
  }

  .seminar-box-img img{
    width: 90px;
  }

  .seminar-box-text h3{
    font-size: 18px;
    line-height: 1.45;
    margin-bottom: 14px;
  }

  #VcArea-MainColum .seminar-box-text p{
    font-size: 14px;
    line-height: 1.6;
  }
}
/* =====================
   seminar-caption
===================== */
.seminar-caption,
.seminar-caption2{
  margin-bottom: 2.777vw;
  text-align: left;
}

.seminar-caption::after,
.seminar-caption2::after{
  content: "";
  display: block;
  clear: both;
}

.seminar-caption img{
  float: left;
  width: 31%;
  height: auto;
  margin: 0 2.083vw 1.388vw 0;
  display: block;
}

.seminar-caption2 img{
  float: right;
  width: 31%;
  height: auto;
  margin: 0 0 1.388vw 2.083vw;
  display: block;
}

.seminar-caption h4,
.seminar-caption2 h4{
  font-size: 1.95vw;
  line-height: 1.6;
  color: #122e8f;
  margin: 0 0 1.8vw 0;
}

.seminar-caption h4 .yk,
.seminar-caption2 h4 .yk{
  display: block;
  font-size: 62%;
  line-height: 1.9;
  margin-top: 0.5vw;
}

.seminar-caption h5,
.seminar-caption2 h5{
  font-size: 1.8vw;
  line-height: 1.6;
  color: #122e8f;
  margin: 0 0 1.8vw 0;
}

.seminar-caption p,
.seminar-caption2 p,
.seminar-text p{
  font-size: 1.45vw;
  line-height: 1.8;
  margin: 0;
}

.seminar-caption p span.answer,
.seminar-caption2 p span.answer{
  font-size: 1.5em;
  color: #122e8f;
}

/* =====================
   blue_line_box2
===================== */
.blue_line_box2{
  font-size: 1.4vw;
  font-weight: bold;
  border: 1px solid #122e8f;
  margin: 0 auto;
  width: 33vw;
  max-width: 480px;
}

.blue_line_box2 a{
  background: url(../img/contents/symposium/arrow_sym.gif) no-repeat 95% center;
  background-size: 16px auto;
  display: block;
  color: #122e8f;
  padding: 1.7vw 0;
}

/* =====================
   SP
===================== */
@media screen and (max-width:768px){

  .seminar-caption,
  .seminar-caption2{
    margin-bottom: 20px;
  }

  .seminar-caption img,
  .seminar-caption2 img{
    float: none;
    width: 75%;
    display: block;
    margin: 0 auto 16px;
  }

  .seminar-caption h4,
  .seminar-caption2 h4{
    font-size: 20px;
    line-height: 1.6;
    margin-bottom: 20px;
  }

  .seminar-caption h4 .yk,
  .seminar-caption2 h4 .yk{
    font-size: 65%;
    margin-top: 8px;
    line-height: 1.8;
  }

  .seminar-caption h5,
  .seminar-caption2 h5{
    font-size: 20px;
    line-height: 1.6;
    margin-bottom: 20px;
  }

  .seminar-caption p,
  .seminar-caption2 p,
  .seminar-text p{
    font-size: 14px;
    line-height: 1.9;
  }

  .blue_line_box2{
    width: auto;
    margin: 0 20px;
    font-size: 16px;
  }

  .blue_line_box2 a{
    padding: 16px 0;
    background-size: 14px auto;
  }
}
@media screen and (max-width:768px){

  .seminar{
    display: block;
    width: auto;
    margin: 40px auto 0;
    padding: 0px;
  }

  .seminar a{
    width: 100%;
    display: block;
    margin: 0 0 24px;
  }

  .seminar-box{
    width: 100%;
    display: block;
    text-align: left;
  }

  .seminar-box h2{
    background: url(../img/bg_seminar08.png) repeat;
    background-size: auto;
    color: #fff;
    font-size: 18px;
    line-height: 1.3;
    font-weight: bold;
    text-align: center;
    padding: 8px 10px;
    margin: 0;
  }

  .seminar-box-inner{
    position: relative;
    display: grid;
    grid-template-columns: 80px 1fr 28px;
    grid-template-rows: auto auto;
    column-gap: 18px;
    align-items: center;

    border-left: 2px solid #47bcec;
    border-right: 2px solid #47bcec;
    border-bottom: 2px solid #47bcec;
    background: linear-gradient(
      to right,
      #fff 0%,
      #fff calc(100% - 28px),
      #eee calc(100% - 28px),
      #eee 100%
    );

    padding: 20px 0 20px 20px;
    box-sizing: border-box;
    min-height: 150px;
  }

  .seminar-box-inner::after{
    content: "";
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);

    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 12px solid #47bcec;
  }

  .seminar-box-inner img{
    grid-column: 1;
    grid-row: 1 / 3;

    width: 80px;
    height: auto;
    margin: 0;
  }

  .seminar-box-inner h3{
    grid-column: 2;
    grid-row: 1;

    color: #162086;
    font-size: 16px;
    line-height: 1.5;
    font-weight: bold;
    margin: 0 0 10px;
    padding: 0;
    min-height: auto;
    display: block;
    text-align: left;
  }

  #VcArea-MainColum .seminar-box-inner p,
  .seminar-box-inner p{
    grid-column: 2;
    grid-row: 2;

    color: #555;
    font-size: 14px;
    line-height: 1.5;
    font-weight: bold;
    margin: 0;
    text-align: left;
  }

  .seminar-box-inner p .yk{
    display: block;
    color: #555;
    font-size: 13px;
    font-weight: normal;
    margin-top: 4px;
  }
}
/*


.seminar{
width:690px; 
margin:0 auto;
padding-left:20px;
margin-top: 4vw;
}

.seminar-box{
width:209px;
text-align: center;
float:left;
margin:0 20px 20px 0;
}

.seminar-box:hover {

}



.seminar-box h2{
background: url(../img/bg_seminar08.png) repeat-y;
margin: 0;
text-align: center;
color:white;
font-size:116%;
padding:7px 0px;
}

.seminar-box-inner h3{
color:#162086;
font-weight: bold;
font-size:108%;
line-height: 1.6;
padding:12px 0;
}

.seminar-box-inner p{
  font-size: 108%;
}
.seminar-box-inner p .yk{
  font-size: 85%;
}

.seminar-box-inner{
width:205px;
border-left:2px solid #47bcec;
border-right:2px solid #47bcec;
border-bottom:2px solid #47bcec;
background: url(../img/arrow_under.jpg) no-repeat center bottom;
padding-bottom:23px;
}






*/
/* -----0801Award----- */
.po-r{
}

.po-r img{
margin-bottom:25px;
}

.po-r p{
text-align:center;
font-size:116%;
}

.award-mincho{
font-size:138.5%;
color:#0051a3;
padding-top:25px;
}

.award08-box{
width:822px;
background: url(../img/contents/award08/dia_top.png) no-repeat left top;
}

.award08-box-inner{
width:822px;
background: url(../img/contents/award08/dia_bottom.jpg) no-repeat left bottom;
}



.sp-awardkekka img{
float:left;
margin:0 30px 0px 25px;
}

.sp-awardkekka p{

}


/*award0801　対応済み*/

.award0801{
  width: 100%;
  margin: 3.472vw 0 auto;
}

.award0801-frame{
  position: relative;
  padding: 4.166vw 5.555vw;
  background: #fff;
  clip-path: polygon(
    3.125vw 0,
    calc(100% - 3.125vw) 0,
    100% 3.125vw,
    100% calc(100% - 3.125vw),
    calc(100% - 3.125vw) 100%,
    3.125vw 100%,
    0 calc(100% - 3.125vw),
    0 3.125vw
  );
}

/* グラデーションの枠線 */
.award0801-frame::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    #63b8ee 0%,
    #2f69c7 55%,
    #4a2ca0 100%
  );
  clip-path: polygon(
    3.125vw 0,
    calc(100% - 3.125vw) 0,
    100% 3.125vw,
    100% calc(100% - 3.125vw),
    calc(100% - 3.125vw) 100%,
    3.125vw 100%,
    0 calc(100% - 3.125vw),
    0 3.125vw
  );
  z-index: 0;
}

/* 内側の白地 */
.award0801-frame::after{
  content: "";
  position: absolute;
  inset: 0.45vw;
  background: #fff;
  clip-path: polygon(
    2.777vw 0,
    calc(100% - 2.777vw) 0,
    100% 2.777vw,
    100% calc(100% - 2.777vw),
    calc(100% - 2.777vw) 100%,
    2.777vw 100%,
    0 calc(100% - 2.777vw),
    0 2.777vw
  );
  z-index: 1;
}

.award0801-box-details{
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  gap: 4.2vw;
}

/* 左画像 */
.award0801-box-img{
  width: 34%;
  flex: 0 0 34%;
  max-width: none; 
  height: auto;
  display: block;
}

/* 右テキスト */
.award0801-box-details-right{
  flex: 1;
  min-width: 0;
  text-align: left;
  font-size: 1.18vw;
  line-height: 1.85;
  padding-top: 0.4vw;
}

.award0801-box-details-right h3{
  font-size: 2vw;
  line-height: 1.2;
  font-weight: bold;
  color: #0051a3;
  margin-bottom: 0.4vw;
}

.award0801-box-details-right h3 .san{
  font-size: 42%;
}

.award0801-box-details-right .sp-center{
  font-size: 1.22vw;
  line-height: 1.5;
  font-weight: bold;
  margin-bottom: 2vw;
}

.award0801-box-details-right h4{
  font-size: 1.3vw;
  line-height: 1.4;
  font-weight: bold;
  color: #0051a3;
  border-bottom: 2px solid #0051a3;
  padding-bottom: 0.45vw;
  margin:  1.2vw 0 1.2vw;
}

#VcArea-MainColum .award0801-box-details-right p{
  margin: 0;
}

/* SP */
@media screen and (max-width:768px){
  .award0801{
    width: auto;
    margin-top: 30px;
  }

  .award0801-frame{
    padding: 40px 20px;
    clip-path: polygon(
      28px 0,
      calc(100% - 28px) 0,
      100% 28px,
      100% calc(100% - 28px),
      calc(100% - 28px) 100%,
      28px 100%,
      0 calc(100% - 28px),
      0 28px
    );
  }

  .award0801-frame::before{
    clip-path: polygon(
      28px 0,
      calc(100% - 28px) 0,
      100% 28px,
      100% calc(100% - 28px),
      calc(100% - 28px) 100%,
      28px 100%,
      0 calc(100% - 28px),
      0 28px
    );
  }

  .award0801-frame::after{
    inset: 3px;
    clip-path: polygon(
      25px 0,
      calc(100% - 25px) 0,
      100% 25px,
      100% calc(100% - 25px),
      calc(100% - 25px) 100%,
      25px 100%,
      0 calc(100% - 25px),
      0 25px
    );
  }

  .award0801-box-details{
    display: block;
  }

  .award0801-box-img{
    width: 260px;
    max-width: 100%;
    margin: 0 auto 24px;
    display: block;
  }

  .award0801-box-details-right{
    width: 100%;
    font-size: 14px;
    line-height: 1.9;
    padding-top: 0;
  }

  .award0801-box-details-right h3{
    font-size: 22px;
    line-height: 1.3;
    margin-bottom: 8px;
    text-align: center;
  }

  .award0801-box-details-right .sp-center{
    font-size: 16px;
    margin-bottom: 18px;
    text-align: center;
  }

  .award0801-box-details-right h4{
    font-size: 18px;
    margin: 12px 0 12px;
    padding-bottom: 6px;
  }
}


.close_button{
border:1px solid #0051a3;
color:#0051a3;
padding:4px; background:#FFF;
}

.close_button:hover{
cursor:pointer;
border:1px solid #02aaeb;
color:#02aaeb;
}


/* =====================
   finalist 調整
===================== */

.finalist {
  width: auto !important;
  max-width: none;
  margin: 0 auto 2.777vw !important;
  box-sizing: border-box;
}

.finalist ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.777vw 4.166vw;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  text-align: center;
}

/* clearfixの疑似要素がflexの余計な要素にならないようにする */
.finalist ul::after {
  content: none;
  display: none;
}

.finalist ul li {
  width: clamp(220px, 17.847vw, 257px);
  max-width: none;
  margin: 0;
  box-sizing: border-box;
}

.finalist ul li > img {
  width: 100%;
  height: auto;
}

.finalist ul li h3 {
  width: auto;
  max-width: none;
  margin: 0 0 0.347vw;
  font-size: clamp(20px, 1.82vw, 26px);
  line-height: 1.4;
  font-weight: bold;
  color: #0051a3;
  /*text-align: left;*/
}

.finalist ul li p {
  width: auto;
  max-width: none;
  margin: 0 0 0.694vw;
  font-size: clamp(13px, 1.16vw, 16px);
  line-height: 1.6;
  /*text-align: left;*/
}

.finalist img.finalist-button {
  display: block;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
}


/* =====================
   finalist2
===================== */

.finalist2 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.777vw 2.083vw; /* 縦40px / 横30px相当 */
  margin-bottom: 4.166vw;
  text-align: center;
}

.finalist2 ul li {
  width: 12.847vw; /* 185px相当 */
  max-width: 185px;
  margin: 0;
  box-sizing: border-box;
}

.finalist2 ul li h3 {
  margin-bottom: 0.347vw;
  font-size: 1.385vw;
  line-height: 1.4;
  font-weight: bold;
  color: #0051a3;
}

.finalist2 ul li h3 .san {
  font-size: 80%;
}

.finalist2 ul li p {
  margin-bottom: 0.694vw;
  font-size: 1vw;
  line-height: 1.6;
  color: #004ea2 !important;
}

.finalist2 img {
  max-width: 100%;
  height: auto;
  margin-bottom: 0.347vw;
}

.finalist.yuusyuu ul {
  display: flex;
  justify-content: center;
  gap: 2.777vw 6.25vw;
}
/*
.finalist.yuusyuu ul li {
  margin: 0;
}*/
/* =====================
   finalist 大画面対応・上限あり
===================== */

.finalist {
  /*width: min(70vw, 1100px) !important;*/
  max-width: none;
  margin: 0 auto 2.777vw !important;
}

.finalist ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(40px, 4vw, 80px);
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

.finalist ul::after {
  content: none;
  display: none;
}

.finalist ul li {
  width: clamp(257px, 18vw, 360px);
  max-width: none;
  margin: 0;
  box-sizing: border-box;
}

.finalist ul li > img {
  width: 100%;
  max-width: none;
  height: auto;
}

.finalist img.finalist-button {
  width: clamp(215px, 15vw, 300px);
  max-width: none;
  height: auto;
  margin: 0 auto;
}
/* =====================
   SP
===================== */

@media screen and (max-width: 768px) {

  .finalist {
    width: auto !important;
    max-width: none;
    margin: 0 auto 30px !important;
    padding: 0 20px;
  }

  .finalist ul {
    display: block;
  }

  .finalist ul li {
    width: 100%;
    max-width: 320px;
    margin: 0 auto 40px;
  }

  .finalist ul li h3 {
    width: auto;
    max-width: none;
    margin: 0 0 5px;
    font-size: 22px;
    line-height: 1.4;
    text-align: center;
  }

  .finalist ul li p {
    width: auto;
    max-width: none;
    margin: 0 0 10px;
    font-size: 15px;
    line-height: 1.6;
    text-align: center;
  }

  .finalist img {
    margin-bottom: 5px;
  }

  .finalist img.finalist-button {
    margin: 0 auto;
  }


  .finalist2 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px 20px;
    margin-bottom: 40px;
  }

  .finalist2 ul li {
    width: calc(50% - 10px);
    max-width: 185px;
    margin: 0;
  }

  .finalist2 ul li h3 {
    margin-bottom: 5px;
    font-size: 18px;
    line-height: 1.4;
  }

  .finalist2 ul li p {
    margin-bottom: 10px;
    font-size: 14px;
    line-height: 1.6;
  }

  .finalist2 img {
    margin-bottom: 5px;
  }
}


/* =====================
   finalist modal
===================== */

.finalist-modal {
  width: 80vw;
  max-width: 900px;
  margin: 0 auto;
  background: #fff;
  position: relative;
  box-sizing: border-box;
}

.finalist-modal .award0801 {
  margin-bottom: 0;
}

.finalist-modal .award0801-box-inner {
  background: #fff;
  padding: 2.777vw;
  box-sizing: border-box;
}

.finalist-modal .award0801-box-details {
  display: flex;
  gap: 2.777vw;
  align-items: flex-start;
}

.finalist-modal .award0801-box-img {
  width: 17.847vw;
  max-width: 257px;
  height: auto;
  flex-shrink: 0;
}

.finalist-modal .award0801-box-details-right {
  flex: 1;
  text-align: left;
  position: relative;
}

.finalist-modal h3 {
  color: #0051a3;
  font-size: 1.8vw;
  line-height: 1.4;
  font-weight: bold;
  margin-bottom: 0.694vw;
}

.finalist-modal h3 .san {
  font-size: 80%;
}

.finalist-modal h4 {
  color: #0051a3;
  font-size: 1.3vw;
  line-height: 1.5;
  font-weight: bold;
  margin: 1.388vw 0 0.694vw;
}

.finalist-modal p {
  font-size: 1.111vw;
  line-height: 1.8;
}

.finalist-modal .close_button {
  border: none;
  background: #0051a3;
  color: #fff;
  font-size: 1vw;
  line-height: 1;
  padding: 0.8vw 2vw;
  border-radius: 999px;
  cursor: pointer;
}

.finalist-modal .close_button:hover {
  opacity: 0.7;
}


/* SP */
@media screen and (max-width: 768px) {

  .finalist-modal {
    width: calc(100% - 40px);
    max-width: none;
  }

  .finalist-modal .award0801-box-inner {
    padding: 24px 20px;
  }

  .finalist-modal .award0801-box-details {
    display: block;
  }

  .finalist-modal .award0801-box-img {
    width: 70%;
    max-width: 257px;
    display: block;
    margin: 0 auto 20px;
  }

  .finalist-modal .award0801-box-details-right {
    text-align: left;
  }

  .finalist-modal h3 {
    font-size: 22px;
    text-align: center;
    margin-bottom: 5px;
  }

  .finalist-modal h4 {
    font-size: 18px;
    margin: 24px 0 10px;
  }

  .finalist-modal p {
    font-size: 14px;
    line-height: 1.8;
  }

  .finalist-modal .sp-center {
    text-align: center;
  }

  .finalist-modal .close_button {
    font-size: 14px;
    padding: 12px 30px;
  }
}

.award-caption,
.award-caption2,
.award-caption3,
.award-caption4{
  clear: both;
  margin-bottom: 1.388vw;
  margin-top: 3.777vw;
}

.award-caption p,
.award-caption2 p,
.award-caption3 p,
.award-caption4 p{
  font-size: 123.1%;
  line-height: 1.8;
  margin-bottom: 0;
}

.award-caption img{
  float: left;
  margin: 0 2.083vw 0.694vw 0;
}

.award-caption2 img{
  float: right;
  margin: 0 0 0.694vw 2.083vw;
}
.award-caption img,
.award-caption2 img{
  width: 45%;
  height: auto;
}

.award-caption.img-s img,
.award-caption2.img-s img{
  width: 30%;
}


@media screen and (max-width:768px){
  .award-caption img,
  .award-caption2 img{
    width: 100%;
    float: none;
    margin: 0 0 16px;
  }
}
.award-caption3 img{
  margin-bottom: 0.694vw;
}

.award-caption4 img{
  margin: 0 auto 0.694vw;
}

.award-caption h3,
.award-caption2 h3,
.award-caption4 h3{
  font-size: 2vw;
  font-weight: bold;
  color: #0051a3;
  margin: 0 0 1.736vw 0;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  .award-caption,
  .award-caption2,
  .award-caption3,
  .award-caption4{
    margin-bottom: 20px;
    padding-top: 20px;
  }

  .award-caption img,
  .award-caption2 img,
  .award-caption3 img,
  .award-caption4 img{
    float: none;
    display: block;
    margin: 0 auto 20px;
    max-width: 100%;
    height: auto;
  }

  .award-caption h3,
  .award-caption2 h3,
  .award-caption4 h3{
    font-size: 140%;
    text-align: center;
    margin: 0 0 20px;
    clear: none;
  }

  .award-caption p,
  .award-caption2 p,
  .award-caption3 p,
  .award-caption4 p{
    text-align: left;
  }
}

.award-text p{
  font-size: 123.1%;
  line-height: 1.8;
}

img.award0801-box-top{
	display:none}



.awardH3{
  font-size: 2vw;
  font-weight: bold;
  color: #0051a3;
  margin: 0 0 1.736vw 0;
  padding-top: 3.472vw;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
	.awardH3{
  font-size: 140%;
  margin-top: 30px;
  margin-bottom: 10px;
  }
}


.awardP{
  font-size: 123.1%;
  line-height: 1.8;
  margin-bottom:20px;
}

.awardImgBox{

}

.awardImgBox img{
float:left;
margin:0 20px 20px 0px
}

.awardImgCap{
}

.awardImgCap .imgcap{
width:415px;
float:left;
margin:0 20px 0px 0;
}

.awardImgCap .imgcap p{
text-align:center;
  font-size: 100%;
  line-height: 1.8;
  margin-bottom:20px;
color: #0051a3;
}

.awardImgCap .imgcap img{
margin:0 0 10px 0;
padding:0;
}



.banner-box2{
  margin-bottom: 20px;
  margin: 0 auto;
}

.banner-area2{
    /* margin-bottom: 20px; */
    margin-left: 20px;
    text-align: center; 
}

.banner-area2 li{
  display: inline-block;
  margin-right: 20px;
  margin-bottom: 20px;
}





/* ----CMS PARTS---- */
.vcC img{
	width: 100%
}

.width-auto.vcC img{
  width: auto;
}
.vc-content{
  margin-top: 1.736vw;
  clear: both;
}
  #VcArea-MainColum.local_wrap > .vc-content.vcC.t-center {
    margin-top: 0;
  }
  
.vc-content p{
  font-size: 123.1%;
  line-height: 1.8;
  margin-bottom: 0;
}

.vc-content img{
  margin-bottom: 0;
}

.vcE{
}

.vcE img{
  float: left;
  margin-right: clamp(16px, 2vw, 30px);
  margin-bottom: clamp(16px, 2vw, 30px);
}

.vcF img{
  float: right;
  margin-left: clamp(16px, 2vw, 30px);
  margin-bottom: clamp(16px, 2vw, 30px);
}

@media screen and (max-width: 768px) {
	.vcE img,.vcF img{
		float: none;
		display: block;
		margin: 15px auto 15px
	}
}


.vcG img{
  margin-bottom:20px;
}

.fontdown{
font-size:13px;
}

.campaign_img img{
	margin: 10px	
}
.campaign_img2{
	width: 25%;
	float: left;
}
.campaign_img2:nth-child(4n+1) {
	clear: both;
}

.campaign_img.campaign_img2 img{
	margin-bottom: 0	
}
.campaign_img2 p{
	font-size: 0.9em;
	line-height: 1.3em
}

/*20230607*/
.campaign_img2{
    margin-bottom: 30px;
}

.campaign_img2 p.campaign_text{
    margin: 10px 10px 0;
    /*border: 1px solid #eee;*/
    background: #f8f8f8;
    padding: 10px;
}
.campaign_product_t{
    min-height: 31.4px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* =====================
   vcE 派生：画像＋テキスト中央揃え
===================== */

.vcE.vcFlexCenter {
  display: flex;
  align-items: center;      /* 上下中央 */
  justify-content: center;  /* 左右中央 */
  gap: clamp(20px, 2.5vw, 36px);
  text-align: left;
}

.vcE.vcFlexCenter::after {
  content: none;
  display: none;
}

.vcE.vcFlexCenter img {
  float: none;
  flex-shrink: 0;
  width: clamp(120px, 12vw, 173px);
  height: auto;
  margin: 0;
}

.vcE.vcFlexCenter p {
  margin: 0;
  line-height: 1.8;
}
@media screen and (max-width: 768px) {

  .vcE.vcFlexCenter {
    display: block;
    text-align: center;
  }

  .vcE.vcFlexCenter img {
    float: none;
    display: block;
    width: auto;
    max-width: 100%;
    margin: 0 auto 16px;
  }

  .vcE.vcFlexCenter p {
    text-align: left;
  }
}