@charset "utf-8";
/* CSS Document */

/* basic
--------------------- */
html,body {
    height: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: 80px; // ヘッダーの高さ分設定
}

body {
	font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	font-size:16px;
	text-align: justify;
	line-height: 1.75;
}

h1,h2,h3,h4,h5,h6,.mincho,.ribbon_grandaward,.ribbon_award_l,.ribbon_award_s {
	font-family: fot-tsukuardgothic-std, sans-serif;
	font-style: normal;
	font-weight: 800;
	letter-spacing: -0.05rem;
}

h1,h2,h3,h4,h5,h6,strong {
	font-weight:900;
	text-align: initial;
}

h1 {font-size: clamp(24px, 5vw, 34px); margin-top: 0!important;}
h2 {font-size:190%;}
h3 {font-size:170%;}
h4 {font-size:150%;}
h5 {font-size:130%;}
h6 {font-size:110%;}

h1 {margin-top: -50px;}
h2 {border-left:4px solid #bfa86f; padding:.5rem 0 .5rem 2rem; margin: 4rem 0 2rem 0;}
h3 {color:#c83476; margin-top: 3rem; margin-bottom: 2rem; }
h4 {text-decoration: underline; text-decoration-thickness: 0.5em; text-decoration-color: rgba(191, 172, 125, 0.25); text-underline-offset: -0.2em; text-decoration-skip-ink: none;}
.color {color:#c83476;}
.white {color:white;}

h4,h5,h6 {margin-bottom: .5rem;}
@media (width <= 640px){
	.letterpack1 {letter-spacing: 0.075em;}
	h1 {font-size: clamp(22px, 4vw, 24px)!important; margin-top: -35px!important;}
	.pcimg {display: none;}
	.spimg {display:block; margin-left: auto; margin-right: auto; background-color: #000;}
}

@media (width >= 640px){
	.pcimg {display: block;}
	.spimg {display:none;}
}


h2.diagonal {
	text-align: left;
	position: relative;
	line-height: 1;
	overflow: hidden;
	padding: 40px;
	border-left: none;
	margin-top: 8rem;
}
h2.diagonal::before {
	content: "";
	display: inline-block;
	width: 2px;/*太さ*/
	height: 140%;
	background: #80357c;
	transform: rotate(20deg);
	position: absolute;
	top: -20px;
	left: 20px;
	z-index: -1;
}

/*640px未満*/
@media (width < 640px){
	h2.diagonal {
		padding: 20px;
		margin-top: 6rem;
	}
	h2.diagonal::before {
		top: -10px;
		left: 10px;
	}
}





/*要素を角丸*/
.r5 {
	border-radius: 5px;
	overflow: hidden;
}
.imgborder {
	outline: 15px solid rgb(255 255 255 / 40%);
}

/*640px未満*/
@media (width < 640px){
	.spclick {font-size:140%; margin-top: 0.5rem;margin-bottom: 0.5rem;}
	.entrybtnspace {margin-top: 20px!important; margin-bottom: 20px!important;}
}

/*640px以上*/
@media (width >= 640px){
	.entrybtnspace {margin-left: 20px!important; margin-right: 20px!important;}
}


/*1024px以下*/
@media (width <= 1024px){
	body {font-size:0.875rem;}
	h2 {font-size:143%;}
	h2 {border-left:4px solid #bfa86f; padding:.5rem 0 .5rem 1rem; margin: 3rem 0 1rem 0;}
	h6 {font-size:110%;}
}


@media (width >= 640px) {
	.pctelNone {pointer-events: none;}
}


strong {text-decoration: underline; text-decoration-thickness: 0.5em; text-decoration-color: rgba(248, 202, 223, 0.95); text-underline-offset: -0.2em; text-decoration-skip-ink: none;}

a, a:visited {color:#000;text-decoration: underline;}
a:hover {text-decoration: initial; background-color:rgba(233, 233, 233, 0.95); transition: .5s; }

i {margin-right: 0.25rem; margin-left: 0.25rem;}

.catch {
  display: flex;
  align-items: center; /* 垂直中心 */
  justify-content: center; /* 水平中心 */
}
.catch:before, .catch:after {
  border-top: 1px solid;
  content: "";
  width: 3em; /* 線の長さ */
}
.catch:before {
  margin-right: 1em; /* 文字の右隣 */
}
.catch:after {
  margin-left: 1em; /* 文字の左隣 */
}
/*1024px以下*/
@media (width <= 1024px){
	.catch:before, .catch:after {
		width:min(8.53vw,3em);
	}
	.catch:before {
		margin-right: min(4.27vw,1em); /* 文字の右隣 */
	}
	.catch:after {
  		margin-left: min(4.27vw,1em); /* 文字の左隣 */
	}
	.mt2mb2 {margin-top:1rem!important; margin-bottom:1rem!important;}
}


.normal {font-weight: normal;}
.bold {font-weight:700;}

em {font-style:normal;}

.block {display:block;}
.inline-block {display: inline-block;}

.mt1mb1 {margin-top:1rem; margin-bottom:1rem;}
.mt2mb2 {margin-top:2rem; margin-bottom:2rem;}
.mt4mb2 {margin-top:4rem; margin-bottom:2rem;}
.mt4mb4 {margin-top:4rem; margin-bottom:4rem;}
.mt1 {margin-top:1rem;}
.mt2 {margin-top:2rem;}
.mt3 {margin-top:3rem;}
.mt4 {margin-top:4rem;}
.mb05 {margin-bottom:.5rem;}
.mb1 {margin-bottom:1rem;}
.mb2 {margin-bottom:2rem;}
.mb4 {margin-bottom:4rem;}
.pt1pb1 {padding-top: 1rem; padding-bottom: 1rem;}
.pt2pb1 {padding-top: 2rem; padding-bottom: 1rem;}
.pt2pb2 {padding-top: 2rem; padding-bottom: 2rem;}
.pt3pb3 {padding-top: 3rem; padding-bottom: 3rem;}

.nowrap {white-space: nowrap}
.txt-center {text-align:center;}
.txt-right {text-align:right;}
.mLR_auto {margin-left: auto; margin-right: auto;}

.fs120p {font-size:120%;}
.fs60p {font-size:60%;}
.relative {position: relative;}

.bgc_lightPurple {background-color: #f7f2f5;}

.dots {
  -webkit-text-emphasis: filled;
  text-emphasis: filled;
}

.brderT {border-top:1px solid #b49db3; padding-top: 0.25rem; margin-top:0.25rem;}
.lh_1-25 {line-height:  1.25;}
.hover-opacity {
  transition-property: opacity;
  transition-duration: 0.5s;
}
.hover-opacity:hover {
  opacity: 0.7; 
}


/* btn_line
--------------------- */
.btn_line {
	display: inline-block;
	width: 100%;
	/*max-width: 350px;*/ /* ボタン幅 */
	position: relative;
	/*color: #45B173;*/ /* 文字色 */
	padding: 1em 2em;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	transition: 0.3s;
}
.btn_line::before,
.btn_line::after {
	position: absolute;
	width: 100%;
	height: 2px; /* 線幅 */
	content: '';
	-webkit-transition: all .3s;
	transition: all .3s;
	background: #bfa86f; /* 金色 */
}
.btn_line::before {
	top: 0;
	left: 0;
}
.btn_line::after {
	right: 0;
	bottom: 0;
}
/* マウスオーバーした際のデザイン */
.btn_line:hover:before,
.btn_line:hover:after {
	width: 0;
}

/* btn_oval
--------------------- */
a.btn_oval_light {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: auto;
	padding: 1rem 4rem;
	border-radius: 2px;
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-style: normal;
	font-weight:700;
	background: #5cf25c;
	
}
a.btn_oval_light:hover {
	background-position: right center;
	background-size: 200% auto;
	-webkit-animation: pulse 2s infinite;
	animation: shad_oval_light 1.5s infinite;
}
.obi a.btn_oval_light {
	color: #000!important;
	background: #5cf25c;
}
.obi a.btn_oval_light:hover {
	color: #000;
	background: #5cf25c!important;
}



/* btn_oval_pink
--------------------- */
a.btn_oval_pink {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	/*width: 120px;*/
	margin: auto;
	padding: 1rem 4rem;
	border-radius: 2px;
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-style: normal;
	font-weight:700;
	background: #f54773;
	color:white;
	
}
a.btn_oval_pink:hover {
	background-position: right center;
	background-size: 200% auto;
	-webkit-animation: pulse 2s infinite;
	animation: shad_oval_light 1.5s infinite;
}

/* btn_oval_blue
--------------------- */
a.btn_oval_blue {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	/*width: 120px;*/
	margin: auto;
	padding: 1rem 4rem;
	border-radius: 2px;
	font-family: "fot-tsukuardgothic-std", sans-serif;
	font-style: normal;
	font-weight:700;
	background: #3dffff;/*"3d3dff"*/
	color:#000;
	
}
a.btn_oval_blue:hover {
	background-position: right center;
	background-size: 200% auto;
	-webkit-animation: pulse 2s infinite;
	animation: shad_oval_light 1.5s infinite;
}

.obi a.btn_oval_blue {
	color: #000!important;
	background: #3dffff;/*"3d3dff"*/
}
.obi a.btn_oval_blue:hover {
	color: #000;
	background: #3dffff!important;/*"3d3dff"*/
}



@keyframes shad_oval_light {
	0% {box-shadow: 0 0 0 0 #00ffff;}/*#00eda2*/
	70% {box-shadow: 0 0 0 20px rgb(0 237 162 / 0%);}
	100% {box-shadow: 0 0 0 0 rgb(0 237 162 / 0%);}
}




/**/
a.btn_oval_faded {
	display: inline-block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	margin: auto;
	padding: 1rem 4rem;
	border-radius: 100vw;
	background: #d8ecb6;
}
a.btn_oval_faded:hover {
	background-position: right center;
	background-size: 200% auto;
	-webkit-animation: pulse 2s infinite;
	animation: shad_oval_faded 1.5s infinite;
}
@keyframes shad_oval_faded {
	0% {box-shadow: 0 0 0 0 #d8ecb6;}
	70% {box-shadow: 0 0 0 10px rgb(216 236 182 / 0%);}
	100% {box-shadow: 0 0 0 0 rgb(216 236 182 / 0%);}
}

/*1025px以上*/
@media (width >= 1025px){
	.display_sp {
		display: none;
	}
}
/*600px以上*/
@media (width >= 600px){
	.display2_sp {
		display: none;
	}
}
/*1024px以下*/
@media (width <= 1024px){
	.hidden_sp {display:none;}
	a.btn_oval_light, a.btn_oval_blue, a.btn_oval_faded {font-size:min(4vw,100%);}
}
/*599px以下*/
@media (width <= 599px){
	.hidden2_sp {display:none;}
}




/* header(navi)
--------------------- */
.header {
  height: 60px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
.logo {
  font-weight: 700;
  padding-left: 14px;
}
.hamburger-menu {
  width: 50px;
  height: 50px;
  position: relative;
  border: none;
  background: transparent;
  appearance: none;
  padding: 0;
  cursor: pointer;
}
.hamburger-menu__bar {
  display: inline-block;
  width: 54%;
  height: 2px;
  background: #242424;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  transition: .5s;
}
.hamburger-menu__bar:first-child {
  top: 16px;
}
.hamburger-menu__bar:nth-child(2) {
  top: 24px;
}
.hamburger-menu__bar:last-child {
  top: 32px;
}
.hamburger-menu--open .hamburger-menu__bar {
  top: 50%;
}
.hamburger-menu--open .hamburger-menu__bar:first-child {
  transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.hamburger-menu--open .hamburger-menu__bar:last-child {
  transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}
.hamburger-menu--open .hamburger-menu__bar:nth-child(2) {
  display: none;
}
.navigation {
  display: none;
  background: #bfa86f;
  position: absolute;
  top: 50px;
  width: 100%;
  z-index: 9999;
}
.navigation__list {
  text-align: center;
  list-style: none;
  padding: 0;
  margin: 0;
}
.navigation__list-item {
  border-bottom: solid 1px #474747;
}
.navigation__list-item:first-child {
  border-top: solid 1px #474747;
}
.navigation__link {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  display: block;
  padding: 24px 0;
  transition: .5s;
}
@media (hover: hover) and (pointer: fine) {
  .navigation__link:hover {
    background: #333;
  }
}
/**/
.header {
	/* headerを画面上部に固定する */
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	transition: 0.7s;
	background:rgba(226,219,210,0.9);
	z-index:-1;
  }


/* main(mv)
--------------------- */
main {
    background: url("../images/mvback.jpg") no-repeat;
    background-size:cover;
	background-position:center center;
    width: 100%;
	height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
	box-sizing: border-box;
	padding-bottom: 1rem;
}

main .m-wrap {
	width: 100%;
	height: 58.6vh;
	margin-top: auto;
	margin-bottom: auto;
}

main .m-wrap img {
	width: 100%;
	height: 56.1vh;
}

main .m-wrap h1 img {
	width: 100%;
	height: 3.75vh;
	margin-top: -40px;
	margin-bottom: -20px;
}

/*640px以下*/
@media (width <= 640px){
	main .m-wrap img {width: 90%; margin-left: auto; margin-right: auto;}
	main .m-wrap h1 img {width: 70%; margin-top: -100px;}
	/* Safari */
	::-webkit-full-page-media, :future, :root main .m-wrap h1 img {margin-top: -50px;}
}


/*1024px以下*/
@media (width <= 1024px){
	main h1 {font-size:min(7.68vw,275%);}
	main h2 {font-size:min(4.27vw,137.5%);}
	main p {font-size:min(3.73vw,100%);}
}


main div img[src$="icon-arrow-down.png"] {
    display: block;
    width:25px;
    height: auto;
	margin: 0 auto;
	filter: drop-shadow(0 0 2px #404040);
}
main div span {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
	font-weight:500;
	color: #fff;
	text-shadow:0 0 4px #000;
}
main h1 {margin-top:2rem;}
main h2 {margin-top:.5rem;}
main p {margin: 1.5rem 0 auto;}


/* obi
--------------------- */
.obi {
    background: url("../images/mvback_Blur.jpg") no-repeat;
    background-size:cover;
	background-position:center center;
	color: #fff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	align-content: center;
	padding: 5rem 0;
}
.obi h2 {
	font-size:187.5%; 
	border-left: initial; 
	padding:initial; 
	margin: initial;
	text-shadow:0 0 4px #000;
	text-align: center;
}
.obi a, .obi a:visited {color:#fff;}
.obi a:hover {text-decoration:none; background-color:transparent!important; }
.obi p {margin:2rem 0;}
.obi img.concept_logo {filter: drop-shadow(0 0 70px rgba(255,255,255, 1)); margin-bottom: 3rem; width:max(20vw,300px);}
@media (width <= 1024px){
	.obi h2 {
		font-size:min(5.33vw,187.5%); 
		text-align: center;
	}
	.obi p {
		font-size:min(3.73vw,100%); 
		width:min(90vw,90%);
	}
}
.obi p.imgborder img[src$="_sp.jpg"] {display:none;}
@media (width < 640px){
	.obi p.imgborder img[src$="_pc.jpg"] {display:none;}
	.obi p.imgborder img[src$="_sp.jpg"] {display:block; width: 100%; height: auto;}
	.obi p.w80 {width:  70%;}
}

/* EventDetails
--------------------- */
.EventDetails,
.EventDetails_consept {
    background: url("../images/EventDetails.jpg") no-repeat;
    background-size:cover;
	background-position:center center;
	width:auto;
	height:300px;
}
@media (width <= 1024px){
	.EventDetails_consept {display: none;}
}

/* pre-event
--------------------- */
.pre-event {
	background-color: #ece6e9;
	box-sizing: border-box;
	padding-top: 4rem;
	padding-bottom: 4rem;
}
.pre-event-detail {
	width:90%;
	max-width:1000px;
	height:auto;
	margin-right: auto;
	margin-left: auto;
	padding-top: 2rem;
	padding-bottom: 2rem;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.pre-event-detail h2 {border-left:none; padding:0; margin:0;font-size:187.5%; text-align: center;}
.pre-event-detail h2 span {color:#80357c;}
.pre-event-detail p {width: 95%!important; margin: 1rem auto; text-align: center;}



/* 左右に横線 */
.pre-event-detail h2 {
	align-items: center; /* 横線を上下中央 */
	display: flex; /* 文字と横線を横並び */
	justify-content: center; /* 文字を中央寄せ */
}
.pre-event-detail h2::before,
.pre-event-detail h2::after {
	background-color: #80357c; /* 横線の色 */
	content: "";
	height: 2px; /* 横線の高さ */
	width: 60px; /* 横線の長さ */
}
.pre-event-detail h2::before {
	margin-right: 15px; /* 文字との余白 15px */
}
.pre-event-detail h2::after {
	margin-left: 15px; /* 文字との余白 15px */
}


/* 左右に斜線 */
.obliqueLine {
	align-items: center; /* 横線を上下中央 */
	display: flex; /* 文字と横線を横並び */
	justify-content: center; /* 文字を中央寄せ */
}
.obliqueLine::before {
	content: "＼";
	margin-left: 5px;
}
.obliqueLine::after {
	content: "／";
	margin-right: 5px;
}




/*1024px以下*/
@media (width <= 1024px){
	.pre-event-detail h2{font-size:min(5.33vw,187.5%); }
	.pre-event-detail p {font-size:min(3.73vw,100%);text-align: left;}
	.pre-event-detail p.bold{text-align: center;}
	.pre-event-detail h2::before,
	.pre-event-detail h2::after {
		background-color: #80357c; /* 横線の色 */
		content: "";
		height: 2px; /* 横線の高さ */
		width: 30px; /* 横線の長さ */
		}
		.pre-event-detail h2::before {
			margin-right: 8px; /* 文字との余白 35px */
		}
		.pre-event-detail h2::after {
			margin-left: 8px; /* 文字との余白 35px */
		}
}


/* container
--------------------- */
.container {
	width: 90%;
	max-width:1000px;
	margin:5rem auto;
}

.container table {
	width: 100%;
	
}
.container table,
.container th,
.container td {
	border: 1px solid #b49db3;
	border-collapse: collapse;
}
.container th,
.container td {
	padding: 1.875rem;
}
.container th {
	white-space: nowrap;
	background-color: #f7f2f5;
	text-align: center;
}


.container ul {
	margin-left: 1.25rem;
}
.container li {
	list-style-type: disc;
}


.container ul.obverse {
	margin-left: 0;
	display: flex;
	justify-content: space-between;
}
.container ul.obverse li {
	list-style-type: none;
	width: 20%;
	font-size:0.75rem;
	line-height: 1.5;
}

.container ul.obverse li img,
.container ul.obverse li span {width:100%; height:auto; display:block;}
.container ul.obverse li img {
	margin-bottom: 0.5rem;
}
.container ul.obverse li span {
	font-weight:bold;
	color:white;
	background-color:#5f1938;
	text-align: center;
	padding: 0.35rem 0;
	font-size:125%;
	letter-spacing: 0.1rem;
}
.container ul.obverse li b {
	font-size:150%;
	display: block;
	margin-bottom: 0.25rem;
}
.container ul.obverse li b small {
	font-size:75%;
}


.container ul.merit {
	display: inline-block !important;
	width: fit-content !important;
	/*margin: 2rem 30%;*/
	margin: 2rem 27.5%;
}
.container ul.merit li {
	list-style-type: disc !important;
	width: initial;
	white-space: nowrap;
	font-weight: 700;
}
.container ul.merit li:last-child {margin-bottom: 0;}


/*1024px以下*/
@media (width <= 1024px){
	.container tr {display:flex; flex-direction:column;}
	.container th,
	.container td {
		padding: 0.5rem 1.125rem;
	}
	.container ul.timeline li {list-style: none!important; margin-bottom: 1.5rem;}
	.container ul.merit {margin: 2rem 26% 2rem 23%;}
}


/*640px以下*/
@media (width <= 640px){
	.container ul.obverse {flex-wrap: wrap;}
	.container ul.obverse li {width:44%; font-size: 0.6rem;}
	.container ul.obverse li:nth-child(-n+2) { margin-bottom: 1rem;}
	.container ul.merit {margin: 1rem 1rem 1rem 1.5rem;}
	.container ul.merit li {white-space:normal; margin-bottom: 0.5rem;}
	.container ul.merit li:last-child {margin-bottom: 0;}
}



.container .timeline {
  list-style: none;
  margin-left:0.5rem;
}


/* for Desktop */
@media ( min-width : 640px ){
  .container .timeline > li {
    overflow: hidden;
    margin: 0;
    position: relative;
  }
  .container .timeline-date {
    width: 10rem;
    float: left;
	padding-top: 1rem;
	padding-bottom: 1rem;
  }
  .container .timeline-content {
    float: left;
    border-left: 1px solid #ccc;
    padding-left: 1.875rem;
	padding-top: 1rem;
	padding-bottom: 1rem;
  }
  .container .timeline-content:before {
    content: '';
    width: 0.5rem;
    height: 0.5rem;
    background: #f8cadf;
    position: absolute;
    left: 9.75rem;
    top: 1.5rem;
    border-radius: 100%;
  }
}

.container dl {
	display: flex;
	width: 100%;
	margin-bottom: 1.75rem;
}
.container dt {
	width:14.375rem;
	}
.container dd {
	width:48.125rem;
	font-size:87.5%;
	}
.container dd .name {
	font-size:143%;
	font-weight: 700;
	display: block;
}
.container dd .position {
	font-weight: 700;
	display: block;
	margin-bottom: 0.3rem;
}
.container dt img {
	width:200px;
	height: auto;
}
/*1024px以下*/
@media (width <= 1024px){
	.container dl{flex-direction: column; }
	.container dt,
	.container dd {width:100%;}
	.container dt img {margin-left: auto;margin-right: auto;margin-bottom: 0.5rem;}
	.container dd .name,
	.container dd .position {text-align: center;}
}
/*1024px以下*/
@media (width <= 1024px){
	.container dd p {display:none;}
}

/**/
/*アコーディオン全体*/
.updownmenu {
  width: 100%;
  padding: 10px 10px 20px;
}
.updownmenu input {
  display: none; /*チェックボックスを隠す*/
}

/*バー部分*/
.updownmenu label {
  cursor :pointer;
  display: block;
  text-decoration: none;
  color: #000;
  line-height: 1.5;
  position: relative;
  margin: 0 0 10px;
  padding: 1rem 2rem;
  background-color: #d8ecb6;
}

/*開いたときに表示される部分*/
.updownmenu ul {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-bottom: 1px;
}
.updownmenu li {
  height: 0;
  overflow-y: hidden;
  transition: padding-bottom 0.5s, padding-top 0.5s; /*閉じるときのアニメーション*/
  -webkit-transition: padding-bottom 0.5s, padding-top 0.5s;
  -moz-transition: padding-bottom 0.5s, padding-top 0.5s;
  -ms-transition: padding-bottom 0.5s, padding-top 0.5s;
  -o-transition: padding-bottom 0.5s, padding-top 0.5s;
}
#menu_bar01:checked ~ #links01 li,
#menu_bar02:checked ~ #links02 li,
#menu_bar03:checked ~ #links03 li{
  height: auto; /*開いたときに表示されるliの高さ*/
  opacity: 1;
  background: #f1f1f1;
  padding: 1rem 2rem;
}
 /*開いたときの下の余白*/
#menu_bar01:checked ~ #links01 li:last-child,
#menu_bar02:checked ~ #links02 li:last-child,
#menu_bar03:checked ~ #links03 li:last-child{
  margin-bottom: 20px;
}

/*閉じた状態の矢印描画*/
.updownmenu label:after{
  content:"";
  display:block;
  width:8px;
  height:8px;
  border-top: #000 2px solid;
  border-right: #000 2px solid;
  -webkit-transform: rotate(135deg);
  -ms-transform: rotate(135deg);
  transform: rotate(135deg);
  position:absolute;
  right: 2%;
  top: 0;
  bottom: 15%;
  margin: auto;
}
/*開いた状態の矢印描画*/
.updownmenu input[type=checkbox]:checked + label:after{
  content:"";
  display:block;
  width:8px;
  height:8px;
  border-top: #000 2px solid;
  border-right: #000 2px solid;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  position:absolute;
  right: 2%;
  top: 7%;
  bottom: 0;
  margin: auto;
}
/**/

.container .interview {
	display: flex;
	flex-wrap: wrap;
	margin-top: 2rem;
	justify-content: space-between;	
}
/*599px以下*/
@media (width <= 599px){
	.container .interview {flex-direction: column; justify-content:space-around!important; align-items: center;}
}
.container .interview .interviewee {
	width:20rem;
	height: 10rem;
	margin-bottom: 2rem;
}
.container .interview .interviewee a:hover {}
.container .interview .interviewee .box {
	width: 18.75rem;
	height: 10rem;
    background: url("../images/back_interviewbox.png") no-repeat;
    background-size:cover;
	background-position:center center;
	margin: 0 auto;
	border-radius:3px;
	background-color: antiquewhite;
	position: relative;
}

.container .interview .interviewee p {
	position: absolute;
	top:5.25rem;
	left: 2.625rem;
	right: 2.625rem;
	font-size:1.5rem;
	font-weight:700;
	text-align: center;
}


.container .interview .interviewee .box .ribbon_grandaward,
.container .interview .interviewee .box .ribbon_award_l,
.container .interview .interviewee .box .ribbon_award_s {
	font-size: 1rem;
	font-weight: bold;
	text-align: center;
}

.container .interview .interviewee .box .ribbon_grandaward,
.container .interview .interviewee .box .ribbon_award_l,
.container .interview .interviewee .box .ribbon_award_s {
  --d: .8em; /* the depth */
  
  position: absolute;
  top: 0.75rem;
  inset-inline: calc(-1*var(--d));
  padding: 0.5rem;
  clip-path: polygon(0 0,100% 0,100% calc(100% - var(--d)),calc(100% - var(--d)) 100%,calc(100% - var(--d)) calc(100% - var(--d)),var(--d) calc(100% - var(--d)),var(--d) 100%,0 calc(100% - var(--d)));
}

.container .interview .interviewee .box .ribbon_grandaward {
	font-size: 1.5rem;
	color:#fedf94;
	text-shadow: #000 1px 0 5px;
	border-bottom: var(--d) solid #312f25;
	background-color: #585542; /* the main color */
}

.container .interview .interviewee .box .ribbon_award_l {
	color:#000;
	border-bottom: var(--d) solid #639763;
	background-color: #9ef29e; /* the main color */
}

.container .interview .interviewee .box .ribbon_award_s {
	color:#000;
	border-bottom: var(--d) solid #4c959c;
	background-color: #7df4ff; /* the main color */
}

/* ---------- */
ul.merit {
	display: flex;
	width: 100%;
	justify-content: space-between!important;
}
ul.merit li {list-style-type: none!important; width:20rem;}
ul.merit li img {border:1px solid #ddd; box-sizing: border-box;}
/*1024px以下*/
@media (width <= 1024px){
	ul.merit {flex-direction: column; justify-content:center; align-items: center;margin-left:-.005rem;}
	ul.merit li{margin-bottom: 1.5rem;}
}

/* ---------- */
.container .snsarea {
	background-color: #efeeed;
	text-align: center;
	padding: 2.5rem 1rem 2rem;
	box-sizing: border-box;
	margin: 12rem 0 2rem;
}
.container .snsarea h6 {text-align:center;}
.container .snsarea i {
	font-size:2.57rem;
	display: inline-block;
	margin: .5rem 1rem 0;
}
.container .snsarea a, 
.container .snsarea a:visited {color:none;text-decoration:none;}
.container .snsarea a:hover {
	text-decoration: none!important; 
	background-color:none!important; 
	opacity: 0.4;
	transition: .5s;
	}

.container .inquiry {
	text-align: center;
	margin: 5rem 0 2rem}
.container .inquiry h6 {text-align:center;}

/* footer
--------------------- */
footer {
	background-color: #585348;
	color:#fff;
}

footer .copyright {
	background-color: #16256a;
	font-size:0.75rem;
	text-align: center;
	padding: 0.5rem 0;
}
footer .contents {
	width:100%;
	max-width:1000px;
	height: auto;
	margin: 0 auto;
	padding: 2rem 0;
	display: flex;
	justify-content: space-between;
}
/*599px以下*/
@media (width <= 599px){
	footer .contents {width: 90%!important;}
	footer .contents p {text-align: right; width:85%; }
	footer .contents a {margin-bottom:0.75rem!important; }
}

footer .contents img {
	width:175px;
	height: auto;
}

footer .contents a.txt {
	color:#fff;
	display: inline-block;
	margin: 0 1rem;
}
footer .contents a.txt:hover {
	text-decoration: none; 
	background-color:rgba(233, 233, 233, 0.2);
}
footer .contents a.img:hover {
	text-decoration: none; 
	background-color:rgba(233, 233, 233, 0);
	opacity: 0.4;
	transition: .5s;
}

/*画像の大きさ*/
img.w100p {
	display: block;
	width:100%;
	height:auto;
}
img.w240 {
	width:240px;
	height:auto;
}

/*並び*/
ul.thumbnail_row_1 {
	display: flex;
	flex-wrap:wrap;
	width: 113%;
	justify-content: center; /*space-between*/
	margin-bottom: 2rem;
	
}/***/
ul.thumbnail_row_1_great {
	display: flex;
	flex-wrap:wrap;
	width: 125%;
	justify-content: center;
	margin-bottom: 2rem;
	
}/***/
ul.thumbnail_row_1 li,
ul.thumbnail_row_1_great li {
	width: 30%;
	margin-left: 16px;
	margin-right: 16px;
	margin-bottom: 50px;
	position:relative;
}/***/

ul.thumbnail_row_1 li img.award,
ul.thumbnail_row_1_great li img.award {
	position: absolute;
	right: 0;
	top: 57%;
	width: 25%;
	height: auto;
}/***/

ul.thumbnail_row_1 li strong,
ul.thumbnail_row_1_great li strong {
	display: block;
	margin-top: 1rem;
	height: 40px;
}/***/
ul.thumbnail_row_1 li div,
ul.thumbnail_row_1_great li div {
	font-size:90%;/*75%*/
	border-top:1px solid #ccc;
	margin-top: 0.5rem;
	padding-top: 0.5rem;
}/***/
ul.thumbnail_row_1 li div b,
ul.thumbnail_row_1_great li div b {
	font-size: 105%;
	font-weight:700;
	display: block;
	margin-top: 0.25rem;
}/***/
@media (width <= 640px) {
	ul.thumbnail_row_1, ul.thumbnail_row_1_great {width:90%!important;}
	ul.thumbnail_row_1 li, ul.thumbnail_row_1_great li {width:100%;margin-left: 0;margin-right: 0;}
	ul.thumbnail_row_1 li strong, ul.thumbnail_row_1_great li strong {font-size:110%; height: 35px;}
	ul.thumbnail_row_1 li img.award, ul.thumbnail_row_1_great li img.award {top:57%;}
	ul.thumbnail_row_1 li div, ul.thumbnail_row_1_great li div { font-size:90%; text-align: left;}
}/***/


/*投票協力病院*/
ul.collabo {
	width: 100%;
	margin-left:0;
	display: flex;
	flex-wrap: wrap;
	justify-content:center;
}

ul.collabo li {
	background-color: #ECE6E9;
	border-radius: 3px;
	list-style:none;
	width: 24%;
	padding: 1rem;
	margin:0 0.25rem 0.5rem 0.25rem;
	line-height: 1.4;
	display: flex;
	justify-content:center;
	align-items:center;
	box-sizing: border-box;
}
ul.collabo li span {
	text-align:center;
	overflow-wrap: anywhere;
}
ul.collabo li span::after {
	font-size: 72.5%;
	white-space: pre;
}
ul.collabo li span.p1::after {
	content: "（北海道）";
}
ul.collabo li span.p6::after {
	content: "（山形県）";
}
ul.collabo li span.p8::after {
	content: "（茨城県）";
}
ul.collabo li span.p10::after {
	content: "（群馬県）";
}
ul.collabo li span.p11::after {
	content: "（埼玉県）";
}
ul.collabo li span.p13::after {
	content: "（東京都）";
}
ul.collabo li span.p14::after {
	content: "（神奈川県）";
}
ul.collabo li span.p17::after {
	content: "（石川県）";
}
ul.collabo li span.p19::after {
	content: "（山梨県）";
}
ul.collabo li span.p20::after {
	content: "（長野県）";
}
ul.collabo li span.p21::after {
	content: "（岐阜県）";
}
ul.collabo li span.p22::after {
	content: "（静岡県）";
}
ul.collabo li span.p23::after {
	content: "（愛知県）";
}
ul.collabo li span.p24::after {
	content: "（三重県）";
}
ul.collabo li span.p25::after {
	content: "（滋賀県）";
}
ul.collabo li span.p26::after {
	content: "（京都府）";
}
ul.collabo li span.p27::after {
	content: "（大阪府）";
}
ul.collabo li span.p28::after {
	content: "（兵庫県）";
}
ul.collabo li span.p29::after {
	content: "（奈良県）";
}
ul.collabo li span.p30::after {
	content: "（和歌山県）";
}
ul.collabo li span.p32::after {
	content: "（島根県）";
}
ul.collabo li span.p33::after {
	content: "（岡山県）";
}
ul.collabo li span.p34::after {
	content: "（広島県）";
}
ul.collabo li span.p35::after {
	content: "（山口県）";
}
ul.collabo li span.p36::after {
	content: "（徳島県）";
}
ul.collabo li span.p38::after {
	content: "（愛媛県）";
}
ul.collabo li span.p39::after {
	content: "（高知県）";
}
ul.collabo li span.p40::after {
	content: "（福岡県）";
}
ul.collabo li span.p41::after {
	content: "（佐賀県）";
}
ul.collabo li span.p42::after {
	content: "（長崎県）";
}
ul.collabo li span.p46::after {
	content: "（鹿児島県）";
}


@media (width <= 768px){
	ul.collabo li {
		width:48%;
		margin:0 0.125rem 0.5rem 0.125rem;
	}
}

@media (width <= 600px){
	ul.collabo li {
		/*width:100%;*/
	}
}

u.winner {display: block; margin-top: 1rem;}
img.winner {width: 90%; max-width:600px ; height: auto;}