@charset "UTF-8";
/* CSS Document */

/* ==========================================================================
   
SECTION TTL

========================================================================== */


.lp_ttl_header {
    width: 100%;
    display: block;
    margin-top: 0%;
    margin-bottom: 0%;
    padding-top: 0%;
    padding-bottom: 5%;
    text-align: center;
}


.lp_section_ttl {
    font-family: 'Rozha One', serif;
  display: block;
  font-size: 60px;
  font-size: 6rem;
	  line-height: 0.8;
  padding-bottom: 1%;
  letter-spacing: 0;
    color: #E6456B;
}

.lp_section_ttl_cap {
	font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 2;
    color: #000000;
	font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
}

@media screen and (max-width: 768px) {
.lp_ttl_header {
    width: 100%;
    display: block;
    margin-top: 0%;
    margin-bottom: 0%;
    padding-top: 0%;
    padding-bottom: 7%;
    text-align: center;
}

.lp_section_ttl {
    font-family: 'Rozha One', serif;
  display: block;
  font-size: 50px;
  font-size: 5rem;
	  line-height: 0.8;
  padding-bottom: 8px;
  letter-spacing: 0;
    color: #E6456B;
}

.lp_section_ttl_cap {
	font-size: 12px;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 2;
    color: #000000;
	font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
}	
	
}	
.dkc_lp_ttl {
    font-size: 29px;
    font-size: 2.9rem;
    font-weight: bold;
    color: #111111;
}
.dkc_lp_ttl_cap {
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 0.5em;
}

@media screen and (max-width: 768px) {
.dkc_lp_ttl {
    font-size: 23px;
    font-size: 2.3rem;
    font-weight: bold;
    color: #111111;
	line-height: 1.3em;
	padding-top: 3%;
	padding-bottom: 5%;
}
	
.dkc_lp_ttl span{
    font-size: 18px;
    font-size: 1.8rem;
    font-weight: bold;
    color: #111111;
}	
.dkc_lp_ttl_cap {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 0.5em;
}
	
}




/* ==========================================================================
   
SEC CONCEPT

========================================================================== */

.lp_concept_copy{
font-size: 31px;
font-size: 3.1rem;
font-weight: bold;
color: #E6456B;	
line-height: 1.3em;
  text-align: center;
  width: 60%;
  margin: 0 auto;	
padding-bottom: 3%;
}

.lp_concept_txt {
}

.attention_txt{
font-size: 105%;
font-weight: bold;
color: #E6456B;	
}

.lp_gift_ttl{
	padding-top: 7%;
  padding-bottom: 5%;
  text-align: center;
  width: 50%;
  margin: 0 auto;
}

.lp_gift_ttl img{
  display: block;
  margin: 0 auto;
}


.lp_concept_bg{
    position: relative;
    width: 100%;
    top: 0;
    padding-top: 7%;
    padding-bottom: 10%;
    padding-left: 10%;
    padding-right: 10%;
    display: block;
    text-align: center;
    z-index: 7;
    background-size: cover;
    background-position: top center;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-color: #FEE0E7;
    background-image: url("../img/bg_concept.jpg");
}


@media screen and (max-width: 768px) {
	
	
.lp_concept_copy{
font-size: 31px;
font-size: 3.1rem;
font-weight: bold;
color: #E6456B;	
line-height: 1.3em;
  text-align: center;
  width: 90%;
  margin: 0 auto;	
padding-bottom: 3%;
}	
	
.lp_concept_bg {
        background-image: url(../img/bg_concept_sp.jpg);
        background-repeat: no-repeat;
        background-size: cover;
        background-position: center;
        margin-top: 0%;
        padding-top: 10%;
        padding-bottom: 10%;
        padding-left: 7%;
        padding-right: 7%;
        background-attachment: inherit;
        position: relative;
        z-index: 8;
        display: block;
        overflow: hidden;
	background-color: #FEE0E7;
    }
	
	
.lp_gift_ttl{
	padding-top: 10%;
  padding-bottom: 5%;
  text-align: center;
  width: 70%;
  margin: 0 auto;
}	
	
.attention_txt{
font-size: 90%;
	letter-spacing: 0.08em;
font-weight: bold;
color: #E6456B;	
}	
	
}

