@charset 'UTF-8';
/*
Theme Name: TSM2025
Description: 当別スウェーデンマラソン
*/

/*
GENERAL STYLING
================================================ */
body {
	color: var(--grey);
    font-family: 'Noto Sans JP', sans-serif;
    background: var(--pale-yellow);
}

/*
COMMON
================================================ */
.bebas-neue-regular {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.bebas-neue-regular {
  font-family: "Bebas Neue", sans-serif;
  font-weight: 400;
  font-style: normal;
}


p {
    line-height: 1.7;
}
img,
iframe {
    max-width: 100%;
}
.bebas {
    font-family: 'Bebas Neue' !important;
}
.workSan {
    font-family: 'Work Sans' !important;
}
h1, h2, h3, h4, h5, li, p {
    font-family: 'Noto Sans JP', sans-serif !important;
    text-align: center;
}

.wrap{max-width: 600px;}
@media screen and (min-width: 769px){
.wrap{
    max-width: 1260px;
    width: 100%;
    margin: auto;
}}

.br_sp{
    display: none;
}

nav a:hover,
footer a:hover{
    text-decoration: underline #fff;
}

.gray_text{
    opacity: 0.4 !important;
    pointer-events: none !important;
}

.environment_text{
    pointer-events: none;
}

.responsive {
width: 100%;
aspect-ratio: 16/9;
}




/*
LAYOUT
================================================ */
.wrapper {
    width: 100%;
    margin: 0 auto;
    position: relative;
}


/*
固定ナビゲーション
================================================ */
.primary-navigation{
    
}

.menu-wrapper{
    display: block;
    position: fixed;
    top: 6vh;
    right: 0;
    padding-right: 30px;
    padding-left: 18px;
    padding-top: 22px;
    padding-bottom: 10px;
    background: rgba(39, 128, 255, .9);
    z-index: 999;
}

.menu-wrapper-item{
    margin-left: 20px;

}

.menu-wrapper li{
    ont-weight: bold;
    writing-mode: vertical-rl;
    text-orientation: sideways;
    padding-bottom: 20px;
    color: #fff;
}

.menu-wrapper-item a{
    color: #fff;
    text-decoration: none;
    font-weight: bold;
}

.p-head{
    display: none;
}

.top_button {
    position: fixed;
    top: 33px;
    left: 40px;
    z-index: 99999;
    letter-spacing: 0.05em;
    font-weight: 600;
    display: inline-block;
    border: solid 2px #2780FF;
    padding: 10px 30px;
    background-color: #FFF300;
    color: #2780FF;
    text-align: center;
    border-radius: 50px;
    font-size: 16px;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.top_button:hover {
    background-color: #2780FF; /* ホバー時に背景色を変える */
    border: solid 2px #FFF300;
    color: #FFF300;
    text-decoration: none;
}

.top_button a:hover {
    color: #fff;
    text-decoration: none;
}

/*
HEADER
================================================ */
.site-header {
    position: relative;
}

.overlay {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  
}


/* overlay */

.overlay::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0,0,0,0.3);
  background-image: radial-gradient(#111 30%, transparent 31%), radial-gradient(#111 30%, transparent 31%);
  background-size: 2px 2px;
  background-position: 0 8px, 8px 0;
}


/* video */

.video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  
}

.mv_top{
    
}

.mv_top img{
    position:absolute;
    z-index: 20;
    top: 40%;
    left: 50%;
    width: 45%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.mv_top_second{
    position:absolute;
    z-index: 20;
    top: 59%;
  left: 50%; /* 画面の幅の50%に要素を配置 */
  transform: translateX(-50%); /* 要素自体の幅の50%を左にずらして中央に */
    text-align: center;
    
    width: 100%;
}

.mv_top_second img{
    width: 25%;
}

.mv_top_second p{
    line-height: 1.7em;
    color: #fff;
    font-size: calc(0.45vw + 1rem);
    font-weight: bold;
}

.mv_top_second p span{
    color: #FFF300;
    font-size: calc(1.5vw + 1rem);
}

.mv_bottom span{
    
}

.note {
    font-size: 12px;
    font-weight: 100;
    position: absolute;
    left: 0;
    bottom: 0;
    transform: translate(5.333vw, -20px);
    z-index: 100;
    color: #fff;
}


/* count */

.count{
    color: #fff;
    position:absolute;
    z-index: 20;
    top: 80%;
    left: 50%;
    width: 80%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: center;
    align-items: center;
    
}

.tate{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    letter-spacing: 0.2em;
}

.timer{
    display: flex;
}

.timer_in{
    margin-right: 20px;
    margin-left: 20px;
    text-align: center;
    font-weight: 100;
}

#hour,
#day,
#minute,
#second{
    display: block;
    font-size: min(12vw, 60px);
    height:64%;
}

