@charset "utf-8";

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

@media (max-width:1024px){
    .pc-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;
}

.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;
}

.content-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;
    font-style:normal;
    text-decoration:none;
}
.footer-menu-item a:visited {
    color:#fff;
    text-decoration:none;
}
.footer-menu-item a:hover {
    color:#fff;
    font-style:normal;
    text-decoration: none;
}
.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";
	box-sizing : border-box;
}

/* -- 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%; 
	padding-top: 5px;
}
#title-logo{
	margin-top: 10px;
	margin-left: 5px; 
	margin-bottom: 5px;
	width: 138.6px;
	height: 58.3px;
}

#mobile-menu {
	list-style-type: none;
	width: 100%;
	background: #ffffff;
	opacity: 1;
	position: absolute;
	left: -40px;
	top: 67px;
	z-index: 990;
	display: none;
}

.menu-font{
	text-align: center;
	font-size:22px; 
	font-weight: bold;
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid darkgrey;
}

/* -- sp-icon -------------------------------------------------------------------------------- */

div#sp-icon {
	width: 80px;
	height: 80px;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 999;
}

div#sp-icon:hover {
	cursor: pointer;
	opacity: 0.7;
}

div#sp-icon span,
div#sp-icon span:before,
div#sp-icon span:after {
	display: inline-block;
	width: 30px;
	height: 3px;
	background: #000000;
	position: absolute;
	transition-property: transform;
	transition-duration: 0.3s;
}

div#sp-icon span {
	left: 50%;
	top: 50%;
	transform: translate( -50%, -50% );
}

div#sp-icon span:before {
	content: "";
	transform: translateY( -10px ) rotate( 0deg );
}

div#sp-icon span:after {
	content: "";
	transform: translateY( 10px ) rotate( 0deg );
}


div.sp-open span {
	background: transparent !important;
}

div.sp-open span:before {
	transform: rotate( 45deg ) !important;
}

div.sp-open span:after {
	transform: rotate( -45deg ) !important;
}

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

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

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

#title{
    background-color: #888; 
    text-align: center;  
    color: #fff; 
    padding: 8px; 
    margin-bottom: 20px;
}

#certificate-img{
    width: 350px;
	height: 414px;
}

.content-title{
    padding: 10px 20px 0px 20px;
    font-size: 22px; 
    font-weight: bold;
}

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

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

.content{
    padding: 0px 20px 10px 20px;
    font-size: 17px;
    line-height: 27px;
}

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

.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-right: 30px;
    padding-top: 25px;
    padding-bottom:10px;
}

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

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

.causion{
    font-size: 22px;
    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: 30px;
    margin-bottom: 25px;
}

.choice-card {
    flex: 1;
    border: 2px solid #BFBFBF;
    border-radius: 8px;
    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: 21px;
    line-height: 1.5;
    margin-bottom: 0;
}

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

.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);
}

.app-steps{
    font-size: 22px;
    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: 80%;
    margin-bottom: 30px;
}


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

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

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

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

#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: 200px; 
    height: 284.7px;
}

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

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

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

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

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

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

#record-photo-size{
    width: 230px; 
    height: 146.7px;
}

#record-note{
    padding-right:20px;;
    padding-bottom: 60px; 
    padding-top: 50px; 
    font-size: 14px; 
    color: #fff;
}

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

.sport-title{
    text-align:center; 
    border-top: 2px #BFBFBF solid; 
    padding-top:50px;
    padding-left: 50px;
    padding-right: 50px;
    font-size: 28px;
    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: 18px; 
    margin: 6px;
    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: 18px; 
    margin: 6px; 
    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: 18px; 
    margin: 6px; 
}

.current{
    text-align:center; 
    display:block; 
    height:34px; 
    width:34px; 
    line-height:34px; 
    border:1px #BFBFBF solid; 
    border-radius:3px; 
    font-size: 18px; 
    margin: 6px; 
    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: 18px; 
    margin: 6px;
    text-decoration: none;
}

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

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

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

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

.link-record-title{
    padding-left: 15px; 
    font-size: 16px;
}

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

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

.search-container{
    max-width: 550px;
    width: 100%;
    display: block;
    display: flex;
    justify-content: center;
}
  
input#search-bar{
    width: 70%;
    height: 50px;
    padding: 0 20px;
    font-size: 17px;
    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;
}
input{
    -webkit-appearance: none;
}

.search-icon{
      display: none;
}

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

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

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

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

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

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

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

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

.category-title{
    padding-top: 40px; 
    text-align: center; 
    font-size: 28px; 
    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: 40px; 
    padding-bottom: 50px; 
    display: flex; 
    justify-content: center; 
    flex-wrap: wrap;
}

.content-category-container{
    width: 300px;
}

.sport-category-container{
    width: 320px;
}

.content-category {
    width: 240px;
    padding: 20px;
    margin: 10px;
    font-size: 17px;
    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: 280px;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
    margin: 10px;
    font-size: 17px;
    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: 30px; 
    width: 30px; 
    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: 40px;
    padding-bottom:60px;
    width: 100%;
}

#form-content{
    background-color: #fff;
    border:1px #BFBFBF solid; 
    margin: 10px; 
    padding: 15px 25px 15px 25px;
    text-align: center;
    font-size: 18px;
    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;
}

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

#title-logo-footer{
    width: 200px;
	height: 56.7px;
}

.footer-menu-item{
	text-align: center;
	color: #fff;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 18px;
}

#footer-menu-bottom{
    text-align: center;
    color: #fff;
	margin-top: 20px;
    border-top: 1px #fff solid;
    font-size: 10px;
	padding: 30px 0px;
}