.gifts {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 0%;
}
.gifts:after {
    content: "";
    display: block;
    width: 31%;
    height: 0;
}
.gift{
    width: 31%;
    margin-bottom: 3%;
	text-align: left;
}
.gift img {
    width: 100%;
    margin-bottom: 5%;
}

.gift_sub_ttl span{
padding-right: 10px;
}
.gift_sub_ttl{
    font-size: 13px;
    font-size: 1.3rem;
	font-weight: bold!important;
    font-family: 'Karla', sans-serif;
    color: #E6456B;	
}

.gift_ttl {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 2;
    padding-bottom: 3%;
    color: #E6456B!important;	
    font-family: "Zen Old Mincho", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 900;
}
.gift_txt {
}


@media screen and (max-width: 768px) {
	
	.gifts {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .gifts:after {
        content: "";
        display: block;
        width: 100%;
        height: 0;
    }
    .gift {
        width: 100%;
        margin-bottom: 10%;
    }
.gift img {
    width: 100%;
    margin-bottom: 1%;
}
	
	
.gift_sub_ttl{
    font-size: 13px;
    font-size: 1.3rem;
	font-weight: bold!important;
    font-family: 'Karla', sans-serif;
    color: #E6456B;	
}	
	
.gift_ttl {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2;
    padding-bottom: 3%;
    color: #E6456B!important;
	   font-family: "Zen Old Mincho", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 900;
}	
	

}





/* ==========================================================================
   
SEC COURSE

========================================================================== */

.lp_course_contents_header {
display: inline-block;
padding-bottom: 5%;
margin-bottom: 7%;
width: 100%;
border-bottom: #D9D0C6 1px dotted;
}
.lp_course_contents_box_L {
    width: 50%;
    float: left;
    display: block;
}
.lp_course_contents_box_R {
    width: 45%;
    float: right;
    display: block;
    padding-top: 0%;
    padding-right: 0%;
}
.lp_course_contents2_box_L{
    width: 45%;
    float: left;
    display: block;
    padding-top: 0%;
    padding-right: 0%;
}
.lp_course_contents2_box_R {
    width: 50%;
    float: right;
    display: block;
}
.lp_course_img {
    margin-bottom: 5%;
}

.course_menu {
  margin-top: 10px;
}

.course_menu dt {
  font-weight: bold;
  font-size: 12px;
  color: #bb3a58;
  letter-spacing: 0.08em;
  margin-top: 12px;
  margin-bottom: 4px;
}

.course_menu dd {
  margin: 0;
  font-size: 13px;
  line-height: 1.8;
}

@media screen and (max-width:768px) {
    .lp_course_contents_header {
        display: flex;
        flex-direction: column;
        padding-bottom: 0%;
    margin-bottom: 10%;
        width: 100%;
    text-align: left;
    border-bottom: #D9D0C6 1px dotted;
    }
    .lp_course_contents_box_L {
        width: 100%;
        float: left;
        display: block;
    }
    .lp_course_contents_box_R {
        width: 100%;
        float: right;
        display: block;
        padding-top: 1%;
        padding-bottom:0%;
        margin-bottom: 0%;
    }
    .lp_course_contents2_box_L{
        width: 100%;
        padding-top: 1%;
        padding-left: 0%;
        order: 2;
        padding-bottom: 0%;
        margin-bottom: 0%;
    }
    .lp_course_contents2_box_R{
        width: 100%;
        order: 1;
    }
	
	  .lp_course_contents_box_L,
  .lp_course_contents_box_R {
    float: none;
  }
.lp_course_img {
    margin-bottom: 5%;
  }
}




.course_sub_ttl{
    font-size: 23px;
    font-size: 2.3rem;
    font-family: 'Rozha One', serif;
    line-height: 0.8;
    color: #E6456B;	
}

.course_sub_ttl span{
    font-size: 33px;
    font-size: 3.3rem;
    font-family: 'Rozha One', serif;
}

.course_ttl {
    font-size: 23px;
    font-size: 2.3rem;
    line-height: 2;
    padding-bottom: 3%;
	margin-bottom: 5%;
	border-bottom: #dddddd 1px solid;
	color: #E6456B;	
   	font-family: "Zen Old Mincho", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 900;
}

.course_price{
    font-size: 25px;
    font-size: 2.5rem;
	padding-left: 5%;
}


.course_copy{
    font-size: 16px;
    font-size: 1.6rem;	
	   font-family: "Zen Old Mincho", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 900;
 padding-bottom: 3%;
}

.course_txt {
 padding-bottom: 3%;	
}



/* ==========================================================================
   
ドロップダウン

========================================================================== */



.course_list_wrap {
  margin-top: 5%;
  margin-bottom: 2%;
  border: 1px solid #ddd;
  border-radius: 3px;
  overflow: hidden;
  background: #feebef;
	margin-bottom: 10%;
}

/* ▼ トグル */
.course_list_toggle {
  cursor: pointer;
  padding: 15px 14px;
  background: #feebef;
  font-weight: bold;
  font-size: 12px;
  position: relative;
  transition: background 0.3s ease;
}

.course_list_toggle {
  letter-spacing: 0.08em;
}

.course_list_content {
  background: #fff;
}

.course_list_toggle::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 50%;
  width: 10px;
  height: 1px;
  background: #bb3a58;
  transform: translateY(-50%) rotate(45deg);
  box-shadow: 0 3px 0 #bb3a58;
  transition: transform 0.4s ease;
}