.left_border{
    border-right: 1px solid #fff;
}




/*
main
================================================ */

.title{
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

span {
    letter-spacing: .1em;
}

h2{
    margin-bottom: min(8vw,40px);
    text-align: center;
}

h2.h2_Bsmall span {
    line-height: 1.3;
    font-size: 55px;
}

h2.h2_Bsmall .small {
    font-size: min(3.2vw, 14px);
}

/* news */

.news_in{
    padding:40px ;
    background-color: #fff;
}

.post-list{
    background-color: #FFF300;
}

.title{
    
    padding-top: 80px !important;
    padding-bottom: 80px !important;
    margin: auto;
    padding: 0 30px;
}

.post-item{
    
    padding:0 ;
}

.post-title{
    display: flex;
    align-items: baseline;
    margin-top: -1px;
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    padding: 10px !important;
}

.post-date{
    margin-right: 15px;
    width: auto;
    font-size: min(4.267vw, 18px);
    color: #2780FF;
    font-weight: bold;
}

.let_news{
    text-align: center;
    padding-top: 20px;
}


/* entry */

.entry{
    background: #F4F6F8;
}

.entry_in{
    text-align: center;
    color: #fff;
    background-color: #2780FF;
    margin-left: 30px;
    margin-right: 30px;
    padding: 40px;
    position: relative;
}

.entry_cover{
    position: absolute;
    top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
    background:rgba(0, 0,0, .6);
    display: flex;
  align-items: center;
    justify-content: center;
}

.entry_cover p{
    text-align: center;
    font-size: 120%;
    font-weight: bold;
    color: #FFF300;
}

.big_write{
    font-size: min(3.733vw, 18px);
    font-weight: bold;
}

.warning_write
.font_bold{
    font-size: min(3.2vw, 14px);
}

.warning_write{
    margin-bottom: 20px;
}

.runnet_buttom{
    width: 100%;
    max-width: 230px;
    display: inline-block;
    padding: 10px 40px;
    border-radius: 100px;
    background-color: #fff;
    margin-bottom: 10px;
}


/* tournament */

.tournament{
    
}

.tournament_in{
    display: flex;
    flex-wrap: wrap;
    max-width: 640px;
    margin: auto;
    justify-content: space-between;
}

.info_card {
    width: calc(100% / 3 - 20px);
    text-align: center;
}

.info_card img {
    max-width: 150px;
    padding: 0 10px;
}

img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
    box-sizing: border-box;
}

.info_card p {
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    color: #2780FF;
}



/* tournament */

.sponsor{
    background: #F4F6F8;
}

.sponsor h3{
    color: #2780FF;
    font-size: min(8vw, 55px);
    text-align: center;
    margin-bottom: 40px;
}

.info_card{
    padding: 20px 0;
}

.sponsor img{
    width: 70%;
    max-width: 320px;
    display: block;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 80px;
}

.sponsor_in{
    background: #fff;
    padding-top: 80px;
    padding-bottom: 80px;
}

.tournament_gr{
    color: #000 !important;
}




/* sustainability */
.sustainability{
    background-image:url(images/sustainability.jpg);
    background-repeat: no-repeat;
    background-size:cover;
}

.sustainability_in div{
    background-color: #fff;
    opacity: 0.85;
    text-align: center;
    margin: 40px 0;
    border-radius: 10px;
    padding: 20px 0;
}

.sustainability_in .not_click{
    pointer-events: none;
}

