@charset "utf-8";

header{
  width:100%;
  background:#FFF;
  position:fixed;
  top:0; z-index:100;
}
header #logo{
  width:180px; height:246px;
  background:#FFF;
  position:absolute;
  top:0; left:0; z-index:2;
  transition:0.3s ease-in-out;
}
header #logo h1{
  width:140px;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%, -50%);
  transition:0.3s ease-in-out;
}
header.scroll-header #logo{
  width:108px; height:148px;
  transition:0.3s ease-in-out;
}
header.scroll-header #logo h1{
  width:84px;
  transition:0.3s ease-in-out;
}

nav#header-nav{
/* timerナシ */
  width:calc(100% - 195px - 10px);
/* citizenアリ */
  width:calc(100% - 195px - 350px - 10px);
/* citizenナシ */
  width:calc(100% - 195px - 280px - 10px);
  padding-left:195px;
  height:40px;
  display:flex;
  justify-content:space-between;
  transition:0.3s ease-in-out;
}
header.scroll-header nav#header-nav{
/* timerナシ */
  width:calc(100% - 124px - 10px);
/* citizenアリ */
  width:calc(100% - 124px - 350px - 10px);
/* citizenナシ */
  width:calc(100% - 124px - 280px - 10px);
  padding-left:124px;
  transition:0.3s ease-in-out;
}

nav#header-nav ul{
  font-size:0; line-height:0;
  align-self:flex-end;
}
nav#header-nav ul li{
  display:inline-block; vertical-align:bottom;
  font-size:13px; line-height:24px;
  margin-right:24px;
}
nav#header-nav ul li:last-child{margin-right:0;}
nav#header-nav ul li a{
  color:#222;
}
nav#header-nav .sns{
  align-self:flex-end;
  position:relative;
  top:6px;
}
nav#header-nav .sns a{
  display:inline-block;
  width:24px;
}

nav#global-nav{
  width:calc(100% - 195px - 20px);
  padding-left:195px;
  margin-top:10px;
  transition:0.3s ease-in-out;
}
header.scroll-header nav#global-nav{
  width:calc(100% - 124px - 20px);
  padding-left:124px;
  margin-top:0px;
  transition:0.3s ease-in-out;
}
nav#global-nav ul{
  font-size:0; line-height:0;
  text-align:left;
}
nav#global-nav ul li{
  font-size:15px; line-height:48px; font-weight:bold;
  color:#FFF;
  display:inline-block; vertical-align:top;
  position:relative;
  margin-right:2.5em;
}
nav#global-nav ul li:last-child{margin-right:0;}
nav#global-nav ul li a,
nav#global-nav ul li span.label{
  display:block;
  color:#222 !important;
}
nav#global-nav ul li a:hover,
nav#global-nav ul li span.label:hover{
  text-decoration:none;
}

nav#global-nav ul li ul{
  position:absolute;
  top:44px; left:50%;
  z-index:100;
  width:auto !important;
  height:auto !important;
  background:#aeaaac;
  background:#050304;
  transform:translateX(-50%);
  text-align:center;
}
nav#global-nav ul li ul li{
  display:block !important;
  width:auto !important;
  font-size:14px !important;
  line-height:40px !important;
  margin:0 !important;
}
nav#global-nav ul li ul li a{
  white-space:nowrap;
  color:#FFF !important;
  padding:0 25px;
  transition:0.3s;
}
nav#global-nav ul li ul li a:hover{
  color:#fff !important;
  background:#fff100;
  background:#9a0015;
  transition:0.3s;
}
#fade-in li ul{
	visibility:hidden;
	opacity:0;
	transition:0.4s;
}
#fade-in li:hover ul{
	visibility:visible;
	opacity:1;
}
#fade-in li ul li a{
	visibility:hidden;
	opacity:0;
	transition:0.4s;
}
#fade-in li:hover ul li a{
	visibility:visible;
	opacity:1;
}

.countdown{
  box-sizing:border-box;
  padding:0 15px;
  background:#000;
  width:280px; /* citizenナシ */
  height:40px;
  text-align:left !important;
  position:absolute;
  top:0; right:0;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.countdown.citizen-box{
  width:350px; /* citizenアリ */
}

#timer{
  width:calc(100% - 78px); /* citizen アリ */
  width:100%; /* citizen ナシ */
  height:32px;
  position:relative;
}
#timer .yycountdown-box{
  text-align:left;
}
#timer .yycountdown-box::before{
  content:"開催まで";
  font-size:12px; line-height:32px;
  color:#FFF;
  display:inline-block;
  margin-right:3px;
}
#timer .yyc-day,
#timer .yyc-hou,
#timer .yyc-min,
#timer .yyc-sec{
  display:inline-block;
  font-family:"ds-digitalitalic";
  color:#FFFF00;
  font-size:30px; line-height:32px;
}
#timer .yyc-day::after{
  content:'DAYS';
  font-family:'Source Sans Pro', sans-serif;
  font-size:13px; line-height:32px;
  margin-right:5px;
}
#timer .yyc-hou::after,
#timer .yyc-min::after{
  content:":";
  font-size:24px; line-height:32px;
}
#timer .yyc-sec{}
/*
#timer .yyc-day-text{
  content:"DAYS";
  font-family:'Source Sans Pro';
  font-size:13px;
  color:#FFF;
  display:inline-block;
  transform:scale(0.9,1);
  margin-left:3px;
  margin-right:3px;
}
#timer .yyc-hou-text,
#timer .yyc-min-text{
  content:":";
  font-family:"ds-digitalitalic";
  color:#FFFF00;
  font-size:24px; line-height:32px;
  position:relative; top:-2px;
}
*/
.countdown #citizen{
  position:relative;
  width:68px;
}

#billboard{
  width:100%;
  padding-top:98px;
  position:relative;
  margin:0 auto 150px auto;
}
#billboard .main-visual{
  width:100%; height:600px;
  background-image:url(../../img/index/billboard_23rd_02.jpg);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  position:relative;
}
#billboard .main-visual .copy{
  width:24%; height:auto;
//  max-width:600px;
  position:absolute;
  top:42%; left:23%;
  transform:translateY(-50%);
}
ul.photo-container{
  display:flex;
  flex-wrap:wrap;
}
#billboard ul.photo-container li{
  width:calc(100% / 7);
  height:130px;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
}
ul.photo-container li:nth-child(1){
  background-image:url(../../img/common/01.jpg);
}
ul.photo-container li:nth-child(2){
  background-image:url(../../img/common/02.jpg);
}
ul.photo-container li:nth-child(3){
  background-image:url(../../img/common/03.jpg);
}
ul.photo-container li:nth-child(4){
  background-image:url(../../img/common/04.jpg);
}
ul.photo-container li:nth-child(5){
  background-image:url(../../img/common/05.jpg);
}
ul.photo-container li:nth-child(6){
  background-image:url(../../img/common/06.jpg);
}
ul.photo-container li:nth-child(7){
  background-image:url(../../img/common/07.jpg);
}
ul.photo-container li:nth-child(8){
  background-image:url(../../img/common/08.jpg);
}
ul.photo-container li:nth-child(9){
  background-image:url(../../img/common/10.jpg);
}
ul.photo-container li:nth-child(10){
  background-image:url(../../img/common/11.jpg);
}
ul.photo-container li:nth-child(11){
  background-image:url(../../img/common/12.jpg);
}
ul.photo-container li:nth-child(12){
  background-image:url(../../img/common/13.jpg);
}
ul.photo-container li:nth-child(13){
  background-image:url(../../img/common/14.jpg);
}
ul.photo-container li:nth-child(14){
  background-image:url(../../img/common/15.jpg);
}
ul.photo-container li:nth-child(15){
  background-image:url(../../img/common/16.jpg);
}
ul.photo-container li:nth-child(16){
  background-image:url(../../img/common/17.jpg);
}
ul.photo-container li:nth-child(17){
  background-image:url(../../img/common/18.jpg);
}
ul.photo-container li:nth-child(18){
  background-image:url(../../img/common/19.jpg);
}
ul.photo-container li:nth-child(19){
  background-image:url(../../img/common/20.jpg);
}
ul.photo-container li:nth-child(20){
  background-image:url(../../img/common/21.jpg);
}
ul.photo-container li:nth-child(21){
  background-image:url(../../img/common/22.jpg);
}

#page-billboard{
  width:100%; height:240px;
  position:relative;
  margin-top:98px;
}
#page-billboard ul.photo-container{
  position:relative;
}
#page-billboard ul.photo-container::after{
  content:"";
  width:100%; height:240px;
  background:rgba(0,0,0,0.5);
  position:absolute;
  top:0; left:0;
}
#page-billboard ul.photo-container li{
  width:calc(100% / 10);
  height:120px;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
}
#page-billboard ul.photo-container li:nth-child(21){display:none;}

#billboard-message{
  box-sizing:border-box;
  width:50%; height:300px;
  background:#fbfaf5;
  position:absolute;
  bottom:-150px; right:0;
  padding:25px 35px;
}
#billboard-message::after{
  content:"";
  width:calc(100% - 196px); height:340px;
  position:absolute;
  bottom:-340px; left:0;
  background:url(../../img/common/09.jpg) no-repeat center center;
  background-size:cover;
}
#billboard-message .message-inner{
  width:calc(100% - 70px);
  text-align:left;
  position:absolute;
  top:50%; left:35px;
  transform:translateY(-50%);
}
#billboard-message .message-inner p{
  font-size:18px; line-height:1.9; font-weight:bold;
  margin:0;
}
#billboard-message .message-inner a.run-believe{
  display:block;
  padding:0 10%;
  font-size:20px; line-height:1; font-weight:bold;
  color:#111;
  text-align:center;
  letter-spacing:1px;
}
#billboard-message .message-inner a.run-believe img{
  margin:0 auto 15px auto;
}

#container{
  width:100%;
  display:flex;
}
#main{
  width:calc(100% - 196px);
}
#side{
  width:196px;
  background:#f4f4f8;
  padding:10px 0;
}
#side hr{
  margin:0 20px 5px 20px;
  height:1px;
  border:none;
  border-top:1px solid #ccc;
}
#side .side-banner-box{
  padding:15px 0;
}
#side h2{
  font-family:'Source Sans Pro', sans-serif;
  font-size:13px; line-height:13px; font-weight:400;
  margin:5px auto;
}
#side ul.banner-list{
  width:160px;
  margin:0 auto;
}
#side ul.banner-list li{
  margin:0 0 5px 0;
}
#side ul.banner-list li.icon-banner{
  display:flex;
  justify-content:space-between;
}
#side ul.banner-list li.icon-banner a{
  width:49%; height:53px;
  background:#FFF;
  position:relative;
}
#side ul.banner-list li.icon-banner a img{
  width:auto; height:37px;
  margin:0 auto;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%, -50%);
}

#index-title{
  width:45%; height:300px;
  margin:-150px 0 0 5%;
  position:relative;
}
#index-title img{
  max-width:800px;
  height:auto;
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
}
#index-title .important-info{
  width:100%;
  max-width:800px;
  height:auto;
  text-align:left;
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
}
#index-title .important-info > img{
  max-width:800px;
  width:100%; height:auto;
  position:relative;
  transform:translateY(0);
  margin-bottom:20px;
}
#index-title .important-info > ul > li{
  list-style:disc outside;
  font-size:18px; line-height:1.8; font-weight:bold;
  margin:0 0 5px 25px;
}

#index-important-notice{
  box-sizing:border-box;
  width:60%;
  min-height:240px;
  padding:20px 35px 25px 35px;
  margin:0 0 60px 5%;
  position:relative;
  background:#9a0015;
  color:#FFF; text-align:left;
}
#index-important-notice h2{
  font-size:28px; line-height:2;
  letter-spacing:0.08em;
  border-bottom:1px solid #FFF;
  margin-bottom:15px;
}
#index-important-notice ul.disc-list li{
  list-style:disc outside;
  margin:0 0 0 22px;
}
#index-important-notice a{
  color:#FFF;
  text-decoration:underline;
}

#index-topics{
  box-sizing:border-box;
  width:90%;
  padding:20px 40px;
  margin:0 auto 60px auto;
  background:#fbfaf5;
  position:relative;
}
#index-topics section{
  display:flex;
  justify-content:space-between;
  text-align:left;
  margin:0;
  padding:0;
}
#index-topics h2{
  width:10%;
}
#index-topics h2 span{
  display:inline-block;
  font-size:26px; line-height:2; font-weight:400;
  color:#555;
  border-bottom:1px solid #999;
}
#index-topics ul.index-topics-list{
  width:88%;
  padding:15px 0;
}
ul.index-topics-list li{
  position:relative;
  padding-left:200px;
  margin-bottom:25px;
}
ul.index-topics-list li:last-child{
  margin-bottom:0;
}
ul.index-topics-list li a .entry-date{
  font-size:14px; line-height:2;
  color:#444;
  position:absolute;
  top:3px; left:0;
}
ul.index-topics-list li a .title{
  font-weight:bold;
}
#index-topics .more{
  position:absolute;
  bottom:0; right:0;
}
#index-topics .more a{
  display:block;
  text-decoration:none;
  position:relative;
}
#index-topics .more a span{
  display:inline-block;
  position:relative; z-index:2;
  right:6px;
  font-size:13px; line-height:1;
  letter-spacing:0;
  color:#FFF;
}
#index-topics .more a::after{
  content:"";
  position:absolute;
  bottom:0; right:0; z-index:1;
  border-right:60px solid #c6b76c;
  border-top:60px solid transparent;
  transition:0.3s;
}
#index-topics .more a:hover::after{
  border-right-color:#695f30;
  transition:0.3s;
}

#index-pickup{
  width:90%;
  margin:0 auto 10px auto;
}
#index-pickup section{
  display:flex;
  justify-content:space-between;
  text-align:left;
  margin:0;
  padding:0;
}
#index-pickup h2{
  width:10%;
}
#index-pickup h2 span{
  display:inline-block;
  font-size:26px; line-height:2; font-weight:400;
  color:#555;
  border-bottom:1px solid #999;
}
#index-pickup ul.index-pickup-list{
  width:85%;
  padding:15px 0;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
}
#index-pickup ul.index-pickup-list li{
  width:47%;
  margin-bottom:50px;
}
ul.index-pickup-list li .thumbnail{
  margin-bottom:10px;
}
ul.index-pickup-list li a h3{
  font-size:20px; line-height:1.75;
  margin-bottom:5px;
}
ul.index-pickup-list li a p{
  color:#111;
}
ul.index-pickup-list li a:hover{
  text-decoration:none !important;
}
ul.index-pickup-list li a:hover h3{
  text-decoration:underline !important;
}

#index-information{
  box-sizing:border-box;
  width:100%;
  padding:30px 5%;
  margin:0 auto 60px auto;
  background:#fdf9f9;
}
#index-information section{
  display:flex;
  justify-content:space-between;
  text-align:left;
  margin:0;
  padding:0;
}
#index-schedule{
  width:calc(95% - 460px);
}
#index-schedule h2{
  font-size:26px; line-height:2; font-weight:400;
  color:#555;
}
ul.index-schedule-list li{
  width:100%; height:68px;
  display:flex;
  justify-content:space-between;
  background:#FFF;
  position:relative;
  margin:0 auto 50px auto;
}
ul.index-schedule-list li.cancel{
  background:#ccc;
}
ul.index-schedule-list li::after{
  content:"";
  border-top:10px solid #aaa;
  border-left:30px solid transparent;
  border-right:30px solid transparent;
  position:absolute;
  bottom:-30px; left:40px;
}
ul.index-schedule-list li:last-child::after{
  display:none;
}
ul.index-schedule-list li .date{
  box-sizing:border-box;
  width:120px;
  background:#984e48;
  font-size:16px; line-height:1.4;
  font-weight:bold; color:#FFF;
  position:relative;
}
ul.index-schedule-list li .date::after{
  content:"";
  border-left:20px solid #984e48;
  border-top:68px solid transparent;
  position:absolute;
  top:0; right:-20px;
}
ul.index-schedule-list li .date .date-inner{
  position:absolute;
  top:50%; left:25px;
  transform:translateY(-50%);
}
ul.index-schedule-list li .date .year{
  display:block;
  font-size:13px; line-height:1.4;
}
ul.index-schedule-list li .content{
  width:calc(100% - 160px);
  text-align:left;
  position:relative;
}
ul.index-schedule-list li .content h3{
  font-size:18px; line-height:1.6;
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
}
ul.index-schedule-list li.new .content h3::before{
  content:"NEW";
  font-size:16px;
  font-weight:bold; color:#FF0000;
  position:absolute;
  top:-21px; left:0;
}
ul.index-schedule-list li.cancel .content h3{
  color:#666;
  text-decoration:line-through;
}
ul.index-schedule-list li.cancel .content h3::after{
  display:inline-block;
  content:"第23回大会では行いません";
  font-size:16px;
  color:#fff900;
  text-decoration:none !important;
  margin-left:0.5em;
}

