/*@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i,dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video, button {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;}

html{scroll-behavior: smooth;}
body {line-height: 1.7;}
ul li {list-style: none; }
blockquote, q {quotes: none; }
table {
  border-collapse: collapse;
  border-spacing: 0; }
th {text-align: left; }
h1, h2, h3, h4, h5, h6 {font-size: 100%; }
img, fieldset {border: 0; }
* {box-sizing: border-box; }
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.clearfix {
  display: inline-table;
  min-height: 1%;
}
/* Hides from IE-mac \*/
* html .clearfix {
  height: 1%; }
.clearfix {display: block;
}
/* End hide from IE-mac */
* html .clearfix {
  zoom: 1;
}
/* IE6 */
*:first-child + html .clearfix {zoom: 1; }

/** 共通の基本仕様 **/
a{text-decoration: none;}
body, html {
    font-family: "Meiryo", "Hiragino Kaku Gothic ProN", "Yu Gothic", "MS PGothic", sans-serif;
    font-weight: 400;
    letter-spacing: .02em;
    box-sizing: border-box;
    font-size: 93.75%;
    color: #444; }
html > body {
    font-size: 15px;
  /* Except IE */ }
body{
    /*background: linear-gradient(180deg, rgb(255, 242, 78), rgb(0, 132, 226), rgb(4, 52, 146));
    background-attachment: fixed;*/
    /*background-color: #dffbfd;*/ /* 作業用BGカラー 両再度5%*/
}
.floatclear{
    clear: both;
}
.tbld{
    font-weight: bold;
}
.tudl{
    text-decoration: underline;
}
.tred{
    color: #f00;
}
.indent{
    padding-left:1em;
    text-indent:-1em;
}
.l-color_blue{
    color:#005093;
}
.l-color_red{
    color:#DE455A;
}
.l-color_yellow{
    color:#E8A020;
}
.l-color_green{
    color:#29A855;
}
.l-bgcolor_white{
    background-color: #fff;
}
.l-bgcolor_lightblue{
    background-color: #DCECFA;
}
.l-bgcolor_blue{
    background: linear-gradient(135deg, #2CC0EE 0%, #29B8E7 4%, #1A93C9 23%, #0E75B1 43%, #0660A0 63%, #015496 82%, #005093 100%);
}
.l-bgcolor_red{
    background: linear-gradient(135deg, #FF81AD 0%, #F0698D 20%, #D94259 57%, #CB2A39 85%, #C6212D 100%);
}
.l-bgcolor_lightyellow{
    background-color: #fbf8d6;
}
.l-bgcolor_yellow{
    background: linear-gradient(135deg, #FFD834 0%, #F5B01F 29%, #EE8E0E 59%, #E97903 84%, #E87200 100%);
}
.l-bgcolor_green{
    background: linear-gradient(135deg, #5DB54B 0%, #217A39 65%, #005A30 100%);
}
.l-bgcolor_2022ci{
background: linear-gradient(102deg, #FFDF51 0.81%, #F6DB55 4.72%, #DDD261 10.59%, #B5C474 18.41%, #7EB08E 27.21%, #3997B0 36.98%, #0083CC 44.8%, #0079C2 48.71%, #005CA5 61.42%, #004890 74.13%, #003C84 86.84%, #003880 98.57%);
}
.ci-line{
    border-top: 15px solid rgb(4, 52, 146);
    border-image: linear-gradient(90deg, rgb(255, 242, 78), rgb(0, 132, 226), rgb(4, 52, 146));
    border-image-slice: 1;
    margin-bottom: 0px;
}
.l-btm10{
    margin-bottom:10px!important ;
}
.l-btm30{
    margin-bottom:30px!important ;
}
.l-btm50{
    margin-bottom:50px!important;
}
.l-bgcolor_2026kv{
    background: linear-gradient(135deg, #ff98de 0%, #ffee0a 120%);
}

.c_bg-img_clip {
    position: absolute;
    top: 0px;
    left: 0;
    width: 100%;
    height: 100%;
    clip-path: inset(0);
    z-index: -1;
}
.c_bg-img_fixed {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100vh;
    background-size: cover;
    background-position: center;
}



/**------------ 全体基本設定 ------------**/
/*--SP版（～766px）--*/
@media only screen and (max-width:766px){
    .pc_only,.pc_only1,.pc_only2{ 
        display: none;
    }
    main{
        width: 100%;
    }
    footer{
        width: 100%;
        background-color: #ddd;
    }
    .contents-all{
        width: 90%;
        margin-left: auto;
        margin-right: auto;
    }
    .l-contents-all_mtop{
        margin-top: 10%;
    }
    .l-contents-all_mbtm{
        margin-bottom: 10%;
    }
    .l-contents-all_ptop{
        padding-top: 10%;
    }
    .l-contents-all_pbtm{
        padding-bottom: 10%;
    }
    .logo-sawakami_fixed{
        width:40%;
        max-width: 220px;
        margin-top: 10px;
        margin-left: 15px;
    }
    .l-text-main{
        font-size: 14px;
        line-height: 28px;
    }
    .l-text-note{
        font-size: 10px;
        line-height: 18px;
        text-align: left;
    }
    .c-title{
        background-attachment:scroll;
        background-position: top center;
        background-size: cover;
        background-repeat: no-repeat;
        text-align: center;
        font-size:1.4em;
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .c-title p{
        line-height: 1.3em;
    }
    .c-titlebar{
        text-align: center;
        padding-top: 4%;
        padding-bottom: 4%;
    }
    .c-title_space{
    }
    .c-titlebar h2{
        color:#043492;
        font-family: 'Kozuka Mincho Pro', 'Kozuka Mincho Std', '小塚明朝 Pro R', '小塚明朝 Std R', 'Hiragino Mincho ProN', 'ヒラギノ明朝 Pro W3', 'MS PMincho', 'Times', 'Times New Roman', serif ;
        font-size: 24px;
        font-style: normal;
        font-weight: 700;
        line-height: 30px;
    }
}
@media only screen and (min-width:767px){
/*-----共通-------*/
    .sp_only{ 
        display: none;
    }
    main{
        width: 100%;
    }
    footer{
        width: 100%;
        background-color: #ddd;
    }
    .contents-all{
        width: 90%;
        margin-left:auto;
        margin-right:auto;
    }
    .l-contents-all_mtop{
        margin-top: 50px;
    }
    .l-contents-all_mbtm{
        margin-bottom: 50px;
    }
    .l-contents-all_ptop{
        padding-top: 50px;
    }
    .l-contents-all_pbtm{
        padding-bottom: 50px;
    }
    .l-text-main{
        font-size: 15px;
        line-height: 30px;
    }
    .l-text-note{
        font-size: 0.7em;
    }
    .c-title{
        background-image: url(../img/bg_title.webp);
        background-attachment:fixed;
        background-position: top center;
        background-size: cover;
        background-repeat: no-repeat;
        text-align: center;
        font-size:2em;
        padding-top: 50px;
        padding-bottom: 50px;
    }
    .c-titlebar{
        text-align: center;
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .c-title_space{
    }
    .c-titlebar h2{
        color:#043492;
        font-family: 'Kozuka Mincho Pro', 'Kozuka Mincho Std', '小塚明朝 Pro R', '小塚明朝 Std R', 'Hiragino Mincho ProN', 'ヒラギノ明朝 Pro W3', 'MS PMincho', 'Times', 'Times New Roman', serif ;
        font-size: 36px;
        font-style: normal;
        font-weight: 700;
        line-height: 55px;
    }
}
@media only screen and (min-width:1101px){
    .contents-all{
        width: 1000px;
    }
}

/**----------- header ------------**/
/*-- header SP版（～766px）--*/
@media only screen and (max-width:766px){
    header{
        width: 100%;
        background-color:rgba(255,255,255,.7);
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 999;
        box-shadow: 5px 5px 3px 1px rgba(100, 100, 100, .2);
    }
    header .header_flex{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    header .header_flex p{
        font-size: 1em;
        padding-top: 10px;
        padding-right: 10px;
    }
    .header-logo{
        margin: 10px 0 0 15px;
        display: inline-block;
    }
    .logo-sawakami{
        width:130px;
    }
    .btn1{
        top:0;
        right: 10px;
        text-align: right;
        position: absolute;
        width:50%;
        text-align: center;
        display: inline;
        padding:5px 5px;
        margin: 10px auto 5px;
        background: transparent linear-gradient(180deg, #FFBE58 0%, #EF9407 100%) 0% 0% no-repeat padding-box;
        background: linear-gradient(102deg, #FFDF51 0.81%, #F6DB55 4.72%, #DDD261 10.59%, #B5C474 18.41%, #7EB08E 27.21%, #3997B0 36.98%, #0083CC 44.8%, #0079C2 48.71%, #005CA5 61.42%, #004890 74.13%, #003C84 86.84%, #003880 98.57%) 0% 0% no-repeat padding-box;
        color: #ffffff;
        border-radius: 50px;
        font-size: 0.8em;
        font-weight: bold;
        border: 1px solid #ebebeb;
        transition:all 0.3s ease-in-out;
    }
    .btn1:link,.btn1:hover,.btn1:visited{
        color: #ffffff;
    }
    .btn1:hover{
        color:#005093;
        background-color: #fff;
        background: linear-gradient(90deg, rgb(255, 255, 255), rgb(255, 255, 255), rgb(255, 255, 255));
        border: 1px solid #005093;
    }
}
/*-- header PC版（767px～）--*/
@media only screen and (min-width:767px){
    header{
        width: 100%;
        height: 60px;
        background-color:rgba(255,255,255,.7);
        box-shadow: 5px 5px 3px 1px rgba(100, 100, 100, .2);
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 10;
    }
    header .header_flex{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    header .header_flex p{
        font-size: 1.6em;
        padding: 10px 30px 0 0;
    }
    header .header-logo{
        margin: 10px 0 0 20px;
        display: inline-block;
    }
    header .logo-sawakami{
        width:180px;
    }
    header .btn1{
        top:0;
        right: 20px;
        text-align: right;
        position: absolute;
        width:250px;
        text-align: center;
        display: inline;
        padding:5px 5px;
        margin: 10px auto 10px;
        background: transparent linear-gradient(180deg, #FFBE58 0%, #EF9407 100%) 0% 0% no-repeat padding-box;
        background: linear-gradient(90deg, rgb(255, 255, 255), rgb(255, 255, 255), rgb(255, 255, 255));
        border: 1px solid #005093;
        color: #005093;
        border-radius: 50px;
        font-size: 1em;
        font-weight: bold;
        transition:all 0.3s ease-in-out;
    }
    header .btn1:link,.btn1:hover,.btn1:visited{
        color: #005093;
    }
    header .btn1:hover{
        color:#fff;
        background-color: #fff;
        background: linear-gradient(102deg, #FFDF51 0.81%, #F6DB55 4.72%, #DDD261 10.59%, #B5C474 18.41%, #7EB08E 27.21%, #3997B0 36.98%, #0083CC 44.8%, #0079C2 48.71%, #005CA5 61.42%, #004890 74.13%, #003C84 86.84%, #003880 98.57%) 0% 0% no-repeat padding-box;
        border: 1px solid #ebebeb;
    }
}

/**-----追従バナーComingSoon------**/
@media only screen and (max-width:766px){
	#bottom-button{
		position: fixed;
		bottom:0;
		width: 100%;
		height: 100px;
		background: linear-gradient(90deg, rgb(255,242,78), rgb(0, 132, 226), rgb(4, 52, 146));
        border-image-slice: 1;
		z-index: 1;
		/* アニメーション */
		animation: fadeIn 1s linear;
		animation-delay: 1s;
		animation-fill-mode: both;
    }
    .bottom-button_frame{
		text-align: center;
		color:#fff;
		font-size: 1.2em;
		font-weight: 800;
		margin-top: 16px;
	}
	.bottom-button_frame span{
		text-decoration: underline;
		font-size: 1.3em;
	}
}
@media only screen and (min-width:767px){
    #bottom-button{
            position: fixed;
            bottom: 0;
            width: 100%;
            height: 110px;
            background: rgba(0, 0, 0, 0.2);
            z-index: 1;
            /* アニメーション */
            animation: fadeIn 1s linear;
            animation-delay: 1s;
            animation-fill-mode: both;
    }
    .bottom-button_frame{
        width: 45%;
        align-items: center;
        background: linear-gradient(90deg, rgb(255,242,78), rgb(0, 132, 226), rgb(4, 52, 146));
        border-radius: 50px;
        border-image-slice: 1;
        z-index: 100;
        text-align: center;
        color:#fff;
        font-size: 1.2em;
        font-weight: 800;
        padding: 10px;
        margin: 10px auto 0;
    }
    .bottom-button_frame span{
        text-decoration: underline;
        font-size: 1.3em;
    }
}

/*---------追従バナー 紹介リンクCTA 20250401～ --------*/
#fbanner{
    z-index: 1;
    text-align: center;
    position: fixed;
    bottom: 0;
    right: 0;
    width: 100%;
    display: none;
}
#fbanner .bg-fix {
    background-color: rgba(255,255,255,0.7);
    display:block;
}
#fbanner .bg-fix a {
    margin: 0 auto ;
    width: 80%;
    text-decoration: none;
    /*box-shadow: 5px 5px #313131;*/
    max-width: 800px;
    transition: all .2s ease;
}
#fbanner .bg-fix a:hover {
    opacity: 0.8;
    box-shadow:none;
    transform:translate(5px,5px);
}
#fbanner .bg-fix img{
    width: 80%;  
}
.hidden {
    opacity: 0;
    visibility: hidden;
}

/* ボタン自体のスタイル */
.shine-button {
	overflow:hidden;
	display: block;	
	cursor: pointer;
	position: relative;
	overflow:hidden;
}
.shine-button::before {
	content: "";
	position: absolute;	
	display: block;
	background: linear-gradient(to right,rgba(255,255,255,0), rgba(255,255,255,0.9)); 
	width: 50px;
	height: 50px;
	top: -60px;
	left: -60px;
 	animation-name:button_shine;
    animation-delay:0s;		/* アニメーション開始時間 */
	animation-duration: 12s;	/* アニメーション動作時間 */
	animation-timing-function: ease-in;/* アニメーション動き指定*/
	animation-iteration-count: infinite;
}
@keyframes button_shine {
    0% {
        transform: scale(0) rotate(50deg);
        opacity: 0;
    }
    90% {
        transform: scale(1) rotate(50deg);
        opacity: 0.9; 
    }
      100% {
        transform: scale(1000) rotate(50deg);
        opacity: 0;
    }
}

.button-space{
	display: block;	
	cursor: pointer;
	position: relative;
	overflow:hidden;
}

/*---------固定CTA_TOP用--------*/
@media only screen and (max-width: 766px) {
    #fbanner .bg-fix img{
        width: 90%;
        display: block;
        text-align: center;
        padding: 0 3%;
        margin: 0 auto;
    }
    #fbanner .bg-fix a {
        width: 100%;
        padding-top: 10px;
        padding-bottom: 10px;
    }
} 
@media only screen and (min-width: 767px) {
    #fbanner .bg-fix {
        padding: 10px;
    }
    #fbanner .bg-fix a {
        width: 60%;
    }
    #fbanner .bg-fix a {
        padding: 0 0 0;
    }
}


/*--------kv全体の調整用--------*/
/*--SP--*/
@media only screen and (max-width:766px){
    body{
    }
    #kv{
        position:relative;
    }
    .kv-content{
        width: 100%;
        margin:0 auto;
        padding-bottom: 10%;
    }
    .kv1_sp{
        display: block;
        width: 100%;
        padding-top: 50px;
        margin: 0 auto;
        text-align: center;
    }
    .kv2-1{
        display: block;
        width: 90%;
        padding-top: 0px;
        margin: 10px auto 20px;
        background-color: #fff;
        border-radius: 15px;
        text-align: center;
    }
    .kv2-1_yellowbox-text{
        background-color: #FFF572;
        width: 96%;
        margin: -9% auto 5px;
        padding:2% 3%;
        border-radius: 15px;
        font-size: 0.7em;
        color: #004896;
        font-weight: bold;
    }
    .kv2-1_ribbon{
        width: 70%;
        margin-top: -30px;
    }
    .kv2-1_target{
        width: 90%;
        margin-top: 0px;
    }
    .kv2-1_text-small{
        font-size: 0.7em;
        padding-bottom: 15px;
    }

    .kv2-2{
        display: block;
        width: 90%;
        padding-top: 5%;
        padding-bottom: 5%;
        margin: 0 auto;
        background-color: #fff;
        border-radius: 15px;
        text-align: center;
    }
    .kv2-2_yellowbox-text{
        background-color: #FFF572;
        width: 90%;
        margin: 0px auto 10px;
        padding:2%;
        border-radius: 30px;
        font-size: 1em;
        line-height: 1.4em;
        color: #004896;
        font-weight: bold;
    }
    .kv2-2_text-present{
        font-weight: bold;
    }
    .kv2-2_milelogo{
        width: 60%;
        margin-right: 5px;
        margin-bottom:-5px;
    }
    .kv2-2_text-present span{
        text-decoration: underline 4px solid #ff9696 ;
    }
    .kv2-2_1000mile{
        width: 80%;
        margin-top: 5px;
    }

    .btn-field{
        display: block;
        width: 90%;
        max-width: 460px;
        margin: 0 auto;
        padding: 3px 0 0;
        border-radius: 20px;
        transition: 0.2s all ease-in-out;
        box-shadow: 5px 5px rgba( 0,0,0, 0.5 );
        color: #000;
    }
    .btn-field:hover{
        cursor: pointer;
    }
    .btn-field p{
        font-size: 0.8em;
        padding-top: 3%;
    }
    .btn-download{
        width: 80%;
        display: flex;
        justify-content: center;
        padding-bottom: 2%;
        margin: 1% 10% 10%;
    }
    .btn-download li img{
        height: 40px;
    }
    .btn-download li .as{
        margin-left: 10px;
    }
    .btn-aboutmile{
        display: block;
        width: 80%;
        margin:0 auto 5px;
        padding:10px;
        background-color: #3FB844;
        border-radius: 30px;
        color: #fff;
        font-weight: bold;
        box-shadow: 3px 3px rgba( 0,0,0, 0.5 );
    }

    .kv_cta{
        width: 90%;
        display: block;
        text-align: center;
        margin: 0 auto;
        transition:all 0.3s ease-in-out;
    }
    .kv_cta:hover{
        opacity: 0.7;
    }
    .kv_moreprize{
        margin: 15px auto ;
        text-align: center;
    }
    .kv_moreprize p{
        font-size: 1.4em;
        font-weight: bold;
        color: #004896;
    }
    .kv_moreprize img{
        width: 50%;
    }
    .notes-samimile{
        background-color: #fff;
        padding-top: 5%;
    }
    .note1-aboutmile{
        width: 90%;
        margin:5% auto 5%;
        padding: 5%;
        background-color: #ffd5d5;
        font-size: 0.9em;
    }
    .note1-aboutmile h4{
        text-align: center;
        font-size: 1.2em;
        margin-bottom: 10px;
        color: #f00;
    }
    .note1-aboutmile h4::before{
        content: "";
        display: inline-block;
        width: 20px;
        height: 20px;
        background-image: url(../img/icon_notes.svg);
        background-size: contain;
        background-repeat: no-repeat;
        margin-right: 3px;
        vertical-align: text-top;
    }
    .note1-aboutmile li{
        margin-bottom: 10px;

    }
    .note2{
        padding: 5%;
        color: #777;
        font-size: 0.8em;
    }
    .note2 ul li{
        list-style-type:none;
        margin-bottom: 10px;
    }
}
@media only screen and (min-width: 450px) {
    .btn-download li img{
        height: 50px;
    }
} 
@media only screen and (min-width: 550px) {
    .btn-download li img{
        height: 65px;
    }
} 
/*--pad--*/
@media only screen and (min-width: 501px) and (max-width: 766px) {
    /*.kv2_top_sp{
        position: absolute;
        top: -10px;
        display: block;
        width: 100%;
    }*/
} 
/*--PC--*/
@media only screen and (min-width:767px){
    body{
        /*background-image: url(../img/bg_kv.webp);
        background-attachment: fixed;
        background-position: top center;
        background-size: cover;
        background-repeat: no-repeat;*/
    }
    #kv{
        position:relative;
    }
    .kv-content{
        width: 100%;
        max-width: 1100px;
        margin:0 auto;
    }
    .kv1_pc{
        display: block;
        width: 100%;
        max-width: 1200px;
        padding-left: 50px;
        padding-right: 50px;
        margin: 60px auto 0;
        text-align: center;
    }

    .kv2-1{
        display: block;
        width: 90%;
        max-width: 1000px;
        padding-top: 0px;
        margin: -10px auto 30px;
        background-color: #fff;
        border-radius: 15px;
        text-align: center;
    }
    .kv2-1_yellowbox-text{
        background-color: #FFF572;
        width: 80%;
        margin: -50px auto 10px;
        padding:10px;
        border-radius: 15px;
        font-size: 1.2em;
        color: #004896;
        font-weight: bold;
    }
    .kv2-1_ribbon{
        width: 60%;
        margin-top: -60px;
    }
    .kv2-1_target{
        width: 70%;
        margin-top: 0px;
        margin-bottom: 15px;
    }
    .kv2-1_text-small{
        font-size: 1em;
        padding-bottom: 15px;
    }

    .kv2-2{
        display: block;
        width: 90%;
        max-width: 1000px;
        padding-top: 5%;
        padding-bottom: 5%;
        margin: 30px auto 100px;
        background-color: #fff;
        border-radius: 15px;
        text-align: center;
    }
    .kv2-2_yellowbox-text{
        background-color: #FFF572;
        width: 70%;
        margin: 0px auto 10px;
        padding:10px;
        border-radius: 30px;
        font-size: 1.4em;
        line-height: 1.4em;
        color: #004896;
        font-weight: bold;
    }
    .kv2-2_text-present{
        font-weight: bold;
        font-size: 24px;
    }
    .kv2-2_milelogo{
        width: 40%;
        margin-right: 5px;
        margin-bottom:-5px;
    }
    .kv2-2_text-present span{
        text-decoration: underline 4px solid #ff9696 ;
    }
    .kv2-2_1000mile{
        width: 60%;
    }
    .btn-field{
        display: block;
        width: 90%;
        max-width: 700px;
        margin: 10px auto;
        padding: 3px 0 0;
        border-radius: 50px;
        transition: 0.2s all ease-in-out;
        box-shadow: 5px 5px rgba( 0,0,0, 0.5 );
        color: #000;
    }
    .btn-field:hover{
        cursor: pointer;
        transform: translate(5px, 5px);
        box-shadow: 0px 0px 0 rgba(0, 0, 0, 0.3);
    }
    .btn-field p{
        font-size: 1em;
        padding-top: 20px;
    }
    .btn-download{
        width: 90%;
        display: flex;
        justify-content: center;
        margin: 10px auto 50px;
        padding-bottom: 20px;
    }
    .btn-download li img{
        height: 80px;
        transition: 0.1s all ease-in-out;
    }
    .btn-download li .as{
        margin-left: 10px;
    }
    .btn-aboutmile{
        display: block;
        width: 50%;
        margin:50px auto 15px;
        padding:10px;
        background-color: #3FB844;
        border-radius: 30px;
        color: #fff;
        font-size: 24px;
        font-weight: bold;
        box-shadow: 3px 3px rgba( 0,0,0, 0.5 );
        transition: 0.1s all ease-in-out;
    }
    .btn-aboutmile:hover{
        opacity: 0.6;
    }
    .kv_cta{
        width: 500px;
        display: block;
        text-align: center;
        margin: 0 auto;
        transition:all 0.2s ease-in-out;
    }
    .kv_cta:hover{
        opacity: 0.6;
    }
    .kv_moreprize{
        margin: 15px auto ;
        text-align: center;
    }
    .kv_moreprize p{
        font-size: 20px;
        font-weight: bold;
        color: #004896;
    }
    .kv_moreprize img{
        width: 300px;
    }

    .notes-samimile{
        background-color: #fff;
        padding-top: 5%;
    }
    .note1-aboutmile{
        width: 90%;
        max-width: 1000px;
        margin:30px auto 15px;
        padding: 30px;
        background-color: #ffd5d5;
        font-size: 1em;
    }
    .note1-aboutmile h4{
        text-align: center;
        font-size: 24px;
        margin-bottom: 10px;
        color: #f00;
    }
    .note1-aboutmile h4::before{
        content: "";
        display: inline-block;
        width: 30px;
        height: 30px;
        background-image: url(../img/icon_notes.svg);
        background-size: contain;
        background-repeat: no-repeat;
        margin-right: 3px;
        vertical-align: text-top;
    }
    .note1-aboutmile li{
        margin-bottom: 10px;

    }
    .note2{
        width: 90%;
        padding: 0 0 5% 0;
        margin:0 auto;
        max-width: 1000px;
        color: #777;
        font-size: 0.9em;
    }
    .note2 ul li{
        list-style-type:none;
        margin-bottom: 10px;
    }






}
@media only screen and (min-width:1101px){
    .pc_only1{ 
        display: none;
    }
    body{
    }
    .bg_kv_ground{
        width: 100%;
        position: fixed;
        z-index: -1;
        bottom:0;
        left: 0;
    }
    .p-box_white img{
        width: 95px;
        margin-top: 5px;
    }
    .p-box_white h4{
        font-size: 1.4em;
        line-height: 1.1em;
        margin-bottom: 6px;
    }    
    .p-box_white p{
        font-size: 0.75em;
        line-height: 1.6em;
    }
    .kv2-1_ribbon{
        width: 540px;
        margin-top: -80px;
    }
}

/**------------ main ------------**/
/*--SP版（～766px）--*/
@media only screen and (max-width:766px){
    /*---- KV周辺 ----*/
    .p-btn_nisa{
        width: 100%;
        background-color: #ffdce2;
        display:inline-block;
        color: #ff415d;
        margin:30px 0 0;
        padding: 15px 0 10px;
        text-align:center;
    }
    .p-btn_nisa h4{
        text-align: center;
        font-size: 1.6em;
        line-height: 1.2em;
    }
    .p-btn_nisa p{
        text-align: center;
    }
    
    /*----カルーセル----*/
    #collab{
        padding-top: 5%;
        padding-bottom: 5%;
    }
    #collab h3{
        padding-top: 10%;
        padding-bottom: 5%;
        font-size: 1.5em;
        line-height:1.5em;
        font-weight: bold;
        text-align: center;
        color:#005093;
    }
    .slider-collab,.slider-collab2 {
        width:100%;
        margin:0 auto;
    }
    .slider-collab .item-block,.slider-collab2 .item-block {
        width:86vw;/*スライダー内の画像を60vwにしてレスポンシブ化*/
        height:auto;
        margin: 0 7vw 10%;
        box-shadow: 7px 7px 0 0px rgba(0, 0, 0, .3);
        border: solid 1px #999;
    }
    .slider-collab .item-block img,.slider-collab2 .item-block img{
        background-color:#fff ;
        display: block;
        margin: 0 auto;
    }
    .slider-collab .item-block div,.slider-collab2 .item-block div{
        width: 100%;
        border-bottom: solid 1px #999;
        text-align: center;
    }

    .slider-collab .item-block .logo img,.slider-collab2 .item-block .logo img{
        width: 70%;
    }
    .slider-collab .item-block .prize,.slider-collab2 .item-block .prize{
        background-color:#fff ;
        padding: 5%;
        display: block;
        margin: 0 auto;
    }
    .slider-collab .item-block .prize img,.slider-collab2 .item-block .prize img{
        width: 100%;
        border-radius: 20px;
        margin-bottom: 5%;
    }
    .slider-collab .item-block h4,.slider-collab2 .item-block h4{
        font-size: 1.1em;
        text-align: center;
        color:#333;
        padding: 10px 20px;
        display: inline-block;
        border-radius: 30px;
        margin-top: 20px;
        margin-bottom: -10px;
        position: relative;
        top: 50%;
        transform: translateY(-50%);
    }
    .slider-collab .item-block .select,.slider-collab2 .item-block .select{
        background-color: #7dfff9;
    }
    .slider-collab .item-block .rare,.slider-collab2 .item-block .rare{
        background-color: #fff540;
    }
    .slider-collab .item-block p,.slider-collab2 .item-block p{
        font-size: 1em;
        font-weight: bold;
    }
    .slider-collab .slick-slide {
        transform: scale(0.7);/*左右の画像のサイズを70%に*/
        transition: all .5s;/*拡大や透過のアニメーションを0.5秒で行う*/
        opacity: 0.5;
    }
    .slider-collab .slick-slide.slick-center{
        transform: scale(1);/*中央の画像のサイズだけ等倍に*/
        opacity: 1;
    }
    
    /*矢印の設定*/
    .slider-collab .slick-prev, 
    .slider-collab .slick-next {
        position: absolute;/*絶対配置にする*/
        top: 42%;
        cursor: pointer;/*マウスカーソルを指マークに*/
        outline: none;/*クリックをしたら出てくる枠線を消す*/
        border-top: 3px solid #666;/*矢印の色*/
        border-right: 3px solid #666;/*矢印の色*/
        height: 30px;
        width: 30px;
        z-index: 10;
    }
    .slider-collab .slick-prev {/*戻る矢印の位置と形状*/
        left: 5%;
        transform: rotate(-135deg);
    }
    .slider-collab .slick-next {/*次へ矢印の位置と形状*/
        right: 5%;
        transform: rotate(45deg);
    }

    /*ドットナビゲーションの設定*/
    .slider-collab .slick-dots {
        text-align:center;
        margin:20px 0 0 0;
    }
    .slider-collab .slick-dots li {
        display:inline-block;
        margin:0 5px;
    }
    .slider-collab .slick-dots button {
        color: transparent;
        outline: none;
        width:8px;
        height:8px;
        display:block;
        border-radius:50%;
        background:#ccc;
    }
    .slider-collab .slick-dots .slick-active button{
        background:#333;
    }
    #collab .lineup_inthefuture{
        max-width: 500px;
        width: 90%;
        margin: 60px auto 0;
        background-color: #E5F4FF;
        border-radius: 3px;
        padding: 40px 20px;
        text-align: center;
    }
    #collab .lineup_inthefuture h3{
        font-size: 1.5em;
        padding-top: 0;
        margin: 0 auto;
    }

    /*----景品説明----*/
    .prize_description{
        max-width: 600px;
        width: 90%;
        margin: 10% auto 0;
        padding-bottom: 30px;
        background-color:#fff ;
    }
    .prize_description h3{
        font-size: 1.5em;
        text-align: center;
        padding: 20px 0 40px;
    }
    .prize_description ul{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        gap: 30px;
        margin-bottom: 50px;
    }
    .prize_description ul .lottery{
        width: 350px;
        padding: 30px;
        border-radius: 40px;
        background-color: #FFF68A;
    }
    .prize_description ul .fcfs{
        position: relative;
        width: 350px;
        padding: 30px;
        border-radius: 40px;
        background-color: #8EFFF9;
    }
    .prize_description ul li{
        text-align: center;
    }
    .prize_description ul li h4{
        font-size: 1.6em;
        color: #333;
    }
    .prize_description ul li img{
        width: 215px;
        padding: 10px 0;
    }
    .prize_description ul li p{
        text-align: justify;
        letter-spacing: 0.2px;
    }
    .img-handkerchief{
        width:70%;
        margin: 5px 15% 0px;
    }
    .prize_description ul li .small_point{
        position: absolute;
        bottom: -85px;
        right: 5px;
        width: 350px;
        font-size: 0.9em;
        letter-spacing: 0.2px;
    }
    .box-notselected{
        width: 350px;
        padding: 30px;
        margin: 10% auto;
        border-radius: 40px;
        background-color: #e2e2e2;
    }
    .box-notselected h4{
        margin: 0 auto 10px;
        font-size: 1.4em;
        text-align: center;
    }
    .box-notselected p{
        text-align:justify;
    }
    .prize_description .mile h4{
        text-align: center;
        font-size: 1.2em;
        font-weight: 400;
        padding: 30px 0 30px;
    }
    .prize_description .mile img{
        display: block;
        width: 300px;
        margin: 0 auto;
    }
    .prize_description .mile p{
        width: fit-content;
        margin: 30px auto 40px;
    }
    .prize_description .mile p a{
        padding: 13px 20px 10px;
        background-color: #0175D3;
        border-radius: 30px;
        box-shadow: 3px 3px 0px rgba(117, 141, 156, 0.7);
        text-align: center;
        color: #fff;
        font-weight: bold;
        font-size: 1.3em;
        letter-spacing: 1.1px;
    }
    .prize_description .prize_point{
        width: 92%;
        margin: 0 auto;
    }
    .prize_description .prize_point span{
        display: block;
    }

    /*----さわかみマイル----*/
    #about-mile{
        width: 100%;
        margin:0 auto;
        text-align: center;
    }
    .logo-mile{
        display: block;
        text-align: center;
        margin: 10% auto 0;
    }
    .logo-mile .mile-logo{
        display: block;
        width: 80%;
        text-align: center;
        margin: 0 auto;
    }
    .logo-mile p{
        text-align: center;
        margin: 0 auto 10px;
        font-size: 1em;
    }

    /*---マイルの使い方---*/
    #mile{
        background-color: #fff;
        padding-bottom:1%;
    }
    /** さわかみマイル（使う）カルーセル設定**/
    .slider-4 div h4{
        text-align: center;
        font-size: 1em;
        margin:5% auto 3%;
        padding-top: 5px;
        padding-bottom: 5px;
        border-top:solid 1px #333; 
        border-bottom:solid 1px #333; 
    }
    .slider-4 {
        width:85%;
        margin:10% auto 10%;
    }
    .slider-4 .box-4 {
        width:100%;     
    }
    .slider-4 .box-4 img{
        width: 100%;
    }
    /*slickのJSで書かれるタグ内、スライド左右の余白調整*/
    .slider-4 .slick-slide {
        margin:0 10px;
    }
    
    /*矢印の設定*/
    #mile .slick-prev, 
    #mile .slick-next {
        position: absolute;/*絶対配置にする*/
        top: 30%;
        cursor: pointer;/*マウスカーソルを指マークに*/
        outline: none;/*クリックをしたら出てくる枠線を消す*/
        border-top: 3px solid #666;/*矢印の色*/
        border-right: 3px solid #666;/*矢印の色*/
        height: 15px;
        width: 15px;
    }
    #mile .slick-prev {/*戻る矢印の位置と形状*/
        left: -3%;
        transform: rotate(-135deg);
    }
    #mile .slick-next {/*次へ矢印の位置と形状*/
        right: -3%;
        transform: rotate(45deg);
    }
    /*ドットナビゲーションの設定*/
    #mile .slick-dots {
        text-align:center;
    margin:15px 0 0 0;
    }
    #mile #mile .slick-dots li {
        display:inline-block;
    margin:0 5px;
    }
    #mile.slick-dots button {
        color: transparent;
        outline: none;
        width:8px;
        height:8px;
        display:block;
        border-radius:50%;
        background:#ccc;
    }
    #mile .slick-dots .slick-active button{
        background:#333;
    }

    /*----紹介プロジェクトの条件----*/
    .conditions{
        padding-bottom: 60px;
    }
    .conditions .condition_contents{
        max-width: 600px;
        width: 90%;
        margin: 50px auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 30px;
    }
    .conditions .condition_contents .condition_list{
        padding: 15px;
        width: 350px;
        background-color: #fff;
        border: 4px solid #ff98a2;
        border-radius: 50px;
    }
    .conditions .condition_contents .condition_list h3{
        height: 88px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
    }
    .conditions .condition_contents h3 img{
        display: block;
        width: 45px;
    }
    .conditions .condition_contents h3 span{
        display: block;
        font-size: 1em;
        padding: 10px;
        line-height: 3;
        background-color: #ffeaea;
        border-radius: 20px;
        color: #043492;
    }
    .conditions .condition_contents ol{
        width: 90%;
        margin: 0 auto;
        padding: 25px 0 10px 10px;
    }
    .conditions .condition_contents ol li{
        font-size: 0.9em;
        line-height: 1.8;
    }
    .conditions .btn{
        width: fit-content;
        margin: 0 auto 60px;
    }
    .conditions .btn a{
        display: inline-block;
        padding: 10px 15px 9px;
        background-color: #0084E2;
        border-radius: 30px;
        box-shadow: 2px 3px 0px rgba(117, 141, 156, 0.7);
        text-align: center;
        color: #fff;
        font-weight: bold;
        font-size: 1em;
        transition: 0.3s;
    }
    .conditions .btn a:hover{
        cursor: pointer;
        transform: translate(5px, 5px);
        box-shadow: 0px 0px 0 rgba(0, 0, 0, 0.3);
    }
    .conditions .other_conditions{
        max-width: 600px;
        width: 80%;
        margin: 0 auto 0;
    }
    .conditions .other_conditions li{
        list-style: none;
    }

    /*----紹介プロジェクトの流れ----*/
    .flow{
        background-color: #fff;
        padding-bottom: 50px;
    }
    .flow .tab{
        margin-top: 50px;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
    .flow .tab li a{
        width: 140px;
        margin:0 2px;
        padding: 18px 10px 10px;
        text-align: center;
        align-items: center;
        display: block;
        background:#ffcdd2;
        border-radius: 10px 10px 0 0;
        color: #333;
        font-size: 1.1em;
        font-weight: 600;
        line-height: 1.3;
    }
    .flow .tab li a span{
        display: block;
    }
    .tab li.active a{
        background:#ff98a2;
        color: #fff;
        font-weight: 600;
        border-radius: 10px 10px 0 0;
    }
    /*エリアの表示非表示と形状*/
    .flow .area{
        max-width: 550px;
        width: 90%;
        margin: 0 auto;
        padding: 0 10px;
        display: none;/*はじめは非表示*/
        opacity: 0;/*透過0*/
        background: #ff98a2;
        border-radius: 20px;
        padding:50px 20px;
    }
    /*areaにis-activeというクラスがついた時の形状*/
    .flow .area.is-active{
        padding: 25px;
        display: block;/*表示*/
        animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
        animation-duration: 2s;
        animation-fill-mode: forwards;
    }
    .flow .area ol{
        list-style: none;
        padding: 25px 0 10px;
        background-color: #fff;
        border-radius: 5px;
    }
    .flow .area ol li{
        padding-bottom: 80px;
        margin-bottom: 50px;
        background-image: url(../img/under_line.svg);
        background-size: 130%;
        background-position: bottom center;
        background-repeat: no-repeat;
    }
    .flow .area ol li:first-child img{
        padding-left: 15px;
        width: 115px;
    }
    .flow .area ol li:last-child{
        background-image: none;
        padding-bottom: 50px;
    }
    .flow .area ol li h4{
        text-transform: uppercase;
        letter-spacing: 2px;
        width: fit-content;
        margin: 20px auto 0;
        padding: 5px 50px;
        font-size: 1.5em;
        color: #fff;
        text-align: center;
        background-color: #003880;
        border-radius: 30px;
    }
    .flow .area ol li div{
        text-align: center;
    }
    .flow .area ol li div img{
        width: 80px;
        margin: 0 auto;
        padding-top: 30px;
        text-align: center;
    }
    .flow .area ol li p .entrypage_sample{
        width: 100%;
        padding: 10px 0;
        box-shadow: 3px 3px 3px rgba(150, 150, 150, 0.6);
    }
    .flow #referral_page ol li:nth-child(2) img{
        width: 120px;
    }
    .flow #referral_page ol li:nth-child(4) img{
        width: 100px;
    }
    .flow .area ol li p{
        max-width: 85%;
        width: 85%;
        margin: 0 auto;
        color: #333;
        text-align: justify;
    }
    .flow .area ol li p span{
        display: block;
    }
    .flow .area ol li .widely{
        margin-bottom: 20px;
    }
    .flow .area ol li .boldfont{
        width: 90%;
        padding: 30px 0 20px;
        font-size: 1.3em;
        font-weight: 600;
        color: #004896;
        text-align: center;
    }
    .flow .area ol li .boldfont .smallfont{
        font-size: 0.8em;
        width: fit-content;
        margin: 0 auto 10px;
    }
    .flow .area ol li .case{
        width: 85%;
        margin: 0 auto;
        padding: 15px 0;
        background-color: #ffef9f;
        border-radius: 5px;
    }
    .flow .area ol li .case p{
        color: #333;
        font-size: 1em;
    }
    .flow .area ol li .benefit-mile{
        text-transform: uppercase;
        letter-spacing: 2px;
        width: fit-content;
        margin: 20px auto 0;
        padding: 10px 50px 5px;
        font-size: 1.4em;
        color: #fff;
        text-align: center;
        background-color: #3FB844;
        border-radius: 30px;
        line-height: 1.2em;
    }
    .img_benefit-mile{
        width: 90%;
        text-align: center;
        margin: 5% 5% 3%;
    }
    .flow .area ol li .case_mile{
        width: 85%;
        margin: 0 auto 10%;
        padding: 15px 0;
        background-color: #D8F6D9;
        border-radius: 5px;
    }
    .case_mile-title{
        color: #f00;
        font-size: 1em;
        margin-bottom: 10px;
    }
    .flow .area ol li .case_mile p{
        color: #333;
        font-size: 0.8em;
    }
    .flow .area ol li .etc{
        color: #333;
        font-size: 0.8em;
        margin-bottom: -70px;
    }
    .flow_text-present{
        border-bottom:4px solid #ff9696 ;
        font-size: 0.9em;
    }
    .flow_milelogo{
        width: 60%;
        margin-top: 10px;
        margin-right: 5px;
        margin-bottom:-7px;
    }
    .flow .area ol li .kv2-2_1000mile{
        width: 80%;
        margin: 5px 10% 0;
    }

    .flow .area ol li .btn-field{
        display: block;
        margin: 0 auto 10%;
        padding:3px 0 0;
        border-radius: 20px;
        transition: 0.2s all ease-in-out;
        box-shadow: 5px 5px rgba( 0,0,0, 0.5 );
        color: #000;
    }
    .flow .area ol li .btn-field:hover{
        cursor: pointer;
    }
    .flow .area ol li .btn-field p{
        font-size: 0.8em;
        padding-top: 20px;
        text-align: center;
    }
    .flow .area ol li .btn-field .btn-download{
        width: 90%;
        display: flex;
        gap:5px;
        justify-content: center;
        margin: 0% auto 20px;
    }
    .flow .area ol li .btn-field .btn-download li .gp{
        width: 100%;
        padding-top: 0;
        padding-left: 0;
    }
    .flow .area ol li .btn-field .btn-download li .as{
        width: 100%;
        padding-top: 0;
        padding-left: 0;
        margin-left: 0;
    }
    .flow .area ol li .btn-field .btn-download li{
        background-image: none;
        padding: 0;
        margin:0 ;
    }
    .flow .area ol li .flow_text-mile{
        display:block;
        text-align: center;
    }

    @keyframes displayAnime{
        from {
            opacity: 0;
        }
        to {
            opacity: 1;
        }
    }


    /*--被紹介者ページ--*/
    #referral .flow .area{
        max-width: 550px;
        width: 90%;
        margin: 30px auto 0;
        padding: 0 10px;
        display: none;/*はじめは非表示*/
        opacity: 0;/*透過0*/
        background: #0084E2;
        border-radius: 20px;
        padding: 0 20px 50px;
    }
    #referral .flow .area.is-active{
        padding: 0 25px 25px;
        display: block;/*表示*/
    }
    #referral .flow .referral_area h3{
        max-width: 400px;
        width: 100%;
        margin: 0 auto;
        line-height: 3.5;
        padding-top: 5px;
        color: #fff;
        font-size: 1.3em;
        font-weight: 600;
        text-align: center;
    }

    /**----メッセージ----**/
    .message{        
        position: relative;

    }
    .bg-img{
        position: fixed;
        top: 0;
        width: 100%;
        height: 100vh;
        left: 0;
        background-size: 100%;
        background-position: center right 10px;
        background-repeat: no-repeat;
       }
      .bg01{
        background-image: url(../img/sawakami_gradation.webp);
    }

    .message .wrap{
        padding: 60px 0 60px;
        background-color: #fbf8d640;
    }
    .readmore{
        position: relative;
        padding: 0 0 20px;
        margin: 0 auto;
        max-width: 90%;
        background: linear-gradient( rgba(255,255,255,0.5) 0%, rgba(255,255,255,0.7) 70%, #fff 85%);
        border-radius: 20px;
    }
    .readmore label{
        position: absolute;
        display: table;
        left: 50%;
        bottom: 0;
        margin: 0 auto 20px;
        width: fit-content;
        padding: 10px 15px 3px;
        color: #fff;
        text-align: center;
        color: #003880;
        font-weight: bold;
        border-bottom: 2px solid #003880;
        transform: translateX(-50%);
        cursor: pointer;
        z-index: 1;
    }
    .readmore label::before{
        content: '続きを見る';
    }
    .readmore input[type="checkbox"]:checked ~ label::before {
        content: '元に戻す';
    }
    .readmore input[type="checkbox"]{
        display: none;
    }
    .readmore-content {
        max-width: 600px;
        width: 90%;
        padding: 30px 0;
        margin: 0 auto;
        position: relative;
        height: 400px;
        overflow: hidden;
    }
    .readmore-content::before {
        position: absolute;
        display: block;
        content: "";
        bottom: 0;
        left: 0;
        width: 100%;
        height: 150px;
        padding-bottom: 30px;
        background: linear-gradient( rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 55%, #fff 70%);
    }
    .readmore input[type="checkbox"]:checked ~ .readmore-content::before {
        display: none;
    }
    .readmore input[type="checkbox"]:checked ~ .readmore-content {
        height: auto;
    }
    .readmore input[type="checkbox"]:checked ~ .readmore-content p{
        max-width: 600px;
        width: 90%;
        padding: 30px 10px;
        margin: 0 auto;
    }
    .message p{
        max-width: 600px;
        width: 90%;
        text-align: justify;
        padding: 20px 10px;
        margin: 0 auto;
        line-height: 2;
    }
    .message .line-break{
        display: block;
        padding: 20px 0;
    }
    /**----スケジュール----**/
    .wrap{
        padding: 20px 0 50px;
        background-color:#fff ;
    }
    .schedule .schedule_list{
        width: 92%;
        margin: 0 auto;
        text-align: justify;
        padding: 20px;
    }
    .schedule .schedule_list h4{
        font-size: 1.4em;
        color: #043492;
    }
    .schedule .schedule_list p{
        line-height: 1.8;
        letter-spacing: 1px;
    }
    .schedule .schedule_list p span{
        display: block;
    }
    .schedule .schedule_list .redcolorfont{
        font-weight: bold;
        font-size: 1em;
        line-height: 1;
        color: #f50505;
        padding: 5px 0 13px;
        letter-spacing: 0;
    }
    .schedule .schedule_list .boldfont{
        font-weight: bold;
        font-size: 1em;
        line-height: 1;
        padding: 5px 0 13px;
        letter-spacing: 0;
    }

    /**----留意事項----**/
    #points{
        padding: 0 0;
    }
    #points .contents-all .eventbanner{
        width: 100%;
        margin-left: auto;
        margin-right:auto;
        margin-bottom: 10px;
    }
    #points h3{
        margin-top: 5%;
        margin-bottom: 5%;
        font-size: 1.1em;
        line-height:1.5em;
        font-weight: bold;
        text-align: center;
        color:#005093;
    }
    #points .sami-event .video{
        position: relative;
        width: 100%;
        max-width: 1000px;
        height: 0;
        padding-top: 56.25%;
        margin: 0 auto 10px;

    }
    #points .qa-space{
        padding:5% 0;
    }
    #points .accordion-area{
        padding: 20px 0;
    }
    #points .accordion-area .p-accordion{
        border-radius: 15px;
        border: 1px solid #555;
        text-align: center;
        background-color: #fff;
        margin-bottom: 20px;
        border-radius: 15px;
    }
    #points .accordion-area .p-accordion h4{
        text-align: center;
        color: #555;
        font-size: 1em;
        line-height: 1.8em;
    }
    #points .accordion-area .p-accordion p{
        text-align: center;
        color: #000;
        max-width: 725px;
        margin: 0 auto;
        padding: 20px 0;
        font-size: 1em;
        font-weight: 500;
        line-height: 1.5em;
        text-align: justify;
        letter-spacing: 2px;
    }
    #points .accordion-area .p-accordion .line-break{
        display: block;
    }
    #points ul li section .ac-title::before,
    #points ul li section .ac-title::after{
        position: absolute;
        content:'';
        width: 10px;
        height: 3px;
        background-color: #555555;
    }
    #points ul li section .ac-title::before{
        top:43%;
        right: 20px;
        transform: rotate(0deg);
    }
    #points ul li section .ac-title::after{    
        top:43%;
        right: 20px;
        transform: rotate(90deg);
    }
    /*アコーディオンタイトル*/
    #points ul li section .ac-title {
        position: relative;/*+マークの位置基準とするためrelative指定*/
        cursor: pointer;
        font-weight: bold;
        padding: 3% 0 3% 5%;
        font-size: 0.9em;
        padding: 3% 0;
        transition: all .5s ease;
        text-align: center;
    }
    /*　closeというクラスがついたら形状変化　*/
    #points ul li section .ac-title.close::before{
        transform: rotate(45deg);
    }
    #points ul li section .ac-title.close::after{
        transform: rotate(-45deg);
    }
    #points .sami-event .video iframe{
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }
    #points .video_wrapper{
        width:100%;
        max-width: 1000px;
        margin: 0 auto 10px;
    }
    #points .video_wrapper video{
        width:100%;
        margin:0 auto;
    }

    /*アコーディオンで現れるエリア*/
    #points ul li section .ac-box {
        display: none;/*はじめは非表示*/
        max-width: 95%;
        margin:0 auto;
        padding: 4% 5% 3% 5%;
        text-align: left;
        border-top: 2px solid #a5a5a5;
    }
    #points ul li section .point_img{
        max-width: 400px;
        margin: 0 auto;
    }
    #points ul li section .point_img img{
        width: 100%;
        height: auto;
    }
    #points ul li section .l-text-main{
        padding: 4% 0;
    }
    #points ul li section .l-text-main span{
        display: block;
    }
    .symbol-q{
        color: #2f48d1;
        font-size: 1.5em;
        font-weight: bold;
        padding-right: 10px;
    }
    .symbol-a{
        color: #e03030;
        font-size: 1.5em;
        font-weight: bold;
        padding-right: 10px;
    }
    #points .other_points{
        padding-bottom: 40px;
        background-color: #fff;
        text-align: justify;
    }
    #points .other_points .wrap{
        max-width: 600px;
        width: 85%;
        margin: 0 auto;
    }
    #points .other_points h3{
        padding-top: 20px;
        text-align: start;
        color: #555;
    }
    #points .other_points ul li{
        padding: 8px 0;
        letter-spacing: 1px;
    }
    #points .other_points ul li a{
        color: #0660A0;
    }
}
/*--SP+PC版（767px～）--*/
@media only screen and (min-width:767px){
    /*---- KV周辺 ----*/
    .p-btn_nisa{
        width: 100%;
        background-color: #ffdce2;
        display:inline-block;
        color: #ff415d;
        margin:50px 0 0;
        padding: 15px 0 10px;
        text-align:center;
    }
    .p-btn_nisa h4{
        text-align: center;
        font-size: 1.6em;
        line-height: 1em;
    }
    .p-btn_nisa p{
        text-align: center;
    }

    /*----カルーセル----*/
    #collab{
        padding-top: 0px;
    }
    #collab h3{
        margin-top: 50px;
        margin-bottom: 15px;
        font-size: 1.8em;
        line-height:1.5em;
        font-weight: bold;
        text-align: center;
        color:#005093;
    }
    .slider-collab,.slider-collab2 {
        width:90%;
        max-width: 1000px;
        margin:0 auto;
        display: grid;
        grid-template-columns:1fr 1fr;
        gap:20px 20px;
    }
    .slider-collab .item-block,.slider-collab2 .item-block {
        /*width:45vw;*/
        max-width: 600px;
        height:auto;
        margin: 30px auto 0;
        box-shadow: 7px 7px 0 0px rgba(0, 0, 0, .3);
        border: solid 1px #999;
        transition:all 0.2s ease-in-out;
        overflow: hidden;
    }
    .slider-collab .item-block img,.slider-collab2 .item-block img{
        background-color:#fff ;
        display: block;
        margin: 0 auto;
    }
    .slider-collab .item-block div,.slider-collab2 .item-block div{
        width: 100%;
        border-bottom: solid 1px #999;
        text-align: center;
    }
    .slider-collab .item-block:hover,.slider-collab2 .item-block:hover{
        opacity: 0.7;
        cursor: pointer;
    }

    .slider-collab .item-block .logo img,.slider-collab2 .item-block .logo img{
        width: 70%;
    }
    .slider-collab .item-block .prize,.slider-collab2 .item-block .prize{
        background-color:#fff ;
        height: 400px;
        padding: 5%;
        display: block;
        margin: 0 auto;
    }
    .slider-collab .item-block .prize img,.slider-collab2 .item-block .prize img{
        width: 100%;
        border-radius: 20px;
        margin-bottom: 5%;
    }
    .slider-collab .item-block h4,.slider-collab2 .item-block h4{
        font-size: 1.1em;
        text-align: center;
        color:#333;
        padding: 10px 20px;
        display: inline-block;
        margin-top: 20px;
        margin-bottom: -10px;
        border-radius: 30px;
        position: relative;
        transform: translateY(-50%);
    }
    .slider-collab .item-block .select,.slider-collab2 .item-block .select{
        background-color: #7dfff9;
    }
    .slider-collab .item-block .rare,.slider-collab2 .item-block .rare{
        background-color: #fff540;
    }
    .slider-collab .item-block p,.slider-collab2 .item-block p{
        font-size: 1.1em;
        font-weight: bold;
    }

    .slider-collab .slick-slide {
        transform: scale(0.6);/*左右の画像のサイズを80%に*/
        transition: all .5s;/*拡大や透過のアニメーションを0.5秒で行う*/
        opacity: 0.5;
    }
    .slider-collab .slick-slide.slick-center{
        transform: scale(1);/*中央の画像のサイズだけ等倍に*/
        opacity: 1;
    }
    
    /*矢印の設定*/
    .slider-collab .slick-prev, 
    .slider-collab .slick-next {
        position: absolute;/*絶対配置にする*/
        top: 42%;
        cursor: pointer;/*マウスカーソルを指マークに*/
        outline: none;/*クリックをしたら出てくる枠線を消す*/
        border-top: 3px solid #666;/*矢印の色*/
        border-right: 3px solid #666;/*矢印の色*/
        height: 50px;
        width: 50px;
        padding: 10px;
        z-index: 10;
    }
    .slider-collab .slick-prev::after, 
    .slider-collab .slick-next::after {
        display: block;
        border-top: 2px solid #666;/*矢印の色*/
        border-right: 2px solid #666;/*矢印の色*/
        border-radius: 50px;
        background-color: #fff;
    }
    .slider-collab .slick-prev {/*戻る矢印の位置と形状*/
        left: 5%;
        transform: rotate(-135deg);
    }
    .slider-collab .slick-next {/*次へ矢印の位置と形状*/
        right: 5%;
        transform: rotate(45deg);
    }
    /*ドットナビゲーションの設定*/
    .slider-collab .slick-dots {
        text-align:center;
        margin:20px 0 0 0;
    }
    .slider-collab .slick-dots li {
        display:inline-block;
        margin:0 5px;
    }
    .slider-collab .slick-dots button {
        color: transparent;
        outline: none;
        width:8px;
        height:8px;
        display:block;
        border-radius:50%;
        background:#ccc;
    }
    .slider-collab .slick-dots .slick-active button{
        background:#333;
    }
    #collab .lineup_inthefuture{
        max-width: 930px;
        width: 90%;
        margin: 60px auto 30px;
        background-color: #E5F4FF;
        border-radius: 3px;
        padding: 40px 20px;
        text-align: center;
    }
    #collab .lineup_inthefuture h3{
        padding-top: 0;
        margin: 0 auto 20px;
    }

    /*----景品説明----*/
    .prize_description{
        max-width: 1000px;
        width: 90%;
        margin: 0 auto 80px;
    }
    .prize_description h3{
        font-size: 2em;
        text-align: center;
        padding: 40px 0 60px;
    }
    .prize_description ul{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 30px;
        margin-top: 50px;
        margin-bottom: 50px;
    }
    .prize_description ul .lottery{
        width: 450px;
        height: 370px;
        padding: 30px;
        border-radius: 40px;
        background-color: #FFF68A;
    }
    .prize_description ul .fcfs{
        position: relative;
        width: 450px;
        height: 370px;
        padding: 30px;
        border-radius: 40px;
        background-color: #8EFFF9;
        font-size: 0.8em;
    }
    .prize_description ul li{
        text-align: center;
    }
    .prize_description ul li h4{
        font-size: 2em;
        color: #333;
    }
    .prize_description ul li img{
        width: 260px;
        padding: 20px 0 30px;
    }
    .prize_description ul li p{
        text-align: justify;
    }
    .img-handkerchief{
        float: right;
        width:50%;
        margin: -25px 0px 0 10px;
        max-width: 150px;
    }
    .prize_description ul li .small_point{
        position: absolute;
        bottom: -85px;
        right: 25px;
        width: 90%;
        font-size: 0.9em;
        letter-spacing: 0.2px;
    }
    .prize_description .mile h4{
        text-align: center;
        font-size: 1.6em;
        font-weight: 400;
        padding-bottom: 60px;
    }
    .prize_description .mile img{
        display: block;
        width: 400px;
        margin: 0 auto;
    }
    .prize_description .mile p{
        width: fit-content;
        margin: 50px auto 60px;
    }
    .prize_description .mile p a{
        position: relative;
        top: -5px;
        left: -5px;
        display: inline-block;
        padding: 13px 20px 10px;
        background-color: #0175D3;
        border-radius: 50px;
        box-shadow: 5px 5px 0px rgba(117, 141, 156, 0.7);
        text-align: center;
        color: #fff;
        font-weight: bold;
        font-size: 1.5em;
        letter-spacing: 1.1px;
        transition: 0.3s;
    }
    .prize_description .mile p a:hover{
        cursor: pointer;
        transform: translate(5px, 5px);
        box-shadow: 0px 0px 0 rgba(0, 0, 0, 0.3);
    }
    .prize_description .prize_point{
        width: fit-content;
        margin: 0 auto 60px;
    }
    .prize_description .prize_point span{
        display: block;
    }
    .box-notselected{
        width: 80%;
        padding: 30px;
        margin: 5% auto;
        border-radius: 20px;
        background-color: #e2e2e2;
    }
    .box-notselected h4{
        margin: 0 auto 10px;
        font-size: 1.4em;
        text-align: center;
    }

    /**----------さわかみマイル----------**/
    #about-mile{
        width: 100%;
        margin:0 auto;
        text-align: center;
    }
    .logo-mile{
        display: block;
    }
    .logo-mile img{
        display: block;
        text-align: center;
        margin: 0 auto 15px;
    }
    .logo-mile p{
        text-align: center;
        margin: 0 auto 10px;
        font-size: 1.2em;
    }
    /*---マイルの使い方---*/
    #mile{
        background-color: #fff;
        padding-bottom:1%;
    }
    #mile .contents-all{
        padding-bottom: 50px;
    }
    /** さわかみマイル（使う）カルーセル設定**/
    .slider-4 div h4{
        text-align: center;
        font-size: 1em;
        margin:5% auto 3%;
        padding-top: 5px;
        padding-bottom: 5px;
        border-top:solid 1px #333; 
        border-bottom:solid 1px #333; 
    }
    .slider-4 {/*横幅94%で左右に余白を持たせて中央寄せ*/
        width:89%;
        margin:0 auto 50px;
    }
    .slider-4 .box-4 {
        width:100%;/*スライダー内の画像を横幅100%に*/
    }
    .slider-4 .box-4 img{
        width: 100%;
    }
    .slider-4 .box-4 a{
        color:#005093;
        font-weight: bold;
    }

    /*slickのJSで書かれるタグ内、スライド左右の余白調整*/
    .slider-4 .slick-slide {
        margin:0 10px;
    }
    
    /*矢印の設定*/
    .slider-4 .slick-prev, 
    .slider-4 .slick-next {
        position: absolute;/*絶対配置にする*/
        top: 42%;
        cursor: pointer;/*マウスカーソルを指マークに*/
        outline: none;/*クリックをしたら出てくる枠線を消す*/
        border-top: 2px solid #666;/*矢印の色*/
        border-right: 2px solid #666;/*矢印の色*/
        height: 25px;
        width: 25px;
    }
    .slider-4 .slick-prev {/*戻る矢印の位置と形状*/
        left: -2%;
        transform: rotate(-135deg);
    }
    .slider-4 .slick-next {/*次へ矢印の位置と形状*/
        right: -2%;
        transform: rotate(45deg);
    }
    /*ドットナビゲーションの設定*/
    .slider-4 .slick-dots {
        text-align:center;
    margin:0 0 25px 0;
    }
    .slider-4 .slick-dots li {
        display:inline-block;
    margin:0 5px;
    }
    .slider-4 .slick-dots button {
        color: transparent;
        outline: none;
        width:8px;
        height:8px;
        display:block;
        border-radius:50%;
        background:#ccc;
    }
    .slider-4 .slick-dots .slick-active button{
        background:#333;
    }


    /*----紹介プロジェクトの条件----*/
    .conditions .condition_contents{
        max-width: 1000px;
        width: 90%;
        margin: 60px auto;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 30px;
    }
    .conditions .condition_contents .condition_list{
        padding: 25px;
        width: 480px;
        background-color: #fff;
        border: 4px solid #ff98a2;
        border-radius: 50px;
    }
    .conditions .condition_contents .condition_list h3{
        padding-top: 10px;
        height: 88px;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
    }
    .conditions .condition_contents h3 img{
        display: block;
        width: 60px;
    }
    .conditions .condition_contents h3 span{
        display: block;
        font-size: 1.1em;
        padding: 20px;
        background-color: #ffeaea;
        border-radius: 20px;
        color: #043492;
    }
    .conditions .condition_contents ol{
        padding: 25px 10px 0 25px;
    }
    .conditions .condition_contents ol li{
        font-size: 0.9em;
        line-height: 1.8;
    }
    .conditions .btn{
        width: fit-content;
        margin: 0 auto 60px;
    }
    .conditions .btn a{
        position: relative;
        top: -5px;
        left: -5px;
        display: inline-block;
        padding: 23px 40px 20px;
        background-color: #0084E2;
        border-radius: 50px;
        box-shadow: 5px 5px 0px rgba(117, 141, 156, 0.7);
        text-align: center;
        color: #fff;
        font-weight: bold;
        font-size: 1.7em;
        letter-spacing: 1.2px;
        transition: 0.3s;
    }
    .conditions .btn a:hover{
        cursor: pointer;
        transform: translate(5px, 5px);
        box-shadow: 0px 0px 0 rgba(0, 0, 0, 0.3);
    }
    .conditions .other_conditions{
        max-width: 880px;
        width: 80%;
        margin: 0 auto;
        padding-bottom: 80px;
    }
    .conditions .other_conditions li{
        list-style: none;
    }
    
    /*----紹介プロジェクトの流れ----*/
    .flow .tab{
        margin-top: 50px;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }
    .flow .tab li a{
        width: 300px;
        margin: 0 2px;
        padding: 20px 20px 10px;
        text-align: center;
        align-items: center;
        display: block;
        background:#ffcdd2;
        border-radius: 20px 20px 0 0;
        color: #333;
        font-size: 1.3em;
        font-weight: 600;
        line-height: 1.3;
    }
    .flow .tab li a span{
        display: block;
    }
    .tab li.active a{
        background:#ff98a2;
        color: #fff;
        font-weight: 600;
        border-radius: 20px 20px 0 0;
    }
    
    /*エリアの表示非表示と形状*/
    .flow .area{
        max-width: 1000px;
        width: 90%;
        margin: 0 auto 80px;
        padding: 0 60px;
        display: none;/*はじめは非表示*/
        opacity: 0;/*透過0*/
        background: #ff98a2;
        border-radius: 20px;
        padding:50px 20px;
    }
    /*areaにis-activeというクラスがついた時の形状*/
    .flow .area.is-active{
        padding: 60px;
        display: block;/*表示*/
        animation-name: displayAnime;/*ふわっと表示させるためのアニメーション*/
        animation-duration: 2s;
        animation-fill-mode: forwards;
    }
    .flow .area ol{
        list-style: none;
        padding: 30px 0;
        background-color: #fff;
        border-radius: 5px;
    }
    .flow .area ol li{
        padding-bottom: 180px;
        margin-bottom: 60px;
        background-image: url(../img/under_line.svg);
        background-size: 110%;
        background-position: bottom center;
        background-repeat: no-repeat;
    }
    .flow .area ol li:first-child div img{
        padding-left: 15px;
        width: 115px;
    }
    .flow .area ol li:last-child{
        background-image: none;
        padding-bottom: 60px;
    }
    .flow .area ol li h4{
        text-transform: uppercase;
        letter-spacing: 2px;
        width: fit-content;
        margin: 20px auto;
        padding: 5px 50px;
        font-size: 2em;
        color: #fff;
        text-align: center;
        background-color: #003880;
        border-radius: 50px;
    }
    .flow .area ol li div{
        text-align: center;
    }
    .flow .area ol li div img{
        width: 100px;
        margin: 0 auto;
        padding-top: 30px;
        text-align: center;
    }
    .flow .area ol li .entrypage_sample{
        width: 100%;
        margin: 20px auto;
        box-shadow: 5px 5px 5px rgba(150, 150, 150, 0.6);
    }
    .flow #referral_page ol li:nth-child(2) img{
        width: 150px;
    }
    .flow #referral_page ol li:nth-child(4) img{
        width: 120px;
    }
    .flow .area ol li p{
        max-width: 80%;
        width: fit-content;
        margin: 0 auto;
        padding: 5px 0;
        color: #333;
        text-align: justify;
    }
    .flow .area ol li p span{
        display: block;
    }
    .flow .area ol li .boldfont{
        padding: 40px 0 20px;
        font-size: 2em;
        font-weight: 600;
        color: #003880;
        text-align: center;
    }
    .flow .area ol li .boldfont .smallfont{
        font-size: 0.7em;
        width: fit-content;
        margin: 0 auto;
    }
    .flow .area ol li .case{
        width: 60%;
        margin: 0 auto;
        padding: 20px 0;
        background-color: #FFEFA0;
        border-radius: 5px;
    }
    .flow .area ol li .case p{
        color: #333;
        font-size: 1.2em;
    }

    .flow .area ol li .benefit-mile{
        text-transform: uppercase;
        letter-spacing: 2px;
        width: fit-content;
        margin: 20px auto 0;
        padding: 15px 50px 10px;
        font-size: 1.7em;
        color: #fff;
        text-align: center;
        background-color: #3FB844;
        border-radius: 30px;
        line-height: 1.2em;
    }
    .img_benefit-mile{
        display: block;
        width: 90%;
        max-width: 600px;
        text-align: center;
        margin: 5% auto 3%;
    }
    .flow .area ol li .case_mile{
        width: 85%;
        margin: 0 auto 20px;
        padding: 15px 0;
        background-color: #D8F6D9;
        border-radius: 5px;
    }
    .case_mile-title{
        color: #f00;
        font-size: 1.5em;
        margin-bottom: 10px;
    }
    .flow .area ol li .case_mile p{
        color: #333;
        font-size: 1em;
    }
    .flow .area ol li .etc{
        color: #333;
        font-size: 0.9em;
        margin-bottom: -100px;
    }
    
    @keyframes displayAnime{
        from {
            opacity: 0;
        }
        to {
            opacity: 1;
        }
    }

    .flow_text-present{
        border-bottom:4px solid #ff9696 ;
        font-size: 1.2em;
    }
    .flow_milelogo{
        width: 60%;
        max-width: 300px;
        margin-top: 10px;
        margin-right: 5px;
        margin-bottom:-7px;
    }
    .flow .area ol li .kv2-2_1000mile{
        display: block;
        width: 80%;
        max-width: 600px;
        margin: 5px auto 0;
    }

    .flow .area ol li .btn-field{
        display: block;
        width: 90%;
        max-width: 700px;
        margin: 10px auto 50px;
        padding: 3px 0 0;
        border-radius: 50px;
        transition: 0.2s all ease-in-out;
        box-shadow: 5px 5px rgba( 0,0,0, 0.5 );
        color: #000;
    }
    .flow .area ol li .btn-field:hover{
        cursor: pointer;
        transform: translate(5px, 5px);
        box-shadow: 0px 0px 0 rgba(0, 0, 0, 0.3);
    }
    .flow .area ol li .btn-field p{
        font-size: 1em;
        padding-top: 20px;
    }
    .flow .area ol li .btn-field .btn-download{
        width: 90%;
        display: flex;
        gap:5px;

        justify-content: center;
        margin: 10px auto 50px;
        padding-bottom: 20px;
    }
    .flow .area ol li .btn-field .btn-download li .gp{
        width: 100%;
        height: 80px;
        padding-top: 0;
        padding-left: 0;
    }
    .flow .area ol li .btn-field .btn-download li .as{
        width: 100%;
        height: 80px;
        padding-top: 0;
        padding-left: 0;
    }
    .flow .area ol li .btn-field .btn-download li{
        background-image: none;
        padding: 0;
        margin:0 ;
    }
    .flow .area ol li .flow_text-mile{
        display:block;
        text-align: center;
    }

    /*--被紹介者ページ--*/
    #referral .flow .referral_area{
        margin-top: 60px;
    }
    #referral .flow .area.is-active{
        padding: 0 60px 60px;
        display: block;/*表示*/
    }
    #referral .flow .referral_area h3{
        max-width: 1000px;
        width: 100%;
        margin: 0 auto;
        line-height: 3.5;
        padding-top: 5px;
        color: #fff;
        font-size: 1.7em;
        font-weight: 600;
        text-align: center;
    }
    /**----メッセージ----**/
    .message{
        background-color: #fbf8d640;
        background-image: url(../img/sawakami_gradation.webp);
        background-size: 50%;
        background-attachment: fixed;      
        background-position: center right 30px;
        background-repeat: no-repeat;
    }
    .message .wrap{
        max-width: 1000px;
        width: 90%;
        margin: 0 auto;
        padding: 50px 0 50px;
    }
    .readmore{
        position: relative;
        padding: 0 0 50px;
        margin: 0 auto;
        max-width: 1000px;
        width: 90%;
        background: linear-gradient( rgba(255,255,255,0.6) 0%, rgba(255,255,255,0.7) 70%, #fff 85%);
        border-radius: 20px;
    }
    .readmore label{
        position: absolute;
        display: table;
        left: 50%;
        bottom: 50px;
        margin: 0 auto;
        width: 200px;
        width: fit-content;
        padding: 10px 15px 3px;
        color: #fff;
        text-align: center;
        color: #003880;
        font-weight: bold;
        border-bottom: 2px solid #003880;
        transform: translateX(-50%);
        cursor: pointer;
        z-index: 1;
    }
    .readmore label::before{
        content: '続きを見る';
    }
    .readmore input[type="checkbox"]:checked ~ label::before {
        content: '元に戻す';
    }
    .readmore input[type="checkbox"]{
        display: none;
    }
    .readmore-content {
        max-width: 1000px;
        width: 95%;
        padding: 50px;
        padding-bottom: 80px;
        margin: 0 auto;
        position: relative;
        height: 280px;
        overflow: hidden;
    }
    .readmore-content::before {
        position: absolute;
        display: block;
        content: "";
        bottom: 0;
        left: 0;
        width: 100%;
        height: 150px;
        padding-bottom: 50px;
        background: linear-gradient( rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 55%, #fff 70%);
    }
    .readmore input[type="checkbox"]:checked ~ .readmore-content::before {
        display: none;
    }
    .readmore input[type="checkbox"]:checked ~ .readmore-content {
        height: auto;
        border-radius: 20px;
    }
    .readmore input[type="checkbox"]:checked ~ .readmore-content p{
        max-width: 1000px;
        width: 100%;
        padding: 20px 0 10px;
        margin: 0 auto;
    }
    .message p{
        margin-bottom: 50px;
        line-height: 2;
    }
    .message .line-break{
        display: block;
        padding: 20px 0;
    }
    
    /**----スケジュール----**/
    .schedule .wrap{
        max-width: 1000px;
        width: 90%;
        margin: 0 auto;
        padding: 50px 0 80px;
    }
    .schedule .schedule_list{
        margin: 0 auto;
        text-align: justify;
        padding: 20px;
    }
    .schedule .schedule_list h4{
        font-size: 1.5em;
        color: #043492;
    }
    .schedule .schedule_list p{
        line-height: 1.8;
        letter-spacing: 2px;
    }
    .schedule .schedule_list p span{
        display: block;
    }
    .schedule .schedule_list p a{
        color: #0660A0;
    }
    .schedule .schedule_list .redcolorfont{
        font-weight: bold;
        font-size: 1.1em;
        line-height: 1;
        color: #f50505;
        padding-bottom: 13px;
    }
    .schedule .schedule_list .boldfont{
        font-weight: bold;
        font-size: 1.1em;
        line-height: 1;
        padding-bottom: 13px;
    }

    /**----留意事項----**/
    #points .qa-space{
        padding:50px 0 50px;
    }
    #points .accordion-area{
        padding: 50px 0;
    }
    #points .accordion-area .p-accordion{
        border-radius: 15px;
        border: 2px solid #555;
        text-align: center;
        background-color: #fff;
        margin-bottom: 20px;
        border-radius: 15px;
    }
    #points .accordion-area .p-accordion h4{
        text-align: center;
        color: #555;
        font-size: 1.5em;
        line-height: 1.8em;
    }
    #points .accordion-area .p-accordion p{
        text-align: center;
        color: #000;
        max-width: 725px;
        margin: 0 auto;
        padding: 20px 0;
        font-size: 1.2em;
        line-height: 1.8em;
        text-align: justify;
    }
    #points ul li section .ac-title::before,
    #points ul li section .ac-title::after{
        position: absolute;
        content:'';
        width: 20px;
        height: 5px;
        background-color: #555555;
    }
    #points ul li section .ac-title::before{
        top:43%;
        right: 20px;
        transform: rotate(0deg);
    }
    #points ul li section .ac-title::after{    
        top:43%;
        right: 20px;
        transform: rotate(90deg);
    }
    /*アコーディオンタイトル*/
    #points ul li section .ac-title {
        position: relative;/*+マークの位置基準とするためrelative指定*/
        cursor: pointer;
        font-weight: bold;
        padding: 3% 0 3% 5%;
        transition: all .5s ease;
    }
    /*　closeというクラスがついたら形状変化　*/
    #points ul li section .ac-title.close::before{
        transform: rotate(45deg);
    }
    #points ul li section .ac-title.close::after{
        transform: rotate(-45deg);
    }
    /*アコーディオンで現れるエリア*/
    #points ul li section .ac-box {
        display: none;/*はじめは非表示*/
        max-width: 900px;
        margin: 0 auto;
        padding: 3% 5% 7% 6%;
        text-align: left;
        border-top: 2px solid #a5a5a5;
    }
    #points ul li section .point_img{
        text-align: center;
        max-width: 700px;
        margin: 0 auto;
        padding-bottom: 30px;
    }
    #points ul li section .point_img img{
        width: 100%;
        height: auto;
    }
    #points ul li section p span{
        display: block;
    }
    .symbol-q{
        color: #2f48d1;
        font-size: 1.5em;
        font-weight: bold;
        padding-right: 10px;
    }
    .symbol-a{
        color: #e03030;
        font-size: 1.5em;
        font-weight: bold;
        padding-right: 10px;
    }
    #points .other_points{
        max-width: 950px;
        width: 90%;
        margin: 0 auto 120px;
        text-align: justify;
    }
    #points .other_points h3{
        text-align: start;
        color: #555;
        font-size: 1.4em;
        padding: 80px 0 20px;
    }
    #points .other_points ul li{
        padding: 8px 0;
    }
    #points .other_points ul li a{
        color: #0660A0;
    }
}
@media only screen and (min-width:900px){
    .slider-collab .item-block .prize{
        height: 450px;
    }
    .img-handkerchief{
        margin: -40px 0px 0 10px;
    }
}
/*--PC版（1101px～ コンテンツの列幅は1000px設定）--*/
@media only screen and (min-width:1101px){
    .slider-collab .item-block .prize{
        height: 470px;
    }
}

