@charset "utf-8";

/*
Theme Name: 第3回沖縄空手世界大会開催
Theme URI:
Author: 沖縄空手世界大会実行委員会
Author URI:
Description:
Version: 2025.06
License:
License URI:
Tags:
*/

/* initialization */
html{
  scroll-padding-top: 136px;
}
body {
  margin:0;
  padding:0;
}
section, article, nav, aside, header, footer, address {display:block;}
ul, ol {
  margin:0;
  padding:0;
  list-style-type:none;
}
table {border-collapse:collapse;}
td {word-break:break-all;}
img {border:none;}

input[type="text"], input[type="email"], input[type="tel"],
textarea {
  -webkit-appearance:none;
  box-sizing:border-box;
  padding:1em;
  background-color:rgb(255,255,255);
  border:1px solid rgb(144,144,144);
}
input[type="text"]:focus, input[type="email"]:focus, input[type="tel"]:focus,
textarea:focus {
  outline:none;
  background-color:rgb(250,250,250);
}
input[type="text"], input[type="email"], input[type="tel"] {}
textarea {}
select {
  padding:0.75em 1em;
  background-color:rgb(255,255,255);
  border:1px solid rgb(200,200,200);
}
select:focus {
  outline:none;
  background-color:rgb(250,250,250);
}
a.btn, button, input[type="submit"], input[type="button"] {
  -webkit-appearance:none;
  box-sizing:border-box;
  display:inline-block;
  vertical-align:middle;
  text-align:center;
  line-height:1;
  cursor:pointer;
  outline:none;
  padding:0.75em 3em;
  /* background-color:rgb(0,65,151); */
  background-color:rgb(143,46,21);
  border:none;
}
a.btn:hover,
/* button:hover, input[type="submit"]:hover, input[type="button"]:hover {background-color:rgba(0,65,151,0.65);} */
button:hover, input[type="submit"]:hover, input[type="button"]:hover {background-color:rgba(143,46,21,0.65);}

hr {display:none;}
.clear {clear:both;}

/* block level elements */

#header {
  position:fixed;
  z-index:100;
  left:0;
  top:0;
  width:100%;
  height:88px;
  background-color:rgba(255,255,255,0.92);
  background:linear-gradient(0deg, rgba(255,255,255,0.85) 0%, rgba(255,255,255,1) 100%);
}
#navi {
  position:fixed;
  z-index:100;
  left:0;
  top:88px;
  width:100%;
  /* background-color:rgb(0,65,151); */
  background-color:rgb(143, 46, 21);
}
body.admin-bar #header {top:32px;}
body.admin-bar #navi {top:120px;}
#contents {padding-top:calc(130px + 3rem);}
#main {}
#aside {}
#footer {
  /* background-color:rgb(118,118,136); */
  background-color:rgb(21,9,6);
  overflow:hidden;
}

div.content,
#main, .path {
  margin:0 auto;
  max-width:1200px;
}
/*#header > h1 {
  margin:0 auto;
  max-width:1920px;
}*/
#navi ul {
  margin:0 auto;
  max-width:1920px;
}

.body div.cols,
.body div.input > label {
  display:flex;
  flex-wrap:wrap;
}

/* head elements */

#header > h1 {font-size:0;}
#header > h1 a {
  position:relative;
  z-index:10;
  left:24px;
  top:10px;
  display:inline-block;
  padding:0 0 0 288px;
  height:66px;
  background:url(images/logo_hr.png) left center no-repeat;
  background-size:contain;
  font-size:20px;
  line-height:66px;
  font-weight:bold;
}

/* navi elements */

#navi h1 {display:none;}

@media only screen and (min-width:769px) {
  #navi ul {
    position:relative;
    text-align:center;
  }
  #navi li {
    position:relative;
    display:inline-block;
  }
  #navi li a {
    display:block;
    padding:1em;
    /* background-color:rgb(0,65,151); */
    background-color:rgb(143, 46, 21);
  }
  #navi li a:hover {background-color:rgba(165,153,88,0.9);}
  #navi ul ul {
    display:none;
    position:absolute;
    min-width:100%;
    text-align:left;
  }
  #navi li:hover ul {display:block;}
  #navi li:has(ul) > a:before {
    content:'';
    display:inline-block;
    vertical-align:middle;
    margin:-0.25em 0.5em 0 0;
    width:1em;
    height:1em;
    background:url(images/ic_arrow.png) center no-repeat;
    background-size:100%;
    /* transform:rotate(-90deg); */
  }
  #navi li:has(ul):hover > a:before {transform:rotate(0deg);}
  #navi li li {display:block;}
  #navi li li a {white-space:nowrap;}
  #navi li.btn {
    position:absolute;
    right:24px;
    top:calc(-88px + ((88px - 1.25em - 1.5em) / 2));
  }
  #navi li.btn a {
    box-sizing:border-box;
    display:inline-block;
    vertical-align:middle;
    text-align:center;
    line-height:1;
    cursor:pointer;
    outline:none;
    padding:0.75em 0;
    /* width:10em; */
    width:8em;
    /* background-color:rgb(0,65,151); */
    background-color:rgb(143, 46, 21);
    border:none;
  }
  /* #navi li.facebook {right:calc(10em + 24px * 1.5);} */
  /* #navi li.facebook {right:calc(42em + 24px * 1.5);} */
  #navi li.facebook {right:calc(36em + 21px * 1.5);}
  /* #navi li.instagram {right:calc(31em + 24px * 1.5);} */
  #navi li.instagram {right:calc(27em + 26px * 1.5);}
  /* #navi li.x {right:calc(21em + 15px * 1.5);} */
  #navi li.x {right:calc(20em + 9px * 1.5);}
  /* #navi li.youtubeicon {right:calc(10em + 24px * 1.5);} */
  #navi li.youtubeicon {right:calc(10em + 24px * 1.5);}
  
  
  #navi li.btn a:hover {background-color:rgb(0,0,0);}
}