#index-sns{
  width:460px;
}
#index-sns h2{
  font-size:26px; line-height:2; font-weight:400;
  color:#555;
}
#index-sns h2::before{
  display:inline-block;
  vertical-align:middle;
  content:"";
  width:24px; height:24px;
  background:url(../../img/svg/facebook.svg) no-repeat center center;
  background-size:cover;
  position:relative; top:-2px;
  margin-right:10px;
}
#index-sns .fb-button,
#index-sns .twitter{
  width:100%;
}
#index-sns .fb-button a{
  display:block;
  text-decoration:none;
  font-weight:bold;
  color:#FFF;
  text-align:center;
  padding:8px 0;
  margin:15px auto 0 auto;
  background:#305097;
}
#index-sns .fb-button a::before{
  display:inline-block;
  vertical-align:middle;
  content:"";
  width:20px; height:20px;
  background:url(../../img/svg/facebook_white.svg) no-repeat center center;
  background-size:cover;
  position:relative; top:-1px;
  margin-right:10px;
}
#index-sns .twitter a{
  display:block;
  text-decoration:none;
  font-weight:bold;
  color:#FFF;
  text-align:center;
  padding:8px 0;
  margin:15px auto 0 auto;
  background:#51abf0;
}
#index-sns .twitter a::before{
  display:inline-block;
  vertical-align:middle;
  content:"";
  width:20px; height:20px;
  background:url(../../img/svg/twitter_white.svg) no-repeat center center;
  background-size:cover;
  position:relative; top:-1px;
  margin-right:10px;
}

ul.index-sns-list{
  display:flex;
  justify-content:center;
}
ul.index-sns-list li{
  width:460px;
  margin:0 10px;
}
ul.index-sns-list li a{
  display:block;
  text-decoration:none;
  font-weight:bold;
  color:#FFF;
  text-align:center;
  padding:16px 0;
  margin:0 auto;
}
ul.index-sns-list li.fb-button a{
  background:#305097;
}
ul.index-sns-list li.twitter a{
  background:#51abf0;
}
ul.index-sns-list li a::before{
  display:inline-block;
  vertical-align:middle;
  content:"";
  width:20px; height:20px;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:cover;
  position:relative; top:-1px;
  margin-right:10px;
}
ul.index-sns-list li.fb-button a::before{
  background-image:url(../../img/svg/facebook_white.svg);
}
ul.index-sns-list li.twitter a::before{
  background-image:url(../../img/svg/twitter_white.svg);
}

#index-access{
  width:84%;
  margin:0 auto;
  text-align:left;
}
#index-access h2 span{
  display:inline-block;
  font-size:26px; line-height:2; font-weight:400;
  color:#555;
  border-bottom:1px solid #999;
  margin-bottom:25px;
}
.index-gmap{
  width:100%;
  height:600px;
  margin:0 auto 50px auto;
}

footer{
  width:100%;
  margin:100px auto 0 auto;
  background:#050304;
}
footer.index-footer{
  margin:-150px auto 0 auto;
}
footer .footer-inner{
  box-sizing:border-box;
  width:90%;
  padding:50px 0;
  margin:0 auto;
  text-align:left;
}

footer.footer-test{
  margin:80px auto 0 auto;
}
footer.footer-test section{
  padding:50px 5% 50px 5%;
}

footer .footer-inner,
footer .footer-inner a{
  color:rgba(255,255,255,0.8) !important;
}
#footer-title{
  margin-bottom:20px;
  display:flex;
}
#footer-title h2{
  width:300px;
  margin-right:15px;
}
#footer-title .sns{
  width:24px;
  align-self:center;
  margin-left:10px;
}
footer .footer-inner p,
footer .footer-inner p a{
  text-decoration:none;
  font-size:14px; line-height:1.75;
  margin-bottom:0;
}
ul.footer-info{
  display:flex;
  justify-content:space-between;
  margin:50px auto 0 auto;
}
ul.footer-info li{
  text-align:left;
  width:30%;
}
ul.footer-info li h2{
  font-size:15px; line-height:100%;
  border-bottom:1px solid rgba(255,255,255,0.8);
  margin-bottom:10px;
  padding-bottom:10px;
}
ul.footer-info li h3{
  font-size:17px; line-height:180%;
  margin-bottom:5px;
}
ul.footer-info li h3 a{
}
ul.footer-info li p{
  margin-bottom:5px;
}
#copyright{
  box-sizing:border-box;
  width:100%;
  padding:30px 5%;
  margin:0 auto;
  background:#FFF;
  text-align:left;
  font-size:12px; line-height:180%;
  color:#444; letter-spacing:0.05em;
}

/*
#page-billboard.billboard-information{
  background-image:url(../../img/information/billboard.jpg);
}
#page-billboard.billboard-history{
  background-image:url(../../img/history/billboard.jpg);
}
#page-billboard.billboard-invited{
  background-image:url(../../img/invited/billboard.jpg);
}
#page-billboard.billboard-entry{
  background-image:url(../../img/entry/billboard.jpg);
}
#page-billboard.billboard-entrant{
  background-image:url(../../img/entrant/billboard.jpg);
}
#page-billboard.billboard-stay{
  background-image:url(../../img/stay/billboard.jpg);
}
#page-billboard.billboard-traffic{
  background-image:url(../../img/traffic/billboard.jpg);
}
#page-billboard.billboard-support{
  background-image:url(../../img/support/billboard.jpg);
}
#page-billboard.billboard-topics{
  background-image:url(../../img/topics/billboard.jpg);
}
#page-billboard.billboard-pickup{
  background-image:url(../../img/pickup/billboard.jpg);
  background-position:center top;
}
#page-billboard.billboard-tourism{
  background-image:url(../../img/tourism/billboard.jpg);
}
#page-billboard.billboard-faq{
  background-image:url(../../img/faq/billboard.jpg);
}
*/
#page-billboard h1{
  position:absolute;
  top:50%; left:240px;
  transform:translateY(-50%);
  text-align:left;
  font-size:16px; line-height:1.4; font-weight:bold;
  letter-spacing:0.1em;
  color:#FFF;
  text-shadow:1px 1px 2px #111;
}
#page-billboard h1 span.eng{
  display:block;
  font-size:30px; line-height:40px;
  text-transform:uppercase;
  margin-bottom:10px;
  border-bottom:1px solid #FFF;
}

#crumb{
  width:90%;
  max-width:1200px;
  margin:5px auto 60px auto;
  padding:5px 0px;
  text-align:left;
  display:flex;
  flex-wrap:wrap;
}
#crumb li{
  font-size:12px; line-height:160%;
}
#crumb li::after{
  content:"＞";
  display:inline-block;
  transform:scale(0.6,1);
  margin:0 5px;
  color:#666;
}
#crumb li:last-child::after{
  content:""; display:none; margin:0;
}
#crumb li a{
  color:#666;
}
#crumb li:last-child a{
  color:#444;
  pointer-events:none;
}

.page-container{
}
.page-container section{
  width:90%;
  max-width:1200px;
  margin:0 auto 100px auto;
  text-align:left;
}
.page-container section.preparation{
  text-align:center;
}
.page-container section hr{
  width:100%; height:1px;
  border:none;
  border-top:1px dashed #999;
  margin:25px auto;
}
.page-container section h2{
  font-size:28px; line-height:1.6; font-weight:normal;
  letter-spacing:2px;
  margin-bottom:30px;
  padding:4px 0 4px 22px;
  border-left:2px solid #111;
  border-left-color:#9a0015;
}
.page-container section h3{
  font-size:21px; line-height:1.6; font-weight:bold;
  color:#9a0015;
  color:#111;
  margin-bottom:5px;
}
.page-container section h3 span.small{
  display:inline-block;
  margin-left:10px;
  font-size:18px; line-height:1.6; font-weight:500;
}
.page-container section.preparation h3{
  color:#9a0015;
  padding-left:0;
  margin-bottom:50px;
}
.page-container section.preparation h3::before{
  content:"";
  display:none;
}
.page-container section p{
  margin-bottom:25px;
}

.page-container section table{
  width:100%;
  margin:0 auto 20px auto;
  border-collapse:collapse;
  font-size:15px; line-height:170%;
}
.page-container section table caption{
  font-weight:bold;
  text-align:left;
  margin-bottom:5px;
}
.page-container section table th{
  padding:10px;
  text-align:center;
  border:1px solid #999;
  background:#F9F9F9;
}
.page-container section table td{
  padding:10px;
  text-align:left;
  border:1px solid #999;
}
.page-container section table td.bikou{
  border:none;
  font-size:13px;
  line-height:160%;
}

.page-container section ul.disc-list,
.page-container section ol.decimal-list{
  margin-bottom:25px;
}
.page-container section ul.disc-list li{
  list-style:disc outside;
  margin:0 0 15px 20px;
}
.page-container section ol.decimal-list li{
  list-style:decimal outside;
  margin:0 0 15px 25px;
}

