@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Lora");
@import url("https://fonts.googleapis.com/css?family=EB+Garamond");
@import url("https://fonts.googleapis.com/css?family=Pinyon+Script");

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

html {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  height: 100%;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%; }

*,
*:before,
*:after {
  box-sizing: inherit; }

body {
  margin: 0;
  padding: 0;
  height: 100%;
  text-align: center;
  color: #333;
  font-size: 1.4em;
  line-height: 1.8;
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HiraKakuPro-W3", "ＭＳ Ｐゴシック", "MS PGothic", Osaka, sans-serif; 

}

p {
  line-height: 1.6; }

p, pre, address, cite {
  margin: 0;
  font-size: 100%; }

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-size: 100%;
  font-weight: normal; }

abbr[title] {
  border-bottom: 1px dotted; }

em, b, strong {
  font-weight: bold; }

small {
  font-size: 85%; }

hr {
  box-sizing: content-box;
  height: 0; }

sub,
sup {
  font-size: 0.78em;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

a {
  color: #007F99;
  background-color: inherit; }

a:link {
  text-decoration: underline; }

a:visited {
  text-decoration: underline; }

a:hover {
  color: #007F99;
  text-decoration: none; }

a:active {
  text-decoration: underline; }

ol {
  margin: 0 0 0 1.5em;
  padding: 0; }

dl {
  list-style-position: inside;
  list-style: none;
  margin: 0;
  padding: 0; }

dt, dd {
  margin: 0;
  padding: 0; }

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

li li, li li li, li p, li pre, li dt, li dd, dd li, dd p, dd pre, dd dt, dd dd {
  font-size: 100%;
  line-height: inherit; }

code, kbd, pre, samp {
  font-family: monospace, monospace;
  font-size: 1em; }

address {
  font-style: normal; }

button, input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%; }

th, td {
  line-height: 1.5;
  font-size: 100%; }

img {
  border: 0;
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  /*baseline*/ }

audio, canvas {
  display: inline-block; }

embed, iframe, object, video {
  margin-bottom: 1.6em;
  max-width: 100%;
  vertical-align: middle; }

p > embed, p > iframe, p > object, p > video {
  margin-bottom: 0; }

@-ms-viewport {
  width: device-width; }
@-webkit-viewport {
  width: device-width; }
@-moz-viewport {
  width: device-width; }
@-ms-viewport {
  width: device-width; }
@-o-viewport {
  width: device-width; }
@viewport {
  width: device-width; }

@media screen and (max-width: 768px) {
  body {
    font-size: 1.4em; } }

.container,
.container-fluid {
  text-align: left; }

.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px; }

.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px; }

@media screen and (min-width: 1230px) {
  .container {
    width: 1230px; } }
/*
row
----------------------------------------- */
.row {
  margin-left: -15px;
  margin-right: -15px; }

.row.no-gutters > [class^="col-"],
.row.no-gutters > [class*=" col-"] {
  padding-right: 0;
  padding-left: 0; }

.row:before,
.row:after {
  content: " ";
  display: table; }

.row:after {
  clear: both; }


.main-container {
  background-color: #fff;
  position: relative;
  padding-top: 40px;
  padding-bottom: 35px; }

@media screen and (max-width: 768px) {
  .main-container {
    padding-top: 25px;
    padding-bottom: 20px; } }
/* gnavPC/SM共通
---------------------------------*/
.gnav li a {
  display: block;
  position: relative; }
.gnav li a:before {
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -0.5em;
  font-size: 34px; }
.gnav li a:hover:before {
  color: #fff; }
.gnav #gnav-home a:before {
  font-size: 26px; }
.gnav #tatsumicupa a:before {
   }
.gnav #tatsumicup a.with-icon .icon {
  vertical-align: middle;
  margin-right: .5em;
  display: block;      /* インライン画像をブロック化 */
  width: 60%;          /* 画像幅を80%に */
  height: auto;        /* アスペクト比維持 */
  margin: 0 auto;      /* 左右中央寄せ */
  text-align: center;  /* 画像以外のテキストも中央に */
  max-width: 600px;    /* 任意：広すぎる場合の上限 */
}
.gnav #tatsumicupladies a.with-icon .icon {
  vertical-align: middle;
  margin-right: .5em;
  display: block;      /* インライン画像をブロック化 */
  width: 60%;          /* 画像幅を80%に */
  height: auto;        /* アスペクト比維持 */
  margin: 0 auto;      /* 左右中央寄せ */
  text-align: center;  /* 画像以外のテキストも中央に */
  max-width: 600px;    /* 任意：広すぎる場合の上限 */
}
.gnav #course a.with-icon .icon {
  vertical-align: middle;
  margin-right: .5em;
  display: block;      /* インライン画像をブロック化 */
  width: 60%;          /* 画像幅を80%に */
  height: auto;        /* アスペクト比維持 */
  margin: 0 auto;      /* 左右中央寄せ */
  text-align: center;  /* 画像以外のテキストも中央に */
  max-width: 600px;    /* 任意：広すぎる場合の上限 */
}
.gnav #access a.with-icon .icon {
  vertical-align: middle;
  margin-right: .5em;
  display: block;      /* インライン画像をブロック化 */
  width: 60%;          /* 画像幅を80%に */
  height: auto;        /* アスペクト比維持 */
  margin: 0 auto;      /* 左右中央寄せ */
  text-align: center;  /* 画像以外のテキストも中央に */
  max-width: 600px;    /* 任意：広すぎる場合の上限 */
}
.gnav #player a.with-icon .icon {
  vertical-align: middle;
  margin-right: .5em;
  display: block;      /* インライン画像をブロック化 */
  width: 60%;          /* 画像幅を80%に */
  height: auto;        /* アスペクト比維持 */
  margin: 0 auto;      /* 左右中央寄せ */
  text-align: center;  /* 画像以外のテキストも中央に */
  max-width: 600px;    /* 任意：広すぎる場合の上限 */
}
.gnav #gallary1 a.with-icon .icon {
  vertical-align: middle;
  margin-right: .5em;
  display: block;      /* インライン画像をブロック化 */
  width: 60%;          /* 画像幅を80%に */
  height: auto;        /* アスペクト比維持 */
  margin: 0 auto;      /* 左右中央寄せ */
  text-align: center;  /* 画像以外のテキストも中央に */
  max-width: 600px;    /* 任意：広すぎる場合の上限 */
}
.gnav #sponsor a.with-icon .icon {
  vertical-align: middle;
  margin-right: .5em;
  display: block;      /* インライン画像をブロック化 */
  width: 60%;          /* 画像幅を80%に */
  height: auto;        /* アスペクト比維持 */
  margin: 0 auto;      /* 左右中央寄せ */
  text-align: center;  /* 画像以外のテキストも中央に */
  max-width: 600px;    /* 任意：広すぎる場合の上限 */
}
.gnav #gallary2 a.with-icon .icon {
  width: 48px; height: 48px;
  vertical-align: middle;
  margin-right: .5em;
}
.gnav #gnav-course a:before {
 }
.gnav #gnav-access a:before {
 }
.gnav #gnav-gallery a:before {
 }
.gnav #gnav-player a:before {
 }

/* 共通site-header
---------------------------------*/
#site-header {
  background-color: #fff; }

.site-header-container {
  display: table;
  width: 100%;
  table-layout: fixed; }

.site-header-container .site-brand-area,
.site-header-container .gnav-pc {
  display: table-cell;
  vertical-align: top; }

.site-brand-area {
  width: 25%;
  /*width: 30.5%;*/ }

.brand-name {
  margin-top: 10px; }

.site-header-container .gnav-pc {
 width: 55%; 
 /*width: 69.5%;*/ }

.site-brand-area .brand-name {
  padding-right: 10px; }

.site-brand-area .brand-name img {
  max-width: 100%;
  height: auto; }
.sp{
	display: block;
}

@media screen and (max-width: 980px) {
  .site-brand-area {
    width: 20.5%; }

  .site-brand-area .brand-name {
    margin-top: 25px; }

  .site-header-container .gnav-pc {
    width: 79.5%; } }

@media screen and (max-width: 768px) {
  #site-header .site-header-container .gnav-pc {
    display: none; } }
/* PC用 .gnav-pc
---------------------------------*/
.gnav-pc {
  position: relative;
  background-color: #fff; }
  .gnav-pc ul {
    list-style: none;
    overflow: hidden;
    border-left: 1px solid #ccc;
    width: 100%;
	/*margin-left: 160px;*/
    /*margin-left: 50px;*/}
  .gnav-pc li a:before {
    top: 16px;
    color: #00BFFF; }
  .gnav-pc li {
    border-right: 1px solid #ccc;
    /*width: 11%;*/
    width: 14%;
    text-align: center;
    float: left; }
    .gnav-pc li a {
      text-decoration: none;
      height: 90px; }
    .gnav-pc li a:hover {
      background-color: #043ab9;
      opacity: 0.9;
      -webkit-transition: all 0.3s;
      transition: all 0.3s; }
      .gnav-pc li a:hover span {
        color: #fff; }
    .gnav-pc li span {
      display: block;
      height: 25px;
      width: 70px;
      position: absolute;
      bottom: 7px;
      left: 50%;
      margin-left: -35px;
      color: #333;
      background-position: left top;
      background-repeat: no-repeat;
      line-height: 3;
      font-size: 10px; }
  .gnav-pc li.current a {
    background-color: #00BFFF; }
    .gnav-pc li.current a span {
      background-position: bottom;
      color: #fff; }
  .gnav-pc li.current a:hover {
    -webkit-transition: none;
    transition: none;
    opacity: 1; }
  .gnav-pc li.current a:before {
    color: #fff; }
  .gnav-pc li#gnav-home {
    width: 5.875299760191846%;
     }
    .gnav-pc li#gnav-home a:before {
      top: 26px; }
  .gnav-pc li#gnav-access a:before {
    margin-left: -0.6em; }
  .gnav-pc li#gnav-tv a:before {
    margin-left: -0.6em; }
  .gnav-pc li#gnav-gallery a span {
    line-height: 1.2; }
  .gnav-pc li#gnav-playback a span {
    line-height: 1.2; }
  .gnav-pc .func-home-sm {
    display: none; }

body#home li#gnav-home {
  background-color: #00BFFF; }
  body#home li#gnav-home a {
    color: #fff !important; }
    body#home li#gnav-home a:before {
      color: inherit; }
    body#home li#gnav-home a span {
      color: inherit; }

@media screen and (max-width: 1230px) {
  #site-header .container {
    padding-right: 0;
    padding-left: 0; } }
/* スマホ用 site-header
---------------------------------*/
#menu-sm {
  display: none; }