#navi li.btn a:before {
  content:'';
  position:relative;
  top:-0.1em;
  display:inline-block;
  vertical-align:middle;
  margin-right:0.5em;
  width:1.25em;
  height:1.25em;
  background-position:center;
  background-repeat:no-repeat;
  background-size:100%;
}
#navi li.facebook a:before {background-image:url(images/ic_facebook.png);}
#navi li.instagram a:before {background-image:url(images/ic_instagram.png);}
#navi li.x a:before {background-image:url(images/ic_x.png);}
#navi li.youtubeicon a:before {background-image:url(images/ic_youtube.png);}

/* navi_lang elements */

#navi_lang {
  position:fixed;
  z-index:100;
  right:24px;
  bottom:1rem;
}
#navi_lang h1 {
  margin:0;
  padding:1em 1.5em;
  cursor:pointer;
  background-color:rgb(255,255,255);
  white-space:nowrap;
}
/* #navi_lang:hover h1 {background-color:rgb(0,65,151);} */
#navi_lang:hover h1 {background-color:rgb(143, 46, 21);}
#navi_lang h1:before {
  content:'';
  display:inline-block;
  vertical-align:middle;
  margin:-0.2em 0.5em 0 0;
  width:0.7em;
  height:0.7em;
  background:url(images/ic_earth.png) no-repeat;
  background-size:auto 0.7em;
}
#navi_lang:hover h1:before {background-position:-0.7em 0px;}
#navi_lang ul {
  position:absolute;
  right:0;
  bottom:100%;
  height:0;
  overflow:hidden;
  visibility:hidden;
  opacity:0;
  transition:0.2s opacity;
}
#navi_lang:hover > ul {
  height:auto;
  visibility:visible;
  opacity:1;
}
#navi_lang li {border-bottom:1px solid rgb(226,226,226);}
#navi_lang li:last-child {border:none;}
#navi_lang a {
  display:block;
  padding:0.75em 1.5em;
  background-color:rgb(255,255,255);
}
/* #navi_lang a:hover {background-color:rgb(0,65,151);} */
#navi_lang a:hover {background-color:rgb(143, 46, 21);}

/* foot elements */

#footer div.content {
  display:flex;
  margin:3rem auto;
}
#ft_info {}
#ft_info h1 {margin:0 24px 1.5rem;}
#ft_info h1 span {
  display:block;
  margin:0.5em 0;
}
#footer address {
  display:block;
  margin:1em 24px;
}
#footer address span {
  display:block;
  margin:0.5em 0;
}
#ft_info p {margin:1em 24px;}

#ft_contact {
  flex:1;
  text-align:right;
}
#ft_contact a.btn {
  margin:0 24px;
  background-color:transparent;
  border:1px solid rgb(255,255,255);
}
#ft_contact a.btn:hover {background-color:rgba(255,255,255,0.15);}

#copyright {
  display:block;
  padding:1.2rem 5%;
  /* background-color:rgb(0,65,151); */
  background-color:rgb(143, 46, 21);
  
  text-align:center;
}

/* common elements */

.path {}
.path h1 {display:none;}
.path p {margin:1.5rem 24px;}
.path span.home {}
.path span.dir {}
.path span.page {}
.path span.gt {font-size:0;}
.path span.gt:before {
  content:'/';
  font-size:1rem;
}

/* #title {background:linear-gradient(0deg, rgb(2,197,225) 0%, rgb(0,157,180) 100%);} */
#title {background:linear-gradient(0deg, rgb(143,46,21) 0%, rgb(0,0,0) 100%);}
#title h1, #title span {
  display:block;
  margin:0;
  padding:1.6em 1em;
  text-align:center;
}

.paginate {}
.paginate ul {
  margin:4rem 24px;
  padding:0;
  text-align:center;
}
.paginate li {display:inline;}
.paginate li a {
  display:inline-block;
  margin:0 0.35em 0.5em;
  padding:0.7em;
  min-width:1em;
  background-color:rgb(255,255,255);
  border:1px solid rgb(200,200,200);
}
.paginate li a:hover {background-color:rgb(238,238,238);}
.paginate .index {}
.paginate .prev {}
.paginate .next {}

div.wp-pagenavi {
  margin:4rem 24px 6rem;
  text-align:center;
}
div.wp-pagenavi span, div.wp-pagenavi a {
  display:inline-block;
  margin:0 0.35em 0.5em;
  padding:0.85em;
  min-width:1em;
  background-color:rgb(255,255,255);
  /* border:1px solid rgb(0,65,151); */
  border:1px solid rgb(143, 46, 21);
}
div.wp-pagenavi span {}
div.wp-pagenavi span.pages {display:none;}
div.wp-pagenavi span.current {
  /* background-color:rgba(0,65,151,0.1); */
  background-color:rgba(143, 46, 21,0.1);
  border-color:rgb(255,255,255);
}
div.wp-pagenavi span.extend {}
div.wp-pagenavi a {}
/* div.wp-pagenavi a:hover {background-color:rgba(0,65,151,0.1);} */
div.wp-pagenavi a:hover {background-color:rgba(143, 46, 21,0.1);}
div.wp-pagenavi a.previouspostslink {}
div.wp-pagenavi a.page {}
div.wp-pagenavi a.smaller {}
div.wp-pagenavi a.larger {}
div.wp-pagenavi a.nextpostslink {}
div.wp-pagenavi a.last {}

div.btn {
  margin:3rem 24px;
  text-align:center;
}

