/*------ 共通 ------*/

body{
    margin: 0;
}
img {
    max-width: 100%;
    margin: 0 auto;
}
.pcStyle {
	display: block;
}

.spStyle {
	display: none;
}


html{
	scroll-behavior: smooth;
}
body {
	font-family: 'Noto Sans JP', "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	font-size: 24px;
    line-height: 1.3;
	font-weight: 500;
	margin:0 auto;
    min-width: 1000px;
	text-align: center;
	background: none;
}

@media screen and (max-width: 750px) {
	body {
		min-width: 750px;
	}
}

a{
	text-decoration: none;
	display: block;
	margin: 0 auto;
	text-align: center;
}
h4{
	font-size: 18px;
}
p {
}
span {
}
figure{
	margin: 0;
}
ul{
	list-style: none;
}
img{
	max-width: 100%;
}
.txt_indent {
    padding-left: 1em;
    text-indent: -1em;
}
/* ボタン */
/* #wrap > div.btn_app{
    background-color: #ed7101;
} */
/* #wrap #new_member + .btn_app{
    background-color: red;
} */
#wrap > .btn_app{
	background-color: #fcfecc;
    width: 100%;
    padding: 50px 0 20px;
}
#wrap > .btn_app a {
    max-width: 340px;
    margin: 0 auto;
    display: block;
    background-color: #ccecff;
    box-shadow: 5px 5px 0 rgba(112, 112, 112, 0.4);
    border-radius: 15px;
    padding: 23px 0 23px 20px;
    text-align: left;
    position: relative;
    color: #000;
    font-size: 22px;
	font-weight: 700;
    
}
.btn_app a {
    pointer-events: none;
}

#wrap > .btn_app a:after {
    content: url(../images/icon_next_bl.png);
    height: 20px;
    width: 20px;
    position: absolute;
    right: 12%;
    top: 50%;
    transform: translateY(-100%);
}
#wrap > .btn_app a:hover{
	opacity: 0.8;
}
.cts + .btn_app{
	background-color:transparent!important;
} 
#new_member + .btn_app{
	background-color:#ccecff!important;
} 
#new_member + .btn_app a {
    background-color: #fffb80;
}
#new_member + .btn_app a:after {
    content: url(../images/icon_next_br.png)!important;
} 
#information + .btn_app{
	background-color:#ccecff!important;
} 
#information + .btn_app a {
    background-color: #fffb80;
}
#information + .btn_app a:after {
    content: url(../images/icon_next_br.png)!important;
}

@media screen and (max-width: 767px) {
        #wrap > .btn_app{
        padding: 60px 0 35px;
    }
    #wrap > .btn_app a {
    max-width: 620px;
    border-radius: 30px;
    padding: 50px 0 50px 40px;
    font-size: 36px;
}
#wrap > .btn_app a:after {
    content: url(../images/sp/icon_next_bl.png);
    height: 20px;
    width: 20px;
    position: absolute;
    right: 12%;
    top: 45%;
    transform: translateY(-100%);
}
#new_member + .btn_app a:after {
    content: url(../images/sp/icon_next_br.png)!important;
} 
#information + .btn_app a:after {
    content: url(../images/sp/icon_next_br.png)!important;
}
}




@media screen and (max-width: 767px) {
	.pcStyle {
		display: none;
	}

	.spStyle {
		display: block;
	}
}
.cts {
    margin: 0 auto;
    text-align: center;
    background-size: cover;
    position: relative;
}
.cts::after {
    content: "";
    display: block;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 98;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
}

.cts .unavailable-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: min(19vw, 60px);
    font-weight: bold;
    width: 95%;
    line-height: 1.3em;
    z-index: 99;
}

.btn_app .unavailable-overlay {
    background: rgba(0, 0, 0, 0.5);
    color: white;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    position: absolute;
    top: 53%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding-bottom: 5px;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    z-index: 99;
}
#wrap {
}