.sustainability_in .not_click:hover{
    opacity: 0.85;
}


.sustainability h2{
    color:#fff;
}

.sustainability_in h3{
    font-size: 150%;
    color:#fff;
}

.sustainability_title{
    color: rgb(39, 128, 255);
    font-weight: bold;
    padding-bottom: 10px;
    font-size: 110%;
}

a.btn_01 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 300px;
	margin: 10px auto;
	padding: 0.5rem 4rem;
	font-weight: bold;
	border: 2px solid #2780FF;
	color: #2780FF;
	transition: 0.5s;
}
a.btn_01:hover {
	color: #fff;
	background: #2780FF;
}

a.click_gray{
    display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 300px;
	margin: 10px auto;
	padding: 0.5rem 4rem;
	font-weight: bold;
	color: #fff;
    background-color:#2B2B2B ;
    pointer-events: none;
}

@media (max-width: 760px) {
    .sustainability_in{
        font-size: 80%;
    }
    a.btn_01 {
	width: 240px;
}
a.click_gray{
	width: 240px;
}
}

.single_in .wrapper_sns{
    padding: 0 !important;
}

.sponsor_flex{
    display: flex;
    flex-wrap: wrap;
    max-width: 1000px;
    margin: auto;
    justify-content: center;
}


.sponsor .sponsor_flex img{
    width: 100%;
    max-width: 400px;
    display: block;
    text-align: center;
    margin-left: 10px;
    margin-right: 10px;
    margin-bottom: 20px;
}

.supporter{
    margin: auto;
}

.sponsor_in h3:first-child{
    margin-top: 0;
}

.sponsor_in h3{
    margin-top: 100px;
}


/* contact */

.contact{
    text-align: center;
    margin: auto;
    padding: 0 30px;
    padding-top: 80px;
    padding-bottom: 80px;
}

.contact p{
    padding-top: 20px;
}

.contact h4{
    font-weight: bold;
}

.office_name, .phone, .open_time {
    font-weight: bold;
}

.phone{
    color: #2780FF;
    font-size: min(5.867vw, 27px) !important;
}

.sns {
    display: flex;
    padding: 40px 0px;
    justify-content: space-between;
    align-items: center;

}

.snsTatta{
    text-align: center;
}

.sns div{
    padding: 0px;
}

.sns01{
    width: 55px;
}
.sns02{
    width: 75px;
}

.sns03{
    width: 25%;
}
.sns04{
    width: 200%;
}



/*
single
================================================ */

.single_in{
    max-width: 1440px;
    padding-left: 120px;
    padding-right: 120px;
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}

.single_top{
    text-align: center;
}

.back_white{
    background: #fff !important;
}

.h1_TBborder{
    color: #2780FF;
    font-size: min(4.8vw, 27px);
    text-align: center;
    margin-bottom: min(8vw, 60px);
   font-weight: bold;
}

.h1_TBborder:before, .h1_TBborder:after {
    content: "";
    width: 100%;
    height: 2px;
    display: block;
    background-color: #2780FF;
    margin: 10px 0;
}

.icon_lowerTop img {
    width: 100%;
    max-width: 90px;
}

.news_in_single{

}

.news_in_single .post-date{
    font-size: min(4.8vw, 27px);
    margin-right: 1em
}

.news_in_single .post-title a{
    font-size: min(4.267vw, 18px);
}

.post-title{
    align-items: center;
    padding-top:20px !important;
    padding-bottom:20px !important;
}

.post-content{
    padding: 30px 0;
}

.pagenation {
    width: 100%;
    display: flex;
    align-items: center;
    position: relative;
    justify-content: center;
    margin-top: 70px;
    margin-bottom: 80px;
    letter-spacing: .1em;
    padding: 0 80px;
}

.pagenation .all_news a {
    font-size: 14px;
    font-size: min(3.733vw, 16px);
    font-weight: normal;
    padding: 10px 40px;
    color: #000;
    border: 1px solid #000;
    background-color: #fff;
    
}

.page_back,
.page_next{
    color: #A6A7A7;
    display: inline-block;
    line-height: 1;
    position: absolute;
}

.page_back{
    left: 0; 
}