aside.banners {
  padding:3rem 0;
  border-top:1px solid rgb(226,226,226);
}
aside.banners ul {
  margin:0 auto;
  padding:0;
  max-width:1176px;
  text-align:center;
  font-size:0;
}
aside.banners li {display:inline;}
aside.banners li a {}
aside.banners li img {
  margin:12px;
  width:260px;
  height:86px;
}

.page_top {
  clear:both;
  display:none;
}
.page_top span {}
.page_top a {}

form.wpcf7-form {
  margin:4rem auto;
  width:80%;
}
form.wpcf7-form > p {margin:2rem 24px;}
form.wpcf7-form span.label {}
form.wpcf7-form span.label.req:after {
  content:'*必須';
  display:inline-block;
  margin-left:0.5em;
}
span.wpcf7-form-control-wrap {}
input.wpcf7-text {width:99%;}
input.wpcf7-email {width:99%;}
textarea.wpcf7-textarea {width:99%;}
form.wpcf7-form div.btn {
  position:relative;
  margin:3rem 0;
}
form.wpcf7-form div.btn p {margin:0;}
input.wpcf7-submit {width:33.33%;}
.wpcf7-spinner {
  position:absolute;
  top:50%;
  translate:0 -50%;
  margin-left:1rem;
}
.wpcf7 div.wpcf7-response-output {
  padding:1.5em;
  line-height:1.3;
}

/* body elements */

.body h1, .body h2, .body h3 {
  clear:both;
  margin:1.3em 24px;
}
.body h1 {}
.body h2 {
  position:relative;
  padding:0 0 0.1em 0.5em;
  border-bottom:1px solid rgb(226,226,226);
}
.body h2:before {
  content:'';
  position:absolute;
  left:0;
  width:8px;
  height:calc(100% - 4px);
  /* background-color:rgb(0,65,151); */
  background-color:rgb(143,46,21);
  border-right:2px solid rgb(171,152,82);
}
.body h3 {
  position:relative;
  padding:0 0 0.1em 0.5em;
  border-bottom:1px solid rgb(226,226,226);
}
.body h3:before {
  content:'';
  position:absolute;
  left:0;
  width:0;
  height:calc(100% - 4px);
  border-right:3px solid rgb(171,152,82);
}
.body h4 {
  margin:1.25em 24px;
  padding:0.5em 0.7em;
  background-color:rgb(255, 249, 208);
}
.body p {margin:1em 24px;}

.body ul, .body ol {
  margin:1.5em 0;
  padding:0 0 0 2em;
}
.body ul {list-style-type:disc;}
.body ol {list-style-type:decimal;}
.body li {margin:0.5em 24px;}

.body table {
  margin:1.75em 24px;
  max-width:calc(100% - 48px);
}
.body th, .body td {
  padding:0.7em;
  border:1px solid rgb(226,226,226);
}
.body th {
  /* background-color:rgb(0,65,151); */
  background-color:rgb(143,46,21);  
  text-align:left;
}
.body td {}

.body img {
  max-width:100%;
  height:auto;
}
.body img.alignleft {
  float:left;
  margin:0 48px 2em 0;
}
.body img.alignright {
  float:right;
  margin:0 0 2em 48px;
}
.body img.aligncenter {
  display:block;
  margin:2em auto;
}

.body a.btn {
  padding:0.75em 1.5em;
  background-color:rgb(255,255,255);
  border:1px solid rgb(143,46,21);
  margin: 16px 0 0 0;
}
.body a.btn:hover {background-color:rgba(143,46,21,0.15);}
.body a.btn.b {
  padding:1em 1.75em;
  background-color:rgb(143,46,21);
  border:none;
  margin:16px 0 0 0;
}
.body a.btn.b:hover {background-color:rgba(143,46,21,0.65);}

.body blockquote {
  margin:2rem 24px;
  background-color:rgb(251,252,253);
  overflow:hidden;
  word-break:break-all;
}

.body hr {
  display:block;
  margin:3rem 24px;
}

.body div.box {
  margin:2rem 24px;
  background-color:rgb(208,249,255);
  overflow:hidden;
}

.body div.embed {
  margin:2rem 24px;
  text-align:center;
}
.body div.embed iframe {}

.body div.cols {}
.body div.cols.nowrap {flex-wrap:nowrap;}
.body div.col {}
.body div.col2 div.col {width:50%;}
.body div.col3 div.col {width:33.33%;}
.body div.col4 div.col {width:25%;}
.body div.col5 div.col {width:20%;}
.body div.col.all {width:100%;}
.body div.col.stretch {
  flex:1;
  width:inherit;
}
.body div.col + p,
.body div.col div.cols + p {display:none;}

.body .alignleft {text-align:left;}
.body .alignright {text-align:right;}
.body .aligncenter {text-align:center;}

.edit_post_link {clear:both;}
.edit_post_link p {margin:1rem 24px;}

/* home */

#home_hero {
  position:relative;
  margin:calc(88px + 3rem) auto 0;
  max-width:1920px;
  background:url(images/home_bg_hero.jpg) center no-repeat;
  background-size:cover;
}
#home_hero:after {
  content:'';
  position:absolute;
  z-index:0;
  left:0;
  bottom:0;
  width:100%;
  height:150px;
  background:linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 100%);
}
#home_hero div.content {
  position:relative;
  max-width:1600px;
  height:790px;
}
#home_hero div.content > * {
  position:absolute;
  background-position:center;
  background-repeat:no-repeat;
  background-size:100%;
  font-size:0;
  color:transparent;
}
@keyframes home_hero_title {
  0% {opacity:0;}
  50% {opacity:100%;}
}
@keyframes home_hero_entry {
  0% {opacity:0;}
  80% {
    scale:1.2;
    rotate:10deg;
    opacity:0;
  }
  82% {
    scale:1.7;
    opacity:1;
  }
  100% {rotate:0deg;}
}
@keyframes home_hero_m1 {
  0% {opacity:0;}
  70% {
    opacity:0;
    scale:0.9;
  }
  80% {
    opacity:1;
    scale:1;
  }
}
@keyframes home_hero_m2 {
  0% {opacity:0;}
  10% {
    opacity:0;
    scale:0.9;
  }
  20% {
    opacity:1;
    scale:1;
  }
}
@keyframes home_hero_f1 {
  0% {opacity:0;}
  30% {
    opacity:0;
    scale:0.9;
  }
  40% {
    opacity:1;
    scale:1;
  }
}
@keyframes home_hero_f2 {
  0% {opacity:0;}
  50% {
    opacity:0;
    scale:0.9;
  }
  60% {
    opacity:1;
    scale:1;
  }
}
#home_hero h1 {
  margin:0;
  z-index:6;
  left:2%;
  bottom:40px;
  max-width:1140px;
  width: 96%;
  height:366px;
  background-image:url(images/home_hero_title.png);
  animation:5s ease home_hero_title;
}

