/*=============================================
:root
=============================================*/
:root {
	--bg-color: #0068d7;
    --bg-color_main: #fff;
	--primary-color: #fdd400;
	--sub-color: #09b372;
    --vw: 1vw;
    --sW: calc((100% - 475px) /2);
    --kvWNarrow: calc(100% - 475px);
}

img{
    max-width: 100%;
}


/*=============================================
base
=============================================*/
html,body{
	font-family		: 'Noto Sans JP','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3',"メイリオ", Meiryo,"ＭＳ Ｐゴシック", "MS PGothic";
    line-height : 1.6;
    font-size   : 13px;
}

@media (prefers-reduced-motion) {
  body {
    animation: none;
  }
}

.btn{
    position: relative;
    display: block;
    border: 1px solid #fff;
    border-radius: 50px;
    padding: 0.5rem;
    text-align: center;
}

.btn:hover{
}

.text-center{
  text-align    : center !important;
}

.text-right{
  text-align    : right !important;
}

.text-left{
  text-align    : left !important;
}

.text-bold{
  font-weight   : bold !important;
}
/*=============================================
contents base
=============================================*/
main{
  display: flex;
  background: var(--bg-color);
}
@media screen and (max-width: 767px) {
  main {
    display: block;
  }
}

#key-visual {
  position:sticky;
  top:0;
  width:57.5757575758%;
  width:calc((100% - 475px)*.575);
  width:var(--sW);
  height:100lvh;
}
@media screen and (min-width: 768px)and (max-width: 1160px) {
  #key-visual {
    width:var(--kvWNarrow)
  }
}
@media screen and (max-width: 767px) {
  #key-visual {
    display : none;
  }
}

#contents-block {
  -webkit-box-flex:0;
  -ms-flex-positive:0;
  flex-grow:0;
  -ms-flex-negative:0;
  flex-shrink:0;
  width:475px;
  background: var(--bg-color_main);
}

@media screen and (max-width: 767px) {
  #contents-block {
    width:100%;
    margin:0
  }
}

#pc-nav {
  position:sticky;
  top:0;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
  width:var(--sW);
  height:100lvh;
  padding:38px 0 89px;
  color: #fff;
}
@media screen and (min-width: 768px)and (max-width: 1160px) {
  #pc-nav {
 //   display:none
     width:var(--kvWNarrow);
  }
}
@media screen and (max-width: 767px) {
  #pc-nav {
    display:none
  }
}

#pc-nav .contents {
  position: relative;
  width: 220px;
}

#pc-nav ul li a{
  margin: 0.75rem 0;
}

#pc-nav ul li a:last-child{
  margin-bottom:0;
}

.nav-title{
  background    : #fff;
  color         : var(--bg-color);
  border-radius : 50px;
  margin-bottom : 1.5rem;
  padding       : 0.5rem;
  text-align    : center;
  font-weight   : bold;
}

.contents{
}

/*---------------------------------------
spacing
----------------------------------------*/
.m-0 {
  margin: 0!important
}

.m-1 {
  margin: .25rem!important
}

.m-2 {
  margin: .5rem!important
}

.m-3 {
  margin: 1rem!important
}

.m-4 {
  margin: 1.5rem!important
}

.m-5 {
  margin: 3rem!important
}

.m-auto {
  margin: auto!important
}

.mx-0 {
  margin-right: 0!important;
  margin-left: 0!important
}

.mx-1 {
  margin-right: .25rem!important;
  margin-left: .25rem!important
}

.mx-2 {
  margin-right: .5rem!important;
  margin-left: .5rem!important
}

.mx-3 {
  margin-right: 1rem!important;
  margin-left: 1rem!important
}

.mx-4 {
  margin-right: 1.5rem!important;
  margin-left: 1.5rem!important
}

.mx-5 {
  margin-right: 3rem!important;
  margin-left: 3rem!important
}

.mx-auto {
  margin-right: auto!important;
  margin-left: auto!important
}

.my-0 {
  margin-top: 0!important;
  margin-bottom: 0!important
}

.my-1 {
  margin-top: .25rem!important;
  margin-bottom: .25rem!important
}

.my-2 {
  margin-top: .5rem!important;
  margin-bottom: .5rem!important
}

.my-3 {
  margin-top: 1rem!important;
  margin-bottom: 1rem!important
}

.my-4 {
  margin-top: 1.5rem!important;
  margin-bottom: 1.5rem!important
}

.my-5 {
  margin-top: 3rem!important;
  margin-bottom: 3rem!important
}

.my-auto {
  margin-top: auto!important;
  margin-bottom: auto!important
}

.mt-0 {
  margin-top: 0!important
}

.mt-1 {
  margin-top: .25rem!important
}

.mt-2 {
  margin-top: .5rem!important
}

.mt-3 {
  margin-top: 1rem!important
}

.mt-4 {
  margin-top: 1.5rem!important
}

.mt-5 {
  margin-top: 3rem!important
}