@media screen and (max-width: 768px) {
.sp{
	display: none;
}
  #site-header {
    height: 60px;
    overflow: hidden; }
    #site-header #func-menu-sm {
      display: block;
      width: 60px;
      height: 60px;
      position: absolute;
      right: 0;
      top: 0; }
      #site-header #func-menu-sm a {
        display: block;
        position: relative;
        width: 60px;
        height: 60px;
        text-decoration: none;
        color: #333; }
      #site-header #func-menu-sm a:before {
        speak: none;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        display: block;
        position: absolute;
        top: 9px;
        left: 50%;
        margin-left: -0.5em;
        color: #333;
        font-size: 27px; }
      #site-header #func-menu-sm span {
        position: absolute;
        display: block;
        width: 60px;
        text-align: center;
        font-size: 12px;
        text-transform: uppercase;
        bottom: 7px;
        font-family: Garamond, "Times New Roman", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
        line-height: 1.0; }
        #site-header #func-menu-sm a::before { content: none !important; }
        #site-header #func-menu-sm,
		#site-header #func-menu-sm a {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 60px; / 既存に合わせる /
		height: 60px; / 既存に合わせる /
		position: absolute; / 親は既存通り absolute でOK */
		right: 0;
		top: 0;
		}
		#site-header #func-menu-sm img {
		display: block;
		width: 44px; / あなたの画像サイズ */
		height: 44px;
		}
		#site-header #func-menu-sm span { display: none; }
		    #site-header .site-brand-area {
		      width: 100%; }
		      #site-header .site-brand-area .brand-name {
		        width: 280px;
		        margin-top: 3px;
		        margin-left: 5px;
		        vertical-align: middle; } }
		@media screen and (max-width: 640px) {
		  #site-header .site-brand-area .brand-name {
		    width: 240px;
		    margin-top: 7px; }
		.sp{
			display: none;
		}}
.mac #site-header #func-menu-sm span {
  font-family: Garamond, "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", serif; }

/*スマホ用メニュー
---------------------------------*/
.func-home-sm {
  clear: both;
  margin-top: 1em; }
  .func-home-sm a {
  display: block;
  text-align: center;
  background-color: #fff;
  padding: 0.7em 0.5em;
  color: #00BFFF;
  font-family: 'Lora', serif;
  text-decoration: none;

  box-sizing: border-box;        /* 枠線分でサイズが変わらないように */
  border: 1px solid #ffffff;     /* 枠線の色・太さを指定（例はテーマ色） */
  border-radius: 4px;            /* 角丸が必要なら（任意） */
}
    .func-home-sm a:hover {
      opacity: 0.9; }

.func-close-sm {
  position: relative;
  height: 50px; }
  .func-close-sm a {
  display: block;
  position: absolute;
  right: 0;
  width: 60px;
  height: 50px;
  box-sizing: border-box;       /* 枠線分でサイズが膨らまないように */
  border: 1px solid #ffffff;    /* 白枠の例。色や太さは任意で変更 */
  border-radius: 4px;           /* 角丸が必要なら（任意） */
}
  .func-close-sm a:before {
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    display: block;
    position: absolute;
    top: 5px;
    right: 50%;
    margin-right: -0.5em;
    color: #fff;
    font-size: 30px;
    content: "×"; }

.gnav-sm ul {
  list-style: none; }
.gnav-sm li#gnav-home {
  display: none; }
.gnav-sm li {
  font-size: 16px; }
  .gnav-sm li br.pc {
    display: none; }
  .gnav-sm li a {
  background-color: #fff;        /* 背景を白に */
  border: 1px solid #e5e7eb;     /* 全周ボーダー */
  border-radius: 6px;
  margin: 6px 0;                 /* 項目間の余白 */
}
    .gnav-sm li a:hover {
      text-decoration: underline; }
  .gnav-sm li a:before {
    color: #fff;
    font-size: 22px;
    left: 15px;
    top: 50%;
    margin-top: -0.5em; }

/*#site-footer-banner
---------------------------------*/
#site-footer-banner {
  background-color: #000080;
  padding: 15px 0 7.5px; }
  #site-footer-banner * {
    box-sizing: border-box; }
  #site-footer-banner ul {
    margin: 0px;
    list-style: none;
    text-align: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center; }
  #site-footer-banner li {
    padding: 0 7.5px 7.5px; }
    #site-footer-banner li img {
      width: 110%;
      height: auto; }
    @media screen and (max-width: 768px) {
      #site-footer-banner li {
        flex-basis: 100%; }
 	}
  #site-footer-banner a:hover {
    opacity: 0.8; }
    
#site-footer-bannerend {
  background-color: #000111;
  padding: 15px 0 7.5px; }
  #site-footer-bannerend * {
    box-sizing: border-box; }
  #site-footer-bannerend ul {
    margin-left: -7.5px;
    margin-right: -7.5px;
    list-style: none;
    text-align: center;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center; }
    @media screen and (max-width: 768px) {
      #site-footer-bannerend ul {
        flex-wrap: wrap; } }
  #site-footer-bannerend li {
    padding: 0 7.5px 7.5px; }
    #site-footer-bannerend li img {
      width: 100%;
      height: auto; }
    @media screen and (max-width: 768px) {
      #site-footer-bannerend li {
        flex-basis: 50%; } }
  #site-footer-bannerend a:hover {
    opacity: 0.8; }

/*#site-footer
---------------------------------*/
#site-footer {
  background-color: #ffffff;
  padding: 1em 0;
  width: 100%;
  overflow: hidden;

}
  #site-footer .container {
    position: relative; }
  #site-footer .social {
    position: absolute;
    left: 15px;
    height: 60px;
    overflow: hidden;
    margin-bottom: 10px; }
  #site-footer .fb_iframe_widget {
    vertical-align: top;
    line-height: 1.0;
    display: block;
    float: left;
    margin-right: 10px; }
  #site-footer .twitter-share-button {
    display: block;
    float: left; }
  #site-footer .logo {
    width: 132px;
    display: inline-block;
    background-repeat: no-repeat;
    background-position: right top;
    background-size: 132px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    float: right; }
    #site-footer .logo a {
      display: block;
      height: 22.4px;
      width: 100%; }
  .copy {
    clear: both;
    text-align: right;
    text-transform: uppercase;
    font-size: 0.750em;
    color: #fff; }

@media screen and (max-width: 768px) {
  #site-footer .social {
    width: 200px;
    margin: 0 auto;
    padding-left: 15px;
    text-align: center;
    position: relative;
    left: auto; }
  #site-footer .logo {
    display: block;
    float: none;
    margin: 0 auto; }
  .copy {
    text-align: center; } }
/* #cat-titie
---------------------------------*/
#cat-titie {
  position: relative;
  text-align: center;
  background-position: top center;
  background-repeat: no-repeat;
  background-size: auto 100%;
  background-color: #E5E5E5;
  height: 300px;
  color: #ffff00; }
  @media screen and (max-width: 1300px) {
    #cat-titie {
      padding-top: 23%;
      height: auto; } }
  #cat-titie .cat-title-en,
  #cat-titie .cat-title-jp {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    text-align: center; }
  #cat-titie .cat-title-en {
    font-family: 'EB Garamond', serif;
    font-size: 60px;
    top: 80px; }
    @media screen and (max-width: 1300px) {
      #cat-titie .cat-title-en {
        font-size: 4.6vw;
        top: 24%; } }
    @media screen and (max-width: 768px) {
      #cat-titie .cat-title-en {
        font-size: 5.4vw;
        top: 20%; } }
    @media screen and (max-width: 640px) {
      #cat-titie .cat-title-en {
        font-size: 7vw;
        top: 15%; } }
  #cat-titie .cat-title-jp {
    font-family: Garamond, "Times New Roman", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 18px;
    top: 160px; }
    @media screen and (max-width: 1300px) {
      #cat-titie .cat-title-jp {
        font-size: 1.8vw;
        top: 52%; } }
    @media screen and (max-width: 768px) {
      #cat-titie .cat-title-jp {
        font-size: 2.8vw;
        top: 56%; } }

.mac #cat-titie .cat-title-jp {
  font-family: Garamond, "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", serif; }

#home #cat-titie {
  background-image: url(../img/DSCF1808-scaled.jpg); }

#tatsumicup #cat-titie {
  background-image: url(../img/第4回-優勝者-3-scaled2.png); }
  
#tatsumicupladies #cat-titie {
  background-image: url(../img/第4回-優勝者-2-scaled2.png); }

#course #cat-titie {
  background-image: url(../img/DSCF1808-scaled.jpg); }

#access #cat-titie {
  background-image: url(../img/20250617_タツミカップ会場風景0048.jpg); }

#gallery #cat-titie {
  background-image: url(../img/IN6組目2.jpg); }

#player #cat-titie {
  background-image: url(../img/20250617_タツミカッププレー中0069-scaled2.jpg); }
  
#sponsor #cat-titie {
  background-image: url(../img/b7e2a983-e12c-4df8-ab3b-ee5795feda192.png); }

#fnav {
  display: none;
  border-top: 1px solid #ddd; }
  @media screen and (max-width: 768px) {
    #fnav {
      display: block; } }
  #fnav li {
    border-bottom: 1px solid #ddd;
    text-align: left; }
    #fnav li a {
      display: block;
      padding: 0.8em 15px;
      background-color: #fff;
      color: #333;
      position: relative;
      text-decoration: none; }
      #fnav li a:hover {
        background-color: #00BFFF;
        color: #fff; }
        #fnav li a:hover:after {
          color: #fff; }
      #fnav li a:after {
        position: absolute;
        display: block;
        right: 10px;
        font-size: 1.5em;
        top: 50%;
        line-height: 1.0;
        margin-top: -0.5em;
        color: #00BFFF; }

#home #fnav {
  display: none; }
  @media screen and (max-width: 768px) {
    #home #fnav {
      display: none; } }

#cat-outline #fnav-outline a,
#cat-course #fnav-course a,
#cat-tickets #fnav-tickets a,
#cat-access #fnav-access a,
#cat-tv #fnav-tv a,
#cat-gallery #fnav-gallery a,
#cat-playback #fnav-playback a {
  background-color: #00BFFF;
  color: #fff; }
  #cat-outline #fnav-outline a:after,
  #cat-course #fnav-course a:after,
  #cat-tickets #fnav-tickets a:after,
  #cat-access #fnav-access a:after,
  #cat-tv #fnav-tv a:after,
  #cat-gallery #fnav-gallery a:after,
  #cat-playback #fnav-playback a:after {
    color: #fff; }

.pc {
  display: block; }
  @media screen and (max-width: 768px) {
    .pc {
      display: none; } }

.sp {
  display: none; }
  @media screen and (max-width: 768px) {
    .sp {
      display: block; } }

/*
clearfix
-----------------------------*/
.clearfix:before,
.clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

/*
font-family
----------------------------------------- */
.font-family-serif {
  font-family: Garamond, "Times New Roman", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }

.mac .font-family-serif {
  font-family: Garamond, "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", serif; }

/*
font size
----------------------------------------- */
/* Base font size PC=14px */
.font-size-10 {
  font-size: 0.750em; }