#home_hero h2 {
  margin:0;
  z-index:5;
  left:calc(50% - 205px);
  top:calc(50% - 180px);
  width:411px;
  height:382px;
  background-image:url(images/home_hero_entry.png);
  animation:5s ease-out home_hero_entry;
}
#home_hero span.m1 {
  z-index:4;
  left:calc(50% - 333px);
  top:10px;
  width:667px;
  height:812px;
  background-image:url(images/home_hero_m1.png);
  animation:5s ease home_hero_m1;
}
#home_hero span.m2 {
  z-index:3;
  right:3%;
  bottom:40px;
  width:247px;
  height:516px;
  background-image:url(images/home_hero_m2.png);
  animation:5s ease home_hero_m2;
}
#home_hero span.f1 {
  z-index:1;
  left:12%;
  top:53px;
  width:246px;
  height:508px;
  background-image:url(images/home_hero_f1.png);
  animation:5s ease home_hero_f1;
}
#home_hero span.f2 {
  z-index:1;
  right:18%;
  top:35px;
  width:228px;
  height:480px;
  background-image:url(images/home_hero_f2.png);
  animation:5s ease home_hero_f2;
}

#home_hiroba, #home_info, #home_movie, #home_sns {
  /* margin:6rem auto; */
  margin:3rem auto;
  max-width:1200px;
}

#home_hiroba {
  max-width:1152px;
  background-color:rgb(255,255,255);
  overflow:hidden;
}
#home_hiroba img.alignleft {
  float:left;
  margin:3rem;
}
#home_hiroba h1 {margin:3rem 3rem 1em;}
#home_hiroba p {margin:2em 3rem;}
/* #home_hiroba p.btn2 {text-align:right;} */
#home_hiroba p.btn2 {text-align:center;}

#home_entry {}
#home_entry a.btn {
  padding:0.75em;
  /* width:80%; */
  width:100%;
  font-size:1.75rem;
}

#home_info {display:flex;}
#home_info > * {flex:1;}

#home_news {
  flex:initial;
  width:60%;
}
#home_news h1 {margin:0 24px 1em;}
#home_news ul {}
#home_news li {
  margin:0 24px 1rem;
  padding:0 0 1rem;
  border-bottom:1px solid rgb(226,226,226);
}
#home_news li a {}
#home_news time {display:block;}
#home_news span.title {
  display:block;
  margin:0.75em 0 0;
}
#home_news div.btn {
  margin:2rem 24px 0;
  text-align:right;
}

#home_sponsorship {margin:0 24px 2rem;}
#home_sponsorship a.btn {
  padding:0.75em;
  width:100%;
  background-color:rgb(208,249,255);
  font-size:1.75rem;
  /* color:rgb(0,65,151); */
  color:rgb(143,46,21);
}
#home_sponsorship a.btn:hover {
  background-color:rgb(2,197,225);
  color:rgb(255,255,255);
}

#home_line {
  margin:0 24px;
  /* border:3px solid rgb(208,249,255); */
  border:1px solid rgb(226,226,226);
}
#home_line h1 {margin:36px;}
#home_line p {margin:1em 36px;}
#home_line p.aligncenter {text-align:center;}

#home_movie {}
#home_movie h1 {margin:1em 24px 0.25rem;}
#home_mv_list {
  display:flex;
  flex-wrap:wrap;
}
#home_mv_list > div {
  margin:2rem 24px 0;
  width:calc(33.33% - 48px);
}
#home_mv_list iframe {
  width:378px;
  height:244px;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
}
#home_mv_list span.cap {
  display:block;
  margin:0.5em 0 0;
  line-height: 1.5em;
}

#home_sns {display:flex;}
#home_sns h1 {margin:0 24px 1em;}
#home_sns div.feed {margin:2rem 24px;}

#home_fb {width:40%;}
#home_insta {width:60%;}

#home_sponsor {
  margin:6rem 0 0;
  padding-bottom:1rem;
  background-color:rgb(251,252,253);
  overflow:hidden;
}
#home_sponsor h1 {
  margin:1em 5%;
  text-align:center;
}
#home_sponsor ul {
  margin:2rem auto;
  max-width:1176px;
  text-align:center;
  font-size:0;
}
#home_sponsor ul.main {}
#home_sponsor ul.sub {}
#home_sponsor li {display:inline;}
#home_sponsor li a {}
#home_sponsor li img {margin:12px 12px 0;}
#home_sponsor ul.main img {
  width:331px;
  height:131px;
}
#home_sponsor ul.sub img {
  width:214px;
  height:85px;
}

/* news */

div.posts {}
div.posts ul {margin:4rem 0;}
div.posts li {
  margin:1em 24px 0;
  padding:0 0 1em;
  border-bottom:1px solid rgb(226,226,226);
}
div.posts li a {display:flex;}
div.posts time {width:7em;}
div.posts span.title {flex:1;}