.page_next{
    right: 0; 
}




/*
footer
================================================ */

footer li{
    list-style-type: disc;
    
    
}

footer{
    color: #fff;
    background: #000;
    padding:80px 0 30px;
}

.footer_top{
    display: flex;
    margin-bottom: 30px;
    justify-content: center;
}

.left_content{
    width: 20%;
}

footer .right_content {
    max-width: inherit;
    display: flex;
}

.footer_menu{
    margin-right: 20px;
}

footer .right_content ul{
    display: block;
}

footer .right_content h4{
    text-align: left ;
    font-weight: bold;
    padding-bottom: 4px;
}

footer .right_content li{
    font-size: min(1.45vw, 12px);
    text-align: left ;
    padding-top: 2px;
    padding-bottom: 2px;
    margin-left: 1em;
}

footer .right_content{
    font-size: min(1.45vw, 14px);
}

.committee{
    text-align: center;
    margin:10px 60px;
    font-size: 10px;
}

.committee_name{
    border-top: 1px #fff solid;
}


.copyright{
    font-size: min(1.3vw, 12px);
    color: #B4B4B4;
}


/*
recruit
================================================ */

.marM_B {margin-bottom: 40px !important; }

.h2_bgBlueGray {
    width: 100%;
    font-size: min(4.8vw,20px);
    display: block;
    position: relative;
    text-align: left;
    padding: 10px;
    padding-left: 1.2em;
    color: #fff;
    background-color: #ADADAD;
    z-index: -1;
    font-weight: bold;
    margin-bottom: 20px;
}

.h2_bgBlueGray:before {
    content: "";
    width: .7em;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: #2780FF;
    z-index: -1;
}

.recruit_in p{
    text-align: left;
}

.small, .note {font-size: 14px;}

.tablePrice{
    width: 100%;
}

.tableDate{
    width: 100%;
}

.tablePrice .blueTr {
    color: #fff;
}

.tablePrice .blueTr th {
    border-left: 1px solid #fff;
    background-color: #2780FF;
}

.tablePrice .blueTr th:nth-of-type(2) {
    width: 18.7%;
}

.tablePrice .blueTr th {
    border-bottom: 1px solid #fff;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
    background-color: #2780FF;
}

.tablePrice th, .tablePrice td {
    font-size: min(3.3vw,16px);
    font-weight: bold;
    border-left: 1px solid #2780FF;
    border-right: 1px solid #2780FF;
    border-bottom: 1px solid #2780FF;
}
.tablePrice th {
    background-color: #FFF300;
}
.tableDate th {
    color: #2780FF;
}
table th {
    text-align: center;
}

table th, table td {
    line-height: 1.5;
    vertical-align: middle;
    padding: 10px 20px;
}

.table-scroll {
  overflow: scroll;
}


.top_white{
    border-top:solid 1px #fff;
    width: 50%;
}

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

.recruit_in p{
    padding-bottom:20px;
}

.tableDate {
    border-top: 1px solid #2780FF;
    border-bottom: 1px solid #2780FF;
}

.tableDate tr:first-of-type {
    background-image: inherit;
}

.tableDate th {
        width: 20%;
}

.tateBorder {
    content: "";
    width: 2px;
    height: .8em;
    display: inline-block;
    background-color: #2780FF;
}

.tableDate td.Barrow {
    width: 0 !important;
    padding: 0 !important;
    position: relative;
}

.tableDate td.Barrow span {
    height: 90%;
    position: absolute;
    top: 5%;
    left: 0;
    padding: 1px !important;
    background-color: #2780FF;
}

.tableDate td.Barrow span {
        left: 0;
}

.tableDate td.Barrow span:after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    left: -.345em;
    bottom: -5px;
    border-left: .4em solid transparent;
    border-right: .4em solid transparent;
    border-top: .6em solid #2780FF;
}

.tableDate td {
    padding-left: 40px;
}

.tableDate td {
    width: 80%;
}