.page-container section .red{color:#CC0000 !important;}

.image-left{
  width:320px;
  float:left;
  margin:0 25px 25px 0;
}
.image-right{
  width:320px;
  float:right;
  margin:0 0 25px 25px;
}
ul.image-list-2,
ul.image-list-3{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  margin:0 auto 25px auto;
}
ul.image-list-2 li{
  flex-basis:49%;
  font-size:14px; line-height:160%;
  text-align:center;
  margin-bottom:25px;
}
ul.image-list-3 li{
  flex-basis:32%;
  font-size:14px; line-height:160%;
  text-align:center;
  margin-bottom:25px;
}
ul.image-list-2 li img,
ul.image-list-3 li img{
  margin:0 auto 5px auto;
}

/* button style */
.button-box{
  width:90%;
  margin:0 auto 50px auto;
}

ul.button-list{
  width:100%;
  margin:0 auto;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  text-align:center;
  margin:0 auto 25px auto;
}
ul.button-list li{
  width:49%;
  margin:0 2% 25px 0;
}
ul.button-list li:nth-child(even),
ul.button-list li:last-child{margin-right:0;}

.button-box a,
ul.button-list li a{
  display:block;
  height:60px;
  font-family:'Source Sans Pro', "游ゴシック体", YuGothic, "Yu Gothic Medium", sans-serif;
  font-size:16px; line-height:62px; font-weight:600;
  text-align:center;
  color:#222; letter-spacing:0.1em;
  border:1px solid #000;
  transition:0.3s;
  position:relative;
}
.button-box a::after,
ul.button-list li a::after{
  content:"";
  border-left:6px solid #222;
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  position:absolute;
  top:50%; right:15px;
  transform:translateY(-50%);
  transition:0.3s;
}
.button-box a:hover,
.button-box a:hover .red,
ul.button-list li a:hover{
  text-decoration:none;
  color:#fff;
  background:#9a0015;
  letter-spacing:0.01em;
  transition:0.3s;
}
.button-box a:hover .red{
  color:#FFF !important;
}
.button-box a:hover::after,
ul.button-list li a:hover::after{
  border-left-color:#FFF;
  transition:0.3s;
}

/* page menu */
.page-menu{
  margin:0 auto 50px auto;
}
.page-menu ul{
  font-size:0; line-height:0;
  text-align:center;
  border:1px solid #CCC;
  padding:15px 0;
}
.page-menu ul li{
  font-size:15px; line-height:180%;
  display:inline-block; vertical-align:top;
  margin-right:30px;
}
.page-menu ul li:last-child{
  margin-right:0;
}
.page-menu ul li a::before{
  content:"▼";
  transform:scale(1,0.7);
  display:inline-block;
  font-size:13px;
  position:relative;
  top:-1px;
  margin-right:3px;
}


/* information */
.information-image{
  width:420px;
  float:left;
  margin:0 25px 0 0;
}
table.outline-table{
  width:100%;
  margin:0 0 25px 0;
  border-collapse:collapse;
}
table.outline-table tr{
  border-bottom:1px dashed #999;
}
table.outline-table th{
  white-space:nowrap;
  padding:20px 20px 20px 10px !important;
  font-weight:bold;
  color:#555;
  text-align:right !important;
  vertical-align:top;
  border:none !important;
  background:none !important;
}
table.outline-table td{
  padding:20px 10px 20px 20px !important;
  border:none !important;
}
table.outline-table ol.decimal-list{
  margin-bottom:0 !important;
}
table.outline-table ol.decimal-list li{
  margin-bottom:10px !important;
}
table.outline-table ol.decimal-list li:last-child{
  margin-bottom:0px !important;
}
table.outline-table td .outline-left{
  width:calc(100% - 400px);
  float:left;
}
table.outline-table td .outline-right{
  width:360px;
  float:right;
}

table.outline-gate-table{
  width:100%;
  margin:0 auto;
  table-layout:fixed;
  border-collapse:collapse;
  font-size:13px; line-height:170% !important;
}
table.outline-gate-table caption{
  text-align:left;
  margin-bottom:5px;
}
table.outline-gate-table tr{background:#F7F7F7;}
table.outline-gate-table tr:nth-of-type(even){
  background:#FFF;
}
table.outline-gate-table tr th:first-child{
  width:20%;
}
table.outline-gate-table th{
  padding:5px 0 !important;
  text-align:center !important;
  border:1px solid #999 !important;
  border-left:none !important;
  border-right:1px dashed #999 !important;
  font-size:13px; line-height:170% !important;
}
table.outline-gate-table td{
  padding:5px 0 !important;
  text-align:center !important;
  border:1px solid #999 !important;
  border-left:none !important;
  border-right:1px dashed #999 !important;
}
table.outline-gate-table tr th:first-child,
table.outline-gate-table tr td:first-child{
  border-left:1px solid #999 !important;
}
table.outline-gate-table tr th:last-child,
table.outline-gate-table tr td:last-child{
  border-right:1px solid #999 !important;
}

table.outline-t-shirts-table{
  width:100%;
  margin:0 auto;
  table-layout:fixed;
  border-collapse:collapse;
  font-size:14px; line-height:170%;
}
table.outline-t-shirts-table caption{
  text-align:left;
  margin-bottom:5px;
}
table.outline-t-shirts-table th{
  background:#F7F7F7 !important;
  padding:8px 0 !important;
  text-align:center !important;
  border:1px solid #999 !important;
  font-size:14px; line-height:170%; font-weight:600;
}
table.outline-t-shirts-table td{
  padding:8px 0 !important;
  text-align:center !important;
  border:1px solid #999 !important;
  font-size:15px; line-height:170%;
}

/* course */
.course-gmap-box{
  width:100%; height:540px;
  margin-bottom:10px;
}
ul.course-icon-list{
  display:flex;
  flex-wrap:wrap;
  margin:0 auto 25px auto;
}
ul.course-icon-list li{
  font-size:14px;
  line-height:1.6;
  display:inline-block; vertical-align:top;
  margin-right:50px;
}
ul.course-icon-list li:last-child{
  margin-right:0;
}
ul.course-icon-list li::before{
  content:"";
  width:24px; height:24px;
  display:inline-block;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:auto 24px;
  position:relative; top:4px;
  margin-right:3px;
}
ul.course-icon-list li:nth-child(1)::before{
  background-image:url(../../img/information/course/icon01.jpg);
}
ul.course-icon-list li:nth-child(2)::before{
  background-image:url(../../img/information/course/icon02.jpg);
}
ul.course-icon-list li:nth-child(3)::before{
  background-image:url(../../img/information/course/icon03.jpg);
}
ul.course-icon-list li:nth-child(4)::before{
  background-image:url(../../img/information/course/icon04.jpg);
}
ul.course-icon-list li:nth-child(5)::before{
  background-image:url(../../img/information/course/icon05.jpg);
}
ul.course-icon-list li:nth-child(6)::before{
  background-image:url(../../img/information/course/icon06.jpg);
}
ul.course-icon-list li:nth-child(7)::before{
  background-image:url(../../img/information/course/icon07.jpg);
}

.course-movie-box{
  margin:0 auto 25px auto;
}
.course-movie-box a{
  display:block;
  width:90%; height:auto;
  border:1px solid #CCC;
  margin:0 auto 10px auto;
  position:relative;
}
.course-movie-box a::before{
  content:"";
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%, -50%);
  z-index:10;
  width:64px; height:64px;
  background-image:url(../../special/history/img/playbutton_off.png);
  background-position:no-repeat;
  background-repeat:center center;
  background-size:64px auto;
  transition:0.3s;
}
.course-movie-box a:hover::before{
  background-image:url(../../special/history/img/playbutton_on.png);
  transition:0.3s;
}
.course-movie-box p.course-movie-note{
  font-size:15px; line-height:160%;
  text-align:center;
}

/* course point */
ul.course-guide-list{
  width:96%;
  margin:0 auto;
}
ul.course-guide-list li{
  border:1px solid #999;
  margin:0 0 80px 0;
  padding:30px 45px 30px 45px;
  position:relative;
}
ul.course-guide-list li::before{
  content:"";
  display:block;
  position:absolute;
  bottom:-45px; left:50%;
  margin-left:-26px;
  border-top:18px solid #CCC;
  border-left:26px solid transparent;
  border-right:26px solid transparent;
}
ul.course-guide-list li:last-child::before{
  display:none;
}
ul.course-guide-list .thumbnail{
  width:480px;
  float:right;
  margin:0 0 20px 25px;
  position:relative;
}
ul.course-guide-list li h3{
  font-size:26px !important; line-height:1.6 !important;
  color:#9a0015 !important; text-align:center;
  letter-spacing:0.05em;
  border-bottom:1px dashed #999;
  margin-bottom:30px !important;
  padding:0 0 15px 0 !important;
}
ul.course-guide-list li h3::before{
  display:none !important;
}
ul.course-guide-list li p:last-of-type{margin-bottom:0 !important;}
ul.course-guide-list li .distance{
  background:#fff100;
  color:#444;
  height:34px;
  font-size:18px; line-height:36px; font-weight:600;
  letter-spacing:1px;
  padding:0 40px;
  position:absolute;
  top:0px; left:-10px;
  transform:rotate(-3deg);
}

/* history */
.special-contents-link-box{
  margin:0 0 25px 0;
  display:flex;
  justify-content:space-between;
}
.special-contents-link-box .thumbnail{
  flex-basis:50%;
}
.special-contents-link-box .text-box{
  box-sizing:border-box;
  padding-left:30px;
}
.special-contents-link-box a .text-box p{
  color:#111;
}

table.record-table th{width:15%;}
table.record-table td{letter-spacing:0.05em; padding-left:20px !important;}
table.record-table td span{margin:0 10px;}

.history-image-left,
.history-image-right{
  width:207px;
  font-size:13px;
  line-height:140%;
}
.history-image-left{
  float:left;
  margin:0 25px 25px 0;
}
.history-image-right{
  float:right;
  margin:0 0 25px 25px;
}
.history-image-left img,
.history-image-right img{margin-bottom:5px;}

.history-left,
.history-right{
}
.history-left{width:40%; float:left;}
.history-right{width:54%; float:right;}
ul.history-list li{
  list-style:disc outside;
  margin:0 0 15px 20px;
}
.history-left ul.history-list li{margin-bottom:10px;}
ul.history-list li span{
  font-size:14px;
  line-height:120%;
  margin-top:5px;
  display:inline-block;
  vertical-align:top;
}

/* invited */
.invited-tba-image{
  width:640px;
  margin:0 auto;
}

ul.invited-runner-list{
  font-size:0; line-height:0;
  margin:0 auto 30px auto;
  padding-bottom:0px;
}
ul.invited-runner-list li{
  width:49%;
  display:inline-block;
  vertical-align:top;
  font-size:15px;
  line-height:160%;
  margin:0 2% 30px 0;
}
ul.invited-runner-list li.full-width{
  width:100%;
  display:block;
  vertical-align:top;
  font-size:15px;
  line-height:160%;
  margin:0 0 30px 0;
}
ul.invited-runner-list li.full-width .thumbnail{
}
ul.invited-runner-list li:nth-child(even),
ul.invited-runner-list li:last-child{margin-right:0;}
ul.invited-runner-list li .thumbnail{
  width:180px;
  float:left;
  margin:0 15px 0 0;
}
ul.invited-runner-list li .text-box{
}
ul.invited-runner-list li .number{
  font-size:16px;
  line-height:20px;
}
ul.invited-runner-list li h4{
  font-size:20px;
  line-height:150%;
  margin-bottom:5px;
}
ul.invited-runner-list li.men h4{color:#0B607F;}
ul.invited-runner-list li.women h4{color:#D15357;}
ul.invited-runner-list li h4 span{
  display:block;
  font-size:14px;
  line-height:150%;
  font-weight:500;
  font-style:italic;
}
ul.invited-runner-list li p{
  font-size:14px;
  line-height:160%;
  margin:0 0 5px 0 !important;
}
ul.invited-runner-list li.full-width p.comment{
  border-top:1px solid #ccc;
  padding-top:15px;
  margin-top:15px !important;
}

ul.invited-winner-list{
  margin:0 auto 40px auto;
  padding-bottom:40px;
  border-bottom:1px dashed #999;
  display:flex;
  justify-content:space-between;
}
section ul.invited-winner-list:last-of-type{
  border-bottom:none;
}
ul.invited-winner-list li{
  width:49%;
  font-size:15px;
  line-height:160%;
}
ul.invited-winner-list li .thumbnail{
  width:180px;
  float:left;
  margin:0 15px 0 0;
}
ul.invited-winner-list li span.male,
ul.invited-winner-list li span.female{
  display:inline-block;
  color:#FFF;
  font-size:12px;
  line-height:18px;
  padding:0 2em;
}
ul.invited-winner-list li span.male{
  background:#0B607F;
}
ul.invited-winner-list li span.female{
  background:#D15357;
}
ul.invited-winner-list li h4{
  font-size:20px;
  line-height:150%;
  margin-bottom:0px;
}
ul.invited-winner-list li:nth-child(1) h4{color:#0B607F;}
ul.invited-winner-list li:nth-child(2) h4{color:#D15357;}
ul.invited-winner-list li h4 span{
  display:inline-block;
  font-size:14px; line-height:150%; font-weight:normal;
  color:#222;
}
ul.invited-winner-list li .text-box strong{
  display:block;
  color:#DD0000;
}

/* entry */
.entry-close-box{
  margin:0px auto 80px auto !important;
}
ul.entry-close-list{
  display:flex;
  justify-content:space-between;
  justify-content:center;
  align-items:center;
}
ul.entry-close-list li{
  height:160px;
  font-size:21px; line-height:130%; font-weight:600;
  border-radius:5px;
  overflow:hidden;
  box-sizing:border-box;
  position:relative;
  overflow:hidden;
}
ul.entry-close-list li.close{
  flex-basis:66%;
  background:#FFF;
  border:2px solid #c10023;
}
ul.entry-close-list li div,
ul.entry-close-list li a{
  box-sizing:border-box;
  display:block;
  text-align:center;
  margin:0 auto;
  padding:30px 5%;
  width:100%;
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
}
ul.entry-close-list li.close h3{
  color:#c10023;
  font-size:30px; line-height:160%;
  border-bottom:1px solid #c10023;
  padding:0 0 5px 0 !important;
  margin-bottom:10px;
}
ul.entry-close-list li h3::before{
  content:""; display:none;
}
ul.entry-close-list li.close h3 span{
  font-size:30px; line-height:160%;
}
ul.entry-close-list li.close p{
  font-size:18px; line-height:160%; font-weight:bold;
  margin:0 auto !important;
}
ul.entry-close-list li.handicapped{
  flex-basis:32%;
  border:2px solid #509030;
  position:relative;
  margin-left:2%;
}
ul.entry-close-list li.handicapped a{
  background:#FFF;
  transition:0.3s;
}
ul.entry-close-list li.handicapped a h3{
  font-size:22px; line-height:160%;
  color:#509030;
  margin:0;
  padding:0;
  transition:0.3s;
}
ul.entry-close-list li.handicapped a::after{
  position:absolute;
  top:50%; right:15px;
  transform:translateY(-50%) scale(0.75) rotate(90deg);
  content:"▲";
  font-size:10px; line-height:22px;
  color:#FFF;
  text-align:center;
  width:24px; height:24px;
  background-color:#509030;
  border-radius:100%;
  transition:0.3s;
}
ul.entry-close-list li.handicapped a:hover{
  text-decoration:none;
  background:#509030;
  transition:0.3s;
}
ul.entry-close-list li.handicapped a:hover h3{
  color:#FFF;
  transition:0.3s;
}
ul.entry-close-list li.handicapped a:hover::after{
  background:#FFF;
  color:#509030;
  transition:0.3s;
}

.entry-schedule-box{
  margin:0 0 15px;
  padding:20px 0;
  position:relative;
  font-size:32px; line-height:160%; font-weight:600;
  color:#c10023;
  text-align:center;
}
.entry-schedule-box p{
  font-size:16px;
  line-height:170%;
  font-weight:500;
  margin:15px auto 0 auto !important;
}
ul.entry-info-list{
  font-size:0; line-height:0;
  margin:0 auto 40px auto;
}
ul.entry-info-list li{
  font-size:15px; line-height:160%;
  width:33%;
  text-align:center;
  display:inline-block;
  vertical-align:top;
  padding:15px 0;
}
ul.entry-info-list li:nth-child(2){
  border-left:1px dashed #999;
  border-right:1px dashed #999;
}
ul.entry-info-list li strong{
  font-size:20px; line-height:160%; letter-spacing:0.05em;
  display:block;
}
p.numbercard-limit{
  position:relative;
  padding-left:4em;
}
p.numbercard-limit span.label{
  position:absolute;
  top:0; left:0;
}
ul.entry-method-list{
  display:flex;
  justify-content:space-between;
}
ul.entry-method-list li{
  width:49%;
}
ul.entry-method-list li a{
  display:block; height:66px;
  font-size:16px; line-height:64px; font-weight:bold;
  color:#222;
  border:1px solid #222;
  border-radius:5px;
  text-align:center;
  transition:0.3s;
}
ul.entry-method-list li a::after{
  content:"＞";
  display:inline-block;
  font-size:14px; font-weight:600;
  transform:scale(1,0.5) rotate(90deg);
  margin-left:5px;
  margin-right:-10px;
}
ul.entry-method-list li a:hover{
  text-decoration:none;
  color:#FFF;
  transition:0.3s;
}
ul.entry-method-list li:first-child a:hover{
  border:1px solid #2c4da1;
  background:#2c4da1;
}
ul.entry-method-list li:last-child a:hover{
  border:1px solid #509030;
  background:#509030;
}

.entry-internet,
.entry-callcenter{
  margin:0 0 30px 0;
  padding:0;
}
.entry-internet{
  border:2px solid #2c4da1;
}
.entry-callcenter{
  border:2px solid #509030;
}
.entry-internet-inner{
  padding:40px 50px 20px 50px;
  text-align:center;
}
.entry-internet h2,
.entry-callcenter h2{
  font-size:18px !important;
  line-height:64px !important;
  font-weight:bold !important;
  color:#FFF !important;
  text-align:center;
  margin:0 auto !important;
  padding:0 0 2px 0 !important;
  padding-bottom:2px;
  border:none !important;
}
.entry-internet h2{background:#2c4da1;}
.entry-callcenter h2{background:#509030;}

ul.entry-runnet-list{
  display:flex;
  justify-content:space-between;
  text-align:center;
  margin:0 auto 15px auto;
}
ul.entry-runnet-list li{
  font-size:26px; line-height:160%; font-weight:600;
  text-align:center;
  display:inline-block;
  vertical-align:top;
}
ul.entry-runnet-list li span.small{
  font-size:16px; line-height:170%; font-weight:500;
  display:block;
}
ul.entry-runnet-list li span strong{
  font-size:18px;
  font-weight:500;
}
ul.entry-runnet-list li a{
  display:block;
  border-radius:5px;
  position:relative;
  transition:0.5s;
}
ul.entry-runnet-list li a::after{
  content:"＞";
  position:absolute;
  top:50%;
  right:10px;
  font-size:24px;
  line-height:24px;
  transform:scale(0.5,1);
  margin-top:-12px;
}

ul.entry-runnet-list li.runnet-link{
  width:60%;
  margin-right:2%;
}
ul.entry-runnet-list li.runnet-regist{
  font-size:22px;
  width:38%;
}

ul.entry-runnet-list li.runnet-link a{
  display:block;
  background:rgba(44,77,161,1);
  border:1px solid rgba(44,77,161,1);
  color:rgba(44,77,161,1);
  color:#FFF;
  padding:30px 0;
}
ul.entry-runnet-list li.runnet-link a:hover{
  text-decoration:none;
  background:rgba(44,77,161,1);
  color:#FFFF00;
  transition:0.5s;
}

ul.entry-runnet-list li.runnet-regist a{
  background:#FFF;
  border:1px solid rgba(44,77,161,1);
  color:rgba(44,77,161,1);
  padding:33px 0;
}
ul.entry-runnet-list li.runnet-regist a:hover{
  text-decoration:none;
  background:rgba(44,77,161,0.8);
  color:#FFF;
  transition:0.5s;
}

ul.entry-runnet-list li.callcenter{
  width:100%;
}
ul.entry-runnet-list li.callcenter span.number{
  display:inline-block !important;
  font-size:30px; line-height:160%;
  font-weight:600;
  letter-spacing:1px;
  position:relative;
}
ul.entry-runnet-list li.callcenter span.number::before{
  content:"";
  width:36px; height:36px;
  background:url(../../img/svg/freedial_colored.svg) no-repeat center center;
  background-size:36px auto;
  display:inline-block;
  margin-right:5px;
  margin-left:20px;
  position:relative;
  top:7px;
}
ul.entry-runnet-list li.callcenter a{
  background:#FFF;
  border:1px solid #509030;
  color:#509030;
  padding:20px 0;
  pointer-events:none;
}
ul.entry-runnet-list li.callcenter a:hover{
  text-decoration:none;
  background:#509030;
  color:#FFF;
  transition:0.5s;
}
ul.entry-runnet-list li.callcenter a::after{
  content:"";
  display:none;
}

ul.entry-runnet-list li.stay-charge{
  width:80%;
  margin-right:0px;
  margin-bottom:30px;
}
ul.entry-runnet-list li.stay-charge a{
  background:rgba(14,115,106,0.1);
  border:1px solid rgba(14,115,106,1);
  color:#111;
  padding:20px 0;
}
ul.entry-runnet-list li.stay-charge a:hover{
  text-decoration:none;
  background:rgba(14,115,106,1);
  color:#FFF;
  transition:0.5s;
}

.entry-callcenter p.red{
  color:#CC0000;
  font-size:16px; line-height:170%; font-weight:500;
  margin:10px auto 0 auto !important;
}
.entry-callcenter ul.disc-list li{
  margin-bottom:5px !important;
}

.entry-internet-inner h3{
  color:#222 !important;
  text-align:center !important;
  padding:0 !important;
}
.entry-internet-inner h3::before{
  display:none !important;
}
ul.runnet-entry-flow{
  width:80%;
  margin:0 auto 25px auto;
}
ul.runnet-entry-flow li{
  border:1px solid #999;
  border-radius:5px;
  padding:25px 30px;
  position:relative;
  margin-bottom:35px;
}
ul.runnet-entry-flow li::before{
  background:#FFF;
  border-radius:100%;
  color:#FFF;
  width:34px; height:34px;
  font-family:'Roboto Condensed', sans-serif;
  font-size:20px; line-height:32px;
  color:#FFF;
  text-align:center;
  position:absolute;
  top:-12px; left:-8px;
}
.entry-internet ul.runnet-entry-flow li::before{
  background:#2c4da1;
}
.entry-callcenter ul.runnet-entry-flow li::before{
  background:#509030;
}
ul.runnet-entry-flow li:nth-child(1)::before{content:"1";}
ul.runnet-entry-flow li:nth-child(2)::before{content:"2";}
ul.runnet-entry-flow li:nth-child(3)::before{content:"3";}
ul.runnet-entry-flow li::after{
  content:"▼";
  position:absolute;
  bottom:-25px; left:50%;
  transform:translateX(-50%);
  font-size:14px;
  line-height:14px;
  color:#999;
  transform:scale(2,1);
}
ul.runnet-entry-flow li:last-child{margin-bottom:0;}
ul.runnet-entry-flow li:last-child::after{
  content:"";
  display:none;
}
ul.runnet-entry-flow li h4{
  color:#CC0000;
  font-size:18px; line-height:160%;
  margin-bottom:5px;
}
ul.runnet-entry-flow li p{
  font-size:15px; line-height:170%;
  margin:0 !important;
}
.entry-internet p strong.runnet-support-dial{
  display:block;
  font-size:17px; line-height:160%;
  margin-top:5px;
}
.entry-callcenter ul.disc-list{
  width:60%;
  margin:0 auto 20px auto;
  text-align:left;
}
.entry-caution-box{
  border:1px solid #999;
  margin:30px auto 0 auto;
  padding:30px 35px;
}
.entry-caution-box .red-cross{
  width:150px;
  float:left;
  margin:0 30px 0 0;
}

.change23rd{
  border:2px solid #CC0000;
}
.change23rd .title-change{
  font-size:24px; line-height:1; font-weight:bold;
  color:#FFF;
  text-align:center;
  background:#CC0000;
  padding:15px 0;
}
.change23rd .change-inner{
  margin:25px 35px;
}
.change23rd h3{
  color:#CC0000 !important;
}
.change23rd ol.decimal-list li{
  margin-bottom:0px !important;
}

.cancel23rd{
  border:2px solid #c10023;
  padding:60px 0;
}
.cancel23rd .title-cancel{
  font-size:36px; line-height:1; font-weight:bold;
  color:#c10023;
  text-align:center;
}

.priority-entry-end{
  text-align:center;
  font-size:48px; line-height:1.6; font-weight:bold;
}
.priority-entry-end span.marker{
  display:inline-block;
  padding:0 0.4em;
  background:linear-gradient(
    #FFF 70%,
    rgba(255,255,0,0.8) 70%,
    rgba(255,255,0,0.8) 90%,
    #FFF 90%
  );
}

/* 大会参加者へのご案内 */
.entrant-preparation-box{
  border:5px solid #F0F0F0;
  padding:30px 35px;
}
ul.guidebook-list{
  display:flex;
  justify-content:center;
  margin:0 auto 15px auto;
}
ul.guidebook-list li{
  flex-basis:180px;
  margin:0 30px;
  font-size:14px; line-height:160%;
}
ul.guidebook-list li img{
  border:1px solid #CCC;
  box-shadow:2px 2px 4px #999;
  margin:0 auto 5px auto;
}
.entrant-preparation-box p{
  font-size:18px; line-height:180%; font-weight:bold;
  margin-bottom:0 !important;
}

.guidebook-box{
  border:5px solid #F0F0F0;
  padding:30px 35px;
  display:flex;
  justify-content:center;
}
.guidebook-image{
  flex-basis:18%;
  align-self:center;
  margin-right:25px;
}
.guidebook-image img{
  border:1px solid #CCC;
  box-shadow:2px 2px 4px #CCC;
}
.guidebook-box .text-box{
  flex-basis:50%;
  position:relative;
  font-size:18px; line-height:180%;
  font-weight:bold;
  align-self:center;
  margin-left:0px;
}

ul.entrant-flow{
  display:flex;
  justify-content:space-between;
}
ul.entrant-flow li{
  width:23%;
  box-sizing:border-box;
  padding:15px 15px;
  border:1px solid #158aa9;
  text-align:center;
  border-radius:3px;
  background:#FFF;
  position:relative;
}
ul.entrant-flow.col-3 li{
  width:31.5%;
}
ul.entrant-flow li:last-child{
  background:#158aa9;
}
ul.entrant-flow li::after{
  content:"";
  border-left:10px solid #158aa9;
  border-top:15px solid transparent;
  border-bottom:15px solid transparent;
  position:absolute;
  top:50%;
  right:-21px;
  transform:translateY(-50%);
}
ul.entrant-flow li:last-child::after{
  display:none;
}
ul.entrant-flow li .schedule{
  color:#158aa9;
  font-size:17px; line-height:140%; font-weight:bold;
  border-bottom:1px solid #999;
  padding-bottom:10px;
  margin-bottom:10px;
}
ul.entrant-flow li:last-child .schedule{
  color:#fff;
  border-color:#fff;
}
ul.entrant-flow li p{
  font-size:15px; line-height:160%;
  margin-bottom:0;
}
ul.entrant-flow li p strong{
  font-size:17px; line-height:160%;
}
ul.entrant-flow li:last-child p{
  color:#FFF;
}

.other-caution-box{
  border:1px solid #1AA4D7;
  border:1px solid #999;
  padding:30px 35px 15px 30px;
}
.other-gmap-box{
  margin:0 auto 25px auto;
}
.other-left,
.other-right{width:48%;}
.other-left{float:left;}
.other-right{float:right;}

table.other-access-table th{
  text-align:left !important;
  vertical-align:top;
}
.icon-car,
.icon-shuttle-bus,
.icon-taxi,
.icon-train,
.icon-parking,
.icon-walk{
  position:relative;
  top:-3px;
  white-space:nowrap;
  padding-left:0 !important;
}
.icon-car::before,
.icon-shuttle-bus::before,
.icon-taxi::before,
.icon-train::before,
.icon-parking::before,
.icon-walk::before{
  content:"";
  width:20px !important; height:20px !important;
  display:inline-block;
  background-color:transparent !important;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:auto 20px;
  margin-right:5px !important;
  border:none !important;
  position:relative !important;
  top:3px !important;
  left:0 !important;
  transform:translateY(0) !important;
}
.icon-car::before{
  background-image:url(../../img/entrant/icon_car.png);
}
.icon-shuttle-bus::before{
  background-image:url(../../img/entrant/icon_bus.png);
}
.icon-taxi::before{
  background-image:url(../../img/entrant/icon_taxi.png);
}
.icon-train::before{
  background-image:url(../../img/entrant/icon_train.png);
}
.icon-parking::before{
  background-image:url(../../img/entrant/icon_parking.png);
}
.icon-walk::before{
  background-image:url(../../img/entrant/icon_walk.png);
}

table.other-parking-table tr td:nth-child(2),
table.other-parking-table tr td:nth-child(3){
  text-align:center !important;
}

.parking-pass-image{
  width:200px;
  float:right;
  margin-left:25px;
}

.caution-box{
  border:1px solid #DD0000;
  padding:40px 50px;
  margin-bottom:25px;
}
.caution-left,
.caution-right{width:49%;}
.caution-left{float:left;}
.caution-right{float:right;}

.caution-box p.caution{
  position:relative;
}
.caution-box p.caution span.icon-caution{
  width:auto; height:21px;
  font-size:13px;
  line-height:23px;
  color:#FFF;
  background:#DD0000;
  display:inline-block;
  padding:0 1em;
  margin-bottom:5px;
}
.caution-box p:last-of-type,
.caution-box ol:last-of-type,
.caution-box ul:last-of-type{
  margin-bottom:0 !important;
}

.caution-right table{
  font-size:13px !important;
  line-height:160% !important;
  position:relative;
  top:30px;
}
.caution-right table td{text-align:center !important;}
.caution-right table td.bikou{
  text-align:left !important;
  font-size:12px !important;
  padding-top:5px !important;
}

.other-access-box{
  border:1px solid #999;
  margin:0 0 25px 0;
  padding:30px 35px 10px 35px;
}
.other-access-box .acecss-to-start{
  background:#D5E5F6;
}
.other-access-box .acecss-to-start img{
  width:550px;
  margin:0 auto 15px auto;
  padding:20px 0;
}
ul.train-schedule-list{
  font-size:0; line-height:0;
  margin-bottom:30px;
  display:flex;
  justify-content:space-between;
}
ul.train-schedule-list li{
  box-sizing:border-box;
  width:48%;
  padding:15px;
}
ul.train-schedule-list li:nth-child(2){
  background:#E6E6E6;
}
/*
ul.train-schedule-list li:nth-child(1){
  width:385px;
  padding:10px 50px 10px 0;
}
ul.train-schedule-list li:nth-child(1) img{
  width:385px; height:auto;
}
ul.train-schedule-list li:nth-child(2){
  width:371px;
  padding:10px;
  background:#E6E6E6;
}
ul.train-schedule-list li:nth-child(2) img{
  width:371px; height:auto;
}
*/
.map-start{
  width:640px;
  margin-bottom:25px;
}

table.train-table{
  width:60% !important;
  margin:0 0 10px 0 !important;
  font-size:16px !important;
}
table.train-table td{
  width:40% !important;
  text-align:center !important;
}
table.train-table tr td:nth-child(2){width:20% !important;}

.entrant-list li{
  margin:0 0 40px 0;
  padding-left:40px;
  position:relative;
}
.entrant-list li:last-child{
  margin-bottom:0;
}
.entrant-list li::before{
  content:"1";
  font-size:22px; line-height:33px; font-weight:600;
  color:#FFF;
  text-align:center;
  width:32px; height:32px;
  background:#0b5e9d;
  position:absolute;
  top:2px; left:0;
}
.entrant-list li:nth-child(1)::before{content:"1";}
.entrant-list li:nth-child(2)::before{content:"2";}
.entrant-list li:nth-child(3)::before{content:"3";}
.entrant-list li:nth-child(4)::before{content:"4";}
.entrant-list li:nth-child(5)::before{content:"5";}
.entrant-list li:nth-child(6)::before{content:"6";}
.entrant-list li:nth-child(7)::before{content:"7";}
.entrant-list li:nth-child(8)::before{content:"8";}
.entrant-list li:nth-child(9)::before{content:"9";}

.entrant-list li strong{
  display:block;
  font-size:22px; line-height:1.8;
  color:#0b5e9d;
}

.guide2021{
  border-top:1px dashed #999;
  padding-top:100px;
  text-align:center;
}
.guide2021 .thumbnail{
  box-sizing:border-box;
  width:360px;
  border:1px solid #CCC;
  margin:15px auto 30px auto;
}

/* 宿泊・輸送 */
.stay-caution-box{
  background:rgba(40,164,213,0.01);
  border:1px solid #999;
  margin:0 0 30px 0;
  padding:30px 35px;
  position:relative;
  text-align:center;
}
.stay-caution-box h3{
  margin-bottom:5px !important;
  padding:0 !important;
}
.stay-caution-box h3::before{
  content:""; display:none;
}
.stay-caution-box h3 strong{
  display:inline-block;
  margin-left:1em;
}
.stay-caution-box p{
  display:inline-block !important;
  margin-bottom:0 !important;
}
.stay-caution-box p strong{
  font-size:17px; line-height:160%;
}

ul.stay-area-list{
  display:flex;
  justify-content:space-between;
  font-size:0; line-height:0;
  text-align:center;
}
ul.stay-area-list li{
  font-size:16px; line-height:160%;
  text-align:center;
}
ul.stay-area-list li.area01{
  width:60%;
}
ul.stay-area-list li.area02{
  width:38%;
}
ul.stay-area-list li:last-child{
  margin-right:0;
}
ul.stay-area-list li p{
  font-size:15px; line-height:160%;
  margin:5px auto 0 auto !important;
}
ul.stay-area-list li a{
  display:block;
  font-size:20px; line-height:20px; font-weight:600;
  color:#FFF;
  padding:40px 0;
  border-radius:5px;
  position:relative;
  transition:0.3s;
}
ul.stay-area-list li a:hover{
  text-decoration:none;
  transition:0.3s;
}
ul.stay-area-list li a::before{
  display:block;
  content:"";
  width:20px; height:20px;
  border-radius:100%;
  position:absolute;
  top:50%; right:15px;
  margin-top:-10px;
}
ul.stay-area-list li a:hover::before{
  background:#FFF !important;
}
ul.stay-area-list li a::after{
  display:block;
  content:"▲";
  color:#FFF;
  font-size:11px; line-height:20px;
  transform:scale(0.5,0.8) rotate(90deg);
  position:absolute;
  top:50%; right:20px;
  margin-top:-10px;
}
ul.stay-area-list li.area01 a{
  border:2px solid #00736a;
  color:#00736a;
}
ul.stay-area-list li.area01 a:hover{
  color:#FFF;
  background:#00736a;
}
ul.stay-area-list li.area01 a::before{
  background:#00736a;
}
ul.stay-area-list li.area01 a:hover::after{
  color:#00736a;
}
ul.stay-area-list li.area02 a{
  border:2px solid #780028;
  color:#780028;
}
ul.stay-area-list li.area02 a:hover{
  color:#FFF;
  background:#780028;
}
ul.stay-area-list li.area02 a::before{
  background:#780028;
}
ul.stay-area-list li.area02 a:hover::after{
  color:#780028;
}

.area-title{
  margin:-50px 0 50px 0;
  padding:25px 0;
}
.area-title h1{
  font-size:26px; line-height:160%; font-weight:500;
  letter-spacing:2px; color:#FFF;
  margin:0 auto;
}
.area-title h1 span{
  font-size:20px; line-height:160%;
  display:block;
}
.area-title h1 span::before,
.area-title h1 span::after{content:" - ";}
.area01-title{background:#00736a;}
.area02-title{background:#780028;}

.stay-area-box{
  margin:0 0 30px 0;
  padding:0;
}

.stay-online-box{
  text-align:center;
  border:1px solid #999;
  border-radius:5px;
  padding:20px 49px 10px 49px;
  margin:0 auto 30px auto;
  background:#FCFCFC;
}
.stay-online-box .stay-online-title{
  font-size:20px;
  line-height:160%;
  color:rgba(14,115,106,1);
  font-weight:bold;
  margin-bottom:10px;
}
.stay-online-box .stay-online-title span{
  display:inline-block;
  margin-left:10px;
  font-size:16px;
  font-weight:normal;
  color:#111;
}
table.stay-online-table{
  margin:0 auto !important;
}
table.stay-online-table td{
  border:none !important;
  padding:0 0 10px 0 !important;
  text-align:left !important;
  vertical-align:bottom !important;
  width:40% !important;
}
table.stay-online-table td.submit{
  text-align:right !important;
  width:20% !important;
  overflow:hidden;
}
table.stay-online-table td strong{
  display:block;
}
table.stay-online-table td input[type="text"],
table.stay-online-table td input[type="password"]{
  margin:0;
  padding:0;
  background:#FFF;
  border:1px solid #999;
  border-radius:5px;
  outline:none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width:calc(100% - 12px);
}
table.stay-online-table td input[type="submit"]{
  margin:0;
  padding:0;
  background:rgba(14,115,106,0.3);
  border:1px solid rgba(14,115,106,1);
  border-radius:5px;
  outline:none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width:calc(100% - 2px);
  height:40px;
  cursor:pointer;
  font-size:14px;
  line-height:40px;
  font-weight:600;
  transition:0.5s;
  position:relative;
  bottom:1px;
}
table.stay-online-table td input[type="submit"]:hover{
  background:rgba(14,115,106,1);
  color:#FFF;
  transition:0.5s;
}
.stay-online-box hr{
  border:none;
  border-top:1px dashed #999;
  width:100%;
  height:1px;
  margin:15px auto;
}

ul.online-registration-list{
  font-size:0; line-height:0;
  text-align:center;
}
ul.online-registration-list li{
  display:inline-block; vertical-align:top;
  font-size:15px;
  line-height:160%;
  margin:0 2em 5px 0;
}
ul.online-registration-list li:last-child{margin-right:0;}
ul.online-registration-list li a{font-weight:bold;}
ul.online-registration-list li span{
  font-size:14px;
}
ul.online-registration-list li::before{
  content:"▲";
  display:inline-block;
  background:#0E736A;
  border-radius:100%;
  font-size:9px;
  line-height:30px;
  color:#FFF;
  transform:scale(0.6,1) rotate(90deg);
  width:18px; height:30px;
  text-align:center;
  margin-right:5px;
  position:relative;
  top:-2px;
}

.stay-cancel-box{
  margin-bottom:40px;
}

table.stay-cancel-table tr td:nth-child(2),
table.stay-cancel-table tr td:nth-child(3){
  text-align:center !important;
}

/*
.stay-table-wrapper{
  width:100%;
  overflow-x:scroll;
  margin-bottom:30px;
}
*/
p.sp-swipe{display:none;}
table.stay-hotel-table{
/*
  width:1200px !important;
*/
  font-size:14px !important;
  line-height:160% !important;
}
table.stay-hotel-table caption{
  font-size:15px;
}

table.stay-hotel-table tr td{
  background:rgba(255,255,255,1);
}
table.stay-hotel-table tr:nth-child(even) td{
  background:rgba(249,249,249,1);
}
table.stay-hotel-table tr th:first-child,
table.stay-hotel-table tr td:first-child{
/*
  position:sticky;
  left:0; z-index:2;
*/
}
table.stay-hotel-table th{
  white-space:nowrap;
  background:rgba(14,114,105,1) !important;
  color:#FFF;
  font-size:13px !important;
  line-height:140% !important;
  font-weight:normal !important;
}
table.stay-hotel-table tr td:nth-child(1){
  width:300px;
  font-weight:bold;
}
table.stay-hotel-table tr td:nth-child(2){width:200px;}
table.stay-hotel-table tr td:nth-child(3){width:230px;}
table.stay-hotel-table tr td:nth-child(4),
table.stay-hotel-table tr td:nth-child(5),
table.stay-hotel-table tr td:nth-child(6){
  width:100px;
  text-align:center !important;
}
table.stay-hotel-table tr td:nth-child(7){
  width:120px;
  text-align:center !important;
}
table.stay-hotel-table tr td:nth-child(8){
  width:30px;
  text-align:center !important;
}
table.stay-hotel-table tr td:nth-child(2),
table.stay-hotel-table tr td:nth-child(5),
table.stay-hotel-table tr td:nth-child(6),
table.stay-hotel-table tr td:nth-child(7),
table.stay-hotel-table tr td:nth-child(8){
  font-size:13px !important;
  line-height:140% !important;
}

table.stay-hotel-table td ul.charge-list{margin:0;}
table.stay-hotel-table td ul.charge-list li{
  position:relative;
  text-align:right;
  border-bottom:1px dashed #666;
  padding:5px 0;
}
table.stay-hotel-table td ul.charge-list li:last-child{
  border:none;
}
table.stay-hotel-table td ul.charge-list li span{
  position:absolute;
  left:0;
  text-align:left;
}
table.stay-hotel-table td ul.capacity-list{margin:0;}
table.stay-hotel-table td ul.capacity-list li{
  border-bottom:1px dashed #666;
  padding:5px 0;
}
table.stay-hotel-table td ul.capacity-list li:last-child{
  border:none;
}

section#hotel-price ul.disc-list{
  margin-bottom:80px;
}
section#hotel-price ul.disc-list li{
  font-size:14px; line-height:1.6;
  margin:0 0 5px 22px !important;
}

table.sougei-table caption{
  font-size:15px;
}
table.sougei-table th{
  font-size:13px !important;
  line-height:160% !important;
}
table.sougei-table td{
  text-align:center !important;
}
table.sougei-table td.bikou{text-align:left !important; padding-left:0 !important;}

.stay-area-box .pamphlet-yamanouchi{
  width:200px;
  float:right;
  margin:0 0 0 25px;
}
.stay-area-box .pamphlet-yamanouchi img{border:1px solid #CCC;}

.accommodation{
  border:2px solid #DD0000;
  padding:40px 50px;
}
.accommodation h2{
  color:#DD0000 !important;
  font-weight:bold !important;
  margin:0 auto 20px auto !important;
  padding:0 !important;
  border:none !important;
  text-align:center;
}
.page-container section .accommodation h2 span{
  margin:0 auto;
  border-bottom:0px;
}
.accommodation p:last-of-type{margin-bottom:0 !important;}
table.support-table{
  margin:0 auto 40px auto !important;
}
table.support-table tr td{
  text-align:center !important;
}
table.support-table tr td:nth-child(1),
table.support-table tr td.bikou{
  text-align:left !important;
}

ul.support-parking-list{
  font-size:0; line-height:0;
  margin:0 auto 25px auto;
}
ul.support-parking-list li{
  margin:0 10px 25px auto;
  width:290px;
  display:inline-block; vertical-align:top;
  font-size:15px; line-height:160%;
}
ul.support-parking-list li:last-child{margin-right:0;}
ul.support-parking-list li .thumbnail{
  margin-bottom:5px;
}

/*
ul.support-parking-list li .text-box{
  width:360px;
  float:right;
}
ul.support-parking-list li .thumbnail{
  width:460px;
  float:left;
}
*/

.support-bus-box{
  text-align:center;
  margin:0 auto 25px auto;
}
.support-bus-box img{
  width:800px;
  margin:0 auto 10px auto;
}

ol.support-application-list li{
  list-style:decimal outside;
  margin:0 0 5px 25px;
}

.onavi-box{
  border:2px dashed #5AAF5A;
  margin:30px auto;
  padding:30px 35px 15px 35px;
  position:relative;
}

.page-container section .onavi-box p.update-logo{
  width:183px; height:23px;
}
.page-container section .onavi-box .update-image{
  width:480px; height:285px;
  margin:0 auto 30px auto;
}

.onavi-logo{
  width:180px;
  float:left;
  margin-right:20px;
  margin-bottom:25px;
}
ul.ouennavi-image-list{
  font-size:0; line-height:0;
  text-align:center;
  margin:0 auto 30px auto;
}
ul.ouennavi-image-list li{
  display:inline-block; vertical-align:top;
  width:30%;
  margin:0 1.5%;
  font-size:14px; line-height:160%;
}
ul.ouennavi-image-list li img{
  display:block;
  border:1px solid #CCC;
  margin:0 auto 5px auto;
}

.ouennavi-download-box{
  text-align:center;
}
ul.onavi-link-list{
  margin:0 auto 25px auto;
  font-size:0; line-height:0;
  text-align:center;
}
ul.onavi-link-list li{
  width:200px;
  display:inline-block;
  vertical-align:top;
  font-size:14px;
  line-height:160%;
  text-align:center;
  margin:0 20px 0 0;
}
ul.onavi-link-list li:last-child{margin-right:0;}
ul.onavi-link-list li.text-link{width:280px;}
ul.onavi-link-list li.text-link a{
  display:block;
  border:2px solid #5AAF5A;
  background:#5AAF5A;
  background:#FFF;
  border-radius:5px;
  height:56px;
  font-size:16px;
  line-height:58px;
  font-weight:bold;
  color:#FFF;
  color:#5AAF5A;
  transition:0.5s;
}
ul.onavi-link-list li.text-link a:hover{
  background:#5AAF5A;
  color:#FFF;
  text-decoration:none;
  transition:0.5s;
}

ul.support-spot-list li{
  box-sizing:border-box;
  display:flex;
  justify-content:space-between;
  margin:20px auto 40px auto;
  border:1px solid #999;
  padding:30px;
}
ul.support-spot-list li .thumbnail{
  flex-basis:47%;
}
ul.support-spot-list li .text-box{
  flex-basis:50%;
}
ul.support-spot-list li .text-box h4{
  font-size:22px; line-height:150%;
  border-bottom:1px dashed #999;
  padding-bottom:15px;
  margin-bottom:15px;
}
ul.support-spot-list li .text-box h4 .distance{
  font-size:19px;
}
ul.support-spot-list li .text-box h4 .small{
  display:block;
  font-size:17px; line-height:180%; font-weight:normal;
}
ul.support-spot-list li .text-box p{
  margin:10px 0 0 0;
}
ul.support-spot-list li .text-box p.by-walk,
ul.support-spot-list li .text-box p.by-car,
ul.support-spot-list li .text-box p.by-bus{
  position:relative;
  padding-left:30px;
}
ul.support-spot-list li .text-box p.by-walk::before,
ul.support-spot-list li .text-box p.by-car::before,
ul.support-spot-list li .text-box p.by-bus::before{
  content:"";
  width:22px; height:22px;
  background-repeat:no-repeat;
  background-position:center center;
  background-size:22px auto;
  position:absolute;
  top:2px; left:0;
}
ul.support-spot-list li .text-box p.by-walk::before{
  background-image:url(../../img/entrant/icon_walk.png);
}
ul.support-spot-list li .text-box p.by-car::before{
  background-image:url(../../img/entrant/icon_car.png);
}
ul.support-spot-list li .text-box p.by-bus::before{
  background-image:url(../../img/entrant/icon_bus.png);
}


/* access */
.access-gmap-box{
  margin:0 auto 25px auto;
}
table.access-venue-table th{
  text-align:left !important;
  padding:10px 15px !important;
}
.access-box h3{padding-left:48px !important;}
.access-box h3::before{
  content:"";
  width:30px !important; height:30px !important;
  background-repeat:no-repeat;
  background-position:center center;
  background-color:#c10023 !important;
  background-size:22px auto;
  border:none !important;
  position:absolute;
  top:0px !important; left:10px !important;
  border-radius:3px;
  transform:translateY(0) !important;
}
.access-box h3.by_train::before{
  background-image:url(../../img/svg/train_white.svg);
}
.access-box h3.by_car::before{
  background-image:url(../../img/svg/car_white.svg);
}
.access-box h3.by_air::before{
  background-image:url(../../img/svg/airplane_white.svg);
}
.access-box{
  margin-bottom:50px;
}
.access-box p img{
  width:780px;
  margin:0 auto;
}

table.access-table{
  width:100%;
  margin:-40px auto 20px auto !important;
  border-collapse:separate !important;
  border-spacing:10px 40px;
  position:relative;
}
table.access-table caption{
  position:absolute;
  top:45px; left:10px;
}
table.access-table caption::before{content:"《 ";}
table.access-table caption::after{content:" 》";}
table.access-table th{
  border:1px solid #2378a3 !important;
  border-radius:5px !important;
  background:rgba(35,120,163,0.05) !important;
  white-space:nowrap;
  font-size:15px !important; line-height:140% !important;
}
table.access-table td{
  border:none !important;
  text-align:center !important;
  font-size:13px !important; line-height:40px !important;
  font-weight:600 !important;
  position:relative;
}
table.access-table th span,
table.access-table td span{
  font-weight:500;
  display:block;
}
table.access-table td::before{
  content:"";
  width:98%; height:1px;
  border:none;
  border-top:2px dashed #333;
  position:absolute;
  top:50%; left:0%;
  margin-top:-2px;
}
table.access-table td::after{
  content:"▲";
  font-size:12px !important; line-height:12px !important;
  position:absolute;
  top:50%; right:-4px;
  transform:scale(0.7,1) rotate(90deg);
  margin-top:-7px;
}

/* movie */
.youtube-ch-box{
  margin:0 auto;
  text-align:center;
}
.youtube-ch-box p img{
  max-width:880px;
  margin:0 auto;
}
.youtube-subscribe-box{
  text-align:center;
  border:1px solid #999;
  width:400px;
  margin:0 auto;
  padding:15px 0 5px 0;
  border-radius:5px;
}
.youtube-ch-box p.youtube-subscribe{
  margin-bottom:0px !important;
  display:inline-block;
  font-size:14px;
  position:relative;
  top:-7px;
}
.youtube-ch-box p.youtube-subscribe::after{
  content:"▲";
  font-size:12px;
  display:inline-block;
  transform:scale(0.7,1) rotate(90deg);
  position:relative;
  top:-1px;
  color:#666;
  margin:0 2px 0 5px;
}

ul.movie-list{
  font-size:0; line-height:0;
  text-align:center;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
ul.movie-list li{
  flex-basis:48%;
  margin:0 0 40px 0;
  font-size:16px; line-height:160%;
  text-align:center;
}
ul.movie-list li a{
  display:block;
  position:relative;
}
ul.movie-list li a .thumbnail{
  margin-bottom:10px;
}
ul.movie-list li a .thumbnail::before{
  content:"";
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%, -50%);
  display:block;
  z-index:10;
  width:54px; height:54px;
  background:url(../../special/history/img/playbutton_off.png) no-repeat center center;
  background-size:54px auto;
}
ul.movie-list li a:hover .thumbnail::before{
  background:url(../../special/history/img/playbutton_on.png) no-repeat center center;
  background-size:54px auto;
}

.theme-song-box{
  width:100%;
  position:relative;
}
.theme-song-image{
  max-width:900px;
  margin:0 auto 15px auto;
}
ul.theme-song-list{
  font-size:0; line-height:0;
  text-align:center;
  margin:0 auto 40px auto;
}
ul.theme-song-list li{
  width:380px;
  display:inline-block;
  vertical-align:top;
  margin:0 10px;
}

/* FAQ */
section.faq h2{
  margin-bottom:20px;
}
ul.faq-list li{
  margin:0 auto 30px auto;
  padding-bottom:20px;
  border-bottom:1px dashed #999;
}
ul.faq-list li:last-child{
  padding-bottom:0;
  border-bottom:none;
}
ul.faq-list li .question,
ul.faq-list li .answer{
  position:relative;
  margin:0 0 8px 0;
  padding-left:38px;
}
ul.faq-list li .question{
  font-weight:600;
  color:#444;
  line-height:30px;
}
ul.faq-list li .answer{
  position:relative;
  top:2px;
}
ul.faq-list li .question::before,
ul.faq-list li .answer::before{
  font-family: "Source Sans Pro", sans-serif;
  font-size:18px;
  line-height:30px;
  color:#FFF;
  text-align:center;
  width:30px; height:30px;
  position:absolute;
  left:0;
}
ul.faq-list li .question::before{
  content:"Q";
  background:#1AA4D7;
  top:0;
}
ul.faq-list li .answer::before{
  content:"A";
  background:#DD0000;
  top:-2px;
}
ul.faq-list li table tr th:first-of-type{width:40%;}
ul.faq-list li table tr th:last-of-type{width:25%;}

/* topics */
section.topics-archive{
  width:86%;
}
.pagenavi-box{
  text-align:left;
  margin:60px auto 0 auto;
}
.pagenavi-box .wp-pagenavi{
  float:none !important;
  margin:0 auto !important;
  padding:0 !important;
}

.entry-title p.entry-date{
  font-size:14px; line-height:160%;
  letter-spacing:0.05em;
  margin-bottom:5px !important;
}
.entry-title h2{
  padding:0 !important;
  border:none !important;
}
#entry-sns-button-box{
  margin:20px auto 0 auto;
  padding:0;
  text-align:left;
}
#entry-sns-button-box .wp_social_bookmarking_light{
  margin:0 auto !important;
}
.entry-body{
  border:1px solid #999;
  margin:0px auto 25px auto;
  padding:35px 40px;
}
.page-container section .entry-body img{
  max-width:100% !important;
  height:auto !important;
}
.page-container section .entry-body p,
.page-container section .entry-body ul,
.page-container section .entry-body ol{
  margin:0 0 15px 0;
}
.page-container section .entry-body p:last-of-type,
.page-container section .entry-body ul:last-of-type,
.page-container section .entry-body ol:last-of-type{
  margin-bottom:0 !important;
}

.page-container section .entry-body ul li{
  list-style:disc outside;
  margin:0 0 5px 20px;
}
.page-container section .entry-body ol li{
  list-style:decimal outside;
  margin:0 0 5px 25px;
}
.page-container section .entry-body table{
  width:100%;
  margin:0 0 15px 0;
  border-collapse:collapse;
}
.page-container section .entry-body table td{
  padding:5px;
  border:1px solid #999;
}
.entry-bottom p{
  font-size:14px !important;
}

/* pickup */
ul.pickup-list{
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
ul.pickup-list li{
  flex-basis:46%;
  margin:0 0 40px 0;
}
ul.pickup-list li:nth-child(3n),
ul.pickup-list li:last-child{margin-right:0;}
ul.pickup-list li a{
  display:block;
}
ul.pickup-list li a .text-box{
  margin:0;
  padding:10px 0;
  text-align:left;
}
ul.pickup-list li a h3{
  color:#127eb5 !important;
  margin-bottom:5px !important;
  padding:0 !important;
}
ul.pickup-list li a h3::before{
  display:none !important;
}
ul.pickup-list li a p{
  color:#222;
}

/* 3年連続サブスリー表彰 */
.subthree-concept-image{
  width:680px;
}
ul.subthree-image-list{
  width:100%;
  margin:0px auto 25px auto;
  font-size:0; line-height:0;
  display:flex;
  text-align:center;
}
ul.subthree-image-list li{
  flex-basis:30%;
  margin:0 3% 15px 0;
  font-size:13px;
  line-height:140%;
  text-align:center;
}
ul.subthree-image-list li:last-child{
  margin-right:0;
}

/* 20回記念モニュメント */
ul.monument-image-list{
  width:90%;
  margin:50px auto 0 auto;
  font-size:0; line-height:0;
  display:flex;
  justify-content:center;
  text-align:center;
}
ul.monument-image-list li{
  flex-basis:32%;
  display:inline-block;
  vertical-align:top;
  margin:0 0 15px 0;
  font-size:13px;
  line-height:140%;
  text-align:center;
}
ul.monument-image-list li:last-child{
  margin-right:0;
}
ul.monument-image-list li img{
  width:239px;
  display:block;
  margin:0 auto 5px auto;
  border:1px solid #CCC;
  border-radius:5px;
  overflow:hidden;
}
ul.monument-image-list li:nth-child(1) img{
  border:none;
}

/* photo gallery */
ul.gallery-list{
  font-size:0; line-height:0;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
ul.gallery-list li{
  flex-basis:22%;
  margin:0 0 35px 0;
}

/* tourism */
ul.tourism-list{
  font-size:0; line-height:0;
  display:flex;
  justify-content:space-between;
  flex-wrap:wrap;
}
ul.tourism-list li{
  flex-basis:48%;
  margin:0 0 30px 0;
}
ul.tourism-list li .thumbnail{
  width:200px;
  float:left;
}
ul.tourism-list li .text-box{
  width:calc(100% - 215px);
  float:right;
}

ul.tourism2017-list{
  font-size:0; line-height:0;
}
ul.tourism2017-list li{
  margin:0 0 30px 0;
}
ul.tourism2017-list li .thumbnail{
  width:50%;
  max-width:600px;
  float:left;
}
ul.tourism2017-list li .text-box{
  box-sizing:border-box;
  width:calc(50% - 20px);
  float:right;
}

ul.tourism-list li h3,
ul.tourism2017-list li h3{
  margin:0 0 10px 0 !important;
  color:#3476ae !important;
  padding-left:0 !important;
}
ul.tourism-list li h3::before,
ul.tourism2017-list li h3::before{
  content:""; display:none !important;
}
ul.tourism-list li h3.no-link,
ul.tourism2017-list li h3.no-link{
  color:#444 !important;
}
ul.tourism-list li a:hover h3,
ul.tourism2017-list li a:hover h3{
  text-decoration:underline;
}
ul.tourism-list li p,
ul.tourism2017-list li p{
  margin:0 !important;
  font-size:16px; line-height:160%;
  color:#222;
}

section.tourism-box{
  width:840px !important;
}
section.tourism-box h1{
  margin:0 auto 20px auto !important;
}
.tourism-contents-box{
  margin:0 auto 40px auto;
}
section.tourism-box .tourism-contents-box:nth-of-type(1){margin-top:40px;}
.tourism-contents-box h2{
  border-bottom:none !important;
}
.tourism-contents-box h2 img{width:516px;}
.tourism-contents-box h3{
  font-size:17px !important;
  line-height:160% !important;
  color:#444;
  margin:0 0 20px 0 !important;
  position:relative;
  padding:0 !important;
}
.tourism-contents-box h3::before{
  content:"" !important;
  display:none !important;
}
.tourism-contents-inner{
  background:rgba(255,255,233,0.6);
  border:1px solid #CCC;
  border-radius:5px;
  padding:25px 30px;
}
.tourism-contents-inner .tourism-left{
  width:370px;
  float:left;
}
.tourism-contents-inner .tourism-right{
  width:390px;
  float:right;
}
.tourism-contents-inner .thumbnail{
  font-size:13px;
  line-height:180%;
  text-align:center;
}
.tourism-contents-inner .thumbnail img{
  margin-top:10px;
}
.tourism-contents-inner .thumbnail img:nth-of-type(1){margin-top:0;}
.tourism-column-person{
  width:100px;
  float:right;
  margin-left:20px;
}

.day{
  text-align:center;
  font-family:'Source Sans Pro', sans-serif;
  font-weight:600;
  margin:0 auto;
  position:relative;
}
.day .title{
  display:inline-block;
  color:#FFF;
  font-size:24px;
  line-height:95px;
  letter-spacing:1px;
  background:#C01E5C;
  width:100px; height:100px;
  border-radius:100%;
}
/*
.day .title{
  display:inline-block;
  background:#111;
  color:#FFF;
  font-size:20px;
  line-height:32px;
  letter-spacing:1px;
  padding:0 2em;
  position:relative;
}
.day .title::before{
  content:"";
  border-top:16px solid #111;
  border-bottom:16px solid #111;
  border-left:8px solid transparent;
  position:absolute;
  top:0; left:-8px;
}
.day .title::after{
  content:"";
  border-top:16px solid #111;
  border-bottom:16px solid #111;
  border-right:8px solid transparent;
  position:absolute;
  top:0; right:-8px;
}
*/
.day .schedule{
  display:inline-block;
  background:#111;
  color:#FFF;
  font-size:18px;
  line-height:24px;
  letter-spacing:1px;
  padding:0 2em;
  position:relative;
  top:-30px;
}
.day .schedule::before{
  content:"";
  border-top:12px solid #111;
  border-bottom:12px solid #111;
  border-left:8px solid transparent;
  position:absolute;
  top:0; left:-8px;
}
.day .schedule::after{
  content:"";
  border-top:12px solid #111;
  border-bottom:12px solid #111;
  border-right:8px solid transparent;
  position:absolute;
  top:0; right:-8px;
}
/*
.day .schedule{
  font-size:21px;
  line-height:160%;
}
*/
.tourism2017-contents-inner{
  margin:0 auto 50px auto;
  padding:20px 25px;
  border:1px solid #999;
  border-radius:5px;
  position:relative;
  text-align:left;
}
.tourism2017-contents-inner::before{
  content:"▼";
  font-size:18px;
  line-height:160%;
  transform:scale(2,1);
  position:absolute;
  bottom:-40px; left:50%;
  margin-left:-10px;
  color:#999;
}
.tourism2017-contents-inner.no-arrow::before{
  content:"";
  display:none;
}
.tourism2017-contents-inner h2.number{
  margin-bottom:0.5em !important;
  font-size:28px; line-height:160%;
  font-weight:bold;
}
.tourism2017-contents-inner h2.number::before{
  content:"";
  background:#C01E5C;
  color:#FFF;
  font-size:16px !important;
  line-height:32px;
  width:32px; height:32px;
  border-radius:100%;
  display:inline-block;
  text-align:center;
  position:relative;
  top:-4px; left:-5px;
}
.tourism2017-contents-inner h2.number.no01::before{content:"１";}
.tourism2017-contents-inner h2.number.no02::before{content:"２";}
.tourism2017-contents-inner h2.number.no03::before{content:"３";}
.tourism2017-contents-inner h2.number.no04::before{content:"４";}
.tourism2017-contents-inner h2.number.no05::before{content:"５";}
.tourism2017-contents-inner h2.number.no06::before{content:"６";}
.tourism2017-contents-inner h2.number.no07::before{content:"７";}
.tourism2017-contents-inner h2.number.no08::before{content:"８";}
.tourism2017-contents-inner h2.number.no09::before{content:"９";}
.tourism2017-contents-inner h2.number.no10::before{content:"10";}
.tourism2017-contents-inner h2.number.no11::before{content:"11";}
.tourism2017-image{
  width:360px;
  float:right;
  text-align:right;
  margin:0 0 15px 25px;
}
.tourism2017-image span.credit{
  font-size:12px;
  line-height:18px;
  text-align:right;
}

.tourism2017-contents-inner ul.disc-list{
  margin-bottom:20px !important;
}
.tourism2017-contents-inner ul.disc-list li{
  font-size:16px !important;
  line-height:160% !important;
}
.tourism2017-contents-inner p.access,
.tourism2017-contents-inner p.link{
  font-size:16px;
  line-height:160%;
  position:relative;
  padding-left:100px;
  margin:10px 0 0 0 !important;
}
.tourism2017-contents-inner p.access span{
  font-size:12px;
  line-height:20px;
  background:rgba(190,35,93,0.8);
  color:#FFF;
  display:inline-block;
  padding:0 0;
  position:absolute;
  top:0; left:0;
  width:86px;
  text-align:center;
}
.tourism2017-contents-inner p.access span::after{
  content:"";
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  border-left:8px solid rgba(190,35,93,0.8);
  position:absolute;
  top:0; right:-8px;
}
.tourism2017-contents-inner p.link span{
  font-size:12px;
  line-height:20px;
  background:rgba(0,0,0,0.5);
  color:#FFF;
  display:inline-block;
  padding:0 0;
  position:absolute;
  top:0; left:0;
  width:86px;
  text-align:center;
}
.tourism2017-contents-inner p.link span::after{
  content:"";
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  border-left:8px solid rgba(0,0,0,0.5);
  position:absolute;
  top:0; right:-8px;
}
.tourism2017-contents-inner ul.past-article-list{
  margin-bottom:20px !important;
}
.tourism2017-contents-inner ul.past-article-list li{
  list-style:disc outside;
  margin:0 0 5px 20px;
  font-size:16px !important;
  line-height:160% !important;
}
.tourism2017-contents-inner ul.past-article-list li:first-child{
  list-style:none;
  margin:0 0 6px 0;
  font-size:12px !important;
  line-height:20px !important;
  background:rgba(0,0,0,0.5);
  background:#e2a2cb;
  color:#FFF;
  display:inline-block;
  padding:0 0;
  width:140px;
  height:20px;
  text-align:center;
  position:relative;
}
.tourism2017-contents-inner ul.past-article-list li:first-child::after{
  content:"";
  border-top:10px solid transparent;
  border-bottom:10px solid transparent;
  border-left:8px solid #e2a2cb;
  position:absolute;
  top:0; right:-8px;
}

.tourism2017-column{
  border-top:1px dashed #999;
  padding-top:25px;
  margin-top:25px;
  position:relative;
}
.tourism2017-column .column-tab{
  background:#F8BD2C;
  color:#FFF;
  font-size:13px;
  line-height:20px;
  font-weight:bold;
  padding:0 13px;
  display:inline-block;
  transform:rotate(-5deg);
  margin-bottom:5px;
}
.tourism2017-column h3{
  padding-left:30px !important;
  margin-bottom:5px !important;
}

@media all and (-ms-high-contrast:none){
  *::-ms-backdrop, .tourism2017-contents-inner h2.number::before{
    position:relative;
    line-height:38px;
  }
  *::-ms-backdrop, .tourism2017-contents-inner p.access span{
    line-height:24px;
    height:20px;
  }
  *::-ms-backdrop, .tourism2017-column .column-tab{
    line-height:24px;
    height:20px;
  }
}

.tourism2017-contents-inner h2.tourism2017-day-h2{
  margin:0 auto 10px auto !important;
  text-align:center;
  color:#BE235D !important;
  font-weight:bold !important;
}
.tourism2017-contents-inner h2.tourism2017-day-h2 span{
  font-size:100% !important;
  padding-right:0 !important;
  border-bottom:none !important;
  position:relative !important;
  bottom:0px !important;
  background:none !important;
  color:#BE235D !important;
}
.tourism2017-contents-inner h2.tourism2017-day-h2 span::after{display:none !important;}
.tourism2017-menu{
  font-size:0; line-height:0;
  text-align:center;
  margin:0 auto 50px auto;
}
.tourism2017-menu li{
  width:266px;
  height:45px;
  display:inline-block;
  vertical-align:top;
  margin:0 15px 0 0;
  font-size:15px;
  line-height:45px;
  font-weight:bold;
  border:2px solid #BE235D;
  border-radius:5px;
  position:relative;
  cursor:pointer;
  transition:0.5s;
}
.tourism2017-menu li:last-child{margin-right:0;}
.tourism2017-menu li.active{
  background:#BE235D;
  color:#FFF;
  transition:0.5s;
}
.tourism2017-menu li.active::after{
  content:"";
  border-top:10px solid #BE235D;
  border-left:10px solid transparent;
  border-right:10px solid transparent;
  position:absolute;
  bottom:-10px; left:50%;
  margin-left:-10px;
  transition:0.5s;
}
.tab-contents{display:none;}
.tab-contents.active{
  display:block;
  text-align:center;
}
.page-container section .tab-contents h2{
  display:inline-block;
  border-bottom:2px solid #BE235D !important;
  color:#BE235D;
  font-size:24px; line-height:42px; font-weight:bold;
  letter-spacing:1px;
  padding:0 1em;
  margin-bottom:15px;
}
.page-container section .tab-contents h2 span{
  font-size:100% !important;
  padding-right:0 !important;
  border-bottom:none !important;
  position:relative !important;
  bottom:0px !important;
  background:none !important;
  color:#BE235D !important;
}
.page-container section .tab-contents h2 span::after{display:none !important;}
.page-container section .tab-contents h2.area-title{
  display:inline-block;
  background:#BE235D;
  color:#FFF;
  font-size:16px;
  line-height:32px;
  letter-spacing:1px;
  padding:0 2em;
  margin-bottom:15px;
  border:none !important;
  position:relative;
  top:0px; left:-5px;
  transform:rotate(-3deg);
}
.page-container section .tab-contents h2.area-title::before{
  content:"";
  border-top:16px solid #BE235D;
  border-bottom:16px solid #BE235D;
  border-left:8px solid transparent;
  position:absolute;
  top:0; left:-7px;
}
.page-container section .tab-contents h2.area-title::after{
  content:"";
  border-top:16px solid #BE235D;
  border-bottom:16px solid #BE235D;
  border-right:8px solid transparent;
  position:absolute;
  top:0; right:-7px;
}
.page-container section .tab-contents p.description{
  font-size:16px;
  line-height:160%;
  margin-bottom:25px;
}
.page-container section .tab-contents .tourism2017-contents-inner.no-arrow{
  margin-bottom:20px;
}
.page-container section .tab-contents .tourism2017-image{
  margin-bottom:30px;
}
.page-container section .tab-contents p.link{
  margin-bottom:30px !important;
}
.page-container section .tab-contents .title-spa,
.page-container section .tab-contents .title-groumet,
.page-container section .tab-contents .title-travel{
  font-size:18px;
  line-height:24px;
  font-weight:bold;
  margin-bottom:8px;
}
.page-container section .tab-contents .title-spa{color:#5a3a3a;}
.page-container section .tab-contents .title-groumet{color:#a37721;}
.page-container section .tab-contents .title-travel{color:#496f41;}

.page-container section .tab-contents .title-spa::before,
.page-container section .tab-contents .title-groumet::before,
.page-container section .tab-contents .title-travel::before{
  content:"";
  width:26px; height:26px;
  background-size:18px auto;
  background-repeat:no-repeat;
  background-position:center center;
  border-radius:100%;
  display:inline-block;
  position:relative;
  top:5px;
  margin-right:8px;
}
.page-container section .tab-contents .title-spa::before{
  background-color:#5a3a3a;
  background-image:url(../../img/svg/spa_white.svg);
}
.page-container section .tab-contents .title-groumet::before{
  background-color:#a37721;
  background-image:url(../../img/svg/gourmet_white.svg);
}
.page-container section .tab-contents .title-travel::before{
  background-color:#496f41;
  background-image:url(../../img/svg/camera_white.svg);
}

.tourism-contents-box h2.tourism201703{
  font-weight:bold;
  text-align:center;
}
.tourism-contents-box h2.tourism201703 span{
  display:inline-block;
  border-bottom:2px solid #BE235D !important;
  color:#BE235D !important;
  font-size:24px;
  line-height:42px;
  letter-spacing:1px;
  padding:0 1em;
  margin:0 auto 10px auto !important;
  text-align:center;
  background:none !important;
  font-size:100% !important;
}
.tourism-contents-box h2.tourism201703 span::after{display:none !important;}

.family-box{
  margin:0 auto 25px auto;
}
.family-box h3{
  font-size:24px !important;
  line-height:140% !important;
  color:#444 !important;
  margin:0 0 10px 0 !important;
  padding-left:64px !important;
  position:relative !important;
}
.family-box h3 span{
  font-size:14px;
  line-height:160%;
  font-weight:500;
  color:#666;
  display:block;
}
.family-box h3::after{
  content:"";
  width:54px; height:54px;
  background-position:center center;
  background-repeat:no-repeat;
  background-size:40px auto;
  border-radius:5px;
  position:absolute;
  top:0; left:0;
}

.family-box.family01 h3{
  color:#4072ce !important;
}
.family-box.family01 h3::after{
  background-image:url(../../img/tourism/2017/03/family01.svg);
  background-color:#4072ce;
}
.family-box.family02 h3{
  color:#f17e3f !important;
}
.family-box.family02 h3::after{
  background-image:url(../../img/tourism/2017/03/family02.svg);
  background-color:#f17e3f;
}
.family-box.family03 h3{
  color:#72a150 !important;
}
.family-box.family03 h3::after{
  background-image:url(../../img/tourism/2017/03/family03.svg);
  background-color:#72a150;
}

.family-column-box{
  margin:15px 10px 10px 10px;
  border:2px dashed #5AAF5A;
  border-radius:5px;
  padding:30px 20px 0 20px;
  position:relative;
}
.family-column-box .onavi-logo{
  width:120px;
  float:right !important;
  margin:0 0 0 15px !important;
}
.family-column-box h4{
  font-size:16px;
  line-height:30px;
  color:#FFF;
  background:#5AAF5A;
  display:inline-block;
  height:30px;
  padding:0 2em;
  position:absolute;
  top:-10px; left:-15px;
  transform:rotate(-2deg);
}
.family-column-box p{
}

/* PickUp コース別体験レポート */
section.pickup-report-billboard{
  max-width:1000px;
  text-align:center;
}
h1.pickup-report-title{
  margin-bottom:30px;
}
section.pickup-report-billboard p{
  line-height:180%;
}

section.pickup-report-content{
  max-width:1000px;
}

.runner-profile-box{
  width:620px;
  margin:0 auto;
  display:flex;
  justify-content:center;
  border-top:1px dashed #999;
  border-bottom:1px dashed #999;
  padding:20px 0;
}
.runner-profile-box .thumbnail{
  flex-basis:200px;
  margin:0 10px;
}
.runner-profile-box .text-box{
  flex-basis:360px;
  margin:0 10px;
  text-align:left;
}

.pickup-report-box{
  margin:0 auto 100px auto;
  padding:35px 49px 5px 49px;
  border:1px solid #999;
  border-radius:5px;
  position:relative;
}
.pickup-report-box::before{
  content:"▼";
  font-size:18px; line-height:160%;
  transform:scale(2,1);
  position:absolute;
  bottom:-65px; left:50%;
  margin-left:-10px;
  color:#999;
}
.pickup-report-box.no-arrow{
  margin:0 auto;
}
.pickup-report-box.no-arrow::before{
  content:""; display:none;
}
.pickup-report-box p{
  line-height:200%;
  margin-bottom:30px !important;
}
.report-photo{
  width:80%;
  margin:0 auto 30px auto;
  font-size:15px; line-height:160%;
  text-align:center;
}
.report-photo img{margin-bottom:10px;}

/* メディカルランナー */
.medical-runner-box{
  border:1px solid #1AA4D7;
  margin:20px 0;
  padding:30px 40px;
}
.medical-patch{
  width:180px;
  float:right;
  margin:0 0 0 25px;
  font-size:13px;
  text-align:center;
}
.medical-runner-box .medical-patch{
  margin:-40px 0 0 0;
}
.medical-runner-box ol.decimal-list li:last-child{
  margin-bottom:0px;
}
p.medical-agree strong{
  font-size:17px;
  line-height:160%;
}

/* 希望メッセージ */
.message-image{
  width:320px;
  float:right;
  margin:0 0 40px 30px;
}
.message-text{
  width:500px;
  float:left;
}
ul.message-caution-list{margin-bottom:30px;}
ul.message-caution-list li{
//  font-size:14px;
//  line-height:160%;
  list-style:disc outside;
  margin:0 0 3px 20px;
}
ul.message-caution-list li strong{color:#DD0000;}

.button-message{
  text-align:center;
  margin:0 auto;
  width:600px;
}
.button-message a{
  display:block;
  position:relative;
  border:2px solid rgba(154,0,21,1);
  border:2px solid rgba(193,0,35,1);
  border-radius:5px;
  color:rgba(154,0,21,1);
  color:rgba(193,0,35,1);
  padding:26px 0;
  font-size:20px; line-height:140%; font-weight:600;
  transition:0.3s;
}
.button-message a::after{
  content:"＞";
  position:absolute;
  top:50%;
  right:15px;
  font-size:24px;
  line-height:24px;
  transform:scale(0.5,1);
  margin-top:-12px;
}
.button-message a span.small{
  display:block;
  font-size:15px; line-height:140%; font-weight:500;
}
.button-message a:hover{
  text-decoration:none;
  background:rgba(154,0,21,1);
  background:rgba(193,0,35,1);
  color:#FFF;
  transition:0.3s;
}

ul.message-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  margin:30px auto;
}
ul.message-list li{
  width:calc(49% - 52px);
  display:inline-block; vertical-align:top;
  font-size:15px; line-height:170%;
  border:1px solid #c8bb9b;
  border-radius:3px;
  margin:0 2% 30px 0;
  padding:20px 25px;
  background:rgba(0,0,0,0.02);
  background:rgba(200,187,155,0.05);
  position:relative;
}
ul.message-list li:nth-child(even){margin-right:0;}
ul.message-list li::after{
  content:"";
  width:24px; height:24px;
  background:url(../../img/svg/message-pin.svg) no-repeat center center;
  background-size:24px auto;
  position:absolute;
  top:-15px; left:50%;
  margin-left:-4px;
}
ul.message-list li p{margin:0 !important;}
ul.message-list li p.message-name{
  font-size:14px;
  margin-top:5px !important;
  text-align:right;
}
ul.message-list li p.message-name strong{
  font-size:15px;
}

/* 申し込みフォーム */
.page-container section table.application-table{
  width:100%;
  margin:0 auto;
  text-align:left;
  font-size:16px;
  line-height:160%;
  border-collapse:collapse;
}
.page-container section table.application-table .hissu{
  color:red;
  font-weight:normal;
}
.page-container section table.application-table caption{
  text-align:left;
  font-size:15px;
  font-weight:500;
  margin:0 0 10px 0;
}
.page-container section table.application-table tr{
  border-top:1px dashed #999;
}
.page-container section table.application-table th{
  padding:20px 20px 20px 0px;
  white-space:nowrap;
  vertical-align:top;
  line-height:34px;
  color:#666;
  text-align:left !important;
  border:none;
  background:#FFF;
}
.page-container section table.application-table td{
  padding:20px 0px 20px 20px;
  border:none;
}
.page-container section table.application-table td p.caution{
  font-size:14px; line-height:1.6;
  margin:0;
}
.page-container section table.application-table td .select-age{
  position:relative;
  width:100px;
  margin:0;
  background:#FCFCFC;
  display:inline-block;
  vertical-align:middle;
  border:1px solid #999;
  border-radius:3px;
  overflow:hidden;
}
.page-container section table.application-table td .select-age:before{
  content:"▼";
  font-size:10px;
  line-height:100%;
  color:#3B5998;
  display:inline-block;
  transform:translateY(-50%) scale(1.4,1);
  position:absolute;
  top:50%; right:12px;
  z-index:1;
  pointer-events:none;
}
.page-container section table.application-table td .select-age select{
  width:120%;
  height:36px;
  font-size:15px;
  text-indent:1em;
  border:none;
  outline:none;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
}
.page-container section table.application-table select option{
  background:#FCFCFC;
  text-indent:1em;
}
.page-container section table.application-table select::-ms-expand{
  display: none;
}
.page-container section table.application-table select:-moz-focusring{
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}

.page-container section table.application-table td .upload{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.page-container section table.application-table td .upload > p.caution{
  flex:1;
  text-align:left;
}
.page-container section table.application-table td .upload input[type="file"]{
  margin-right:10px;
}
.page-container section table.application-table td input[type="file"]{
  display:block;
  padding:15px 20px;
  border:1px solid #ccc;
  border-radius:3px;
  background:#FCFCFC;
}

.page-container section table.application-table td input.input-age{
  width:100px;
  margin:0 5px 0 0;
}
.page-container section table.application-table td input.input-birth{
  width:100px;
  margin:0 5px 0 15px;
}
.page-container section table.application-table td input.input-zip{
  width:140px;
  margin:0 0 10px 5px;
}
.page-container section table.application-table td input.input-address{
  width:100%;
}
.page-container section table.application-table td input.input-name,
.page-container section table.application-table td input.input-tel,
.page-container section table.application-table td input.input-email,
.page-container section table.application-table td input.input-job{
  width:100%;
  display:block;
}
.page-container section table.application-table td input.input-job{
  margin-top:5px;
}
.page-container section table.application-table td input.input-half{
  width:50%;
}

.page-container section table.application-table td label{
  display:inline-block;
  margin:0 1.5em 0 0;
  line-height:36px;
}
.page-container section table.application-table td label span{
  margin-left:0.5em;
}
.page-container section table.application-table td .theme-radio .wpcf7-list-item{
  display:block !important;
}
.page-container section table.application-table td .theme-radio label{
  margin:0 !important;
}
.page-container section table.application-table td input::-webkit-input-placeholder{
  font-size:12px;
  text-indent:0.5em;
}
.page-container section table.application-table td input:-moz-input-placeholder{
  font-size:12px;
  text-indent:0.5em;
}
.page-container section table.application-table td input:-ms-placeholder{
  font-size:12px;
  text-indent:0.5em;
}

.page-container section table.application-table td span.wpcf7-list-item{
  margin-left:0 !important;
}
.page-container section table.application-table td textarea{
}

.page-container section table.application-table td.center{
  padding:20px 0;
}
.page-container section table.application-table td .acceptance{
  display:block;
  text-align:center;
  margin:0 auto 30px auto;
}
.page-container section table.application-table td .privacy{
  box-sizing:border-box;
  border:1px solid #f0f0f0;
  width:100%; height:240px;
  padding:20px;
  margin:30px auto;
  background:#FCFCFC;
  overflow-y:scroll;
  font-size:15px; line-height:1.6;
  text-align:left;
}
.page-container section table.application-table td .privacy ul.disc-list{
  margin-bottom:0;
}
.page-container section table.application-table td .privacy p,
.page-container section table.application-table td .privacy ul.disc-list li{
  margin-bottom:5px;
}
.page-container section table.application-table td .privacy p strong,
.page-container section table.application-table td .privacy ul.disc-list li strong{
  color:#444;
}

.page-container section table.application-table td input[type='submit']{
  width:50%;
	margin:0 25%;
	padding:14px 0;
	font-size:16px;
	font-weight:bold;
  letter-spacing:1px;
	color:#c10023;
	background:#FFF;
  border:1px solid #c10023;
	text-align:center;
	display:block;
	cursor:pointer;
  transition:0.5s;
}
.page-container section table.application-table td input[type='submit']:hover{
  color:#FFF;
	background:#c10023;
  transition:0.5s;
}
.page-container section table.application-table td input[type='submit']:disabled{
  color:#FFF;
	background:#ccc;
  border-color:#CCC;
  cursor:not-allowed;
  transition:0.5s;
}

.page-container section table.application-table .wpcf7-not-valid-tip{
  font-size:13px !important;
  line-height:160%;
  font-weight:400 !important;
  display:block !important;
  width:100% !important;
  /*
  position:absolute;
  bottom:0; left:0;
  */
}
.page-container section table.application-table tr.tr-age .wpcf7-not-valid-tip,
.page-container section table.application-table tr.tr-career .wpcf7-not-valid-tip{
  position:absolute;
  top:0; left:140px;
}
.page-container section table.application-table tr.tr-birth .wpcf7-not-valid-tip{
  position:absolute;
  bottom:-27px; left:15px;
}
.page-container section table.application-table tr.tr-birth .select-age .wpcf7-not-valid-tip{
  left:0px;
}

.page-container section table.application-table .wpcf7-validation-errors{
  border:2px solid #CC0000 !important;
  width:800px;
  margin:0 auto !important;
  padding:2em 0 !important;
  margin-bottom:30px !important;
}

.page-container section.runbelieve-contribution table.application-table .select-wrapper{
  width:50%;
}
.page-container section.runbelieve-contribution table.application-table .select-wrapper::before{
  border-top-color:#36b1a7;
}

/* 交通規制 */
.traffic-image{
  width:320px;
  float:right;
  margin:0 0 50px 25px;
}
ul.traffic-map-list{
  width:100%;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  margin:0 auto 25px auto;
}
ul.traffic-map-list li{
  flex-basis:49%;
  font-size:14px; line-height:160%;
  text-align:center;
  margin-bottom:25px;
}

/* ランニングクリニック */
p.clinic-credit{
  font-size:15px; line-height:180%;
  margin-top:-20px;
  margin-bottom:40px !important;
}
table.clinic-table{
  margin:20px auto 30px auto !important;
}
table.clinic-table th,
table.clinic-table td{
  font-size:15px;
  line-height:160%;
//  border:none !important;
}
table.clinic-table th{width:100px;}
table.clinic-table td{padding:10px 20px !important;}

table.clinic-table dt{
  font-weight:bold;
}
table.clinic-table dd{margin:0 0 10px 0;}
table.clinic-table dd a{font-weight:bold;}
table.clinic-table dd div::before{
  content:"▲";
  font-size:11px;
  color:rgba(154,0,21,1);
  display:inline-block;
  transform:scale(0.6,1) rotate(90deg);
  margin-right:5px;
  position:relative;
  top:-1px;
}

section#clinic01{
  margin:0 auto !important;
}
.clinic-title{
  font-size:20px;
  line-height:150%;
  font-weight:bold;
  color:#FFF;
  margin:0;
  background:rgba(154,0,21,1);
  border-radius:5px 5px 0 0;
  padding:10px 30px;
  position:relative;
}
.clinic-title span{font-size:16px;}
.clinic-inner{
  margin:0 0 30px 0;
  padding:20px 29px 20px 29px;
  border:1px solid rgba(154,0,21,1);
  border-radius:0 0 5px 5px;
}
.clinic-inner h3{
  line-height:140% !important;
  margin-bottom:15px !important;
}
.clinic-inner h3 span.size85{font-weight:400 !important;}

ul.clinic-guest-photo-list{
  width:450px;
  float:right;
  text-align:right;
  font-size:0; line-height:0;
  margin-left:20px;
}
ul.clinic-guest-photo-list li{
  width:140px;
  font-size:13px;
  line-height:160%;
  text-align:center;
  display:inline-block;
  vertical-align:top;
  margin-left:10px;
}
ul.clinic-guest-photo-list li img{
  border-radius:5px;
  margin-bottom:5px;
}
ul.clinic-talkshow-list li{
  list-style:disc outside;
  font-size:16px; line-height:160%;
  margin:0 0 15px 20px;
}
ul.clinic-talkshow-list li:last-child{margin-bottom:0;}
ul.clinic-talkshow-list li strong{
  font-size:18px; line-height:160%;
  display:block;
}

ul.clinic-theme-list li{
  font-weight:bold;
  margin:0 0 10px 0;
}
ul.clinic-theme-list li span.theme::before{
  display:inline-block;
  width:20px;
  color:rgba(154,0,21,1);
}
ul.clinic-theme-list li:nth-child(1) span.theme::before{content:"❶";}
ul.clinic-theme-list li:nth-child(2) span.theme::before{content:"❷";}
ul.clinic-theme-list li:nth-child(3) span.theme::before{content:"❸";}
ul.clinic-theme-list li:nth-child(4) span.theme::before{content:"❹";}
ul.clinic-theme-list li:nth-child(5) span.theme::before{content:"❺";}
ul.clinic-theme-list li:nth-child(6) span.theme::before{content:"❻";}
ul.clinic-theme-list li:nth-child(7) span.theme::before{content:"❼";}

ul.clinic-theme-list li span.theme{
  font-size:18px;
  line-height:160%;
  display:block;
}
ul.clinic-theme-list li span.instructor{
  padding-left:21px;
}
ul.clinic-theme-list li span.instructor::before{
  content:"講師：";
}
ul.clinic-theme-list li span.small{
  font-size:14px;
  font-weight:400;
}

.clinic-button{
  width:70%;
  margin:0 auto;
  font-size:19px;
  line-height:160%;
  font-weight:600;
  text-align:center;
}
.clinic-button a{
  display:block;
  position:relative;
  border:2px solid rgba(154,0,21,1);
  border:2px solid rgba(193,0,35,1);
  border-radius:5px;
  color:rgba(154,0,21,1);
  color:rgba(193,0,35,1);
  padding:30px 0;
  font-size:20px; line-height:140%; font-weight:600;
  transition:0.3s;
}
.clinic-button a::after{
  content:"＞";
  position:absolute;
  top:50%;
  right:10px;
  font-size:24px;
  line-height:24px;
  transform:scale(0.5,1);
  margin-top:-12px;
}
.clinic-button a:hover{
  text-decoration:none;
  background:rgba(154,0,21,1);
  background:rgba(193,0,35,1);
  color:#FFF;
  transition:0.3s;
}

table.clinic-instructor-table{
  border-top:1px solid #CCC;
  margin:0 auto 30px auto !important;
}
table.clinic-instructor-table tr{
  border-bottom:1px solid #CCC;
  background:rgba(154,0,21,0.03);
}
table.clinic-instructor-table tr:nth-child(even){
  background:#FFF;
}
table.clinic-instructor-table th,
table.clinic-instructor-table td{
  border:none !important;
  text-align:left !important;
  vertical-align:top;
  padding:15px 20px !important;
}
table.clinic-instructor-table th{
  white-space:nowrap;
  background:none !important;
  font-size:18px;
  line-height:140%;
}
table.clinic-instructor-table th span.kana{
  display:block;
  font-size:13px;
  line-height:160%;
  font-weight:400;
  margin-bottom:5px;
}
table.clinic-instructor-table th span.profile{
  display:block;
  font-size:13px;
  line-height:140%;
  font-weight:400;
}

section div.cancel{
  border:4px solid #CC0000;
  font-size:24px; line-height:160%; font-weight:700;
  color:#CC0000; text-align:center;
  padding:20px 15px;
}

/* カレンダー */
section h3.calendar-h3{
  font-size:40px; line-height:1.7;
}
section h3.calendar-h3 span.year,
section h3.calendar-h3 span.eng{
  display:inline-block;
  font-size:21px; line-height:1.7;
  position:relative; top:-1px;
}
section h3.calendar-h3 span.eng::before{
  content:"／";
  display:inline-block;
  transform:scale(0.5,1);
}
.calendar-box{
  display:flex;
  justify-content:space-between;
  text-align:center;
}
.calendar-box .pc{
  width:820px;
  width:73%;
}
.calendar-box .sp{
  width:260px;
  width:23%;
}
.calendar-box .pc .thumbnail,
.calendar-box .sp .thumbnail{
  box-sizing:border-box;
  border:1px solid #CCC;
  margin:0 auto 15px auto;
}
.calendar-box ul.calendar-button{
  display:flex;
  justify-content:center;
}
.calendar-box ul.calendar-button li{
  margin:0 20px 0 0;
}
.calendar-box ul.calendar-button li:last-child{
  margin-right:0;
}
.calendar-box ul.calendar-button li a{
  display:block;
  text-decoration:none;
  font-size:14px; line-height:30px; font-weight:bold;
  border:1px solid #127eb5;
  padding:0 20px;
  border-radius:15px;
  transition:0.3s;
}
.calendar-box ul.calendar-button li a:hover{
  color:#FFF;
  background:#127eb5;
  transition:0.3s;
}

/* RUN BELIEVE */
.flex > .run-believe-billboard{
  width:52%;
}
.flex > .run-believe-billboard #run-believe-logo{
  width:240px;
}
.flex > .project-banner{
  margin-top:25px;
  box-sizing:border-box;
  width:48%;
  padding:0;
  background:#36b1a7;
  position:relative;
}
.project-banner-inner{
  width:100%;
  position:absolute;
  top:50%; left:0;
  transform:translateY(-50%);
}
.project-banner .logo{
  width:76%;
  margin:0 auto 20px auto;
}
.project-banner h2{
  font-size:36px; line-height:1.3;
  color:#FFF;
  margin:0 auto 20px auto;
}
.project-banner p a{
  color:#FFF;
}
.project-banner .button{
  width:80%;
  margin:0 auto;
  text-align:center;
}
.project-banner .button a{
  text-decoration:none;
  display:block;
  background:#FFF;
  font-size:22px; line-height:2.8; font-weight:bold;
  color:#36b1a7;
  position:relative;
  transition:0.3s;
}
.project-banner .button a:hover{
  background:#36b1a7;
  background:#FFF000;
  transition:0.3s;
}
.project-banner .button a::after{
  content:"";
  border-left:10px solid #36b1a7;
  border-top:8px solid transparent;
  border-bottom:8px solid transparent;
  position:absolute;
  top:50%; right:15px;
  transform:translateY(-50%);
  transition:0.3s;
}

.run-believe-billboard{
  position:relative;
}
.run-believe-billboard > ul{
  display:flex;
  flex-wrap:wrap;
  margin-top:25px;
}
.run-believe-billboard > ul > li{
  width:50%;
}
.run-believe-billboard #run-believe-logo{
  width:420px;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
}

.run-believe-project{
  box-sizing:border-box;
  width:100%;
  padding:0;
  margin:0 auto 80px auto;
}
.run-believe-project > .project-title{
  box-sizing:border-box;
  width:100%;
  margin:0 auto 20px auto;
  padding:40px 0;
  background:#36b1a7;
  position:relative;
}
.project-title h1{
  width:400px;
  margin:0 auto;
}
.project-title h2{
  font-size:40px; line-height:1.3;
  color:#FFF;
  margin:20px auto 0 auto;
}
.run-believe-project p{
  font-weight:bold;
}

section.run-believe-movie{
  margin:50px auto;
}
section.run-believe-movie a{
  display:block;
  position:relative;
}
section.run-believe-movie a::before{
  content:"";
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%, -50%);
  display:block;
  z-index:10;
  width:80px; height:80px;
  background-image:url(../../special/history/img/playbutton_off.png);
  background-repeat:no-repeat;
  background-position:center center;
  background-size:contain;
}
section.run-believe-movie a:hover::before{
  background-image:url(../../special/history/img/playbutton_on.png);
}

.run-believe-title{
  text-align:center;
}
.run-believe-title h1{
  margin:0 auto 40px auto;
}
.page-container section .run-believe-title h2{
  font-size:28px; line-height:1.6; font-weight:bold;
  letter-spacing:2px;
  margin-bottom:30px;
  padding:0;
  border:none;
}
.run-believe-title .t-shirts-box{
  border:1px solid #CCC;
  margin:50px auto 0 auto;
  padding:60px 120px;
}

.run-believe-video{
  width:80%;
  margin:0 auto;
}
.run-believe-video video{
  outline:none;
  border:1px solid #ccc;
}

.run-believe-button,
.run-believe-button02{
  width:80%;
  margin:0 auto;
}
.run-believe-button span{
  display:block;
  text-decoration:none;
  background:#36b1a7;
  font-size:24px; line-height:1; font-weight:bold;
  color:#FFF;
  text-align:center;
  padding:36px 0;
  position:relative;
}
.run-believe-button span img{
  width:280px; height:84px;
  margin:0 auto 20px auto;
}
.run-believe-button ul.entry-button{
  width:90%;
  display:flex;
  justify-content:center;
  margin:20px auto 0 auto;
}
.run-believe-button ul.entry-button li:first-child{
  margin-right:25px;
}
.run-believe-button ul.entry-button li a{
  display:block;
  text-decoration:none;
  font-size:22px; line-height:1.2;
  color:#36b1a7;
  background:#FFF;
  padding:25px 45px;
  position:relative;
  transition:0.3s;
}
.run-believe-button ul.entry-button li a:hover{
  background:#36b1a7;
  background:#FFF000;
  transition:0.3s;
}
.run-believe-button ul.entry-button li a::after{
  content:"";
  border-left:10px solid #36b1a7;
  border-top:8px solid transparent;
  border-bottom:8px solid transparent;
  position:absolute;
  top:50%; right:15px;
  transform:translateY(-50%);
  transition:0.3s;
}

.run-believe-button02 a{
  display:block;
  text-decoration:none;
  background:#36b1a7;
  font-size:24px; line-height:1; font-weight:bold;
  color:#FFF;
  text-align:center;
  padding:36px 0;
  position:relative;
}
.run-believe-button02 a::after{
  content:"";
  border-left:18px solid #FFF;
  border-top:15px solid transparent;
  border-bottom:15px solid transparent;
  position:absolute;
  top:50%; left:calc(5% - 18px);
  transform:translateY(-50%);
  transition:0.3s;
}
.run-believe-button02 a:hover::after{
  left:95%;
  border-left-color:#FFFF00;
  transition:0.3s;
}

.run-believe-song{
  display:flex;
  align-items:center;
}
.run-believe-song .thumbnail{
  width:600px;
  margin-right:25px;
}
.run-believe-song .text-box{
  flex:1;
}
.run-believe-song .text-box img{
  width:320px;
}

#splash{
  width:100%; height:100%;
  background:rgba(0,0,0,0.95);
  position:fixed;
  top:0; left:0; z-index:10000;
}
#splash .splash-video{
  width:60%;
  max-width:840px;
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%,-50%);
  outline:none;
}
#splash .splash-video video{
  outline:none;
}
#splash #move-toppage{
  position:absolute;
  top:50px; right:50px; z-index:2;
  width:80px; height:80px;
  display:block;
  cursor:pointer;
}
#splash #move-toppage::before,
#splash #move-toppage::after{
  content:"";
  width:64px;
  border-top:1px solid #FFF;
  position:absolute;
  top:50%; left:50%;
}
#splash #move-toppage::before{
  transform:translate(-50%,-50%) rotate(45deg);
}
#splash #move-toppage::after{
  transform:translate(-50%,-50%) rotate(-45deg);
}