.font-size-12 {
  font-size: 0.875em; }

.font-size-14 {
  font-size: 1em; }

.font-size-16 {
  font-size: 1.143em; }

.font-size-18 {
  font-size: 1.286em; }

.font-size-20 {
  font-size: 1.429em; }

.font-size-22 {
  font-size: 1.571em; }

.font-size-24 {
  font-size: 1.714em; }

.font-size-26 {
  font-size: 1.857em; }

.font-size-28 {
  font-size: 2.000em; }

.font-size-30 {
  font-size: 2.143em; }

@media screen and (max-width: 768px) {
  .font-size-22 {
    font-size: 1.429em !important; }

  .font-size-24 {
    font-size: 1.429em !important; }

  .font-size-26 {
    font-size: 1.429em !important; }

  .font-size-28 {
    font-size: 1.429em !important; }

  .font-size-30 {
    font-size: 1.429em !important; } }
/*
line-height
----------------------------------------- */
.line-height-12 {
  line-height: 1.2 !important; }

.line-height-14 {
  line-height: 1.4 !important; }

.line-height-16 {
  line-height: 1.6 !important; }

.line-height-18 {
  line-height: 1.8 !important; }

.line-height-20 {
  line-height: 2 !important; }

/*
color
----------------------------------------- */
.font-color-blue {
  color: #1F97D8; }

.font-color-green {
  color: #075E30; }

.font-color-pink {
  color: #D22C59; }

.font-color-rose {
  color: #D22C59; }

.font-color-gray {
  color: #777777; }

.font-color-orange {
  color: #FF5926; }

.font-color-red {
  color: red; }

.font-color-white {
  color: #fff; }

/*
font transform
-----------------------------*/
.text-lowercase {
  text-transform: lowercase; }

.text-uppercase {
  text-transform: uppercase; }

.text-capitalize {
  text-transform: capitalize; }

/*
font weight
-----------------------------*/
.bold {
  font-weight: bold; }

.normal {
  font-weight: normal; }

/*
text align
-----------------------------*/
.text-left {
  text-align: left !important; }

.text-right {
  text-align: right !important; }

.text-center {
  text-align: center !important; }

.text-justify {
  text-align: justify !important; }

@media screen and (max-width: 768px) {
  .text-left-sm {
    text-align: left !important; } }
@media screen and (max-width: 640px) {
  .text-left-xs {
    text-align: left !important; } }
/*
box align
-----------------------------*/
.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto; }

.pull-right {
  float: right !important; }

.pull-left {
  float: left !important; }

/*
img
----------------------------------------- */
.img-responsive {
  display: block;
  max-width: 100%;
  height: auto; }

.img-max {
  width: 100%;
  height: auto; }

.img-max-width {
  max-width: 100%;
  height: auto; }

/*
margin
----------------------------------------- */
.mT10 {
  margin-top: 0.7em !important; }

.mL10 {
  margin-left: 10px !important; }

.mR10 {
  margin-right: 10px !important; }

.mB10 {
  margin-bottom: 0.7em !important; }

.mT15 {
  margin-top: 1.1em !important; }

.mL15 {
  margin-left: 15px !important; }

.mR15 {
  margin-right: 15px !important; }

.mB15 {
  margin-bottom: 1.1em !important; }

.mT20 {
  margin-top: 1.4em !important; }

.mL20 {
  margin-left: 20px !important; }

.mR20 {
  margin-right: 20px !important; }

.mB20 {
  margin-bottom: 1.4em !important; }

.mT30 {
  margin-top: 2.1em !important; }

.mL30 {
  margin-left: 30px !important; }

.mR30 {
  margin-right: 30px !important; }

.mB30 {
  margin-bottom: 2.1em !important; }

.mT40 {
  margin-top: 2.9em !important; }

.mL40 {
  margin-left: 40px !important; }

.mR40 {
  margin-right: 40px !important; }

.mB40 {
  margin-bottom: 2.9em !important; }

.mA10 {
  margin: 0.7em 10px !important; }

.mA15 {
  margin: 1.1em 15px !important; }

.mA20 {
  margin: 1.43em 20px !important; }

.mT-10 {
  margin-top: -0.7em; }

.mT-15 {
  margin-top: -1.1em; }

.mT-20 {
  margin-top: -1.4em; }

@media screen and (max-width: 640px) {
  .mT20 {
    margin-top: 15px !important; }

  .mT30 {
    margin-top: 18px !important; }

  .mB30 {
    margin-bottom: 18px !important; }

  .mT40 {
    margin-top: 20px !important; }

  .mB40 {
    margin-bottom: 20px !important; }

  /*スマホだけのマージン*/
  .mB10-sm {
    margin-bottom: 0.7em !important; }

  .mT10-sm {
    margin-top: 0.7em !important; }

  .mB15-sm {
    margin-bottom: 1.1em !important; }

  .mT15-sm {
    margin-top: 1.1em !important; }

  .mB20-sm {
    margin-bottom: 1.4em !important; }

  .mT20-sm {
    margin-top: 1.4em !important; } }
@media screen and (min-width: 1025px) {
  /*PCだけのマージン*/
  .mB10-pc {
    margin-bottom: 0.7em !important; }

  .mT10-pc {
    margin-top: 0.7em !important; }

  .mB15-pc {
    margin-bottom: 1.1em !important; }

  .mT15-pc {
    margin-top: 1.1em !important; }

  .mB20-pc {
    margin-bottom: 1.4em !important; }

  .mT20-pc {
    margin-top: 1.4em !important; }

  .mB30-pc {
    margin-bottom: 2.1em !important; }

  .mT30-pc {
    margin-top: 2.1em !important; } }
/*
padding
----------------------------------------- */
.pT10 {
  padding-top: 10px !important; }

.pL10 {
  padding-left: 10px !important; }

.pR10 {
  padding-right: 10px !important; }

.pB10 {
  padding-bottom: 10px !important; }

.pT15 {
  padding-top: 15px !important; }

.pL15 {
  padding-left: 15px !important; }

.pR15 {
  padding-right: 15px !important; }

.pB15 {
  padding-bottom: 15px !important; }

.pT20 {
  padding-top: 20px !important; }

.pL20 {
  padding-left: 20px !important; }

.pR20 {
  padding-right: 20px !important; }

.pB20 {
  padding-bottom: 20px !important; }

.pA5 {
  padding: 5px !important; }

.pA10 {
  padding: 10px !important; }

.pA15 {
  padding: 15px !important; }

.pA20 {
  padding: 20px !important; }

.pA30 {
  padding: 30px !important; }

/*
title
----------------------------------------- */
.ti {
  clear: both; }

/*
list
------------------------------------------ */
.list-dot {
  margin-left: 15px; }

.list-dot:before,
.list-dot:after {
  content: " ";
  display: table; }

.list-dot:after {
  clear: both; }

.list-dot li {
  text-indent: -15px; }

.list-dot li:before {
  content: "・";
  text-indent: -15px; }

.list-kome {
  margin-left: 15px;
  list-style: none; }

.list-kome:before,
.list-kome:after {
  content: "";
  display: table; }

.list-kome:after {
  clear: both; }

.list-kome li {
  text-indent: -15px;
  border: none; }

.list-kome li:before {
  content: "※";
  text-indent: -15px; }

/*
table
------------------------------------------ */
table.table-com {
  margin-top: 1px;
  width: 100%;
  border-top: 1px solid #ccc; }
  table.table-com a {
    color: #333; }
  table.table-com th, table.table-com td {
    line-height: 1.4;
    padding: 10px;
    text-align: center;
    border-bottom: 1px solid #ccc; }
  table.table-com th {
    background-color: #E4F1EA; }
  table.table-com td {
    border-right: 1px solid #ccc;
    background-color: #fff; }
  table.table-com td.colored {
    background-color: #eee;
    border-right: none; }
    table.table-com td.colored .btn {
      min-width: auto; }

@media screen and (max-width: 768px) {
  table.table-com th, table.table-com td {
    text-align: left;
    padding: 10px 0.5em;
    font-size: 12px; } }
/*
DL List
------------------------------------------ */
.dl-com dl {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  margin-top: -1px;
  clear: both; }
  .dl-com dl dt, .dl-com dl dd {
    display: table-cell;
    vertical-align: middle;
    line-height: 1.6;
    padding: 0.8em; }
  .dl-com dl dt {
    width: 25%;
    text-align: center;
    word-break: break-word; }
  .dl-com dl dd {
    text-align: center;
    border-left: 1px solid #ccc; }

.dl-com-blue dl dt {
  background-color: #4c4cff;
  border-left: none;
  color: #ffffff; }
  
.dl-com-blue dl dt a,
.dl-com-blue dl dt a:visited,
.dl-com-blue dl dt a:hover,
.dl-com-blue dl dt a:focus,
.dl-com-blue dl dt a:active {
  color: #ffffff;
  text-decoration-color: currentColor; /* 下線がある場合も白で揃える */
}
  
.dl-com-pink dl dt {
  background-color: #ee5ca6;
  border-left: none;
  color: #ffffff; }
  
.dl-com-pink dl dt a,
.dl-com-pink dl dt a:visited,
.dl-com-pink dl dt a:hover,
.dl-com-pink dl dt a:focus,
.dl-com-pink dl dt a:active {
  color: #ffffff;
  text-decoration-color: currentColor; /* 下線がある場合も白で揃える */
}
  
.dl-com-green dl dt {
  background-color: #66ff99;
  border-left: none; }

@media screen and (max-width: 768px) {
  .dl-com dl dt {
    width: 30%; } }
/*
buttons
----------------------------------------- */
a.btn,
.btn {
  display: inline-block;
  line-height: 1.1;
  position: relative;
  text-decoration: none;
  background-color: #0045ff;
  color: #fff;
  padding: 0.9em 3em 0.9em 1.5em;
  min-width: 400px; }

.btn-color-gray-out {
  background-color: #A8A8A8 !important; }

.btn.fr-external-link:before,
.btn.fr-arrow-circle-right:before {
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  display: block;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -0.5em;
  color: #fff;
  font-size: 1.125em; }

.btn:hover {
  opacity: 0.8;
  -webkit-transition: all 0.3s;
  transition: all 0.3s; }

.btn.btn-color-gray-out:hover {
  opacity: 1 !important; }

.btn-text-center {
  text-align: center; }

.btn-text-right {
  text-align: right; }

.btn-text-left {
  text-align: left; }

@media screen and (max-width: 768px) {
  a.btn,
  .btn {
    min-width: auto; } }
/*
bg-color
----------------------------------------- */
.bg-color-blue {
  background-color: #000080;
  color: #ffffff; }
.bg-color-pink {
  background-color: #CF268A;
  color: #ffffff; }

.bg-color-pale-pink {
  background-color: #fbedf0; }

.bg-color-light-pink {
  background-color: #f7dae0; }

.bg-color-gray {
  background-color: #EEEEEE; }

.bg-color-green {
  background-color: #E4F1EA; }

/*
border
----------------------------------------- */
/*style*/
.border-style-solid {
  border:1px solid; }

.border-style-dot {
  border-style: dotted; }

.border-style-dash {
  border-style: dashed; }

/*color*/
.border-color-blue {
  border-color: #A0D8EF; }

.border-color-gray {
  border-color: #ccc; }

/*width*/
.border-wiz-1 {
  border-width: 1px !important; }

.border-wiz-2 {
  border-width: 2px !important; }

/*border*/
.border-bottom {
  border-top: none;
  border-left: none;
  border-right: none;
  border-bottom-width: 1px;
  padding-bottom: 0.5em; }

.border-top {
  border-left: none;
  border-right: none;
  border-bottom: none;
  border-top-width: 1px;
  padding-top: 0.5em; }

.border-left {
  border-top: none;
  border-right: none;
  border-bottom: none;
  border-left-width: 1px;
  padding-left: 0.5em; }

.border-right {
  border-top: none;
  border-left: none;
  border-bottom: none;
  border-right-width: 1px;
  padding-right: 0.5em; }

.border-all {
  border-width: 1px; }

/*
noscript
---------------------------------*/
#noscriptWrap {
  width: 100%;
  text-align: center;
  z-index: 0; }

#noscriptIn {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -35%;
  width: 70%;
  padding: 20px;
  background: #A8A8A8;
  z-index: 3; }

/*
scrollup
----------------------------------------- */
#scrollUp {
  display: block;
  right: 10px;
  bottom: 70px;
  width: 60px;
  height: 60px;
  background: url(../images/scrollup.png) left top no-repeat;
  background-size: 60px;
  text-indent: -9999em;
  outline: none;
  opacity: 0.8; }

#scrollUp:hover {
  opacity: 0.6;
  -webkit-transition: all 0.3s;
  transition: all 0.3s; }

@media screen and (max-width: 768px) {
  #scrollUp {
    width: 50px;
    height: 50px;
    background-size: 50px;
    right: auto;
    left: 10px;
    bottom: 37px; } }
/*googlemap
----------------------------------------- */
.gmap-wrap {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 0;
  height: 0;
  overflow: hidden; }

.gmap-wrap iframe,
.gmap-wrap object,
.gmap-wrap embed {
  position: absolute;
  top: 0;
  left: 0%;
  width: 100%;
  height: 100%; }

/*embed-responsive
----------------------------------------- */
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden; }

.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0; }

.embed-responsive-16by9 {
  padding-bottom: 56.25%; }

.embed-responsive-4by3 {
  padding-bottom: 75%; }

/*--------------------------------
index専用
---------------------------------*/
#home .main-container {
  padding-top: 0px; }
#home .main-container-in {
  width: 100%;
  display: table;
  table-layout: fixed;
  margin-top: 40px; }
  @media screen and (max-width: 768px) {
    #home .main-container-in {
      margin-top: 15px; } }
  #home .main-container-in #main,
  #home .main-container-in .side {
    display: table-cell;
    vertical-align: top; }
  #home .main-container-in .side {
    width: 500px;
    padding-left: 20px; }
    @media screen and (max-width: 768px) {
      #home .main-container-in .side {
        display: none !important; } }
    #home .main-container-in .side .fb-page {
      width: 480px !important; }
#home #sec-main-slide {
  position: relative; }
#home .slide-animation-01,
#home .slide-animation-02 {
  display: none; }

#home .main-slide img {
  width: 100%;
  height: auto; }
#home .main-slide .pc {
  display: block; }
  @media screen and (max-width: 768px) {
    #home .main-slide .pc {
      display: none; } }
#home .main-slide .sp {
  display: none; }
  @media screen and (max-width: 768px) {
    #home .main-slide .sp {
      display: block; } }
/* スライド全体の枠サイズを画面比率に設定 */
#sec-main-slide {
  display: flex;
  justify-content: center;   /* 横中央 */
  align-items: center;       /* 縦中央 */
  width: 90vw;
  height: 70vh;
  margin: 0 auto;            /* 中央寄せ */
  box-sizing: border-box;
}

/* slickの内部が枠にフィットするよう調整 */
#sec-main-slide .slick-slider,
#sec-main-slide .slick-list,
#sec-main-slide .slick-track {
  width: 100%;
  height: 100%;
}

