*, *:before, *:after {
  margin: 0;
  padding: 0;
  list-style: none;
  font-weight: normal;
  text-decoration: none;
  box-sizing: border-box;
  font-size: 15px;
  font-size: 1.5rem;
}
a {
  text-decoration: none;
  font-size: inherit;
  font-weight: inherit;
  transition: all 0.3s ease;
  color: #4D4D4D;
}
a:hover{
  opacity: 0.5;
  transition: all 0.3s ease;
}
i::before{
  font-weight: unset;
}
ul, ol, dl {
  list-style: none;
}
html {
  font-size: 62.5%;
}
input[type=date],
input[type=submit]{
  -webkit-appearance: none;
  appearance: none;
  border: none;
}
input{
  height: 45px;
}
input,
textarea{
  width: 100%;
  border: #4D4D4D 1px solid;
  padding: 10px 15px;
}
input::placeholder{
  color: #4D4D4D;
  font-size: 18px;
}
select{
  padding: 10px 15px;
  border: #4D4D4D 1px solid;
  width: 100%;
}
input[type=radio],
input[type=checkbox]{
  width: auto;
  padding: 0;
  height: auto;
}
img {
  max-width: 100%;
  height: auto;
  border:0;
  display: block;
  margin: 0 auto;
}
body {
  color: #1E1E1E;
  line-height: 1.8;
	font-family: "NotoSansJP M",
    "Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;;
  font-style: normal;
  text-align: center;
}
h1{
  font-size: 40px;
  font-size:4rem;
  margin-bottom: 20px;
  font-weight: bold;
}
h3{
  font-size: 25px;
  font-size: 2.5rem;
}
p{
  margin: 2% 0;
}
span{
  font-size: inherit;
  font-weight: inherit;
}
button{
  background: none;
}
.pc-only{
  display: block!important;
}
.sp-only{
  display: none!important;
}

@media screen and (max-width: 1024px) and (min-width: 769px){
  h1{
    font-size: 28px;
    font-size:2.8rem;
  }
  h2{
    font-size:20px;
    font-size:2rem;
  }
}
@media screen and (max-width: 768px){
  *, *:before, *:after {
    font-size: 14px;
    font-size: 1.4rem;
  }
  h1{
    font-size:35px;
    font-size:3.5rem;
  }
  h2{
    font-size:28px;
    font-size:2.8rem;
  }
  /* 共通 */
  .table dt{
    padding: 5%; 
    width: 45%;   
  }
  .table dd{
    padding: 5%;
  }
  input,
  textarea{
    padding: 0 5px;
    border-radius: 5px;
  }
  textarea{
    height: 200px;
  }
  select{
    max-width: 80%;
    padding: 5px;
    min-width: 100%;
    border-radius: 5px;
  }
  .pc-only{
    display: none!important;
  }
  .sp-only{
    display: block!important;
  }  
}

main{
  transition: all 1s;
  overflow: hidden;
}
.common {
  max-width: 840px;
  margin: 0px auto;
  width: 100%;
  word-break: break-all;
  z-index: 1;
}
.common2{
  max-width: 840px;
  margin: 0px auto;
  width: 100%;
  word-break: break-all;
  z-index: 1;
}

@media screen and (max-width: 840px){
  .common{
    width: 90%;
  }
  .common2{
    width: 100%;
  }
}

/*フォント
=======================================================*/
@font-face {
	font-family: "NotoSansJP R";
	src: url("/wp-content/themes/b-pro/font/NotoSansJP-Regular.ttf");
	font-weight: 500;
}
@font-face {
	font-family: "NotoSansJP M";
	src: url("/wp-content/themes/b-pro/font/NotoSansJP-Medium.ttf");
	font-weight: 500;
}
@font-face {
	font-family: "NotoSansJP Bo";
	src: url("/wp-content/themes/b-pro/font/NotoSansJP-Bold.ttf");
	font-weight: bold;
}
@font-face {
	font-family: "NotoSansJP SB";
	src: url("/wp-content/themes/b-pro/font/NotoSansJP-SemiBold.ttf");
	font-weight: 500;
}
@font-face {
	font-family: "NotoSansJP EB";
	src: url("/wp-content/themes/b-pro/font/NotoSansJP-ExtraBold.ttf");
	font-weight: 500;
}
@font-face {
	font-family: "NotoSansJP Bl";
	src: url("/wp-content/themes/b-pro/font/NotoSansJP-Black.ttf");
	font-weight: 500;
}

.ff-NR{
  font-family: "NotoSansJP R";
}
.ff-NM{
  font-family: "NotoSansJP M";
}
.ff-NBo{
	font-family: "NotoSansJP Bo";
  font-weight: bold;
}
.ff-NSB{
	font-family: "NotoSansJP SB";
}
.ff-NEB{
	font-family: "NotoSansJP EB";
}
.ff-NBl{
	font-family: "NotoSansJP Bl";
}

/*タイトル
=======================================================*/
.ttl-S{
  font-size: 40px;
  margin: 20px auto;
}

@media screen and (max-width: 768px){
  .ttl-S{
    font-size: 20px;
  }
}

