@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
}
html {
    scroll-behavior: smooth;
}



/* ==========================================================================
   Remodal's necessary styles
   ========================================================================== */

/* Hide scroll bar */

html.remodal-is-locked {
  overflow: hidden;

  touch-action: none;
}

/* Anti FOUC */

.remodal,
[data-remodal-id] {
  display: none;
}

/* Necessary styles of the overlay */

.remodal-overlay {
  position: fixed;
  z-index: 9999;
  top: -5000px;
  right: -5000px;
  bottom: -5000px;
  left: -5000px;

  display: none;
}

/* Necessary styles of the wrapper */

.remodal-wrapper {
  position: fixed;
  z-index: 10000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  display: none;
  overflow: auto;

  text-align: center;

  -webkit-overflow-scrolling: touch;
}

.remodal-wrapper:after {
  display: inline-block;

  height: 100%;
  margin-left: -0.05em;

  content: "";
}

/* Fix iPad, iPhone glitches */

.remodal-overlay,
.remodal-wrapper {
  backface-visibility: hidden;
}

/* Necessary styles of the modal dialog */

.remodal {
  position: relative;

  outline: none;

  text-size-adjust: 100%;
}

.remodal-is-initialized {
  /* Disable Anti-FOUC */
  display: inline-block;
}
/* ==========================================================================
   Remodal's default mobile first theme
   ========================================================================== */

/* Default theme styles for the background */

.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {
  filter: blur(3px);
}

/* Default theme styles of the overlay */

.remodal-overlay {
  background: rgba(43, 46, 56, 0.9);
}

.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
}

.remodal-overlay.remodal-is-opening {
  animation-name: remodal-overlay-opening-keyframes;
}

.remodal-overlay.remodal-is-closing {
  animation-name: remodal-overlay-closing-keyframes;
}

/* Default theme styles of the wrapper */

.remodal-wrapper {
  padding: 50px 30px 50px;
}

/* Default theme styles of the modal dialog */

.remodal {
  box-sizing: border-box;
  width: 100%;
  margin-bottom: 10px;
  padding: 50px;
  transform: translate3d(0, 0, 0);
  color: #2b2e38;
  background: #fff;
  border-radius: 50px;
  filter: drop-shadow( 0 0 30px rgba(0,0,0,.4));
}
@media screen and (max-width: 820px) {
.remodal {
  padding: 30px 20px;
  border-radius: 50px;
}
}

.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
  animation-duration: 0.3s;
  animation-fill-mode: forwards;
}

.remodal.remodal-is-opening {
  animation-name: remodal-opening-keyframes;
}

.remodal.remodal-is-closing {
  animation-name: remodal-closing-keyframes;
}

/* Vertical align of the modal dialog */

.remodal,
.remodal-wrapper:after {
  vertical-align: middle;
}

/* Close button */

.remodal-close {
  position: absolute;
  top: 20px;
  right: 20px;

  display: block;
  overflow: visible;

  width: 50px;
  height: 50px;
  margin: 0;
  padding: 0;

  cursor: pointer;
  transition: color 0.2s;
  text-decoration: none;

  color: #000;
  border: 0;
  outline: 0;
  background: transparent;
}
@media screen and (max-width: 820px) {
.remodal-close {
  top: -30px;
  right: -20px;
  color: #fff;
}
}

.remodal-close:hover,
.remodal-close:focus {
  color: #838383;
}

.remodal-close:before {
  font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif !important;
  font-size: 80px;
  line-height: 50px;

  position: absolute;
  top: 0;
  left: 0;

  display: block;

  width: 50px;

  content: "\00d7";
  text-align: center;
}
@media screen and (max-width: 820px) {
.remodal-close:before {
  font-size: 50px;
}
}
/* Dialog buttons */

.remodal-confirm,
.remodal-cancel {
  font: inherit;

  display: inline-block;
  overflow: visible;

  min-width: 110px;
  margin: 0;
  padding: 12px 0;

  cursor: pointer;
  transition: background 0.2s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;

  border: 0;
  outline: 0;
}

.remodal-confirm {
  color: #fff;
  background: #81c784;
}

.remodal-confirm:hover,
.remodal-confirm:focus {
  background: #66bb6a;
}

.remodal-cancel {
  color: #fff;
  background: #e57373;
}

.remodal-cancel:hover,
.remodal-cancel:focus {
  background: #ef5350;
}

/* Remove inner padding and border in Firefox 4+ for the button tag. */

.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner {
  padding: 0;

  border: 0;
}

/* Keyframes
   ========================================================================== */

@keyframes remodal-opening-keyframes {
  from {
    transform: scale(1.05);

    opacity: 0;
  }
  to {
    transform: none;

    opacity: 1;

    filter: blur(0);
  }
}

@keyframes remodal-closing-keyframes {
  from {
    transform: scale(1);

    opacity: 1;
  }
  to {
    transform: scale(0.95);

    opacity: 0;

    filter: blur(0);
  }
}

@keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

/* Media queries
   ========================================================================== */

@media only screen and (min-width: 641px) {
  .remodal {
    max-width: 1200px;
  }
}

/* IE8
   ========================================================================== */

.lt-ie9 .remodal-overlay {
  background: #2b2e38;
}

.lt-ie9 .remodal {
  width: 1200px;
}



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

tournamentページ_style

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

body.tournament {
    position: relative;
    line-height: 1.4;
    font-size: 100%;
	letter-spacing: .05em;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-weight: 400;
	-webkit-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	font-feature-settings: "palt";
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
    background: url("img/FV_bg.png") center top no-repeat;
    background-size: 100% auto;
    counter-reset: number 0;
}
body.tournament #container::after {
    position: absolute;
    display: block;
    content: "";
    top: 0;
    left: 0;
    background: url("img/bg_noise_pattern.png") center center repeat;
    background-size: 150px auto;
    width: 100%;
    height: 100%;
    mix-blend-mode: multiply;
    z-index: 0;
}
body.tournament .sec-inner {
    position: relative;
    max-width: 1100px;
    padding: 0 50px;    
    margin: auto;
    z-index: 1;
}
body.tournament .flex-box {
    display: flex;
}
body.tournament h2 {
    font-size: 1.8rem;
    font-weight: 900;
    margin-bottom: 40px;
    text-align: center;
}