.inner{
    max-width: 1042px;
    margin: 0 auto;
    background-size: contain;
}

.icon img{
    width: 100px;
}
@media screen and (max-width:767px) { 
    .inner{
        max-width: 100%;
        /* margin: 0 5%; */
    }
    .icon img{
        width: 14vw;
    }
    .inner{
        max-width: 750px;
    }
}
@media screen and (max-width:767px) { 
    .icon img{
        width: 117px;
    }
.btn_app .unavailable-overlay {
    background: rgba(0, 0, 0, 0.5);
    color: white;
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    position: absolute;
    top: 53%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding-bottom: 5px;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    z-index: 99;
}
}
/* ヘッダー
------------------------------------------------------------------- */

header .pc{
	display: block;
  }
header .sp{
	display: none;
  }

@media screen and (max-width:750px) {
/*　画面サイズが1024pxからはここを読み込む　*/
header .sp{
    display: block;
}
header .pc{
    display: none;
}
}
header{
	background: #fdefe5;
	position: fixed;
	top: 0;
	width: 100%;
	z-index:100000;
	border:2px solid #ed7101;
    box-sizing: border-box;
  }
  header div{
	width:720px;
	margin:auto;
	display: flex;
	padding:10px 0;
	justify-content:space-between;
  }
  header h1,
  header p.pc{
	  margin: 0;
	  display: flex;
	  align-items: center;
  }
  header h1{
	  margin-right: 20px;
  }

  .head_btn{
    position: fixed;
    max-width: 720px;
    width: 100%;
    padding: 0;
    top: 17.5px;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 100001;
  }
  .head_btn .btn_app{
    max-width: 323px;
    padding: 0;
    display: flex;
    align-items: center;
    margin: 0 0 0 auto;
  }
  .head_btn .btn_app a{
    font-size: 20px;
    height: 51px;
    width: 100%;
    padding-bottom: 3px;
    box-sizing: border-box;
    box-shadow: none;
    background-color: #ed7101;
    font-family: 'notosansjp', "メイリオ", sans-serif;
    font-weight: 700;
    margin:0 auto;
    color: #fff !important;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
	text-decoration: none;
	text-align: center;
  }
  .head_btn .btn_app a br{
	  display: none;
  }
  
header a{
	font-family: 'notosansjp', "メイリオ", sans-serif;
	font-size: 23.5px;
	font-weight: 700;
	margin:0 auto;
	background-color: #0075c2;
    color: #fff !important;
	height: 65px;
	display: flex;
	align-items: center;
	justify-content: center;
    box-shadow: 0 2px 5px rgba(38, 38, 38, 0.40);
	border-radius: 5px;
}

header .btn_app a{
}

@media screen and (max-width: 750px) {
	header div{
		padding: 0;
		width: 100%;
		height: 120px;
	}
	header h1{
		margin: 0 0 0 30px;
	}
	.head_btn{
		top: 22px;
		right: 30px;
	}
	/*.head_btn .btn_app{
		max-width: 250px;
		margin: 0 40px 0 auto;
	}*/
	.head_btn .btn_app a br{
		display: block;
	}
	.head_btn .btn_app a{
		font-size: 26px;
		height: 80px;
	}
}



/* ナビ */
#unker {
    padding-top: 35px;
    padding-bottom: 90px;
}
#unker .flex {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#unker .flex a:nth-child(1), #unker .flex a:nth-child(2) {
    margin-bottom: 8px;
}
#unker .flex a:nth-child(odd) {
    margin-right: 8px;
}
#unker .flex a {
    margin: 0;
    width: 46%;
}
#new_member_scroll , #point_scroll , #information_scroll , #member_only_scroll{
    padding-top: 125px;
    margin-top: -125px;
}