/* 各スライドの中身も高さを継承 */
#sec-main-slide .slick-slide {
  display: flex !important;  /* 高さを伝播させる */
  justify-content: center;
  align-items: center;
  height: 100%;
}

/* 画像を80vw×60vhの枠に収める（縦横比維持で全体が見える） */
#sec-main-slide .slick-slide img {
  width: 90vw;     /* 画面の横幅の80% */
  height: 70vh;    /* 画面の高さの60% */
  object-fit: contain;
  display: block;
}
#home .main-slide-footer {
  position: absolute;
  bottom: 0;
  z-index: 100;
  left: 0;
  right: 0;
  text-align: center; }
  @media screen and (max-width: 768px) {
    #home .main-slide-footer {
      bottom: -1%; } }
  #home .main-slide-footer .btn-scroll {
    display: block;
    width: 6.1%;
    max-width: 80px;
    margin: 0 auto;
    transition: all .2s; }
    @media screen and (max-width: 768px) {
      #home .main-slide-footer .btn-scroll {
        width: 14%; } }
    #home .main-slide-footer .btn-scroll img {
      width: 100%;
      height: auto; }
    #home .main-slide-footer .btn-scroll:hover {
      opacity: .8;
      transition: all .2s; }

#home .main-slide-content .main-slide-logo {
  position: absolute;
  left: 0;
  right: 0;
  /*bottom: 5%;*/
  bottom: 2%;
  width: 100%;
  text-align: center; }
  #home .main-slide-content .main-slide-logo img {
    display: inline-block;
    height: auto;
		/*
    width: 30%;
    */
		/*width: 50%;
		max-width: 580px;*/
        
        width: 100%;
		/*max-width: 700px;*/
        max-width: 600px; }
    @media screen and (max-width: 768px) {
      #home .main-slide-content .main-slide-logo img {
        /*width: 80%;*/
        /*width: 90%;*/
        width: 100%; } }


#home .main-slide-content .main-slide-thanks {
  position: absolute;
  left: 0;
  right: 0;
  top: 35%;
  width: 100%; }
  #home .main-slide-content .main-slide-thanks img {
    display: inline-block;
    max-width: 720px;
    width: 50%;
    height: auto; }
    @media screen and (max-width: 768px) {
      #home .main-slide-content .main-slide-thanks img {
        width: 80%; } }


#home .main-slide-content .main-slide-finish {
  position: absolute;
  left: 0;
  right: 0;
  top: 45%;
  width: 100%; }
  #home .main-slide-content .main-slide-finish img {
    display: inline-block;
    max-width: 720px;
    width: 50%;
    height: auto; }
    @media screen and (max-width: 768px) {
      #home .main-slide-content .main-slide-finish img {
        width: 80%; } }


#home .main-slide-content .main-slide-players {
  position: absolute;
  left: 0;
  right: 0;
  /*top: 3%;*/
  top: 1%;
  width: 100%; }
  #home .main-slide-content .main-slide-players img {
    display: inline-block;
    max-width: 840px;
    /*width: 48%;*/
    /*width: 40%;*/
    width: 38%;
    height: auto; }
    @media screen and (max-width: 768px) {
      #home .main-slide-content .main-slide-players {
		top: 12%; }
      #home .main-slide-content .main-slide-players img {
		/*top: 20%;*/
        /*width: 100%;*/
        width: 90%; } }

#home #main-banner {
  background-color: #fbedf0;
  padding-top: 40px;
  padding-bottom: 30px; }
  @media screen and (max-width: 768px) {
    #home #main-banner {
      padding-top: 5%;
      padding-bottom: 20px; } }
  @media screen and (max-width: 1400px) {
    #home #main-banner .main-banner-in {
      padding-right: 30px;
      padding-left: 30px; } }
  @media screen and (max-width: 768px) {
    #home #main-banner .main-banner-in {
      padding-right: 0;
      padding-left: 0; } }
  @media screen and (max-width: 768px) {
    #home #main-banner .container {
      padding-left: 0px;
      padding-right: 0px; } }
  #home #main-banner li {
    padding: 0 5px; }
    @media screen and (max-width: 768px) {
      #home #main-banner li {
        padding: 0 10px; } }
    #home #main-banner li a:hover {
      opacity: 0.8;
      transition: .2s; }
    #home #main-banner li img {
      width: 100%;
      height: auto; }
  #home #main-banner .slick-track .slick-active {
    width: 50%; }
  #home #main-banner .slick-prev:hover:before,
  #home #main-banner .slick-prev:focus:before,
  #home #main-banner .slick-next:hover:before,
  #home #main-banner .slick-next:focus:before {
    opacity: .7; }
  #home #main-banner .slick-prev:before,
  #home #main-banner .slick-next:before {
    color: #b2576d;
    opacity: 1;
    font-size: 15px;
    background-repeat: no-repeat;
    width: 19px;
    height: 38px;
    display: block;
    background-size: contain; }
  #home #main-banner .slick-prev:before,
  #home #main-banner [dir='rtl'] .slick-next:before {
    content: "";
    background-image: url(../../images/arrow-thin-left.png); }
  #home #main-banner [dir='rtl'] .slick-prev:before,
  #home #main-banner .slick-next:before {
    content: "";
    background-image: url(../../images/arrow-thin-right.png); }
  #home #main-banner .slick-dots {
    bottom: -30px; }
  #home #main-banner .slick-dots .slick-active button:before {
    background-color: #00BFFF; }
  #home #main-banner .slick-dots li button:before,
  #home #main-banner .slick-dots li button,
  #home #main-banner .slick-dots li {
    width: 15px;
    height: 15px; }
  #home #main-banner .slick-dots li button:before {
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 7.5px;
    background-color: #fff;
    content: '';
    opacity: 1;
    color: black; }

/* countdown
----------------------------*/
#home .contdown-container {
  position: relative; }
#home #countdown {
  /*background-color: rgba(193,150,5,1);*/
  background-color: #043ab9;
  z-index: 10000;
  color: #fff;
  text-align: center; }
  #home #countdown #header_cowntdown_in,
  #home #countdown #header_cowntdown_in2 {
    font-family: 'Lora', serif;
    line-height: 1.1;
    font-size: 52px; }
  #home #countdown .day {
    line-height: 1.2;
    font-family: 'Lora', serif;
    font-size: 22px; }
#home .countdown-sm {
  display: none;
  background-color: #fff; }
  @media screen and (max-width: 768px) {
    #home .countdown-sm {
      display: block; }
      #home .countdown-sm #countdown {
        padding: 5px 0; }
        #home .countdown-sm #countdown div {
          display: inline-block;
          vertical-align: middle; }
      #home .countdown-sm #header_cowntdown_txt2 {
        font-size: 1.286em; } }
