img{max-width: 100%;}
a{color: #000;text-decoration: none;}

/*-------------------------
header 
-------------------------*/
.container{margin: 0 auto; max-width: 430px;}
.flex{display: flex;align-items: center;vertical-align: bottom;justify-content: space-between;padding: 8px;}
.header-wrapper{background-color:#F3F3F3;margin: 0 auto;}
.header-wrapper img{width: 100px;padding: 8px;}
.header-text{padding: 0.2em;position: relative;display: inline-block;}
.header-text img{width: 130px;height: auto;padding: 0;margin: -4px 0;}
.header-text a {position: absolute;top: 50%;left: 50%; transform: translate(-50%,-65%);text-decoration: none;
    /* 黄金の文字 */
    background: linear-gradient(171.11deg, #D4B76E 29.41%, #E5D7B3 49.04%, #D5A52C 69.06%);
    -webkit-background-clip: text;-webkit-text-fill-color: transparent;
    /*ここまで*/
    font-weight: 900;white-space: nowrap;font-size: 12px;}
.header-button-wrapper {text-align: right;}

/*-------------------------
footer
-------------------------*/
footer{padding: 1.2em;margin-top: 2em;}
footer li {list-style-type: none;font-weight: 900;font-size:16px; border-bottom: 1px solid rgba(242, 209, 94, 1);padding: 0.9em 0.9em 0.9em 0;margin-top: 0.2em;}
.caution-text{border: 1px solid rgba(242, 209, 94, 1);padding: 2.0em 1.5em;margin-top: 4em;font-size: 12px;line-height: 18px;}


/*-------------------------
section contents
-------------------------*/
#before-section01{position: relative;}
.fv-images{max-width: 430px;width: 100%;}
.line-cta {
  position: absolute;inset:0;
  top: 77%;
  max-width:350px;width:90%;margin: 0 auto;}

/*-------------------------
金色ボーダー白背景BOX
-------------------------*/
.text-box{background: rgba(255, 255, 255, 1);box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.25);padding: 0.4em;width: 95%;margin: 0px auto;}
.text-box2{background: rgba(255, 255, 255, 1);box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.25);padding: 0.4em;width: 95%;margin: 0px auto;}
.border-gold{border: 1px solid;border-image-source: linear-gradient(171.11deg, #D4B76E 29.41%, #E5D7B3 49.04%, #D5A52C 69.06%);border-image-slice: 1;padding: 1em;}
.border-gold2{border: 1px solid;border-image-source: linear-gradient(171.11deg, #D4B76E 29.41%, #E5D7B3 49.04%, #D5A52C 69.06%);border-image-slice: 1;padding: 1em;}
/*-------------------------
金色白BOXのテキスト
-------------------------*/
.text-box p{font-size: 12px;font-weight: 400;line-height: 20px;}
.text-box2 p{font-size: 12px;font-weight: 400;line-height: 20px;}
.mb-1em{margin-bottom: 1em;}
.color-red{color: rgba(255, 0, 0, 1);}

/*-------------------------
section-images-group
-------------------------*/
.section-images-group{margin-top: 1em;}

/*-------------------------
before-section03
-------------------------*/
#before-section03{position: relative;}
.position-images{position: absolute;inset: 0;top: 85%;margin: 0 auto;text-align: center;}
.text-left{text-align: left;}

/*-------------------------
line-cta2
-------------------------*/
.line-cta2{background-image: url(/img/foot-back.png);background-size: cover; margin-top: -7px;height: 610px;text-align: center;}
.foot-line-cta{max-width: 350px; margin-bottom: 1em;}


/*-------------------------
的中実績 
-------------------------*/
#section_achievement{
    background-image: url(../img/achievement_back_before.png);
    background-size: cover;
    background-position: center;
    padding-bottom: 70px;
  }
  
  #section_achievement .result_list{
    max-width: 310px;
    width: 90%;
    margin: 10px auto 0;
  }
  #section_achievement .result_list li{
    display: flex;
    align-items: center;
    background-image: url(../img/result_back.png);
    /* background-size: cover; */
    background-position: center;
    padding:6px 0;
  }
  #section_achievement .result_list li:not(:nth-child(8)){
    margin-bottom: 10px;
  }
  
  #section_achievement .result_list li .date{
   text-align: right;
   font-weight: bold;
  }
  #section_achievement .result_list li .race{
    font-weight: bold;
    text-align: end;
  }
  #section_achievement .result_list li .price{
    font-size: 1.8rem;
    background: linear-gradient(171.11deg, #d4b76e 29.41%, #e5d7b3 49.04%, #d5a52c 69.06%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: bold;
    -webkit-text-stroke: 1px #5f5024;
    text-stroke: 1px #FFF;
  }
  
  
  #section_achievement .more_btn {
    margin-top: 35px;
    text-align: center;
  }
  #section_achievement .more_btn a {
    display: inline-block;
    background-image: url(../img/contact_btn.png);
    background-position: center;
    padding: 20px 85px;
  }
  
  #section_achievement .more_btn a span {
    background-image: url(../img/contact_btn.png);
    background: linear-gradient(
      171.11deg,
      #d4b76e 29.41%,
      #e5d7b3 49.04%,
      #d5a52c 69.06%
    );
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    /*ここまで*/
    font-weight: 900;
    white-space: nowrap;
  }
  #section_achievement .pagenation{
    margin-top: 30px;
    text-align: center;
  }
  #section_achievement .pagenation li{
    background-color: #FFF;
    display: inline-block;
    margin-left: 7px;
  }
  #section_achievement .pagenation li a{
    display: inline-block;
      background: linear-gradient(171.11deg, #d4b76e 29.41%, #e5d7b3 49.04%, #d5a52c 69.06%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      padding: 7px 15px;
      font-weight: bold;
      font-size: 22px;
  }
  


