@charset "utf-8";

/* -- general -------------------------------------------------------------------------------- */

@media (min-width:1025px){
    #mobile-menu{
        display: none;
    }
}

a:link {
    color:#000;
    font-style:normal;
    text-decoration:none;
}
a:visited {
    color:#000;
    text-decoration:none;
}
a:hover {
    color:#BD0400;
    font-style:normal;
    text-decoration: underline;
}

a:active {
    text-decoration:none;
}

.menu-font a:link {
    color:#000;
    text-decoration:none;
}

.menu-font a:visited {
    color:#000;
    text-decoration:none;
}

.menu-font a:hover {
    color:#4A4A4A;
    text-decoration:none;
}

.menu-font a:active {
    text-decoration:none;
}

.content-link a:link {
    color:#000;
    text-decoration:none;
}

.content-link a:visited {
    color:#000;
    text-decoration:none;
}

.content-link a:hover {
    color:#BD0400;
    text-decoration:underline;
}

.content-link a:active {
    text-decoration:none;
}

.content-category-container a:active{
    color:#000;
    text-decoration:none;
}

.content-category-container a:link{
    color:#000;
    text-decoration:none;
}

.content-category-container a:visited{
    color:#000;
    text-decoration:none;
}

.sport-category-container a:hover{
    color:#000;
    text-decoration:none;
}

.sport-category-container a:active{
    color:#000;
    text-decoration:none;
}

.sport-category-container a:link{
    color:#000;
    text-decoration:none;
}

.sport-category-container a:visited{
    color:#000;
    text-decoration:none;
}

.sport-category-container a:hover{
    color:#000;
    text-decoration:none;
}

.contact a:link {
    color:#fff;
    text-decoration:none;
}

.contact a:visited {
    color:#fff;
    text-decoration:none;
}

.contact a:hover {
    color:#fff;
    text-decoration:underline;
}

.contact a:active {
    text-decoration:none;
}

.footer-menu-item a:link {
    color:#fff;
    text-decoration:none;
}

.footer-menu-item a:visited {
    color:#fff;
    text-decoration:none;
}

.footer-menu-item a:hover {
    color:#fff;
    text-decoration:underline;
}

.footer-menu-item a:active {
    text-decoration:none;
}

#body{
	margin: 0px; 
	padding: 0px; 
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}

/* -- header -------------------------------------------------------------------------------- */

#top-gold-bar{
	height: 5px;
	width: 100%; 
	background-color:goldenrod; 
	position: fixed;
}

#menu-flexbox{
	display:flex; 
	justify-content: flex-end; 
	align-items: flex-end; 
	width: 100%; 
	height: 120px; 
	padding-top: 5px;
    padding-bottom: 5px;
}

#title-logo{
	margin-left: 25px; 
	margin-bottom: 5px;
    width: 233.4px;
	height: 98.2px;
}

.red-vertical-bar{
	width: 3px; 
	height: 25px; 
	margin-right: 7px; 
	background-color:#BD0400;
}

.menu-font{
	font-size:22px; 
	font-weight: bold;
}

#menu-right-space{
    width: 30px;
}

.pc-menu{
    display: flex; 
    align-items: center; 
    margin-left: 40px; 
    margin-bottom: 10px;
}

/* -- content -------------------------------------------------------------------------------- */

h1 {
    padding: 0px;
    margin: 0px;
    font-size: 34px;
}

h2 {
    padding: 0px;
    margin: 0px;
    font-size: 26px;
}

#title{
    background-color: #888; 
    text-align: left;  
    color: #fff; 
    padding: 20px 20px 20px 60px; 
    margin-bottom: 40px;
}

#certificate-img{
    width: 500px;
	height: 591px;
}

.content-title{
    padding: 10px 100px 5px 100px; 
    font-size: 30px; 
    font-weight: bold;
}

.content-red-bar-parent{
    display: flex; 
    justify-content: left; 
    padding: 10px 100px 0px 100px;
}

.content-red-bar{
    width: 100%;
    background-color: #BD0400; 
    height: 2px;
}

.content{
    padding: 5px 100px 30px 100px;
    font-size: 17px;
    line-height: 28px;
}

.breadcrumb-list {
  display: flex; /* 横並びにする */
  flex-wrap: wrap; /* スマホなどで折り返す */
  list-style: none; /* リストの黒丸（・）を消す */
  padding: 0px 15px 20px 100px;
  margin: 0;
  font-size:14px;
}