@media screen and (max-width: 768px) {
  #home .countdown-pc {
    display: none; } }
#home .countdown-pc #countdown {
  position: absolute;
  z-index: 1000;
  right: 15px;
  top: 20px;
  width: 140px;
  padding: 17px 0; }
#home .countdown-pc #header_cowntdown_txt {
  width: 108px;
  margin: 0 auto;
  margin-bottom: 5px; }
  #home .countdown-pc #header_cowntdown_txt img {
    width: 100%;
    height: auto; }

/*#sec-news
----------------------------*/
#home #sec-news {
  padding-right: 15px; }
  #home #sec-news .ti-news {
    color: #095E30;
    border-bottom: 1px solid #008742;
    margin-bottom: 10px; }
    #home #sec-news .ti-news strong {
      font-family: 'EB Garamond', serif;
      font-size: 1.625em; }
    #home #sec-news .ti-news small {
      display: inline-block;
      margin-left: 1em;
      font-size: 0.875em;
      font-family: Garamond, "Times New Roman", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
  #home #sec-news ul {
    list-style: none; }
    #home #sec-news ul li {
      display: table;
      table-layout: fixed;
      width: 100%;
      line-height: 1.4;
      border-bottom: 1px solid #DDDDDD;
      padding: 0.9em 0; }
      #home #sec-news ul li a:after {
        speak: none;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        display: block;
        position: absolute;
        top: 50%;
        right: 0;
        margin-top: -0.5em;
        color: #8BC0A2;
        font-size: 18px; }
      #home #sec-news ul li a {
        /*display: block;*/
        text-decoration: underline;
        color: #333; }
        #home #sec-news ul li a:hover {
          text-decoration: none; }
      #home #sec-news ul li span {
        display: table-cell;
        vertical-align: middle; }
        #home #sec-news ul li span.date {
          width: 7em;
          color: #333; }
        #home #sec-news ul li span.title {
          position: relative;
          padding-right: 10px; }

.mac #home #sec-news .ti-news small {
  font-family: Garamond, "Times New Roman", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", serif; }

@media screen and (max-width: 1229px) {
  #home .main-container.container {
    padding-right: 15px;
    padding-left: 15px; } }
@media screen and (max-width: 1040px) {
  #home .main-container-in .side {
    width: 40%; }

  #home .main-container-in .side .fb-page {
    width: 100% !important; } }
@media screen and (max-width: 768px) {
  #home .main-container-in {
    width: 100%;
    display: block; }
    #home .main-container-in #main,
    #home .main-container-in .side {
      display: block;
      vertical-align: top; }
    #home .main-container-in .side {
      margin-top: 15px;
      width: 100%;
      padding-left: 0px;
      text-align: center; } }
#home .sec-pickup {
  margin-top: 50px; }
  @media screen and (max-width: 768px) {
    #home .sec-pickup {
      margin-top: 30px; } }
  @media screen and (max-width: 768px) {
    #home .sec-pickup .container {
      padding-right: 0;
      padding-left: 0; } }
  #home .sec-pickup ul {
    display: table;
    width: 100%;
    border-right: 1px solid #ddd; }
    @media screen and (max-width: 768px) {
      #home .sec-pickup ul {
        display: block;
        border-right: none;
        border-top: 1px solid #ddd; } }
    #home .sec-pickup ul li {
      display: table-cell;
      vertical-align: middle;
      width: 33.33%;
      border-left: 1px solid #ddd;
      text-align: center; }
      @media screen and (max-width: 768px) {
        #home .sec-pickup ul li {
          position: relative;
          width: 100%;
          display: block;
          border-left: none;
          border-bottom: 1px solid #ddd; }
          #home .sec-pickup ul li .sec-pickup-item-ic,
          #home .sec-pickup ul li .sec-pickup-item-title {
            display: table-cell;
            vertical-align: middle;
            text-align: left;
            table-layout: fixed; }
          #home .sec-pickup ul li .sec-pickup-item-footer {
            display: none; }
          #home .sec-pickup ul li:after {
            position: absolute;
            display: block;
            content: "";
            right: 10px;
            top: 50%;
            margin-top: -10px;
            line-height: 1.0;
            font-size: 20px;
            color: #cccccc; } }
      #home .sec-pickup ul li .sec-pickup-item-liner {
        display: block;
        padding: 0 5%;
        text-decoration: none;
        color: #333;
        transition: all .2s; }
        @media screen and (max-width: 768px) {
          #home .sec-pickup ul li .sec-pickup-item-liner {
            padding: 4% 25px 4% 3.5%;
            display: table;
            width: 100%; }
            #home .sec-pickup ul li .sec-pickup-item-liner:hover {
              background-color: #fbedf0; } }
        #home .sec-pickup ul li .sec-pickup-item-liner:hover {
          opacity: .8;
          transition: all .2s; }
      @media screen and (max-width: 768px) {
        #home .sec-pickup ul li .sec-pickup-item-ic {
          width: 24%;
          padding-right: 3.5%; } }
      #home .sec-pickup ul li .sec-pickup-item-ic img {
        display: inline-block;
        max-width: 110px; }
        @media screen and (max-width: 768px) {
          #home .sec-pickup ul li .sec-pickup-item-ic img {
            max-width: 100%;
            width: 100%;
            height: auto; } }
      @media screen and (max-width: 768px) {
        #home .sec-pickup ul li .sec-pickup-item-title {
          width: 76%; } }
      #home .sec-pickup ul li .sec-pickup-item-title b {
        font-weight: normal;
        font-size: 1.75em;
        padding: 0.5em 0 0.2em;
        display: block; }
        @media screen and (max-width: 768px) {
          #home .sec-pickup ul li .sec-pickup-item-title b {
            padding-bottom: 0;
            padding-top: 0; } }
        @media screen and (max-width: 640px) {
          #home .sec-pickup ul li .sec-pickup-item-title b {
            font-size: 4.6vw; } }
      @media screen and (max-width: 640px) {
        #home .sec-pickup ul li .sec-pickup-item-content {
          font-size: 2.8vw; } }
      #home .sec-pickup ul li .sec-pickup-item-footer {
        margin-top: 1.5em;
        padding-bottom: 1em; }
        #home .sec-pickup ul li .sec-pickup-item-footer .btn {
          max-width: 200px;
          min-width: 200px; }

#home .sec-other-links .container {
  padding-right: 5px;
  padding-left: 5px;
  padding-top: 30px; }
  @media screen and (max-width: 768px) {
    #home .sec-other-links .container {
      padding-top: 20px; } }
#home .sec-other-links .sec-other-links-items {
  overflow: hidden;
  width: 100%; }
  @media screen and (max-width: 768px) {
    #home .sec-other-links .sec-other-links-items {
      display: block; } }
#home .sec-other-links .sec-other-links-item {
  float: left;
  padding: 10px;
  background-color: #fff;
  width: 25%; }
  @media screen and (max-width: 768px) {
    #home .sec-other-links .sec-other-links-item {
      width: 50%;
      float: left;
      padding: 7.5px 7.5px; } }
  #home .sec-other-links .sec-other-links-item:hover a {
    color: #fff; }
    #home .sec-other-links .sec-other-links-item:hover a:before {
      color: #fff; }
  #home .sec-other-links .sec-other-links-item a {
    border: 1px solid #dddddd;
    display: block;
    text-decoration: none;
    padding: 1.5em 15px 1.5em 4em;
    font-size: 1.125em;
    position: relative;
    transition: all .2s;
    color: #333;
    line-height: 1.0; }
    @media screen and (max-width: 640px) {
      #home .sec-other-links .sec-other-links-item a {
        font-size: 3.4vw;
        padding-left: 3em;
        padding-right: 2px; } }
    #home .sec-other-links .sec-other-links-item a:hover {
      background-color: #00BFFF;
      border-color: #00BFFF;
      transition: all .2s; }
    #home .sec-other-links .sec-other-links-item a:before {
      position: absolute;
      left: 15px;
      top: 50%;
      margin-top: -0.5em;
      display: block;
      font-size: 2.35em;
      line-height: 1.0;
      color: #00BFFF; }
      @media screen and (max-width: 640px) {
        #home .sec-other-links .sec-other-links-item a:before {
          font-size: 6.6vw;
          left: 7px; } }
    #home .sec-other-links .sec-other-links-item a:after {
      position: absolute;
      display: block;
      content: "";
      right: 10px;
      top: 50%;
      margin-top: -0.5em;
      line-height: 1.0;
      content: "\f138";
      font-size: 1em;
      color: #cccccc; }
      @media screen and (max-width: 768px) {
        #home .sec-other-links .sec-other-links-item a:after {
          font-size: 1.125em;
          right: 3px; } }
  @media screen and (max-width: 640px) {
    #home .sec-other-links .sec-other-links-item-tv a:before {
      font-size: 5.4vw; } }
#home .sec-other-links .sec-other-links-item-gallery a {
  padding-left: 3.25em; }
  @media screen and (max-width: 640px) {
    #home .sec-other-links .sec-other-links-item-gallery a {
      padding-left: 2.4em; } }
#home .sec-other-links .sec-other-links-item-gallery a:before {
  font-size: 2em;
  content: "\f071"; }
  @media screen and (max-width: 640px) {
    #home .sec-other-links .sec-other-links-item-gallery a:before {
      font-size: 5.4vw; } }
@media screen and (max-width: 640px) {
  #home .sec-other-links .sec-other-links-item-playback a {
    padding-left: 2.7em; } }

.sec-facebook-timeline-sp {
  display: none; }
  @media screen and (max-width: 768px) {
    .sec-facebook-timeline-sp {
      display: block;
      padding: 5% 5% 3%; } }
/* 画像ラッパーを相対配置に */
.cmp-linklist__link__in {
  position: relative;
  display: inline-block; /* 画像サイズに合わせる */
}

/* テキストを重ねる */
.cmp-linklist__label {
  position: absolute;
  left: 50%;
  bottom: 8%;            /* 下寄せ。中央なら top: 50% で調整 */
  transform: translateX(-50%);
  color: #fff;
  font-weight: 700;
  font-size: 1.2rem;
  padding: 0.4em 0.8em;
  background: rgba(0, 0, 0, 0.5); /* 半透明背景で可読性UP */
  border-radius: 6px;
  pointer-events: none;  /* クリックを画像リンクに通す（任意） */
  text-align: center;
  white-space: nowrap;   /* 長い文なら省略。改行したい場合は削除 */
}

/* 画像を親にフィットさせる（幅指定だけの場合は不要） */
.cmp-linklist__link__in img {
  display: block;
  width: 100%;
  height: auto;
}

/* レスポンシブ調整（モバイルで文字サイズを少し小さく） */
@media (max-width: 768px) {
  .cmp-linklist__label {
    font-size: 1rem;
    padding: 0.35em 0.7em;
    bottom: 6%;
  }
}