body.tournament .btn {
    display: block;
    text-align: center;
    color: #fff;
    background: url("img/arrow_white.svg") calc(100% - 20px) center no-repeat;
    background-color: #000;
    background-size: 10px auto;
    border-radius: 100px;
    padding: 20px 30px;
    max-width: 550px;
    margin: auto;
    font-weight: bold;
    line-height: 1.4;
    opacity: 1;
    transition: opacity .2s ease;
}
body.tournament .ig,body.tournament .wpcf7-submit {
    opacity: 1;
    transition: opacity .2s ease;
}
body.tournament .btn:hover,
body.tournament .ig:hover,
body.tournament .wpcf7-submit:hover {
    opacity: .6;
}
body.tournament .btn.border {
    background: url("img/arrow_black.svg") calc(100% - 20px) center no-repeat;
    background-size: 10px auto;
    border: 1px solid #000;
    color: #000;
}
body.tournament .btn.white {
    background: url("img/arrow_black.svg") calc(100% - 20px) center no-repeat;
    background-size: 10px auto;
    background-color: #fff;
    border: 1px solid #000;
    color: #000;
}
body.tournament .btn.green {
    color: #fff;
    background: url("img/arrow_white.svg") calc(100% - 20px) center no-repeat #07b53b;
    background-size: 10px auto;
}
body.tournament .btn.line {
    color: #07b53b;
    background: url("img/arrow_green.svg") calc(100% - 20px) center no-repeat #fff;
    background-size: 10px auto;
    border: 1px solid #07b53b;
    border-radius: 30px;
}
body.tournament .marker {
    background-color: #fff;
    padding: 3px 5px 2px;
    font-weight: 600;
}
body.tournament .marker.black {
    background-color: #000;
    color: #fff;
}
body.tournament .column .right .inner {
    padding: 0 20px 30px;
}
body.tournament .pc {
    display: block;
}
body.tournament .sp {
    display: none;
}
@media screen and (max-width: 820px) {
body.tournament {
    height: auto;
    background: url("img/FV_bg_sp.png") no-repeat;
    background-size: contain;
}
body.tournament .sec-inner {
    padding: 0 20px;
}
body.tournament h2 {
    font-size: 1rem;
    margin-bottom: 20px;
    text-align: center;
    line-height: 1.8;
}
    
body.tournament .btn {
    background: url("img/arrow_white.svg") calc(100% - 20px) center no-repeat  #000;
    background-size: 8px auto;
    padding: 20px 10px;
    max-width: none;
    margin:auto;
}
body.tournament .btn.white {
    background: url("img/arrow_black.svg") calc(100% - 20px) center no-repeat #fff;
    background-size: 8px auto;
}
body.tournament .btn.green {
    background: url("img/arrow_white.svg") calc(100% - 20px) center no-repeat #07b53b;
    background-size: 8px auto;
}
body.tournament .btn.line {
    background: url("img/arrow_green.svg") calc(100% - 20px) center no-repeat #fff;
    background-size: 8px auto;
}
body.tournament .marker {
    padding: 3px 5px 2px;
}
body.tournament .column .right .inner {
    padding: 0 10px 30px;
}
body.tournament .pc {
    display: none !important;
}
body.tournament .sp {
    display: block;
}
}



/*scrollAnim------------------------------------------------------------------*/
body.tournament .mark {
    opacity: 0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
body.tournament .scrollAnim {
	-webkit-backface-visibility:hidden;
    backface-visibility:hidden;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
    -webkit-animation-fill-mode: forwards;
	animation-fill-mode: forwards;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
	will-change: animation, transform, opacity;
    -webkit-animation-name: anim;
	animation-name: anim;
}
@-webkit-keyframes anim {
    0% { opacity: 0; transform: translate(0, 40%);}
    100% { opacity: 1; transform: translate(0, 0); }
}
@keyframes anim {
    0% { opacity: 0; transform: translate(0, 40%);}
    100% { opacity: 1; transform: translate(0, 0); }
}

/*parallax----------------*/
@keyframes parallax-anim {
  from {
    transform: translateY(1000px);
  }
  to {
    transform: translateY(0px);
  }
}


@media screen and (max-width: 820px) {
.pagetop {
    position: fixed;
    bottom: 30px;
    right: 10px;
    background: url("img/arrow_up.svg") center center no-repeat #fff;
    background-size: 15px auto;
    border-radius: 100px;
    opacity: 1;
    width: 50px;
    height: 50px;
    filter: drop-shadow( 0 0 10px rgba(56,108,180,.3));
    transition: opacity 1s;
    z-index: 10;
}
.pagetop.fadeout {
    opacity: 0;
}
}


/*header------------------------------------------------------------------*/
body.tournament header {
    position: fixed;
    display: flex;
    height: 60px;
    justify-content: space-between;
    padding: 10px 10px 10px 20px;
    z-index: 10;
    width: calc(100% - 30px);
    gap: 20px
}
body.tournament header .logo {
    position: relative;
    flex-basis: 215px;
}
body.tournament header .logo img {
    position: absolute;
    max-width: 215px;
    width: 100%;
    height: auto;
}
body.tournament header nav.tournament ul,
body.tournament header .cv {
    display: flex;
    height: 100%;
    align-items: center;
}
body.tournament header nav.tournament ul {
    gap: 30px;
    padding: 0 30px;
    font-size: 1rem;
    font-weight: bold;
    line-height: 1.1;
}
body.tournament header .cv {
    flex-basis: 230px;
}
body.tournament header .cv .btn.white {
    width: 100%;
    font-size: 1.1rem;
    padding: 10px 30px;
    min-height: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: none;
}
body.tournament .ig {
}
#sp-nav {
    display: none;
}
@media screen and (max-width: 820px) {
body.tournament header {
    height: 40px;
    padding: 10px;
    width: calc(100% - 20px);
}
body.tournament header nav.tournament {
    display: none;
}
body.tournament header .logo {
    position: relative;
}
body.tournament header .logo img {
    max-width: 104px;
}
body.tournament header .cv {
    flex-basis: 40px;
}
body.tournament header .cv .btn {
    width: 90px;
    font-size: .75rem;
    padding: 5px 30px;
    min-height: auto;
    height: calc(100% - 10px);
    background-image: unset;
    margin: 0 0 0 auto;
}
body.tournament header .cv .open-btn {
    width: 40px;
    height: 40px;
    background: url(img/sp_nav.svg) center center no-repeat;
    background-size: 40px auto;
}
    
#sp-nav {
    display: block;
    position: fixed;
    top:0;
    right: -120%;
    width: calc(80vw);
    height: 100vh;
    background-color: #fff;
    z-index: 20;
    opacity: 0;
    filter: drop-shadow( 0 0 10px rgba(56,108,180,.3));
    transition: all 0.6s ease;
}
#sp-nav .inner {
    padding: 120px 30px 50px;    
}
#sp-nav .inner ul {
    margin: 0 0 40px;
}
#sp-nav .inner ul li {
    margin: 0 0 20px;
}

#sp-nav .inner ul li a {
    color: #2692cf;
    font-weight: bold;
}
#sp-nav .inner .cv,
#sp-nav .inner .ig {
    margin: 30px 0 20px;
    filter: none;
}
#sp-nav .inner .ig {
    width: 60px;
    height: 60px;
    background: #000;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
}
#sp-nav.active {
    right: 0;
    opacity: 1;
}
#sp-nav .close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    background:url("img/sp_nav_close.svg") center center no-repeat;
    background-size: 40px auto;
} 

body.tournament .over {
    display: none;
    width: 100vw;
    height: 100vh;
    position: fixed;
    background-color: rgba(0,0,0,.5);
    z-index: 15;
    opacity: 0;
    transition: all 0.6s ease;
}
body.tournament .over.active {
    display: block;
    animation: op .5s ease .2s forwards ;
}
}
@keyframes op {
	0% { opacity: 0; }
	100% { opacity: 1;}
}


/*FV------------------------------------------------------------------*/
body.tournament #fv {
    position: relative;
    padding: 80px 20px 20px;
    margin: auto;
    height: calc(85vh - 100px);
}
body.tournament #fv .contents {
    width: 60vw;
    height: 100%;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;  
    align-items: center;
}
body.tournament #fv .contents h1 {
    width: 50vw;
    height: auto;
    text-align: center;
}
body.tournament #fv .contents h1 img {
    width: 100%;
}
body.tournament #fv .ig {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
    height: 150px;
    background: url("img/icon_ig.png") center center no-repeat #000;
    background-size: 50% auto;
    border-radius: 20px 0 0 20px;
    z-index: 1;
}


@media screen and (max-width: 820px) {
body.tournament #fv {
    padding: 40px 30px 0;
    height: calc(55vh - 40px);
}
body.tournament #fv .contents {
    width: 100%;
    height:100%;
    padding: 0;
    margin: 0 0 30px;
    text-align: center;
    position: relative;
}
body.tournament #fv .contents h1 {
    width: 100%;
    height: auto;
    text-align: center;
    margin-top: -40px;
}
body.tournament #fv .contents .btn {
    position: absolute;
    bottom: 0;
    width: calc(100% - 60px);
    border: none;
    z-index: 2;
}
}