/* fx */

a.btn, button, input[type="submit"], input[type="button"],
.paginate li a, div.wp-pagenavi span, div.wp-pagenavi a,
#navi li.btn a, #navi_lang h1,
.body h4,
input[type="text"], input[type="email"], input[type="tel"], textarea,
.wpcf7 div.wpcf7-response-output {border-radius:0.25rem;}
#home_hiroba, #home_line {border-radius:0.5rem;}
#navi_lang ul {
  border-top-left-radius:0.25rem;
  border-top-right-radius:0.25rem;
}

#navi, #navi_lang h1, #navi_lang ul {box-shadow:0px 0px 0.5rem rgba(0,0,0,0.25);}
#home_hiroba {box-shadow:0px 0px 1rem rgba(0,0,0,0.25);}

a:hover img,
#header h1 a:hover {opacity:0.8;}

/* characters */

body {
  font-size:16px;
  line-height:1;
  color:rgb(47,47,47);
}
#copyright {font-size:0.75rem;}
.body blockquote,
#ft_info, #ft_info h1 {font-size:0.875rem;}
div.posts time {font-size:0.94rem;}
a.btn, button, input[type="submit"], input[type="button"],
input[type="text"], input[type="email"], textarea, select,
#navi_lang h1 {font-size:1rem;}
.body h4,
#ft_info h1 span.title,
#home_news span.title,
#home_mv_list span.cap,
div.posts ul, div.wp-pagenavi {font-size:1.125rem;}
.body h3, .body a.btn.b,
#home_line strong {font-size:1.25rem;}
#title h1, #title span {font-size:1.5rem;}
.body h1, .body h2,
body.home section h1 {font-size:2.25rem;}

p, textarea {line-height:1.7;}
.path p,
#title h1, #title span,
.body h1, .body h2, .body h3, .body h4,
.body li, .body table,
div.posts li, #home_news span.title {line-height:1.3;}
.body p {line-height:1.8;}

h1, h2, h3, h4, strong,
a.btn, button, input[type="submit"], input[type="button"],
#navi_lang,
#title span {font-weight:600;}

address {font-style:normal;}

a:link, a:visited {text-decoration:none;}
a:hover, a:active {text-decoration:underline;}
a.btn,
#header h1 a, #navi a, #navi_lang a,
div.wp-pagenavi a,
#ft_info a:hover,
div.posts li a,
#home_news a {text-decoration:none;}
.path a, #ft_info p a,
div.posts li a:hover span.title,
#home_news a:hover span.title {text-decoration:underline;}

a, .body a:link, .body a:visited,
.body a:hover, .body a:active,
.path a:hover,
div.posts a:hover span.title,
#home_news a:hover span.title {color:rgb(0,110,255);}
a.btn, button, input[type="submit"], input[type="button"],
.body a.btn.b,
#navi a, #navi_lang:hover, #navi_lang a:hover,
#title h1, #title span,
#copyright,
.body th {color:rgb(255,255,255);}
#header h1 a,
div.posts span.title,
#home_news span.title {color:rgb(47,47,47);}
#ft_info, #ft_info a {color:rgb(221,221,221);}
div.wp-pagenavi span, div.wp-pagenavi a,
.body h4, .body a.btn,
body.home section h1,
/* #ft_info a:hover {color:rgb(0,65,151);} */
#ft_info a:hover {color:rgb(143,46,21);}
time {color:rgb(144,144,144);}
.path, .path a {color:rgb(216,216,216);}
#navi_lang, #navi_lang a {color:rgb(121,121,121);}
form.wpcf7-form span.label.req:after {color:rgb(255,0,0);}

body {
  font-family:sans-serif;
  -webkit-font-smoothing:antialiased;
}

time,
#copyright,
#navi_lang {font-family:'Arial';}

/* misc */

@media only screen and (max-width: 1077px){
  #contents {
    padding-top: calc(165px + 3rem);
  }
}
@media only screen and (min-width:769px) {
  a[href^="tel"] {
    color:inherit !important;
    text-decoration:none;
    cursor:default;
    pointer-events:none;
  }
}

@media only screen and (max-width:768px) {

/* initialization */
html{
  scroll-padding-top: 90px;
}
input[type="text"], input[type="email"], input[type="tel"],
textarea {
  padding:0.65em;
  width:100%;
}
textarea {height:35vh;}

/* block level elements */

#header {
  z-index:100;
  height:initial;
}
#navi {
  z-index:101;
  top:0;
}
#contents {padding-top:90px;}

.body div.cols,
.body div.input > label {display:block;}

/* head elements */

#header > h1 a {
  left:0;
  top:0;
  display:block;
  padding:60px 0 0;
  height:initial;
  background:url(images/logo_hr.png) left 5% top 10px no-repeat;
  background-size:auto 40px;
  text-align:center;
  font-size:1rem;
  line-height:30px;
}

/* navi elements */

#navi h1 {
  display:block;
  position:fixed;
  right:5%;
  top:10px;
  z-index:101;
  margin:0;
  width:40px;
  height:40px;
  background:rgb(143,46,21) url(images/ic_menu.png) center no-repeat;
  background-size:55%;
  font-size:0;
  color:transparent;
}
#navi.active h1 {
  background-color:transparent;
  background-image:url(images/ic_close.png);
  background-size:50%;
}
#menu-main {
  position:fixed;
  left:100%;
  top:0;
  z-index:100;
  padding:60px 0 0;
  width:100%;
  height:calc(100% - 60px);
  background-color:rgba(143,46,21,0.96);
  overflow:auto;
  -webkit-overflow-scrolling:touch;
  transition:0.35s left;
}
#navi.active #menu-main {left:0;}
#navi li {
  display:block;
  border-bottom:1px solid rgba(255,255,255,0.2);
}
#menu-main > li:first-child,
#navi ul ul {border-top:1px solid rgba(255,255,255,0.2);}
#navi li a {
  display:block;
  padding:1rem 5%;
}
#navi ul ul {margin-left:calc(5% + 1em);}

