@charset "UTF-8";

body {
	margin: 0;
	padding: 0;
}
* {
    box-sizing: border-box;
}

.collabo_cp {
background-color: #af87da;
width: 100%;
margin: 0 auto;
font-weight: 500;
}
.collabo_cp * {
font-family: "M PLUS Rounded 1c", sans-serif!important;
}
.collabo_cp .img_respoinsive {
width: 100%;
height: auto;
}
.collabo_cp .ctr {
text-align: center;
}
.collabo_cp .shadow {
text-shadow: 0 1px 2px rgba(80,44,120,.25);
}
.collabo_cp ul,li {
list-style-type: none;
margin: 0;
padding: 0;
}
.collabo_cp .pbtm {
padding-bottom: 50px;
}
.collabo_cp .prt {
position: relative;
}
.collabo_cp a.txt_link {
color: #8A17A2;
font-weight: 700;
text-decoration: none;
}
.collabo_cp .txt_link:hover {
color: #B71DA3;
text-decoration: underline;
}

@media screen and (max-width: 768px) {
.collabo_cp .sp_only {
display: block!important;
}
.collabo_cp .pc_only {
display: none!important;
}
.collabo_cp .collabo_cp {
width: 100%;
}
.collabo_cp .mainv {
width: 100%;
margin: 0 auto;
position: relative;
pointer-events: none;
}
.collabo_cp .oubo_kikan {
z-index: 2;
position: absolute;
width: 86%;
bottom: 10%;
left: 50%;
transform: translateX(-50%);
}
.collabo_cp .cp_cont_pink {
background-color: #f0acd5;
position: relative;
}
.collabo_cp .cp_cont_pink::before {
content: "";
  position: absolute;
  top: -25px;
  left: 0;
  width: 100%;
  height: 50px;
  transform: translateY(-50%);
  background-image: url('../img/pink_bg_up.png');
  background-size: 100% 50px;
}
.collabo_cp .cp_cont_pink::after {
content: "";
  position: absolute;
  bottom: -75px;
  left: 0;
  width: 100%;
  height: 50px;
  transform: translateY(-50%);
  background-image: url('../img/pink_bg_btm.png');
  background-size: 100% 50px;
}

.collabo_cp .cp_cont_inner_A {
width: 92%;
margin: 0 auto;
padding: 30px 0 100px;
}
.collabo_cp .product_bg {
background-color: #9269c9;
background-color: #af87da;
background-image: url("../img/totomaru_bg.png");
background-repeat: repeat;
background-size: 80px auto;
background-blend-mode: soft-light;
background-position: center 140px;
}
.collabo_cp .ttl_icon {
margin: 0 auto;
position: relative;
text-align: center;
}
.collabo_cp .ttl_icon::before {
    content: '✦ ♡ ✦ ♡ ✦';
    top: 0;
    left: 50%;
  transform: translateX(-50%);
    color: #fff;
    opacity: .95;
    text-shadow: 0 2px 0 rgba(164, 69, 139, .32);
    font-size: 18px;
    letter-spacing: 8px;
    line-height: 1;
    z-index: 0;
}
.collabo_cp .cp_cont_inner_B {
width: 92%;
margin: 0 auto;
padding: 30px 0;
}
.collabo_cp .cp_cont_inner_C {
width: 92%;
margin: 0 auto;
padding: 100px 0 30px;
}
.collabo_cp .oubo_inner {
width: 92%;
padding: 20px;
margin: 0 auto;
background-color: #fff;
box-shadow: 0 4px 0 #d292c8;
border-radius: 18px;
}

.collabo_cp .ttl_box {
margin: 0 auto;
text-align: center;
}
.collabo_cp h2 {
font-size: 13px;
line-height: 1;
padding: 6px 10px;
font-weight: 700;
color: #fff;
background-color: #e93f9b;
border: 3px solid #fff;
display: inline-block;
border-radius: 16px;
letter-spacing: 0.05em;
box-shadow: 0 4px 0 #a84785;
margin-bottom: 10px;
}
.collabo_cp h3 {
font-size: 22px;
font-weight: 800;
padding: 12px 20px;
color: #76449f;
display: inline-block;
line-height: 1;
letter-spacing: 0.02em;
background-color: #fff;
box-shadow: 0 4px 0 #d494c7;
border-radius: 26px;
margin: 0 auto 20px;
}
.collabo_cp h3 span {
color: #e2241b;
}
.collabo_cp .ttl_icon {
width: 70%;
margin: 10px auto;
}
.collabo_cp .txt01 {
font-size: 16px;
color: #000;
padding: 20px 0;
}
.collabo_cp .txt02 {
font-size: 15px;
color: #555;
padding-bottom: 10px;
}
.collabo_cp .txt03 {
font-size: 15px;
color: #666;
padding-bottom: 10px;
}
.collabo_cp .txt04 {
font-size: 15px;
color: #fff;
padding-bottom: 10px;
line-height: 1.5;
}
.collabo_cp .txt05 {
font-size: 13px;
color: #666;
padding-bottom: 10px;
}
.collabo_cp .txt06 {
font-size: 12px;
color: #fff;
padding-bottom: 10px;
}
.collabo_cp .txt07 {
font-size: 12px;
color: #333;
padding-bottom: 10px;
}
.collabo_cp .course_anno {
font-size: 12px;
text-align: center;
color: #333;
}
.collabo_cp .course_anno_wht {
font-size: 12px;
text-align: center;
color: #fff;
}
.collabo_cp .txt_gray {
color: #999;
font-weight: 400;
}
.collabo_cp .total {
box-shadow: 0 0 0 5px #fff, 0 7px 0 #aa438d, 0 12px 16px rgba(91, 45, 132, .26);
background: linear-gradient(135deg, #ff62b9, #7954d0);
border: 2px solid #fff;
width: 120px;
height: 120px;
margin: 20px auto;
border-radius: 50%;
color: #fff;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
transform: rotate(-6deg);
font-size: 34px;
font-weight: 900;
line-height: 1.1;
}
.collabo_cp .total  span {
font-size: 16px;
line-height: 1;
font-weight: 500;
}

.collabo_cp .prize_block {
width: 92%;
margin: 20px auto;
display: flex;
justify-content: space-between;
flex-direction: column;
gap:20px;
}
.collabo_cp .usushio,.collabo_cp .katayaki {
flex: 1;
pointer-events: none;
}
.collabo_cp .usushio {
border-color: #fff;
box-shadow: 0 0 0 4px #ff65b5, 0 9px 0 rgba(128, 58, 150, .22);
background: linear-gradient(160deg, #dff6ff, #f3d4ff);
border: 2px solid #fff;
}
.collabo_cp .katayaki {
border-color: #fff;
box-shadow: 0 0 0 4px #6949ac, 0 9px 0 rgba(74, 43, 119, .28);
background: linear-gradient(160deg, #463184, #8162cc);
border: 2px solid #fff;
color: #fff;
}
.collabo_cp .prize_card {
border-radius: 20px;
padding: 16px 12px 18px;
text-align: center;
position: relative;
overflow: hidden;
}
.collabo_cp .name_course_usushio,.collabo_cp .name_course_katayaki {
font-size: 16px;
display: inline-block;
padding: 10px 20px;
line-height:1;
border-radius: 16px;
margin-bottom: 20px;
}
.collabo_cp .name_course_usushio {
color: #fff;
background-color: #E2231A;
}
.collabo_cp .name_course_katayaki {
color: #1B2456;
background-color: #FFD400;
}
.collabo_cp .prize_img {
 width: 80%;
margin: 15px auto 10px;
filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .15));
}
.collabo_cp .name_usushio,.name_katayaki {
font-size: 16px;
line-height: 1.4;
font-weight: 700;
}
.collabo_cp .name_course_usushio {
color: #fff;
background-color: #E2231A;
}
.collabo_cp .name_course_katayaki {
color: #1B2456;
background-color: #FFD400;
}
.collabo_cp .name_usushio span,.collabo_cp .name_katayaki span {
font-size: 12px;
}

.collabo_cp .prizenumber {
font-size: 26px;
line-height: 1;
padding: 5px 10px;
border-radius: 16px;
display: inline-block;
margin-top: 5px;
}
.collabo_cp .usushio .prizenumber {
color: #1477A8;
background-color: #fff;
}
.collabo_cp .katayaki .prizenumber {
color: #fff;
background-color: rgba(255,255,255,.15);
}

.collabo_cp .taisho_course {
    background: rgba(255, 255, 255, .92);
    border: 3px solid #fff;
    box-shadow: 0 4px 0 rgba(113, 63, 152, .17);
}
.collabo_cp .course_ttl {
background: rgba(255, 255, 255, .92);
border: 3px solid #fff;
box-shadow: 0 4px 0 rgba(113, 63, 152, .17);
color: #5d338b;
padding: 5px 0 5px 10px;
font-size: 16px;
font-weight: 800;
}
.collabo_cp span.usu {
color: #3FB6E8;
padding-right: 10px;
display: inline-block!important;
}
.collabo_cp span.kata {
color: #1B2456;
padding-right: 10px;
display: inline-block!important;
}
.collabo_cp ul.prd_item {
width: 100%;
margin: 20px auto 40px;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
.collabo_cp ul.prd_item li {
background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    padding: 10px 6px 8px;
    text-align: center;
    box-shadow: 0 8px 0 rgba(103, 54, 143, .20);
}
.collabo_cp ul.prd_item li div {
width: 92%;
margin: 0 auto;
}
.collabo_cp ul.prd_item li p {
font-size: 16px;
color: #555;
font-weight: 700;
}


.collabo_cp ul.anno_list {
margin: 10px 0;
}
.collabo_cp ul.anno_list li {
text-indent: -1em;
margin-left: 1em;
font-size: 14px;
}

.collabo_cp ul.oubo_flow {
width: 100%;
margin: 20px auto;
display: flex;
flex-direction: column;
gap:36px;
}
.collabo_cp ul.oubo_flow li {
flex:1;
position: relative;
}
.collabo_cp ul.oubo_flow li:not(:last-child)::after {
  content: "⌄";
  position: absolute;
  top: auto;
  bottom:-25px;
  right: auto;
  left: 50%;
transform: translateX(-50%);
  font-size: 22px;
  color: #e2241b;
  font-weight: 800;
  z-index: 10;
}
.collabo_cp .step_ttl {
font-size: 16px;
color: #fff;
line-height: 1;
background-color: #7b55c6;
padding: 6px 10px;
letter-spacing: 0.02em;
display: inline-block;
border-radius: 16px;
}
.collabo_cp .step_icon {
background: #ffe8f7;
width: 80px;
height: 80px;
margin: 20px auto;
border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.collabo_cp .step_icon svg {
width: 36px;
height: 36px;
}
.collabo_cp .anno_box {
width: 100%;
margin: 0 auto 20px;
border:2px solid #c58be8;
border-radius: 12px;
}
.collabo_cp .anno_ttl {
background: linear-gradient(to right,  #fe63b8 0%,#8b62cf 100%);
color: #fff;
font-size: 18px;
line-height: 1;
padding: 10px 0;
font-weight: 700;
text-align: center;
border-radius: 10px 10px 0 0;
}
.collabo_cp .anno_inner {
padding: 20px;
}
.collabo_cp ul.point_item {
display: flex;
justify-content: space-between;
gap:10px;
flex-wrap: wrap;
}
.collabo_cp ul.point_item li {
width: calc(50% - 5px);
padding: 3px;
background-color: #f2f2f2;
color: #000;
font-size: 15px;
border-radius: 8px;
}
.collabo_cp ul.point_list {
display: flex;
flex-direction: column;
width: 100%;
gap:15px;
margin:30px auto 0;
}
.collabo_cp ul.point_list li {
flex: 1;
}

.collabo_cp .good_item {
background-color: #edfaf0;
border-radius: 8px;
padding: 15px;
}
.collabo_cp .good_item h4 {
color: #2d9b4f;
font-size: 18px;
font-weight: 700;
padding-bottom: 15px;
margin: 0;
}
.collabo_cp .bad_item {
background-color: #fdeeed;
border-radius: 8px;
padding: 15px;
}
.collabo_cp .bad_item h4 {
color: #e2241b;
font-size: 18px;
font-weight: 700;
padding-bottom: 15px;
margin: 0;
}
.collabo_cp ul.ph_point {
}
.collabo_cp ul.ph_point li {
color: #555;
font-size: 14px;
list-style-type: disc!important;
list-style-position: inside;
text-indent: -1em;
margin-left: 1em;
}
.collabo_cp .form_btns {
display: flex;
margin: 20px auto 10px;
width: 100%;
gap: 10px;
flex-direction: column;
}
.collabo_cp .form_btns li {
flex: 1;
}


.collabo_cp .btn_form {
width: 100%;
margin: 0 auto 10px;
background: linear-gradient(to right,  #fe63b8 0%,#8b62cf 100%);
border-radius: 12px;
box-shadow: 0 4px 0 #923384;
text-align: center;
}
.collabo_cp .btn_form a {
display: block;
padding: 10px 0!important;
font-size: 22px;
color: #fff;
font-weight: 700;
text-decoration: none;
}
.collabo_cp .btn_form span {
font-size: 14px;
display: inline-block!important;
}
.collabo_cp .btn_form a:hover {
background: linear-gradient(to right,  #8b62cf 0%,#fe63b8 100%);
border-radius: 12px;
}
.collabo_cp .btn_form a.nooubo {
opacity: 0.4 !Important;
cursor: default;
}
.collabo_cp h5 {
color: #333;
font-size: 16px;
font-weight: 700;
padding-bottom: 10px;
margin: 20px 0 0;
}

/* アコーディオン全体 */
.collabo_cp .accordion {
  width: 100%;
  max-width: 1000px;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 0 #895fbd;
  margin-bottom: 20px;
}

/* デフォルトの三角アイコンを非表示にする */
.collabo_cp .accordion > summary {
  list-style: none;
}
.collabo_cp .accordion > summary::-webkit-details-marker {
  display: none;
}
.collabo_cp .accordion_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background-color: #f5f5f5;
  cursor: pointer;
  user-select: none;
  border:8px;
  transition: background-color 0.2s;
}

.collabo_cp .accordion_header:hover {
  background-color: #ebebeb;
}
.collabo_cp .accordion_title {
  color: #55327f;
  font-weight: 700;
  font-size: 18px;
}

/* 右端のアイコン（▼）の回転アニメーション */
.collabo_cp .accordion_icon {
  font-size: 0.5rem;
  transition: transform 0.3s ease;
  color: #444;
}

/* 開いたときにアイコンを上向き（▲）にする */
.collabo_cp .accordion[open] .accordion_icon {
  transform: rotate(180deg);
}

/* 中身のコンテンツ（スムーズな高さアニメーション） */
.collabo_cp .accordion_content {
  padding: 0 20px;
  color: #666;
  line-height: 1.6;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease, padding 0.3s ease;
}

/* 開いたときのコンテンツの状態 */
.collabo_cp .accordion[open] .accordion_content {
  grid-template-rows: 1fr;
  padding: 16px 20px 20px 20px; /* 開いたときの上下パディング */
}

/* アニメーションを効かせるための中身のラップ要素 */
.collabo_cp .accordion_content > * {
  overflow: hidden;
  margin: 0;
}

.collabo_cp .contact_box {
width: 96%;
margin: 20px auto 50px;
box-shadow: 0 8px 0 rgba(103, 54, 143, .20);
border-color: #fff;
background: linear-gradient(135deg, #fff0f9, #eee0ff);
border: 2px solid rgba(229, 91, 174, .34);
border-radius: 16px;
padding: 20px 18px;
text-align: center;
font-size: 22px;
font-weight: 700;
line-height: 1.4;
}
.collabo_cp .footer {
margin: 0 auto;
width: 100%;
padding: 100px 0 20px;
background-color: #5b327f;
text-align: center;
}
.collabo_cp .name_morinaga {
font-size: 14px;
color: #cfd2e6;
font-weight: 400;
letter-spacing: .05em;
}
.collabo_cp .btn_site {
display: inline-block;
margin: 0 auto 10px;
}
.collabo_cp .btn_site a {
display: block;
color: #fff;
border: 4px solid #f19bd2;
text-decoration: none;
padding: 10px 22px;
border-radius: 999px;
font-size: 18px;
transition: .3s;
font-weight: 800;
}
.collabo_cp .btn_site a:hover {
background-color: #f19bd2;
color: #5b327f;
}
.collabo_cp .ft_anno {
font-size: 12px;
color: #767ba0;
}
/*--icon--*/
.collabo_cp .icon01 {
position: absolute;
left: 5%;
top:10px;
width: 40px;
}
.collabo_cp .icon02 {
position: absolute;
right: 5%;
top:15px;
width: 40px;;
}
.collabo_cp .icon03 {
position: absolute;
left: 4%;
top:180px;
width: 40px;
}
.collabo_cp .icon04 {
position: absolute;
right: 14%;
top:200px;
width: 30px;
}
.collabo_cp .icon05 {
position: absolute;
left: 2%;
top:30px;
width: 40px;
}
.collabo_cp .icon06 {
position: absolute;
right: 1%;
bottom:80px;
width: 30px;
}
.collabo_cp .icon07 {
position: absolute;
right: 40px;
top:50px;
width: 40px;
}

.collabo_cp .kiyaku2btn {
font-size: 16px;
		font-weight: 700;
		margin: 0 auto 30px;
		cursor: pointer;
		display: flex;
		justify-content: center;
		align-items: center;
        color: #fff;
}
.collabo_cp .kiyaku2btn span {
		margin-right: 12px;
		font-size: 0;
		width: 24px;
		height: 24px;
		box-sizing: border-box;
		border: solid 3px #6A22D9;
		background-color: #fff;
		vertical-align: top;
		display: block;
		border-radius: 3px;
		position: relative;
		transform: .5s;
	}
.collabo_cp .kiyaku2btn span img {
		opacity: 0;
	}
.collabo_cp .kiyaku2btn.oubook span {
		background-color: #6A22D9;
	}
.collabo_cp .kiyaku2btn.oubook span img {
		opacity: 1;
        width: 20px;
        height: 20px;
        vertical-align: top;
	}

.collabo_cp . 10pxdl_contact {
  display: grid;
  width: 100%;
  margin: 0 auto 10px;
  grid-template-columns: 1fr;
  gap: 8px; /* 行間・列間の余白 */
  font-size: 14px;
}

.collabo_cp .dl_contact dt {
  font-weight: 700;
    text-align: left!important;
    border-bottom: 1px dotted #555;
}

.collabo_cp .dl_contact dd {
  margin: 0;
    text-align: left!important;
      line-height: 1.4;
}


}
/* 769px以上 PC向け
--------------------------------------------------------------------------------- */
@media print, screen and (min-width: 769px) {
.collabo_cp .sp_only {
display: none!important;
}
.collabo_cp .pc_only {
display: block!important;
}
.collabo_cp {
min-width: 1080px;
}

.collabo_cp .mainv {
width: 100%;
margin: 0 auto;
position: relative;
pointer-events: none;
}
.collabo_cp .oubo_kikan {
z-index: 2;
position: absolute;
width: 800px;
bottom: 13%;
left: 50%;
transform: translateX(-50%);
}

.collabo_cp .cp_cont_pink {
background-color: #f0acd5;
/*background-color: bisque;*/
position: relative;
}
.collabo_cp .cp_cont_pink::before {
content: "";
  position: absolute;
  top: -50px;
  left: 0;
  width: 100%;
  height: 100px;
  transform: translateY(-50%);
  background-image: url('../img/pink_bg_up.png');
  background-size: 100% 100px;
}
.collabo_cp .cp_cont_pink::after {
content: "";
  position: absolute;
  bottom: -150px;
  left: 0;
  width: 100%;
  height: 100px;
  transform: translateY(-50%);
  background-image: url('../img/pink_bg_btm.png');
  background-size: 100% 100px;
}
.collabo_cp .cp_cont_inner_A {
width: 1000px;
margin: 0 auto;
padding: 30px 0 100px;
}
.collabo_cp .product_bg {
background-color: #9269c9;
background-color: #af87da;
background-image: url("../img/totomaru_bg.png");
background-repeat: repeat;
background-size: 140px auto;
background-blend-mode: soft-light;
background-position: center 140px;
}
.collabo_cp .ttl_icon {
margin: 0 auto;
position: relative;
text-align: center;
}
.collabo_cp .ttl_icon::before {
    content: '✦ ♡ ✦ ♡ ✦';
    top: 0;
    left: 50%;
  transform: translateX(-50%);
    color: #fff;
    opacity: .95;
    text-shadow: 0 2px 0 rgba(164, 69, 139, .32);
    font-size: 24px;
    letter-spacing: 11px;
    line-height: 1;
    z-index: 0;
}
.collabo_cp .cp_cont_inner_B {
width: 1000px;
margin: 0 auto;
padding: 30px 0;
}
.collabo_cp .cp_cont_inner_C {
width: 1000px;
margin: 0 auto;
padding: 100px 0 30px;
}
.collabo_cp .oubo_inner {
width: 940px;
padding: 30px;
margin: 0 auto;
background-color: #fff;
box-shadow: 0 4px 0 #d292c8;
border-radius: 18px;
}

.collabo_cp .ttl_box {
margin: 0 auto;
text-align: center;
}
.collabo_cp h2 {
font-size: 14px;
line-height: 1;
padding: 6px 10px;
font-weight: 700;
color: #fff;
background-color: #e93f9b;
border: 3px solid #fff;
display: inline-block;
border-radius: 16px;
letter-spacing: 0.05em;
box-shadow: 0 4px 0 #a84785;
margin: 0 auto 10px;
}
.collabo_cp h3 {
font-size: 28px;
font-weight: 800;
padding: 12px 20px;
color: #76449f;
display: inline-block;
line-height: 1;
letter-spacing: 0.02em;
background-color: #fff;
box-shadow: 0 4px 0 #d494c7;
border-radius: 26px;
margin: 0 auto 20px;
}
.collabo_cp h3 span {
color: #e2241b;
}
.collabo_cp .ttl_icon {
width: 400px;
margin: 10px auto;
}
.collabo_cp .txt01 {
font-size: 18px;
color: #000;
padding: 20px 0;
}
.collabo_cp .txt02 {
font-size: 16px;
color: #555;
padding-bottom: 10px;
line-height: 1.5;
}
.collabo_cp .txt03 {
font-size: 16px;
color: #666;
padding-bottom: 10px;
line-height: 1.5;
}
.collabo_cp .txt04 {
font-size: 16px;
color: #fff;
padding-bottom: 10px;
font-weight: 700;
}
.collabo_cp .txt05 {
font-size: 15px;
color: #666;
padding-bottom: 10px;
}
.collabo_cp .txt06 {
font-size: 14px;
color: #fff;
font-weight: 700;
padding-bottom: 10px;
}
.collabo_cp .txt07 {
font-size: 13px;
color: #333;
padding-bottom: 10px;
}
.collabo_cp .course_anno {
font-size: 12px;
text-align: center;
color: #333;
}
.collabo_cp .course_anno_wht {
font-size: 12px;
text-align: center;
color: #fff;
}
.collabo_cp .txt_gray {
color: #999;
font-weight: 400;
}
.collabo_cp .total {
box-shadow: 0 0 0 5px #fff, 0 7px 0 #aa438d, 0 12px 16px rgba(91, 45, 132, .26);
background: linear-gradient(135deg, #ff62b9, #7954d0);
border: 3px solid #fff;
width: 140px;
height: 140px;
margin: 20px auto;
border-radius: 50%;
color: #fff;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
transform: rotate(-6deg);
font-size: 34px;
font-weight: 900;
line-height: 1.1;
}
.collabo_cp .total  span {
font-size: 16px;
line-height: 1;
font-weight: 500;
}

.collabo_cp .prize_block {
width: 960px;
margin: 20px auto;
display: flex;
justify-content: space-between;
gap:20px;
}
.collabo_cp .usushio,.collabo_cp .katayaki {
flex: 1;
pointer-events: none;
}
.collabo_cp .usushio {
border-color: #fff;
box-shadow: 0 0 0 4px #ff65b5, 0 9px 0 rgba(128, 58, 150, .22);
background: linear-gradient(160deg, #dff6ff, #f3d4ff);
border: 2px solid #fff;
}
.collabo_cp .katayaki {
border-color: #fff;
box-shadow: 0 0 0 4px #6949ac, 0 9px 0 rgba(74, 43, 119, .28);
background: linear-gradient(160deg, #463184, #8162cc);
border: 2px solid #fff;
color: #fff;
}
.collabo_cp .prize_card {
border-radius: 20px;
padding: 16px 12px 18px;
text-align: center;
position: relative;
overflow: hidden;
}
.collabo_cp .name_course_usushio,.collabo_cp .name_course_katayaki {
font-size: 18px;
display: inline-block;
padding: 10px 20px;
line-height:1;
border-radius: 19px;
margin-bottom: 20px;
}
.collabo_cp .name_course_usushio {
color: #fff;
background-color: #E2231A;
}
.collabo_cp .name_course_katayaki {
color: #1B2456;
background-color: #FFD400;
}
.collabo_cp .prize_img {
 width: 80%;
margin: 12px auto;
filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .15));
}
.collabo_cp .name_usushio,.collabo_cp .name_katayaki {
font-size: 22px;
line-height: 1.4;
font-weight: 700;
}
.collabo_cp .name_usushio span,.collabo_cp .name_katayaki span {
font-size: 13px;
}

.collabo_cp .prizenumber {
font-size: 30px;
line-height: 1;
padding: 5px 10px;
border-radius: 16px;
display: inline-block;
margin-top: 5px;
}
.collabo_cp .usushio .prizenumber {
color: #1477A8;
background-color: #fff;
}
.collabo_cp .katayaki .prizenumber {
color: #fff;
background-color: rgba(255,255,255,.15);
}


.collabo_cp .taisho_course {
    background: rgba(255, 255, 255, .92);
    border: 3px solid #fff;
    box-shadow: 0 4px 0 rgba(113, 63, 152, .17);
}
.collabo_cp .course_ttl {
background: rgba(255, 255, 255, .92);
border: 3px solid #fff;
box-shadow: 0 4px 0 rgba(113, 63, 152, .17);
color: #5d338b;
padding: 5px 0 5px 10px;
font-size: 20px;
font-weight: 800;
}
.collabo_cp span.usu {
color: #3FB6E8;
padding-right: 10px;
display: inline-block!important;
}
.collabo_cp span.kata {
color: #1B2456;
padding-right: 10px;
display: inline-block!important;
}
.collabo_cp ul.prd_item {
width: 100%;
margin: 20px auto 40px;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 20px;
}
.collabo_cp ul.prd_item li {
background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    padding: 10px 6px 8px;
    text-align: center;
    box-shadow: 0 8px 0 rgba(103, 54, 143, .20);
}
.collabo_cp ul.prd_item li div {
width: 92%;
margin: 20px auto 0;
}
.collabo_cp ul.prd_item li p {
font-size: 16px;
color: #555;
font-weight: 700;
}




.collabo_cp ul.anno_list {
margin: 10px 0;
}
.collabo_cp ul.anno_list li {
text-indent: -1em;
margin-left: 1em;
font-size: 14px;
}
.collabo_cp ul.oubo_flow {
width: 100%;
margin: 20px auto;
display: flex;
flex-wrap: nowrap;
gap:36px;
}
.collabo_cp ul.oubo_flow li {
flex:1;
position: relative;
}
.collabo_cp ul.oubo_flow li:not(:last-child)::after {
  content: "〉";
  position: absolute;
  top: 30%;
  right: -30px;
transform: translateY(-30%);
  font-size: 16px;
  color: #e2241b;
  font-weight: 800;
  z-index: 10;
}
.collabo_cp .step_ttl {
font-size: 16px;
color: #fff;
line-height: 1;
background-color: #7b55c6;
padding: 6px 10px;
letter-spacing: 0.02em;
display: inline-block;
border-radius: 16px;
}
.collabo_cp .step_icon {
background: #ffe8f7;
width: 80px;
height: 80px;
margin: 20px auto;
border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.collabo_cp .step_icon svg {
width: 36px;
height: 36px;
}
.collabo_cp .anno_box {
width: 100%;
margin: 0 auto 20px;
border:2px solid #c58be8;
border-radius: 12px;
}
.collabo_cp .anno_ttl {
background: linear-gradient(to right,  #fe63b8 0%,#8b62cf 100%);
color: #fff;
font-size: 18px;
line-height: 1;
padding: 10px 0;
font-weight: 700;
text-align: center;
border-radius: 10px 10px 0 0;
}
.collabo_cp .anno_inner {
padding: 20px;
}
.collabo_cp ul.point_item {
display: flex;
justify-content: flex-start;
gap:10px;
}
.collabo_cp ul.point_item li {
padding: 5px 10px;
background-color: #f2f2f2;
color: #000;
font-size: 16px;
border-radius: 8px;
}
.collabo_cp ul.point_list {
display: flex;
justify-content: space-between;
width: 100%;
gap:15px;
margin:30px auto 0;
align-items: flex-start;
}
.collabo_cp ul.point_list li {
flex: 1;
}

.collabo_cp .good_item {
background-color: #edfaf0;
border-radius: 8px;
padding: 15px;
}
.collabo_cp .good_item h4 {
color: #2d9b4f;
font-size: 18px;
font-weight: 700;
padding-bottom: 15px;
margin: 0;
}
.bad_item {
background-color: #fdeeed;
border-radius: 8px;
padding: 15px;
}
.collabo_cp .bad_item h4 {
color: #e2241b;
font-size: 18px;
font-weight: 700;
padding-bottom: 15px;
margin: 0;
}
.collabo_cp ul.ph_point {
}
.collabo_cp ul.ph_point li {
color: #555;
font-size: 14px;
list-style-type: disc!important;
list-style-position: inside;
text-indent: -1em;
margin-left: 1em;
}

.collabo_cp .form_btns {
display: flex;
margin: 20px auto 10px;
width: 80%;
gap: 0 20px;
}
.collabo_cp .form_btns li {
flex: 1;
}

.collabo_cp .btn_form {
width: 70%;
margin: 0 auto;
background: linear-gradient(to right,  #fe63b8 0%,#8b62cf 100%);
border-radius: 12px;
box-shadow: 0 4px 0 #923384;
text-align: center;
}
.collabo_cp .btn_form a {
display: block;
padding: 20px 0!important;
font-size: 22px;
color: #fff;
font-weight: 800;
text-decoration: none;
}
.collabo_cp .btn_form a.nooubo {
opacity: 0.4 !Important;
cursor: default;
}
.collabo_cp .btn_form span {
font-size: 14px;
display: inline-block!important;
}
.collabo_cp .btn_form a:hover {
background: linear-gradient(to right,  #8b62cf 0%,#fe63b8 100%);
border-radius: 12px;
}
.collabo_cp h5 {
color: #333;
font-size: 16px;
font-weight: 700;
padding-bottom: 10px;
margin: 20px 0 0;
}

/* アコーディオン全体 */
.collabo_cp .accordion {
  width: 100%;
  max-width: 1000px;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 4px 0 #895fbd;
  margin-bottom: 20px;
}

/* デフォルトの三角アイコンを非表示にする */
.collabo_cp .accordion > summary {
  list-style: none;
}
.collabo_cp .accordion > summary::-webkit-details-marker {
  display: none;
}
.collabo_cp .accordion_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background-color: #f5f5f5;
  cursor: pointer;
  user-select: none;
  border:8px;
  transition: background-color 0.2s;
}

.collabo_cp .accordion_header:hover {
  background-color: #ebebeb;
}
.collabo_cp .accordion_title {
  color: #55327f;
  font-weight: 700;
  font-size: 18px;
}

/* 右端のアイコン（▼）の回転アニメーション */
.collabo_cp .accordion_icon {
  font-size: 0.5rem;
  transition: transform 0.3s ease;
  color: #444;
}

/* 開いたときにアイコンを上向き（▲）にする */
.collabo_cp .accordion[open] .accordion_icon {
  transform: rotate(180deg);
}

/* 中身のコンテンツ（スムーズな高さアニメーション） */
.collabo_cp .accordion_content {
  padding: 0 20px;
  color: #666;
  line-height: 1.6;
  
  /* 高さとパディングのアニメーション設定 */
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease, padding 0.3s ease;
}

/* 開いたときのコンテンツの状態 */
.collabo_cp .accordion[open] .accordion_content {
  grid-template-rows: 1fr;
  padding: 16px 20px 20px 20px; /* 開いたときの上下パディング */
}

/* アニメーションを効かせるための中身のラップ要素 */
.collabo_cp .accordion_content > * {
  overflow: hidden;
  margin: 0;
}

.collabo_cp .contact_box {
width: 90%;
margin: 20px auto 50px;
box-shadow: 0 8px 0 rgba(103, 54, 143, .20);
border-color: #fff;
background: linear-gradient(135deg, #fff0f9, #eee0ff);
border: 2px solid rgba(229, 91, 174, .34);
border-radius: 16px;
padding: 20px 18px;
text-align: center;
font-size: 24px;
font-weight: 700;
line-height: 1.4;
}
.collabo_cp .footer {
margin: 0 auto;
width: 100%;
padding: 100px 0 20px;
background-color: #5b327f;
text-align: center;
}
.collabo_cp .name_morinaga {
font-size: 16px;
color: #cfd2e6;
font-weight: 400;
letter-spacing: .05em;
}
.collabo_cp .btn_site {
margin: 0 auto 10px;
display: inline-block;
}
.collabo_cp .btn_site a {
display: block;
color: #fff;
border: 4px solid #f19bd2;
text-decoration: none;
padding: 10px 22px;
border-radius: 999px;
font-size: 20px;
transition: .3s;
font-weight: 800;
}
.collabo_cp .btn_site a:hover {
background-color: #f19bd2;
color: #5b327f;
}
.collabo_cp .ft_anno {
font-size: 14px;
color: #767ba0;
}
/*--icon--*/
.collabo_cp .icon01 {
position: absolute;
left: 5%;
top:0;
width: 80px;
}
.collabo_cp .icon02 {
position: absolute;
right: 5%;
top:10px;
width: 80px;
}
.collabo_cp .icon03 {
position: absolute;
left: 4%;
top:140px;
width: 80px;
}
.collabo_cp .icon04 {
position: absolute;
right: 6%;
top:170px;
width: 60px;
}
.collabo_cp .icon05 {
position: absolute;
left: 2%;
top:20px;
width: 80px;
}
.collabo_cp .icon06 {
position: absolute;
right: 1%;
bottom:80px;
width: 60px;
}
.collabo_cp .icon07 {
position: absolute;
right: 100px;
top:120px;
width: 80px;
}
.collabo_cp .kiyaku2btn {
font-size: 18px;
		font-weight: 700;
		margin: 0 auto 30px;
		cursor: pointer;
		text-align: center;
		display: flex;
		justify-content: center;
		align-items: center;
        color: #fff;
}
.collabo_cp .kiyaku2btn span {
		margin-right: 12px;
		font-size: 0;
		width: 24px;
		height: 24px;
		box-sizing: border-box;
		border: solid 3px #6A22D9;
		background-color: #fff;
		vertical-align: top;
		display: block;
		border-radius: 3px;
		position: relative;
		transform: .5s;
	}
.collabo_cp .kiyaku2btn span img {
		opacity: 0;
	}
.collabo_cp .kiyaku2btn.oubook span {
		background-color: #6A22D9;
	}
.collabo_cp .kiyaku2btn.oubook span img {
		opacity: 1;
        width: 20px;
        height: 20px;
        vertical-align: top;
	}

.collabo_cp .dl_contact {
  display: grid;
  width: 64%;
  margin: 0 auto 10px;
  text-align: center;
  grid-template-columns: 100px 1fr; /* 1列目の幅: 120px、2列目の幅: 残り全部 */
  gap: 8px; /* 行間・列間の余白 */
  font-size: 17px;
}

.collabo_cp .dl_contact dt {
  font-weight: 700;
    text-align: left!important;
}

.collabo_cp .dl_contact dd {
  margin: 0;
    text-align: left!important;
}


}