/*section#event ------------------------------------------------------------------*/
body.tournament section#section1 {
    position: relative;
    padding: 80px 0 0;
}
body.tournament section#section1 .sec-inner {
    position: relative;
    max-width: 900px;
    margin: auto;
    padding: 60px 50px 40px;
    z-index: 1;
    mix-blend-mode: multiply;
}
body.tournament section#section1 .sec-inner::before,
body.tournament section#section1 .sec-inner::after {
    display: block;
    content: "";
    position: absolute;
}
body.tournament section#section1 .sec-inner::before {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 108px 108px 0 0;
    background: linear-gradient(0deg, transparent 0%,  transparent 10% , #ceebe7 50%, #b8e0b8 100%);
    background: -webkit-linear-gradient(90deg, transparent 0%, transparent 10% , #ceebe7 50%, #b8e0b8 100%);
    z-index: -1;
}
body.tournament section#section1 .sec-inner::after {
    top: 20px;
    left: 20px;
    border-radius: 88px 88px 0 0;
    background-color: #fff;
    width: calc(100% - 40px);
    height: calc(100% - 40px);
    z-index: -1;
}
body.tournament section#section1 h2 img {
    max-width: 270px;
}
body.tournament section#section1 .date { text-align: center;}
body.tournament section#section1 .detail {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
    font-size: 1.5rem;
    margin: 30px auto 0;
}
body.tournament section#section1 .detail .col:nth-of-type(2) {
    border: 2px solid #000;
    padding: 5px 15px;
    font-size: 1.6rem;
    font-weight: bold;
    
}
@media screen and (max-width: 820px) {
body.tournament section#section1 {
    padding: 60px 25px 0;
}
body.tournament section#section1 .sec-inner {
    padding: 30px 30px 40px;
    z-index: 1;
    mix-blend-mode: multiply;
}
body.tournament section#section1 .sec-inner::before {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 54px 54px 0 0;
    background: linear-gradient(0deg, transparent 0%, #ceebe7 50%, #b8e0b8 100%);
    background: -webkit-linear-gradient(90deg, transparent 0% , #ceebe7 50%, #b8e0b8 100%);
    z-index: -1;
}
body.tournament section#section1 .sec-inner::after {
    top: 10px;
    left: 10px;
    border-radius: 44px 44px 0 0;
    background-color: #fff;
    width: calc(100% - 20px);
    height: calc(100% - 10px);
    z-index: -1;
}
body.tournament section#section1 h2 img {
    max-width: 126px;
}
body.tournament section#section1 .detail {
    flex-direction: column;
    gap: 15px;
    font-size: .8rem;
    margin: 15px auto 0;
}
body.tournament section#section1 .detail .col:nth-of-type(2) {
    border: 1px solid #000;
    padding: 5px 10px;
    font-size: .9rem;
    font-weight: bold;
    
}
}



/*section#section2 ------------------------------------------------------------------*/
body.tournament section#section2 {
    position: relative;
    padding: 90px 0 60px;
    background: linear-gradient(0deg, #94fcab 0%, #f6fbcb 100%);
    background: -webkit-linear-gradient(90deg, #94fcab 0%, #f6fbcb 100%);
}
body.tournament section#section2 .lead {
    text-align: center;
    font-weight: 600;
    font-size: 1.7rem;
}
body.tournament section#section2 .flex-box {
    display: flex;
    justify-content: center;
    gap: 80px;
    margin: 50px auto 0;
}

@media screen and (max-width: 820px) {
body.tournament section#section2 {
    position: relative;
    padding: 40px 0 30px;
    background: linear-gradient(0deg, #94fcab 0%, #f6fbcb 100%);
    background: -webkit-linear-gradient(90deg, #94fcab 0%, #f6fbcb 100%);
}
body.tournament section#section2 .lead {
    font-size: 1rem;
    line-height: 1.6;
}
body.tournament section#section2 .flex-box {
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 30px;
    margin: 30px auto 0;
    width: 80%;
}
}



/*section#section3 ------------------------------------------------------------------*/
.gradation-bg {
    background: linear-gradient(45deg, #f5f588,#9afcc2) 0 0 / 800% no-repeat;
    background: -webkit-linear-gradient(45deg, #f5f588,#9afcc2) 0 0 / 800% no-repeat;
  animation: gradientAnimation 10s ease infinite;
    padding: 0 0 100px;
}
@keyframes gradientAnimation {
  0% {
    background-position: 0% 30%, 0 0;
  }
  50% {
    background-position: 100% 70%, 0 0;
  }
  100% {
    background-position: 0% 30%, 0 0;
  }
}

@media screen and (max-width: 820px) {
.gradation-bg {
    padding: 0 0 60px;
}
}
/*section#section3 ------------------------------------------------------------------*/
body.tournament section#section3 {
    padding: 90px 0 200px;
    background: linear-gradient(0deg, transparent 0%, #FFF 20%, #FFF 100%);
    background: -webkit-linear-gradient(90deg, transparent 0%, #FFF 20%, #FFF 100%);
}
body.tournament section#section3 .flex-box {
    display: flex;
    gap: 15px;
    margin: 50px auto 70px;
    width: 100%;
}
body.tournament section#section3 .flex-box .col {
    position: relative;
    border-radius: 42px;
    border: solid 3px #ebebeb;
    padding: 0 30px 20px;
    flex-basis: calc(calc(100% - 30px) / 3);
}
body.tournament section#section3 .flex-box .col.point3 {
    background: url("img/3p.png") , linear-gradient(-20deg, transparent 0%,  transparent 10% , #ebebeb 10%, #ebebeb 35%, transparent 35%,  transparent 38%, #ebebeb 38%, #ebebeb 41%, transparent 41%,  transparent 43%, #ebebeb 43%, #ebebeb 44%,transparent 44%,  transparent 100% );
    background-size: 170px auto, auto;
    background-repeat: no-repeat;
    background-position:  calc(100% + 40px) 200px, center bottom;
}
body.tournament section#section3 .flex-box .col.point2 {
    background: url("img/2p.png"), linear-gradient(-20deg, transparent 0%,  transparent 10% , #ebebeb 10%, #ebebeb 35%, transparent 35%,  transparent 38%, #ebebeb 38%, #ebebeb 41%, transparent 41%, transparent 100% );
    background-size: 170px auto, auto;
    background-repeat: no-repeat;
    background-position:  calc(100% + 40px) 200px, center bottom;
    animation-delay: .5s;
}
body.tournament section#section3 .flex-box .col.point1 {
    background: url("img/1p.png"), linear-gradient(-20deg, transparent 0%,  transparent 10% , #ebebeb 10%, #ebebeb 35%, transparent 35%, transparent 100% );
    background-size: 170px auto, auto;
    background-repeat: no-repeat;
    background-position:  calc(100% + 40px) 200px, center bottom;
    animation-delay: 1s;
}

body.tournament section#section3 .flex-box .col .img {
    position: relative;
    width: 100%;
    height: 320px;
}
body.tournament section#section3 .flex-box .col .img img {
    position: absolute;
    top: calc(50% - 30px );
    left: 50%;
    transform: translate(-50%,-50%);
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
}
body.tournament section#section3 .flex-box .col p {
    font-size: 1.5rem;
    font-weight: bold;
    line-height: 1.4;
}
body.tournament section#section3 .sec-inner > p {
    font-size: 1.7rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.4;
}
body.tournament section#section3 .sec-inner > p sup{
    font-size: 1rem;
    display: inline-block; 
    transform: translateY(0.5rem);
}
body.tournament section#section3 .sec-inner > small {
    font-size: 1.2rem;
    text-align: center;
    display: block;
    margin: .5rem auto 2rem;
}
body.tournament section#section3 .btn {
    font-size: 1.5rem;
    padding: 20px 30px 20px 20px;
}

