@charset "UTF-8";
/*
Theme Name:BRAND MANAGEMENT AWARD
Theme URI:https://www.bm-award.org/
Description:BRAND MANAGEMENT AWARDWordPressテーマ
Author:BM認定協会
Author URI:https://www.brand-mgr.org/
Version:1
*/

:root {
  --color_main: #000000;
  --color_green: #058695;
  --color_light_green: #e6f3f4;
  --color_middle_green: #b4dadf;
  --color_purple: #6b2559;
  --color_light_purple: #f5f0f8;
  --color_gray: #b1b1b1;
  --color_light_gray: #f2f2f2;
  --color_beige: #fefcf8;
  --font_serif: "Noto Serif JP", serif;
  --font_sans: "Noto Sans JP", sans-serif;
  --font_roboto: "Roboto Condensed", sans-serif;;
  --box_shadow: 0 0 4px rgba(0 0 0 / .15);
  --box_shadow_guidelines: 0 0 min(1.4rem, 14px) min(.25rem, 2.5px) rgba(0 58 80 / .21)
}

* {
  box-sizing: border-box;
  font-feature-settings: "palt";
}

html {
  scroll-behavior: smooth;
  /* scroll-padding-top: min(4rem, 40px); */
  font-size: calc(100vw / 110);
}

body, h1, h2, h3, h4, h5, p {
  margin: 0;
  line-height: 1;
}

body {
  font-family: var(--font_sans);
  color: var(--color_main);
  background-color: #fff;
  letter-spacing: .1em;
}

body.active {
  height: 100%;
  overflow: hidden;
}

p {
  /*text-align: justify;*/
}

img {
  width: 100%;
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  vertical-align: bottom;
}

ul, ol, li {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  text-decoration: none;
  transition: opacity .4s;
  color: inherit; 
}

@media (hover: hover) {
  a:hover {
    opacity: 0.6;
  }
}

a:visited {
}

span {
  display: inline-block;
}

dl, dt, dd {
  all: unset;
  display: block;
}

button {
  all: unset;
  display: block;
}

table {
  border-collapse: collapse;
}

.sp_obj {
  display: none;
}

@media (max-width: 799px) {
  html {
    /* scroll-padding-top: 8rem; */
    font-size: calc(100vw / 37.5);
  }
  
  .sp_obj {
    display: block !important;
  }
  
  .pc_obj {
    display: none !important;
  }
}

/* ----- common ----- */

section.bg {
  background-color: var(--color_beige);
}

.no_mt {
  margin-top: 0;
}

.container {
  max-width: 1040px;
  margin: 0 auto;
  padding: min(10rem, 100px) 20px;
}

h2.index_h2 {
  font-size: min(5.0rem, 50px);
  font-weight: 500;
  background: linear-gradient(to right, var(--color_purple), var(--color_green));
  text-align: center;
  letter-spacing: .1em;
  -webkit-background-clip: text;
  color: transparent;
  width: fit-content;
  margin: 0 auto;
  font-family: var(--font_roboto);
}

h2.index_h2 span {
  display: block;
  font-size: min(1.4rem, 14px);
  font-weight: 400;
  width: fit-content;
  margin: min(2.0rem, 20px) auto 0;
  color: var(--color_main);
}

h2.index_h2 small {
  display: block;
  font-size: min(1.6rem, 16px);
  color: var(--color_green);
  margin-bottom: min(.8rem, 8px);
  font-family: var(--font_roboto);
  letter-spacing: .04em;
}

h2.index_h2 strong {
  display: block;
  font-size: min(4rem, 40px);
  color: var(--color_green);
  margin-bottom: min(1.6rem, 16px);
  font-family: var(--font_roboto);
  letter-spacing: -.04em;
}

h2.index_h2_encouragement {
    font-size: min(3.0rem, 30px);
    color: var(--color_green);
				display: flex;
				align-items: center;
}