section.runbelieve-contribution{
  width:860px;
}
section.runbelieve-contribution .run-believe-title{
  margin-bottom:80px;
}

.project-type-box{
  box-sizing:border-box;
  border:1px solid #36b1a7;
  border-radius:5px;
  overflow:hidden;
  padding:30px 40px;
  margin:0 auto 40px auto;
  display:flex;
  justify-content:space-between;
}
.project-type-box h3{
  width:140px;
  margin-right:40px;
}
.project-type-box h3 span{
  font-size:18px; line-height:1.8;
  display:block;
  border-bottom:3px solid #36b1a7;
}
.project-type-box .project-inner{
  flex:1;
}

.project-movie-box{
  width:640px;
  margin:0 auto 40px auto;
}
.project-movie-box h4{
  margin-bottom:5px;
}
.project-movie-box a{
  display:block;
  position:relative;
}
.project-movie-box a::before{
  content:"";
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%, -50%);
  display:block;
  z-index:10;
  width:64px; height:64px;
  background:url(../../special/history/img/playbutton_off.png) no-repeat center center;
  background-size:contain;
}
.project-movie-box a:hover::before{
  background:url(../../special/history/img/playbutton_on.png) no-repeat center center;
}

ul.song-data-list{
  display:flex;
  justify-content:space-between;
}
ul.song-data-list li{
  width:47%;
  margin-bottom:40px;
}
ul.song-data-list li h4{
  margin-bottom:5px;
}
ul.song-data-list li.song-data a img{
  margin-bottom:5px;
}
ul.song-data-list li.song-data a .text{
  font-weight:bold;
  padding-left:42px;
  position:relative;
}
ul.song-data-list li.song-data a .text::after{
  content:"";
  background:url(../../img/svg/icon_download.svg) no-repeat center center;
  background-size:contain;
  width:28px; height:28px;
  margin:5px auto;
  position:absolute;
  top:4px; left:0;
}