@media screen and (max-width: 820px) {
body.tournament section#section3 {
    padding: 40px 0;
    background: linear-gradient(0deg, transparent 0%, #FFF 20%, #FFF 100%);
    background: -webkit-linear-gradient(90deg, transparent 0%, #FFF 20%, #FFF 100%);
}
body.tournament section#section3 .sec-inner {
    overflow-x: hidden;
    padding: 0 20px 20px;
}
body.tournament section#section3 .flex-box {
    display: flex;
    gap: 10px;
    margin: 25px auto;
    width: 100%;
}
body.tournament section#section3 .flex-box .col {
    position: relative;
    border-radius: 21px;
    border: solid 2px #ebebeb;
    padding: 0 10px 10px;
    flex-basis: calc(calc(100% - 20px) / 3);
}
body.tournament section#section3 .flex-box .col.point3 {
    background: url("img/3p.png") , linear-gradient(-20deg, transparent 0%,  transparent 10% , #ebebeb 10%, #ebebeb 35%, transparent 35%,  transparent 38%, #ebebeb 38%, #ebebeb 41%, transparent 41%,  transparent 43%, #ebebeb 43%, #ebebeb 44%,transparent 44%,  transparent 100% );
    background-size: 50px auto, auto;
    background-repeat: no-repeat;
    background-position: calc(100% + 10px) 73%, center bottom;
}
body.tournament section#section3 .flex-box .col.point2 {
    background: url("img/2p.png"), linear-gradient(-20deg, transparent 0%,  transparent 10% , #ebebeb 10%, #ebebeb 35%, transparent 35%,  transparent 38%, #ebebeb 38%, #ebebeb 41%, transparent 41%, transparent 100% );
    background-size: 50px auto, auto;
    background-repeat: no-repeat;
    background-position:  calc(100% + 10px) 73%, center bottom;
    animation-delay: .5s;
}
body.tournament section#section3 .flex-box .col.point1 {
    background: url("img/1p.png"), linear-gradient(-20deg, transparent 0%,  transparent 10% , #ebebeb 10%, #ebebeb 35%, transparent 35%, transparent 100% );
    background-size: 52px auto, auto;
    background-repeat: no-repeat;
    background-position:  calc(100% + 10px) 73%, center bottom;
    animation-delay: 1s;
}

body.tournament section#section3 .flex-box .col .img {
    position: relative;
    width: 100%;
    height: 110px;
}
body.tournament section#section3 .flex-box .col .img img {
    position: absolute;
    top: calc(50% - 10px);
    left: 50%;
    transform: translate(-50%,-50%);
    width: 150%;
    height: 150%;
    min-height: auto;
    object-fit: contain;
}
body.tournament section#section3 .flex-box .col p {
    font-size: .5rem;
}
body.tournament section#section3 .sec-inner > p {
    font-size: 1rem;
    line-height: 1.6;
}
body.tournament section#section3 .sec-inner > p sup{
    font-size: .8rem;
    transform: translateY(0.6rem);
}
body.tournament section#section3 .sec-inner > small {
    font-size: .6rem;
    margin: .5rem auto 2rem;
}
body.tournament section#section3 .btn {
    font-size: 1.3rem;
    padding: 20px 30px 20px 20px;
}
}

/*section#section4.eventcontents ------------------------------------------------------------------*/
body.tournament section#section4.eventcontents {
    position: relative; 
    margin: -140px auto 0;
    padding: 80px 40px 0;
    overflow: hidden;
}
body.tournament section#section4.eventcontents .sec-inner > p.lead {
    text-align: center;
    font-size: 1.7rem;
    font-weight: bold;
    margin: 0 0 50px;
}
body.tournament section#section4.eventcontents .item {
    position: relative;
    max-width: 1400px;
    margin: 0 auto;
    background: #fff;
    border-radius: 50px;
    overflow: hidden;
    z-index: 1;
}
body.tournament section#section4.eventcontents .item.one {
    margin: 50px auto;
}
body.tournament section#section4.eventcontents .item .head-img {
    color: #fff;
}
body.tournament section#section4.eventcontents .item.one .head-img {
    padding: 60px 50px 90px;
    background: url("img/tournament_bg.png") left center no-repeat;
    background-size: cover;
}
body.tournament section#section4.eventcontents .item.two .head-img {
    padding: 60px 50px 60px 40%;
    background: url("img/talksession_bg.png") left center no-repeat;
    background-size: cover;
}
body.tournament section#section4.eventcontents .item.three .head-img {
    padding: 60px 50px 60px 60px;
    background: url("img/speech_bg.png") right center no-repeat;
    background-size: cover;
}body.tournament section#section4.eventcontents .item.four .head-img {
    padding: 60px 50px 60px 40%;
    background: url("img/exhibition_bg.png") left center no-repeat;
    background-size: cover;
}
body.tournament section#section4.eventcontents .item .head-img .sec-inner {
    padding: 0;
    margin: 0;
    max-width: 100%;
}
body.tournament section#section4.eventcontents .item.one .head-img .sec-inner {
    padding: 0 100px;
}
body.tournament section#section4.eventcontents .item .head-img h3 {
    font-size: 3.6rem;
    margin: 0 0 35px;
    line-height: 1.2;
}
body.tournament section#section4.eventcontents .item.two .head-img h3 {
    margin: 0 0 180px;
}
body.tournament section#section4.eventcontents .item .head-img h3 span.en-sup {
    display: flex;
    margin: 0 0 10px;
}
body.tournament section#section4.eventcontents .item .head-img h3 span.en-sup img {
    width: auto;
    height: 100%;
    max-height: 26px;
}
body.tournament section#section4.eventcontents .item .head-img h3 span.sub {
    font-size: 1.4rem;
    display: block;
    margin: 10px 0 0;
}
body.tournament section#section4.eventcontents .item .head-img p {
    font-size: 1.5rem;
    font-weight: bold;
    text-align: left;
    line-height: 1.8;
    margin: 0;
}
body.tournament section#section4.eventcontents .item .inner {
    padding: 70px 0;
}
body.tournament section#section4.eventcontents .item .inner .movie {
    position: relative;
    padding: 0 50px 100px;
    margin: 0 auto 40px;
}
body.tournament section#section4.eventcontents .item .inner .movie::after {
    display: block;
    content: "";
    width: 1px;
    height: 70px;
    background-color: #000;
    position: absolute;
    left: 50%;
    bottom:0;
    transform: translateX(-50%);
}
body.tournament section#section4.eventcontents .item .inner .movie h4 {
    display: inline-block;
    color: #fff;
    font-weight: 400;
    background-color: #000;
    border-radius: 50px;
    font-size: 1.3rem;
    padding: 3px 15px;
    margin: 0 auto 5px;
}
body.tournament section#section4.eventcontents .item .inner .movie .video {
  position: relative;
  width:100%;
  height:0;
  padding-top: 56.25%;
}
body.tournament section#section4.eventcontents .item .inner .movie .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 10px;
}