/**---- 留意事項・footer ----**/
/*----SP（～766px）----*/
@media only screen and (max-width:766px){
    /** 留意事項など **/
    .consideration{
        background-color: #ddd;
        padding: 10% 0;
    }
    .title-consideration{
        font-size: 1em;
        font-weight: bold;
    }    
    .para-consideration{
        margin-bottom:0;
        width: 100%;
        line-height: 1.8em;
        font-size: 0.7em;
    }

    /**--さわかみファンドのリスクおよび手数料等について--**/
    .disclamer {
        padding: 60px 0; }
    .disclamer_box {
        background-color: #eee; }
    .disclamer_box .box {
        margin-bottom: 40px; }
    .disclamer_box .box:last-child {
        margin-bottom: 0; }
    .disclamer_box .box h3 {
        font-size: 0.8em;
        font-weight: 700;
        margin-bottom: 5px; }
    .disclamer_box .box p {
        font-size: 0.7em;
        line-height: 1.4; }
    .disclamer_box .box p.attn {
        margin-top: 20px; }
    .disclamer_box .box p.attn2 {
        margin-top: 10px;
        margin-bottom: 10px;}
    .disclamer_box .box .line {
        align-items: center;
        display: flex;
        flex-wrap: wrap;
        border-bottom: 1px solid #555555; }
    .disclamer_box .box .line.bdru {
        border-top: 1px solid #555555; }
    .disclamer_box .box .line > div {
        padding: 10px 0;
        height: 100%; }
    .disclamer_box .box .line .left_blc {
        width: 180px;
        padding-left: 20px; }
    .disclamer_box .box .line .left_blc p {
        font-weight: 700; }
    .disclamer_box .box .line .right_blc {
        width: calc(100% - 180px);
    }
    /* 最下部コピーライト */
    .copyright {
        background-color: #848484;
        padding: 45px 0;
    }
    .copyright p {
        color: #fff;
        font-size: 0.6em;
        text-align: center;
    }
}
/*----PC（767px～）----*/
@media only screen and (min-width:767px){
    /** 留意事項など **/
    .consideration{
        width: 100%;
        padding: 50px 0;
    }
    .title-consideration{
        font-size: 1.0em;
        font-weight: bold;
    }    
    .para-consideration{
        margin-bottom:0;
        width: 100%;
        line-height: 1.8em;
        font-size: 0.8em;
    }
    /** さわかみファンドのリスクおよび手数料等について **/
    .disclamer {
        width: 100%;
        margin: 0 auto;
        padding: 60px 0;
    }
    .disclamer h2 {
        font-size: 32px;
        font-weight: 700;
        color: #043492;
        text-align: center;
        margin-bottom: 60px;
    }
    .disclamer h2 span {
        border-left: 2px solid #043492;
        border-right: 2px solid #043492;
        line-height: 1;
        padding: 5px 25px;
    }
    .disclamer_box {
        background-color: #eee;
    }
    .disclamer_box .box {
        margin-bottom: 40px; }
    .disclamer_box .box:last-child {
        margin-bottom: 0; }
    .disclamer_box .box h3 {
        font-size: 13px;
        font-weight: 700;
        margin-bottom: 5px; }
    .disclamer_box .box p {
        font-size: 12px;
        line-height: 1.4; }
    .disclamer_box .box p.attn {
        margin-top: 20px; }
    .disclamer_box .box p.attn2 {
        margin-top: 10px;
        margin-bottom: 10px;}
    .disclamer_box .box .line {
        display: flex;
        flex-wrap: wrap;
        border-bottom: 1px solid #555555; }
    .disclamer_box .box .line.bdru {
        border-top: 1px solid #555555; }
    .disclamer_box .box .line > div {
        padding: 10px 0;
        height: 100%; }
    .disclamer_box .box .line .left_blc {
        width: 180px;
        padding-left: 20px; }
    .disclamer_box .box .line .left_blc p {
        font-weight: 700; }
    .disclamer_box .box .line .right_blc {
        width: calc(100% - 180px); }   

/* 最下部コピーライト */
    .copyright {
        background-color: #848484;
        padding: 45px 0;
    }
    .copyright p {
        color: #fff;
        font-size: 12px;
        text-align: center;
    }
}

/**------アニメーション設定--------**/
/* フェードイン */
.fadein{
    animation-name: fadeinAnime;
    animation-duration:2s;
    animation-fill-mode:forwards;
    opacity:0;
}
@keyframes fadeinAnime{
    from {
    opacity: 0;
    }
    to {
    opacity: 1;
    }
}
.trigger_fadein{
    opacity: 0;
}

/* 拡大 */
.zoomIn{
	animation-name:zoomAnime;
	animation-duration:0.5s;
	animation-fill-mode:forwards;
}
@keyframes zoomAnime{
    from {
        transform: scale(0.6);
    }
    to {
        transform: scale(1);
    }
}
.trigger_zoomin{
}
/* 右上へ回転 */
.flip_righttop{
    animation-name:flip_righttopAnime;
    animation-duration:1s;
    animation-fill-mode:forwards;
    opacity:0;
}
@keyframes flip_righttopAnime{
    from {
        transform: translate(-20px,80px) rotate(25deg);
        opacity: 0;
    }
    to {
        transform: translate(0,1) rotate(0deg);
        opacity: 1;
    }
}
.trigger_flip_righttop{
    opacity: 0;
}

/* タイピング */
.text_typing span {
    display: none;
}
/*文字列後ろの線の設定*/
/*.TextTyping::after {
    content: "|";
    animation: typinganime .8s ease infinite;
}*/
@keyframes typinganime{
    from{opacity:0}
    to{opacity:1}
}

/* フェードアップ */
.fadeUp {
animation-name:fadeUpAnime;
animation-duration:0.5s;
animation-fill-mode:forwards;
opacity: 0;
}
@keyframes fadeUpAnime{
    from {
    opacity: 0;
    transform: translateY(100px);
    }  
    to {
    opacity: 1;
    transform: translateY(0);
    }
}
.trigger_fadeUp,
.trigger_fadeUp_once {
    opacity: 0;
}

/* スライドイン／左から右へ */
.slideright {
    animation-name:slideRight;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    opacity: 0;
}
@keyframes slideRight{
    from {
    opacity: 0;
    transform: translateX(-30px);
    }  
    to {
    opacity: 1;
    transform: translateX(0);
    }
}
.trigger_slideright{
    opacity: 0;
}

/* スライドイン／右から左へ */
.slideleft {
    animation-name:slideLeft;
    animation-duration:0.5s;
    animation-fill-mode:forwards;
    opacity: 0;
}
@keyframes slideLeft{
    from {
    opacity: 0;
    transform: translateX(30px);
    }  
    to {
    opacity: 1;
    transform: translateX(0);
    }
}
.trigger_slideleft{
    opacity: 0;
}
  
/* アニメーションスタートの遅延時間を決めるCSS*/
.delay01{animation-delay: 0s;}
.delay02{animation-delay: 0.2s;}
.delay03{animation-delay: 0.3s;}
.delay04{animation-delay: 0.4s;}
.delay05{animation-delay: 0.5s;}
.delay06{animation-delay: 0.6s;}
.delay07{animation-delay: 0.7s;}
.delay08{animation-delay: 0.8s;}
.delay09{animation-delay: 0.9s;}
.delay10{animation-delay: 1.0s;}
.delay11{animation-delay: 1.1s;}
.delay12{animation-delay: 1.2s;}
.delay13{animation-delay: 1.3s;}
.delay14{animation-delay: 1.4s;}
.delay15{animation-delay: 1.5s;}
.delay16{animation-delay: 1.6s;}
.delay17{animation-delay: 1.7s;}
.delay18{animation-delay: 1.8s;}
.delay19{animation-delay: 1.9s;}
.delay20{animation-delay: 2.0s;}
.delay21{animation-delay: 2.1s;}
.delay22{animation-delay: 2.2s;}
.delay23{animation-delay: 2.3s;}
.delay24{animation-delay: 2.4s;}
.delay25{animation-delay: 2.5s;}
.delay26{animation-delay: 2.6s;}
.delay27{animation-delay: 2.7s;}
.delay28{animation-delay: 2.8s;}
.delay29{animation-delay: 2.9s;}
.delay30{animation-delay: 3.0s;}

/*-----------アコーディオン用css-------------*/
.accordion-area{
    list-style: none;
    width: 100%;
    max-width: 1000px;
    margin:0 auto 0;
    transition: all 1s ease;
}
/*アコーディオン-hover自動開閉テスト*/
/*.accordion-area > li:hover .ac-box {
    display: table;
}*/

/*-----------モーダル画面用css-------------*/
@media only screen and (max-width:766px){
    .mdl {
        opacity: 0;
        visibility: hidden;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 20;
        background-color: rgba(0, 0, 0, 0.7);
        transition: 300ms;
    }
    main .mdl.active{
        opacity: 1;
        visibility: visible;
        display: block;
    }
    main .mdl .mdl_box{
        width: 80%;
        max-width: 800px;
        max-height: 70vh;
        margin: 5% auto;
        position: absolute;
        top: 42%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 21;
        text-align: center;
    }
    main .mdl .mdl_box .mdl_close{
        width: 40px;
        height: 40px;
        background-color: #7a7a7a;
        position: absolute;
        top: -40px;
        right: 0;
    }
    main .mdl .mdl_box .mdl_close img{
        width: 60%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    main .mdl .mdl_box .mdl_close:hover{
        cursor: pointer;
    }
    main .mdl .mdl_box .inner{
        background-color: #fff;
        width: 100%;
        height: 70vh;
        overflow-y: auto;
        padding: 5%;
    }
    main .mdl .mdl_box .inner .head {
        align-items: center;
        margin-bottom: 5%;
    }
    main .mdl .mdl_box .inner .head .logo_blc{
        width: 100%;
    }
    main .mdl .mdl_box .inner .head .logo_blc img{
        display: block;
        width: 70%;
        max-width: 300px;
        margin: 5% auto 5%;
    }
    main .mdl .mdl_box .inner .head .ttl{
        width: 100%;
    }
    main .mdl .mdl_box .inner .head .ttl h3{
        font-size: 1.4em;
        font-weight: 700;
        font-family: "Meiryo", "Hiragino Kaku Gothic ProN", "Yu Gothic", "MS PGothic", sans-serif;
        color:#333;
        text-align: center;
        margin-bottom: 5%;
    }
    main .mdl .mdl_box .inner .content {
        text-align: left;
    }
    main .mdl .mdl_box .inner .content p {
        margin-bottom: 1em;
        font-size: 13px;
    }
    main .mdl .mdl_box .inner .content h3 {
        margin-bottom: 5px;
        font-size: 1.1em;
    }
}
@media only screen and (min-width:767px){
    .mdl {
        opacity: 0;
        visibility: hidden;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 20;
        background-color: rgba(0, 0, 0, 0.7);
        transition: 300ms;
    }
    main .mdl.active{
        opacity: 1;
        visibility: visible;
        display: block;
    }
    main .mdl .mdl_box{
        width: 80%;
        max-height: 90%;
        max-width: 800px;
        margin: 0 auto;
        position: absolute;
        top: 50%;
        left: 50%;
        /*border:solid 2px #DE455A;*/
        transform: translate(-50%, -50%);
        z-index: 21;
    }
    main .mdl .mdl_box .mdl_close{
        width: 55px;
        height: 55px;
        background-color: #7a7a7a;
        position: absolute;
        top: -55px;
        right: 0;
    }
    main .mdl .mdl_box .mdl_close img{
        width: 41.8%;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    main .mdl .mdl_box .mdl_close:hover{
        cursor: pointer;
    }
    main .mdl .mdl_box .inner{
        background-color: #fff;
        width: 100%;
        overflow-y: auto;
        padding: 35px 40px;
    }
    main .mdl .mdl_box .inner .head {
        display: flex;
        align-items: center;
        margin-bottom: 15px;
    }
    main .mdl .mdl_box .inner .head .logo_blc{
        width: 40%;
        text-align: left;
    }
    main .mdl .mdl_box .inner .head .logo_blc img{
        width: 100%;
        max-width: 300px;
        padding-right: 5%;
    }
    main .mdl .mdl_box .inner .head .ttl{
        width: 55%;
        text-align: left;
    }
    main .mdl .mdl_box .inner .head .ttl .sub-message{
    }
    main .mdl .mdl_box .inner .head .ttl h3{
        font-family: "Meiryo", "Hiragino Kaku Gothic ProN", "Yu Gothic", "MS PGothic", sans-serif;
        font-size: 1.6em;
        font-weight: 700;
        color:#333;
    }
    main .mdl .mdl_box .inner .content {
        text-align: left;
    }
    main .mdl .mdl_box .inner .content h3 {
        margin-bottom: 5px;
        font-size: 1.1em;
    }
    main .mdl .mdl_box .inner .content p {
        margin-bottom: 1em;
    }
}

/**------ページトップリンク------**/
#page-top a{
	display: flex;
	justify-content:center;
	align-items:center;
	background:#eee;
    border:solid 1px #999999;
	border-radius: 30px;
	width: 40px;
	height: 40px;
	color: #000;
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:0.6rem;
	transition:all 0.3s;
}
#page-top a:hover{
	background: #aaa;
}
#page-top {
	position: fixed;
	right: 15px;
	bottom:90px;
	z-index: 11;
	opacity: 0;
	transform: translateX(100px);
}
/*--左の動き--*/
#page-top.LeftMove{
	animation: LeftAnime 0.3s forwards;
}
@keyframes LeftAnime{
  from {
    opacity: 0;
	transform: translateX(100px);
  }
  to {
    opacity: 1;
	transform: translateX(0);
  }
}
/*--右の動き--*/
#page-top.RightMove{
	animation: RightAnime 0.3s forwards;
}
@keyframes RightAnime{
  from {
  	opacity: 1;
	transform: translateX(0);
  }
  to {
  	opacity: 1;
	transform: translateX(100px);
  }
}

/**------メッセージトップリンク------**/
#message_link a{
	display: flex;
	justify-content:center;
	align-items:center;
	background:#eee;
    border:solid 1px #999999;
	border-radius: 30px;
	width: 40px;
	height: 40px;
	color: #000;
	text-align: center;
	text-transform: uppercase; 
	text-decoration: none;
	font-size:0.6rem;
	transition:all 0.3s;
}
#message_link a img{
    width: 100px;
}
#message_link a:hover{
	background: #aaa;
}
#message_link {
	position: fixed;
	right: 30px;
	bottom:90px;
	z-index: 2;
	opacity: 0;
	transform: translateX(100px);
}
/*--左の動き--*/
#message_link.LeftMove{
	animation: LeftAnime 0.3s forwards;
}
@keyframes LeftAnime{
  from {
    opacity: 0;
	transform: translateX(100px);
  }
  to {
    opacity: 1;
	transform: translateX(0);
  }
}
/*--右の動き--*/
#message_link.RightMove{
	animation: RightAnime 0.3s forwards;
}
@keyframes RightAnime{
  from {
  	opacity: 1;
	transform: translateX(0);
  }
  to {
  	opacity: 1;
	transform: translateX(100px);
  }
}
@media only screen and (max-width:766px){
    #message_link a img{
        width: 80px;
    }
    #message_link {
        position: fixed;
        right: 30px;
        bottom:100px;
        z-index: 2;
        opacity: 0;
        transform: translateX(100px);
    }

}