/*-------------------------
ログインページここから
-------------------------*/
.section_login .title{
    margin: 1em;
    padding: 10px;
    text-align: center;
    position: relative;
    font-size: 22px;
    font-weight: 600;
    background: linear-gradient(171.11deg, #d4b76e 29.41%, #e5d7b3 49.04%, #d5a52c 69.06%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;}

.section_login .title::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid transparent;
    background: linear-gradient(10deg, #d4b76e 0%, #e5d7b3 50%, #d5a52c 100%)
      border-box;
    -webkit-mask: linear-gradient(#fff 0 0) padding-box,
      linear-gradient(#fff 0 0) border-box;
    -webkit-mask-composite: destination-out;
    mask: linear-gradient(#fff 0 0) padding-box,
      linear-gradient(#fff 0 0) border-box;
    mask-composite: exclude;}

.login-back{position: relative;padding: 0;height: 500px;max-width:375px;width: 100%;margin: 0 auto;z-index: -1;}

.login-text p{font-size: 13px;font-weight: 400;margin-bottom: 1em;position: absolute; top: 270px;left: 51%;transform: translateX(-50%);width: 208px;}
.font-gold{background: linear-gradient(171.11deg, #D4B76E 29.41%, #E5D7B3 49.04%, #D5A52C 69.06%);
    -webkit-background-clip: text;-webkit-text-fill-color: transparent;}



.login-button{position: relative;display: inline-block;}
.login-button img{width: 300px;}
.login-button a {position: absolute;top: 50%;left: 50%; transform: translate(-50%,-65%);text-decoration: none;
    /* 黄金の文字 */
    background: linear-gradient(171.11deg, #D4B76E 29.41%, #E5D7B3 49.04%, #D5A52C 69.06%);
    -webkit-background-clip: text;-webkit-text-fill-color: transparent;
    /*ここまで*/
    font-weight: 900;white-space: nowrap;font-size: 14px;}

.input-box {background: rgba(245, 245, 245, 1);border: 1px solid;
    border-image-source: linear-gradient(171.11deg, #D4B76E 29.41%, #E5D7B3 49.04%, #D5A52C 69.06%);
    ;border-image-slice: 1;padding: 5px;margin: 10px auto;}

.form-content{text-align: center;margin-top: -280px;}
.btn-login{display: block;margin: 0 auto;}

/*------------------
ナビゲーション
--------------------*/
.nav-contents {
  background-size: cover;
  max-width: 430px;
  height: 60px;
  display: flex;
  align-items: center;
  padding: 0 10px;
  position: fixed; /* 追従用 */
  bottom: 0; /* 追従用 */
  width: 100%; /* 追従用 */
  box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1); /* 追従用 */
  z-index: 1000; /* 追従用 */
}

.nav-list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  list-style: none;
  width: 100%;
  margin: 0;
  padding: 0;
}

.nav-list li {
  flex: 1;
  text-align: center;
  border-left: 1px solid rgba(169, 155, 103, 1);
  display: flex;
  justify-content: center;
  align-items: center;
}

.nav-list li:first-child {
  border-left: none;
}

.nav-list a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  color: inherit;
}

.nav-list img {
  max-height: 100%;
  width: 100%;
  display: inline-block;
  vertical-align: middle;
  padding-bottom: 3rem;
}

/* メールアドレス入力フォーム */
.top-form__inner {
	padding: 0 1.46875rem;
}

.top-form__contact {
	margin: -253px  auto 0;
	width: 82.01%;
}

.top-form__contact input {
	background-color: #EDEDED;
	background-image: url("../img/contact-input.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 3.125rem;
	box-sizing: border-box;
	color: #929292;
	font-size: 1.074375rem;
	font-weight: 700;
	height: 3.125rem;
	padding: 0.75rem 0.9375rem;
	width: 100%;
}

.top-form__button {
	margin-top: 1.25rem;
}

.top-form__button img {
	margin-left: auto;
	margin-right: auto;
	transition: transform 0.3s ease-out;
	width: 100%;
}

.top-form__button img:hover {
	transform: scale(0.98);
}

.top-form__benefits {
	margin-top: -0.5rem;
}

.top-form__benefits img {
	margin-left: auto;
	margin-right: auto;
	width: 85.135%;
}

.top-form__benefits--setting {
	margin-top: -0.625rem;
}

.top-form__benefits--margin {
	margin-top: 1.25rem;
}

.top-form__registration--setting {
	margin-top: -0.9375rem;
}

.top-form__registration--margin {
	margin-top: 3.125rem;
}

.setting__attention {
	margin: 0.9375rem auto auto -1.46875rem;
	width: calc(100% + 2.9375rem);
}

.top-form__contact--fv {
	margin: -253px auto 0;
}

.top-form__button--fv {
	width: 82.01%;
  margin: 13px auto;
}

/* メールアドレス入力フォーム */

* メールアドレス入力フォーム */

.top-form__inner {
	padding: 0 1.46875rem;
}

.top-form__contact2 {
	margin: -1.5rem auto 0;
	width: 82.01%;
}

.top-form__contact2 input {
	background-color: #EDEDED;
	background-image: url("../img/contact-input.png");
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100% 3.125rem;
	box-sizing: border-box;
	color: #929292;
	font-size: 1.074375rem;
	font-weight: 700;
	height: 3.125rem;
	padding: 0.75rem 0.9375rem;
	width: 100%;
}

.top-form__button2 {
	margin-top: 1.25rem;
}

.top-form__button2 img {
	margin-left: auto;
	margin-right: auto;
	transition: transform 0.3s ease-out;
	width: 100%;
}

.top-form__button2 img:hover {
	transform: scale(0.98);
}

.top-form__benefits2 {
	margin-top: -0.5rem;
}

.top-form__benefits2 img {
	margin-left: auto;
	margin-right: auto;
	width: 85.135%;
}

.top-form__benefits--setting2 {
	margin-top: -0.625rem;
}

.top-form__benefits--margin2 {
	margin-top: 1.25rem;
}

.top-form__registration--setting2 {
	margin-top: -0.9375rem;
}

.top-form__registration--margin2 {
	margin-top: 3.125rem;
}

.setting__attention {
	margin: 0.9375rem auto auto -1.46875rem;
	width: calc(100% + 2.9375rem);
}

.top-form__contact2--fv {
	margin: -16.5rem auto 0;
}

.top-form__button2--fv {
	width: 82.01%;
  margin: 13px auto;
}
/* 負のマージンを使わない方法 */
.container {
  position: relative;
}

.top-form__contact {
  position: absolute;
  top: 100%; 
  left: 50%;
  transform: translateX(-50%);
  width: 82.01%;
}

@media screen and (max-width: 390px) {
  .top-form__contact {
    top: 102%; 
    left: 50%;
    transform: translateX(-50%);
    width: 82.01%;
  }
}

@media screen and (max-width: 400px) {
  .top-form__contact {
    top: 102%; 
    left: 50%;
    transform: translateX(-50%);
    width: 82.01%;
  }
}