.tableDate tr {
    background-image: linear-gradient(to right, #707070, #707070 2px, transparent 2px, transparent 8px);
    background-size: 8px 2px;
    background-position: left top;
    background-repeat: repeat-x;
}

.blueNote {
    color: #fff;
    background-color: #2780FF;
    padding: min(1.333vw, 10px);
    border-radius: 5vw;
}

.guest_wrap{
    display: flex;
    align-items: flex-end;
    margin-bottom: 100px;
}

.gest_in p,
.gest_in h2{
    text-align: left;
}

.gest_in h2{
     font-weight: bold;
    font-size: 120%
}

.gest_in .right_cont{
    width: 100%;
    padding-left: 60px;
}

.guest_under{
    padding-bottom: 20px;
}

.guest_AC{
    margin-bottom: 10px;
    margin-top: 10px;
}


/*FAQ*/
.qa-list{
text-align:left;
}

.qa-list dl {
position: relative;
margin: 0;
padding: 28px 80px 28px 30px;
cursor: pointer;
border-bottom: 1px solid #000;
}

.qa-list dl:first-child {
border-top: 1px solid #000;
}

.qa-list dl:last-child {
margin-bottom: 30px;
}

.qa-list p{
    text-align: left;
}

.qa-list dl::before {
position: absolute;
top: 35px;
right: 35px;
display: block;
width: 7px;
height: 7px;
margin: auto;
content: '';
transform: rotate(135deg);
border-top: 2px solid #2780FF;
border-right: 2px solid #2780FF;
}
.qa-list .open::before {
transform: rotate(-45deg);
}
.qa-list dl dt {
position: relative;
margin: 0;
padding: 0 0 0 50px;
font-weight: bold;
font-size: 20px;
}
.qa-list dl dt::before {
font-size: 22px;
line-height: 1;
position: absolute;
top: 3px;
left: 0;
display: block;
content: 'Q.';
}
.qa-list dl dd::before {
font-size: 22px;
line-height: 1;
position: absolute;
top: 3px;
left: 2px;
display: block;
content: 'A.';
font-weight: bold;
}
.qa-list dl dd {
position: relative;
display: none;
height: auto;
margin: 20px 0 0;
padding: 0 0 0 50px;
}
.qa-list dl dd p {
margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
margin-top: 0;
}

.qa-list normalbutton a{
text-decoration: none;
}

@media screen and (max-width: 767px) {
.qa-list dl {
position: relative;
padding: 15px 40px 15px 10px;
}
.qa-list dl::before {
top: 20px;
right: 20px;
width: 7px;
height: 7px;
}
.qa-list dl dt {
padding: 0 0 0 30px;
font-size: 14px;
}
.qa-list dl dt::before {
font-size: 14px;
top: 3px;
left: 5px;
content: 'Q.';
}
.qa-list dl dd::before {
font-size: 14px;
top: 5px;
left: 5px;
content: 'A.';
}
.qa-list dl dd {
margin: 10px 0 0;
padding: 0 0 0 30px;
font-size: 14px;
}
.qa-list dl dd p {
margin: 30px 0 0;
}
.qa-list dl dd p:first-child{
margin-top: 0;
}
}

.icon_lowerTop_mcc{
    margin-bottom: 50px;
}


.icon_lowerTop_mcc img{
    width: 100%;
    max-width: 300px;
}

.mcc_in p{
    text-align: left;
    padding-bottom: 20px;
}

.mcc_in p span{
    color: #2780FF;
    text-decoration: underline;
}

.wrapper_sns{
    padding-left: 120px;
    padding-right: 120px;
    max-width: 1100px;
    margin: auto;
}

.br_tab{
    display: none;
}

/*
environment
================================================ */
.sustainability_wrap{
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.sustainability_wrapper{
    max-width: 1440px;
    padding-left: 0px;
    padding-right: 0px;
    padding-top: 0px !important;
    padding-bottom: 80px !important;
}


.sustainability_top{
    padding-bottom: 50px;
    background-image:url(images/sustainability_in.jpg);
    background-repeat: no-repeat;
    background-size:cover;
    text-align: center;
    color: #fff;
    padding-top: 70px;
}

.sustainability_top h1{
    font-size: 220%;
    font-weight: bold;
    margin-bottom: 20px;
}

.sustainability_top p{
    font-weight: bold;
}

.environment_item{
    text-align: left;
    margin: 120px 0;
}

.environment_item h2{
    color: #2780FF;
    text-align: left;
    margin-bottom: 0;
    font-size: 120%;
    line-height: 1.4em;
}

.environment_item p{
    text-align: left;
    padding: 5px 0;
}

.environment_item h2 span{
    font-size: 80%;
    color: #000;
    background-color: #FFF300;
    padding: 0 4px;
}
.illust{
    margin-right:60px;
    margin-left:60px;
    margin-bottom: 0;
    margin-top: 50px;
}

.illust_second{
    margin-right:60px;
    margin-left:60px;
    margin-bottom: 0;
    margin-top: 10px;
}

@media screen and (max-width: 767px) {
.sustainability_wrapper {
font-size: 90%;
}
.environment_item {
    margin: 70px 0;
}
.sustainability_wrap{
    padding-left: 10px;
    padding-right: 10px;
}
.illust,.illust_second{
    margin-right:40px;
    margin-left:40px;

}

}


/*
access
================================================ */
.crbl{
    color: #2780FF;
}
.crrd{
    color: #EF0505;
}
.ftbd{
    font-weight: bold;
}
.ftlf{
    text-align: left;
}
.access_map{
    width: 100%;
}

.access_map{
    position: relative;
	width: 100%;
	padding-top: 75%; /* = height ÷ width × 100 */
}

.access_map iframe{
   position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.access_in{
    text-align: left;
}
.access_item h2,
.access_item p{
    text-align: left;
}

.access_in h2{
    font-size: 110%;
    margin-bottom: 20px;
}
.access_item{
    margin: 40px 0;
}
.access_item h2{
    font-size: 110%;
    margin-bottom: 20px;
    text-align: left;
}
.access_item div{
    margin: 10px 0;
}

.pc_vis{
        display: block;
    }
@media screen and (max-width: 767px) {
.access_item h2{
    margin-bottom: 10px;
}
    
    .pc_vis{
        display: none;
    }
}

/*
grume
================================================ */
.grume_in .first_cont{
    text-align: left;
}

.grume_content{
    border-top: 1px solid #000;
}

.grume_shop{
    max-width: 275px;
    margin: auto;
    text-align: center;
}

.grume_shop img{
    max-height: 200px;
    width: auto;
    margin: auto;
}

.grume_content_in{
    border-bottom: 1px solid #000;
    padding: 70px 0;
    padding-bottom: 70px;
}

/* 横並び２列 */
.grume_in .list {
  display: grid;
  width: fit-content;
  column-gap: 3em;
  grid-template-columns: repeat(2, auto);
}

/* リストのスタイル */
.grume_in ol {
  margin-bottom: 1em;
  margin-top: 1em;
  line-height: 1.5;
}

.grume_menu{
    position: relative;
    max-width: 600px;
    margin: auto;
} 

.grume_menu p{
    text-align: left;
    color: #fff;
} 

.grume_menu li{
    text-align: left;
} 

.grume_menu div{
    position: absolute;
    top: -45px;
    right: -45px;
    width: 142px;
} 

.grume_menu p{
    padding: 5px 0;
    padding-left: 5px;
} 

.grume_pink{
    border: 1px solid #E94E69;
}

.grume_pink p{
    background-color: #E94E69;
}

.grume_blue{
    border: 1px solid #438AEF;
}

.grume_blue p{
    background-color: #438AEF;
}

.grume_content_write{
    margin-top: 25px;
    margin-bottom:  54px;
}

.grume_menu_second{
    margin-top: 61px;
}

.grume_content .worning{
    text-align: left;
    margin-bottom: 168px;
    margin-top: 20px;
}

.grume_content_in .grume_shop_size{
    max-width: 456px;
}

@media screen and (max-width: 767px) {
    .grume_menu div {
        top: -32px;
        right: -19px;
        width: 114px;
    }
    
    .grume_in .list {
        grid-template-columns:auto;
    }
}




/*
course
================================================ */
.course_item p{
    text-align: left;
    padding-bottom: 10px;
}

@media screen and (max-width: 767px) {
.course_item p{
    font-size: 90%;
}
.flexbox{
    display: block;
}
}

.course_item{
    margin: 80px 0;
}

.flexbox{
    display: flex;
}


/*
award
================================================ */
.award_item{
    margin: 80px 0;
}

.award_item h2{
    font-size: 110%;
    margin-bottom: 20px;
    text-align: left;
}

.award_item p{
    text-align: left;
}

@media screen and (max-width: 767px) {
.award_item p{
    font-size: 90%;
}

}

/*
question
================================================ */

.qa p a{
    text-decoration: underline;
}



/*
レスポンシブ
================================================ */
@media (min-width: 769px) {
    
    .mv_top img {
        width: 30%;
    }

}


@media (max-width:1120px) {
    
    .br_tab {
        display: block;
    }
    
    .wrapper_sns {
        padding-left: 10px;
        padding-right: 10px;
    }

}




/*
レスポンシブ
================================================ */

@media (max-width: 760px) {
    
    
    .single_in {
        padding-left: 30px;
        padding-right: 30px;

    }
    
    .br_sp{
        display: block;
    }
    
    .title {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
        padding: 0 15px;
    }
    
    h2.h2_Bsmall span {
        line-height: 0.9;
        font-size: 30px;
    }
    
    .mv_top img {
        width: 65%;
    }
    
    .mv_top_second {
        top: 56%;
    }
    
    .mv_top_second img {
        width: 55%;
    }
    
    /*///////////////////////////////
	   ナビゲーション
    ///////////////////////////////*/
    
    .primary-navigation{
        display: none;
    }
    
    .p-head{
        display: flex;
        justify-content: space-between;
        background-color: rgba(39, 128, 255, .9);
        position: fixed;
        z-index: 9999;
        width: 100%;
        height: 50px;
    }
    
      .p-logo {
        padding-top: 7px;    
        padding-left: 7px;
      }
    
    .p-logo a{
        width: 100%;
        font-weight: bold;
        display: inline-block;
        color: #2780FF;
        background-color: #fff;
        border-radius: 5em;
        transition: color .3s, background-color .3s;
        height: auto;
        line-height: 1;
        margin: auto;
        padding: min(.75em, 10px);
        border: none;
      }
    
      .p-logo>a {
        width: 100%;
      }
    
      #sp-hamburger {
        display: block;
        background-color: transparent;
        position: relative;
        width: 60px;
        z-index: 100;
      }
      #sp-hamburger .icon span {
        position: absolute;
        left: 15px;
        width: 25px;
        height: 3px;
        background-color: #fff;
        border-radius: 8px;
        transition: ease 0.75s;
      }
      #sp-hamburger .icon span:nth-of-type(1) {
        top: 15px;
      }
      #sp-hamburger .icon span:nth-of-type(2) {
        top: 24px;
      }
      #sp-hamburger .icon span:nth-of-type(3) {
        bottom: 13px;
      }
      #sp-hamburger .open span:nth-of-type(1) {
        top: 28px;
        transform: rotate(45deg);
        background-color: white;
      }
      #sp-hamburger .open span:nth-of-type(2) {
        opacity: 0;
      }
      #sp-hamburger .open span:nth-of-type(3) {
        top: 28px;
        transform: rotate(-45deg);
        background-color: white;
      }
      .sp-nav {
        display: none;
        z-index: 99;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        background: rgb(139, 189, 150);
      }
    
      .sp-nav ul {
        display: flex;
        flex-direction: column;
        justify-content: center;
        list-style: none;
        height: 100vh;
        padding: 0 20px;
        width: 100%;
      }
      .sp-nav li {
        padding: 20px;
        font-size: 15px;
        font-weight: bold;
        text-align: center;
        background-size: 20px 1px;
        background-repeat: repeat-x;
        background-position: center bottom;
        margin: 0;
      }
      .sp-nav a {
        color: white;
      }
    
    .menu-wrapper li {
        writing-mode: horizontal-tb;
        
        
    }
    
    
    /*///////////////////////////////
	   main
    ///////////////////////////////*/
    
    /* count */
    
    #hour, #day, #minute, #second {
        font-size: 25px;
        height: 44%;
    }
    
    .timer_in {
        height: 70px;
        margin-right: 10px;
        margin-left: 10px;
    }
    
    
    /* news */
    
    .post-title {
        display: block;
        text-align: left;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
        letter-spacing:0.1em;
    }
    
    .post-date {
        font-size: min(4.267vw, 15px);
    }
    
    
    
    /* entry */
    
    .entry_in {
        margin-left: 0px; 
         margin-right: 0px; 
    }
    

    
    /* information */
    .tournament_in {
        max-width: 330px;
    }
    .info_card p {
        font-size: 10px;
    }
    .info_card {
        padding: 10px 0;
    }

    
    
    /* sponsor */
    .sponsor img {
        max-width: 180px;
        margin-bottom: 50px;
    }
    
    .sponsor_in {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    
    .sponsor .sponsor_flex img {
        margin-left: 0px; 
        margin-right: 0px; 

    }
    
    .sponsor_flex {
        padding: 20px;
    }
    
    .schdule_write{
        text-align: left;
    }
    
    
    /*///////////////////////////////
	   footer
    ///////////////////////////////*/
    
    footer{
        padding: 20px 20px;
    }

    
    .left_content {
        text-align: center;
        width: 70%;
        margin: auto;
    }
    
    .footer_top{
        display: block;
    }

    footer .right_content {
        width: 100%;
        max-width: inherit;
        margin: auto;
        display: block;
        padding-top: 20px;
    }

    .footer_menu{
        margin-right: 20px;
        margin-bottom: 10px;
    }

    footer .right_content ul{
        display: inline-flex;
        flex-wrap: wrap;
    }

    footer .right_content h4{
 
    }

    footer .right_content li{
        font-size: 14px;
        text-align: left ;
        padding: 10px 0;
        margin-right: 15px;
    }

    footer .right_content{
        font-size: 14px;
    }
    
    .copyright{
        font-size: 12px;
    }
    
    .committee{
        margin: 5px 5px;
    }

    
     /*///////////////////////////////
	   recruit
    ///////////////////////////////*/
    
    .table-scroll {
      overflow: scroll;
    }
    .tablePrice th, .tablePrice td {
        font-size: min(3.3vw,11px);
    }
    
    
    
    .guest_wrap{
        display: block;
        margin-bottom: 50px;
    }
    
    .gest_in .right_cont {
        padding-left: 0px;
    }
    
    .sns{
        display: block;
    }
    
    .sns div{
        padding-top: 15px;
        padding-bottom: 15px;
        padding-left: 0;
        padding-right: 0;
    }

    .sns .sns01{
        width:15%;
        margin: auto;
    }
    
    .sns .sns02{
        width:15%;
        margin: auto;
    }

    .sns .sns03{
        width: 100%;
        padding-right: 70px;
        padding-left: 70px;
        max-width: 360px;
        margin: auto;
    }
    
    .sns .sns04{
        width: 100%;
        padding-right:50px;
        padding-left:50px;
    }

    .wrapper_sns{
        padding-left: 0px;
        padding-right: 0px;
    }
    
    .news_in {
        padding: 20px;
    }
    
   .left_content {
        width: 60%;
        padding: 30px 5px;
    }
    
    .news_in_single{
        font-size: 80%;
    }
    
    .news_in_single .post-date {
        font-size: min(4.8vw, 16px);
    }
    
    .news_in_single .post-title a {
        font-size: min(4.267vw, 16px);
    }
    
    .pagenation .all_news a {
        font-size: min(3.733vw, 14px);
        padding: 10px 20px;
    }
    
    .top_button {
        position: relative;
        top: 7px;
        left: 3px;
        z-index: 99999;
        letter-spacing: 0.05em;
        font-weight: 600;
        display: inline-block;
        border: solid 2px #2780FF;
        padding: 5px 10px;
        background-color: #FFF300;
        color: #2780FF;
        text-align: center;
        border-radius: 50px;
        font-size: 13px;
        text-decoration: none;
        cursor: pointer;
        transition: background-color 0.3s ease;
        height: 38px;
        padding-top: 9px;
    }
    
}
