.breadcrumb-item {
  display: flex; /* 区切り文字を中央揃えにするため */
  align-items: center;
}

.breadcrumb-item a {
  text-decoration: underline;
  color: #BD0400; /* リンク色 */
}

.breadcrumb-item a:hover {
  text-decoration: underline;
}

.breadcrumb-item.active {
  color: #555; /* リンクではない色 */
}

.breadcrumb-item + .breadcrumb-item::before {
  content: ">"; /* 区切り文字（/ や » もよく使われます）*/
  margin: 0 0.5em; /* 区切り文字の左右の余白 */
  color: #777;
}

.checklist-container {
    list-style: none;
    padding-left: 48px;
    padding-top: 25px;
    padding-bottom:5px;
}

.checklist {
    position: relative;
    margin-bottom: 16px;
}

.checklist::before {
    content: "";
    display: block;
    position: absolute;
    width: 16px;
    height: 8px;
    border-left: 2px solid #BD0400;
    border-bottom: 2px solid #BD0400;
    top: 7px;
    left: -32px;
    transform: rotate(-45deg);
}

.caution-box {
    background-color:#F2F2F2;
    border: 1px solid #ddd;
    border-left: 5px solid #BD0400;
    padding: 20px;
    margin-top: 20px;
    border-radius: 5px;
}

.causion{
    font-size: 23px;
    color: #d4b037;
    border-left: 5px solid #d4b037;
    padding-left: 10px;
    margin-top: 30px;
}

.application-choice {
    display: flex;
    gap: 20px;
    justify-content: space-around;
    margin-top: 15px;
    margin-bottom: 10px;
}

.choice-card {
    flex: 1;
    border: 2px solid #BFBFBF;
    border-radius: 8px;
    height: 150px;
    margin-top: 15px;
    padding: 20px;
    text-align: center;
    text-decoration: none;
    color: #000000;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.choice-card:hover {
    background-color: #F2F2F2;
    color: #000000;
    text-decoration: none;
}

.choice-card h3 {
    border-left: none;
    padding-left: 0;
    margin-top: 0;
    font-size: 32px;
    line-height: 1.3;
    margin-bottom: 0;
}

.choice-card-p {
    margin-top: 5px;
    margin-bottom: 0;
    font-size: 12px;
    line-height: 1.1;
}

.app-steps{
    font-size: 23px;
    border-left: 5px solid #d4b037;
    padding-left: 10px;
    margin-top: 30px;
    font-weight: bold;
}

.notes-list{
    padding-left:0px;
}

.notes-list li {
        font-size: 14px;
        color: dimgrey;
        position: relative;
        padding-left: 20px;
        margin-bottom: 5px;
        list-style: none;
}

.notes-list li::before {
        content: '※';
        position: absolute;
        left: 0;
        top: 0;
        color: #BD0400;
}

.purpose-list {
        padding-left: 20px;
}

.purpose-list dt {
        font-weight: bold;
        color: #BD0400;
}

.purpose-list dd {
        margin-left: 0;
        margin-bottom: 30px;
        padding-left: 15px;
        border-left: 3px solid #eee;
}

.random-parent{
    display: flex;
    justify-content: center;
}

.banner{
    width: 700px;
    margin-bottom: 30px;
    margin-top: 15px;
}

#record-container{
    border-top: 2px #BFBFBF solid; 
    background-color:#900000; 
    padding-top:120px; 
    display: flex; 
    align-items: center; 
    flex-direction: column;
}

#record-background{
    width: 800px; 
    background-color:#fff; 
    padding:1px;
}

#record-frame{
    border: 3px rgb(143, 143, 141) solid; 
    border-radius: 0.1em; 
    background-color: #fff;
    padding:13px;
}

#record-frame2{
    border: 8px goldenrod solid; 
    border-radius: 0.1em; 
    background-color: #fff;
    padding:4px;
}

#record-frame3{
    border: 3px goldenrod solid; 
    border-radius: 0.1em; 
    background-color: #fff;
}

#record-logo{
    text-align:center; 
    padding-top:50px;
}

#title-logo-vertical{
    width: 280px; 
    height: 398.6px;
}

#record-item-container{
    display: flex; 
    justify-content: center; 
    padding-top: 40px; 
    padding-bottom: 70px;
}

#record-gold-bar{
    height: 5px; 
    background-color: goldenrod; 
    width: 200px;
}