#unker .pcStyle .flex {
    flex-wrap: nowrap;
    justify-content: space-between;
}
#unker .pcStyle .flex a:nth-child(odd) {
    margin-right: 0;
}
#unker .pcStyle .flex a {
    width: 24%;
}
@media screen and (max-width:767px)  {
#unker {
    padding-top: 20px;
    padding-bottom: 60px;
}
#new_member_scroll , #point_scroll , #information_scroll , #member_only_scroll{
    padding-top: 180px;
    margin-top: -180px;
}
}

/* 新規入会特典 */
#new_member {
    /* padding-top: 70px;
    padding-bottom: 80px; */
    background-color: #ccecff;
    position: relative;
}
#new_member .icon{
    position: absolute;
    top: -3%;
    right: 0;
    left: 0;
}
.campaign_cont{
    position: relative;
    background-color: #fcfecc;
    margin: 80px auto 35px;
    padding-top: 40px;
    padding-bottom: 40px;
    max-width: 1042px;
    border-radius: 5px;
    padding-right: 20px;
    padding-left: 20px;
}
#new_member .campaign_cont .icon{
    top: -9.5%;
}
.campaign_cont .icon img{
    width: 80px;
}
@media screen and (max-width:767px)  {
    #new_member {
        padding-top: 40px;
        /* padding-bottom: 45px; */
    } 
    .campaign_cont{
        padding-bottom: 15px;
    }
    .campaign_cont{
        margin: 80px auto 50px;
    }
    #new_member .campaign_cont .icon{
        top: -8%;
    }
    #new_member .icon{
        top: -3%;
    }
    .campaign_cont{
        max-width: 750px;
    }
}
@media screen and (max-width:767px) { 
    .campaign_cont{
        max-width: 100%;
        margin: 40px 5% 15px;
        padding-right: 2%;
        padding-left: 2%;
    }
    .present_close{
        width: 65%;
        margin: 0 auto;
    }
    .campaign_cont .icon img{
        width: 12.5vw;
    }
}
@media screen and (max-width:425px) { 
    .campaign_cont .icon img{
        width: 70px;
    }
    .campaign_cont {
        padding-top: 20px;
    }
}
.campaign_cont #new_member .icon{
    position: absolute;
    top: -4%;
    right: 0;
    left: 0;
}
.present_inner{
	display: none;
}

/* ポイント */
#point {
    /* padding-top: 75px;
    padding-bottom: 85px; */
    background-color: #fcffcc;
    position: relative;
}
#point .icon{
    position: absolute;
    top: -5%;
    right: 0;
    left: 0;
}
@media screen and (max-width:767px)  {
#point {
    /* padding-top: 40px; */
    /* padding-bottom: 40px; */
} 
#point .icon{
    top: -3%;
}
}
@media screen and (max-width:425px)  {
#point .icon{
    top: -3%;
}
}
/* 基本情報 */
#information {
    /* padding-top: 70px;
    padding-bottom: 85px; */
    background-color: #ccecff;
    position: relative;
}
#information .icon {
    position: absolute;
    top: -7%;
    right: 0;
    left: 0;
}
@media screen and (max-width:767px)  {
    #information {
        /* padding-top: 55px; */
        /* padding-bottom: 40px; */
    } 
    #information .icon{
        top: -3%;
    }
}

@media screen and (max-width:425px)  {
    #information .icon{
        top: -3%;
    }
    }
/* 会員限定特典 */
#member_only {
    /* padding-top: 70px;
    padding-bottom: 85px; */
    background-color: #fcffcc;
    position: relative;
}
#member_only .icon{
    position: absolute;
    top: -9.5%;
    right: 0;
    left: 0;
}
@media screen and (max-width:767px)  {
#member_only {
    /* padding-top: 55px;
    padding-bottom: 25px; */
} 
#member_only .icon{
    top: -3.5%;
}
}
@media screen and (max-width:425px)  {
    #member_only .icon{
        top: -4.5%;
    }
 }
/* 詳細・注釈 */
#detail {
    padding-top: 65px;
    padding-bottom: 25px;
}
@media screen and (max-width:767px)  {
#detail {
    padding-top: 30px;
}
}