.course_list_toggle.active::after {
  transform: translateY(-50%) rotate(225deg);
}

/* ▼ コンテンツ（ここ重要） */
.course_list_content {
  font-size: 13px;
  height: 0;
  opacity: 0;
  overflow: hidden;
  padding: 0 18px;
  background: #feebef;
  border-top: 1px solid #ebd0d7;

  transform: translateY(-8px);

  transition: 
    height 0.5s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.35s ease,
    transform 0.35s ease,
    padding 0.3s ease;
}

/* ▼ 開いた状態 */
.course_list_content.open {
  opacity: 1;
  transform: translateY(0);
  padding: 18px;
  line-height: 1.7;
}



/* ==========================================================================
   
購入ボタン

========================================================================== */


.btnbox_nclp{
text-align: left;
}
.btnbox_nclp .btn_nclp {
    border-radius: 40px;
    display: inline-block;
    padding: 2% 10%;
    font-size: 15px;
    text-decoration: none;
    text-align: center;
    line-height: 50px;
    position: relative;
    color: #ffffff !important;
    border: #E6456B 2px solid;
    background-color: #E6456B;
    width: 350px;
	margin-bottom: 15%;
}
.btnbox_nclp .btn_nclp:hover {
    color: #ffffff !important;
    border: #bb3a58 2px solid;
    background-color: #bb3a58;
}


@media screen and (max-width: 768px) {
.btnbox_nclp .btn_nclp {
    border-radius: 40px;
    display: inline-block;
    padding: 2% 10%;
    font-size: 15px;
    text-decoration: none;
    text-align: center;
    line-height: 50px;
    position: relative;
    color: #ffffff !important;
    border: #bb3a58 2px solid;
    background-color: #bb3a58;
    width: 100%;
	margin-bottom: 15%;
}
}



.course_icon {
  display: flex;
  gap: 6px;
  flex-wrap: wrap; /* 折り返し */
  justify-content: left; /* 中央寄せ */
	padding-bottom: 0%;
}

.course_label {
    display: inline-block;
    font-size: 10px;
    border: 1px solid #bb3a58;
    color: #bb3a58;
    padding: 5px 7px 4px;
    border-radius: 16px;
    letter-spacing: .05em;
    margin-right: 1px;
    margin-top: 8px;
    margin-bottom: 8px;
    background-color: #feebef;
    font-weight: bold;
}



/* ==========================================================================
   
Premium Free Flow box

========================================================================== */