.record-item{
    text-align: center; 
    padding-bottom: 7px; 
    font-size: 19px;
}

.record-text{
    text-align: center; 
    padding-bottom: 33px; 
    font-size: 23px; 
    font-weight: bold; 
    padding-left:60px; 
    padding-right:60px;
}

.reference{
    text-align: center;
    font-size: 17px;
    padding-top: 30px;
    padding-left: 30px;
    padding-right: 30px;
    padding-bottom:35px;
}

#record-photo{
    text-align: center; 
    padding-top: 20px; 
    padding-bottom: 70px;
}

#record-photo-size{
    width: 350px; 
    height: 223.3px;
}

#record-note{
    padding-bottom: 100px; 
    padding-top: 70px; 
    font-size: 14px; 
    color: #fff;
}

#list-title{
    text-align:center; 
    border-top: 2px #BFBFBF solid; 
    padding-top:80px;
    padding-bottom: 50px; 
    font-size: 34px;
    font-weight: bold;
}

.sport-title{
    text-align:center; 
    border-top: 2px #BFBFBF solid; 
    padding-top:80px;
    font-size: 34px;
    font-weight: bold;
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

.nav-links{
    display: flex; 
    justify-content: center;
}

.prev page-numbers{
    text-align:center; 
    display:block; 
    height:34px; 
    width:34px; 
    line-height:34px; 
    border:1px #BFBFBF solid; 
    border-radius:3px; 
    font-size: 21px; 
    font-weight: bold;
    margin: 10px;
    text-decoration: none;
}

.page-numbers{
    text-align:center; 
    display:block; 
    height:34px; 
    width:34px; 
    line-height:34px; 
    border:1px #BFBFBF solid; 
    border-radius:3px; 
    font-size: 21px; 
    font-weight: bold;
    margin: 10px; 
    text-decoration: none;
}

.dots{
    text-align:center; 
    display:block; 
    height:34px; 
    width:34px; 
    line-height:34px; 
    border:1px #BFBFBF solid; 
    border-radius:3px; 
    font-size: 21px; 
    font-weight: bold;
    margin: 10px; 
}

.current{
    text-align:center; 
    display:block; 
    height:34px; 
    width:34px; 
    line-height:34px; 
    border:1px #BFBFBF solid; 
    border-radius:3px; 
    font-size: 21px; 
    font-weight: bold;
    margin: 10px; 
    text-decoration: none;
    background-color:#BD0400; 
    color: #fff;
}

.page-numbers:hover{
    background-color:#BD0400; 
    color: #fff;
    text-decoration: none;
}

.next page-numbers{
    text-align:center; 
    display:block; 
    height:34px; 
    width:34px; 
    line-height:34px; 
    border:1px #BFBFBF solid; 
    border-radius:3px; 
    font-size: 21px; 
    font-weight: bold;
    margin: 10px;
    text-decoration: none;
}

#list-container{
    display: flex; 
    align-items: center; 
    flex-direction: column;
    padding-top: 50px;
    padding-bottom:60px;
}

.list-link{
    text-decoration: none;
    color:#000;
}

.list-content{
    width:750px; 
    border:1px #BFBFBF solid; 
    border-radius: 3px;
    margin: 10px; 
    padding: 15px 25px 15px 25px; 
    display: flex; 
    align-items: center;
}

.title-logo-single{
    width: 60px;
    height: 60px;
}

.link-record-title{
    padding-left: 25px; 
    font-size: 22px;
}

#list-bottom-space{
    height: 70px;
}

#content-search-parent{
    padding-top:60px; 
    padding-bottom: 50px; 
    display: flex; 
    justify-content: center;
}

.search-container{
    width: 550px;
    display: block;
}
  
input#search-bar{
    margin: 0 auto;
    width: 95%;
    height: 55px;
    padding: 0 20px;
    font-size: 22px;
    font-family:'Yu Gothic Medium', '游ゴシック Medium', 'YuGothic', '游ゴシック体', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN';
    border: 1px solid #BFBFBF;
    outline: none;
    border-radius: 27px;
}

input:focus::-webkit-input-placeholder {
	color: transparent;
}
input:focus::-moz-placeholder {
	color: transparent;
}
input:focus::-ms-input-placeholder {
	color: transparent;
}
input:focus::placeholder {
	color: transparent;
}

  .search-icon{
    position: relative;
    float: right;
    width: 75px;
    height: 75px;
    top: -68px;
    right: -20px;
}