body.tournament section#section4.eventcontents .item .inner .joining h4 {
    position: relative;
    font-size: 2.8rem;
    font-weight: bold;
    border-left: solid 15px #000;
    padding: 0 0 0 15px;
    line-height: 1;
    margin: 0 0 100px;
}
/*body.tournament section#section4.eventcontents .item .inner .joining h4::after {
    display: block;
    content: "";
    width: 102%;
    height: 200px;
    background: url("img/participating_dentist_corporations_line.svg") left top no-repeat;
    background-size: 100%;
    position: absolute;
    top: 0;
    left: -13px;
    opacity: .3;
}*/
body.tournament section#section4.eventcontents .item .inner .joining .joining-group {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 30px;
    counter-reset: number 0;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col {
    position: relative;
    flex-basis: calc(calc(100% - 30px) / 2);
    cursor: pointer;
    opacity: 1;
    transition: opacity .2s;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col:hover {
    opacity: .7;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col::before {
    display: block;
    counter-increment: number 1;
    content: counter(number,decimal-leading-zero) " ";
    font-family: "Hind", sans-serif;
    font-weight: 700;
    font-style: normal;
    position: absolute;
    top: -10px;
    left: 10px;
    border-bottom: 15px solid #000;
    font-size: 3.75rem;
    line-height: .8;
    z-index: 1;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col .img {
    border-radius: 30px 30px 0 0;
    overflow: hidden;
    position: relative;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col .img .logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 60%;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col .img .logo img {
    width: 100%;
    height: auto;
    max-width: none;
    max-height: 150px;
    object-fit: contain;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col .img .bg {
    width: 100%;
    height: 250px;
    overflow: hidden;
    background-color: #8a8a8a;
    opacity: .5;
    line-height: 0;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col .img .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col .name {
    background-color: #000;
    color: #fff;
    text-align: center;
    font-weight: bold;
    border-radius: 0 0 30px 30px;   
    font-size: 1.2rem;
    padding: 15px 50px;
    background: url("img/arrow_white.svg") calc(100% - 30px) center no-repeat #000;
    background-size: 8px auto;
    height: calc(100% - 280px);
    display: flex;
    align-items: center;
    justify-content: center;
}
body.tournament .remodal .head {
    position: relative;
    text-align: left;
    display: flex;
    font-size: 2rem;
    font-weight: bold;
    align-items: flex-end;
    line-height: 1.2;
    overflow: hidden;
    margin: 0 0 40px;
    padding: 4px 0;
}
/*body.tournament .remodal .head::after {
    display: block;
    content: "";
    width: calc(100% - 30px);
    height: 100px;
    position: absolute;
    top: 0;
    left: 30px;
    background: url("img/participating_dentist_corporations_line.svg") 40px top no-repeat;
    background-size: 90% auto;
    z-index: -1;
    opacity: .2;
}*/
body.tournament .remodal .head .number {
    display: inline-block;
    font-family: "Hind", sans-serif;
    font-weight: 700;
    font-style: normal;
    border-bottom: 15px solid #000;
    font-size: 3rem;
    line-height: .8;
    margin: 0 20px 0 0;
}
body.tournament .remodal .real-image {
    margin: 0 auto  45px;
}
body.tournament .remodal .real-image img {
    width: 100%;
    height: auto;
}
body.tournament .remodal .logo {
    margin: 0 auto 45px;
}
body.tournament .remodal .logo img {
    width: 100%;
    max-width: 300px;
    height: auto;
    max-height: 150px;
    object-fit: contain;
}
body.tournament .remodal .message {
    text-align: left;
    font-size: 1.2rem;
    font-weight: bold;
    margin: 0 0 30px;
}
body.tournament .remodal .btn.border {
    max-width: 240px;
    border: solid #000 2px;
}
body.tournament section#section4.eventcontents .item .rule {
    margin: 80px auto 0;
}
body.tournament section#section4.eventcontents .item .rule h4 {
    font-size: 2rem;
    color: #fff;
    text-align: center;
    background: url("img/arrow_blue.svg") calc(100% - 100px) center no-repeat #000;
    background-size: 32px auto;
    padding: 10px;
    margin: 0 0 40px;
    cursor: pointer;
}
body.tournament section#section4.eventcontents .item .rule .rule-contents {
    overflow: hidden;
    display: none;
}
body.tournament section#section4.eventcontents .item .rule .flex-box {
    gap:50px;
    width: 90%;
    margin: 0 auto 40px;
}
body.tournament section#section4.eventcontents .item .rule .flex-box .col {
    flex-basis: calc(calc(100% - 150px) / 4);
    text-align: center;
}
body.tournament section#section4.eventcontents .item .rule .flex-box figure.col img  {
    width: 100%;
    height: auto;
    max-width: 190px;
    margin: auto;
}
body.tournament section#section4.eventcontents .item .rule .flex-box figure.col figcaption {
    margin: 10px 0 0;
    font-size: 1.5rem;
    font-weight: bold;
    letter-spacing: 0;
}
body.tournament section#section4.eventcontents .item .rule .flex-box figure.col figcaption span {
    padding: 0 3px;
}
body.tournament section#section4.eventcontents .item .rule .flex-box figure.col figcaption small {
    font-size: 1.1rem;
    line-height: 1;
}
body.tournament section#section4.eventcontents .item .rule .scoring { text-align: center;}
body.tournament section#section4.eventcontents .item .rule .scoring img {
    width: 100%;
    max-width: 1000px;
    margin: auto;
}
body.tournament section#section4.eventcontents .item.three .flex-box {
    gap: 30px;
    align-items: center;
    font-size: 1.8rem;
    font-weight: bold;
    margin: 0 0 30px;
}
body.tournament section#section4.eventcontents .item.three .flex-box .img {
    overflow: hidden;
    border-radius: 38px;
}
body.tournament section#section4.eventcontents .item.three .flex-box .img img {
    object-fit: cover;
    width: 100%
}
body.tournament section#section4.eventcontents .item.three .flex-box figcaption span {
    object-fit: cover;
    width: 100%;
    font-size: 2.2rem;
    display: block;
}
body.tournament section#section4.eventcontents .item.three .theme {
    margin: 0 0 30px;
}
body.tournament section#section4.eventcontents .item.four .exhibition-logo-group h4 {
    padding: 15px;
    font-size: 1.4rem;
    border-radius: 50px 50px 0 0;
    background-color: #000;
    color: #fff;
    text-align: center;
    margin: 50px 0 0;
}
body.tournament section#section4.eventcontents .item.four .exhibition-logo-group .img {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px 30px;
    background: rgba(255,255,255,.85);
    padding: 30px;
    border-radius: 0 0 50px 50px;
}
body.tournament section#section4.eventcontents .item.four .exhibition-logo-group .img .wp-block-image {
    flex-basis: calc(calc(100% - 60px) / 3 );
    max-width: calc(calc(100% - 60px) / 3 );
    text-align: center;
}