/* セクション見出しの調整 */
.sponsor-heading {
  display: block;
  margin: 24px auto 12px; /* 上下の余白 */
  max-width: 220px;       /* 画像の最大幅（GOLD/SILVER用） */
  height: auto;
}

/* 共通：スポンサーグリッド（PCは3列） */
.wp-block-group.sponsor-gold,
.wp-block-group.sponsor-silver {
  display: grid !important; /* ブロックエディタのflex設定を上書き */
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* 3列 */
  gap: 16px 24px; /* 行・列の間隔 */
  align-items: start;
  justify-items: center;
  padding: 12px 8px;
}

/* カード風のfigure調整 */
.wp-block-group.sponsor-gold figure.wp-block-image,
.wp-block-group.sponsor-silver figure.wp-block-image {
  /* カードの見た目 */
  background: #fff;
  border-radius: 12px;
  padding: 12px 10px;
  margin: 0;
  width: 100%;
  max-width: 280px; /* カードの最大幅（列幅に応じて縮む） */
  box-shadow: 0 6px 20px rgba(0,0,0,0.06);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  text-align: center;
}

/* ホバー演出（PCのみ） */
@media (hover: hover) and (pointer: fine) {
  .wp-block-group.sponsor-gold figure.wp-block-image:hover,
  .wp-block-group.sponsor-silver figure.wp-block-image:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 28px rgba(0,0,0,0.10);
  }
}

/* 画像のフィットとホバー拡大 */
.wp-block-group.sponsor-gold figure.wp-block-image img,
.wp-block-group.sponsor-silver figure.wp-block-image img {
  display: block;
  max-width: 88%;
  height: auto;
  margin: 0 auto 8px;
  transition: transform 0.22s ease;
}

@media (hover: hover) and (pointer: fine) {
  .wp-block-group.sponsor-gold figure.wp-block-image:hover img,
  .wp-block-group.sponsor-silver figure.wp-block-image:hover img {
    transform: scale(1.03);
  }
}

/* キャプションの見た目 */
.wp-block-group.sponsor-gold figure.wp-block-image figcaption,
.wp-block-group.sponsor-silver figure.wp-block-image figcaption {
  font-size: 14px;
  line-height: 1.4;
  color: #222;
  font-weight: 600;
  margin: 4px 0 0;
  word-break: break-word;
}

/* GOLDセクションのアクセント（任意） */
.wp-block-group.sponsor-gold figure.wp-block-image {
  border: 1px solid rgba(218,165,32,0.20); /* ゴールド系アクセント */
}
.wp-block-group.sponsor-gold figure.wp-block-image figcaption {
  color: #2a2a2a;
}

/* SILVERセクションのアクセント（任意） */
.wp-block-group.sponsor-silver figure.wp-block-image {
  border: 1px solid rgba(160,160,160,0.25); /* シルバー系アクセント */
}
.wp-block-group.sponsor-silver figure.wp-block-image figcaption {
  color: #2a2a2a;
}

/* 見切れ防止：高さ固定や隠しスクロールの解除 */
#main,
.wp-block-group.sponsor-gold,
.wp-block-group.sponsor-silver {
  height: auto;
  overflow: visible;
}

/* スマホ調整（768px以下） */
@media (max-width: 768px) {
  /* セクション見出しの幅を少し小さめに */
  .sponsor-heading {
    max-width: 160px;
    margin: 18px auto 8px;
  }

  /* 列数は3列維持 or 2列にしたい場合はrepeat(2,1fr)に変更 */
  .wp-block-group.sponsor-gold,
  .wp-block-group.sponsor-silver {
    grid-template-columns: repeat(3, 1fr); /* スマホでも3列 */
    gap: 10px 8px;
    padding: 8px 4px;
    justify-items: center;
  }

  /* カードの内側余白とサイズを少しコンパクトに */
  .wp-block-group.sponsor-gold figure.wp-block-image,
  .wp-block-group.sponsor-silver figure.wp-block-image {
    border-radius: 10px;
    padding: 10px 8px;
    max-width: 220px;
  }

  /* 画像サイズをスマホに最適化 */
  .wp-block-group.sponsor-gold figure.wp-block-image img,
  .wp-block-group.sponsor-silver figure.wp-block-image img {
    max-width: 84%;
    margin-bottom: 6px;
  }

  /* キャプションも少し小さめに */
  .wp-block-group.sponsor-gold figure.wp-block-image figcaption,
  .wp-block-group.sponsor-silver figure.wp-block-image figcaption {
    font-size: 12px;
    line-height: 1.3;
  }
}

/* 超小型端末（560px以下）は2列推奨の場合の例
@media (max-width: 560px) {
  .wp-block-group.sponsor-gold,
  .wp-block-group.sponsor-silver {
    grid-template-columns: repeat(2, 1fr);
  }
}
*/
/* PC（768px超）で間隔を詰めてセンター寄せ */
@media (min-width: 769px) {
  /* グリッド自体をセンターに、列間隔を小さく */
  .wp-block-group.sponsor-gold,
  .wp-block-group.sponsor-silver {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 16px;          /* 行間12px・列間16pxに縮小（さらに詰めたい場合は8〜12pxへ） */
    justify-items: center;   /* 各カードを中央寄せ */
    align-items: start;
    padding: 8px 0;
    max-width: 1080px;       /* 3列の総幅を制御してセンター揃え */
    margin: 0 auto;          /* ページ中央に配置 */
  }

  /* カード幅をややコンパクトに */
  .wp-block-group.sponsor-gold figure.wp-block-image,
  .wp-block-group.sponsor-silver figure.wp-block-image {
    max-width: 260px;        /* 280px→260px（詰め感を出す） */
    padding: 10px 8px;       /* 内側余白も少しタイトに */
    margin: 0;
    text-align: center;
  }

  /* 画像は中央寄せのまま */
  .wp-block-group.sponsor-gold figure.wp-block-image img,
  .wp-block-group.sponsor-silver figure.wp-block-image img {
    display: block;
    margin: 0 auto 6px;
    max-width: 88%;
    height: auto;
  }
}

/* もっと詰めたい場合の代替（列間を12px→8pxに） */
/*
@media (min-width: 769px) {
  .wp-block-group.sponsor-gold,
  .wp-block-group.sponsor-silver { gap: 10px 12px; }
  .wp-block-group.sponsor-gold figure.wp-block-image,
  .wp-block-group.sponsor-silver figure.wp-block-image { max-width: 240px; }
}
*/

/* ラッパー：中央寄せ＋横並び */
.gallery-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;                  /* ボタン間の余白 */
  justify-content: center;    /* センター寄せ */
  align-items: center;
  margin: 24px 0;
}

/* ボタン共通スタイル */
.gallery-btn {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-width: 240px;           /* 幅の目安 */
  padding: 16px 22px;
  border-radius: 14px;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(135deg, #111827, #1f2937); /* ダークグラデーション */
  box-shadow: 0 10px 24px rgba(0,0,0,0.18);
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

/* 角にアクセントのグラデーション光 */
.gallery-btn::before {
  content: "";
  position: absolute;
  inset: -40% -40% auto auto; /* 右上に斜めの光 */
  width: 80%;
  height: 80%;
  background: radial-gradient(closest-side, rgba(255,255,255,0.18), transparent 65%);
  transform: rotate(25deg);
  pointer-events: none;
}

/* ホバー演出（PC） */
@media (hover: hover) and (pointer: fine) {
  .gallery-btn:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(0,0,0,0.24);
  }
}

/* タイトルとサブタイトル */
.gallery-btn .btn-title {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

.gallery-btn .btn-sub {
  margin-top: 6px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase; /* 英字の場合に映える。日本語でもOK */
  opacity: 0.85;
}

/* カラーバリエーション（任意） */
.gallery-btn:nth-child(1) {
  background: linear-gradient(135deg, #1e3a8a, #3b82f6); /* ブルー系 */
}
.gallery-btn:nth-child(2) {
  background: linear-gradient(135deg, #8a1e6a, #ec4899); /* ピンク系 */
}

/* アイコンを付けたい場合（任意） */
.gallery-btn::after {
  content: "↗";
  position: absolute;
  right: 14px;
  bottom: 12px;
  font-size: 16px;
  opacity: 0.9;
}

/* スマホ調整 */
@media (max-width: 768px) {
  .gallery-btn {
    min-width: 44%;
    padding: 14px 18px;
    border-radius: 12px;
  }
  .gallery-btn .btn-title { font-size: 16px; }
  .gallery-btn .btn-sub { font-size: 11px; }
}

/* ギャラリー全体のレイアウト最適化 */
.wp-block-gallery.has-nested-images {
  display: grid !important;                            /* ブロックの既定flexを上書き */
  grid-template-columns: repeat(2, minmax(0, 1fr));    /* PCは3列 */
  gap: 12px;                                           /* カード間の余白（詰めたいなら12px） */
  align-items: start;
  justify-items: center;                               /* カードを中央寄せ */
  max-width: 1200px;                                   /* 全体幅を制御して中央に */
  margin: 24px auto;
  padding: 0 8px;
}

/* 画像カードの見た目 */
.wp-block-gallery .wp-block-image {
  width: 100%;
  max-width: 720px;                                    /* 列幅に応じて縮む上限 */
  background: #fff;
  border-radius: 14px;
  overflow: hidden;                                    /* 角丸内に画像を収める */
  box-shadow: 0 8px 24px rgba(0,0,0,0.08);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

/* 画像のフィット */
.wp-block-gallery .wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;                                 /* 横長写真の比率を揃える */
  object-fit: cover;                                   /* トリミングで統一感 */
}

/* ホバー演出（PC） */
@media (hover: hover) and (pointer: fine) {
  .wp-block-gallery .wp-block-image:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 36px rgba(0,0,0,0.12);
  }
  .wp-block-gallery .wp-block-image:hover img {
    transform: scale(1.02);
  }
}

/* 画像の微かな拡大に滑らかなトランジション */
.wp-block-gallery .wp-block-image img {
  transition: transform 0.22s ease;
}

/* 余白やテキスト（キャプションがある場合） */
.wp-block-gallery .wp-block-image figcaption {
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.4;
  color: #222;
  text-align: left;
  background: linear-gradient(180deg, #fff, #f9fafb);
  border-top: 1px solid rgba(0,0,0,0.06);
}

/* スマホ・タブレット調整 */
@media (max-width: 1024px) {
  .wp-block-gallery.has-nested-images {
    grid-template-columns: repeat(1, 1fr);             /* タブレットは2列 */
    gap: 14px;
    max-width: 920px;
  }
  .wp-block-gallery .wp-block-image { max-width: 420px; }
}

@media (max-width: 768px) {
  .wp-block-gallery.has-nested-images {
    grid-template-columns: repeat(1, 1fr);             /* スマホは2列 */
    gap: 10px;
    max-width: 720px;
    padding: 0 6px;
  }
  .wp-block-gallery .wp-block-image {
    border-radius: 12px;
  }
  .wp-block-gallery .wp-block-image figcaption {
    font-size: 12px;
    padding: 8px 10px;
  }
}

/* さらに小さい端末で1列にしたい場合（任意）
@media (max-width: 480px) {
  .wp-block-gallery.has-nested-images { grid-template-columns: 1fr; }
}
*/

/* ページ内の上部テキストもセンター寄せに（任意） */
#main p {
  max-width: 960px;
  margin: 0 auto 12px;
  text-align: center;
}

/* ヒーロー動画のレイアウト */
#sec-main-slide.hero {
  position: relative;
  width: 100%;
  height: 56.25vw; /* デフォルトは16:9 */
  max-height: 90vh; /* 見え方に応じ調整 */
  overflow: hidden;
}
@media (max-width: 768px) {
  #sec-main-slide.hero {
    height: 62.5vw; /* SPは高さ少し大きめ等、任意調整 */
    max-height: none;
  }
}
.hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* 画面いっぱいにトリミング */
  object-position: center;
  display: block;
  opacity: 0;
  transition: opacity 1s ease;
}
.hero-video.is-ready {
  opacity: 1; /* 読み込み後にフェードイン */
}
/* 既存の上物（ロゴ等）はそのまま重ねる */
#sec-main-slide .main-slide-content {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