/*これは記録ページの「日本記録保持者たち」へのリンクのcssです　始まり*/

#recordholder-container-parent{
    display: flex; 
    justify-content: center;
    padding-top: 0px; 
    padding-bottom: 140px; 
    color: #ffffff;
}

#recordholder-container{
    border: 5px goldenrod solid; 
    border-radius: 0.1em; 
    padding: 10px 50px 10px 50px; 
    display: flex; 
    justify-content: center;
    color: #ffffff;
}

#recordholder-container:hover {
    background: goldenrod;
  }

#recordholder-div{
    padding-bottom: 10px;
    color: #ffffff;
}

#recordholder-link-1{
    font-size: 15px; 
    color: #ffffff; 
    padding: 0px; 
    margin: 0px;
}

#recordholder-link-2{
    font-size: 25px; 
    color: #ffffff; 
    padding: 0px; 
    margin: 0px; 
    line-height: 1;
}

/*これは記録ページの「日本記録保持者たち」へのリンクのcssです　終わり*/

.category-title{
    padding-top: 50px; 
    text-align: center; 
    font-size: 34px; 
    font-weight: bold;
}

.category-red-bar-parent{
    display: flex; 
    justify-content: center; 
    padding-top: 10px;
}

.category-red-bar{
    width: 90px; 
    background-color: #BD0400; 
    height: 3px;
}

.content-category-parent{
    margin-top: 20px; 
    padding-bottom: 60px; 
}

.content-category-container{
    display:flex;
    justify-content: center;
    flex-wrap: wrap;
}

.sport-category-container{
    display:flex;
    justify-content: center;
    flex-wrap: wrap;
}

.content-category {
    width: 235px;
    padding: 25px 25px 25px 40px;
    margin: 10px;
    font-size: 18px;
    text-decoration: none;
    color: #000;
    border: solid 1px #BFBFBF;
    border-radius: 3px;
    transition: .1s;
    display: inline-flex;
    align-items: center;
  }
  
  .content-category:hover {
    background: #fff;
  }

  .sport-category {
    width: 300px;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 40px;
    margin: 10px;
    font-size: 18px;
    text-decoration: none;
    color: #000;
    border: solid 1px #BFBFBF;
    border-radius: 3px;
    transition: .1s;
    display: inline-flex;
    align-items: center;
  }

.sport-category:hover {
    background: #F2F2F2;
  }

.content-category-icon{
    height: 35px; 
    width: 35px; 
    padding-right: 20px;
}

.sport-category-icon{
    height: 50px; 
    width: 50px; 
    padding-right: 25px;
    padding-bottom: 10px;
}

#form-container{
    display: flex;
    align-items: center;
    flex-direction: column;
    padding-top: 50px;
    padding-bottom:60px;
}

#form-content{
    width: 750px;
    background-color: #fff;
    border:1px #BFBFBF solid; 
    margin: 5px; 
    padding: 15px 25px 15px 25px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
}

#sitemap-parent{
    display:flex; 
    justify-content:center; 
    flex-wrap:wrap;
}

.sitemap-container{
    display: flex; 
    justify-content: center; 
    flex-wrap: wrap; 
}

.sitemap-content{
    display: flex; 
    align-items: center;
}

.sitemap-vertical-bar{
    width: 3px; 
    height: 22px; 
    margin-right: 2px; 
    background-color:#BD0400;
}

/* -- footer -------------------------------------------------------------------------------- */

#footer-gold-bar{
	height: 5px;
	width: 100%; 
	background-color:goldenrod; 
}

#footer{
    background-color:#404040;
    display: flex; 
    justify-content: center;
}

#footer-left{
    text-align: center;
    padding-left: 50px;
    padding-right: 50px;
    padding-top: 30px;
	padding-bottom: 30px;
}

#title-logo-footer{
    width: 300px;
	height: 85.1px;
}

#footer-right{
    padding-top: 30px;
    width: 500px;
}

#footer-menu-top{
    display: flex; 
    justify-content: center;
    color: #ffffff;
}

.footer-menu-item{
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 15px;
    padding-right: 15px;
    font-size: 15px;
}

#footer-menu-bottom{
    text-align: center;
    color: #ffffff;
    border-top: 1px #ffffff solid;
    font-size: 13px;
    padding: 10px;
}