/* フッター */

#footer {
    overflow	: hidden;
    margin		: 0 auto;
    padding: 75px 0 15px;
    background	: #FFF;
    min-width	: 900px;
}
    
    #footer_box {
        margin	: 0 auto;
        max-width	: 790px;
    }

.footer_l {
    float	: left;
    width	: 600px;
}

.footer_l .ft_logo {
    float		: left;
    margin: 0 30px 0 0;
}

.footer_l ul {
  margin: 0;
    padding-top	: 12px;
}

.footer_l li {
    float		: left;
    border-right: 1px solid #c9c9c9;
    line-height	: 1;
    padding		: 0 15px;
}

.footer_l li.last {
    border-right	: none;
}

.footer_l li a {
    font-size	: 12px;
}

.footer_l li a:after {
    content			: url(../img/icon01.png);
    padding-left	: 8px;
    vertical-align	: 1px;
}

.footer_l .copyright {
  font-size: 10px;
  color: #818181;
  clear: both;
  padding-top: 12px;
  margin: 0;
  text-align: left;
}

.footer_r {
    float	: right;
}
#footer a {
    text-decoration: none;
    display: block;
    margin: 0 auto;
    text-align: center;
}
#footer .pc{
	display: block;
  }
#footer .sp{
	display: none;
  }

@media screen and (max-width:750px) {
/*　画面サイズが1024pxからはここを読み込む　*/
#footer .sp{
    display: block;
}
#footer .pc{
    display: none;
}
}

#footer{
    min-width:auto;
    clear: both;
    width: 100%;
    font-size: 20px;
    background-color: #fff;
	padding: 35px 0 15px;
  }
  #footer_nav {
    text-align: center;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
  }
  #footer_nav li {
    display: flex;
	font-size: 20px;
  }
  #footer_nav li + li:before {
    content: '|';
    margin: 0 8px;
    color: #000;
  }
  #footer_logobox {
    width: 62.5%;
    margin: 3.125% auto 1.5625%;
    display: flex;
    align-items: center;
    -webkit-justify-content: space-between; /* Safari */
    justify-content:         space-between;
  }
  #ft_logo {
    width: 70%;
  }
  #ft_privacy {
    width: 25%;
  }
  #footer #copyright {
    margin-bottom: 5.625%;
    text-align: center;
    color: #000;
  }
  
  #footer a {
    position: relative;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  #footer a:link, a:visited {
    color: #302624;
    text-decoration: none;
  }
  #footer a:hover, a:active {
    color: #302624;
    text-decoration: underline;
  }
  
  #footer img{
      width: 100%;
      height: auto;
      display: block;
      margin-left: auto;
      margin-right: auto;
  }

  /* 20250117追加------------------------ */
  .addition_img{
    position: relative;
  }
  .addition_img .speech_bubble {
    position: absolute;
    top: -150px;
    right: -96px;
}
.addition_img .speech_bubble2 {
  top: -33px;
}

@media screen and (max-width:1260px) {
  .addition_img .speech_bubble {
    width: 15vw;
    right: 0;
    top: -112px;
}
.addition_img .speech_bubble2 {
  top: 0;
}
    }
@media screen and (max-width:950px) {
    .addition_img .speech_bubble {
    width: 18vw;
    top: -100px;
}
.addition_img .speech_bubble2 {
    width: 20vw;
    top: 0;
}
    }

/*  20250312　追記　*/
.bg_blackarea{
	background-color: #000000;
	padding: 80px 0;
}
.bg_green{
	background-color: #06c167;
	padding: 80px 0;
}
@media screen and (max-width:768px) {
	.bg_blackarea{
	padding: 40px 0;
}
	.bg_green{
	background-color: #06c167;
	padding: 40px 0;
}
	.campaign_cont.bg_green{
		margin: 0;
		padding: 40px 5%;
	}
	.bg_blackarea .inner{
		padding: 0 5%;
	}
}