/**-------------カルーセル全体設定用----------------**/
/* Slider */
.slick-slider{
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}
.slick-list{
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}
.slick-list:focus{
    outline: none;
}
.slick-list.dragging{
    cursor: pointer;
    cursor: hand;
}
.slick-slider .slick-track,.slick-slider .slick-list{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}
.slick-track{
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,.slick-track:after{
    display: table;
    content: '';
}
.slick-track:after{
    clear: both;
}
.slick-loading .slick-track{
    visibility: hidden;
}
.slick-slide{
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide{
    float: right;
}
/*.slick-slide img{
    display: block;
}*/
.slick-slide.slick-loading img{
    display: none;
}
.slick-slide.dragging img{
    pointer-events: none;
}
.slick-initialized .slick-slide{
    display: block;
}
.slick-loading .slick-slide{
    visibility: hidden;
}
.slick-vertical .slick-slide{
    display: block;
    height: auto;
    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}

/*--ポップアップウィンドウ用設定 --*/
/* SP設定　*/
@media only screen and (max-width: 766px) {
    .modal-content {
        width: 80% ;
        margin: 0 ;
        border: 2px solid #aaa ;
        background: #fff ;
        position: fixed ;
        display: none ;
        z-index: 1000 ;
        max-height: 70vh; /* 任意の最大高さを設定 */
        overflow-y: auto;  /* 縦方向のスクロールを有効にする */
    /*	overflow: scroll;*/
    }
    .modal-content-summary{
        font-size: 0.9em;
        line-height: 1.8em;
        margin: 0 0 5px 0;
        padding: 0 5% 5%;
    }
    .modal-content-summary p{
        padding-top: 20px;
    }
    .modal-content-summary p:first-child{
        padding-top: 0;
    }
    #modal-overlay{
        z-index: 3 ;
        display: none ;
        position: fixed ;
        top: 0 ;
        left: 0 ;
        width: 100% ;
        height: 120% ;
        background-color: rgba( 0,0,0, 0.75 ) ;
    }
    
    .close-link {
        color: #aaa ;
        text-decoration: none ;
        font-weight: bold;
    }
     
    .close-link:hover {
        cursor: pointer ;
        color: #333 ;
    }
    
    .position-close{
        text-align: center;
        font-size: 200%;
        margin: 5px 0 5px 0;
    }
    .button-link{
        color: #777 ;
        text-decoration: none ;
    }
    .button-link:hover {
        cursor: pointer ;
        color: #f00 ;
    }

    /*--モーダル画面用設定詳細--*/
    .item-detail {
        width:100%;
        height:auto;
        margin: 0 0 0px 0px;
        overflow-x: auto;
    }
    .item-detail img{
        background-color:#fff ;
        display: block;
        margin: 0 auto;
    }
    .item-detail .logo{
        width: 100%;
        border-bottom: solid 1px #999;
    }
    .item-detail .logo img{
        width: 70%;
    }
    .item-detail .prize{
        background-color:#fff ;
        padding: 0;
        display: block;
        padding:5%;
        margin: 0 auto;
        text-align: center;
    }
    .item-detail .prize .select{
        background-color: #7dfff9;
    }
    .item-detail .prize .rare{
        background-color: #fff540;
    }
    .item-detail .prize img{
        width: 100%;
        border-radius: 20px;
        margin-bottom: 5%;
    }
    .item-detail .prize .bl_imgSwitcher{
        margin-bottom: 20px;
    }
    .item-detail .prize .bl_imgSwitcher02{
        margin-bottom: 20px;
    }
    .item-detail .prize .bl_imgSwitcher03{
        margin-bottom: 20px;
    }
    .item-detail .prize .bl_imgSwitcher04{
        margin-bottom: 20px;
    }
    .item-detail .prize .bl_imgSwitcher05{
        margin-bottom: 20px;
    }
    .item-detail .prize .bl_imgSwitcher06{
        margin-bottom: 20px;
    }
    .item-detail .prize .bl_imgSwitcher07{
        margin-bottom: 20px;
    }
    .item-detail .prize h4{
        font-size: 1em;
        font-weight: bold;
        text-align: center;
        color:#333;
        padding: 10px 20px;
        background-color: #fff540;
        display: inline-block;
        border-radius: 30px;
        margin-top: 20px;
        margin-bottom: -10px;
        position: relative;
        top: 50%;
        transform: translateY(-50%);
    }
    .item-detail .prize p{
        font-size: 1em;
        font-weight: bold;
        text-align: center;
        color:#333;
    }
    .item-detail .text-detail{
        padding: 5%;
    }
    .item-detail .text-detail p{
        font-size: 1.1em;
        font-weight: bold;
        padding: 5%;
    }
}
/* PC設定　*/
@media only screen and (min-width: 767px) {
    .modal-content {
        width: 70% ;
        max-width: 700px;
        max-height: 80vh;
        margin: 0 ;
        padding: 0 ;
        border: 2px solid #aaa ;
        background: #fff ;
        position: fixed ;
        display: none ;
        z-index: 10 ;
        overflow-y: auto;
    }
    .modal-content-summary{
        font-size: 90%;
        line-height: 1.5em;
        text-align: left;
        margin: 0 0 5px 0;
        padding: 0 5% 5%;
    }
    .modal-content-summary p{
        padding-top: 15px;
    }
    .modal-content-summary p:first-child{
        padding-top: 0;
    }
    #modal-overlay{
        z-index: 3 ;
        display: none ;
        position: fixed ;
        top: 0 ;
        left: 0 ;
        width: 100% ;
        height: 120% ;
        background-color: rgba( 0,0,0, 0.75 ) ;
    }
    
    .close-link {
        color: #aaa ;
        text-decoration: none ;
        font-weight: bold;
    }
     
    .close-link:hover {
        cursor: pointer ;
        color: #333 ;
    }
    
    .position-close{
        text-align: center;
        font-size: 200%;
        margin: 25px 0 10px 0;
    }
    .button-link{
        color: #777 ;
        text-decoration: none ;
    }
    .button-link:hover {
        cursor: pointer ;
        color: #f00 ;
    }

    /*--モーダル画面用設定詳細--*/
    .item-detail {
        width:100%;
        height:auto;
        margin: 0 0 0px 0px;
        overflow-x: auto;
    }
    .item-detail img{
        background-color:#fff ;
        display: block;
        margin: 0 auto;
    }
    .item-detail .logo{
        width: 100%;
        border-bottom: solid 1px #999;
    }
    .item-detail .logo img{
        width: 70%;
    }
    .item-detail .prize{
        background-color:#fff ;
        padding: 0;
        display: block;
        padding:5% 5% 2%;
        margin: 0 auto;
        text-align: center;
    }
    .item-detail .prize .select{
        background-color: #7dfff9;
    }
    .item-detail .prize .rare{
        background-color: #fff540;
    }
    .item-detail .prize img{
        width: 100%;
        border-radius: 20px;
        margin-bottom: 5%;
    }
    .item-detail .prize .bl_imgSwitcher{
        margin-bottom: 20px;
    }
    .item-detail .prize .bl_imgSwitcher02{
        margin-bottom: 20px;
    }
    .item-detail .prize .bl_imgSwitcher03{
        margin-bottom: 20px;
    }
    .item-detail .prize .bl_imgSwitcher04{
        margin-bottom: 20px;
    }
    .item-detail .prize .bl_imgSwitcher05{
        margin-bottom: 20px;
    }
    .item-detail .prize .bl_imgSwitcher06{
        margin-bottom: 20px;
    }
    .item-detail .prize .bl_imgSwitcher07{
        margin-bottom: 20px;
    }
    .item-detail .prize h4{
        font-size: 1.2em;
        font-weight: bold;
        text-align: center;
        color:#333;
        padding: 10px 20px;
        background-color: #fff540;
        display: inline-block;
        margin-top: 20px;
        margin-bottom: -10px;
        border-radius: 30px;
        position: relative;
        top: 50%;
        transform: translateY(-50%);
    }
    .item-detail .prize p{
        font-size: 1.8em;
        line-height: 1.4em;;
        font-weight: bold;
        text-align: center;
        color:#333;
    }
    .item-detail .text-detail{
        padding: 5%;
    }
    .item-detail .text-detail p{
        font-size: 1.1em;
        font-weight: bold;
        padding: 5%;
    }



}
    