/* navi_lang elements */

#navi_lang {
  z-index:99;
  right:5%;
  bottom:0.5rem;
}
#navi_lang.active {
  width:90%;
  height:calc(100% - 1rem);
}
#navi_lang h1 {
  padding:0.85em;
  min-width:7em;
  text-align:center;
}
#navi_lang:hover h1 {background-color:rgb(255,255,255);}
#navi_lang.active h1 {
  position:absolute;
  right:0;
  bottom:0;
  /* background-color:rgb(0,65,151); */
  background-color:rgb(143,46,21);
}
#navi_lang:hover h1:before {background-position:0px 0px;}
#navi_lang.active h1:before {background-position:-0.7em 0px;}
#navi_lang ul,
#navi_lang:hover > ul {
  height:0;
  visibility:hidden;
  opacity:0;
}
#navi_lang.active ul {
  bottom:2.7em;
  height:auto;
  visibility:visible;
  opacity:1;
}
#navi_lang a {
  padding:0.85em;
  min-width:7em;
}

/* foot elements */

#footer div.content {
  display:block;
  margin:2rem 0;
}

#ft_info h1 {margin:0 5% 1rem;}
#footer address {margin:1em 5%;}
#ft_info p {margin:1em 5%;}

#ft_contact {
  margin:1rem 5%;
  text-align:center;
}
#ft_contact a.btn {
  margin:0;
  width:100%;
}

/* common elements */

.path p {margin:1rem 5%;}

#title {}
#title h1, #title span {padding:1.5em 5%;}

.paginate ul,
div.wp-pagenavi {margin:2rem 5%;}
div.wp-pagenavi span, div.wp-pagenavi a {padding:0.6em;}

div.btn {margin:3rem 5%;}

aside.banners {padding:2rem 0;}
aside.banners ul {
  margin:0 5%;
  text-align:left;
}
aside.banners li {display:inline;}
aside.banners li a {}
aside.banners li img {
  margin:0.35rem;
  width:auto;
  height:40px;
}

form.wpcf7-form {
  margin:2rem 0;
  width:initial;
}
form.wpcf7-form > p {margin:1.5rem 5%;}
input.wpcf7-text {width:100%;}
input.wpcf7-email {width:100%;}
textarea.wpcf7-textarea {width:100%;}
form.wpcf7-form div.btn {margin:2rem 5%;}
input.wpcf7-submit {width:100%;}
.wpcf7-spinner {
  right:0.5em;
  margin:0;
}
.wpcf7 div.wpcf7-response-output {
  margin:2rem 5%;
  padding:1em;
}

/* body elements */

.body h1, .body h2, .body h3 {margin:1em 5%;}
.body h4, .body p {margin:1em 5%;}
.body li {margin:0.5em 5%;}
.body table {
  margin:1.5em 5%;
  max-width:90%;
}
.body th, .body td {padding:0.35em;}

.body img {}
.body img.alignleft,
.body img.alignright,
.body img.aligncenter {
  float:none;
  display:block;
  margin:1.5em auto;
}

.body a.btn {
  padding:0.75em 1em;
  width:100%;
  /* margin: 5px 0; */
}
.body a.btn.b {padding:0.85em 1em;}

.body blockquote {margin:2rem 5%;}
.body hr {margin:2rem 5%;}

.body div.box {margin:2rem 5%;}
.body div.embed {margin:2rem 5%;}

.body div.cols {}
.body div.cols div.col {width:100% !important;}

.edit_post_link p {margin:1rem 5%;}

/* home */

#home_hero {margin-top:90px;}
#home_hero:after {height:100px;}
#home_hero div.content {
  max-width:540px;
  height:400px;
}
#home_hero h1 {
  left:5%;
  bottom:18px;
  width:90%;
  height:auto;
  background-image:url(images/home_hero_title_mb.png);
  aspect-ratio:360/196;
}
#home_hero h2 {
  left:calc(50% - 87px);
  top:calc(50% - 81px);
  width:175px;
  height:163px;
}
#home_hero span.m1 {
  left:calc(50% - 142px);
  top:10px;
  width:284px;
  height:346px;
}
#home_hero span.m2 {
  right:3%;
  bottom:40px;
  width:81px;
  height:168px;
}
#home_hero span.f1 {
  left:15%;
  top:30px;
  width:80px;
  height:166px;
}
#home_hero span.f2 {
  right:12%;
  top:10px;
  width:74px;
  height:156px;
}

#home_movie, #home_sns, #home_news {margin:2rem 0;}

#home_hiroba {margin:2rem 5%;}
#home_hiroba div.img {margin:1rem;}
#home_hiroba img {
  width:100%;
  height:auto;
}
#home_hiroba img.alignleft {
  float:none;
  margin:0;
}
#home_hiroba h1 {margin:1rem;}
#home_hiroba p {margin:1rem;}
#home_hiroba p.btn {text-align:center;}
#home_hiroba p.btn a.btn {width:100%;}

#home_entry a.btn {
  padding:0.75em 0.5em;
  width:100%;
  font-size:1.5rem;
}

#home_info {
  display:block;
  margin:0;
}

#home_news {width:initial;}
#home_news h1 {margin:1em 5%;}
#home_news li {
  margin:1rem 5%;
  padding:0 0 1rem;
}
#home_news li a {display:block;}
#home_news span.title {margin:0.25em 0 0;}
#home_news div.btn {margin:1rem 5%;}