.mt-auto {
  margin-top: auto!important
}

.me-0 {
  margin-right: 0!important
}

.me-1 {
  margin-right: .25rem!important
}

.me-2 {
  margin-right: .5rem!important
}

.me-3 {
  margin-right: 1rem!important
}

.me-4 {
  margin-right: 1.5rem!important
}

.me-5 {
  margin-right: 3rem!important
}

.me-auto {
  margin-right: auto!important
}

.mb-0 {
  margin-bottom: 0!important
}

.mb-1 {
  margin-bottom: .25rem!important
}

.mb-2 {
  margin-bottom: .5rem!important
}

.mb-3 {
  margin-bottom: 1rem!important
}

.mb-4 {
  margin-bottom: 1.5rem!important
}

.mb-5 {
  margin-bottom: 3rem!important
}

.mb-auto {
  margin-bottom: auto!important
}

.ms-0 {
  margin-left: 0!important
}

.ms-1 {
  margin-left: .25rem!important
}

.ms-2 {
  margin-left: .5rem!important
}

.ms-3 {
  margin-left: 1rem!important
}

.ms-4 {
  margin-left: 1.5rem!important
}

.ms-5 {
  margin-left: 3rem!important
}

.ms-auto {
  margin-left: auto!important
}

.p-0 {
  padding: 0!important
}

.p-1 {
  padding: .25rem!important
}

.p-2 {
  padding: .5rem!important
}

.p-3 {
  padding: 1rem!important
}

.p-4 {
  padding: 1.5rem!important
}

.p-5 {
  padding: 3rem!important
}

.px-0 {
  padding-right: 0!important;
  padding-left: 0!important
}

.px-1 {
  padding-right: .25rem!important;
  padding-left: .25rem!important
}

.px-2 {
  padding-right: .5rem!important;
  padding-left: .5rem!important
}

.px-3 {
  padding-right: 1rem!important;
  padding-left: 1rem!important
}

.px-4 {
  padding-right: 1.5rem!important;
  padding-left: 1.5rem!important
}

.px-5 {
  padding-right: 3rem!important;
  padding-left: 3rem!important
}

.py-0 {
  padding-top: 0!important;
  padding-bottom: 0!important
}

.py-1 {
  padding-top: .25rem!important;
  padding-bottom: .25rem!important
}

.py-2 {
  padding-top: .5rem!important;
  padding-bottom: .5rem!important
}

.py-3 {
  padding-top: 1rem!important;
  padding-bottom: 1rem!important
}

.py-4 {
  padding-top: 1.5rem!important;
  padding-bottom: 1.5rem!important
}

.py-5 {
  padding-top: 3rem!important;
  padding-bottom: 3rem!important
}

.pt-0 {
  padding-top: 0!important
}

.pt-1 {
  padding-top: .25rem!important
}

.pt-2 {
  padding-top: .5rem!important
}

.pt-3 {
  padding-top: 1rem!important
}

.pt-4 {
  padding-top: 1.5rem!important
}

.pt-5 {
  padding-top: 3rem!important
}

.pe-0 {
  padding-right: 0!important
}

.pe-1 {
  padding-right: .25rem!important
}

.pe-2 {
  padding-right: .5rem!important
}

.pe-3 {
  padding-right: 1rem!important
}

.pe-4 {
  padding-right: 1.5rem!important
}

.pe-5 {
  padding-right: 3rem!important
}

.pb-0 {
  padding-bottom: 0!important
}

.pb-1 {
  padding-bottom: .25rem!important
}

.pb-2 {
  padding-bottom: .5rem!important
}

.pb-3 {
  padding-bottom: 1rem!important
}

.pb-4 {
  padding-bottom: 1.5rem!important
}

.pb-5 {
  padding-bottom: 3rem!important
}

.ps-0 {
  padding-left: 0!important
}

.ps-1 {
  padding-left: .25rem!important
}

.ps-2 {
  padding-left: .5rem!important
}

.ps-3 {
  padding-left: 1rem!important
}

.ps-4 {
  padding-left: 1.5rem!important
}

.ps-5 {
  padding-left: 3rem!important
}