/*--ポップアップウィンドウ（右上の閉じるボタン）用設定 --*/
.member-modal-close-button {
    position: absolute;
    z-index: 9999;
    white-space: nowrap;
    text-indent: 100%;
    overflow: hidden;
    -webkit-appearance: none;
    padding: 0;
    cursor: pointer;
    background: transparent;
    border: 0;
    background-color: none;
    width: 70px;
    height: 70px;
    /* top: -50px; */
    right: 0;
}
.member-modal-close-button:hover,
.member-modal-close-button:focus {
    cursor: pointer;
}
@media only screen and (max-width: 640px) {
.member-modal-close-button {
    width: 50px;
    height: 50px;
    top: 0px;
}
}
.member-modal-close-button:before,
.member-modal-close-button:after{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    content: '';
    display:inline-block;
    width: 60%;
    height: 2px;
    background-color: #333;
}
.member-modal-close-button:before{
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.member-modal-close-button:after{
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.modal-open {
    overflow: hidden;
}
.modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1050;
    display: none;
    overflow: hidden;
    -webkit-overflow-scrolling: touch;
    outline: 0;
}
.modal.fade {
    opacity: 0;
    -webkit-transition: opacity .15s linear;
        -o-transition: opacity .15s linear;
            transition: opacity .15s linear;
}
.modal.fade.in {
    opacity: 1;
}
.modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto;
}
.modal-dialog {
    position: relative;
    width: auto;
    margin: 10px;
}