/*文字色・文字位置
=======================================================*/
/*文字色*/
.fc-w{
  color:#fff!important;
}
.fc-r{
  color:#FF0000!important;
}
.fc-p{
  color: #FF65C7!important;
}
.fc-y{
  color: #FFFF00!important;
}
/*背景色*/
.bg-p{
  background: #FF65C7!important;
}
.bg-y{
  background: #F7FF00!important;
}
.bg-y2{
  background: #FFFBE9!important;
}
.bg-w{
  background: #FFFFFF!important;
}
/*マーカー*/
.marker-y1{
  background:linear-gradient(transparent 35%, #ff6 35%);
}
/*文字位置*/
.tac{
  text-align: center!important;
}
.tar{
  text-align: right!important;
}

@media screen and (max-width: 768px){
}

/*B-PRO
=======================================================*/
.bpro-box-txt{
  font-size: 40px;
}
.bpro-ttl{
  display: flex;
  justify-content: center;
  line-height: 1.5;
}
.bpro-ttl span{
  font-size: 55px;
  padding: 5px 8px;
  line-height: 1.3;
  height: fit-content;
  margin-top: auto;
  margin-bottom: 5px;
  margin-right: 5px;
}
.bpro-ttl .bpro-ttl-big{
  font-size: 130px;
  line-height: 1;
}
.bpro-box2{
  padding: 20px 0;
}
.bpro-box-top-txt1{
  font-size: 35px;
}
.bpro-box-top-txt1 span.fc-p{
  font-size: 40px;
}
.bpro-box-top-txt2{
  font-size: 60px;
  background: #FFF9AA;
  width: fit-content;
  margin: 10px auto;
  padding: 0 20px;
  line-height: 1.5;
}
.bpro-box-top-txt2 span.bpro-box-top-txt2-span{
  font-size: 58px;
}
.bpro-box-top-txt2 span.fc-p{
  font-size: 70px;
}
.bpro-box2 .bpro-ttl{
  margin: 20px auto 10px;
}

@media screen and (max-width: 768px){
  .bpro-box-txt{
    font-size: 20px;
  }
  .bpro-ttl{
  }
  .bpro-ttl span{
    font-size: 22px;
  }
  .bpro-ttl .bpro-ttl-big{
    font-size: 70px;
  }
  .bpro-box-top-txt1 {
    font-size: 19px;
  }
  .bpro-box-top-txt1 span.fc-p{
    font-size: 22px;
  }
  .bpro-box-top-txt2{
    font-size: 32px;
    padding: 0 10px;
  }
  .bpro-box-top-txt2 span.bpro-box-top-txt2-span {
    font-size: 28px;
  }
  .bpro-box-top-txt2 span.fc-p {
    font-size: 35px;
  }
}

/*共通アニメーション フェードイン
=======================================================*/
/*ふわっと表示*/
.anime-fadeins.offs .effect {
  opacity: 0;
  transform: translate(0, 50px);
  -webkit-transform: translate(0, 50px);
}
.anime-fadeins.ons .effect {
  opacity: 1;
  -webkit-transition: all 1s ease;
  transition: all 1s ease；;
}
/*以下、遅延の設定*/
.anime-fadeins.ons .delay-1 {
  -webkit-transition-delay: 0.2s;
  transition-delay: 0.2s;
}
.anime-fadeins.ons .delay-2 {
  -webkit-transition-delay: 0.4s;
  transition-delay: 0.4s;
}
.anime-fadeins.ons .delay-3 {
  -webkit-transition-delay: 0.6s;
  transition-delay: 0.6s;
}
.anime-fadeins.ons .delay-4 {
  -webkit-transition-delay: 0.8s;
  transition-delay: 0.8s;
}
.anime-fadeins.ons .delay-5 {
  -webkit-transition-delay: 1s;
  transition-delay: 1s;
}

/*ヘッダー
=======================================================*/
header{
  width:100%;
  position: fixed;
  top:0;
  left:0;
  z-index:99999;
  color:#4D4D4D;
  transition: all 0.3s ease;
}

@media screen and (max-width: 1200px){
}
@media screen and (max-width: 1045px){
}
@media screen and (max-width: 768px){
}

/*上に戻るボタン
=======================================================*/
.pagetop {
  position: fixed;
  bottom: 9vh;
  right: 1vw;
  width: 50px;
  height: 50px;
  cursor: pointer;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #9A0047;
  padding: 10px;
}
.pagetop img{
  object-fit: contain;
}

@media screen and (max-width: 768px){
  .pagetop{
    width: 40px;
    height: 40px;
    bottom: 11vh;
  }
}

/*ボタン
=======================================================*/

@media screen and (max-width: 768px){
}

/*フッター
=======================================================*/
footer {
}
.f-inner{
  width: 590px;
  margin: 0 auto;
}
.f-inner ul{
  display: flex;
  justify-content: space-between;
}
.f-inner ul li a{
  font-family: "Jost R";
  font-size: 18px;
}
p#copyright{
  margin: 30px auto 40px;
  text-align: center;
}
#copyright small{
  font-size: 15px;
  display: block;
  color: #4D4D4D;
}

@media screen and (max-width: 1000px){
}
@media screen and (max-width: 768px){
  .f-inner{
    width: 90%;
  }
  .f-inner ul li a{
    font-size: 12px;
  }
  #copyright small{
    font-size: 11px;
  }
}