@charset "UTF-8";
img {
  image-rendering: -webkit-optimize-contrast;
}

.pc {
    display: block;
}
.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }

}

.pinktxt {
  color: #ff3955;
}

body{
	background-color:#06c755;    
}
header {
/*  position: absolute;*/
position: relative;
  top: 0;
  z-index: 1;
  width: 100%;
  padding: 5px;
  background-color: black;
}
.logo_img{
    width:50%;
    padding:0 60px;
}
@media screen and (max-width: 768px) {
  header .brand {
    height: 10vw;
  }
}

.footer {
  background-color: #C6E9F6;
}
.footer {
    padding: 3rem 1.5rem 3rem;
}

.title1{
    text-align: center;
    width:100%;
    background-color:black;
    margin:0 auto;
    padding:0px;
}



.detail_waku{
    width: 90%;
    text-align: center;
    margin:0px auto;
    padding: 0px 0px 0px 0px;
    /*background: radial-gradient(#fffde8 0%, #faff63 50%);*/


  background: url(../images/bg.jpg);
  background-size: contain;
  position: relative;
}
.detail2_waku{
	width: 100%;
	text-align: center;
	margin:0px auto;
	padding:50px 0px;
}
.detail1,
.detail2{
    margin:0 auto;
    width:80%;
    padding: 0px;
    background-color:#06c755;
}
.btn_items{
    width:45%;
    padding: 20px 10px;
}
.btn_items a{
    display:block;
}
.btn_grayscale{
    filter: grayscale(90%);      
}
.title1 img{
    width:50%;
}
.entrystart_txt{
    font-size: 1.6rem;
    font-weight: 600;
    text-shadow: 1px 1px 0 #000, -1px -1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, 0px 1px 0 #000, 0 -1px 0 #000, -1px 0 0 #000, 1px 0 0 #000;
    color: #ffeb3b;
}
.entry_txt{
    font-size: 1.8rem;
    font-weight: 600;
    text-shadow: 1px 1px 0 #000, -1px -1px 0 #000, -1px 1px 0 #000, 1px -1px 0 #000, 0px 1px 0 #000, 0 -1px 0 #000, -1px 0 0 #000, 1px 0 0 #000;
    color: #fff;
}
.memotext{
	width:90%;
	margin:0 auto;
	text-align: center;
}
@media screen and (max-width: 768px) {
    .title1 img{
        width:80%;
    }
	.detail1,
	.detail2{
	    padding: 0px;
	}
    .detail1{
        margin:0 auto;
        width:100%;
        padding:10px 0px;
    }
    .detail2{
        margin:0 auto;
        width:90%;
    }
    .btn_items{
        margin:0 auto;
        width:90%;
        padding: 5px 0px;
    }
}
.main {
/*
  background: url(../images/main_bg.jpg);
  background-size: cover;
  background-position: center bottom;
*/
  background-color: #06c755;
    background: url(../images/bg_qc_page.jpg);
  position: relative;
  width: 100%;
    height: 90vh;
    overflow: hidden;
}
.main_flex{
    position: relative;
    top: 0%;
    left: 0%;
    width: 100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}
.main_title_race{
	width:40%;
	padding:4px;
}
.main_title_cp {
	width:50%;
	display:flex;
	align-items: center;
}
.main_title_cp img {
	width:90%;
}
.main_cover{
    /*background-color: #00000069;*/
  background: url(../images/bg_qc_page.jpg);
  background-size: cover;
  background-position: center bottom;
    width: 100%;
    height: 100vh;
}
div.main_visual{
    position: absolute;
    display: block;
    top: 0px;
    right: 0;
    width: 100%;
    text-align: left;
    overflow: hidden;
	
}
div.main_visual img{ 
	width:70%;
}
div.mile_logo {
    position: absolute;
    display: block;
    top: 60px;
    right: 0;
    width: 100%;
    text-align: right;
  } 
div.mile_logo img{ 
	width:70%;
}

@media screen and (max-width: 768px) {
	.main {
		margin: 0;
		padding: 0;
		background: url(../images/bg_qc_page_sp.jpg);
		background-size: cover;
		background-position: center bottom;
		height: 150vw;
    		overflow: visible;
	}
	.main_cover{
		/*background-color:#00000059;
	    height: 140vw;*/
	} 
	div.main_visual img{ 
		width:90%;
	} 
	div.mile_logo {
		position: absolute;
		display: block;
		top: 0px;
    		left: 0px;
	} 
	div.mile_logo img{
		width: 100%;
		padding-bottom:5rem;
	}
	.main_title_race {
		width: 70%;
		padding: 4px;
	}
	.main_title_cp {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content:center;
	}
	.main_title_cp img{
		width: 90%;
	}
}
@media screen and (max-width: 768px) {
  .main::before {
    padding-top: 140%;
  }
}
.main img.pc_title {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	width:64%;
}