/* ===============================
   FREE FLOW セクション全体
=============================== */
.freeflow_box{
    margin-top: 0;
    margin-bottom: 5%;
    padding: 5%;
    width: 100%;
    background-color: #feebef;
    text-align: left;
    display: block;
    overflow: hidden; /* float崩れ防止 */
}


/* ===============================
   画像エリア（左カラム）
=============================== */
.img_freeflow_style{
    width: 30%;
    float: left;
    padding-right: 3%;
    position: relative; /* ← 重ねるため必須 */
}

/* 背景画像 */
.img_freeflow_style .img_100{
    display: block;
    width: 100%;
    height: auto;
}



/* タイトル画像（上に重ねる） */
.img_freeflow_style .overlay_title{
    position: absolute;
    top: -20%;                 /* ← 上から位置調整 */
    left: 15%;
    transform: translateX(-50%);
    z-index: 2;
    width: 60%;               /* ← サイズ調整 */
    max-width: 300px;
    
    /* 高級感演出 */
    filter: drop-shadow(0 4px 10px rgba(0,0,0,0.3));
}


.freeflow_sub_ttl{
    font-size: 18px;
    font-size: 1.8rem;
    font-family: 'Rozha One', serif;
    line-height: 0.8;
    color: #E6456B;	
	margin-top: 3%;
}

.freeflow_ttl {
    font-size: 23px;
    font-size: 2.3rem;
    padding-bottom: 0%;
	color: #E6456B;	
	   font-family: "Zen Old Mincho", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 900;
}

.freeflow_txt{
    font-size: 90%;
}



@media screen and (max-width: 738px) {
	
.freeflow_box{
    margin-top: 0;
    margin-bottom: 7%;
    padding: 10%;
    width: 100%;
    background-color: #feebef;
    text-align: left;
    display: block;
    overflow: hidden; /* float崩れ防止 */
}	
	
	
    .img_freeflow_style{
        width: 100%;
        float: none;
        padding-right: 0;
        margin-bottom: 20px;
    }

    .img_freeflow_style .overlay_title{
        top: -3%;               /* ← 上から位置調整 */
    left: 18%;
        width: 45%;
    }
	
	
.freeflow_sub_ttl{
    font-size: 18px;
    font-size: 1.8rem;
    font-family: 'Rozha One', serif;
    line-height: 0.8;
    color: #E6456B;	
	margin-top: 0%;
	padding-bottom: 3%;
}	
	
	
.freeflow_ttl {
    font-size: 23px;
    font-size: 2.3rem;
    padding-bottom: 5%;
	color: #E6456B;	
	   font-family: "Zen Old Mincho", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 900;
	line-height: 1.4;
}	
	
	
}






/* ==========================================================================
   
SHOP&Reservation

========================================================================== */




.shoplists {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 0%;
}
.shoplists:after {
    content: "";
    display: block;
    width: 31%;
    height: 0;
}
.shoplist{
    width: 31%;
    margin-bottom: 3%;
}
.shoplist img {
    width: 100%;
    margin-bottom: 5%;
}

.shoplist_sub_ttl{
    font-size: 12px;
    font-size: 1.2rem;
    font-weight: 500;
    color: #000;
}

.shoplist_ttl {
    color: #a88a6d;
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold;
	padding-bottom: 3%;
}
.shoplist_txt {
}



.shoplist_img{
    position: relative;
    overflow: hidden; /* 拡大時にはみ出さないように */
}

/* メイン画像 */
.shoplist_img img.img_100{
    width: 100%;
    display: block;
    transition: transform 0.4s ease;
}

/* ホバー時ズーム */
.shoplist_img:hover img.img_100{
    transform: scale(1.08);
    filter: brightness(0.9);
}

/* ロゴ */
.shoplogo{
    position: absolute;
    left: 10px;
    bottom: 10px;
    z-index: 2;
}

.shoplogo img{
    width: 80px; /* お好みで調整 */
    height: auto;
}