#home_sponsorship {margin:3rem 5%;}
#home_sponsorship a.btn {
  padding:0.75em 0.5em;
  font-size:1.5rem;
}

#home_line {
  margin:2rem 5%;
  width:initial;
}
#home_line h1 {margin:1rem;}
#home_line p {margin:1rem;}
#home_line p.aligncenter img {
  width:auto;
  height:40px;
}

#home_movie {}
#home_movie h1 {margin:1em 5%;}
#home_mv_list {
  display:block;
  margin:2rem 0;
}
#home_mv_list > div {
  margin:1.5rem 5%;
  width:initial;
}
#home_mv_list span.cap {margin:0.35em 0 0;}

#home_sns {display:block;}
#home_sns h1 {margin:1em 5%;}
#home_sns div.feed {margin:1.5rem 5%;}

#home_fb, #home_insta {width:initial;}
#home_fb div.feed {
  height:60vh;
  overflow:hidden;
}

#home_sponsor {
  margin:0;
  padding-bottom:1rem;
}
#home_sponsor ul {margin:2rem 5%;}
#home_sponsor li img {margin:0 1% 0.5rem;}
#home_sponsor ul.main img {
  width:auto;
  height:120px;
}
#home_sponsor ul.sub img {
  width:auto;
  height:60px;
}

/* news */

div.posts ul {margin:2rem 0;}
div.posts li {
  margin:1em 5% 0;
  padding:0 0 0.5em;
}
div.posts li a {display:block;}
div.posts time {
  display:block;
  width:100%;
}
div.posts span.title {
  display:block;
  margin:0.5em 0 0;
}

/* fx */

#header {box-shadow:0px 0px 0.2rem rgba(0,0,0,0.25);}
#navi {box-shadow:none;}

/* characters */

body {
  font-size:100%;
  font-family:'Roboto', 'Arial', sans-serif;
  -webkit-text-size-adjust:none;
}
#title h1, #title span {font-size:1.125rem;}
.body h1, .body h2,
body.home section h1 {font-size:1.8rem;}

#navi_lang:hover h1, #navi_lang a:hover {color:rgb(121,121,121);}
#navi_lang.active h1, #navi_lang.active a:hover {color:rgb(255,255,255);}

a[href^="tel"] {
  color:inherit;
  text-decoration:underline;
}

} /* @media only screen and (max-width:768px) */


/* added for nigiwai hiroba */
a.btn2{
  color: rgb(255, 255, 255);
  text-decoration: none;
  font-weight: 600;
  font-size: 1.6rem;
  border-radius: 0.25rem;
  -webkit-appearance: none;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  outline: none;
  padding: 0.7em 1em;
  background-color: rgb(143,46,21);
  border: none;
}

a.btn2:hover {background-color:rgba(143,46,21,0.65);}
@media only screen and (max-width: 768px){
  #home_hiroba p.btn2 a.btn2 {
      width: 100%;
  }
}


/*add 2024 05 27 cowntdown*/
#header.cd{
  height: 135px !important;
  display: flex;
  align-items: center;
}
#navi.cd{
  top: 130px !important;
}
#header.cd .inner{
  width: 75%;
  display: flex;
  align-items: center;
  position: relative;
  padding-left: 20px;
}
#header.cd .inner .logo{
  display: flex;
  align-items: center;
  margin-right: 20px;
}
#header.cd .inner .logo h1 {
  width: 263px;
  margin: 0 10px 10px 0;
}
#header.cd .inner .logo h1 img{
  width: 100%;
  height: auto;
}
#header.cd .inner .logo p {
  font-size:20px;
  font-weight:bold;
  margin: 0;
  line-height: 1;
}
#header.cd .inner .countdown{
  padding: 10px;
}
#header.cd .inner .countdown p{
  background: #333333;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 10px 20px;
  justify-content: center;
  margin: 0;
  line-height: 1;
}
#header.cd .inner .countdown .days{
  font-size: 50px;
  color: #FDD527;
  display: flex;
  justify-content: center;
  align-items: baseline;
}
#header.cd .inner .countdown .days::after{
  content: "日";
  font-size: 18px;
  margin-left: 5px;
}
#header.cd .inner .countdown.en .days{
  margin-left: 10px;
}
#header.cd .inner .countdown.en .days::after{
  content: "days left";
}
#header.cd .inner .countdown .br__sp{
    display: none;
  }
#header.cd .inner .bus__bnr{
  margin-left: 20px;
}
#header.cd .inner .bus__bnr img{
  width: auto;
  height: 70px;
}

#header.cd p.sp,
.btm__bnr{
  display: none;
}

@media only screen and (max-width: 1500px){
  #header.cd .inner .logo{
    display: block;
  }
  #header.cd .inner .logo h1{
    margin-right: 0;
  }
  #header.cd .inner .logo p {
    font-size: 15px;
    text-align: center;
  }
  #header.cd .inner .logo.en p {
    font-size: 10px;
  }
  #header.cd .inner .countdown{
    border: none;
    padding: 0;
  }
  #header.cd .inner .countdown p{
    font-size: 12px;
  }
  #header.cd .inner .countdown .days{
    font-size: 30px;
  }
  #header.cd .inner .countdown .days::after{
    font-size: 12px;
  }
}

@media only screen and (max-width: 1055px){
  #navi li.facebook{
    top: -110px;
    right: 20px;
  }
  #navi li.instagram{
    top: -60px;
    right: 20px;
  }
  #navi li.twitter{
    top: -60px;
    right: 20px;
  }  
}

@media only screen and (max-width: 820px){
  #navi li.btn a{
    width: 7em;
  }
}