@media screen and (max-width: 820px) {
body.tournament section#section4.eventcontents {
    position: relative; 
    margin: -70px auto 0;
    padding: 80px 0 0;
    overflow: hidden;
}
body.tournament section#section4.eventcontents .sec-inner > p.lead {
    text-align: center;
    font-size: 1rem;
    font-weight: bold;
    margin: 0 0 40px;
}
body.tournament section#section4.eventcontents .item {
    border-radius: 0;
    overflow: hidden;
}
body.tournament section#section4.eventcontents .item.one {
    border-radius: 0 0 25px 25px;
}
body.tournament section#section4.eventcontents .item.one .head-img {
    padding: 50px 20px 80px 60px;
    background: url("img/tournament_bg_sp.png") left top no-repeat;
    background-size: cover;
}
body.tournament section#section4.eventcontents .item.two .head-img {
    padding: 60px 20px 60px 20px;
    background: url("img/talksession_bg_sp.png") left top no-repeat;
    background-size: cover;
}
body.tournament section#section4.eventcontents .item.three .head-img {
    padding: 20px 20px;
    background: url("img/speech_bg_sp.png") right top no-repeat;
    background-size: cover;
}body.tournament section#section4.eventcontents .item.four .head-img {
    padding: 60px 20px 40px 20px;
    background: url("img/exhibition_bg_sp.png") left top no-repeat;
    background-size: cover;
}
body.tournament section#section4.eventcontents .item.one .head-img .sec-inner {
    padding: 0;
}
body.tournament section#section4.eventcontents .item .head-img h3 {
    font-size: 1.5rem;
    margin: 0 0 20px;
    line-height: 1.2;
    text-shadow: 0 0 10px #000;
}
body.tournament section#section4.eventcontents .item.two .head-img h3 {
    margin: 0 0 100px;
}
body.tournament section#section4.eventcontents .item .head-img h3 span.en-sup {
    display: flex;
    margin: 0 0 5px;
}
body.tournament section#section4.eventcontents .item .head-img h3 span.en-sup img {
    max-height: 12px;
}
body.tournament section#section4.eventcontents .item .head-img h3 span.sub {
    font-size: .7rem;
    display: block;
    margin: 10px 0 0;
}
body.tournament section#section4.eventcontents .item .head-img p {
    text-align: left;
    font-size: .65rem;
    line-height: 1.8;
    margin: 0;
    text-shadow: 0 0 20px #000,0 0 20px #000,0 0 20px #000,0 0 20px #000;;
}
body.tournament section#section4.eventcontents .item .inner {
    padding: 35px 0 0;
}
body.tournament section#section4.eventcontents .item .inner .movie {
    position: relative;
    padding: 0 0 60px;
    margin: 0 auto 30px;
}
body.tournament section#section4.eventcontents .item .inner .movie::after {
    width: 1px;
    height: 34px;
}
body.tournament section#section4.eventcontents .item .inner .movie h4 {
    border-radius: 12px;
    font-size: .5rem;
    padding: 3px 10px;
    margin: 0 auto 5px;
}
body.tournament section#section4.eventcontents .item .inner .movie .video {
  position: relative;
  width:100%;
  height:0;
  padding-top: 56.25%;
}
body.tournament section#section4.eventcontents .item .inner .movie .video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 10px;
}

body.tournament section#section4.eventcontents .item .inner .joining h4 {
    font-size: 1.25rem;
    font-weight: bold;
    border-left: solid 7px #000;
    padding: 0 0 0 10px;
    line-height: 1;
    margin: 0 0 60px;
}
body.tournament section#section4.eventcontents .item .inner .joining h4::after {
    width: 200%;
    height: 100px;
    top: 0;
    left: -30px;
    opacity: .2;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    gap: 20px;
    counter-reset: number 0;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col {
    position: relative;
    flex-basis: calc(calc(100% - 30px) / 2);
    cursor: pointer;
    opacity: 1;
    transition: opacity .2s;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col:hover {
    opacity: .7;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col::before {
    display: block;
    counter-increment: number 1;
    content: counter(number,decimal-leading-zero) " ";
    font-family: "Hind", sans-serif;
    font-weight: 700;
    font-style: normal;
    position: absolute;
    top: -5px;
    left: 10px;
    border-bottom: 8px solid #000;
    font-size: 1.875rem;
    line-height: .8;
    z-index: 1;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col .img {
    border-radius: 15px 15px 0 0;
    overflow: hidden;
    position: relative;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col .img .logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 55%;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col .img .logo img {
    width: 100%;
    height: auto;
    max-width: auto;
    max-height: 100px;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col .img .bg {
    height: 150px;
    min-height: auto;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col .img .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    min-height: auto;
}
body.tournament section#section4.eventcontents .item .inner .joining .joining-group .col .name {
    background-color: #000;
    color: #fff;
    text-align: center;
    font-weight: bold;
    border-radius: 0 0 15px 15px;   
    font-size: .75rem;
    padding: 8px;
    background: url("img/arrow_white.svg") calc(100% - 30px) center no-repeat #000;
    background-size: 5px auto;
    height: auto;
}
body.tournament .remodal .head {
    position: relative;
    text-align: left;
    display: flex;
    font-size: 1.25rem;
    font-weight: bold;
    align-items: center;
    line-height: 1.2;
    overflow: hidden;
    margin: 0 0 10px;
    padding: 4px 0;
}
/*body.tournament .remodal .head::after {
    display: block;
    content: "";
    width: calc(100%);
    height: 100px;
    position: absolute;
    top: 40px;
    left: 40px;
    bottom: 0;
    background: url(img/participating_dentist_corporations_line.svg) left top no-repeat;
    background-size: 100% auto;
    z-index: -1;
    opacity: .5;
}*/
body.tournament .remodal .head .number {
    display: inline-block;
    font-family: "Hind", sans-serif;
    font-weight: 700;
    font-style: normal;
    border-bottom: 8px solid #000;
    font-size: 2rem;
    line-height: .8;
    margin: 0 15px 0 0;
}
body.tournament .remodal .real-image {
    margin: 0 auto 20px;
}
body.tournament .remodal .real-image img {
    width: 100%;
    height: auto;
}
body.tournament .remodal .logo {
    margin: 0 auto 20px;
}
body.tournament .remodal .logo img {
    width: 70%;
    max-width: 300px;
    max-height: 100px;
    height: auto;
}
body.tournament .remodal .message {
    text-align: left;
    font-size: .8rem;
    line-height: 1.8;
    font-weight: bold;
    margin: 0 0 30px;
    
}
body.tournament .remodal .btn.border {
    max-width: 240px;
    border: solid #000 2px;
}
body.tournament section#section4.eventcontents .item .rule {
    margin: 50px auto 0;
}
body.tournament section#section4.eventcontents .item .rule h4 {
    width: calc(100% - 10px);
    font-size: 1.05rem;
    color: #fff;
    text-align: center;
    background: url("img/arrow_blue.svg") calc(100% - 60px) center no-repeat #000;
    background-size: 15px auto;
    padding: 10px 40px 10px 10px;
    margin: 0 0 0 -20px;
}
body.tournament section#section4.eventcontents .item .rule .rule-contents {
    padding: 25px 0 40px
}
body.tournament section#section4.eventcontents .item .rule .flex-box {
    gap: 10px 5px;
    flex-wrap: wrap;
    justify-content: center;
    width: 90%;
    margin: 0 auto 20px;
}
body.tournament section#section4.eventcontents .item .rule .flex-box .col {
    flex-basis: calc(calc(100% - 5px) / 2);
    text-align: center;
}
body.tournament section#section4.eventcontents .item .rule .flex-box figure.col img  {
    max-width: 97px;
}
body.tournament section#section4.eventcontents .item .rule .flex-box figure.col figcaption {
    margin: 10px 0 0;
    font-size: .9rem;
    font-weight: bold;
    letter-spacing: 0;
}
body.tournament section#section4.eventcontents .item .rule .flex-box figure.col figcaption span {
    padding: 0 3px;
}
body.tournament section#section4.eventcontents .item .rule .flex-box figure.col figcaption small {
    display: block;
    font-size: .55rem;
    line-height: 1.2;
    margin: 5px 0 0;
}
body.tournament section#section4.eventcontents .item .rule .scoring { text-align: center;}
body.tournament section#section4.eventcontents .item .rule .scoring img {
    width: 100%;
    max-width: 1000px;
    margin: auto;
}
body.tournament section#section4.eventcontents .item.three .flex-box {
    gap: 20px;
    align-items: center;
    font-size: 1rem;
    font-weight: bold;
    margin: 0 0 20px;
}
body.tournament section#section4.eventcontents .item.three .flex-box .img {
    overflow: hidden;
    border-radius: 19px;
    flex-basis: 90px;
    height: 90px;
}
body.tournament section#section4.eventcontents .item.three .flex-box .img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
body.tournament section#section4.eventcontents .item.three .flex-box figcaption span {
    font-size: 1rem;
}
body.tournament section#section4.eventcontents .item.three .theme {
    margin: 0 0 10px;
}
body.tournament section#section4.eventcontents .item.four .exhibition-logo-group h4 {
    padding: 10px;
    font-size: .8rem;
    border-radius: 25px 25px 0 0;
    background-color: #000;
    color: #fff;
    text-align: center;
    margin: 25px 0 0;
}
body.tournament section#section4.eventcontents .item.four .exhibition-logo-group .img {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    background: rgba(255,255,255,.85);
    padding: 15px 10px;
    border-radius: 0 0 25px 25px;
}
body.tournament section#section4.eventcontents .item.four .exhibition-logo-group .img .wp-block-image {
    flex-basis: calc(calc(100% - 20px) / 3 );
    max-width: calc(calc(100% - 20px) / 3 );
    text-align: center;
}
body.tournament section#section4.eventcontents .item.four .exhibition-logo-group .img .wp-block-image img {
    max-height: 50px;
}
}