/*---------------------------------------
flex
----------------------------------------*/
.row-flex{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.row-flex.s-bt{
  justify-content: space-between;
}

.row-flex > * {
  flex-shrink: 0;
  width: 100%;
  max-width: 100%;
}

.row-flex .col-1 {
  flex:0 0 auto;
  width:8.33333333%
}

.row-flex .col-2 {
  flex:0 0 auto;
  width:16.66666667%
}

.row-flex .col-3 {
  flex:0 0 auto;
  width:25%
}

.row-flex .col-4 {
  flex:0 0 auto;
  width:33.33333333%
}

.row-flex .col-5 {
  flex:0 0 auto;
  width:41.66666667%
}

.row-flex .col-6 {
  flex:0 0 auto;
  width:50%
}

.row-flex .col-7 {
  flex:0 0 auto;
  width:58.33333333%
}

.row-flex .col-8 {
  flex:0 0 auto;
  width:66.66666667%
}

.row-flex .col-9 {
  flex:0 0 auto;
  width:75%
}

.row-flex .col-10 {
  flex:0 0 auto;
  width:83.33333333%
}

.row-flex .col-11 {
  flex:0 0 auto;
  width:91.66666667%
}

.row-flex .col-12 {
  flex:0 0 auto;
  width:100%
}

.row-flex .ml-auto {
  margin-left: auto !important;
}

.row-flex .mr-auto {
  margin-right: auto !important;
}

@media screen and (min-width: 576px) {
  .row-flex .col-sm-1 {
    flex:0 0 auto;
    width:8.33333333%
  }
  
  .row-flex .col-sm-2 {
    flex:0 0 auto;
    width:16.66666667%
  }
  
  .row-flex .col-sm-3 {
    flex:0 0 auto;
    width:25%
  }
  
  .row-flex .col-sm-4 {
    flex:0 0 auto;
    width:33.33333333%
  }
  
  .row-flex .col-sm-5 {
    flex:0 0 auto;
    width:41.66666667%
  }
  
  .row-flex .col-sm-6 {
    flex:0 0 auto;
    width:50%
  }
  
  .row-flex .col-sm-7 {
    flex:0 0 auto;
    width:58.33333333%
  }
  
  .row-flex .col-sm-8 {
    flex:0 0 auto;
    width:66.66666667%
  }
  
  .row-flex .col-sm-9 {
    flex:0 0 auto;
    width:75%
  }
  
  .row-flex .col-sm-10 {
    flex:0 0 auto;
    width:83.33333333%
  }
  
  .row-flex .col-sm-11 {
    flex:0 0 auto;
    width:91.66666667%
  }
  
  .row-flex .col-sm-12 {
    flex:0 0 auto;
    width:100%
  }
  
  .row-flex .ml-sm-auto {
    margin-left: auto !important;
  }
  
  .row-flex .mr-sm-auto {
    margin-right: auto !important;
  }
}

@media screen and (min-width: 768px) {
  .row-flex .col-md-1 {
    flex:0 0 auto;
    width:8.33333333%
  }
  
  .row-flex .col-md-2 {
    flex:0 0 auto;
    width:16.66666667%
  }
  
  .row-flex .col-md-3 {
    flex:0 0 auto;
    width:25%
  }
  
  .row-flex .col-md-4 {
    flex:0 0 auto;
    width:33.33333333%
  }
  
  .row-flex .col-md-5 {
    flex:0 0 auto;
    width:41.66666667%
  }
  
  .row-flex .col-md-6 {
    flex:0 0 auto;
    width:50%
  }
  
  .row-flex .col-md-7 {
    flex:0 0 auto;
    width:58.33333333%
  }
  
  .row-flex .col-md-8 {
    flex:0 0 auto;
    width:66.66666667%
  }
  
  .row-flex .col-md-9 {
    flex:0 0 auto;
    width:75%
  }
  
  .row-flex .col-md-10 {
    flex:0 0 auto;
    width:83.33333333%
  }
  
  .row-flex .col-md-11 {
    flex:0 0 auto;
    width:91.66666667%
  }
  
  .row-flex .col-md-12 {
    flex:0 0 auto;
    width:100%
  }
  
  .row-flex .ml-md-auto {
    margin-left: auto !important;
  }
  
  .row-flex .mr-md-auto {
    margin-right: auto !important;
  }

}
  
  
@media screen and (min-width: 992px) {
  .row-flex .col-lg-1 {
    flex:0 0 auto;
    width:8.33333333%
  }
  
  .row-flex .col-lg-2 {
    flex:0 0 auto;
    width:16.66666667%
  }
  
  .row-flex .col-lg-3 {
    flex:0 0 auto;
    width:25%
  }
  
  .row-flex .col-lg-4 {
    flex:0 0 auto;
    width:33.33333333%
  }
  
  .row-flex .col-lg-5 {
    flex:0 0 auto;
    width:41.66666667%
  }
  
  .row-flex .col-lg-6 {
    flex:0 0 auto;
    width:50%
  }
  
  .row-flex .col-lg-7 {
    flex:0 0 auto;
    width:58.33333333%
  }
  
  .row-flex .col-lg-8 {
    flex:0 0 auto;
    width:66.66666667%
  }
  
  .row-flex .col-lg-9 {
    flex:0 0 auto;
    width:75%
  }
  
  .row-flex .col-lg-10 {
    flex:0 0 auto;
    width:83.33333333%
  }
  
  .row-flex .col-lg-11 {
    flex:0 0 auto;
    width:91.66666667%
  }
  
  .row-flex .col-lg-12 {
    flex:0 0 auto;
    width:100%
  }
  
  .row-flex .ml-lg-auto {
    margin-left: auto !important;
  }
  
  .row-flex .mr-lg-auto {
    margin-right: auto !important;
  }

}