@media screen and (max-width: 768px) {
	
	.shoplists {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .shoplists:after {
        content: "";
        display: block;
        width: 100%;
        height: 0;
    }
    .shoplist {
        width: 48%;
        margin-bottom: 7%;
    }
.shoplist img {
    width: 40%;
    margin-bottom: 1%;
}
	
.shoplogo{
    position: absolute;
    left: 3%;
    bottom: 3%;
    z-index: 2;
}	
	
	
.shoplist_sub_ttl{
    font-size: 11px;
    font-size: 1.1rem;
    font-weight: 500;
    color: #000;
}

.shoplist_ttl {
    color: #a88a6d;
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold;
	padding-bottom: 2%;
}	
	

}



/* ==========================================================================
   
SECTION scene

========================================================================== */


.scene_copy {
    font-size: 28px;
    font-size: 2.8rem;
    line-height: 2;
    padding-bottom: 0%;
    color: #E6456B !important;
    	   font-family: "Zen Old Mincho", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 900;
	text-align: center;
}

.scene_copy_txt{
    padding-bottom: 3%;
	text-align: center;
}



.scenes {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-top: 0%;
}
.scenes:after {
    content: "";
    display: block;
    width: 23%;
    height: 0;
}
.scene {
    width: 23%;
    margin-bottom: 3%;
    padding-left: 0.5%;
    padding-right: 0.5%;
}
.scene img {
    width: 100%;
    margin-bottom: 5%;
}
.scene_sub_ttl {
    font-size: 13px;
    font-size: 1.3rem;
    font-weight: bold !important;
    font-family: 'Karla', sans-serif;
    color: #E6456B;	
}
.scene_sub_ttl span{
font-size:150%;
font-weight: bold!important;
padding-left: 5px;
vertical-align: middle;		
}

.scene_ttl {
    font-size: 16px;
    font-size: 1.6rem;
    font-weight: bold !important;
    line-height: 2;
    padding-bottom: 3%;
    color: #E6456B !important;
    font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
}
.scene_txt {
font-size:85%;
}
@media screen and (max-width: 768px) {
	
.scene_copy {
    font-size: 25px;
    font-size: 2.5rem;
    line-height: 2;
    padding-bottom: 3%;
    color: #E6456B !important;
    	   font-family: "Zen Old Mincho", "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: 900;
	text-align: center;
}	
	
	
.scene_ttl {
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: bold !important;
    line-height: 2;
    padding-bottom: 3%;
    color: #E6456B !important;
    font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
}	
	
.scene_copy_txt{
    padding-bottom: 7%;
	text-align: center;
}	
	
    .scenes {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .scenes:after {
        content: "";
        display: block;
        width: 47%;
        height: 0;
    }
    .scene {
        width: 47%;
        margin-bottom: 10%;
    }
    .scene_img {
        margin-bottom: 5%;
    }

	
}


.faq{
text-align: left;
margin-bottom: 3%;
}

.faq__q,
.faq__a {
  position: relative;
  padding-left: 30px;
}

.faq__q::before,
.faq__a::before {
  position: absolute;
  left: 0;
  top: 0;
}

/* 質問文 */
.faq__q {
font-size: 14px;
	color: #111111;
  margin-bottom: 1%; 
}

/* 回答文 */
.faq__a {
	font-size: 14px;
    padding-top: 3%;
    padding-bottom: 3%;
    padding-left: 6%;
    padding-right: 3%;
    width: 100%;
    background-color: #fbe3e9;
}

.faq__q::before {
  content: 'Q.';
  color: #E6456B;
	font-size: 14px;
}

.faq__a::before {
  content: 'A.';
  	width: 40px;
  height: 40px;
  color: #E6456B;
font-size: 14px;
padding-top: 3%;
padding-left: 3%;
}

@media screen and (max-width: 768px) {

.faq{
text-align: left;
margin-bottom: 10%;
}	

.faq__q,
.faq__a {
  position: relative;
  padding-left: 30px;
}

.faq__q::before,
.faq__a::before {
  position: absolute;
  left: 0;
  top: 0;
}

/* 質問文 */
.faq__q {
font-size: 13px;
	color: #555555;
  margin-bottom: 5%; 
}

/* 回答文 */
.faq__a {
	font-size: 13px;
    padding-top: 5%;
    padding-bottom: 5%;
    padding-left: 10%;
    padding-right: 5%;
    width: 100%;
   background-color: #fbe3e9;
}

.faq__q::before {
  content: 'Q.';
  color: #E6456B;
	font-size: 14px;
}

.faq__a::before {
  content: 'A.';
  	width: 40px;
  height: 40px;
  color: #E6456B;
font-size: 14px;
padding-top: 5%;
padding-left: 3%;
}

}




.btntextchange_instagram {
    /*テキストの基点とするためrelativeを指定*/
    position: relative;
    /*ボタンの形状*/
    border: solid 7px #111;
    width: 450px;
    min-width: 50px;
    height: 110px;
    line-height: 1.2em;
    padding-top: 40px;
    padding-bottom: 40px;
    font-size: 22px;
    letter-spacing: 0.01em;
    display: block;
    text-decoration: none;
    color: #ffffff !important;
    font-weight: 900;
    outline: none;
    transition: all .2s;
    border-radius: 55px;
    background-color: #A52671;
    margin-top: 5%;
    margin-bottom: 5%;
}
.btntextchange_instagram:hover {
    background-color: #620341;
    color: #F4F4D3;
}
.btntextchange_instagram:visited {
    color: #ffffff;
}
.btntextchange_instagram:active {
    color: #ffffff;
}
.btntextchange_instagram span {
    /*絶対配置でテキストの位置を決める*/
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    /*アニメーションの指定*/
    transition: all .5s;
    /*ブロック要素にしてテキスト折り返しなし*/
    display: block;
    white-space: nowrap;
}
/*差し替わるテキストの設定*/
.btntextchange_instagram span:nth-child(2) {
    opacity: 1;
    /*透過0に*/
    color: #fff;
}
/*hoverするとテキストが入れ替わる設定*/
.btntextchange_instagram:hover span:nth-child(1) {
    opacity: 1;
    /*透過0に*/
    color: #fff;
}
.btntextchange_instagram:hover span:nth-child(2) {
    opacity: 1;
    /*不透明に*/
    color: #fff;
}
/* Instagramアイコン */
.btntextchange_instagram .btn_icon {
    position: absolute;
    left: 45px;
    /* ボタン左からの位置 */
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    pointer-events: none;
    /* クリック阻害防止 */
    color: #ffffff;
}
@media screen and (max-width: 738px) {
    .btntextchange_instagram {
        position: relative;
        /*ボタンの形状*/
        border: solid 3px #111;
        min-width: 50px;
        height: 80px;
        padding: 10px;
        font-size: 20px;
        letter-spacing: 0.01em;
        text-align: right;
        display: block;
        text-decoration: none;
        color: #111;
        outline: none;
        transition: all .2s;
        border-radius: 50px;
        background-color: #A52671;
        margin-top: 5%;
        margin-bottom: 5%;
        width: 300px;
    }
	
	.btntextchange_instagram span {
    /*絶対配置でテキストの位置を決める*/
    position: absolute;
    left: 55%;
    top: 50%;
    transform: translate(-50%, -50%);
    /*アニメーションの指定*/
    transition: all .5s;
    /*ブロック要素にしてテキスト折り返しなし*/
    display: block;
    white-space: nowrap;
}
	
	/* Instagramアイコン */
.btntextchange_instagram .btn_icon {
    position: absolute;
    left: 10px;
    /* ボタン左からの位置 */
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    pointer-events: none;
    /* クリック阻害防止 */
    color: #ffffff;
}
}


.btntextchange_instagram2 {
    /*テキストの基点とするためrelativeを指定*/
    position: relative;
    /*ボタンの形状*/
    border: solid 5px #111;
    width: 350px;
    min-width: 50px;
    height: 70px;
    line-height: 1.2em;
    padding-top: 25px;
    padding-bottom: 25px;
    font-size: 18px;
    letter-spacing: 0.01em;
    display: block;
    text-decoration: none;
    color: #a52671 !important;
    outline: none;
    transition: all .2s;
    border-radius: 55px;
    background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/
    margin-top: 7%;
    margin-bottom: 7%;
	font-weight: 900;
}
.btntextchange_instagram2:hover {
    background-color: #d292b8;
    color: #F4F4D3;
}
.btntextchange_instagram:visited {
    color: #ffffff;
}
.btntextchange_instagram2:active {
    color: #ffffff;
}
.btntextchange_instagram2 span {
    /*絶対配置でテキストの位置を決める*/
    position: absolute;
    left: 55%;
    top: 50%;
    transform: translate(-50%, -50%);
    /*アニメーションの指定*/
    transition: all .5s;
    /*ブロック要素にしてテキスト折り返しなし*/
    display: block;
    white-space: nowrap;
}
/*差し替わるテキストの設定*/
.btntextchange_instagram2 span:nth-child(2) {
    opacity: 1;
    /*透過0に*/
    color: #fff;
}
/*hoverするとテキストが入れ替わる設定*/
.btntextchange_instagram2:hover span:nth-child(1) {
    opacity: 1;
    /*透過0に*/
    color: #fff;
}
.btntextchange_instagram2:hover span:nth-child(2) {
    opacity: 1;
    /*不透明に*/
    color: #fff;
}
/* Instagramアイコン */
.btntextchange_instagram2 .btn_icon {
    position: absolute;
    left: 35px;
    /* ボタン左からの位置 */
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    pointer-events: none;
    /* クリック阻害防止 */
    color: #ffffff;
}
@media screen and (max-width: 738px) {
    .btntextchange_instagram2 {
        position: relative;
        /*ボタンの形状*/
        border: solid 5px #111;
        min-width: 50px;
        height: 70px;
        padding: 10px;
        font-size: 14px;
        letter-spacing: 0.01em;
        text-align: right;
        display: block;
        text-decoration: none;
        color: #111;
        outline: none;
        transition: all .2s;
        border-radius: 50px;
		background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/
        margin-top: 7%;
        margin-bottom: 7%;
        width: 250px;
		font-weight: 900;
    }
	
	.btntextchange_instagram2 span {
    /*絶対配置でテキストの位置を決める*/
    position: absolute;
    left: 55%;
    top: 50%;
    transform: translate(-50%, -50%);
    /*アニメーションの指定*/
    transition: all .5s;
    /*ブロック要素にしてテキスト折り返しなし*/
    display: block;
    white-space: nowrap;
}
	
	/* Instagramアイコン */
.btntextchange_instagram2 .btn_icon {
    position: absolute;
    left: 15px;
    /* ボタン左からの位置 */
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    pointer-events: none;
    /* クリック阻害防止 */
    color: #ffffff;
}
	
.btntextchange_instagram2:hover {
    background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
  background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;/*グラデーション①*/
    color: #F4F4D3;
}	
	
}

/* ==========================================================================
   
   #フローティングバナーSP。

   ========================================================================== */
.floating_sp {
    position: fixed;
    right: 1%;
    bottom: 3%;
    z-index: 999;

}
@media screen and (max-width: 738px) {
    .floating_sp {
        position: fixed;
        right: -5%;
        bottom: 2%;
        z-index: 999;
        text-align: center;
        display: block;
    }
    .floating_sp a {
        display: block;
        padding: 0px;
		padding-top: 5%;
        text-decoration: none;
        /*  opacity: 0.6;*/
    }
}


/* ==========================================================================
   
   #フローティングバナーSP。

   ========================================================================== */

.sponsores_box {
background-color: #ffffff;
padding-top: 3%;
margin-top: 3%;
padding-bottom: 5%;
}

.sponsores_box ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* PCは3列 */
  gap: 20px;
  padding: 0;
  margin: 0;
}

.sponsores_box li {
  list-style: none;
}

.sponsores_box img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto; /* ロゴ中央寄せ */
}

/* SP用 */
@media screen and (max-width: 768px) {
  .sponsores_box ul {
    grid-template-columns: repeat(2, 1fr); /* SPは2列 */
  }

  .sponsores_box {
    margin-left: 3%;
    margin-right: 3%;
  }
}