/*section#section5 ------------------------------------------------------------------*/
body.tournament section#section5 {
    padding: 80px 40px 0;
}
body.tournament section#section5 .base {
    max-width: 1400px;
    background: rgba(255,255,255,.8);
    padding-top: 60px;
    padding-bottom: 60px;
    border-radius: 50px;
    margin: auto;
}
body.tournament section#section5 h2 img {
    max-width: 316px;
}
body.tournament section#section5 .flex-box {
    gap: 100px;
    margin: 0 0 40px;
}
body.tournament section#section5 .flex-box .col {
    flex-basis: calc(calc(100% - 100px) / 2);
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
body.tournament section#section5 .flex-box .col h4 {
    border-radius: 15px;
    background-color: #000;
    padding: 10px 20px 8px;
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
}
body.tournament section#section5 .flex-box .col h4 span::before {
    display: inline-block;
    content: "";
    position: relative;
    left: 0;
    width: 1.8rem;
    height: 1.8rem;
    margin: 0 10px 0 0;
}
body.tournament section#section5 .flex-box .col.real h4 span::before {
    background: url("img/1-.svg") center bottom no-repeat;
    background-size: contain;
}
body.tournament section#section5 .flex-box .col.meta h4 span::before {
    background: url("img/2-.svg") center bottom no-repeat;
    background-size: contain;
}
body.tournament section#section5 .flex-box .col .place {
    font-size: 1.8rem;
    margin: 20px 0;
    font-weight: bold;
    padding: 5px 0 5px 20px;
    line-height: 1.4;
}
body.tournament section#section5 .flex-box .col.real .place {
    border-left: #80cdf1 15px solid;
}
body.tournament section#section5 .flex-box .col.real .place small {
    display: block;
    font-size: 60%;
}
body.tournament section#section5 .flex-box .col.meta .place {
    border-left: #d0b8f4 15px solid;
}
body.tournament section#section5 .flex-box .col.meta .place small {
    display: block;
    font-size: 50%;
}
body.tournament section#section5 .flex-box .col.real .btn.border {
    border: 2px solid #000;
    width: calc(80% - 20px);
    padding: 10px;
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    font-weight: bold;
    margin: 30px auto 0;
}
body.tournament section#section5 .flex-box .col.meta > p {
    min-height: 60px;
    font-size: 1.2rem;
    font-weight: bold;
    margin: 30px auto 0;
}
body.tournament section#section5 .sec-inner > p:last-child {
    font-weight: bold;
    font-size: 1.4rem;
    text-align: center;
    line-height: 1.6;
}
@media screen and (max-width: 820px) {
body.tournament section#section5 {
    padding: 50px 20px 0;
}
body.tournament section#section5 .base {
    padding-top: 25px;
    padding-bottom: 30px;
    border-radius: 25px;
    margin: auto;
}
body.tournament section#section5 .base .sec-inner {
    padding: 0 40px;
}
body.tournament section#section5 h2 img {
    max-width: 150px;
}
body.tournament section#section5 .flex-box {
    gap: 50px;
    margin: 0 0 40px;
    flex-direction: column;
}
body.tournament section#section5 .flex-box .col {
    flex-basis: calc(calc(100% - 100px) / 2);
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
body.tournament section#section5 .flex-box .col h4 {
    border-radius: 7px;
    padding: 5px 10px 3px;
    font-size: 1rem;
}
body.tournament section#section5 .flex-box .col h4 span::before {
    display: inline-block;
    content: "";
    position: relative;
    left: 0;
    width: 1rem;
    height: 1rem;
    margin: 0 5px 0 0;
}
body.tournament section#section5 .flex-box .col .place {
    font-size: 1rem;
    margin: 15px 0;
    font-weight: bold;
    padding: 5px 0 5px 10px;
    line-height: 1.4;
}
body.tournament section#section5 .flex-box .col.real .place {
    border-left: #80cdf1 7px solid;
}
body.tournament section#section5 .flex-box .col.real .place small {
    display: block;
    font-size: 60%;
}
body.tournament section#section5 .flex-box .col.meta .place {
    border-left: #d0b8f4 7px solid;
}
body.tournament section#section5 .flex-box .col.meta .place small {
    display: block;
    font-size: 50%;
}
body.tournament section#section5 .flex-box .col.real .btn.border {
    border: 2px solid #000;
    width: calc(90% - 20px);
    padding: 10px;
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .9rem;
    font-weight: bold;
    margin: 20px auto 0;
}
body.tournament section#section5 .flex-box .col.meta > p {
    min-height: auto;
    font-size: .9rem;
    font-weight: bold;
    margin: 30px auto 0;
}
body.tournament section#section5 .sec-inner > p:last-child {
    font-weight: bold;
    font-size: 1rem;
    text-align: center;
    line-height: 1.6;
}
}


/*section#section6 ------------------------------------------------------------------*/
body.tournament section#section6 {
    padding: 80px 0;
    background: url("img/form_bg.png") center center no-repeat;
    background-size: cover;
}
body.tournament section#section6 h2 img {
    max-width: 524px;
    height: auto;
    margin: auto;
}
body.tournament section#section6 h2 span {
    display: inline-block;
}
body.tournament section#section6 .form {
    max-width: 600px;
    margin: auto;
}