/* ヒーロー内に重ねる場合 */
#sec-main-slide.hero {
  position: relative;
}
#sec-main-slide.hero .countdown-sm {
  position: absolute;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  z-index: 2; /* 動画より前面 */
  background: rgba(0,0,0,0.35); /* 可読性のため半透明背景（必要なら） */
  color: #fff;
  padding: 8px 12px;
  border-radius: 8px;
}

/* ベース（既存） */
.premium-sponsor {
  --bg: #E5E4E2;
  --text: #000000;
  --muted: #666666;
  --accent: #ad8a00;
  --accent-plat: #cfd3d8;

  color: var(--text);
  padding: 2.5rem 1rem;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.35);
}

/* STANDARD SPONSOR 用（控えめメタル感） */
.premium-sponsor.premium-sponsor--standard {
  --bg: #FFFFFF;
  --text: #000000;
  --muted: #c3cbd6;
  --accent: #aeb6c2;
  --accent-plat: #d4dae1;

  background: radial-gradient(900px 450px at 50% -160px, #161b22, var(--bg));
  box-shadow: 0 14px 44px rgba(0,0,0,0.28);
  border: 1px solid rgba(212,218,225,0.12);
}

/* 見出し（STANDARDの特別感を上品に） */
.premium-sponsor.premium-sponsor--standard .section-title {
  font-weight: 700;
  letter-spacing: 0.02em;
  background: linear-gradient(120deg, #ffffff, var(--accent-plat) 55%, var(--accent) 90%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 0 20px rgba(174,182,194,0.12);
  margin-bottom: 1rem;
}

/* タイトル左の装飾ライン（ささやかな光沢） */
.premium-sponsor.premium-sponsor--standard .section-title::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 4px;
  height: 1.2em;
  margin-right: 10px;
  border-radius: 2px;
  background: linear-gradient(180deg, #f3f6fa, var(--accent));
  box-shadow: 0 0 10px rgba(174,182,194,0.35);
}

/* 区切り（カードやリストの上部を軽く強調） */
.premium-sponsor.premium-sponsor--standard .section-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(212,218,225,0.35), transparent);
  margin: 1rem 0 1.25rem;
}

/* スポンサーリスト：ベースをgridに統一（flex指定の削除） */
.sponsor-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 16px 20px;
}

/* STANDARD セクションのリスト（常時3列） */
.premium-sponsor.premium-sponsor--standard .sponsor-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* 768pxでの汎用2列化が不要なため削除（STANDARDは常時3列維持） */
/* 480pxでの汎用1列化が不要なため削除（STANDARDは常時3列維持） */

/* カード */
.premium-sponsor.premium-sponsor--standard .sponsor-item {
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.015));
  border: 1px solid rgba(212,218,225,0.14);
  border-radius: 12px;
  padding: 16px;
  transition: border-color 0.2s ease, box-shadow 0.25s ease, transform 0.2s ease;
}

.premium-sponsor.premium-sponsor--standard .sponsor-item:hover {
  border-color: rgba(212,218,225,0.35);
  box-shadow: 0 6px 18px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.06);
  transform: translateY(-1px);
}

/* ロゴの見栄え（中央揃えとコントラスト） */
.premium-sponsor.premium-sponsor--standard .sponsor-item figure {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  margin: 0;
}

.premium-sponsor.premium-sponsor--standard .sponsor-item img {
  display: block;
  max-width: 190px;
  width: 100%;
  height: auto;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,0.25));
}

/* ヒーロー（STANDARD版のトーン） */
.premium-hero.premium-hero--standard {
  text-align: center;
  margin-bottom: 2rem;
}

.premium-hero.premium-hero--standard .premium-title {
  font-family: "Inter", "Noto Sans JP", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: 0.02em;
  font-size: clamp(1.6rem, 3.2vw, 2.2rem);
  line-height: 1.2;
  margin: 0;
  background: linear-gradient(120deg, #f6f8fb 0%, #dfe4ea 45%, #c7ced7 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow:
    0 1px 4px rgba(255, 255, 255, 0.06),
    0 0 18px rgba(180, 188, 198, 0.10);
}

/* サブタイトル（可読性重視で抑えめ） */
.premium-hero.premium-hero--standard .premium-sub {
  color: var(--muted);
  margin-top: 0.5rem;
  font-size: clamp(0.9rem, 1.4vw, 1rem);
  letter-spacing: 0.02em;
}

/* サブタイトルの大サイズバリエーション（任意） */
.premium-hero.premium-hero--standard .premium-sub--lg {
  font-size: clamp(0.95rem, 1.6vw, 1.05rem);
}

/* 装飾ライン（ささやかな光沢、任意） */
.premium-hero.premium-hero--standard .premium-title::after {
  content: "";
  display: block;
  width: 120px;
  height: 1px;
  margin: 10px auto 0;
  background: linear-gradient(90deg, transparent, rgba(210,218,226,0.6), transparent);
}

/* ヒーロー部分（共通） */
.premium-hero {
  text-align: center;
  margin-bottom: 2rem;
}

.premium-title {
  font-family: "Inter", "Noto Sans JP", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: 0.03em;
  font-size: clamp(1.6rem, 3.5vw, 2.4rem);
  line-height: 1.2;
  margin: 0;

  /* ダークグラデーションテキスト */
  background: linear-gradient(
    120deg,
    #444444 0%,    /* 少しライトなグレーから */
    #222222 70%,   /* ミッドトーンを経て */
    #000000 100%   /* 最終的に黒寄り */
  );
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}

.premium-sub {
  color: var(--muted);
  margin-top: 0.5rem;
  font-size: 1.15rem;
}

/* ティア（区分） */
.tier {
  position: relative;
  padding: 1.25rem 1rem 1.5rem;
  border-radius: 14px;
  margin: 1rem auto;
  max-width: 900px;
  backdrop-filter: saturate(110%) blur(4px);
  border: 1px solid rgba(255,255,255,0.08);
}

/* ティアのヘッダー */
.tier-title {
  font-family: "Inter", "Noto Sans JP", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  font-size: clamp(1.1rem, 2.5vw, 1.4rem);
  margin: 0 0 0.75rem;
  display: inline-block;
  position: relative;
  padding-left: 0.75rem;
}

/* 装飾ライン（メタル/ゴールド） */
.tier-title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 1.2em;
  border-radius: 2px;
}