.modal-content {
    position:fixed;
    background-color: #fff;
    -webkit-background-clip: padding-box;
            background-clip: padding-box;
    border: 1px solid #999;
    border: 1px solid rgba(0, 0, 0, .2);
    outline: 0;
    -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
            box-shadow: 0 3px 9px rgba(0, 0, 0, .5);
}
.modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    background-color: #000;
}
.modal-backdrop.fade {
    filter: alpha(opacity=0);
    opacity: 0;
}
.modal-backdrop.in {
    filter: alpha(opacity=50);
    opacity: .5;
}
.modal-scrollbar-measure {
    position: absolute;
    top: -9999px;
    width: 50px;
    height: 50px;
    overflow: scroll;
}
.modal-dialog {
    width: 930px;
    margin: 80px auto;
}
.modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
            box-shadow: 0 5px 15px rgba(0, 0, 0, .5);
}
@media only screen and (max-width: 640px) {
    .modal-dialog {
        width: auto;
        margin: 80px 15px;
    } 
}

/*----モーダル画面内　選択画像の設定-----*/
:root {
    --overlay-color: rgb(75 86 89/.5);
  }
  
  /* ラッパー */
  .bl_imgSwitcher {
    margin-inline: auto;
    /*margin-block: 3rem;*/
  }
  
  /* メイン画像 */
  .bl_imgSwitcher_main img {
    inline-size: 100%;
    border-radius: 20px;
    transition: opacity .4s cubic-bezier(.25, 1, .5, 1);
  }
  
  /* サムネイルのエリア */
  .bl_imgSwitcher_thumb {
    display:inline-block;
    /*overflow-x: scroll;*/
  }
  
  /* サムネイルの各ボタン */
  .bl_imgSwitcher_btn {
    flex-shrink: 0;
    inline-size: 5rem;
    overflow: hidden;
    border-radius: 20px;
    position: relative;
  
    &::before {
      content: "";
      border-radius: inherit;
      position: absolute;
      inset: 0;
      z-index: 10;
      transition: background-color .4s;
    }
  
    &:focus-visible::before {
      background-color: var(--overlay-color);
    }
  
    img {
      aspect-ratio: 1;
      inline-size: 100%;
      object-fit: cover;
    }
  }
  
  @media (any-hover: hover) {
    .bl_imgSwitcher_btn:hover::before {
      background-color: var(--overlay-color);
    }
  }
  
  /* is_activeクラスが付与されたら、サムネイルに半透明の黒背景を適用 */
  .bl_imgSwitcher_btn.is_active::before {
    background-color: var(--overlay-color);
  }

  /* ラッパー02 */
  .bl_imgSwitcher02 {
    margin-inline: auto;
    /*margin-block: 3rem;*/
  }
  
  /* メイン画像 */
  .bl_imgSwitcher02_main img {
    inline-size: 100%;
    border-radius: 20px;
    transition: opacity .4s cubic-bezier(.25, 1, .5, 1);
  }
  
  /* サムネイルのエリア */
  .bl_imgSwitcher02_thumb {
    display:inline-block;
    /*overflow-x: scroll;*/
  }
  
  /* サムネイルの各ボタン */
  .bl_imgSwitcher02_btn {
    flex-shrink: 0;
    inline-size: 5rem;
    overflow: hidden;
    border-radius: 20px;
    position: relative;
  
    &::before {
      content: "";
      border-radius: inherit;
      position: absolute;
      inset: 0;
      z-index: 10;
      transition: background-color .4s;
    }
  
    &:focus-visible::before {
      background-color: var(--overlay-color);
    }
  
    img {
      aspect-ratio: 1;
      inline-size: 100%;
      object-fit: cover;
    }
  }
  
  @media (any-hover: hover) {
    .bl_imgSwitcher02_btn:hover::before {
      background-color: var(--overlay-color);
    }
  }
  
  /* is_activeクラスが付与されたら、サムネイルに半透明の黒背景を適用 */
  .bl_imgSwitcher02_btn.is_active::before {
    background-color: var(--overlay-color);
  }

  /* ラッパー03 */
  .bl_imgSwitcher03 {
    margin-inline: auto;
    /*margin-block: 3rem;*/
  }
  
  /* メイン画像 */
  .bl_imgSwitcher03_main img {
    inline-size: 100%;
    border-radius: 20px;
    transition: opacity .4s cubic-bezier(.25, 1, .5, 1);
  }
  
  /* サムネイルのエリア */
  .bl_imgSwitcher03_thumb {
    display:inline-block;
    /*overflow-x: scroll;*/
  }
  
  /* サムネイルの各ボタン */
  .bl_imgSwitcher03_btn {
    flex-shrink: 0;
    inline-size: 5rem;
    overflow: hidden;
    border-radius: 20px;
    position: relative;
  
    &::before {
      content: "";
      border-radius: inherit;
      position: absolute;
      inset: 0;
      z-index: 10;
      transition: background-color .4s;
    }
  
    &:focus-visible::before {
      background-color: var(--overlay-color);
    }
  
    img {
      aspect-ratio: 1;
      inline-size: 100%;
      object-fit: cover;
    }
  }
  
  @media (any-hover: hover) {
    .bl_imgSwitcher03_btn:hover::before {
      background-color: var(--overlay-color);
    }
  }
  
  /* is_activeクラスが付与されたら、サムネイルに半透明の黒背景を適用 */
  .bl_imgSwitcher03_btn.is_active::before {
    background-color: var(--overlay-color);
  }

  
  /* ラッパー04 */
  .bl_imgSwitcher04 {
    margin-inline: auto;
    /*margin-block: 3rem;*/
  }
  
  /* メイン画像 */
  .bl_imgSwitcher04_main img {
    inline-size: 100%;
    border-radius: 20px;
    transition: opacity .4s cubic-bezier(.25, 1, .5, 1);
  }
  
  /* サムネイルのエリア */
  .bl_imgSwitcher04_thumb {
    display:inline-block;
    /*overflow-x: scroll;*/
  }
  
  /* サムネイルの各ボタン */
  .bl_imgSwitcher04_btn {
    flex-shrink: 0;
    inline-size: 5rem;
    overflow: hidden;
    border-radius: 20px;
    position: relative;
  
    &::before {
      content: "";
      border-radius: inherit;
      position: absolute;
      inset: 0;
      z-index: 10;
      transition: background-color .4s;
    }
  
    &:focus-visible::before {
      background-color: var(--overlay-color);
    }
  
    img {
      aspect-ratio: 1;
      inline-size: 100%;
      object-fit: cover;
    }
  }
  
  @media (any-hover: hover) {
    .bl_imgSwitcher04_btn:hover::before {
      background-color: var(--overlay-color);
    }
  }
  
  /* is_activeクラスが付与されたら、サムネイルに半透明の黒背景を適用 */
  .bl_imgSwitcher04_btn.is_active::before {
    background-color: var(--overlay-color);
  }

  /* ラッパー05 */
  .bl_imgSwitcher05 {
    margin-inline: auto;
    /*margin-block: 3rem;*/
  }
  
  /* メイン画像 */
  .bl_imgSwitcher05_main img {
    inline-size: 100%;
    border-radius: 20px;
    transition: opacity .4s cubic-bezier(.25, 1, .5, 1);
  }
  
  /* サムネイルのエリア */
  .bl_imgSwitcher05_thumb {
    display:inline-block;
    /*overflow-x: scroll;*/
  }
  
  /* サムネイルの各ボタン */
  .bl_imgSwitcher05_btn {
    flex-shrink: 0;
    inline-size: 5rem;
    overflow: hidden;
    border-radius: 20px;
    position: relative;
  
    &::before {
      content: "";
      border-radius: inherit;
      position: absolute;
      inset: 0;
      z-index: 10;
      transition: background-color .4s;
    }
  
    &:focus-visible::before {
      background-color: var(--overlay-color);
    }
  
    img {
      aspect-ratio: 1;
      inline-size: 100%;
      object-fit: cover;
    }
  }
  
  @media (any-hover: hover) {
    .bl_imgSwitcher05_btn:hover::before {
      background-color: var(--overlay-color);
    }
  }
  
  /* is_activeクラスが付与されたら、サムネイルに半透明の黒背景を適用 */
  .bl_imgSwitcher05_btn.is_active::before {
    background-color: var(--overlay-color);
  }

  /* ラッパー06 */
  .bl_imgSwitcher06 {
    margin-inline: auto;
    /*margin-block: 3rem;*/
  }
  
  /* メイン画像 */
  .bl_imgSwitcher06_main img {
    inline-size: 100%;
    border-radius: 20px;
    transition: opacity .4s cubic-bezier(.25, 1, .5, 1);
  }
  
  /* サムネイルのエリア */
  .bl_imgSwitcher06_thumb {
    display:inline-block;
    /*overflow-x: scroll;*/
  }
  
  /* サムネイルの各ボタン */
  .bl_imgSwitcher06_btn {
    flex-shrink: 0;
    inline-size: 5rem;
    overflow: hidden;
    border-radius: 20px;
    position: relative;
  
    &::before {
      content: "";
      border-radius: inherit;
      position: absolute;
      inset: 0;
      z-index: 10;
      transition: background-color .4s;
    }
  
    &:focus-visible::before {
      background-color: var(--overlay-color);
    }
  
    img {
      aspect-ratio: 1;
      inline-size: 100%;
      object-fit: cover;
    }
  }
  
  @media (any-hover: hover) {
    .bl_imgSwitcher06_btn:hover::before {
      background-color: var(--overlay-color);
    }
  }
  
  /* is_activeクラスが付与されたら、サムネイルに半透明の黒背景を適用 */
  .bl_imgSwitcher06_btn.is_active::before {
    background-color: var(--overlay-color);
  }
  
 /* ラッパー07 */
 .bl_imgSwitcher07 {
    margin-inline: auto;
    /*margin-block: 3rem;*/
  }
  
  /* メイン画像 */
  .bl_imgSwitcher07_main img {
    inline-size: 100%;
    border-radius: 20px;
    transition: opacity .4s cubic-bezier(.25, 1, .5, 1);
  }
  
  /* サムネイルのエリア */
  .bl_imgSwitcher07_thumb {
    display:inline-block;
    /*overflow-x: scroll;*/
  }
  
  /* サムネイルの各ボタン */
  .bl_imgSwitcher07_btn {
    flex-shrink: 0;
    inline-size: 5rem;
    overflow: hidden;
    border-radius: 20px;
    position: relative;
  
    &::before {
      content: "";
      border-radius: inherit;
      position: absolute;
      inset: 0;
      z-index: 10;
      transition: background-color .4s;
    }
  
    &:focus-visible::before {
      background-color: var(--overlay-color);
    }
  
    img {
      aspect-ratio: 1;
      inline-size: 100%;
      object-fit: cover;
    }
  }
  
  @media (any-hover: hover) {
    .bl_imgSwitcher07_btn:hover::before {
      background-color: var(--overlay-color);
    }
  }
  
  /* is_activeクラスが付与されたら、サムネイルに半透明の黒背景を適用 */
  .bl_imgSwitcher07_btn.is_active::before {
    background-color: var(--overlay-color);
  }

  .bl_imgSwitcher_main img,
  .bl_imgSwitcher02_main img,
  .bl_imgSwitcher03_main img,
  .bl_imgSwitcher04_main img,
  .bl_imgSwitcher05_main img,
  .bl_imgSwitcher06_main img,
  .bl_imgSwitcher07_main img {
    transition: opacity 0.2s ease-in-out;
  }
  .hidden {
    opacity: 0;
  }