body.tournament .wpcf7 {
    margin: 30px 0 0!important;
    border: none;
    background: unset;
}
body.tournament .wpcf7 form {
    margin: 1.5em 0 0
}
body.tournament .wpcf7 dl.block {
    display: flex;
    gap: 20px;
    margin: 0 auto 20px;
    align-items: center;
    justify-content: space-between;
}
body.tournament .wpcf7 dl.block:last-of-type {
    align-items: flex-start;
}
body.tournament .wpcf7 dl.block dt.title {
    flex-basis: 45%;
    display: flex;
    align-items: center;
    font-weight: bold;
}
body.tournament .wpcf7 dl.block dt.title .required {
    display: inline-block;
    background-color: #000;
    border-radius: 5px;
    color: #fff;
    font-size: .8rem;
    padding: 0 5px;
    margin: 0 0 0 5px;
}
body.tournament .wpcf7 dl.block dd.input {
    flex-basis: 55%;
}
body.tournament .wpcf7 input,
body.tournament .wpcf7 textarea {
    min-height: 45px;
    border-radius: 5px;
    width: 100%;
}
body.tournament .wpcf7 p {
    margin-bottom: 0;
}
body.tournament .wpcf7 dl.block dd.input.half input {
    width: 50%;
}
body.tournament  .wpcf7 .wpcf7-submit,
body.tournament  .wpcf7 .wpcf7-previous,
body.tournament .form .btn {
    -webkit-transition: all .3s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    position: relative;
    padding: 20px 30px;
    width: calc(100%);
    height: auto;
    margin: 30px auto 0;
    border: none !important;
    border-radius: 100px;
    outline: none;
    background: url("img/arrow_white.svg") , linear-gradient(90deg, #228de7, #6ed6d2);
    background: url("img/arrow_white.svg") , -webkit-linear-gradient(0deg, #228de7, #6ed6d2);
    background-size: 10px auto,auto;
    background-position: calc(100% - 20px) center, center center;
    background-repeat: no-repeat;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}
body.tournament .form .btn {
    margin: 50px auto;
    font-size: 1.5rem;
}

@media screen and (max-width: 820px) {
body.tournament section#section6 {
    padding: 40px 0;
}
body.tournament section#section6 h2 {
    max-width: 280px;
    margin: auto;
    line-height: 1;
}
body.tournament section#section6 h2 img {
    max-width: 524px;
    margin: auto;
}
body.tournament section#section6 h2 span {
    color: #fff;
    background-color: #000;
    padding: 5px 10px;
}
body.tournament section#section6 h2 span span.pc {
    display: none
}
body.tournament .wpcf7 dl.block {
    display: flex;
    flex-direction: column;
    gap:5px;
    margin: 0 auto 15px;
    align-items: start;
    justify-content: space-between;
}
body.tournament .wpcf7 dl.block:last-of-type {
    align-items: flex-start;
}
body.tournament .wpcf7 dl.block dt.title {
    flex-basis: 45%;
    display: flex;
    align-items: center;
}
body.tournament .wpcf7 dl.block dt.title .required {
    display: inline-block;
    background-color: #000;
    border-radius: 5px;
    color: #fff;
    font-size: .8rem;
    padding: 0 5px;
    margin: 0 0 0 5px;
}
body.tournament .wpcf7 textarea {
    height: 200px;
}
body.tournament .wpcf7 p {
    margin-bottom: 0;
}
body.tournament .wpcf7 dl.block dd.input {
    width: 100%;
}
body.tournament .wpcf7 dl.block dd.input.half input {
    width: 50%;
}
body.tournament .wpcf7 .wpcf7-submit,
body.tournament .wpcf7 .wpcf7-previous,
body.tournament .form .btn {
    -webkit-transition: all .3s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    position: relative;
    padding: 20px 30px;
    width: calc(100%);
    height: auto;
    margin: 20px auto 0;
    border: none !important;
    border-radius: 100px;
    outline: none;
    background: url("img/arrow_white.svg") , linear-gradient(90deg, #228de7, #6ed6d2);
    background: url("img/arrow_white.svg") , -webkit-linear-gradient(0deg, #228de7, #6ed6d2);
    background-size: 10px auto,auto;
    background-position: calc(100% - 20px) center, center center;
    background-repeat: no-repeat;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
}
body.tournament .form .btn {
    font-size: 1.3rem;
    margin: 50px auto 30px;
}
}

/*body.tournament footer ------------------------------------------------------------------*/
body.tournament .page-top-bar {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    border-top: 1px solid #fff;
    background: url("img/arrow_up_line.svg") center center rgba(77,183,221,0.2) no-repeat;
    background-size: 25px auto;
    transition: background .8s;
    height: 50px;
    z-index: 2;
}
body.tournament .page-top-bar:hover {
    background: url("img/arrow_up_line.svg") center center rgba(77,183,221,0.5) no-repeat;
    background-size: 25px auto;
}
body.tournament footer {
    padding: 50px 0;
    background-color: #000;
    color: #fff;
    font-size: .8rem;
}
body.tournament footer a {
    color: #fff;
}
body.tournament footer .contents {
    position: relative;
    display: flex;
    gap: 50px;
}
body.tournament footer .contents > div {
    flex-basis: 50%;
}
body.tournament footer .contents .left .logo {
    margin: 0 0 20px;
}
body.tournament footer .contents .left .logo img {
    max-width: 282px;
    height: auto;
}
body.tournament footer .contents .right {
    text-align: right;
}
body.tournament footer .contents .right ul li {
    margin: 0 0 15px;
}
body.tournament footer .contents .right small {
    position: absolute;
    right: 0;
    bottom: 0;
}
@media screen and (max-width: 820px) {
body.tournament .page-top-bar { 
    display: none;
} 
body.tournament footer {
    padding: 30px 0 50px;
    font-size: .6rem;
    letter-spacing: 0;
}
body.tournament footer .contents {
    position: relative;
    display: flex;
    gap: 10px;
}
body.tournament footer .contents .left {
    flex-basis: 60%;
}
body.tournament footer .contents .left .logo {
    margin: 0 0 10px;
}
body.tournament footer .contents .left .logo img {
    max-width: 141px;
    height: auto;
}
body.tournament footer .contents .right {
    flex-basis: 40%;
}
body.tournament footer .contents .right ul li {
    margin: 0 0 10px;
}
body.tournament footer .contents .right small {
    position: absolute;
    left: 0;
    bottom: -40px;
    margin: auto;
    display: block;
    text-align: center;
}
}


/*body.tournament contactform ------------------------------------------------------------------*/
body.tournament .grecaptcha-badge {
    display: none;
}
body.tournament.form {
    background: url("img/form_bg.png") center top no-repeat;
    background-size: cover;
    animation: none;
}
body.tournament.form::after {
    display: none;
}
body.tournament.form .wpcf7 form {
    margin: 0;
}
body.tournament.form #form-container {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: calc(100vh - 100px);
    padding: 50px;
}
@media screen and (max-width: 820px) {
body.tournament.form #form-container {
    padding: 50px 30px;
}
}
body.tournament.form #form-container .sec-inner {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 820px) {
body.tournament.form #form-container .sec-inner {
    padding: 0;
}
}
body.tournament.form #form-container .form-contents {
    padding: 40px;
    border-radius: 30px;
    background-color: #fff;
    max-width: 600px;
    margin: auto;
    filter: drop-shadow( 0 0 10px rgba(56,108,180,.3));
}
body.tournament.form h2 {
    text-align: center;
    font-weight: bold;
    font-size: 1.5rem;
    line-height: 1.2;
    
}
body.tournament.form .wpcf7 dl.block {
    margin-bottom: 30px;
    gap: 30px;
}
body.tournament.form .wpcf7 .wpcf7-submit,
body.tournament.form .wpcf7 .wpcf7-previous {
    -webkit-transition: all .3s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    position: relative;
    padding: 15px;
    width: calc(50%);
    height: auto;
    margin: 20px auto 0;
    border: none !important;
    border-radius: 100px;
    outline: none;
    background: linear-gradient(90deg, #74edff, #6893ff);
    background: -webkit-linear-gradient(0deg, #74edff, #6893ff);
    color: #fff;
    font-size: 1rem;
}
@media screen and (max-width: 820px) {
body.tournament.form .wpcf7 .wpcf7-submit,
body.tournament.form .wpcf7 .wpcf7-previous {
    width: 100%;
    height: auto;
    margin: 0 auto;
}
}
body.tournament.form .wpcf7-spinner {
    display: none;
}
body.tournament.form .wpcf7 .wpcf7-previous {
    background: #000;
}
body.tournament.form .wpcf7 .btn-set p {
    display: flex;
    gap: 10px;
}
body.tournament.form .thanks-contents {
    text-align: center;
}
body.tournament.form .thanks-contents .btn {
    margin-top: 40px;
}