@media screen and (max-width: 1300px) {
    .main img {
      top: 54%;
      max-width: 900px;
    }
	.main img.sp_title {
	    display: block;
	    position: absolute;
      	top: 20%;
      	
	}    
}
@media screen and (max-width: 1100px) {
    .pc_title{
        width:80%;
    }
}
@media screen and (max-width: 990px) {
    .pc_title{
        width:80%;
    }
}
@media screen and (max-width: 768px) {
}

.text1{
    width: 45%;
}

.main div.btn_fbox{
	position: relative;
	width:100%;
	margin: 0 auto;
        display:flex;
        flex-wrap:wrap;
	justify-content: center;
}
.btn_fbox img{
	padding: 3rem 0 0 0;
	width:65%;
	display:block;
	margin: 0 auto;
}
.btn_fbox .item_lnk{
    width:40%;
    margin: 0 auto;
    text-align: center;
}
.btn_fbox .item_link img{
    width:90%;
}
.detail1.item_link a{
    display: block;
}
.detail1.item_link a:hover{
    opacity: 0.8;
}
.btn_fbox .item_kikan{
    width:70%;
    margin: 0 auto;
    text-align: center;
	padding:5px 10px 0 10px;
}
.btn_fbox .item_kikan img{
    width:80%;	
}


.detail1 .item,
.main .item{
    width:50%;
    margin: 0 auto;
    text-align: center;
}
.detail1 .item img,
.main .item img{
    width:90%;
}

.detail1 div.btn_fbox{
	width:100%;
        display:flex;
        flex-wrap:wrap;
	margin: 0;
}
.detail1 .item{
display:flex;
align-items:center;
align-contents:center;
    width:48%;
    margin: 0 auto;
    text-align: center;
}
.detail1 .item img{
	padding:1rem 0;
    width:98%;
}
.item a{
    display: block;
}
.item a:hover{
    opacity: 0.8;
}

@media screen and (max-width: 768px) {
	.main div.btn_fbox{
		position: relative;
		/*top:68%;
		bottom: 0%;*/
		width:100%;
        	display:flex;
        	flex-wrap:wrap;
		margin:0 auto;
	}
	.btn_fbox img {
    	padding: 2rem 0 0 0;
    	width: 90%;
    	display: block;
    	margin: 0 auto;
	}
	.btn_fbox .item_link{
		width:90%;
	}
	.detail1 .item_link img{
    		width:100%;
	}
	.btn_fbox .item_kikan{
    		width:90%;
		padding-top:5px;
	}
	.btn_fbox .item_kikan img{
    		width:100%;	
	}
	.btn_fbox .item_link img{
		width:100%;
	}
	.main .item{
    		width:100%;
    		margin: 0 auto;
    		text-align: center;
	}
	.main .item img{
    		width:85%;
	}

	.detail1 .item {
		width: 90%;
	}

    .text1{
        width: 95%;
    }
}
.hexagon_wrap {
  /*max-width: 950px;*/
  /*margin: 5% auto;*/
}
.hexagon_wrap .column {
  display: flex;
}

.miles_hexagon {
  width: 95%;
  margin: 0 auto;
}
.miles_hexagon img {
  display: block;
  margin: 0 auto;
}

.miles_items {
  background-color: #FFF;
  padding: 0 6%;
  position: relative;
  padding-top: 25%;
  height: 78%;
}
@media screen and (max-width: 768px) {
  .miles_items {
    height: auto;
  }
}
.miles_items .flag {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-30%);
  -webkit-transform: translateY(-30%);
  -ms-transform: translateY(-30%);
  max-width: 95%;
}
@media screen and (max-width: 768px) {
  .miles_items .flag {
    width: 90vw;
  }
}
.miles_items .mileget {
  width: 75%;
}

.f-maru {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 500;
  transform: rotate(0.03deg);
}

@media screen and (max-width: 768px) {
  .footer > .is-desktop {
    max-width: 75%;
    margin: auto;
  }
}

.liststyle {
  list-style: inside;
}
.liststyle :first-child {
  list-style: none;
}

/* =================================
フォントサイズ　ベースセッティング
================================== */
html {
  /* ベースのフォントサイズを10pxとする */
  font-size: 62.5%;
  font-feature-settings: "palt";
}