h2.index_h2_encouragement::before {
	content: '';
	width: 133px;
	height: 212px;
	background-image: url(img/_award2024/award_2024_12.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	display: block;
	margin-right: 20px;
}

h2.index_h2_encouragement span.jp {
	font-size: min(1.6rem, 16px);
	display: block;
	padding-top: min(1.0rem, 10px);
    color: var(--color_main);
}

section.point h2.index_h2_encouragement {
	padding-bottom: min(5rem, 50px);
}

h2.teaser_h2 {
  font-size: min(2.3rem, 23px);
  font-weight: 700;
  letter-spacing: .14em;
  background: linear-gradient(to right, var(--color_green), var(--color_purple));
  text-align: center;
  -webkit-background-clip: text;
  color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(2.3rem, 23px);
  margin: 0 auto;
}

h2.teaser_h2::before, 
h2.teaser_h2::after {
  content: '';
  flex: 1;
  height: 1px;
}

h2.teaser_h2::before { 
  background-color: var(--color_purple);
}

h2.teaser_h2::after { 
  background-color: var(--color_green);
}

h3.common_h3 {
  font-size: min(2.3rem, 23px);
  font-weight: 500;
  padding-bottom: min(2rem, 20px);
  border-bottom: 1px solid var(--color_gray);
  position: relative;
  margin-top: min(9rem, 90px);
}

h3.common_h3 small {
  font-size: min(1.2rem, 12px);
  font-weight: 400;
  margin-left: min(1.2rem, 12px);
}

h3.common_h3::after {
  position: absolute;
  display: block;
  content: '';
  width: min(5rem, 50px);
  height: min(.2rem, 2px);
  background-color: var(--color_purple);
  left: 0;
  bottom: 0;
}

h4.common_h4 {
  font-size: min(1.8rem, 18px);
  font-weight: 700;
  color: var(--color_purple);
  margin-top: min(8rem, 80px);
}

.common_txt {
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  line-height: 1.8;
}

p.common_note {
  margin-top: min(2.8rem, 28px);
  font-size: min(1.4rem, 14px);
  line-height: 1.6;
  padding-left: 1em;
  text-indent: -1em;
}

p.common_note em {
  font-size: min(2rem, 20px);
		font-style: normal;
}

p.common_note + p.common_note {
  margin-top: min(.8rem, 8px);
}

.target {
  transform: translateY(80px);
  opacity: 0;
  transition: all .8s;
}

.target.appear {
  transform: none;
  opacity: 1;
}

a.entrySheet_link {
  margin: min(8rem, 80px) auto 0;
  width: min(50rem, 500px);
  height: min(10rem, 100px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 min(4rem, 40px);
  border-radius: 99px;
  position: relative;
  font-size: min(2.5rem, 25px);
  font-weight: 500;
  color: #fff;
  background: linear-gradient(to right, rgba(5 134 149 / .64), var(--color_green));
}

a.entrySheet_link::before {
  content: '';
  background-image: url(img/_guidelines/icon_link_sheet.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(3.2rem, 32px);
  height: min(3.2rem, 32px);
}

a.entrySheet_link::after {
  content: '';
  background-image: url(img/_guidelines/icon_link_arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(1.2rem, 12px);
  height: min(2rem, 20px);
}

a.entrySheet_link span {
	position: absolute;
	max-width: min(41rem, 410px);
	height: auto;
	right: 0;
	left: 0;
	margin: auto;
	padding: min(1rem, 10px) 0;
	top: 0;
	transform: translateY(-70%);
	border-radius: 99px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: min(1.6rem, 16px);
	font-weight: 500;
	background-color: #fff;
	color: var(--color_main);
	border: min(.2rem, 2px) solid var(--color_green);
	text-align: center;
	line-height:1.3;
}

a.entrySheet_link span::after {
  position: absolute;
  display: block;
  content: '';
  background-image: url(img/_guidelines/icon_link_tri.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(1.5rem, 15px);
  height: min(.8rem, 8px);
  right: 0;
  left: 0;
  margin: auto;
  bottom: 0;
  transform: translateY(85%);
}

a.entrySheet_link span em {
  all: unset;
  color: var(--color_green);
}

@media (max-width: 799px) {
  .container {
    padding: 6rem 2rem;
    width: 100%;
  }

  h2.index_h2 {
    font-size: 3.2rem;
  }
  
  h2.index_h2 span {
    font-size: 1.4rem;
    margin: 1.6rem auto 0;
    color: var(--color_main);
  }
  
  h2.index_h2 small {
    font-size: 1.4rem;
    margin-bottom: 0.8rem;
  }
  
  h2.index_h2 strong {
    font-size: 2.8rem;
    margin-bottom: 0.8rem;
  }

  h2.common_h2 {
    font-size: 2.0rem;
    line-height: 1.4;
  }
  
  h2.common_h2::after {
    width: 2.4rem;
    height: 1.0rem;
    bottom: 20%;
  }
		
		h2.index_h2_encouragement {
    font-size: 3.0rem;
			}

			h2.index_h2_encouragement span.jp {
				font-size:1.6rem;
				padding-top: 1.0rem;
			}

  h3.common_h3 {
    font-size: 1.6rem;
    padding-bottom: 1.2rem;
    border-bottom: .1rem solid var(--color_gray);
    margin-top: 5.0rem;
  }

  h3.common_h3 small {
    font-size: 1rem;
    margin-left: .4rem;
  }
  
  h3.common_h3::after {
    width: 3.2rem;
    height: .2rem;
  }

  h4.common_h4 {
    font-size: 1.6rem;
    margin-top: 3.2rem;
  }
  
  .common_txt {
    font-size: 1.4rem;
  }

  p.common_note {
    margin-top: 1.6rem;
    font-size: 1.2rem;
  }

  p.common_note + p.common_note {
    margin-top: 0.8rem;
  }

  a.entrySheet_link {
    margin: 4rem auto 0;
    width: 100%;
    height: 6rem;
    padding: 0 2rem;
    font-size: 1.4rem;
  }
  
  a.entrySheet_link::before {
    width: 1.8rem;
    height: 1.8rem;
  }
  
  a.entrySheet_link::after {
    width: .8rem;
    height: 1.2rem;
  }
  
  a.entrySheet_link span {
    width: 79%;
    height: auto;
    font-size: 1.1rem;
    padding: 0.5rem 0;
  }
  
  a.entrySheet_link span::after {
    width: 1rem;
    height: 0.6rem;
  }
}

main {
  width: 100%;
  padding-top: min(8.395rem, 83.95px);
}

@media (max-width: 799px) {
  main {
    padding-top: 5.063rem;
  }
}

/* ----- header -----  */

header {
  width: 100%;
  padding: min(1.4rem, 14px) min(2rem, 20px);
  position: fixed;
  background-color: #fff;
  z-index: 99;
  box-shadow: var(--box_shadow_guidelines);
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: min(4rem, 40px);
}

header h1 {
  width: fit-content;
  display: flex;
  flex-direction: column;
  gap: min(1rem, 10px);
}

header h1 a:first-of-type {
  width: min(18rem, 180px);
}

header h1 a:last-of-type {
  width: min(30rem, 300px);
}

header nav.gnav {
  width: fit-content;
  display: flex;
  flex-direction: column;
  gap: min(1rem, 10px);
}

header nav.gnav ul.gnav_ul {
  display: flex;
  justify-content: end;
  align-items: center;
  flex-wrap: wrap;
  gap: min(1.0rem, 10px) min(2.0rem, 20px);
}

header nav.gnav ul.gnav_ul li.gnav_li {
  width: fit-content;
}

header nav.gnav ul.gnav_ul li.gnav_li a {
  display: block;
  font-size: min(1.4rem, 14px);
  font-weight: 700;
  letter-spacing: .04em;
  transition: all .8s;
  padding-bottom: min(.2rem, 2px);
  border-bottom: min(.3rem, 3px) solid transparent;
}

@media (hover: hover) {
  header nav.gnav ul.gnav_ul li.gnav_li a:hover {
    opacity: 1;
    border-bottom: min(.3rem, 3px) solid var(--color_main);
  }
}

header nav.gnav ul.gnav_ul02 a {
  padding: min(.4rem, 4px) min(1.6rem, 16px);
  border-radius: min(.4rem, 4px);
  background-color: var(--color_green);
  color: #fff;
}

@media (max-width: 799px) {
  header {
    padding: .8rem 1.2rem;
  }
  
  header h1 {
    gap: 0.4rem;
  }

  header h1 a:first-of-type {
    width: 12rem;
  }
  
  header h1 a:last-of-type {
    width: 20rem;
  }

  #open {
    font-size: 2.4rem;
    color: var(--color_main);
  }

  #open.hidden {
    display: none;
  }
  
}

/* ----- overlay ----- */

@media (max-width: 799px) {
  
  div.overlay {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    background: linear-gradient(to right, rgba(5 134 149 / .95), rgba(107 37 89 / .95));
    padding: 1rem 1.2rem;
    color: #fff;
    z-index: 99;
    opacity: 0;
    pointer-events: none;
    transition: all .8s;
  }
  
  div.overlay.show {
    opacity: 1;
    pointer-events: auto;
  }
  
  #close {
    display: block;
    font-size: 2.4rem;
    text-align: right;
  }
  
  div.overlay nav.overlay_nav {
    width: 85%;
    margin: 8.0rem auto 0;
  }
  
  div.overlay nav.overlay_nav li.overlay_li {
    transform: translateY(80px);
    opacity: 0;
    transition: all .8s;
  }
  
  div.overlay.show nav.overlay_nav li.overlay_li {
    transform: none;
    opacity: 1;
  }
  
  div.overlay.show nav.overlay_nav li.overlay_li:nth-of-type(2) {
    transition-delay: .1s;
  }
  
  div.overlay.show nav.overlay_nav li.overlay_li:nth-of-type(3) {
    transition-delay: .2s;
  }
  
  div.overlay.show nav.overlay_nav li.overlay_li:nth-of-type(4) {
    transition-delay: .3s;
  }
  
  div.overlay.show nav.overlay_nav li.overlay_li:nth-of-type(5) {
    transition-delay: .4s;
  }
  
  div.overlay.show nav.overlay_nav li.overlay_li:nth-of-type(6) {
    transition-delay: .5s;
  }
  
  div.overlay.show nav.overlay_nav li.overlay_li:nth-of-type(7) {
    transition-delay: .6s;
  }
  
  div.overlay.show nav.overlay_nav li.overlay_li:nth-of-type(8) {
    transition-delay: .7s;
  }

  div.overlay nav.overlay_nav li.overlay_li + li.overlay_li {
    margin-top: 2.0rem;
  }
  
  div.overlay nav.overlay_nav li.overlay_li a {
    display: block;
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    position: relative;
  }
  
  div.overlay nav.overlay_nav li.overlay_li a small {
    position: absolute;
    font-size: 1.6rem;
    right: 11%;
    bottom: -40%;
  }
}


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

footer {
	position: relative;
	width: 100%;
	background-color: #000;
	overflow: hidden;
	z-index: 0;
	/*background: linear-gradient(to bottom, var(--color_purple), var(--color_green));*/
/* 	margin-bottom: min(12.8rem, 128px); */
}
footer::before {
	z-index: -1;
    position: absolute;
    bottom: -530.435px;
    right: -688px;
    content: "";
    display: block;
    width: 1200px;
    aspect-ratio: 1;
    border-radius: 999px;
    background: radial-gradient(50% 50% at 50% 50%, var(--color_green) 0%, rgba(255, 80, 0, 0.00) 100%);
}
footer::after {
	z-index: -1;
    position: absolute;
    top: -530.435px;
    left: -688px;
    content: "";
    display: block;
    width: 1200px;
    aspect-ratio: 1;
    border-radius: 999px;
    background: radial-gradient(50% 50% at 50% 50%, var(--color_purple) 0%, rgba(255, 80, 0, 0.00) 100%);
}

footer div.container {
  padding-top: min(5rem, 50px);
  padding-bottom: min(5rem, 50px);
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

footer div.container h1.footer_h1 {
  padding-right: min(12rem, 120px);
  position: relative;
}

footer div.container h1.footer_h1 p.footer_note {
  margin-top: min(2.0rem, 20px);
  font-size: min(1rem, 10px);
  font-weight: 400;
  letter-spacing: 0em;
  line-height: 2;
  color: #fff;
}

footer div.container h1.footer_h1 div.sns_area {
  margin-top: min(.8rem, 8px);
  display: flex;
  gap: min(2rem, 20px);
  align-items: center;
}

footer div.container h1.footer_h1 div.sns_area a {
  width: min(2.4rem, 24px);
  margin: 0;
}

footer div.container h1.footer_h1 a:first-of-type {
  display: block;
  font-size: min(2.8rem, 28px);
  font-weight: 900;
  color: #fff;
  letter-spacing: 0em;
}

footer div.container h1.footer_h1 a:first-of-type small {
  display: inline-block;
  font-size: min(1.4rem, 14px);
  line-height: .3;
  vertical-align: bottom;
  margin-left: min(0.2rem, 2px);
}

footer div.container h1.footer_h1 a:last-of-type {
  display: block;
  width: min(22rem, 220px);
  margin-top: min(1.6rem, 16px);
}

footer div.container nav.fnav {
  display: flex;
  flex-direction: column;
  gap: min(3.2rem, 32px);
}

footer div.container nav.fnav ul.fnav_ul {
  display: flex;
  flex-direction: column;
  align-items: end;
  gap: min(2.0rem, 20px);
}

footer div.container nav.fnav ul.fnav_ul02 {
  flex-direction: row;
  gap: min(.8rem, 8px);
}

footer div.container nav.fnav ul.fnav_ul a {
  display: block;
  font-size: min(1.4rem, 14px);
  font-weight: 700;
  color: #fff;
}

footer div.container nav.fnav ul.fnav_ul02 a {
  padding: min(.8rem, 8px) min(1.2rem, 12px);
  border-radius: min(.4rem, 4px);
  background-color: var(--color_green);
  color: #fff;
}

@media (max-width: 799px) {
footer {
/* 	margin-bottom: 8.6rem; */
}

  footer div.container {
    padding-top: 3.2rem;
    padding-bottom: 3.2rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  
  footer div.container h1.footer_h1 {
    padding-right: 0;
    position: static;
  }
  
  footer div.container h1.footer_h1 p.footer_note {
    position: static;
    margin-top: 2.4rem;
    font-size: 1.2rem;
    line-height: 1.4;
  }

  footer div.container h1.footer_h1 div.sns_area {
    margin-top: 1.6rem;
    gap: 1.0rem;
  }
  
  footer div.container h1.footer_h1 div.sns_area a {
    width: 2.8rem;
    margin: 0;
  }
  
  footer div.container h1.footer_h1 a:first-of-type {
    display: block;
    font-size: 2.0rem;
  }
  
  footer div.container h1.footer_h1 a:first-of-type small {
    font-size: 1rem;
    line-height: .3;
    vertical-align: bottom;
    margin-left: 0.2rem;
  }
  
  footer div.container h1.footer_h1 a:last-of-type {
    margin-top: 1.6rem;
    width: 60%;
  }
  
  footer div.container nav.fnav {
    margin-top: 4rem;
    display: flex;
    flex-direction: column;
    gap: 1.6rem;
    width: 100%;
  }
  
  footer div.container nav.fnav ul.fnav_ul {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 0.8rem;
  }
  
  footer div.container nav.fnav ul.fnav_ul02 {
    flex-direction: column;
    gap: 0.4rem;
  }
  
  footer div.container nav.fnav ul.fnav_ul a {
    font-size: 1.3rem;
  }
  
  footer div.container nav.fnav ul.fnav_ul02 a {
    padding: 0.4rem 0.8rem;
    border-radius: 0.4rem;
  }
}

/* ----- inner ----- */

main.inner section.mv {
  width: 100%;
  height: min(14rem, 140px);
  background-image: url(img/_guidelines/bg_mv01.jpg);
  background-size: cover;
  background-position: center center;
  position: relative;
  display: flex;
  justify-content: start;
  align-items: center;
}

main.inner section.mv::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: min(.5rem, 5px);
  background: linear-gradient(to right, var(--color_purple) 0%, var(--color_green) 100%);
}

main.inner section.mv div.container {
  padding-top: 0;
  padding-bottom: 0;
  width: min(104rem, 1040px);
}

main.inner section.mv h2.mv_h2 {
  width: fit-content;
  font-size: min(5rem, 50px);
  font-weight: 600;
  background: linear-gradient(to right, var(--color_purple), var(--color_green));
  -webkit-background-clip: text;
  color: transparent;
  font-family: var(--font_roboto);
  letter-spacing: .1em;
}

main.inner section.mv h2.mv_h2 span {
  display: block;
  font-size: min(1.4rem, 14px);
  margin-top: min(1rem, 10px);
  color: var(--color_main);
  font-family: var(--font_sans);
}
main.inner section.mv h2.mv_h2 span.mv_ttl_sm {
    font-size: min(2.2rem, 22px);
    color: transparent;
    font-weight: 700;
    margin-bottom: min(.5rem, 5px);
}
h2.inner_h2 {
  font-size: min(3.2rem, 32px);
  text-align: center;
  padding-bottom: min(3.2rem, 32px);
  position: relative;
}
h2.inner_h2::after {
  position: absolute;
  content: '';
  display: block;
  background-image: url(img/_guidelines/icon_h2_dot.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(4rem, 40px);
  height: min(1rem, 10px);
  left: 0;
  right: 0;
  margin: auto;
  bottom: 0;
}
h2.inner_h2 span{
  font-size: min(2.4rem, 24px);
}
@media (max-width: 799px) {
  main.inner section.mv {
    height: 7rem;
    background-position: center center;
  }
  
  main.inner section.mv::after {
    height: .3rem;
  }
  
  main.inner section.mv div.container {
    padding-top: 0;
    padding-bottom: 0;
    width: 100%;
  }
  
  main.inner section.mv h2.mv_h2 {
    font-size: 2rem;
    letter-spacing: .1em;
  }
  
  main.inner section.mv h2.mv_h2 span {
    font-size: 1.0rem;
    margin-top: 0.4rem;
  }
  main.inner section.mv h2.mv_h2 span.mv_ttl_sm{
	font-size:1.3rem;
	margin-bottom:0.4rem;	
  }
  h2.inner_h2 {
    font-size: 2rem;
    padding-bottom: 1.6rem;
  }
  
  h2.inner_h2::after {
    width: 2rem;
    height: 0.8rem;
  }
  h2.inner_h2 span{
    font-size: 1.4rem;
  }
}

/* ----- index.html teaser ----- */

/* ---- index common ----- */

h2.teaser_h2 {
  font-size: min(2.3rem, 23px);
  font-weight: 700;
  letter-spacing: .14em;
  background: linear-gradient(to right, var(--color_green), var(--color_purple));
  text-align: center;
  -webkit-background-clip: text;
  color: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(2.3rem, 23px);
  margin: 0 auto;
}

h2.teaser_h2::before, 
h2.teaser_h2::after {
  content: '';
  flex: 1;
  height: 1px;
}

h2.teaser_h2::before { 
  background-color: var(--color_purple);
}

h2.teaser_h2::after { 
  background-color: var(--color_green);
}

h2.teaser_h2:not(:first-of-type) { 
  margin-top: min(8rem, 80px);
}

p.teaser_txt {
  font-size: min(1.8rem, 18px);
  font-weight: 400;
  line-height: 1.6;
}

@media (max-width: 799px) {

  h2.teaser_h2 {
    font-size: 1.6rem;
    gap: 1.2rem;
  }
  
  p.teaser_txt {
    font-size: 1.4rem;
    line-height: 1.6;
  }
}

main.index {
  background-image: url(img/_teaser/bg_mv.png);
  background-size: contain;
  background-position: center top;
  background-repeat: no-repeat;
}

@media (max-width: 799px) {
  main.index {
    background-size: 400%;
    background-position: top right;
  }
}

/* ----- mv ----- */

main.index section.mv {
  width: 100%;
  height: min(75rem, 750px);
  position: relative;
}

main.index section.mv div.mv_txt_area {
  position: absolute;
  width: fit-content;
  height: fit-content;
  top: min(6rem, 60px);
  right: 0;
  left: 0;
  margin: auto;
}

main.index section.mv div.mv_txt_area span.mark_brandManagementAward {
  position: absolute;
  top: 0;
  left: 0;
  width: min(15rem, 150px);
  transform: translateX(-80%);
}

main.index section.mv div.mv_txt_area div.mv_txt_main {
  margin: min(4rem, 40px) auto 0;
  width: min(60rem, 600px);
}

main.index section.mv div.mv_txt_area p.mv_txt {
  font-size: min(4.4rem, 44px);
  width: fit-content;
  text-align: center;
  font-weight: 700;
  letter-spacing: .14em;
  font-family: var(--font_serif);
  margin: min(5rem, 50px) auto 0;
}

main.index section.mv div.mv_txt_area p.mv_txt strong {
  color: var(--color_purple);
  font-weight: 900;
}

main.index section.mv div.mv_txt_area p.mv_txt span {
  display: block;
  margin-top: min(1.6rem, 16px);
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  letter-spacing: .14em;
  line-height: 1.6;
}

main.index section.mv div.mv_txt_area p.mv_txt02 {
  font-size: min(2.4rem, 24px);
  width: fit-content;
  font-weight: 700;
  letter-spacing: .14em;
  margin: 0 auto 0;
  color: var(--color_purple);
}

main.index section.mv div.mv_session {
max-width: min(55rem, 550px);
	text-align: center;
	font-weight: 700;
	border-radius: 25px;
	padding: min(3rem, 30px);
	background-color: #fff;
	margin: min(4rem, 40px) auto 0;
	border: 6px solid var(--color_beige);
	    box-shadow: var(--box_shadow);
}
main.index section.mv div.mv_session .mv_session_ttl {
font-size: min(2.5rem, 25px);
color: var(--color_purple);
margin-bottom: min(1.6rem, 16px);
line-height: 1.2;
}
main.index section.mv div.mv_session .mv_session_date {
	font-size: min(2rem, 20px);
	border-top: 1px solid #b1b1b1;
	border-bottom: 1px solid #b1b1b1;
	padding:min(1rem, 10px) 0;
	line-height: 1.8;
}
main.index section.mv div.mv_session span {
font-size: min(1.6rem, 16px);
display: block
}
main.index section.mv div.mv_session a.teaser_link {
margin-top: min(2rem, 20px);
}

main.index section.mv div.mv_txt_area p.mv_txt02 span {
  display: block;
  text-align: center;
  font-size: min(2.8rem, 28px);
  font-weight: 700;
  letter-spacing: .14em;
  margin-bottom: min(2.0rem, 20px);
  color: var(--color_main);
}

a.teaser_link {
  display: block;
  font-size: min(1.8rem, 18px);
  width: fit-content;
  font-family: var(--font_roboto);
  margin: min(6rem, 60px) auto 0;
  padding: min(1.6rem, 16px) min(6rem, 60px) min(1.6rem, 16px) min(2rem, 20px);
  border: min(.15rem, 1.5px) solid var(--color_green);
  color: var(--color_green);
  position: relative;
  transition: all .8s;
  letter-spacing: .14em;
}

a.teaser_link::after {
  position: absolute;
  content: '';
  width: min(5rem, 50px);
  height: 1px;
  background-color: var(--color_green);
  border-radius: 99px;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(25%);
  transition: all .8s;
}

@media (hover: hover) {
  a.teaser_link:hover {
    color: #fff;
    background-color: var(--color_green);
    opacity: 1;
  }
  
  a.teaser_link:hover::after {
    transform: translateX(85%);
  }
}

div.ticket_link {
  margin: min(6rem, 60px) auto 0;
  width: fit-content;
  display: flex;
  gap: min(5rem, 50px);
}

div.ticket_link a.teaser_link02 {
  width: min(34rem, 340px);
  padding: min(2.0rem, 20px) min(6rem, 60px) min(2.0rem, 20px) min(2rem, 20px);
  background-color: var(--color_green);
  border: min(.2rem, 2px) solid var(--color_green);
  color: #fff;
  font-weight: 700;
}

div.ticket_link a.teaser_link02::after {
  width: min(5rem, 50px);
  height: 2px;
  background-color: #fff;
  transform: translateX(2%);
  transition: all .8s;
}

@media (hover: hover) {
  div.ticket_link a.teaser_link02:hover {
    background-color: #fff;
    color: var(--color_green);
    opacity: 1;
  }
  
  div.ticket_link a.teaser_link02:hover::after {
    transform: translateX(85%);
    background-color: var(--color_green);
  }
}

main.index section.mv div.mv_txt_area p.mv_info {
  position: absolute;
  right: 0;
  bottom: 0;
  transform: translate(65%, -50%);
  width: fit-content;
  height: fit-content;
  color: var(--color_purple);
  padding: min(8rem, 80px) min(2.4rem, 24px);
  background-image: url(img/_teaser/bg_date.png);
  background-size: contain ;
  background-repeat: no-repeat;
  background-position: center center;
}

main.index section.mv div.mv_txt_area p.mv_info span.date {
  font-size: min(8rem, 80px);
  font-weight: 700;
  letter-spacing: -.01em;
  font-family: var(--font_roboto);
}

main.index section.mv div.mv_txt_area p.mv_info span.date strong {
  all: unset;
  font-size: min(3.0rem, 30px);
  font-weight: 700;
  letter-spacing: .01em;
  writing-mode: vertical-rl;
}

main.index section.mv div.mv_txt_area p.mv_info span.time,
main.index section.mv div.mv_txt_area p.mv_info span.place {
  font-size: min(2.4rem, 24px);
  display: block;
  text-align: center;
  font-weight: 700;
  letter-spacing: .04em;
  line-height: 1.2;
  font-family: var(--font_sans);
  margin-bottom: min(.8rem, 8px);
}

main.index section.mv div.mv_txt_area p.common_note {
  width: fit-content;
  margin-left: auto;
}

@media (max-width: 799px) {
  main.index section.mv {
    position: relative;
    height: 80.0rem;
  }

  main.index section.mv div.mv_txt_area span.mark_brandManagementAward {
    width: 6rem;
    transform: translate(-20%, -30%);
  }

  main.index section.mv div.mv_txt_area {
    width: 90%;
    top: 4.0rem;
  }
  
  main.index section.mv div.mv_txt_area div.mv_txt_main {
    margin-top: 2.8rem;
    width: 100%;
  }
  
  main.index section.mv div.mv_txt_area p.mv_txt {
    font-size: 3.2rem;
    letter-spacing: .14em;
    margin: 2.4rem auto 0;
    line-height: 1.2;
  }
  
  main.index section.mv div.mv_txt_area p.mv_txt span {
    font-size: 1.6rem;
    letter-spacing: .14em;
    margin-top: 0.8rem;
  }

  main.index section.mv div.mv_txt_area p.mv_txt02 {
    font-size: 1.3rem;
    text-align: center;
    line-height: 1.4;
  }

  main.index section.mv div.mv_txt_area p.mv_txt02 span {
    font-size: 2.2rem;
    letter-spacing: .14em;
    margin-bottom: 1.6rem;
    line-height: 1;
  }

  main.index section.mv div.mv_txt_area p.mv_info {
    position: relative;
    transform: none;
    width: fit-content;
    height: fit-content;
    background-image: none;
    margin: 0 auto;
    padding: 4.8rem 0;
    text-align: center;
  }

  main.index section.mv div.mv_txt_area p.mv_info::after {
    position: absolute;
    display: block;
    content: '';
    width: 100%;
    height: 100%;
    background-image: url(img/_teaser/bg_date.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    top: 0;
    left: 0;
    z-index: -1;
  }

main.index section.mv div.mv_txt_area p.mv_info span.date {
    font-size: 6em;
    font-weight: 700;
    letter-spacing: .04em;
    margin-bottom: 0.4rem;
  }
  
main.index section.mv div.mv_txt_area p.mv_info span.date strong {
    font-size: 2rem;
    letter-spacing: .04em;
    vertical-align: unset;
    writing-mode: unset;
    margin-left: .4rem;
  }
  
main.index section.mv div.mv_txt_area p.mv_info span.time,
main.index section.mv div.mv_txt_area p.mv_info span.place {
    font-size: 2.4rem;
    letter-spacing: .1em;
    line-height: 1.2;
  }
  
main.index section.mv div.mv_txt_area p.mv_info span.time small,
main.index section.mv div.mv_txt_area p.mv_info span.place small {
    font-size: 1.4rem;
  }
		
main.index section.mv div.mv_session {
	padding: 2rem;
	margin: 2rem auto 0;
}
main.index section.mv div.mv_session .mv_session_ttl {
font-size: 2rem;
margin-bottom: 1.6rem;
line-height: 1.5;
}
main.index section.mv div.mv_session .mv_session_date {
	font-size: min(1.8rem, 18px);
	border-top: 1px solid #b1b1b1;
	border-bottom: 1px solid #b1b1b1;
	padding:min(1rem, 10px) 0;
	line-height: 1.8;
}
main.index section.mv div.mv_session span {
font-size: 1.4rem;
display: block
}
main.index section.mv div.mv_session a.teaser_link {
margin-top: min(2rem, 20px);
}

main.index section.mv div.mv_txt_area p.mv_txt02 span {
  display: block;
  text-align: center;
  font-size: min(2.8rem, 28px);
  font-weight: 700;
  letter-spacing: .14em;
  margin-bottom: min(2.0rem, 20px);
  color: var(--color_main);
}


  a.teaser_link {
    font-size: 1.4rem;
    margin: 3.2rem auto 0;
    padding: 1.2rem 4rem 1.2rem 2rem;
    border: .2rem solid var(--color_green);
  }
  
  a.teaser_link::after {
    width: 3.2rem;
    height: .1rem;
  }

  div.ticket_link {
    margin: 4rem auto 0;
    width: 90%;
    flex-direction: column;
    gap: 1.0rem;
  }
  
  div.ticket_link a.teaser_link02 {
    width: 100%;
    padding: 1.4rem 4rem 1.4rem 2rem;
    border: .2rem solid var(--color_green);
    margin: 0;
  }
  
  div.ticket_link a.teaser_link02::after {
    width: 4.8rem;
    height: .2rem;
  }
}

/* ----- news ----- */

main.index section.news {
  background-color: var(--color_beige);
}

main.index section.news div.news_box {
  width: 100%;
  padding: 0;
}

main.index section.news dl.news_dl {
  margin: min(4.8rem, 48px) auto 0;
  padding: min(2rem, 20px) min(2rem, 20px);
  background-color: #fff;
  display: flex;
  flex-direction: column;
}

main.index section.news dl.news_dl a.news_wrap {
  display: flex;
  align-items: center;
  padding: min(2.4rem, 24px) 0;
  border-bottom: min(.1rem, 1px) solid var(--color_gray);
}

main.index section.news dl.news_dl a.news_wrap:last-of-type {
  border-bottom: none;
}

main.index section.news dl.news_dl a.news_wrap dt.news_dt {
  width: min(16rem, 160px);
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  color: var(--color_green);
}

main.index section.news dl.news_dl a.news_wrap dd.news_dd {
  flex: 1;
  font-size: min(1.6rem, 16px);
  font-weight: 400;
}

@media (max-width: 799px) {
  main.index section.news div.news_box {
    padding: 4rem 1.6rem;
  }
  
  main.index section.news dl.news_dl {
    margin: 2.4rem auto 0;
    padding: 2.4rem 1.6rem;
  }
  
  main.index section.news dl.news_dl a.news_wrap {
    flex-direction: column;
    gap: 0.8rem;
    padding: 1.6rem 0;
    border-bottom: .1rem solid var(--color_gray);
  }
  
  main.index section.news dl.news_dl a.news_wrap dt.news_dt {
    width: 100%;
    text-align: left;
    font-size: 1.4rem;
  }
  
  main.index section.news dl.news_dl a.news_wrap dd.news_dd {
    width: 100%;
    font-size: 1.3rem;
    line-height: 1.4;
  }
}

/* ----- section.about ----- */

main.index section.about {
  width: 100%;
  background-image: url(img/bg_index_about.jpg);
  background-size: cover;
  background-position: center center;
}

main.index section.about h2.about_h2 {
  font-size: min(4.8rem, 48px);
  font-weight: 700;
  color: #fff;
}

main.index section.about h2.about_h2 small {
  font-size: min(2.4rem, 24px);
  margin-left: min(0.4rem, 4px);
  vertical-align: bottom;
  line-height: 0.6;
}

main.index section.about h2.about_h2 span {
  display: block;
  margin-top: min(2.4rem, 24px);
  font-size: min(3.2rem, 32px);
  font-weight: 500;
}

main.index section.about p.about_txt {
  margin-top: min(6rem, 60px);
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  line-height: 1.8;
  color: #fff;
}

main.index section.about a.teaser_link {
  border: min(.2rem, 2px) solid var(--color_green);
  color: var(--color_green);
  background-color: #fff;
  font-weight: 700;
}

@media (hover: hover) {
  main.index section.about a.teaser_link:hover {
    color: #fff;
    background-color: var(--color_green);
    opacity: 1;
  }
  
  main.index section.about a.teaser_link:hover::after {
    transform: translateX(85%);
    background-color: #fff;
  }
}

@media (max-width: 799px) {
  main.index section.about {
    background-image: url(img/bg_index_about.jpg);
  }
  
  main.index section.about h2.about_h2 {
    font-size: 3.2rem;
  }
  
  main.index section.about h2.about_h2 small {
    font-size: 1.6rem;
    margin-left: 0.2rem;
    vertical-align: bottom;
    line-height: 0.4;
  }
  
  main.index section.about h2.about_h2 span {
    margin-top: 1rem;
    font-size: 1.8rem;
  }
  
  main.index section.about p.about_txt {
    margin-top: 4rem;
    font-size: 1.4rem;
    line-height: 1.4;
  }
  
  main.index section.about a.teaser_link {
    border: .2rem solid var(--color_green);
    color: var(--color_green);
    background-color: #fff;
    font-weight: 700;
  }
}

/* ----- section.vote ----- */

main.index section.vote {
  width: 100%;
}

main.index section.vote h2.index_h2,
main.index section.vote h2.index_h2 span {
  width: 100%;
}

main.index section.vote h2.index_h2 span small ,
main.inner section.point h2.index_h2 span small {
  display: inline-block;
  color: inherit;
  margin: 0;
  vertical-align: bottom;
  font-size: min(1.0rem, 10px);
  margin-right: min(.8rem, 8px);
}

main.index section.vote h3.vote_subttl {
  margin-top: min(6rem, 60px);
  position: relative;
  text-align: center;
  z-index: 1;
}

main.index section.vote h3.vote_subttl::after {
  position: absolute;
  display: block;
  content: '';
  width: 100%;
  height: min(1px, 1px);
  background-color: var(--color_gray);
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  z-index: -1;
}

main.index section.vote h3.vote_subttl span {
  display: block;
  width: fit-content;
  margin: 0 auto;
  padding: 0 min(1rem, 10px);
  background-color: #fff;
  font-size: min(2rem, 20px);
  font-weight: 500;
}

main.index section.vote .index_h2 .index_h2_subttl{
  display: block;
  margin-top: min(1.8rem, 18px);
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  color: transparent;
}

p.vote_lead {
  margin-top: min(6rem, 60px);
  font-size: min(1.6rem, 16px);
  line-height: 2.0;
}

main.index section.vote h3.common_h3 {
  margin-top: min(6rem, 60px);
}

main.index section.vote h4.common_h4 {
  margin-top: min(4rem, 40px);
}

main.index section.vote p.common_txt {
  margin-top: min(2rem, 20px);
}

main.index section.vote p.vote_note,
main.inner section.point p.vote_note {
  margin-top: min(6rem, 60px);
  font-size: min(1.4rem, 14px);
  line-height: 1;
  padding-left: 1em;
  text-indent: -1em;
}

main.index section.vote p.vote_note + p.vote_note {
  margin-top: min(1.6rem, 16px);
}

section.vote div.award_wrap {
  margin-top: min(8rem, 80px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(4.8rem, 48px) min(2.4rem, 24px);
  justify-content: center;
  justify-items:center;
}
/* 要素が1つのみの場合に中央寄せ */
section.vote div.award_wrap *:only-child{
	grid-column: 2 / span 1;
}
div.award_item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
  box-shadow: var(--box_shadow);
  padding-bottom: min(2.0rem, 20px);
  border-radius: 15px;
}

div.award_item .award_img {
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	height: 0;
	/* [disabled]border-bottom-left-radius: 10px; */
	/* [disabled]border-bottom-right-radius: 10px; */
	border-top-right-radius: 10px;
	border-top-left-radius: 10px;
	padding-bottom: 66%;
}

div.award_item p.award_txt {
  width: 90%;
  margin: min(1rem, 10px) auto 0;
  font-size: min(1.8rem, 18px);
  font-weight: 700;
  line-height: 1.2;
}

div.award_item p.award_txt span {
  display: block;
  width: fit-content;
  padding: min(0.4rem, 4px) min(1.2rem, 12px);
  border: min(0.1rem, 1px) solid var(--color_green);
  color: var(--color_green);
  font-size: min(1.2rem, 12px);
  font-weight: 700;
  margin-bottom: min(1.0rem, 10px);
  border-radius: 99px;
  line-height: 1;
}

div.award_item p.award_txt02 {
  width: 90%;
  margin: 1.0rem auto 0;
  font-size: min(1.6rem, 16px);
  line-height: 1.2;
}

div.award_item p.award_txt02 span {
  display: block;
		font-size: min(1.2rem, 12px);
}

div.award_item p.award_txt02 span.company {
  margin-top: min(0.4rem, 4px);
}

div.award_item p.award_txt02 span.name {
font-size: min(1.6rem, 16px);
margin: min(0.5rem, 5px) 0 min(1rem, 10px) ;
font-weight: 700;
}



div.award_item a.award_item_link {
  display: block;
  margin: min(3.2rem, 32px) auto 0;
  width: min(20rem, 200px);
  padding: min(1rem, 10px) 0;
  border-radius: min(0.4rem, 4px);
  background-color: var(--color_purple);
  color: #fff;
  font-weight: 700;
  font-size: min(1.6rem, 16px);
  text-align: center;
  position: relative;
}

div.award_item a.award_item_link::after {
  position: absolute;
  content: '';
  display: block;
  background-image: url(img/icon_arrow_award_item.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(2rem, 20px);
  height: min(1rem, 10px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(-50%);
}
main.index section.vote .awarded{
	background: linear-gradient(to right, var(--color_purple), var(--color_green));
	-webkit-background-clip: text;
	font-size: min(3.0rem, 30px);
	color: transparent;
	display: flex;
	align-items: center;
	margin-top: min(7.5rem,75px);
	text-align: left;
}
main.index section.vote .awarded span{
	font-size: min(3.0rem, 30px);
	overflow-wrap: anywhere;
}
main.index section.vote .awarded span.jp {
	font-size: min(2.2rem, 22px);
	display: block;
	padding-top: min(1.0rem, 10px);
    color: var(--color_main);
}
main.index section.vote .awarded span.small{
	display:block;
	font-size:min(2.2rem, 22px);
	margin-bottom:min(.5rem, 5px);
}
main.index section.vote .awarded::before{
    content: '';
    width: 133px;
    height: 212px;
    display: block;
    margin-right: 20px;
}

/* 受賞ロゴ */
main.index section.vote .awarded.finalist::before{
	content:none;
}
main.index section.vote .awarded.encouragement_branding::before,
main.index section.vote .awarded.encouragement_intarnal::before{
    background-image: url(img/_award2025/encouragement.png);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
}
main.index section.vote .awarded.award_intarnal::before{
    background-image: url(img/_award2025/intarnal.png);
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
}
main.index section.vote .awarded::after{
  content:none;
}
@media (max-width: 799px) {
  main.index section.vote .index_h2 .index_h2_subttl{
	  font-size:1.4rem;
	  margin-top: 10px;
  }
  main.index section.vote h3.vote_subttl {
	  margin-top: 2.5rem;
  }
  main.index section.vote h3.vote_subttl span{
	  font-size:1.6rem;
	 }
  main.index section.vote h2.index_h2 span small,
  main.inner section.point h2.index_h2 span small {
    font-size: 0.8rem;
    margin-right: 0.2rem
  }
   main.index section.vote .awarded{
	margin-top:5.0rem;
  }
  main.index section.vote .awarded span.small{
	font-size:1.2rem;
  }
  main.index section.vote .awarded span.jp{
	font-size:1.6rem;
	  line-height:1.3;
  }
  main.index section.vote .awarded::before{
	width: 55px;
	height: 120px;
	flex-shrink: 0;
	margin-right: 10px;
	}
  p.vote_lead {
    margin-top: 2.4rem;
    font-size: 1.4rem;
    line-height: 1.6;
  }

  main.index section.vote h3.common_h3 {
    margin-top: 4rem;
  }
  
  main.index section.vote h4.common_h4 {
    margin-top: 2rem;
  }
  
  main.index section.vote p.common_txt {
    margin-top: 1.5rem;
  }
  
  main.index section.vote p.vote_note,
  main.inner section.point p.vote_note {
    margin-top: 2.4rem;
    font-size: 1.2rem;
    line-height: 1.4;
  }
  
  main.index section.vote p.vote_note + p.vote_note {
    margin-top: 0.8rem;
  }
  
  section.vote div.award_wrap {
    margin-top: 4rem;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem .8rem;
  }
  
  div.award_item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 4;
    gap: 0;
    box-shadow: var(--box_shadow);
    padding-bottom: 2rem;
    border-radius: 15px;
    /* width: calc(100% - 7rem); */
    margin-left: auto;
  }
  
  div.award_item p.award_txt {
    width: 90%;
    margin: 1rem auto 0;
    font-size: 1.6rem;
  }
  
  div.award_item p.award_txt span {
    padding: 0.2rem 0.8rem;
    border: .1rem solid var(--color_green);
    font-size: 1.3rem;
    margin-bottom: 0.8rem;
  }
  
  div.award_item p.award_txt02 {
    width: 90%;
    margin: .8rem auto 0;
    font-size: 1.4rem;
    line-height: 1.4;
  }

  div.award_item p.award_txt02 span.company {
    margin-top: 0.4rem;
  }
  
  div.award_item a.award_item_link {
    margin: 2.4rem auto 0;
    width: 60%;
    padding: 1rem 0;
    border-radius: .4rem;
    font-size: 1.4rem;
  }
  
  div.award_item a.award_item_link::after {
    width: 1.6rem;
    height: 0.8rem;
    transform: translateX(-50%);
  }
}


/* ----- judge ----- */

main.index section.judge h3.judge_h3 {
  margin-top: min(6rem, 60px);
  position: relative;
  z-index: 1;
}

main.index section.judge h3.judge_h3::after {
  position: absolute;
  display: block;
  content: '';
  width: 100%;
  height: min(1px, 1px);
  background-color: var(--color_gray);
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  z-index: -1;
}

main.index section.judge h3.judge_h3 span {
  display: block;
  width: fit-content;
  margin: 0 auto;
  padding: 0 min(1rem, 10px);
  background-color: var(--color_beige);
  font-size: min(2rem, 20px);
  font-weight: 500;
}

main.index section.judge div.judge_wrap {
  margin-top: min(6rem, 60px);
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(5.0rem, 50px) min(3.2rem, 32px);
}

main.index section.judge div.judge_wrap.judge_wrap02 {
  display: flex;
  justify-content: center;
  gap: 0;
}

main.index section.judge div.judge_wrap.judge_wrap02 div.judge_item {
  width: calc((100% - min(3.2rem, 32px) * 2) / 3);
}

main.index section.judge div.judge_wrap div.image_area {
  width: min(16rem, 160px);
  margin: 0 auto;
}

main.index section.judge div.judge_wrap p.judge_name {
  margin-top: min(.8rem, 8px);
  font-size: min(2.0rem, 20px);
  font-weight: 500;
  text-align: center;
}

main.index section.judge div.judge_wrap p.judge_name span {
  display: block;
  margin-top: min(.8rem, 8px);
  font-size: min(1.4rem, 14px);
  font-weight: 400;
  text-align: center;
}

main.index section.judge div.judge_wrap p.judge_name02 {
  margin-top: min(2.4rem, 24px);
  font-size: min(1.4rem, 14px);
  line-height: 1.6;
  letter-spacing: -.04em;
  text-align: center;
}

@media (max-width: 799px) {
  main.index section.judge h3.judge_h3 {
    margin-top: 4rem;
  }
  
  main.index section.judge h3.judge_h3::after {
    height: 0.1rem;
  }
  
  main.index section.judge h3.judge_h3 span {
    padding: 0 1rem;
    font-size: 1.4rem;
  }
  
  main.index section.judge div.judge_wrap {
    margin-top: 2.4rem;
    grid-template-columns: repeat(1, 1fr);
    gap: 4rem;
  }
  
  main.index section.judge div.judge_wrap.judge_wrap02 div.judge_item {
    width: 100%;
  }
  
  main.index section.judge div.judge_wrap div.image_area {
    width: 44%;
    margin: 0 auto;
  }
  
  main.index section.judge div.judge_wrap p.judge_name {
    margin-top: 0.8rem;
    font-size: 1.8rem;
  }
  
  main.index section.judge div.judge_wrap p.judge_name span {
    margin-top: 0.8rem;
    font-size: 1.2rem;
  }
  
  main.index section.judge div.judge_wrap p.judge_name02 {
    margin: 1.6rem auto 0;
    width: 90%;
    font-size: 1.3rem;
    line-height: 1.4;
  }
}

/* ----- sponsored ----- */

main.index section.sponsored div.container div.ticket_link {
  margin: 0 auto min(10.0rem, 100px);
}

main.index section.sponsored div.container div.ticket_link a.teaser_link {
  margin-top: 0;
}

main.index section.sponsored {
  width: 100%;
}

main.index section.sponsored div.container div.sponsored {
  margin: min(4.3rem, 43px) auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: min(4rem, 40px);
}

main.index section.sponsored div.container div.sponsored.sponsored02 {
  margin: min(3.2rem, 32px) auto 0;
}

main.index section.sponsored div.container div.sponsored a.sponsored_item {
  display: inline-block;
  width: fit-content;
  height: min(6rem, 60px);
}

main.index section.sponsored div.container div.sponsored a.sponsored_item img {
  width: auto;
  height: 100%;
  margin: 0 auto;
}

main.index section.sponsored div.container div.sponsored a.sponsored_item small {
  display: block;
  width: fit-content;
  margin: 0 auto;
  font-size: min(1.0rem, 10px);
  font-weight: 500;
  text-align: center;
  line-height: 1.2;
}

@media (max-width: 799px) {
  
  main.index section.sponsored {
    margin-top: 0;
  }
  
  main.index section.sponsored div.container div.ticket_link {
    margin: 0 auto 6rem;
  }
  
  main.index section.sponsored div.container div.ticket_link a.teaser_link {
    margin-top: 0;
  }
  
  main.index section.sponsored h2.teaser_h2 {
    margin-top: 6rem;
  }

  main.index section.sponsored div.container div.sponsored {
    margin: 4rem auto 0;
    gap: 3.2rem;
  }
  
  main.index section.sponsored div.container div.sponsored a.sponsored_item {
    height: 4rem;
    width: fit-content;
  }
  
  main.index section.sponsored div.container div.sponsored a.sponsored_item small {
    font-size: 0.8rem;
    /*margin-top: -0.4rem;*/
  }
}

/* ----- guidelines.html ----- */

/* ----- mv ----- */

main.guidelines section.mv {
  position: relative;
}

main.guidelines section.mv div.mv01 {
  width: 100%;
  height: min(14rem, 140px);
  background-image: url(img/_guidelines/bg_mv01.jpg);
  background-size: cover;
  background-position: center center;
  position: relative;
}

main.guidelines section.mv div.mv01 div.mv_ttl_area {
  position: absolute;
  max-width: 1040px;
  height: fit-content;
  padding: 0 min(2rem, 20px);
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

main.guidelines section.mv div.mv01 h2.mv_h2 {
  width: fit-content;
  font-size: min(5rem, 50px);
  font-weight: 600;
  background: linear-gradient(to right, var(--color_purple), var(--color_green));
  -webkit-background-clip: text;
  color: transparent;
  font-family: var(--font_roboto);
  letter-spacing: .1em;
}

main.guidelines section.mv div.mv01 h2.mv_h2 span {
  display: block;
  font-size: min(1.4rem, 14px);
  margin-top: min(1rem, 10px);
  color: var(--color_main);
  font-family: var(--font_sans);
}

main.guidelines section.mv div.mv02 {
  width: 100%;
  background-image: url(img/_guidelines/bg_mv02.png), linear-gradient(to right, var(--color_purple), var(--color_green));
  background-size: cover;
} 

main.guidelines section.mv div.mv02 p.mv_txt {
  display: flex;
  align-items: start;
  gap: min(5rem, 50px);
  position: relative;
  color: #fff;
}

main.guidelines section.mv div.mv02 p.mv_txt::before {
  position: absolute;
  display: block;
  content: '・ About';
  font-size: min(1.4rem, 14px);
  top: 0;
  left: 0;
  transform: translateY(-150%);
}

main.guidelines section.mv div.mv02 p.mv_txt span:first-of-type {
  font-size: min(3.6rem, 36px);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .2em;
  position: relative;
}

main.guidelines section.mv div.mv02 p.mv_txt span:first-of-type::after {
  content: '®';
  font-size: min(2.4rem, 24px);
  position: absolute;
  bottom: -4%;
  right: 44%;
}

main.guidelines section.mv div.mv02 p.mv_txt span:last-of-type {
  font-size: min(1.6rem, 16px);
  line-height: 2.4;
  letter-spacing: .04em;
}

main.guidelines section.mv div.mv02 p.mv_txt span:last-of-type small {
  font-size: min(1.2rem, 12px);
  line-height: 1.6;
  letter-spacing: .1em;
  display: block;
  margin-top: min(2.4rem, 24px);
  width: fit-content;
  margin-left: auto;
  text-align: right;
}

#toTop-target {
  position: absolute;
  top: 50%;
}

@media (max-width: 799px) {
  main.guidelines section.mv div.mv01 {
    height: 7.0rem;
    background-position: center center;
  }
  
  main.guidelines section.mv div.mv01 div.mv_ttl_area {
    max-width: 104.0rem;
    height: fit-content;
    padding: 0 2.0rem;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  
  main.guidelines section.mv div.mv01 h2.mv_h2 {
    font-size: 3.2rem;
    letter-spacing: .1em;
  }
  
  main.guidelines section.mv div.mv01 h2.mv_h2 span {
    font-size: 1.0rem;
    margin-top: .4rem;
  }
  
  main.guidelines section.mv div.mv02 p.mv_txt {
    flex-direction: column;
    gap: 2.0rem;
  }
  
  main.guidelines section.mv div.mv02 p.mv_txt::before {
    font-size: 1.0rem;
    top: 0;
    left: 0%;
    transform: translateY(-150%);
  }
  
  main.guidelines section.mv div.mv02 p.mv_txt span:first-of-type {
    font-size: 2.4rem;
    line-height: 1.4;
    letter-spacing: .2em;
  }

  main.guidelines section.mv div.mv02 p.mv_txt span:first-of-type::after {
    content: '®';
    font-size: 2rem;
    position: absolute;
    bottom: -6%;
    right: 42%;
  }
  
  main.guidelines section.mv div.mv02 p.mv_txt span:last-of-type {
    font-size: 1.3rem;
    line-height: 1.8;
    letter-spacing: .04em;
  }

  main.guidelines section.mv div.mv02 p.mv_txt span:last-of-type small {
    font-size: 1rem;
    line-height: 1.4;
    margin-top: 2rem;
    width: fit-content;
    margin-left: 0;
    text-align: left;
    padding-left: 1em;
    text-indent: -1em;
  }
}

/* ------ cta ----- */

section.cta {
  width: 100%;
  background-color: rgba(176 176 176 / .1);
}

section.cta p.closed {
  font-size: min(2.0rem, 20px);
  line-height: 1.6;
  color: var(--color_purple);
  width: min(80rem, 800px);
  margin: 0 auto;
  text-align: center;
  background-image: url(img/_guidelines/bg_cta.png);
  background-size: 100%;
  background-position: center;
  background-repeat: no-repeat;
  font-weight: 700;
  padding: min(4rem, 40px) 0;
}

section.cta div.link_area {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: min(2.8rem, 28px);
}

section.cta div.link_area a.common_link {
  height: min(10rem, 100px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 min(4rem, 40px);
  border-radius: 99px;
  position: relative;
  font-size: min(2.5rem, 25px);
  font-weight: 500;
  color: #fff;
}

section.cta div.link_area a.common_link:first-of-type {
  background: linear-gradient(to right, rgba(5 134 149 / .64), var(--color_green));
}

section.cta div.link_area a.common_link:last-of-type {
  background: linear-gradient(to right, rgba( 107 37 89/ .64), var(--color_purple));
}

section.cta div.link_area a.common_link::before {
  content: '';
  background-image: url(img/_guidelines/icon_link_sheet.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(3.2rem, 32px);
  height: min(3.2rem, 32px);
}

section.cta div.link_area a.common_link:first-of-type::before {
  background-image: url(img/_guidelines/icon_link_sheet.png);
}

section.cta div.link_area a.common_link:last-of-type::before {
  background-image: url(img/_guidelines/icon_link_entry.png);
}

section.cta div.link_area a.common_link::after {
  content: '';
  background-image: url(img/_guidelines/icon_link_arrow.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(1.2rem, 12px);
  height: min(2rem, 20px);
}

section.cta div.link_area a.common_link span {
  position: absolute;
  max-width: min(41rem, 410px);
  height: auto;
  right: 0;
  left: 0;
  margin: auto;
  padding: min(1rem, 10px) 0;
  top: 0;
  transform: translateY(-70%);
  border-radius: 99px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: min(1.6rem, 16px);
  font-weight: 500;
  background-color: #fff;
  color: var(--color_main);
  text-align: center;
  line-height: 1.3;
}

section.cta div.link_area a.common_link span::after {
  position: absolute;
  display: block;
  content: '';
  background-image: url(img/_guidelines/icon_link_tri.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(1.5rem, 15px);
  height: min(.8rem, 8px);
  right: 0;
  left: 0;
  margin: auto;
  bottom: 0;
  transform: translateY(85%);
}

section.cta div.link_area a.common_link:first-of-type span {
  border: min(.2rem, 2px) solid var(--color_green);
}

section.cta div.link_area a.common_link:last-of-type span {
  border: min(.2rem, 2px) solid var(--color_purple);
}

section.cta div.link_area a.common_link:first-of-type span em {
  all: unset;
  color: var(--color_green);
}

section.cta div.link_area a.common_link:last-of-type span em {
  all: unset;
  color: var(--color_purple);
} 

@media (max-width: 799px) {
  
section.cta div.link_area {
    grid-template-columns: 1fr;
    gap: 4rem;
  }

section.cta p.closed {
    font-size: 1.6rem;
    width: 100%;
    text-align: center;
    background-image: none;
    font-weight: 700;
    padding: 0;
    /*text-align: justify;*/
    position: relative;
  }

section.cta p.closed::before {
    position: absolute;
    content: '';
    display: block;
    background-image: url(img/_guidelines/bg_cta_left.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 10rem;
    height: 5rem;
    top: 0;
    left: 0;
    transform: translate(-10%, -50%);
  }

section.cta p.closed::after {
    position: absolute;
    content: '';
    display: block;
    background-image: url(img/_guidelines/bg_cta_right.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 10rem;
    height: 5rem;
    bottom: 0;
    right: 0;
    transform: translate(10%, 50%);
  }
  
section.cta div.link_area a.common_link {
    width: 100%;
    height: 6rem;
    padding: 0 2rem;
    font-size: 1.4rem;
  }
  
section.cta div.link_area a.common_link::before {
    width: 1.8rem;
    height: 1.8rem;
  }
  
section.cta div.link_area a.common_link::after {
    width: .8rem;
    height: 1.2rem;
  }
  
section.cta div.link_area a.common_link span {
    width: 79%;
    height: auto;
    font-size: 1.1rem;
    padding: 0.5rem 0;
  }
  
section.cta div.link_area a.common_link span::after {
    width: 1rem;
    height: 0.6rem;
  }
  
section.cta div.link_area a.common_link:first-of-type span {
    border: .2rem solid var(--color_green);
  }
  
section.cta div.link_area a.common_link:last-of-type span {
    border: .2rem solid var(--color_purple);
  } 
}

/* ----- merits ----- */

main.guidelines section.merits {
  width: 100%;
  background-color: var(--color_light_green);
}

main.guidelines section.merits div.container {
  padding-bottom: 0;
}

main.guidelines section.merits div.merits_wrap {
  padding: min(10rem, 100px) 0;
}

main.guidelines section.merits div.merits_wrap div.merits_container {
  width: 100%;
  position: relative;
}

main.guidelines section.merits div.merits_wrap div.merits_container + div.merits_container {
  margin-top: min(6rem, 60px);
}

main.guidelines section.merits div.merits_wrap div.merits_container div.white_area {
  width: 64%;
  height: min(30rem, 300px);
  background-color: #fff;
}

main.guidelines section.merits div.merits_wrap div.merits_container:nth-of-type(even) div.white_area {
  margin-left: auto;
}

main.guidelines section.merits div.merits_wrap div.merits_container div.merits_item {
  position: absolute;
  max-width: 1040px;
  padding: 0 min(2rem, 20px);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: flex;
  align-items: center;
  gap: min(2.4rem, 24px);
}

main.guidelines section.merits div.merits_wrap div.merits_container:nth-of-type(even) div.merits_item  {
  flex-direction: row-reverse;
}

main.guidelines section.merits div.merits_wrap div.merits_container div.merits_item .common_txt {
  width: 50%;
}

main.guidelines section.merits div.merits_wrap div.merits_container div.merits_item .common_txt span {
  display: block;
  font-size: min(2.3rem, 23px);
  font-weight: 500;
  margin-bottom: min(5rem, 50px);
}

main.guidelines section.merits div.merits_wrap div.merits_container div.merits_item .common_txt span strong {
  font-size: min(3.2rem, 32px);
  font-weight: 500;
  color: var(--color_green);
  margin-right: min(2rem, 20px);
}

main.guidelines section.merits div.merits_wrap div.merits_container div.merits_item div.image_area {
  flex: 1;
}

@media (max-width: 799px) {
  
  main.guidelines section.merits div.container {
    padding-bottom: 3.0rem;
  }
  
  main.guidelines section.merits div.merits_wrap {
    padding: 4.0rem 0 6rem;
  }
  
  main.guidelines section.merits div.merits_wrap div.merits_container {
    width: 100%;
    position: relative;
  }
  
  main.guidelines section.merits div.merits_wrap div.merits_container + div.merits_container {
    margin-top: 4.0rem;
  }
  
  main.guidelines section.merits div.merits_wrap div.merits_container div.white_area {
    width: 90%;
    height: 48.0rem;
    background-color: #fff;
    margin: 0 auto;
  }
  
  main.guidelines section.merits div.merits_wrap div.merits_container:nth-of-type(even) div.white_area {
    margin: 0 auto;
  }
  
  main.guidelines section.merits div.merits_wrap div.merits_container div.merits_item {
    position: absolute;
    max-width: 104.0rem;
    padding: 4.0rem 2.0rem;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
  }
  
  main.guidelines section.merits div.merits_wrap div.merits_container:nth-of-type(even) div.merits_item  {
    flex-direction: column;
  }
  
  main.guidelines section.merits div.merits_wrap div.merits_container div.merits_item .common_txt {
    width: 95%;
    margin: 0 auto;
  }
  
  main.guidelines section.merits div.merits_wrap div.merits_container div.merits_item .common_txt span {
    display: block;
    font-size: 1.6rem;
    margin-bottom: 2rem;
    text-align: center;
  }
  
  main.guidelines section.merits div.merits_wrap div.merits_container div.merits_item .common_txt span strong {
    display: block;
    font-size: 2.4rem;
    margin-right: auto;
    text-align: center;
  }
  
  main.guidelines section.merits div.merits_wrap div.merits_container div.merits_item div.image_area {
    width: 80%;
    margin: 0 auto;
  }
}

/* ----- apply ----- */

main.guidelines section.apply {
  width: 100%;
}

main.guidelines section.apply p.apply_lead {
  margin-top: min(12rem, 120px);
}

main.guidelines section.apply p.apply_txt {
  margin-top: min(3.2rem, 32px);
}

main.guidelines section.apply ul.apply_ul {
  margin-top: min(2.4rem, 24px);
}

main.guidelines section.apply ul.apply_ul li.apply_li {
  font-size: min(2rem, 20px);
  display: flex;
  gap: min(1.2rem, 12px);
}

main.guidelines section.apply ul.apply_ul li.apply_li::before {
  content: '';
  background-image: url(img/_guidelines/icon_checkmark.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  width: min(2.4rem, 24px);
  height: min(2rem, 20px);
}

main.guidelines section.apply ul.apply_ul li.apply_li + li.apply_li {
  margin-top: min(2rem, 20px);
}

main.guidelines section.apply ul.apply_ul li.apply_li strong {
  color: var(--color_purple);
  font-weight: 500;
}

main.guidelines section.apply dl.apply_dl {
  margin-top: min(4rem, 40px);
}

main.guidelines section.apply dl.apply_dl div.apply_wrap {
  display: flex;
  gap: min(1.2rem, 12px);
  align-items: start;
  padding-bottom: min(1.6rem, 16px);
  border-bottom: 1px dashed var(--color_gray);
}

main.guidelines section.apply dl.apply_dl div.apply_wrap + div.apply_wrap {
  margin-top: min(2.4rem, 24px);
}

main.guidelines section.apply dl.apply_dl div.apply_wrap dt.apply_dt {
  font-size: min(1.6rem, 16px);
  font-weight: 500;
  /*width: fit-content;*/
  width: 20%; /*2025_4_2修正*/
  line-height: 1.6;
}

main.guidelines section.apply dl.apply_dl div.apply_wrap dd.apply_dd {
  flex: 1;
  font-size: min(1.6rem, 16px);
  line-height: 1.6;
}

@media (max-width: 799px) {
  
  main.guidelines section.apply p.apply_lead {
    margin-top: 6.8rem;
  }
  
  main.guidelines section.apply p.apply_txt {
    margin-top: 2.0rem;
  }
  
  main.guidelines section.apply ul.apply_ul {
    margin-top: 1.6rem;
  }
  
  main.guidelines section.apply ul.apply_ul li.apply_li {
    font-size: 1.5rem;
    line-height: 1.4;
    gap: .8rem;
  }
  
  main.guidelines section.apply ul.apply_ul li.apply_li::before {
    margin-top: .4rem;
    width: 1.6rem;
    height: 1.2rem;
  }
  
  main.guidelines section.apply ul.apply_ul li.apply_li + li.apply_li {
    margin-top: 1.2rem;
  }
  
  main.guidelines section.apply dl.apply_dl {
    margin-top: 4.0rem;
  }
  
  main.guidelines section.apply dl.apply_dl div.apply_wrap {
    flex-direction: column;
    gap: 1.2rem;
    align-items: center;
    padding-bottom: 1.2rem;
    border-bottom: .1rem dashed var(--color_gray);
  }
  
  main.guidelines section.apply dl.apply_dl div.apply_wrap + div.apply_wrap {
    margin-top: 3.2rem;
  }
  
  main.guidelines section.apply dl.apply_dl div.apply_wrap dt.apply_dt {
    font-size: 1.3rem;
    font-weight: 500;
    width: 100%;
    line-height: 1;
    text-align: center;
  }
  
  main.guidelines section.apply dl.apply_dl div.apply_wrap dd.apply_dd {
    width: 100%;
    font-size: 1.3rem;
    line-height: 1.6;
  }
}

/* ----- prize ----- */

main.guidelines section.prize {
  width: 100%;
}

main.guidelines section.prize h3.common_h3:first-of-type {
  margin-top: min(12rem, 120px);
}

main.guidelines section.prize p.prize_txt {
  margin-top: min(4.4rem, 44px);
}

main.guidelines section.prize p.prize_txt02 {
  margin: min(5rem, 50px) auto 0;
  width: min(47rem, 470px);
  padding: min(4rem, 40px) 0;
  background-image: url(img/_guidelines/bg_prize.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  text-align: center;
}

main.guidelines section.prize p.prize_txt02 span {
  display: block;
  font-size: min(3rem, 30px);
  margin-bottom: min(1.6rem, 16px);
  font-weight: 700;
  font-family: var(--font_serif);
}

main.guidelines section.prize dl.prize_dl {
  margin-top: min(5rem, 50px);
}

main.guidelines section.prize dl.prize_dl div.prize_wrap {
  padding: min(1.6rem, 16px) 0;
  display: flex;
  gap: min(2.4rem, 24px);
  border-bottom: 1px dashed var(--color_gray);
}

main.guidelines section.prize dl.prize_dl div.prize_wrap dt.prize_dt {
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  line-height: 1.8;
  width: min(24rem, 240px);
  position: relative;
}

main.guidelines section.prize dl.prize_dl div.prize_wrap dt.prize_dt small {
  display: inline-block;
  line-height: 1.2;
  vertical-align: bottom;
}

main.guidelines section.prize dl.prize_dl div.prize_wrap dd.prize_dd {
  font-size: min(1.6rem, 16px);
  line-height: 1.8;
  flex: 1;
}

main.guidelines section.prize dl.flow_dl {
  margin-top: min(5rem, 50px);
  position: relative;
}

main.guidelines section.prize dl.flow_dl:before {
  position: absolute;
  display: block;
  content: '';
  width: 1px;
  height: min(107rem,1070px);
  background-color: var(--color_green);
  left: min(3.75rem, 37.5px);
  top: min(3.75rem, 37.5px);
  z-index: -1;
}

main.guidelines section.prize dl.flow_dl div.flow_wrap {
  display: flex;
  align-items: start;
  gap: min(1.2rem, 12px);
}

main.guidelines section.prize dl.flow_dl div.flow_wrap + div.flow_wrap {
  margin-top: min(3.2rem, 32px);
}

main.guidelines section.prize dl.flow_dl div.flow_wrap dt.flow_dt {
  width: min(7.5rem, 75px);
  height: min(7.5rem, 75px);
}

main.guidelines section.prize dl.flow_dl div.flow_wrap dd.flow_dd {
  flex: 1;
  font-size: min(1.6rem, 16px);
  line-height: 2;
  margin-top: min(.8rem, 8px);
}

main.guidelines section.prize dl.flow_dl div.flow_wrap dd.flow_dd span {
  display: block;
  font-size: min(2.3rem, 23px);
  font-weight: 700;
  margin-bottom: min(.4rem, 4px);
}

main.guidelines section.prize dl.flow_dl div.flow_wrap dd.flow_dd span strong {
  margin-left: min(2rem, 20px);
  padding: min(.6rem, 6px) min(2rem, 20px);
  border-radius: 99px;
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  color: #fff;
  background-color: var(--color_green);
}

main.guidelines section.prize p.standard_txt {
  margin-top: min(2.4rem, 24px);
}

main.guidelines section.prize div.standard_wrap {
  margin-top: min(5rem, 50px);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: min(6.4rem, 64px) min(4.4rem, 44px);
  padding-bottom: min(5rem, 50px);
  border-bottom: 1px dashed var(--color_gray);
}

main.guidelines section.prize div.standard_wrap div.img_area {
  width: 100%;
}

main.guidelines section.prize div.standard_wrap .common_txt {
  margin-top: min(2.4rem, 24px);
}

main.guidelines section.prize p.example_txt {
  margin-top: min(4.4rem, 44px);
}

main.guidelines section.prize div.example_wrap {
  margin-top: min(5rem, 50px);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: min(1.8rem, 18px);
}

main.guidelines section.prize div.example_wrap div.example_item {
  padding: min(4rem, 40px) min(2rem, 20px);
  background-color: var(--color_light_purple);
  border-radius: min(1.5rem, 15px);
}

main.guidelines section.prize div.example_wrap div.example_item div.icon {
  width: min(8.5rem, 85px);
  margin: 0 auto;
}

main.guidelines section.prize div.example_wrap div.example_item p.example_ttl {
  margin-top: min(5rem, 50px);
  text-align: center;
  font-size: min(1.8rem, 18px);
  line-height: 1.6;
  font-weight: 700;
  color: var(--color_purple);
}

main.guidelines section.prize div.example_wrap div.example_item p.example_txt02 {
  margin-top: min(5rem, 50px);
  font-size: min(1.8rem, 18px);
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: min(2rem, 20px);
  width: 100%;
  text-align: center;
  color: var(--color_purple);
}

main.guidelines section.prize div.example_wrap div.example_item p.example_txt02::before, 
main.guidelines section.prize div.example_wrap div.example_item p.example_txt02::after {
  content: '';
  flex: 1;
  height: 1px;
  background-color: var(--color_purple);
}

main.guidelines section.prize div.example_wrap div.example_item p.example_txt03 {
  margin-top: min(2.4rem, 24px);
  font-size: min(1.6rem, 16px);
  line-height: 1.8;
  padding-left: 1em;
  text-indent: -.5em;
  text-align: left;
}

main.guidelines section.prize div.example_wrap div.example_item p.example_txt03 + p.example_txt03 {
  margin-top: min(.8rem, 8px);
}

main.guidelines section.prize div.example_wrap div.example_item p.example_txt03 span {
  color: var(--color_purple);
  font-weight: 700;
  display: inline;
}

main.guidelines section.prize p.attention_txt {
  margin-top: min(3.2rem, 32px);
  margin-left: 1em;
  text-indent: -.5em;
  line-height: 2;
}

main.guidelines section.prize p.attention_txt + p.attention_txt {
  margin-top: min(.8rem, 8px);
}

main.guidelines section.judges div.pdfDownload_area {
  margin-top: min(8rem, 80px);
}

main.guidelines section.judges div.pdfDownload_area p.pdfDownload_txt {
  font-size: min(1.6rem, 16px);
  font-weight: 500;
}

main.guidelines section.judges div.pdfDownload_area p.pdfDownload_txt strong {
  display: block;
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  color: var(--color_purple);
  margin-bottom: min(.8rem, 8px);
  padding: min(.2rem, 2px) 0 min(.2rem, 2px) min(.8rem, 8px);
  border-left: min(.4rem, 4px) solid var(--color_purple);
}

main.guidelines section.judges div.pdfDownload_area a.pdfDownload_btn {
  display: block;
  margin-top: min(2.4rem, 24px);
  width: min(40rem, 400px);
  height: min(8rem, 80px);
  border-radius: min(1.2rem, 12px);
  font-size: min(1.8rem, 18px);
  font-weight: 700;
  color: #fff;
  background: linear-gradient(to bottom, #b6b6b6, #404040);
  border: min(0.4rem, 4px) solid #fff;
  box-shadow: 0 0 0 min(.2rem, 2px) #404040;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(1.6rem, 16px);
}

main.guidelines section.judges div.pdfDownload_area a.pdfDownload_btn::before {
  content: "";
  background-image: url(img/_guidelines/icon_download.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  width: min(4.0rem, 40px);
  height: min(5.6rem, 56px);
}

@media (max-width: 799px) {
  
  main.guidelines section.prize h3.common_h3:first-of-type {
    margin-top: 8.0rem;
  }
  
  main.guidelines section.prize p.prize_txt {
    margin-top: 3.2rem;
  }
  
  main.guidelines section.prize p.prize_txt02 {
    margin: 3.2rem auto 0;
    width: 100%;
    padding: 2.4rem 2.0rem;
    font-size: 1.3rem;
  }
  
  main.guidelines section.prize p.prize_txt02 span {
    display: block;
    font-size: 2.0rem;
    margin-bottom: 1.9rem;
  }
  
  main.guidelines section.prize dl.prize_dl {
    margin-top: 3.2rem;
  }
  
  main.guidelines section.prize dl.prize_dl div.prize_wrap {
    padding: 1.6rem 0;
    flex-direction: column;
    gap: 1.2rem;
    border-bottom: .1rem dashed var(--color_gray);
  }
  
  main.guidelines section.prize dl.prize_dl div.prize_wrap + div.prize_wrap {
    margin-top: 4.0rem;
  }
  
  main.guidelines section.prize dl.prize_dl div.prize_wrap dt.prize_dt {
    font-size: 1.6rem;
    text-align: center;
    width: 100%;
  }

  main.guidelines section.prize dl.prize_dl div.prize_wrap dt.prize_dt small {
    font-size: 1.6rem;
    right: 30%;
    bottom: -12%;
  }
  
  main.guidelines section.prize dl.prize_dl div.prize_wrap dd.prize_dd {
    font-size: 1.4rem;
  }
  
  main.guidelines section.prize dl.flow_dl {
    margin-top: 3.2rem;
  }
  
  main.guidelines section.prize dl.flow_dl::before {
    content: none;
  }
  
  main.guidelines section.prize dl.flow_dl div.flow_wrap {
    flex-direction: column;
    gap: 0.8rem;
  }
  
  main.guidelines section.prize dl.flow_dl div.flow_wrap + div.flow_wrap {
    margin-top: 3.2rem;
  }
  
  main.guidelines section.prize dl.flow_dl div.flow_wrap dt.flow_dt {
    width: 30%;
    height: fit-content;
    margin: 0 auto;
  }
  
  main.guidelines section.prize dl.flow_dl div.flow_wrap dd.flow_dd {
    width: 100%;
    font-size: 1.3rem;
    line-height: 1.6;
    margin-top: 0;
  }
  
  main.guidelines section.prize dl.flow_dl div.flow_wrap dd.flow_dd span {
    display: block;
    font-size: 1.8rem;
    margin-bottom: 1.6rem;
    text-align: center;
  }
  
  main.guidelines section.prize dl.flow_dl div.flow_wrap dd.flow_dd span strong {
    display: block;
    margin-left: 0;
    width: 100%;
    padding: .6rem 0;
    font-size: 1.2rem;
    text-align: center;
    margin: .8rem 0;
  }
  
  main.guidelines section.prize p.standard_txt {
    margin-top: 2.0rem;
  }
  
  main.guidelines section.prize div.standard_wrap {
    margin-top: 3.2rem;
    grid-template-columns: 1fr 1fr;
    gap: 3.2rem 2.0rem;
    padding-bottom: 5.0rem;
    border-bottom: .1rem dashed var(--color_gray);
  }
  
  main.guidelines section.prize div.standard_wrap div.img_area {
    width: 100%;
  }
  
  main.guidelines section.prize div.standard_wrap .common_txt {
    margin-top: 1.6rem;
  }
  
  main.guidelines section.prize p.example_txt {
    margin-top: 2.4rem;
  }
  
  main.guidelines section.prize div.example_wrap {
    margin-top: 3.2rem;
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
  
  main.guidelines section.prize div.example_wrap div.example_item {
    padding: 4.0rem 2.0rem;
    border-radius: 1.5rem;
  }
  
  main.guidelines section.prize div.example_wrap div.example_item div.icon {
    width: 30%;
    margin: 0 auto;
  }
  
  main.guidelines section.prize div.example_wrap div.example_item p.example_ttl {
    margin-top: 3.2rem;
    font-size: 1.6rem;
  }
  
  main.guidelines section.prize div.example_wrap div.example_item p.example_txt02 {
    margin-top: 3.2rem;
    font-size: 1.6rem;
    gap: 1.6rem;
  }
  
  main.guidelines section.prize div.example_wrap div.example_item p.example_txt02::before, 
  main.guidelines section.prize div.example_wrap div.example_item p.example_txt02::after {
    height: .1rem;
  }
  
  main.guidelines section.prize div.example_wrap div.example_item p.example_txt03 {
    margin-top: 1.6rem;
    font-size: 1.4rem;
    line-height: 1.5;
  }
  
  main.guidelines section.prize div.example_wrap div.example_item p.example_txt03 + p.example_txt03 {
    margin-top: .8rem;
  }
  
  main.guidelines section.prize p.attention_txt {
    margin-top: 2.4rem;
    margin-left: 1em;
    text-indent: -.5em;
    line-height: 1.6;
  }
  
  main.guidelines section.prize p.attention_txt + p.attention_txt {
    margin-top: 1.2rem;
  }
		
  main.guidelines section.judges div.pdfDownload_area {
    margin-top: 4rem;
  }
  
  main.guidelines section.judges div.pdfDownload_area p.pdfDownload_txt {
    font-size: 1.4rem;
  }
  
  main.guidelines section.judges div.pdfDownload_area p.pdfDownload_txt strong {
    font-size: 1.8rem;
    margin-bottom: .8rem;
    padding: .2rem 0 .2rem .8rem;
    border-left: .4rem solid var(--color_purple);
  }
  
  main.guidelines section.judges div.pdfDownload_area a.pdfDownload_btn {
    margin-top: 2rem;
    width: 100%;
    height: 6rem;
    border-radius: .8rem;
    font-size: 1.6rem;
    border: .4rem solid #fff;
    box-shadow: 0 0 0 .2rem #404040;
    gap: 1.2rem;
  }
  
  main.guidelines section.judges div.pdfDownload_area a.pdfDownload_btn::before {
    width: 3.2rem;
    height: 4.8rem;
  }
		
}

/* ----- section.judges ----- */

main.guidelines section.judges h3.common_h3 {
  margin-top: 0;
}

main.guidelines section.judges div.judges_wrap {
  margin-top: min(6rem, 60px);
  display: grid;
  grid-template-columns: 2fr 2fr;
  gap: min(2rem, 20px);
}

main.guidelines section.judges div.judges_wrap div.judges_item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
  padding: min(3rem, 30px) min(2rem, 20px);
  background-color: var(--color_beige);
}

main.guidelines section.judges div.judges_wrap div.judges_item div.name_area {
  display: flex;
  align-items: start;
  gap: min(2rem, 20px);
}

main.guidelines section.judges div.judges_wrap div.judges_item div.name_area div.img_area {
  width: min(16rem, 160px);
}

main.guidelines section.judges div.judges_wrap div.judges_item div.name_area p.name {
  flex: 1;
  font-size: min(2rem, 20px);
  font-weight: 500;
  color: var(--color_purple);
  text-align: left;
}

main.guidelines section.judges div.judges_wrap div.judges_item div.name_area p.name span {
  display: block;
  font-size: min(1.4rem, 14px);
  margin-top: min(.4rem, 4px);
  color: var(--color_main);
  font-weight: 400;
  line-height: 1.2;
}

main.guidelines section.judges div.judges_wrap div.judges_item p.judges_txt {
  margin-top: min(2.4rem, 24px);
  padding-top: min(2.4rem, 24px);
  border-top: min(.1rem, 1px) solid var(--color_gray);
  font-size: min(1.4rem, 14px);
  line-height: 1.6;
}

@media (max-width: 799px) {
  main.guidelines section.judges div.judges_wrap {
    margin-top: 4rem;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  
  main.guidelines section.judges div.judges_wrap div.judges_item {
    padding: 4rem 2rem;
  }
  
  main.guidelines section.judges div.judges_wrap div.judges_item div.name_area {
    flex-direction: column;
    gap: 1rem;
  }
  
  main.guidelines section.judges div.judges_wrap div.judges_item div.name_area div.img_area {
    width: 50%;
    margin: 0 auto;
  }
  
  main.guidelines section.judges div.judges_wrap div.judges_item div.name_area p.name {
    width: 100%;
    font-size: 1.6rem;
  }
  
  main.guidelines section.judges div.judges_wrap div.judges_item div.name_area p.name span {
    display: block;
    font-size: 1.3rem;
    margin-top: 0.8rem;
  }
  
  main.guidelines section.judges div.judges_wrap div.judges_item p.judges_txt {
    margin-top: 1.6rem;
    padding-top: 1.6rem;
    border-top: .1rem solid var(--color_gray);
    font-size: 1.4rem;
    line-height: 1.4;
  }
}

/* ----- toTop ----- */

a.toTop {
  width: min(6rem, 60px);
  height: min(6rem, 60px);
  background: linear-gradient(to right, var(--color_green), var(--color_purple));
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  right: 2%;
  bottom: 3%;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%);
  transition: all .8s;
  z-index: 99;
}

a.toTop.appear {
  opacity: 1;
  pointer-events: auto;
  transform: none;
}

a.toTop img {
  width: 50%;
}

@media (max-width: 799px) {
  a.toTop {
    width: 4rem;
    height: 4rem;
    right: 2%;
    bottom: 3%;
  }
}

/* ----- event.html -----*/


/* ----- section.info ----- */

main.event section.info .info_dl {
  width: 90%;
  margin: min(8rem, 80px) auto 0;
  display: flex;
  flex-direction: column;
  gap: min(4rem, 40px);
}

main.event section.info .info_dl  h3.info_h3 {
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  width: 100%;
  padding: min(2.0rem, 24px) 0;
  border-bottom: min(.1rem, 1px) solid #b67ca7;
  color: #b67ca7;
  text-align: center;
  margin-bottom: min(2.4rem, 24px);
}

main.event section.info .info_dl div.info_wrap {
  display: flex;
  align-items: start;
  padding-bottom: 40px;
  border-bottom: .5px solid var(--color_gray);
}

main.event section.info .info_dl div.info_wrap dt.info_dt {
  font-size: min(1.8rem, 18px);
  font-weight: 500;
  width: min(20rem, 200px);
}

main.event section.info .info_dl div.info_wrap dd.info_dd {
  flex: 1;
  font-size: min(2.0rem, 20px);
  font-weight: 700;
}

main.event section.info .info_dl div.info_wrap dd.info_dd a {
  text-decoration: underline;
}

main.event section.info .info_dl div.info_wrap dd.info_dd span {
  display: inline-block;
  font-size: min(1.4rem, 14px);
  font-weight: 500;
  line-height: 1.4;
  margin-top: min(1.2rem, 12px);
  margin-left: 15px;
}

main.event section.info .info_dl div.info_wrap dd.info_dd div.google_map {
  margin-top: min(2.4rem, 24px);
  position: relative;
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

main.event section.info .info_dl div.info_wrap dd.info_dd div.google_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

main.event section.info .info_dl div.info_wrap dd.info_dd table.info_table {
  width: 85%;
}

main.event section.info .info_dl div.info_wrap dd.info_dd table.info_table tr {
  border-bottom: 1px solid var(--color_light_gray);
  border-right: 1px solid var(--color_light_gray);
  border-right: 1px solid var(--color_light_gray);
}

main.event section.info .info_dl div.info_wrap dd.info_dd table.info_table tr.info_tr01 th:first-child {
  background-color: transparent;
}

main.event section.info .info_dl div.info_wrap dd.info_dd table.info_table tr {
  border-bottom: 1px solid var(--color_gray);
  border-right: 1px solid var(--color_gray);
}

main.event section.info .info_dl div.info_wrap dd.info_dd table.info_table th {
  width: 40%;
  background-color: var(--color_light_green);
  color: var(--color_green);
  font-size: min(1.4rem, 14px);
  font-weight: 700;
  padding: min(2.0rem, 20px) 0;
}

main.event section.info .info_dl div.info_wrap dd.info_dd table.info_table td {
  width: 60%;
  font-size: min(1.4rem, 14px);
  font-weight: 700;
  padding: min(2.0rem, 20px) 0;
  text-align: center;
}

main.event section.info .info_dl div.info_wrap dd.info_dd table.info_table td a {
  font-size: min(1.2rem, 12px);
  font-weight: 700;
  color: #fff;
  display: inline-block;
  margin-left: min(1.2rem, 12px);
  background-color: var(--color_purple);
  padding: min(1.0rem, 10px);
  text-decoration: none;
  border-radius: min(.5rem, 5px);
}
  main.event section.info .info_dl div.info_wrap dd.info_dd table.info_table td a:hover {
    opacity: .6;
  }
main.event section.info .info_dl div.info_wrap dd.info_dd p.info_note {
  font-size: min(1.4rem, 14px);
  font-weight: 400;
  margin-top: min(0.8rem, 8px);
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.4;
}

main.event section.info .info_dl div.info_wrap dd.info_dd a.teaser_link {
  text-decoration: none;
  margin-top: min(4rem, 40px);
}

main.event section.info p.info_note02 {
  font-size: min(1.4rem, 14px);
  font-weight: 400;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.6;
}

@media (max-width: 799px) {
  main.event section.info .info_dl {
    width: 100%;
    margin: 4rem auto 0;
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }

  main.event section.info .info_dl  h3.info_h3 {
    font-size: 1.8rem;
    padding: 1.2rem 0;
    margin-bottom: 1.2rem;
  }
  
  main.event section.info .info_dl div.info_wrap {
    flex-direction: column;
    align-items: start;
    padding-bottom: 2rem;
    border-bottom: .05rem solid var(--color_gray);
    gap: .8rem;
  }
  
  main.event section.info .info_dl div.info_wrap dt.info_dt {
    font-size: 1.3rem;
    width: 100%;
    text-align: center;
  }
  
  main.event section.info .info_dl div.info_wrap dd.info_dd {
    width: 100%;
    font-size: 1.6rem;
    text-align: center;
  }

  main.event section.info .info_dl div.info_wrap dd.info_dd table.info_table td a {
    font-size: 1rem;
    margin-left: 0.8rem;
    padding: 0.8rem;
  }

  main.event section.info .info_dl div.info_wrap dd.info_dd span {
    font-size: 1.2rem;
    margin-top: 0.8rem;
  }

  main.event section.info .info_dl div.info_wrap dd.info_dd div.google_map {
    margin-top: 2rem;
    padding-bottom: 100%;
  }
  
  main.event section.info .info_dl div.info_wrap dd.info_dd table.info_table {
    width: 100%;
    margin-top: .8rem;
  }

  main.event section.info .info_dl div.info_wrap dd.info_dd table.info_table th {
    font-size: 1.0rem;
    padding: 1.2rem 0;
    line-height: 1.2;
  }
  
  main.event section.info .info_dl div.info_wrap dd.info_dd table.info_table td {
    font-size: 1.0rem;
    padding: 1.2rem 0;
  }
  
  main.event section.info .info_dl div.info_wrap dd.info_dd p.info_note {
    font-size: 1.2rem;
    line-height: 1.4;
  }

  main.event section.info .info_dl div.info_wrap dd.info_dd a.teaser_link {
    margin-top: 2.4rem;
    line-height: 1.4;
    /*text-align: justify;*/
  }

  main.event section.info p.info_note02 {
    font-size: 1.2rem;
    width: 100%;
    margin: 0.4rem auto 0;
    line-height: 1.4;
  }
  
  main.event section.info p.info_note02:first-of-type {
    margin-top: 1.2rem;
  }
}

/* ----- program_nav ----- */

main.event section.program_nav {
  background-color: var(--color_beige);
}

main.event section.program_nav div.container {
  padding-bottom: min(15rem, 150px);
}

main.event section.program_nav nav.program_nav {
  margin-top: min(6rem, 60px);
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  justify-content: center;
  align-items: flex-start;
  border-left: 1px solid var(--color_gray);
  position: relative;
}

main.event section.program_nav nav.program_nav a.program_item {
  border-right: 1px solid var(--color_gray);
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  padding: min(1.2rem, 12px) 0 min(5rem, 50px);
  margin-left: -1px;
  font-size: min(1.8rem, 18px);
  font-weight: 700;
  text-align: center;
  transition: all .8s;
  background-color: transparent;
  position: relative;
}

main.event section.program_nav nav.program_nav a.program_item::after {
  position: absolute;
  display: block;
  content: '';
  background-image: url(img/icon_arrow_down.png);
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  width: min(3.6rem, 36px);
  height: min(1.8rem, 18px);
  left: 0;
  right: 0;
  margin: auto;
  bottom: 0;
  transform: translateY(-70%);
}

/* main.event section.program_nav nav.program_nav a.program_item:nth-of-type(2) {
  pointer-events: none;
  padding: min(1.2rem, 12px) 0 0;
}

main.event section.program_nav nav.program_nav a.program_item:nth-of-type(2)::after {
  content:none;
} */

main.event section.program_nav nav.program_nav a.teaser_link {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 0;
  transform: translateY(120%);
}

@media (hover: hover) {
  main.event section.program_nav nav.program_nav a.program_item:hover {
    background-color: #eee;
    opacity: 1;
  }
}

main.event section.program_nav nav.program_nav a.program_item span {
  font-family: var(--font_roboto);
  color: var(--color_green);
  font-size: min(4.0rem, 40px);
  margin-bottom: min(2.2rem, 22px);
}

main.event section.program_nav nav.program_nav a.program_item strong {
  font-size: min(1.4rem, 14px);
  margin-bottom: min(8px, 8px);
}

main.event section.program_nav nav.program_nav a.program_item small {
  font-size: min(1.2rem, 12px);
  margin-top: min(8px, 8px);
}

@media (max-width: 799px) {
  main.event section.program_nav div.container {
    padding: 4rem 0 8rem;
  }

  main.event section.program_nav nav.program_nav {
    margin-top: 3.2rem;
    border-left:none;
  }

  main.event section.program_nav nav.program_nav a.program_item {
    padding: 1.2rem 0.4rem 5rem;
    font-size: 1.3rem;
  }

  main.event section.program_nav nav.program_nav a.program_item:last-child {
    border-right:none;
  }
  
  main.event section.program_nav nav.program_nav a.program_item::after {
    width: 1.8rem;
    height: .9rem;
    transform: translateY(-230%);
  }
  
  main.event section.program_nav nav.program_nav a.program_item:nth-of-type(2) {
    padding: 1.2rem 0.4rem 5rem;
  }

  /* main.event section.program_nav nav.program_nav a.program_item:nth-of-type(2)::after {
    content: none;
    content: 'COMING SOON';
    font-size: 1.2rem;
    font-weight: 700;
    color: var(--color_middle_green);
    font-family: var(--font_roboto);
    background-image: none;
    width: fit-content;
    height: fit-content;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 0;
    transform: translateY(-150%);
  } */
  
  main.event section.program_nav nav.program_nav a.program_item span {
    font-size: 2.0rem;
    margin-bottom: 1.4rem;
  }
  
  main.event section.program_nav nav.program_nav a.program_item strong {
    font-size: 1.0rem;
    margin-bottom: .4rem;
  }
  
  main.event section.program_nav nav.program_nav a.program_item small {
    font-size: 1.0rem;
    margin-top: .4rem;
  }

  main.event section.program_nav nav.program_nav a.teaser_link {
    transform: translateY(120%);
  }
}

/* ----- timeschedule ----- */

main.event section.timeschedule dl.timeschedule_dl {
  margin-top: min(6rem, 60px);
  padding: min(6rem, 60px) min(2rem, 20px);
  border: min(4rem, 40px) solid var(--color_light_green);
  display: flex;
  flex-direction: column;
  gap: 0;
}

main.event section.timeschedule dl.timeschedule_dl div.timeschedule_wrap  {
  display: flex;
  align-items: start;
  padding:  min(2.4rem, 24px) min(2rem, 20px);
  border-bottom: 1px dashed var(--color_gray);
}

main.event section.timeschedule dl.timeschedule_dl div.timeschedule_wrap.bg {
  background-color: var(--color_light_gray);
}

main.event section.timeschedule dl.timeschedule_dl div.timeschedule_wrap.bg dd.timeschedule_dd {
  text-align: center;
}

main.event section.timeschedule dl.timeschedule_dl div.timeschedule_wrap dt.timeschedule_dt {
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  color: var(--color_green);
  width: min(16rem, 160px);
}

main.event section.timeschedule dl.timeschedule_dl div.timeschedule_wrap dd.timeschedule_dd {
  flex: 1;
  font-size: min(2rem, 20px);
  font-weight: 700;
}

main.event section.timeschedule dl.timeschedule_dl div.timeschedule_wrap dd.timeschedule_dd span {
  display: block;
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  margin-top: min(1.6rem, 16px);
  line-height: 1.2;
}

main.event section.timeschedule dl.timeschedule_dl div.timeschedule_wrap dd.timeschedule_dd small {
  font-size: min(1.6rem, 16px);
  font-weight: 400;
}

@media (max-width: 799px) {
  main.event section.timeschedule div.container {
    padding-right: 0;
    padding-left: 0;
  }

  main.event section.timeschedule dl.timeschedule_dl {
    margin-top: 4rem;
    padding: 2rem 1.6rem 4rem;
    border: 1.6rem solid var(--color_light_green);
    gap: 0;
  }
  
  main.event section.timeschedule dl.timeschedule_dl div.timeschedule_wrap  {
    flex-direction: column;
    align-items: start;
    padding: 2rem .8rem;
    border-bottom: min(.1rem, 1px) dashed var(--color_gray);
    gap: .8rem;
  }
  
  main.event section.timeschedule dl.timeschedule_dl div.timeschedule_wrap.bg dd.timeschedule_dd {
    text-align: left;
  }
  
  main.event section.timeschedule dl.timeschedule_dl div.timeschedule_wrap dt.timeschedule_dt {
    font-size: 1.4rem;
    width: 100%;
    line-height: 1.2;
  }
  
  main.event section.timeschedule dl.timeschedule_dl div.timeschedule_wrap dd.timeschedule_dd {
    width: 100%;
    font-size: 1.8rem;
    line-height: 1.2;
  }
  
  main.event section.timeschedule dl.timeschedule_dl div.timeschedule_wrap dd.timeschedule_dd span {
    font-size: 1.4rem;
    margin-top: 0.8rem;
  }
  
  main.event section.timeschedule dl.timeschedule_dl div.timeschedule_wrap dd.timeschedule_dd small {
    font-size: 1.4rem;
  }
  
  main.event section.timeschedule p.common_note {
    width: 90%;
    margin: 2rem auto 0;
  }
}

/* ----- feature ----- */

main.event section.feature {
  background-color: var(--color_beige);
}

main.event section.feature p.judgement_lead {
  margin-top: min(4rem, 40px);
  font-size: min(1.6rem, 16px);
  font-weight: 500;
  text-align: center;
  line-height: 2.4;
}

main.event section.feature div.feature_wrap {
  margin-top: min(6rem, 60px);
}

main.event section.feature div.feature_wrap div.feature_item {
  display: flex;
  align-items: start;
  gap: min(6rem, 60px);
}

main.event section.feature div.feature_wrap div.feature_item:nth-of-type(even) {
  flex-direction: row-reverse;
}

main.event section.feature div.feature_wrap div.feature_item + div.feature_item {
  margin-top: min(6rem, 60px);
}

main.event section.feature div.feature_wrap div.feature_item div.txt_area {
  flex: 1;
  padding-top: min(4.4rem, 44px);
}

main.event section.feature div.feature_wrap div.feature_item div.txt_area h3.feature_h3 {
  font-size: min(3.0rem, 30px);
  padding: min(.8rem, 8px) min(2.4rem, 24px);
  width: fit-content;
  background: linear-gradient(to right, var(--color_purple), var(--color_green));
  color: #fff;
  font-weight: 600;
  position: relative;
}

main.event section.feature div.feature_wrap div.feature_item div.txt_area h3.feature_h3 span {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  width: min(37rem, 370px);
  height: min(12.5rem, 125px);
  z-index: -1;
}

main.event section.feature div.feature_wrap div.feature_item div.txt_area .common_txt {
  margin-top: min(6rem, 60px);
}

main.event section.feature div.feature_wrap div.feature_item div.image_area {
  width: min(50rem, 500px);
}

@media (max-width: 799px) {
  main.event section.feature p.judgement_lead {
    margin-top: 4.0rem;
    font-size: 1.4rem;
    line-height: 2.0;
    text-align: left;
  }
	
  main.event section.feature div.feature_wrap {
    margin-top: 4.0rem;
  }
  
  main.event section.feature div.feature_wrap div.feature_item {
    flex-direction: column;
    gap: 2rem;
  }
  
  main.event section.feature div.feature_wrap div.feature_item:nth-of-type(even) {
    flex-direction: column;
  }
  
  main.event section.feature div.feature_wrap div.feature_item + div.feature_item {
    margin-top: 4.0rem;
  }
  
  main.event section.feature div.feature_wrap div.feature_item div.txt_area {
   width: 100%; 
   padding-top: 2.0rem;
  }
  
  main.event section.feature div.feature_wrap div.feature_item div.txt_area h3.feature_h3 {
    font-size: 2.0rem;
    padding: .4rem 1.2rem;
  }
  
  main.event section.feature div.feature_wrap div.feature_item div.txt_area h3.feature_h3 span {
    width: 20.0rem;
    height: 6.5rem;
  }
  
  main.event section.feature div.feature_wrap div.feature_item div.txt_area .common_txt {
    margin-top: 3.0rem;
  }
  
  main.event section.feature div.feature_wrap div.feature_item div.image_area {
    width: 100%;
  }
}

/* ----- program01 ----- */

main.event section.program01 div.speech_wrap {
  margin-top: min(6rem, 60px);
  display: flex;
  gap: min(7rem, 70px);
}

main.event section.program01 div.speech_wrap div.image_area {
  width: min(38rem, 380px);
}

main.event section.program01 div.speech_wrap div.txt_area {
  flex: 1;
  margin-top: min(3rem, 30px);
}

main.event section.program01 div.speech_wrap div.txt_area p.speech_name {
  font-size: min(2rem, 20px);
  font-weight: 700;
  color: var(--color_purple);
}

main.event section.program01 div.speech_wrap div.txt_area p.speech_name span {
  display: block;
  font-size: min(1.2rem, 12px);
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: min(.8rem, 8px);
  color: var(--color_main);
}

main.event section.program01 div.speech_wrap div.txt_area p.speech_ttl {
  margin-top: min(2.4rem, 24px);
  font-size: min(3rem, 30px);
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
  letter-spacing: .14em;
}

main.event section.program01 div.speech_wrap div.txt_area p.speech_ttl span {
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: .1em;
  margin-top: min(2.4rem, 24px);
  /*text-align: justify;*/
}

main.event section.program01 p.common_note {
  margin-top: min(6rem, 60px);
  padding-left: 0;
  text-align: 0;
}

main.event section.program01 p.common_note span {
  padding-left: 0;
  text-indent: 0;
  display: block;
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  color: var(--color_green);
  margin-bottom: min(.8rem, 8px);
}

/* //////////////////////// */

main.event section.prize h2.inner_h2 {
  margin-top: min(8rem, 80px);
}

main.event section.prize h3.common_h3:first-of-type {
  margin-top: min(6rem, 60px);
}

main.event section.prize p.prize_txt {
  margin-top: min(4.4rem, 44px);
}

main.event section.prize p.prize_txt02 {
  margin: min(5rem, 50px) auto 0;
  width: min(47rem, 470px);
  padding: min(4rem, 40px) 0;
  background-image: url(img/_guidelines/bg_prize.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  text-align: center;
}

main.event section.prize p.prize_txt02 span {
  display: block;
  font-size: min(3rem, 30px);
  margin-bottom: min(1.6rem, 16px);
  font-weight: 700;
  font-family: var(--font_serif);
}

main.event section.prize dl.prize_dl {
  margin-top: min(5rem, 50px);
}

main.event section.prize dl.prize_dl div.prize_wrap {
  padding: min(1.6rem, 16px) 0;
  display: flex;
  gap: min(2.4rem, 24px);
  border-bottom: 1px dashed var(--color_gray);
}

main.event section.prize dl.prize_dl div.prize_wrap dt.prize_dt {
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  line-height: 1.8;
  width: min(24rem, 240px);
  position: relative;
}

main.event section.prize dl.prize_dl div.prize_wrap dt.prize_dt small {
  display: inline-block;
  line-height: 1.2;
  vertical-align: bottom;
}

main.event section.prize dl.prize_dl div.prize_wrap dd.prize_dd {
  font-size: min(1.6rem, 16px);
  line-height: 1.8;
  flex: 1;
}

@media (max-width: 799px) {
  main.event section.program01 div.speech_wrap {
    margin-top: 4.0rem;
    flex-direction: column;
    gap: 3.2rem;
  }
  
  main.event section.program01 div.speech_wrap div.image_area {
    width: 100%;
  }
  
  main.event section.program01 div.speech_wrap div.txt_area {
    width: 100%;
    margin-top: 0;
  }
  
  main.event section.program01 div.speech_wrap div.txt_area p.speech_name {
    font-size: 1.8rem;
  }
  
  main.event section.program01 div.speech_wrap div.txt_area p.speech_name span {
    font-size: 1.2rem;
    line-height: 1.4;
    margin-bottom: .4rem;
  }
  
  main.event section.program01 div.speech_wrap div.txt_area p.speech_ttl {
    margin-top: 1.6rem;
    font-size: 1.6rem;
  }
  
  main.event section.program01 div.speech_wrap div.txt_area p.speech_ttl span {
    font-size: 1.4rem;
    line-height: 1.6;
    margin-top: 1.4rem;
  }
  
  main.event section.program01 p.common_note {
    margin-top: 3.2rem;
  }
  
  main.event section.program01 p.common_note span {
    font-size: 1.6rem;
    margin-bottom: .4rem;
  }

  /* /////////////// */

  main.event section.prize h3.common_h3:first-of-type {
    margin-top: 4.0rem;
  }
  
  main.event section.prize p.prize_txt {
    margin-top: 3.2rem;
  }
  
  main.event section.prize p.prize_txt02 {
    margin: 3.2rem auto 0;
    width: 100%;
    padding: 2.4rem 2.0rem;
    font-size: 1.3rem;
  }
  
  main.event section.prize p.prize_txt02 span {
    display: block;
    font-size: 2.0rem;
    margin-bottom: 1.9rem;
  }
  
  main.event section.prize dl.prize_dl {
    margin-top: 3.2rem;
  }
  
  main.event section.prize dl.prize_dl div.prize_wrap {
    padding: 1.6rem 0;
    flex-direction: column;
    gap: 1.2rem;
    border-bottom: .1rem dashed var(--color_gray);
  }
  
  main.event section.prize dl.prize_dl div.prize_wrap + div.prize_wrap {
    margin-top: 4.0rem;
  }
  
  main.event section.prize dl.prize_dl div.prize_wrap dt.prize_dt {
    font-size: 1.6rem;
    text-align: center;
    width: 100%;
  }

  main.event section.prize dl.prize_dl div.prize_wrap dt.prize_dt small {
    font-size: 1.6rem;
    right: 30%;
    bottom: -12%;
  }
  
  main.event section.prize dl.prize_dl div.prize_wrap dd.prize_dd {
    font-size: 1.4rem;
  }
}

/* ----- about.html ----- */

/* ----- section.about_lead ----- */

main.event section.about_lead p.about_lead {
  background-color: var(--color_purple);
  padding: min(8rem, 80px) min(10rem, 100px) min(10rem, 100px);
  color: #fff;
  font-size: min(1.6rem, 16px);
  line-height: 2.0;
  position: relative;
}

main.event section.about_lead p.about_lead::after {
  position: absolute;
  display: block;
  content: '';
  background-image: url(img/txt_about_lead.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: 100%;
  height: min(5.4rem, 54px);
  bottom: 0;
  left: 0;
}

@media (max-width: 799px) {
  main.event section.about_lead p.about_lead {
    padding: 4rem 2rem;
    font-size: 1.4rem;
    line-height: 1.4;
  }
  
  main.event section.about_lead p.about_lead::after {
    background-image: url(img/txt_about_lead_sp.png);
    width: 100%;
    height: 30%;
  }
}

/* ----- section.about ----- */

main.event section.about div.img_area {
  width: min(40rem, 400px);
  margin: min(6rem, 60px) auto 0;
}

main.event section.about .common_txt {
  margin: min(6rem, 60px) auto 0;
  width: 80%;
}

main.event section.about a.teaser_link {
  margin-top: min(6rem, 60px);
}

@media (max-width: 799px) {
  main.event section.about div.img_area {
    width: 80%;
    margin: 4rem auto 0;
  }
  
  main.event section.about .common_txt {
    margin: 2.4rem auto 0;
    width: 100%;
  }
  
  main.event section.about a.teaser_link {
    margin-top: 4rem;
  }
}

/* ----- section.work ----- */

main.event section.work .common_txt {
  margin-top: min(4rem, 40px);
}

main.event section.work .common_txt:first-of-type {
  margin-top: min(6rem, 60px);
}

h4.inner_h4 {
  margin-top: min(6rem, 60px);
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  color: var(--color_purple);
  padding-bottom: min(1.6rem, 16px);
  border-bottom: 1px solid var(--color_purple);
}

main.event section.work div.performance_wrap {
  margin-top: min(4rem, 40px);
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(2rem, 20px);
}

main.event section.work div.performance_wrap p.performance_item {
  padding: min(3.2rem, 32px) min(2rem, 20px);
  border: min(.2rem, 2px) solid var(--color_purple);
  border-radius: min(1.5rem, 15px);
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 0;
}

main.event section.work div.performance_wrap p.performance_item.performance_item02 {
  border: none;
}

main.event section.work div.performance_wrap p.performance_item span:first-of-type {
  display: block;
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  color: var(--color_purple);
  text-align: center;
  padding-bottom: min(2.4rem, 24px);
  border-bottom: min(.2rem, 2px) solid var(--color_purple);
}

main.event section.work div.performance_wrap p.performance_item.performance_item02 span:first-of-type {
  display: block;
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  padding: min(1rem, 10px) 0;  
  background-color: var(--color_purple);
  border-radius: 99px;
  color: #fff;
  text-align: center;
  border-bottom: none;
}

main.event section.work div.performance_wrap p.performance_item span:first-of-type small {
  display: block;
  margin-top: min(1rem, 10px);
  font-size: min(1.6rem, 16px);
}

main.event section.work div.performance_wrap p.performance_item span:last-of-type {
  display: block;
  margin-top: min(2.0rem, 20px);
  font-size: min(4.8rem, 48px);
  font-weight: 700;
  text-align: center;
}

main.event section.work div.performance_wrap p.performance_item span:last-of-type small {
  font-size: min(1.6rem, 16px);
}

div.professor_area {
  margin-top: min(4rem, 40px);
  display: flex;
  gap: min(2rem, 20px);
  align-items: center;
}

div.professor_area div.img_area {
  width: min(16rem, 160px);
  border-radius: 100%;
		padding:5px;
		background: linear-gradient(to right, var(--color_purple) 0%, var(--color_green) 100%);
}

div.professor_area div.img_area img {
	border-radius: 100%;
}

div.professor_area p.professor_txt {
  flex: 1;
  font-size: min(2rem, 20px);
  font-weight: 600;
}

div.professor_area p.professor_txt small {
  font-size: min(1.4rem, 14px);
  margin-left: min(0.8rem, 8px);
}

div.professor_area p.professor_txt span {
  display: block;
  margin-top: min(1rem, 10px);
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  line-height: 1.6;
}

main.event section.work div.case_wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(1.6rem, 16px);
  margin-top: min(4rem, 40px);
}

main.event section.work div.case_wrap div.case_item {
  border-radius: min(1.5rem, 15px);
  box-shadow: 0 min(.4rem, 4px) min(.8rem, 8px) rgba(0, 0, 0, 0.3);
}

main.event section.work div.case_wrap div.case_item a.case_ttl {
  display: block;
  padding: min(3.2rem, 32px);
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 1.4;
}

main.event section.work div.case_wrap div.case_item a.case_ttl::after {
  content: '';
  background-image: url(img/icon_arrow_purple.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(2.8rem, 28px);
  height: min(2.8rem, 28px);
}

main.event section.work p.common_note {
  text-align: center;
}

@media (max-width: 799px) {
  main.event section.work .common_txt {
    margin-top: 2.4rem;
  }
  
  main.event section.work .common_txt:first-of-type {
    margin-top: 4.0rem;
  }
  
  h4.inner_h4 {
    margin-top: 4.0rem;
    font-size: 1.8rem;
    padding-bottom: 0.8rem;
    border-bottom: .1rem solid var(--color_purple);
  }
  
  main.event section.work div.performance_wrap {
    margin-top: 2.4rem;
    grid-template-columns: repeat(1, 1fr);
    gap: 2.4rem;
  }
  
  main.event section.work div.performance_wrap p.performance_item {
    padding: 4rem 2rem;
    border: .2rem solid var(--color_purple);
    border-radius: .8rem;
  }
  
  main.event section.work div.performance_wrap p.performance_item.performance_item02 {
    padding: 2rem;
  }
  
  main.event section.work div.performance_wrap p.performance_item span:first-of-type {
    font-size: 1.6rem;
    padding-bottom: 0.8rem;
    border-bottom: .2rem solid var(--color_purple);
  }
  
  main.event section.work div.performance_wrap p.performance_item.performance_item02 span:first-of-type {
    font-size: 1.6rem;
    padding: 1.0rem 0;
  }
  
  main.event section.work div.performance_wrap p.performance_item span:first-of-type small {
    margin-top: 1rem;
    font-size: 1.4rem;
  }
  
  main.event section.work div.performance_wrap p.performance_item span:last-of-type {
    margin-top: 2rem;
    font-size: 3.2rem;
  }
  
  main.event section.work div.performance_wrap p.performance_item span:last-of-type small {
    font-size: 1.2rem;
  }
  
  div.professor_area {
    margin-top: 2.4rem;
    flex-direction: column;
    gap: 0.8rem;
  }
  
  div.professor_area div.img_area {
    width: 50%;
    margin: 0 auto;
  }
  
  div.professor_area p.professor_txt {
    width: 100%;
    font-size: 1.8rem;
  }
  
  div.professor_area p.professor_txt small {
    font-size: 1.2rem;
    margin-left: 0.4rem;
  }
  
  div.professor_area p.professor_txt span {
    margin-top: 0.8rem;
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.4;
  }
  
  main.event section.work div.case_wrap {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
    margin-top: 4rem;
  }
  
  main.event section.work div.case_wrap div.case_item {
    border-radius: 1.5rem;
    box-shadow: var(--box_shadow);
  }
  
  main.event section.work div.case_wrap div.case_item p.case_ttl {
    padding: 1.6rem;
    font-size: 1.6rem;
    line-height: 1.2;
  }
  
  main.event section.work div.case_wrap div.case_item p.case_ttl::after {
    width: 2rem;
    height: 2rem;
  }
  
  main.event section.work p.common_note {
    text-align: left;
    padding-left: 0;
    text-indent: 0;
  }
}

/* ----- entry.html ----- */

main.entry section.case_study .common_txt {
  margin-top: min(4rem, 40px);
}
main.entry section.case_study .case_image {
border: min(0.1rem, 1px) solid var(--color_gray);
}

main.entry section.case_study h2.inner_h2 {
  margin-top: min(6rem, 60px);
}

main.entry section.case_study h3.entry_h3 {
  margin-top: min(6rem, 60px);
  font-size: min(3.2rem, 32px);
  font-weight: 700;
}

main.entry section.case_study h3.entry_h3 span {
  display: block;
  font-size: min(1.4rem, 14px);
  font-weight: 700;
  color: var(--color_green);
  width: fit-content;
  padding: min(0.4rem, 4px) min(1.6rem, 16px);
  border-radius: 99px;
  border: min(0.1rem, 1px) solid var(--color_green);
  margin-bottom: min(1.4rem, 14px);
}

main.entry section.case_study div.entry_wrap {
  margin-top: min(4rem, 40px);
  display: flex;
  gap: min(4rem, 40px);
  align-items: start;
}

main.entry section.case_study div.entry_wrap div.case_image02 {
border: min(0.1rem, 1px) solid var(--color_gray);
  width: min(50%, 500px);
}

main.entry section.case_study div.entry_wrap .common_txt {
  flex: 1;
  margin: 0;
}

main.entry section.case_study div.professor_wrap {
  margin-top: min(4rem, 40px);
  padding: min(4rem, 40px);
  background-color: var(--color_beige);
}

main.entry section.case_study div.professor_wrap div.professor_area {
  margin: 0;
}

main.entry section.case_study div.professor_wrap .common_txt {
  margin-top: min(4rem, 40px);
}

main.entry section.case_study div.video_area,
main.entry section.case_study div.pdf_area {
  margin-top: min(4rem, 40px);
}

.video_area {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.video_area iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

main.entry section.case_study ul.page_dots {
	margin: min(2rem, 20px) auto 0;
	width: 80%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: min(1.2rem, 12px);
	position: absolute;
	bottom: 0;
	flex-wrap: wrap;
	margin: 0 auto;
	left: 0;
	right: 0;
	transform: translateY(100%);
}

/*
main.entry section.case_study ul.page_dots::before, 
main.entry section.case_study ul.page_dots::after {
  position: absolute;
  display: block;
  content: '';
  background-image: url(img/icon_arrow_left_purple.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(2.4rem, 24px);
  height: min(2.4rem, 24px);
  top: 0;
  bottom: 0;
  margin: auto;
  left: 0;
  transform: translateX(-150%);
}

main.entry section.case_study ul.page_dots::after {
  background-image: url(img/icon_arrow_right_purple.png);
  right: 0;
  left: auto;
  transform: translateX(150%);
}
*/

main.entry section.case_study ul.page_dots li.page_dot {
  width: min(1.0rem, 10px);
  height: min(1.0rem, 10px);
  border-radius: 50%;
  background-color: var(--color_gray);
}

main.entry section.case_study ul.page_dots li.page_dot.active {
  background-color: var(--color_purple);
}

main.entry section.case_study a.entry_link {
  display: block;
/*  margin: min(15rem, 150px) auto 0;*/
  margin: min(8rem, 80px) auto 0;
  width: min(45rem, 450px);
  height: min(8.6rem, 86px);
  background-color: var(--color_purple);
/*  background-color: #CAC8C8;*/
  border-radius: 99px;
  color: #fff;
  font-size: min(2.5rem, 25px);
  font-weight: 700;
  border: min(.2rem, 2px) solid #fff;
  box-shadow: 0 0 min(1rem, 10px) rgba(0, 0, 0, .3);
  display: flex;
  align-items: center;
  justify-content: center;
/*  pointer-events: none;*/

}

main.entry section.case_study a.entry_link span {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: min(1.2rem, 12px);
}

main.entry section.case_study a.entry_link span::before {
  content: '';
  background-image: url(img/icon_entry.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(4.8rem, 48px);
  height: min(3.6rem, 36px);
}

div.sns_area {
  margin: min(8rem, 80px) 0 0;
  display: flex;
  gap: min(3.0rem, 30px);
  width: fit-content;
}

div.sns_area .sns_link {
  width: min(5.4rem, 54px);
		cursor: pointer;
}

.sns_link {
  position: relative;
}
 
/* Tooltip */
.tooltip::after {
    content: 'Copied!';
    background: #555;
    display: inline-block;
    color: #fff;
    border-radius: .4rem;
    position: absolute;
    left: 50%;
    bottom: -.8rem;
    transform: translate(-50%, 0);
    font-size: .75rem;
    padding: 4px 10px 6px 10px;
    animation: fade-tooltip .5s 1s 1 forwards;
}
 
/* Animation */
@keyframes fade-tooltip {
  to { opacity: 0; }
}

.slick-list {
	border: 1px solid #ebebeb;
}

.slick-dotted.slick-slider {
    padding-bottom: min(2rem, 20px);
}

.page_dots {
  margin: 0;
  padding: 0;
  text-align: center;
}
.page_dots li {
  display: inline-block;
  margin: 0 min(0.5rem, 5px);;
}
.page_dots li button {
  position: relative;
  text-indent: -9999px;
}
.page_dots li button::before {
  background-color: var(--color_gray);
  content: "";
  cursor: pointer;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  /*top: min(4rem, 40px);*/
  width: min(1.0rem, 10px);
  height: min(1.0rem, 10px);
  border-radius: 50%;
}
.page_dots li.slick-active button::before {
  background-color: var(--color_purple);
}
button {
  background: none;
  border: none;
  outline: none;
  padding: 0 7px;
}

.arrow_box {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 20px 0 0;
    position: relative;
}

.prev-arrow,
.next-arrow {
  position: absolute;
  display: block;
  content: '';
  background-image: url(img/icon_arrow_left_purple.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(2.4rem, 24px);
  height: min(2.4rem, 24px);
  bottom: 0;
  left: min(5rem, 50px);
  transform: translateX(-150%);
  transform: translateY(100%);
		cursor: pointer;
}

.next-arrow {
  background-image: url(img/icon_arrow_right_purple.png);
  right: min(5rem, 50px);
  left: auto;
}

/*
.prev-arrow::before,
.next-arrow::before{
    position:absolute;
    content: "";
    width:10px;
    height:10px;
    border-right: 2px solid #FFF;
    border-top: 2px solid #FFF;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
    transform:rotate(45deg);
}
*/

@media (max-width: 799px) {
  main.entry section.case_study .common_txt {
    margin-top: 2.4rem;
  }
  
  main.entry section.case_study h2.inner_h2 {
    margin-top: 4rem;
  }
  
  main.entry section.case_study h3.entry_h3 {
    margin-top: 4rem;
    font-size: 2rem;
  }
  
  main.entry section.case_study h3.entry_h3 span {
    font-size: 1rem;
    padding: 0.2rem 0.8rem;
    border: 0.1rem solid var(--color_green);
    margin-top: 0.8rem;
  }
  
  main.entry section.case_study div.entry_wrap {
    margin-top: 2.4rem;
    flex-direction: column;
    gap: 2rem;
    align-items: start;
  }
  
  main.entry section.case_study div.entry_wrap div.case_image02 {
    width: 100%;
  }
  
  main.entry section.case_study div.entry_wrap .common_txt {
    width: 100%;
  }
  
  main.entry section.case_study div.professor_wrap {
    margin-top: 2.4rem;
    padding: 4rem 2rem;
  }
  
  main.entry section.case_study div.professor_wrap .common_txt {
    margin-top: 2.4rem;
  }
  
  main.entry section.case_study div.video_area,
  main.entry section.case_study div.pdf_area {
    margin-top: 2.4rem;
  }
  
  main.entry section.case_study ul.page_dots {
    margin: 1rem auto 0;
    gap: 0.8rem;
				display: none !important;
  }
  
  main.entry section.case_study ul.page_dots::before, 
  main.entry section.case_study ul.page_dots::after {
    width: 1.2rem;
    height: 1.2rem;
    transform: translateX(-150%);
  }
  
  main.entry section.case_study ul.page_dots::after {
    transform: translateX(150%);
  }
  
  main.entry section.case_study ul.page_dots li.page_dot {
    width: .8rem;
    height: .8rem;
  }
  
  main.entry section.case_study a.entry_link {
  /*  margin: 6rem auto 0; */
    margin: 2.4rem auto 0;
    width: 80%;
    height: 4rem;
    font-size: 1.6rem;
    border: .2rem solid #fff;
/*    box-shadow: 0 0 .8rem rgba(0, 0, 0, .3);*/
  }
  
  main.entry section.case_study a.entry_link span {
    gap: 0.4rem;
  }
  
  main.entry section.case_study a.entry_link span::before {
    width: 2.4rem;
    height: 1.8rem;
  }
  
div.sns_area {
    margin: 2.4rem auto 0;
    gap: 1.4rem;
  }
  
div.sns_area .sns_link {
    width: 3.2rem;
  }
		
}

/* ----- point.html ----- */

main.point section.point div.point_wrap {
  margin-top: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: min(4.8rem, 48px) min(2.4rem, 24px);
}

main.point section.point div.point_wrap div.point_item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 0;
  padding-bottom: min(3.2rem, 32px);
  border-radius: min(1.5rem, 15px);
  box-shadow: 0 min(.4rem, 4px) min(.8rem, 8px) rgba(0, 0, 0, .3);
}

main.point section.point div.point_wrap div.point_item div.img_area {
	height: 0;
	padding-bottom: 66%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	border-top-left-radius: min(1.5rem, 15px);
	border-top-right-radius: min(1.5rem, 15px);
}

main.point section.point div.point_wrap div.point_item p.point_ttl {
  margin: min(2rem, 20px) auto 0;
  font-size: min(2.0rem, 20px);
  font-weight: 700;
  width: 90%;
  line-height: 1.2;
}

main.point section.point div.point_wrap div.point_item .common_txt {
  margin: min(.8rem, 8px) auto 0;
  width: 90%;
  line-height: 1.4;
}

main.point section.point div.point_wrap div.point_item .common_txt span {
  display: block;
}

main.point section.point div.point_wrap div.point_item .common_txt span.company {
  margin-top: min(0.8rem, 8px);
}

main.point section.point div.point_wrap div.point_item .common_txt span.name {
  font-weight: 700;
}

main.point section.point div.point_wrap div.point_item a.point_link {
  margin: min(3.2rem, 32px) auto 0;
  width: min(20rem, 200px);
  height: min(4.8rem, 48px);
  background-color: var(--color_purple);
  border-radius: min(.5rem, 5px);
  color: #fff;
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

main.point section.point div.point_wrap div.point_item a.point_link::after {
  content: '';
  display: block;
  position: absolute;
  background-image: url(img/icon_arrow_award_item.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(1.2rem, 12px);
  height: min(1.2rem, 12px);
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  transform: translateX(-100%);
}

@media (max-width: 799px) {
  main.point section.point div.point_wrap {
    margin-top: 0;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2.4rem;
  }
  
  main.point section.point div.point_wrap div.point_item {
    padding-bottom: 2rem;
    border-radius: 1.5rem;
  }
  
  main.point section.point div.point_wrap div.point_item p.point_ttl {
    margin: 2rem auto 0;
    font-size: 1.6rem;
  }
  
  main.point section.point div.point_wrap div.point_item .common_txt {
    margin: 0.4rem auto 0;
  }
  
  main.point section.point div.point_wrap div.point_item a.point_link {
    margin: 3.2rem auto 0;
    width: 70%;
    height: 4.0rem;
    border-radius: .5rem;
    font-size: 1.4rem;
  }
  
  main.point section.point div.point_wrap div.point_item a.point_link::after {
    width: 1.2rem;
    height: 1.2rem;
    transform: translateX(-100%);
  }
}

/* ----- point_detail.html ----- */

main.point_detail section.point_detail p.point_award {
  font-size: min(2rem, 20px);
  font-weight: 700;
}

main.point_detail section.point_detail h3.point_h3 {
  font-size: min(3.2rem, 32px);
  font-weight: 700;
  margin-top: min(2rem, 20px);
}

main.point_detail section.point_detail p.point_winner_name {
	font-weight: 700;
	margin-top: min(2rem, 20px);
	text-align: right;
}

main.point_detail section.point_detail div.img_area {
	margin-top: min(3rem, 30px);
}

main.point_detail section.point_detail h4.point_h4 {
	font-size: min(2rem, 20px);
	font-weight: 700;
	color: var(--color_purple);
	margin-top: min(3rem, 30px);
	padding-bottom: min(1.5rem, 15px);
	border-bottom: 1px solid var(--color_purple);
}

main.point_detail section.point_detail .common_txt {
  margin-top: min(2rem, 20px);
  margin-bottom: min(5rem, 50px);
		line-height: 2em;
}

main.point_detail section.point_detail div.point_wrap {
	margin-top: min(6rem, 60px);
	display: flex;
	gap: min(4rem, 40px);
	align-items: start;
}

main.point_detail section.point_detail div.point_wrap div.img_area {
	width: min(50%, 500px);
}

main.point_detail section.point_detail div.point_wrap .common_txt {
  flex: 1;
  margin: 0;
}

main.point_detail section.point_detail div.point_wrap .common_txt {
  flex: 1;
  margin: 0;
}

@media (max-width: 799px) {
  main.point_detail section.point_detail h3.point_h3 {
    font-size: 2.4rem;
  }
  
  main.point_detail section.point_detail .common_txt {
    margin-top: 2.4rem;
  }
  
  main.point_detail section.point_detail div.point_wrap {
    margin-top: 4rem;
    flex-direction: column;
    align-items: start;
    gap: 2rem;
  }
  
  main.point_detail section.point_detail div.point_wrap div.img_area {
    width: 100%;
  }
  
  main.point_detail section.point_detail div.point_wrap .common_txt {
    width: 100%;
  }
}


.post-template-default .common_txt p {
margin-top: min(5rem, 50px);
margin-bottom: min(3rem, 30px);
line-height:1.7;
}

.judges .note {
margin-top: min(5rem, 50px);
line-height:1.7;

}

.index_prize_list {
margin-top: min(8rem, 80px);
display: grid;
grid-template-columns: repeat(2, 1fr) !important;
gap: min(4.8rem, 48px) min(2.4rem, 24px);
}
.index_prize_list .award_item {
position: relative;
}
.index_prize_list .award_item_wrap {
  margin-left: min(14.3rem, 143px);
}
.index_prize_list .award_item_wrap.award_item_box_1st {
	height:780px;
}

@media (max-width: 799px) {
.index_prize_list .award_item_wrap.award_item_box_1st {
	height:auto;
}
}
.award_item_wrap {
/*	margin-left: 143px;*/
}
.award_item .award_item_medal {
	position: absolute;
	left: -143px;
	width: 133px;
	text-align: center;
}
.award_item_wrap .award_item_medal img {
margin-bottom:min(2rem, 20px);
}
.award_item_wrap .award_item_ttl_1st {
	display: flex;
	flex-direction: column;
	align-items: center;
	background-image: url(img/_award2024/crown_2024_1st.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: min(2rem, 20px);
	height: min(10rem, 100px);
}
.award_item_wrap .award_item_ttl_2nd {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-image: url(img/_award2024/crown_2024_2nd.png);
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
	margin-bottom: min(2rem, 20px);
	height: min(10rem, 100px);
}
.award_item_wrap p.award_item_ttl {
	text-align: center;
	font-size: min(2rem, 20px);
	margin-bottom: min(2rem, 20px);
	font-weight: bold;
}
.award_item_wrap p.award_item_ttl:last-child {
	margin-bottom: 0px;
}

.award_item_wrap .award_item_ttl_1st p.award_item_ttl,
.award_item_wrap .award_item_ttl_2nd p.award_item_ttl{
	margin-bottom: min(1rem, 10px);
}
@media (max-width: 799px) {
.index_prize_list {
margin-top: 4rem;
grid-template-columns: repeat(1, 1fr) !important;
gap: 2.4rem 1.2rem;
}
.index_prize_list .award_item_wrap {
	/* margin-left: 8rem; */
	margin-left: 0;
    margin-top:2rem;
}
.award_item_wrap {
	margin-left: 0;
	width: 100%;
}
.index_prize_list .award_item{
	width: calc(100% - 7rem);
}
.award_item .award_item_medal {
	left: -8rem;
	width: 7rem;
}
.award_item_wrap .award_item_medal img {
margin-bottom:1rem;
}
.award_item_wrap .award_item_ttl_1st {
	margin-bottom: 1rem;
	height: 10rem;
}
.award_item_wrap .award_item_ttl_2nd {
	margin-bottom: 1rem;
	height: 10rem;
}
.award_item_wrap p.award_item_ttl {
	font-size: 1.8rem;
	margin-bottom: 1rem;
}
.award_item_wrap p.award_item_ttl:last-child {
	margin-bottom: 0px;
}
}

.fix_info_bnr_container {
    max-width: 1040px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}
.fix_info_bnr {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0px;
    background-color: #6c265a;
    font-weight: 700;
    font-size: 1.2rem;
    padding: 1.5em 0;
    text-align: center;
    color: #fff;
    display: block;
    line-height: 2em;
    transition: 0.4s;
}
.link_btn {
    display: block;
    padding: 1em 0;
    border-radius: 100px;
    border: 1px solid #fff;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (min-width: 769px) {
    .br_sp {
        display: none;
    }
    .br_pc {
        display: block;/*2025_4_2追加*/
    }
		.fix_info_bnr {
    font-size: 18px;
    }
    .link_btn {
        width:80%;
    }
}
@media screen and (max-width: 768px) {/*2025_4_2追加*/
  .br_pc {
      display: none;
  }
}

/*当日の様子*/
main.entry section.case_study h4.entry_h4 {
  margin-top: min(6rem, 60px);
  font-size: min(2rem, 20px);
  font-weight: 700;
}
.entry_state_wrap ul.entry_state_photo_wrap {
	margin-top: min(6rem, 60px);
	display: flex;
}
.entry_state_wrap ul.entry_state_photo_wrap li {
width: 50%;
}
.entry_state_wrap ul.entry_state_documents_wrap {
	margin: 0 auto;
	max-width: min(80rem, 800px);
  margin-top: min(6rem, 60px);
		display: flex;
		flex-direction: column;
		gap:20px;
}
.entry_state_wrap .common_txt p {
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  line-height: 1.8;
  margin-top: min(1.5rem, 15px);
}
@media (max-width: 799px) {
main.entry section.case_study h4.entry_h4 {
  margin-top: 3rem;
  font-size: 2rem;
		line-height: 1.7;
}
.entry_state_wrap ul.entry_state_photo_wrap {
  margin-top: 3rem;
	display: block;
}
.entry_state_wrap ul.entry_state_photo_wrap li {
width: auto;
}
.entry_state_wrap ul.entry_state_documents_wrap {
	width: auto;
  margin-top: 3rem;
		gap:10px;
}
.entry_state_wrap .common_txt p {
    font-size: 1.4rem;
  margin-top: 1rem;
}
}

/*説明会内容*/
ol.info_briefing_list {
	counter-reset: listnum;
	list-style: none;
		padding:0;
	margin:0;
}
ol.info_briefing_list li {
	font-size: min(1.8rem, 18px);
	padding:min(.5rem, 5px); 0px;
}

ol.info_briefing_list li::before{
	counter-increment: listnum;
	content: counter(listnum) "."; 
	padding-right: min(1.5rem, 15px);
	font-family: roboto;
}

section.briefing_contents {
	text-align: center;
	line-height: 2;
	font-size: min(2rem, 20px);
	font-weight: 700;
}
@media (max-width: 799px) {
ol.info_briefing_list li {
font-size: 1.6rem;
	text-align: left;
  text-indent: -2em;
  padding-left: 2em;
	line-height: 1.5;
}
ol.info_briefing_list li::before{
	padding-right: 1.5rem;
}
section.briefing_contents {
	text-align: left;
	font-size: 1.6rem;
}
}

/* ----- support.php ----- */

main.support section:nth-of-type(odd):not(:first-of-type) {
  background-color: rgba(176 176 176 / .1);
}

/* ----- section.session ----- */

main.support section.session dl.session_dl {
  margin-top: min(4rem, 40px);
  display: flex;
  flex-direction: column;
  gap: 0;
}

main.support section.session dl.session_dl div.session_wrap {
  padding: min(3rem, 30px);
  border-bottom: min(0.1rem, 1px) solid #DDDDDD;
  display: flex;
  align-items: start;
  gap: 0;
}

main.support section.session dl.session_dl div.session_wrap dt.session_dt {
  width: min(20rem, 200px);
  font-size: min(2rem, 20px);
  font-weight: 700;
  line-height: 1.4;
}

main.support section.session dl.session_dl div.session_wrap dd.session_dd {
  flex: 1;
  font-size: min(2.0rem, 20px);
  font-weight: 700;
  line-height: 1.4;
}

main.support section.session dl.session_dl div.session_wrap dd.session_dd span {
  display: block;
  margin-top: 1rem;
  font-size: min(1.6rem, 16px);
  font-weight: 400;
  line-height: 1.2;
}

main.support section.session dl.session_dl div.session_wrap dd.session_dd ol.session_list {
  display: flex;
  flex-direction: column;
  gap: min(1rem, 10px);
}

main.support section.session dl.session_dl div.session_wrap dd.session_dd ol.session_list li {
  font-size: min(1.8rem, 18px);
  font-weight: 700;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: min(0.4rem, 4px);
}

main.support section.session dl.session_dl div.session_wrap dd.session_dd ol.session_list li i {
  all: unset;
  font-size: min(1.0rem, 10px);
}

@media (max-width: 799px) {
  main.support section.session dl.session_dl {
    margin-top: 2rem;
  }
  
  main.support section.session dl.session_dl div.session_wrap {
    padding: 3rem 0;
    border-bottom: .2rem solid #DDDDDD;
    flex-direction: column;
    align-items: start;
    gap: 1rem;
  }
  
  main.support section.session dl.session_dl div.session_wrap dt.session_dt {
    width: 100%;
    font-size: 1.6rem;
    text-align: center;
  }
  
  main.support section.session dl.session_dl div.session_wrap dd.session_dd {
    flex: none;
    width: 100%;
    font-size: 1.4rem;
    font-weight: 400;
  }

  main.support section.session dl.session_dl div.session_wrap dd.session_dd span {
    margin-top: 0.4rem;
    font-size: 1.2rem;
    line-height: 1.2;
  }
  
  main.support section.session dl.session_dl div.session_wrap dd.session_dd ol.session_list {
    gap: 1rem;
  }
  
  main.support section.session dl.session_dl div.session_wrap dd.session_dd ol.session_list li {
    font-size: 1.4rem;
    font-weight: 400;
    align-items: start;
    gap: 0.4rem;
  }

  main.support section.session dl.session_dl div.session_wrap dd.session_dd ol.session_list li i {
    font-size: 0.8rem;
    margin-top: 0.4rem;
  }
}

/* ----- section.faq ----- */

main.support section.faq {
  background-color: #fff;
}

main.support section.faq dl.faq_dl {
  margin-top: min(8rem, 80px);
  display: flex;
  flex-direction: column;
  gap: min(2rem, 20px);
}

main.support section.faq dl.faq_dl div.faq_wrap {
  padding: min(3rem, 30px);
  background-color: #F0F0F0;
  border-radius: min(1.5rem, 15px);
}

main.support section.faq dl.faq_dl div.faq_wrap dt.faq_dt {
  font-size: min(2rem, 20px);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-weight: 700;
  cursor: pointer;
  line-height: 1.6;
  padding-left: 1em;
  text-indent: -1em;
}

main.support section.faq dl.faq_dl div.faq_wrap dt.faq_dt::after {
  content: '';
  background-image: url(img/icon_plus.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(3.2rem, 32px);
  height: min(3.2rem, 32px);
  transition: all .8s;
		flex-shrink: 0;
		margin-left: min(1rem, 10px);
}

main.support section.faq dl.faq_dl div.faq_wrap.active dt.faq_dt::after {
  background-image: url(img/icon_minus.png);
}

main.support section.faq dl.faq_dl div.faq_wrap dd.faq_dd {
  margin-top: min(2rem, 20px);
  padding-top: min(2rem, 20px);
  border-top: min(0.1rem, 1px) solid #DDDDDD;
  font-size: min(1.8rem, 18px);
  line-height: 1.6;
  text-align: justify;
  position: absolute;
  top: -99999px;
  opacity: 0;
  transition: all .8s;
}

main.support section.faq dl.faq_dl div.faq_wrap.active dd.faq_dd {
  position: static;
  opacity: 1;
}

@media (max-width: 799px) {
  
  main.support section.faq dl.faq_dl {
    margin-top: 4rem;
    gap: 2rem;
  }
  
  main.support section.faq dl.faq_dl div.faq_wrap {
    padding: 2rem;
    border-radius: .8rem;
  }
  
  main.support section.faq dl.faq_dl div.faq_wrap dt.faq_dt {
    font-size: 1.6rem;
    line-height: 1.4;
  }
  
  main.support section.faq dl.faq_dl div.faq_wrap dt.faq_dt::after {
    width: 2.4rem;
    height: 2.4rem;
    margin-left: 1rem;
    flex-shrink: 0;
  }
  
  main.support section.faq dl.faq_dl div.faq_wrap dd.faq_dd {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 0.1rem solid #DDDDDD;
    font-size: 1.4rem;
    line-height: 1.4;
  }
}

/* ----- section.briefing_contents ----- */

main.support section.briefing_contents a.briefing_link {
  display: block;
  margin-top: min(4rem, 40px);
  font-size: min(2rem, 20px);
  font-weight: 700;
  line-height: 1.4;
  text-decoration: underline;
  text-align: center;
}

@media (max-width: 799px) {
  main.support section.briefing_contents a.briefing_link {
    margin-top: 2rem;
    font-size: 1.6rem;
    line-height: 1.4;
  }
}

/* ----- single-report ----- */

main.report_detail {
  background-image: url(img/bg_report.jpg);
  background-size: 100%;
  background-position: left top;
  background-repeat: repeat;
}

main.report_detail div.report_box {
  background-color: #fff;
  border-radius: min(2.0rem, 20px);
  padding: min(8.0rem, 80px) min(4.0rem, 40px);
}

main.report_detail div.report_box h3.repeat_h3 {
  font-size: min(3.2rem, 32px);
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: min(1.6rem, 16px);
}

main.report_detail div.report_box h3.repeat_h3::before {
  content: '';
  background-image: url(img/icon_report_h3.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(4.0rem, 40px);
  height: min(5.2rem, 52px);
  flex-shrink: 0;
}

main.report_detail div.report_box dl.report_info {
  margin-top: min(4rem, 40px);
  display: flex;
  flex-direction: column;
  gap: min(2rem, 20px);
}

main.report_detail div.report_box dl.report_info div.report_info_wrap {
  display: flex;
  align-items: center;
  gap: min(1rem, 10px);
}

main.report_detail div.report_box dl.report_info div.report_info_wrap dt.report_info_dt {
  width: min(7rem, 70px);
  height: min(2.5rem, 25px);
  border-radius: min(.4rem, 4px);
  font-size: min(1.4rem, 14px);
  font-weight: 700;
  border: .1rem solid var(--color_purple);
  display: flex;
  justify-content: center;
  align-items: center;
}

main.report_detail div.report_box dl.report_info div.report_info_wrap dd.report_info_dd {
  flex: 1;
  font-size: min(2.0rem, 20px);
  font-weight: 700;
}

main.report_detail div.report_box p {
  margin-top: min(4rem, 40px);
  font-size: min(1.6rem, 16px);
  line-height: 2.2;
}

main.report_detail div.report_box h4.wp-block-heading {
  margin-top: min(8.0rem, 80px);
  font-size: min(2.0rem, 20px);
  font-weight: 700;
  text-align: center;
  border: min(.2rem, 2px) solid var(--color_purple);
  padding: min(1.6rem, 16px) min(1rem, 10px);
  background-color: #fff;
  position: relative;
  z-index: 1;
  line-height: 1.4;
}

main.report_detail div.report_box h4.wp-block-heading::before, 
main.report_detail div.report_box h4.wp-block-heading::after {
  content: '';
  display: block;
  position: absolute;
  background-image: url(img/icon_report_h4.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  width: min(4.0rem, 40px);
  height: min(4.0rem, 40px);
  top: 0;
  left: 0;
  transform: translate(-20%, -20%);
  z-index: -1;
}

main.report_detail div.report_box h4.wp-block-heading::after {
  top: auto;
  bottom: 0;
  left: auto;
  right: 0;
  transform: translate(20%, 20%) rotate(180deg);
}

main.report_detail div.report_box h5.wp-block-heading {
  margin-top: min(5rem, 50px);
  font-size: min(2.0rem, 20px);
  font-weight: 500;
  padding-bottom: min(1.6rem, 16px);
  border-bottom: min(.1rem, 1px) solid var(--color_purple);
  position: relative;
  line-height: 1.4;
}

main.report_detail div.report_box h5.wp-block-heading::before {
  content: '';
  display: block;
  position: absolute;
  width: min(20rem, 200px);
  height: min(.5rem, 5px);
  background-color: var(--color_purple);
  left: 0;
  bottom: 0;
  transform: translateY(50%);
}

main.report_detail figure {
  margin: min(4rem, 40px) auto 0;
  width: 70%;
  overflow: hidden;
}

main.report_detail div.wp-block-columns figure {
  width: 100%;
}

main.report_detail figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}


.post-template-default .common_txt p {
margin-top: min(5rem, 50px);
margin-bottom: min(3rem, 30px);
line-height:1.7;
}

.report-template-default .common_txt p {
margin-bottom: min(3rem, 30px);
line-height:2.2;
}

.report-template-default figure img {
width:100%;
height:100%;
object-fit: cover;
object-position: center center;
}

@media (max-width: 799px) {
  main.report_detail div.report_box {
    border-radius: 1rem;
    padding: 4rem 2rem;
  }

  main.report_detail div.report_box h3.repeat_h3 {
    font-size: 2.4rem;
    gap: 0.4rem;
    letter-spacing: 0em;
  }

  main.report_detail div.report_box h3.repeat_h3::before {
    width: 2.4rem;
    height: 3.2rem;
  }

  main.report_detail div.report_box dl.report_info {
    margin-top: 4rem;
    gap: 2rem;
  }

  main.report_detail div.report_box dl.report_info div.report_info_wrap {
    flex-direction: column;
    align-items: start;
    gap: 0.8rem;
  }

  main.report_detail div.report_box dl.report_info div.report_info_wrap dt.report_info_dt {
    width: 8rem;
    height: 2.0rem;
    border-radius: .4rem;
    font-size: 1.2rem;
    border: .1rem solid var(--color_purple);
  }

  main.report_detail div.report_box dl.report_info div.report_info_wrap dd.report_info_dd {
    flex: none;
    width: 100%;
    font-size: 1.6rem;
  }

  main.report_detail div.report_box p {
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 2.2;
  }

  main.report_detail div.report_box h4.wp-block-heading {
    margin-top: 6rem;
    font-size: 1.8rem;
    border: 0.2rem solid var(--color_purple);
    padding: 1rem;
    line-height: 1.2;
  }

  main.report_detail div.report_box h4.wp-block-heading::before, 
  main.report_detail div.report_box h4.wp-block-heading::after {
    width: 2.4rem;
    height: 2.4rem;
  }

  main.report_detail div.report_box h5.wp-block-heading {
    margin-top: 4rem;
    font-size: 1.6rem;
    padding-bottom: 1rem;
    border-bottom: 0.1rem solid var(--color_purple);
    line-height: 1.2;
  }

  main.report_detail div.report_box h5.wp-block-heading::before {
    width: 10rem;
    height: 0.4rem;
    background-color: var(--color_purple);
  }

  main.report_detail figure {
    margin: 2rem auto 0;
    width: 100%;
  }

  main.report_detail div.wp-block-columns {
    gap: 0;
  }

  main.report_detail div.wp-block-columns figure {
    width: 100%;
  }

  main.report_detail figure img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }


  .post-template-default .common_txt p {
  margin-top: min(5rem, 50px);
  margin-bottom: min(3rem, 30px);
  line-height:1.7;
  }

  .report-template-default .common_txt p {
  margin-bottom: min(3rem, 30px);
  line-height:2.2;
  }

  .report-template-default figure img {
  width:100%;
  height:100%;
  object-fit: cover;
  object-position: center center;
  }
}

/* ----- page-event.php section.interaction ----- */

main.event section.interaction {
  background-color: var(--color_beige);
}

main.event section.interaction p.interaction_txt {
  margin-top: min(4rem, 40px);
  font-size: min(1.6rem, 16px);
  font-weight: 500;
  line-height: 2.0;
  text-align: center;
}

main.event section.interaction p.interaction_txt strong {
  display: block;
  font-size: min(2.0rem, 20px);
  font-weight: 900;
  line-height: 1.6;
  color: var(--color_green);
  margin-bottom: min(2rem, 20px);
}

main.event section.interaction div.interaction_box {
  margin-top: min(8rem, 80px);
}

main.event section.interaction div.interaction_box h3.interaction_h3 {
  margin: 0 auto;
  width: 100%;
  height: min(5rem, 50px);
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(2.4rem, 24px);
  font-weight: 700;
  border-top: min(.4rem, 4px) solid var(--color_purple);
  border-bottom: min(.4rem, 4px) solid var(--color_purple);
  position: relative;
}

main.event section.interaction div.interaction_box h3.interaction_h3::before, 
main.event section.interaction div.interaction_box h3.interaction_h3::after {
  content: '';
  display: block;
  position: absolute;
  width: min(0.4rem, 4px);
  height: calc(100% + min(2.2rem, 22px));
  background-color: var(--color_purple);
  top: 0;
  bottom: 0;
		margin:auto;
  left: min(.8rem, 8px);
}

main.event section.interaction div.interaction_box h3.interaction_h3::after {
  left: auto;
  right: min(.8rem, 8px);
}

main.event section.interaction div.interaction_box dl.interaction_dl {
  margin: min(4rem, 40px) auto 0;
  width: min(80rem, 800px);
  display: flex;
  flex-direction: column;
  gap: 0;
}

main.event section.interaction div.interaction_box dl.interaction_dl div.interaction_wrap {
  display: flex;
  align-items: stretch;
  gap: 0;
}

main.event section.interaction div.interaction_box dl.interaction_dl div.interaction_wrap dt.interaction_dt {
  width: min(20rem, 200px);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: min(2.0rem, 20px);
  font-weight: 700;
  background-color: var(--color_light_gray);
  border-bottom: min(.1rem, 1px) solid #fff;
}

main.event section.interaction div.interaction_box dl.interaction_dl div.interaction_wrap dd.interaction_dd {
  flex: 1;
  padding: min(2rem, 20px);
  font-size: min(1.6rem, 16px);
  font-weight: 500;
  line-height: 1.6;
  border-bottom: min(.1rem, 1px) solid var(--color_gray);
  background-color: #fff;
}
main.event section.interaction div.interaction_box dl.interaction_dl div.interaction_wrap dd.interaction_dd span{
	margin-left: min(2rem,20px);
}
main.event section.interaction div.interaction_box dl.interaction_dl div.interaction_wrap dd.interaction_dd a{
  color: #fff;
  display: inline-block;
  background-color: var(--color_purple);
  padding: min(1.0rem, 10px);
  text-decoration: none;
  border-radius: min(.5rem, 5px);
}
main.event section.interaction div.interaction_box dl.interaction_dl div.interaction_wrap dd.interaction_dd a:hover{
  opacity:.6;
}
main.event section.interaction div.interaction_box dl.interaction_dl div.interaction_wrap dd.interaction_dd div.google_map {
  margin-top: min(2rem, 20px);
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  position: relative;
}

main.event section.interaction div.interaction_box dl.interaction_dl div.interaction_wrap dd.interaction_dd div.google_map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media (max-width: 799px) {
  
  main.event section.interaction p.interaction_txt {
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 1.8;
    text-align: left;
  }
  
  main.event section.interaction p.interaction_txt strong {
    display: block;
    font-size: 1.8rem;
    line-height: 1.4;
    margin-bottom: 2rem;
  }
  
  main.event section.interaction div.interaction_box {
    margin-top: 4rem;
  }
  
  main.event section.interaction div.interaction_box h3.interaction_h3 {
    height: 4rem;
    font-size: 1.8rem;
    border-top: .2rem solid var(--color_purple);
    border-bottom: .2rem solid var(--color_purple);
  }
  
  main.event section.interaction div.interaction_box h3.interaction_h3::before, 
  main.event section.interaction div.interaction_box h3.interaction_h3::after {
    width: .2rem;
    height: calc(100% + 1.6rem);
    left: .8rem;
  }
  
  main.event section.interaction div.interaction_box h3.interaction_h3::after {
    left: auto;
    right: .8rem;
  }
  
  main.event section.interaction div.interaction_box dl.interaction_dl {
    margin: 4rem auto 0;
    width: 100%;
  }
  
  main.event section.interaction div.interaction_box dl.interaction_dl div.interaction_wrap {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 0;
  }
  
  main.event section.interaction div.interaction_box dl.interaction_dl div.interaction_wrap dt.interaction_dt {
    width: 100%;
    padding: 2.0rem 0;
    font-size: 1.6rem;
    font-weight: 700;
    border-bottom: none;
  }
  
  main.event section.interaction div.interaction_box dl.interaction_dl div.interaction_wrap dd.interaction_dd {
    flex: none;
    width: 100%;
    padding: 2rem;
    font-size: 1.4rem;
    line-height: 1.6;
    border-bottom: none;
    box-sizing: border-box;
  }
  main.event section.interaction div.interaction_box dl.interaction_dl div.interaction_wrap dd.interaction_dd span{
	  margin-left:0;
	  display: block;
	  margin-top: 10px;
	 }
  main.event section.interaction div.interaction_box dl.interaction_dl div.interaction_wrap dd.interaction_dd div.google_map {
    margin-top: 2rem;
    padding-bottom: 75%;
  }
  
  main.event section.interaction div.interaction_box dl.interaction_dl div.interaction_wrap dd.interaction_dd div.google_map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

main.event section.tickets table.tickets_table {
  margin-top: 4rem;
  width: 100%;
}

main.event section.tickets table.tickets_table thead th {
  height: min(6rem, 60px);
  font-size: min(1.5rem, 15px);
  font-weight: 700;
  background-color: var(--color_green);
  color: #fff;
  border: min(.1rem, 1px) solid #fff;
}
main.event section.tickets table.tickets_table thead th:nth-of-type(5) {
    width:min(150px, 20rem);
}
main.event section.tickets table.tickets_table tbody tr {
  border-right: min(.1rem, 1px) solid var(--color_gray);
}

main.event section.tickets table.tickets_table tbody th {
  height: min(8rem, 80px);
  background-color: var(--color_light_gray);
  font-size: min(1.4rem, 14px);
  font-weight: 500;
  border-bottom: min(.1rem, 1px) solid #fff;
}

main.event section.tickets table.tickets_table tbody td {
  padding-left: min(1rem, 10px);
  font-size: min(1.4rem, 14px);
  font-weight: 700;
  border-left: min(.1rem, 1px) solid var(--color_gray);
  border-bottom: min(.1rem, 1px) solid var(--color_gray);
  letter-spacing: 0em;
}

main.event section.tickets table.tickets_table tbody tr td:nth-of-type(2) {
  padding-left: 0;
  padding-right: min(1rem, 10px);
  text-align: right;
}

main.event section.tickets table.tickets_table tbody tr td:nth-of-type(4) {
  padding-left: 0;
}

main.event section.tickets table.tickets_table tbody tr td:nth-of-type(4) a {
  display: block;
  width: 90%;
  margin: 0 auto;
  background-color: var(--color_purple);
  border-radius: min(.5rem, 5px);
  color: #fff;
  font-size: min(1.4rem, 14px);
  font-weight: 700;
  position: relative;
  padding: min(2.2rem, 18px);
  padding-left: 0;
  padding-right: 0;
  letter-spacing: .1em;
  transition: all 0.8s ease;
  text-align:center;
}

}

@media (hover: hover) {
  main.event section.tickets table.tickets_table tbody tr td:nth-of-type(4) a:hover {
    opacity: .6;
  }
  
  main.event section.tickets table.tickets_table tbody tr td:nth-of-type(4) a:hover::before {
    transform: translate(20%, -400%);
  }
}

@media (max-width: 799px) {
  main.event section.tickets table.tickets_table {
    margin-top: 4rem;
    width: 100%;
  }

  main.event section.tickets table.tickets_table tbody {
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }

  main.event section.tickets table.tickets_table tbody tr {
    border-right: .1rem solid var(--color_gray);
    border-bottom: .1rem solid var(--color_gray);
    display: block;
  }
  
  main.event section.tickets table.tickets_table tbody th {
    height: 6rem;
    background-color: var(--color_green);
    font-size: 1.6rem;
    font-weight: 500;
    border-bottom: .1rem solid #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
  }
  
  main.event section.tickets table.tickets_table tbody td {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 3rem;
    padding-left: 0;
    font-size: 1.4rem;
    border-left: .1rem solid var(--color_gray);
    border-bottom: none;
    letter-spacing: 0.04em;
  }
  
  main.event section.tickets table.tickets_table tbody tr td:nth-of-type(2) {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    font-size: 2.0rem;
  }
  
  main.event section.tickets table.tickets_table tbody tr td:empty {
    display: none;
  }
  
  main.event section.tickets table.tickets_table tbody tr td:nth-of-type(4) {
    padding-left: 0;
    height: 6rem;
  }
  
  main.event section.tickets table.tickets_table tbody tr td:nth-of-type(4) a {
    width: 50%;
    /* height: 4rem; */
    margin: 0 auto;
    font-size: 1.2rem;
  }
  
  main.event section.tickets table.tickets_table tbody tr td:nth-of-type(4) a::before {
    width: 40%;
    height: 0.2rem;
    transform: translate(0%, -300%);
  }
}

/* ----- archive-news_list.php ----- */

main.news_list {
  background-image: url(img/bg_report.jpg);
  background-size: 100%;
  background-position: left top;
  background-repeat: repeat;
}

main.news_list dl.news_dl {
  margin-top: min(4rem, 40px);
  padding: min(4rem, 40px);
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-radius: min(1.6rem, 16px);
}

main.news_list dl.news_dl a.news_wrap {
  display: flex;
  align-items: start;
  padding: min(2.4rem, 24px) 0;
  border-bottom: min(.1rem, 1px) solid var(--color_gray);
}

main.news_list dl.news_dl a.news_wrap dt.news_dt {
  width: min(16rem, 160px);
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  color: var(--color_green);
  line-height: 1.4;
}

main.news_list dl.news_dl a.news_wrap dd.news_dd {
  flex: 1;
  font-size: min(1.6rem, 16px);
  line-height: 1.4;
}

@media (max-width: 799px) {
  
  main.news_list dl.news_dl {
    margin-top: 4rem;
    padding: 2rem;
    border-radius: .8rem;
  }
  
  main.news_list dl.news_dl a.news_wrap {
    flex-direction: column;
    align-items: start;
    gap: 0.8rem;
    padding: 2rem 0;
    border-bottom: .1rem solid var(--color_gray);
  }

  main.news_list dl.news_dl a.news_wrap:last-of-type {
    border-bottom: none;
  }
  
  main.news_list dl.news_dl a.news_wrap dt.news_dt {
    width: 100%;
    font-size: 1.4rem;
  }
  
  main.news_list dl.news_dl a.news_wrap dd.news_dd {
    flex: none;
    width: 100%;
    font-size: 1.4rem;
  }
}

/* ----- page-sponsorship.php ----- */

main.sponsorship section.sponsorship div.sponsorship_lead_area {
  margin-top: min(12rem, 120px);
  position: relative;
}

main.sponsorship section.sponsorship div.sponsorship_lead_area span.category {
  display: block;
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  color: var(--color_purple);
  letter-spacing: 0.04em;
}

main.sponsorship section.sponsorship div.sponsorship_lead_area span.category span {
  color: var(--color_main);
}

main.sponsorship section.sponsorship div.sponsorship_lead_area h3.company {
  margin-top: min(2rem, 20px);
  font-size: min(3rem, 30px);
  font-weight: 700;
  line-height: 1.4;
}

main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_bnr {
  position: absolute;
  width: min(70rem, 700px);
  top: 0;
  right: 0;
  transform: translate(10%, -15%);
}

@media (max-width: 1140px) {
  main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_bnr {
    transform: translate(2%, -15%);
  }  
}

main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_box {
  margin-top: min(15rem, 150px);
  padding: min(8rem, 80px) min(8rem, 80px) min(6rem, 60px);
  width: 100%;
  background-color: #e9ebf2;
  border-radius: min(3.2rem, 32px);
}

main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_box dl.sponsorship_list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_box dl.sponsorship_list div.sponsorship_item {
  display: flex;
  align-items: start;
  padding:  min(2rem, 20px);
  border-bottom: min(.1rem, 1px) dotted var(--color_main);
}

main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_box dl.sponsorship_list div.sponsorship_item dt.sponsorship_dt {
  width: min(20rem, 200px);
  font-size: min(1.6rem, 16px);
  font-weight: 700;
}

main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_box dl.sponsorship_list div.sponsorship_item dd.sponsorship_dd {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: min(1.6rem, 16px);
}

main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_box dl.sponsorship_list div.sponsorship_item dd.sponsorship_dd span {
  display: block;
  font-size: min(1.6rem, 16px);
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 2.2;
}

@media (max-width: 799px) {
  main.sponsorship section.sponsorship div.sponsorship_lead_area {
    margin-top: 4rem;
  }

  main.sponsorship section.sponsorship div.sponsorship_lead_area span.category {
    font-size: 1.4rem;
    letter-spacing: 0.04em;
  }

  main.sponsorship section.sponsorship div.sponsorship_lead_area h3.company {
    margin-top: 1rem;
    font-size: 2rem;
    line-height: 1.4;
  }

  main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_bnr {
    position: static;
    margin-top: 2rem;
    margin-left: -2rem;
    margin-right: -2rem;
    width: calc(100% + 4rem);
    transform: none;
  }

  main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_box {
    margin-top: 2rem;
    padding: 4rem 2rem;
    border-radius: .8rem;
  }

  main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_box dl.sponsorship_list {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_box dl.sponsorship_list div.sponsorship_item {
    flex-direction: column;
    align-items: start;
    gap: 1.6rem;
    padding: 2rem 0;
    border-bottom: .1rem dashed var(--color_main);
  }

  main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_box dl.sponsorship_list div.sponsorship_item:first-of-type {
    padding-top: 0;
  }

  main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_box dl.sponsorship_list div.sponsorship_item dt.sponsorship_dt {
    width: 100%;
    font-size: 1.8rem;
    text-align: center;
  }

  main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_box dl.sponsorship_list div.sponsorship_item dd.sponsorship_dd {
    flex: none;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
  }

  main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_box dl.sponsorship_list div.sponsorship_item dd.sponsorship_dd span {
    font-size: 1.4rem;
    line-height: 1.2;
  }

  main.sponsorship section.sponsorship div.sponsorship_lead_area div.lead_box dl.sponsorship_list div.sponsorship_item:last-of-type dd.sponsorship_dd span {
/*
    padding-left: .5em;
    text-indent: -.5em;
*/
    line-height: 1.4;
  }
}

main.sponsorship section.sponsorship div.sponsorship_box {
  margin-top: min(12rem, 120px);
  padding: min(6rem, 60px);
  background-color: #fff;
  border-radius: min(3.2rem, 32px);
  box-shadow: 0 0 min(1rem, 10px) rgba(0, 0, 0, 0.1);
  background-image: url(img/_sponsorship/bg_sponsorsip.png);
  background-size: 50%;
  background-position: right top;
  background-repeat: no-repeat;
}

main.sponsorship section.sponsorship div.sponsorship_box h4.sponsorship_h4 {
  font-size: min(2.5rem, 25px);
  font-weight: 700;
  letter-spacing: 0.04em;
}

main.sponsorship section.sponsorship div.sponsorship_box h5.sponsorship_h5 {
  margin-top: min(2rem, 20px);
  font-size: min(1.6rem, 16px);
  font-weight: 700;
  letter-spacing: 0.04em;
}

main.sponsorship section.sponsorship div.sponsorship_box .sponsorship_txt {
  margin-top: min(4rem, 40px);
  font-size: min(1.6rem, 16px);
  line-height: 2.2;
}

main.sponsorship section.sponsorship div.sponsorship_box .sponsorship_txt p {
  line-height: 2.2;
}

main.sponsorship section.sponsorship div.sponsorship_box div.sponsorship_img {
  margin-top: min(2rem, 20px);
  width: 100%;
}

main.sponsorship section.sponsorship div.sponsorship_box div.sponsorship_wrap {
  display: flex;
  align-items: start;
  gap: min(5rem, 50px);
}

main.sponsorship section.sponsorship div.sponsorship_box div.sponsorship_wrap div.txt_area {
  width: min(45rem, 450px);
}

main.sponsorship section.sponsorship div.sponsorship_box div.sponsorship_wrap div.img_area {
  flex: 1;
  width: 100%;
  margin-right: max(-6rem, -60px);
  transform: translateY(max(-15rem, -150px));
}

@media (max-width: 799px) {
  main.sponsorship section.sponsorship div.sponsorship_box {
    margin-top: 4rem;
    padding: 4rem 2rem;
    border-radius: .8rem;
    background-size: 100%;
    box-shadow: 0 0 1rem rgba(0, 0, 0, 0.1);
  }
  
  main.sponsorship section.sponsorship div.sponsorship_box h4.sponsorship_h4 {
    font-size: 2rem;
  }

  main.sponsorship section.sponsorship div.sponsorship_box h5.sponsorship_h5 {
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 1.4;
  }
  
  main.sponsorship section.sponsorship div.sponsorship_box .sponsorship_txt {
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 2.2;
  }
  
  main.sponsorship section.sponsorship div.sponsorship_box div.sponsorship_img {
    margin-top: 2rem;
    width: calc(100% + 4rem);
    margin-left: -2rem;
    margin-right: -2rem;
  }
  
  main.sponsorship section.sponsorship div.sponsorship_box div.sponsorship_wrap {
    flex-direction: column;
    align-items: start;
    gap: 2rem;
  }
  
  main.sponsorship section.sponsorship div.sponsorship_box div.sponsorship_wrap div.txt_area {
    width: 100%;
  }
  
  main.sponsorship section.sponsorship div.sponsorship_box div.sponsorship_wrap div.txt_area .sponsorship_txt {
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 2.2;
  }
  
  main.sponsorship section.sponsorship div.sponsorship_box div.sponsorship_wrap div.img_area {
    flex: none;
    width: calc(100% + 4rem);
    margin-left: -2rem;
    margin-right: -2rem;
    transform: none;
  }
}