ul.song-data-list li.song-movie a{
  display:block;
  position:relative;
}
ul.song-data-list li.song-movie a::before{
  content:"";
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%, -50%);
  display:block;
  z-index:10;
  width:48px; height:48px;
  background:url(../../special/history/img/playbutton_off.png) no-repeat center center;
  background-size:contain;
}
ul.song-data-list li.song-movie a:hover::before{
  background:url(../../special/history/img/playbutton_on.png) no-repeat center center;
  background-size:contain;
}

#fancybox-overlay{
  background-color:rgba(0,0,0,0.95) !important;
  opacity:1 !important;
}

ul.runbelieve-photo{
  display:flex;
  flex-wrap:wrap;
}
ul.runbelieve-photo li{
  box-sizing:border-box;
  width:16.666%;
  border:2px solid #FFF;
}

ul.runbelieve-movie{
  font-size:0; line-height:0;
  text-align:center;
  display:flex;
  flex-wrap:wrap;
}
ul.runbelieve-movie li{
  width:32%;
  margin:0 2% 40px 0;
  font-size:16px; line-height:160%;
  text-align:center;
}
ul.runbelieve-movie li:nth-child(3n){
  margin-right:0;
}
ul.runbelieve-movie li a{
  display:block;
  position:relative;
}
ul.runbelieve-movie li a .thumbnail{
}
ul.runbelieve-movie li a .thumbnail::before{
  content:"";
  position:absolute;
  top:50%; left:50%;
  transform:translate(-50%, -50%);
  display:block;
  z-index:10;
  width:54px; height:54px;
  background:url(../../special/history/img/playbutton_off.png) no-repeat center center;
  background-size:54px auto;
}
ul.runbelieve-movie li a:hover .thumbnail::before{
  background:url(../../special/history/img/playbutton_on.png) no-repeat center center;
  background-size:54px auto;
}