body {
  font-size: 1.6rem;
  /* calcサポート外をフォールバック */
  font-size: calc(1.4rem + (1vw - 0.48rem) * 0.5556);
  /* viewportが480px以上1200px以下可変 */
  min-height: 0vw;
  /* Safari用バグフィックス */
  line-height: 1.8;
  /* Noto Sansフォント */
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  color: #000;
/*  background-color: #FFD200;*/
/*  background-color: #ffff00;*/
    /*background: url(../images/bg_pc_500kb.jpg);*/
  
}

h1 {
  font-size: 3.2rem;
  /* calcサポート外をフォールバック */
  font-size: calc(3.2rem + (1vw - 0.48rem) * 0.5556);
  /* viewportが480px以上1200px以下可変 */
  min-height: 0vw;
  /* Safari用バグフィックス */
  line-height: 1.8;
  font-weight: 900;
}

h2 {
  font-size: 2.4rem;
  /* calcサポート外をフォールバック */
  font-size: calc(2.2rem + (1vw - 0.48rem) * 0.5556);
  /* viewportが480px以上1200px以下可変 */
  min-height: 0vw;
  /* Safari用バグフィックス */
  line-height: 1.8;
  font-weight: 500;
}

h3 {
  font-size: 2.2rem;
  /* calcサポート外をフォールバック */
  font-size: calc(2rem + (1vw - 0.48rem) * 0.5556);
  /* viewportが480px以上1200px以下可変 */
  min-height: 0vw;
  /* Safari用バグフィックス */
  line-height: 1.5;
  font-weight: 400;
}

h4 {
  font-size: 1.8rem;
  /* calcサポート外をフォールバック */
  font-size: calc(1.6rem + (1vw - 0.48rem) * 0.5556);
  /* viewportが480px以上1200px以下可変 */
  min-height: 0vw;
  /* Safari用バグフィックス */
  line-height: 2;
  font-weight: 700;
  font-family: "M PLUS Rounded 1c", sans-serif;
  transform: rotate(0.03deg);
}

/*------ メディアクエリ --------*/
/* デバイス幅が1200px以上 */
@media screen and (min-width: 1200px) {
  body {
    font-size: 1.6rem;
  }

  h1 {
    font-size: 3.2rem;
  }

  h2 {
    font-size: 2.4rem;
  }

  h3 {
    font-size: 2.2rem;
  }

  h4 {
    font-size: 2rem;
  }
}
/* デバイス幅が480px以下 */
@media screen and (max-width: 480px) {
  body {
    font-size: 1.4rem;
  }

  h1 {
    font-size: 2.5rem;
  }

  h2 {
    font-size: 2rem;
  }

  h3 {
    font-size: 1.8rem;
  }

  h4 {
    font-size: 1.8rem;
  }
}

.cp_1{
    position: absolute;
    top:73%;
    left:10%;
    width:42%;
}
.cp_2{
    position: absolute;
    top:75%;
    left:42%;
    width:54%;
}
a.c_1{
     display: block;
}
a.c_2{
     display: block;
}
.toptext{
}

.button {
    display: block;
    margin: 0px auto;
    width: 50%;
    background-color:transparent;
    border:0px;
}

.detail1 .item {

}
.detail1 .item img{
	padding:1.4rem 0;
	width:80%;
}

/* デバイス幅が480px以下 */
@media screen and (max-width: 480px) {
.cp_1{
    position: absolute;
    top:87%;
    left:0;
    width:100%;
}
.cp_1 img{
    width:60%!important;
    margin: 0 auto;
    text-align:center;
}
.cp_2{
    position: absolute;
    top:70%;
    left:0;
    width:100%;
} 
.cp_2 img{
    width:75%;
    margin: 0 auto;
    text-align:center;
}
a.c_1{
    display: block;
    position: relative;
}
    .toptext{
        position: absolute;
        display: block;
        bottom: -34px;
        text-align: center;
        width:100%;
    }

    .button {
        width: 100%;
    }

.detail1 .item img {
    padding:0.5rem 0;
    width: 90%;
}
}
.section{
    padding:0;
}
.btn{
    padding:20px;
    padding-bottom:50px;
}

hr {
    height: 10px;
    background-image: repeating-linear-gradient(45deg, #af8ebf 0, #d555f8 1px, #9c27b0 0, transparent 50%);
    background-size: 14px 14px;
}

.pc_detail2{
    width:55%;
}
.no_link{
	filter: grayscale(70%);
}