@media only screen and (max-width: 768px){
  #header.cd{
    align-items: normal;
    padding-top: 10px;
    height: 80px !important;
  }
  #header.cd .inner{
    width: calc(100% - 110px);
    align-items: flex-start;
    padding: 0 0 0 10px;
  }
  #header.cd .inner .logo{
    margin-right: 10px;
  }
  #header.cd .inner .logo h1{
    width: 190px;
    margin: 0;
  }
  #header.cd .inner .logo p {
    display: none !important;
  }
  #header.cd .inner .countdown{
    border: none !important;
  }
  #header.cd .inner .countdown p{
    padding: 10px 5px;
  }
  #header.cd .inner .bus__bnr{
    width: 130px;
  }
  #header.cd .inner .bus__bnr img{
    width: 100%;
    height: auto;
  }
  #header.cd p.sp{
    display: block !important;
    font-size: 10px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: 5px;
    font-weight: bold;;
    text-align: center;
  }
}
@media only screen and (max-width: 560px){
  #header.cd .inner .countdown p{
    display: block;
    text-align: center;
  }
  #header.cd .inner .countdown .days{
    font-size: 25px;
    margin-left: 5px;
  }
  #header.cd .inner .countdown .br__sp{
    display: block;
  }
  #header.cd .inner .bus__bnr{
    display: none;
  }
  .btm__bnr{
    display: block;
    position: fixed;
    left: 2%;
    bottom: 0.5rem;
    width: 40%;
    z-index: 99;
  }
  .btm__bnr img{
    width: 100%;
    height: auto;
  }
}
@media only screen and (max-width: 500px){
  #header.cd{
    height: 80px !important;
    align-items: flex-start;
    padding-top: 10px;
  }
  #header.cd .inner{
    width: 100%;
    align-items: center;
  }
  #header.cd .inner .logo h1{
    width: 140px;
  }
  #header.cd .inner .countdown .days{
    font-size: 17px;
    margin-left: 5px !important;
  }
  #header.cd p.sp{
    bottom: 10%;
  }
}
@media only screen and (max-width: 320px){
  #header.cd .inner .countdown.jp p{
    font-size: 11px;
  }
}
/* add 20240603 change hiro */
#home_mv{
  margin: 178px auto 0;
  max-width: 1920px;
}
#home_mv h1 img{
  width: 100%;
  height: auto;
}
#home_mv h1 img.img__dt{
}
#home_mv h1 img.img__sh{
  display: none;
}
@media only screen and (max-width: 1185px){
  #home_mv{
    margin-top: 225px;
  }
}
@media only screen and (max-width: 768px){
  #home_mv{
    margin-top: 95px;
  }
  #home_mv h1 img.img__dt{
    display: none;
  }
  #home_mv h1 img.img__sh{
    display: block;
  }
}

/*add 2024_07_16 mv__slide*/

#home_mv .slider__area {
  position: relative;
  padding-top: 41.145833333333333%;
}
#home_mv .slider__item {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 0;
  -webkit-animation: slideShow 30s linear infinite 0s;
          animation: slideShow 30s linear infinite 0s;
}
#home_mv .slider__item:nth-child(2) {
  -webkit-animation-delay: 10s;
          animation-delay: 10s;
}
#home_mv .slider__item:nth-child(3) {
  -webkit-animation-delay: 20s;
          animation-delay: 20s;
}
#home_mv .slider__item img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
#home_mv .slider__item img.on__sp {
  display: none;
}
@media only screen and (max-width: 768px){
  #home_mv .slider__area {
    padding-top:106.666666666666667%
  }
  #home_mv .slider__item img.on__pc {
    display: none;
  }
  #home_mv .slider__item img.on__sp {
    display: block;
  }
}

@-webkit-keyframes slideShow {
  0% {
    opacity: 0;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  100% {
    opacity: 0;
  }
}
@keyframes slideShow {
  0% {
    opacity: 0;
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  10% {
    opacity: 1;
  }
  90% {
    opacity: 1;
    -webkit-animation-timing-function: ease-out;
            animation-timing-function: ease-out;
  }
  100% {
    opacity: 0;
  }
}


.youtube{
  position:relative;
  width:100%;
  padding-top:56.25%;
  margin: 0 24px;
  width: calc(100% - 48px);
}
.youtube iframe{
position:absolute;
top:0;
right:0;
width:100%;
height:100%;
}

.grecaptcha-badge { visibility: hidden; }



/* 2025.7 added btn for amarys */

a.btn.amarys1{
  color:rgb(255,255,255);
  font-size:1.25rem;
  padding:1em 1.75em;
  border:none;
  margin:16px 0 0 0;
  font-weight:600;
  border-radius:0.25rem;
  background: rgb(255, 196, 137);
}
a.btn.btn.amarys1:hover{
  background-color: rgba(239,155,72,0.65);
}

a.btn.amarys2{
  color:rgb(255,255,255);
  font-size:1.25rem;
  padding:1em 1.75em;
  border:none;
  margin:16px 0 0 0;
  font-weight:600;
  border-radius:0.25rem;
  background: rgb(210, 82, 88);
}
a.btn.btn.amarys2:hover{
  background-color: rgba(167,27,46,0.65);
}

/* for table */
a.btn.amarys1_small{
  color:rgb(255,255,255);
  font-size:1rem;
  padding:.8em .8em;
  border:none;
  margin:0 0 0 0;
  font-weight:600;
  border-radius:0.25rem;
  background: rgb(255, 196, 137);
}
a.btn.btn.amarys1_small:hover{
  background-color: rgba(239,155,72,0.65);
}

a.btn.amarys2_small{
  color:rgb(255,255,255);
  font-size:1rem;
  padding:.8em .8em;
  border:none;
  margin:0 0 0 0;
  font-weight:600;
  border-radius:0.25rem;
  background: rgb(210, 82, 88);
}
a.btn.btn.amarys2_small:hover{
  background-color: rgba(167,27,46,0.65);
}