/* PLATINUM スタイル */
.tier.platinum {
  background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.01));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08), 0 10px 30px rgba(0,0,0,0.25);
}
.tier.platinum .tier-title {
  background: linear-gradient(
    120deg,
    #e0e0e0 0%,   /* ライトシルバー */
    #a0a0a0 50%,   /* メディウムシルバー */
    #606060 100%  /* ダークシルバー */
  );
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 
    1px 1px 2px rgba(0,0,0,0.4),
    0 0 10px rgba(255,255,255,0.5); /* ホワイトグローで光沢感を追加 */
}
@keyframes shine {
  0% { background-position -100% 0; }
  100% { background-position 100% 0; }
}
.tier.platinum .tier-title {
  background-size 200% 100%;
  animation: shine 2s infinite;
}
.tier.platinum .tier-title::before {
  background: linear-gradient(180deg, #f3f5f7, #aeb5be);
  box-shadow: 0 0 10px rgba(207,211,216,0.6);
}

/* GOLD スタイル */
.tier.gold {
  /* 完全ホワイトをベースに */
  background-color: #ffffff;
  /* 下方向に極薄ゴールドを差すだけのグラデ */
  background-image:
    linear-gradient(
      180deg,
      rgba(255,255,255,0.95) 0%,
      rgba(255,214,94,0.03) 100%
    );
  /* 内側はホワイトハイライト、外側はごくソフト影 */
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.8),
    0 6px 18px rgba(0,0,0,0.08);
  border: 1px solid rgba(255,214,94,0.12);
  border-radius: 4px;
}
.tier-title {
  background: linear-gradient(
    120deg,
    #fffacd 0%,    /* ライトゴールド */
    #ffd700 30%,   /* ピュアゴールド */
    #ffcc00 60%,   /* オレンジゴールド */
    #b8860b 100%   /* ダークゴールド */
  );
  background-clip: text;
  -webkit-background-clip text;
  color transparent;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.3), 0 0 10px rgba(255,215,0,0.5);
}
@keyframes shine {
  0% { background-position -100% 0; }
  100% { background-position: 100% 0; }
}
.tier-title {
  background-size 200% 100%;
  animation: shine 2s infinite;
}
.tier.gold .tier-title::before {
  background: linear-gradient(180deg, #fff3b0, #caa23b);
  box-shadow: 0 0 10px rgba(202,162,59,0.6);
}
/* GOLD: PCは3列、タブレット2列、スマホ1列 */
.tier.gold .sponsor-list {
  display: grid; /* ベースをgridに統一 */
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px 20px;
}

/* タブレット */
@media (max-width: 1024px) {
  .tier.gold .sponsor-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* スマホ */
@media (max-width: 600px) {
  .tier.gold .sponsor-list {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 12px;
  }
}

/* ここから下はティア共通の旧flex指定やモバイル1列指定を削除済み */

/* Standard Sponsor */
.tier.standard {
  background: linear-gradient(180deg, rgba(255,255,255,0.04), rgba(255,255,255,0.015));
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 10px 30px rgba(0,0,0,0.22);
  border: 1px solid rgba(255,255,255,0.08);
}
.tier.standard .tier-title {
  background: linear-gradient(120deg, #f0f3f6, #c9d0d8 50%, #a9b3bf 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.tier.standard .tier-title::before {
  background: linear-gradient(180deg, #e8edf3, #a9b3bf);
  box-shadow: 0 0 10px rgba(169,179,191,0.45);
}

/* Silver Sponsor */
.tier.silver {
  background: linear-gradient(180deg, rgba(220,233,245,0.07), rgba(180,196,211,0.03));
  box-shadow: inset 0 1px 0 rgba(220,233,245,0.28), 0 10px 30px rgba(0,0,0,0.24);
  border: 1px solid rgba(200,214,228,0.25);
}
.tier.silver .tier-title {
  background: linear-gradient(120deg, #ffffff, #dfe6ee 45%, #bfc8d2 80%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.tier.silver .tier-title::before {
  background: linear-gradient(180deg, #f5f7fa, #bfc8d2);
  box-shadow: 0 0 10px rgba(191,200,210,0.6);
}

/* Bronze Sponsor */
.tier.bronze {
  background: linear-gradient(180deg, rgba(205,140,85,0.10), rgba(205,140,85,0.03));
  box-shadow: inset 0 1px 0 rgba(205,140,85,0.25), 0 10px 30px rgba(0,0,0,0.25);
  border: 1px solid rgba(205,140,85,0.28);
}
.tier.bronze .tier-title {
  background: linear-gradient(120deg, #ffe2c4, #d39b62 45%, #9e6b3d 85%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.tier.bronze .tier-title::before {
  background: linear-gradient(180deg, #ffd7b0, #9e6b3d);
  box-shadow: 0 0 10px rgba(158,107,61,0.55);
}

/* モバイルの余白微調整（必要なら残す） superset） */
@media (max-width: 480px) {
  .premium-sponsor { padding: 1.5rem 0.7rem; }
}

/* 3列維持の安定化（極小端末配慮） */
@media (max-width: 480px) {
  .premium-sponsor.premium-sponsor--standard .sponsor-list {
    /* 念のため再指定して後勝ちに */
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-items: center;
    gap: 12px;
  }
  .premium-sponsor.premium-sponsor--standard .sponsor-item img {
    max-width: 120px; /* ロゴをやや小さめに調整 */
  }
}

/* Partner Sponsor（アクセントはブルー系） */
.tier.partner {
  background: linear-gradient(180deg, rgba(97,167,255,0.10), rgba(97,167,255,0.03));
  box-shadow: inset 0 1px 0 rgba(97,167,255,0.28), 0 10px 30px rgba(0,0,0,0.24);
  border: 1px solid rgba(97,167,255,0.28);
}
.tier.partner .tier-title {
  background: linear-gradient(120deg, #d8ecff, #88c2ff 45%, #3f88ff 85%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.tier.partner .tier-title::before {
  background: linear-gradient(180deg, #bfe0ff, #3f88ff);
  box-shadow: 0 0 10px rgba(63,136,255,0.5);
}

/* Supporter Sponsor（アクセントはグリーン系） */
.tier.supporter {
  background: linear-gradient(180deg, rgba(84,207,129,0.10), rgba(84,207,129,0.03));
  box-shadow: inset 0 1px 0 rgba(84,207,129,0.28), 0 10px 30px rgba(0,0,0,0.24);
  border: 1px solid rgba(84,207,129,0.28);
}
.tier.supporter .tier-title {
  background: linear-gradient(120deg, #d7ffe6, #8ce6b1 45%, #3acb77 85%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.tier.supporter .tier-title::before {
  background: linear-gradient(180deg, #baffd1, #3acb77);
  box-shadow: 0 0 10px rgba(58,203,119,0.5);
}
/* キャプション（会社名）の見た目 */
.sponsor-list .sponsor-item figcaption.wp-element-caption {
  margin-top: 8px;          /* 画像との間隔 */
  font-size: 0.95rem;       /* 読みやすいサイズに調整 */
  line-height: 1.4;
  color: var(--text, #222); /* カラーバリアブルがあれば利用 */
  word-break: keep-all;     /* 不要な改行を抑制（日本語向け） */
}

/* グリッド中央配置（モバイルで崩れないように） */
@media (max-width: 480px) {
  .sponsor-list {
    justify-items: center;
  }
}

/* SILVER tier セクション見出し */
.premium-sponsor.premium-sponsor--standard .tier.silver .tier-title {
  font-weight: 700;
  letter-spacing: 0.02em;
  margin: 0 0 0.75rem;
  background: linear-gradient(120deg, #f7f9fc 0%, #e3e8ee 50%, #cdd5de 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 0 18px rgba(205, 213, 222, 0.12);
}

/* 区切り線（ささやかに光る） */
.premium-sponsor.premium-sponsor--standard .tier.silver .section-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(205,213,222,0.45), transparent);
  margin: 0.75rem 0 1rem;
}

/* グリッドレイアウト（共通のレスポンシブ） */
.premium-sponsor.premium-sponsor--standard .tier.silver .sponsor-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
@media (max-width: 768px) {
  .premium-sponsor.premium-sponsor--standard .tier.silver .sponsor-list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  .premium-sponsor.premium-sponsor--standard .tier.silver .sponsor-list {
    grid-template-columns: 1fr;
    justify-items: center;
  }
}

/* カード（控えめなメタル質感） */
.premium-sponsor.premium-sponsor--standard .tier.silver .sponsor-item {
  background: linear-gradient(180deg, rgba(255,255,255,0.035), rgba(255,255,255,0.02));
  border: 1px solid rgba(205,213,222,0.24);
  border-radius: 12px;
  padding: 16px;
  transition: border-color 0.2s ease, box-shadow 0.25s ease, transform 0.2s ease, background 0.2s ease;
}
.premium-sponsor.premium-sponsor--standard .tier.silver .sponsor-item:hover {
  border-color: rgba(205,213,222,0.38);
  background: linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.03));
  box-shadow: 0 6px 18px rgba(0,0,0,0.16), inset 0 1px 0 rgba(255,255,255,0.06);
  transform: translateY(-1px);
}

/* 画像とキャプションの統一 */
.premium-sponsor.premium-sponsor--standard .tier.silver .sponsor-item figure {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin: 0;
}
.premium-sponsor.premium-sponsor--standard .tier.silver .sponsor-item img {
  display: block;
  width: 100%;
  max-width: 160px; /* 必要に応じて調整 */
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,0.25));
}
.premium-sponsor.premium-sponsor--standard .tier.silver .sponsor-item figcaption.wp-element-caption {
  margin-top: 8px;
  font-size: 0.95rem;
  line-height: 1.4;
  color: var(--text);
}

/* SILVER バッジ（任意で見出し横に） */
.premium-sponsor.premium-sponsor--standard .tier.silver .tier-title::after {
  content: "STANDARD";
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  font-size: 0.75rem;
  letter-spacing: 0.06em;
  color: #26303a;
  background: linear-gradient(90deg, #eef2f6, #dfe5ec);
  border: 1px solid rgba(205,213,222,0.65);
  border-radius: 999px;
  vertical-align: middle;
}

/* STANDARD: スマホでも3列に上書き */
@media (max-width: 600px) {
  .premium-sponsor.premium-sponsor--standard .tier.standard .sponsor-list {
    display: grid; /* 念のため明示 */
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-items: center;
    gap: 10px;
  }
  .premium-sponsor.premium-sponsor--standard .tier.standard .sponsor-item img {
    max-width: 80px; /* 3列でも詰まりにくいサイズ */
  }
}

/* SILVER: スマホでも3列に上書き */
@media (max-width: 600px) {
  .premium-sponsor.premium-sponsor--standard .tier.silver .sponsor-list {
    display: grid; /* 念のため明示 */
    grid-template-columns: repeat(3, minmax(0, 1fr));
    justify-items: center;
    gap: 10px;
  }
  .premium-sponsor.premium-sponsor--standard .tier.silver .sponsor-item img {
    max-width: 80px;
  }
}

#site-footer-banner .container {
  display flex;
  justify-content center; /* 横方向中央揃え */
  flex-wrap nowrap;       /* 改行させない */
  gap 10px;               /* アイテム間の余白 */
  padding 10px;           /* 必要に応じて内側余白 */
  box-sizing border-box;
}

#site-footer-banner .container ul {
  display flex;
  list-style none;
  margin 0;
  padding 0;
  gap 10px;
}

#site-footer-banner .container ul li {
  flex 0 0 auto; /* 固定幅で縮まらない */
}

#site-footer-banner .container ul li figure {
  margin 0;
}

/* スマホなど狭い画面で改行を許可しつつ中央揃えにしたい場合 */
@media (max-width 600px) {
  #site-footer-banner .container {
    flex-wrap wrap;       /* 改行を許可 */
  }
  #site-footer-banner .container ul {
    justify-content center; /* ul内も中央揃え */
  }
}

#player .all-players .all-list {
  display: flex;        /* ← : が抜けていると無効 */
  flex-wrap: wrap;      /* ← : が抜けていると無効 */
  gap: 10px;            /* ← : が抜けていると無効 */
  margin: 0;            /* 必要なら余白リセット */
  padding: 0;
}

#player .all-players .all-list .item {
  box-sizing: border-box;      /* ← : が抜けていると無効 */
  /* PCは5列、スマホは4列に変えるのでデフォは5列 */
  flex: 0 0 calc((100% - (5 - 1) * 10px) / 5);
  /* 100% から gap×(列数−1) を引いて５等分 */
}

/* スマホ(600px以下)のときだけ “1行4列” に切り替え */
@media screen and (max-width: 600px) {
  #player .all-players .all-list .item {
    flex: 0 0 calc((100% - (4 - 1) * 10px) / 4);
    /* 100% から gap×3 を引いて４等分 */
  }
}

@media screen and (max-width: 600px) {
  #player .all-players .all-list .item p {
    font-size: 1.1rem;  /* さらに小さく */
  }
}

#player .old-players .all-list {
  display: flex;        /* ← : が抜けていると無効 */
  flex-wrap: wrap;      /* ← : が抜けていると無効 */
  gap: 10px;            /* ← : が抜けていると無効 */
  margin: 0;            /* 必要なら余白リセット */
  padding: 0;
}

#player .old-players .all-list .item {
  box-sizing: border-box;      /* ← : が抜けていると無効 */
  /* PCは5列、スマホは4列に変えるのでデフォは5列 */
  flex: 0 0 calc((100% - (3 - 1) * 10px) / 3);
  /* 100% から gap×(列数−1) を引いて５等分 */
}

/* スマホ(600px以下)のときだけ “1行4列” に切り替え */
@media screen and (max-width: 600px) {
  #player .old-players .all-list .item {
    flex: 0 0 calc((100% - (2 - 1) * 10px) / 2);
    /* 100% から gap×3 を引いて４等分 */
  }
}

@media screen and (max-width: 600px) {
  #player .old-players .all-list .item p {
    font-size: 1.7rem;  /* さらに小さく */
  }
}