* {
    margin: 0;
    padding: 0;
    font-family: "Century Gothic", sans-serif;
}

.red {
    color: red;
    font-weight: bold;
    text-align: center;
}

.orange {
    color: orange;
    font-weight: bold;
}

.black {
    color: black;
    font-weight: bold;
}

.blue {
    color: blue;
    font-weight: bold;
}

.green {
    color: #00B900;
    font-weight: bold;
}

body {
    max-width: 640px;
    margin: 0px auto;
    margin-top: 10px;
    padding: 0 10px;
    font-size: 17px;
    padding-left: 10px;
    padding-right: 10px;
}

@media(min-width:640px) {
    body {
        box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4);
    }
}

img {
    width: 100%;
}

.msg p {
    line-height: 30px;
}

li {
    list-style-position: inside;
}

section#sec_btn {
    margin: 32px 0;
}

.btn {
    display: grid;
    text-align: center;
}

p.btn_caution {
    text-align: center;
    font-size: 0.9rem;
}

p.right_caution {
    text-align: right;
    font-size: 9px;
    color: #000000;
}

a.gradient1,a.gradient2 {
    font-weight: bold;
    font-size: max(1.7vw, 25px);
}

.gradient1 {
    /*ボタンの形状*/
    display: inline-block;
    border: 1px solid #a49292;
    color: #fff;
    padding: 30px 30px;
    border-radius: 70px;
    text-decoration: none;
    outline: none;
    /*背景の色と形状*/
    background: linear-gradient(270deg, #3bade3 0%, #576fe6 25%, #9844b7 51%, #ff357f 100%);
    background-position: 1% 50%;
    background-size: 200% auto;
    /*アニメーションの指定*/
    transition: all 0.3s ease-out;
}

.gradient2 {
    /*ボタンの形状*/
    display: inline-block;
    border: 1px solid #a49292;
    color: #fff;
    padding: 30px 30px;
    border-radius: 70px;
    text-decoration: none;
    outline: none;
    /*背景の色と形状*/
    background: #06c755;
    background-position: 1% 50%;
    background-size: 200% auto;
    /*アニメーションの指定*/
    transition: all 0.3s ease-out;
}


/*hoverした際の、背景の場所とテキスト色の変更*/

.gradient1:hover {
    color: #fff;
    background-position: 99% 50%;
}

.speechbubble img {
    width: 100px;
    object-fit: cover;
}

.speechbubble {
    display: flex;
    justify-content: center;
}

p.spbb_cv {
    position: relative;
    padding: 20px;
    color: #fff;
    background-color: #EC9AC2;
    border-radius: 72px;
}

.do p.spbb_cv {
    background-color: #ff9643;
}

p.spbb_cv::before {
    content: '';
    position: absolute;
    left: -20px;
    top: 31px;
    display: block;
    width: 0;
    height: 0;
    border-right: 7px solid transparent;
    border-left: 27px solid transparent;
    border-bottom: 20px solid #EC9AC2;
}

.do p.spbb_cv::before {
    border-bottom: 20px solid #ff9643;
    ;
}

.dontbox,
.dobox {
    margin: 24px 0;
}

.sjt {
    font-weight: bold;
    background-color: red;
    display: inline-block;
    padding: 3px 9px;
    color: #fff;
    margin-left: 16px;
}

.desc {
    border: 1px solid #c53a3a;
    background-color: #ffd7d7;
    padding: 24px 16px 16px 16px;
    margin-top: -16px;
}

p.rsk {
    margin-top: 8px;
}

.do .sjt {
    background-color: #ff7100;
}

.do .desc {
    border: 1px solid #c5873a;
    background-color: #fff7d7;
}

section#sec07 {
    margin: 30px 0;
    font-size: max(1.5vw, 16px);
    line-height: 48px;
    font-weight: bold;
}

.peobox {
    display: flex;
    background-color: #f4f1f0;
    padding: 8px;
    margin-bottom: 4px;
}

.peobox:nth-child(even) {
    display: flex;
    flex-direction: row-reverse;
}

.peo {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.peopro {
    font-size: small;
}

.peopht img {
    height: 100px;
    border-radius: 50%;
    width: 100px;
    object-fit: cover;
}

.peodesc {
    font-size: 14px;
    padding: 8px 0px 8px 8px;
}

section#sec10 .speechbubble {
    margin: 16px;
}

#sec10 .desc {
    border: 1px solid #c5873a;
    background-color: #fff7d7;
    padding: 16px 16px 16px 16px;
    border-radius: 32px;
    line-height: 32px;
}

#sec11 .desc {
    background-color: unset;
    border: unset;
    text-align: center;
    margin: 16px 0 0 0;
    font-weight: bold;
}

section#sec12 {
    position: relative;
    margin-top: 16px;
}

section#sec12 .msg {
    position: absolute;
    top: 30px;
}

section#sec13 {
    margin: 30px 0;
    font-size: 18px;
    line-height: 48px;
    font-weight: bold;
}

section#sec13 p {
    text-align: center;
    font-size: larger;
}

.comment {
    color: #ffffff;
    background-color: #365899;
    font-weight: bold;
    font-size: 1.2rem;
    padding: 10px 0 10px 20px;
}

.repbox {
    border-bottom: 1px solid #d3d6db;
    padding: 15px;
}

.author {
    display: flex;
    gap: 10px;
    align-items: center;
}

.authimg img {
    max-width: 70px;
    max-height: 70px;
}

.authname {
    font-weight: bold;
}

.rep {
    margin: 15px 0;
    line-height: 22px;
    font-size: 0.8rem;
}

.btn {
    animation: punipuni 0.8s infinite;
    filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .9));
    margin: 10px 0;
}

@keyframes punipuni {
    0% {
        transform: scale(1, 1);
    }
    50% {
        transform: scale(0.98, 1.1)
    }
}

.caution {
    text-align: center;
}

.kodou {
    animation: kodou 1.5s infinite;
}

@keyframes kodou {
    0% {
        transform: scale(1.05)
    }
    5% {
        transform: scale(1)
    }
    95% {
        transform: scale(1)
    }
    100% {
        -webkit-transform: scale(1.05)
    }
}

.yureru-s {
    animation: yureru-s 2s infinite;
}

@keyframes yureru-s {
    0% {
        transform: translate(2px, 0px);
    }
    5% {
        transform: translate(-2px, 0px);
    }
    10% {
        transform: translate(2px, 0px);
    }
    15% {
        transform: translate(-2px, 0px);
    }
    20% {
        transform: translate(2px, 0px);
    }
    25% {
        transform: translate(-2px, 0px);
    }
    30% {
        transform: translate(0px, 0px);
    }
}

.caution img {
    width: 100px;
    object-fit: cover;
    margin-bottom: -10px;
}

.caution p.msg {
    background-color: red;
    margin-bottom: 10px;
    padding: 4px;
    color: #fff;
    font-weight: bold;
    font-size: 20px;
}

section#sec17 {
    margin: 16px 4px;
    /* line-height: 8px; */
}

.steptitle {
    border: 3px solid red;
    border-radius: 8px;
    padding: 4px;
    text-align: center;
    display: inline-block;
    color: red;
    font-weight: bold;
    line-height: 22px;
}

.steptitle p {
    font-size: 11px;
}

span.stepnum {
    font-size: 32px;
}

.step {
    display: flex;
    margin-bottom: 32px;
}

.stepimg {
    width: 60px;
    height: 60px;
    margin-top: 5px;
    margin-left: 5px;
    object-fit: cover;
}

.stepdesc {
    font-size: max(1.4vw, 20px);
    font-weight: bold;
    padding: 0 15px;
    display: flex;
    align-items: center;
}

.step.step1,
.step.step2 {
    position: relative;
}

.step.step1::after,
.step.step2::after {
    content: "▼";
    position: absolute;
    bottom: -28px;
    left: 50%;
    color: red;
}

.hide-dont,
.hide-do {
    display: none;
}

button.more {
    display: block;
    margin: 20px auto;
    background-color: #ababab;
    color: #fff;
    padding: 10px 15px;
    border: none;
    outline: 0;
    transition: .5s;
    -webkit-transition: .5s;
    font-size: 16px;
    width: 180px;
    border-radius: 24px;
    box-shadow: 0px 10px 10px -6px rgba(0, 0, 0, 0.3);
    font-weight: bold;
    cursor: pointer;
}

button.more::after {
    content: "続きを見る";
    transition: .2s;
    -erbkit-transition: .2s;
}

button.more.on-click::after {
    content: "閉じる";
}

._btn p.btn_caution {
    font-size: small;
}

/* 特商法部分追記 */
/* フッター */
.cl {
    background: #333333;
    color: #FFF;
    padding: 1% 0;
  }
  
  .kiyaku_all {
    padding: 20px 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 400px;
    margin: 0 auto;
  }
  
  .kiyaku a{
    color: #fff;
    font-size: 10px;
    margin: 0 30px;
  }
  
  ul, li {
    padding: 0px;
    margin: 0px;
    list-style: none;
  }
  
  .lightbox {
    display: none;
  }

  #ranking .maincontent {
    width: 100%;
}

/*ranking*/
#ranking .maincontent{ width: 100%;}
#ranking .ranking_box{ margin: 10px 0px 50px; padding: 10px; border: 10px solid #191919;}

#ranking .ranking_box .tit{ background: #191919; color: #fff; padding: 10px;}
#ranking .ranking_box .tit dl{ display: flex; align-items: center; justify-content: space-between; width: 100%;}
#ranking .ranking_box .tit dl dt h3{ display: flex; align-items: center;}
#ranking .ranking_box .tit dl dt h3 span.rank{ background: url("../images/rank_ico.png") center center no-repeat; background-size: 100%; width: 60px; height: 45px; display: flex; align-items: center; justify-content: center; font-size: 1rem; letter-spacing: 0; line-height: 1em; padding-top: 0.75em; color: #191919; margin-right: 0.5em;}
#ranking .ranking_box .tit dl dt h3 strong{ font-size: 1.1rem;}
#ranking .ranking_box .tit dl dd{ text-align: center;}
#ranking .ranking_box .tit dl dd h4{ line-height: 1em;}
#ranking .ranking_box .tit dl dd h4 span{ font-size: 75%;}
#ranking .ranking_box .tit dl dd .star{ color: #faf078; font-size: 1.25rem; line-height: 1em;}

#ranking .ranking_box .cat{ margin: 15px auto;}
#ranking .ranking_box .cat ul{ display: flex; align-items: center; justify-content: center;}
#ranking .ranking_box .cat ul li{ background: #fa9632; color: #fff; font-size: 1rem; font-weight: bold; line-height: 1em; padding: 0.5em; margin: 0 0.25em;}

#ranking .ranking_box figure.img{ margin: 0px;}
#ranking .ranking_box figure.img img{ width: 100%;}

#ranking .ranking_box .point{ margin: 40px 0px 30px;}
#ranking .ranking_box .point dl dt{ background: #c83232; color: #fff; text-align: center; font-size: 1.25rem; line-height: 1.25em; letter-spacing: 0.1em; padding: 0.5em;}
#ranking .ranking_box .point dl dd{ border: 8px solid #c83232; border-top: none; padding: 1em;}
#ranking .ranking_box .point dl dd ul li{ padding: 0.5em 0.5em 0.5em 1.75em; border-bottom: 2px dotted #191919; font-size: 1em; font-weight: bold; letter-spacing: 0.1em; line-height: 1.25em; position: relative;}
#ranking .ranking_box .point dl dd ul li:first-child{ border-top: 2px dotted #191919}
#ranking .ranking_box .point dl dd ul li i{ position: absolute; left: 0.5em; top: 0.5em; color: #c83232;}

#ranking .ranking_box .review{ margin: 30px 0px;}
#ranking .ranking_box .review h3{ text-align: center; font-size: 1.25rem; letter-spacing: 0.1em; padding: 0.5em; margin-bottom: 0; background: #B39C74; color: #fff;}
#ranking .ranking_box .review dl{ border: 8px solid #B39C74; border-top: none; padding: 20px; margin: 0 auto; font-weight: bold;}
#ranking .ranking_box .review dl dt{ display: flex; align-items: center; border-bottom: 4px solid #329632; padding-bottom: 10px; margin-bottom: 20px;}
#ranking .ranking_box .review dl dt figure{ width: 30px; margin: 0;}
#ranking .ranking_box .review dl dt p{ line-height: 1em; font-size: 1rem; margin-left: 20px;}

#ranking .ranking_box .btn{ text-align: center; margin: 0px auto 0;}
#ranking .ranking_box .btn h4{ font-size: 1.25rem; color: #329632;}
#ranking .ranking_box .btn h4 i{ color: #329632; margin: 0 0.25em;}
#ranking .ranking_box .btn a{ display: flex; align-items: center; justify-content: center; margin: 5px 10px 20px auto; width: 100%; border-radius: 0; color: #fff; font-size: 1.5rem; letter-spacing: 0.1em; position: relative; z-index: 1;}
#ranking .ranking_box .btn a:after{ content: ""; width: 100%; height: 50%; background: rgba(0,0,0,0.05); position: absolute; left: 0; bottom: 0;}
#ranking .ranking_box .btn a i{ position: absolute; right: 10px; top: 50%; transform: translateY(-50%);}

/*color*/
#ranking .ranking_box.rank01{ border-color: #c83232; border-color: #BD9412;}
#ranking .ranking_box.rank01 .tit{ background: #c83232; background: #BD9412;}
#ranking .ranking_box.rank01 .tit dl dt h3 span.rank{ color: #c83232; color: #BD9412;}
#ranking .ranking_box.rank01 .tit dl dd .star{ color: #FFFF00;}

#ranking .ranking_box.rank02{ border-color: #c83232; border-color: #adadad;}
#ranking .ranking_box.rank02 .tit{ background: #c83232; background: #adadad;}
#ranking .ranking_box.rank02 .tit dl dt h3 span.rank{ color: #c83232; color: #adadad;}
#ranking .ranking_box.rank02 .tit dl dd .star{ color: #c83232;}

#ranking .ranking_box.rank03{ border-color: #c83232; border-color: #a49a76;}
#ranking .ranking_box.rank03 .tit{ background: #c83232; background: #a49a76;}
#ranking .ranking_box.rank03 .tit dl dt h3 span.rank{ color: #c83232; color: #a49a76;}
#ranking .ranking_box.rank03 .tit dl dd .star{ color: #c83232;}

h4{
    text-align: center;
    color: #6b6b6b;
}

#ranking .ranking_box .point dl dd ul li i{
    position: absolute;left: 0.5em;top: 1.0em;color: #c83232;
    font-weight: bold;
}

.fa-classic,.fa-regular,.fa-solid,.far,.fas {
    font-family: "Font Awesome 6 Free";
}

.fa-brands,.fab {
    font-family: "Font Awesome 6 Brands";
}

.fa-check:before {
    content: "\2713";
}

/* 矢印 */
.cp_arrows *, .cp_arrows *:before, .cp_arrows *:after {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.cp_arrows {
	position: relative;
	display: flex;
	height: 50px;/*ç”»é¢ã„ã£ã±ã„ã«ã™ã‚‹å ´åˆ100vh*/
	margin: 2em auto;
	justify-content: center;
	align-items: center;
}
.cp_arrows .cp_arrow {
	position: absolute;
	top: 50%;/*ç€åœ°ç‚¹ï¼ˆã‚µãƒ³ãƒ—ãƒ«ã¯[class:cp_arrows]height300pxã®50%ï¼‰*/
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	-webkit-transform-origin: 50% 50%;
	        transform-origin: 50% 50%;
	opacity: 0;
}
.cp_arrows .cp_arrowfirst {
	-webkit-animation: arrow-move08 2s ease-in-out infinite;
	        animation: arrow-move08 2s ease-in-out infinite;
}
.cp_arrows .cp_arrowsecond {
	-webkit-animation: arrow-move08 2s 1s ease-in-out infinite;
	        animation: arrow-move08 2s 1s ease-in-out infinite;
}
.cp_arrows .cp_arrow:before, .cp_arrows .cp_arrow:after {
	position: absolute;
	top: 0;
	left: -15px;
	display: block;
	width: 30px;
	height: 3px;
	content: '';
	background: #E91E63;
}
.cp_arrows .cp_arrow:before {
	-webkit-transform: rotate(30deg) translateX(-39%);
	        transform: rotate(30deg) translateX(-39%);
	-webkit-transform-origin: top left;
	        transform-origin: top left;
}
.cp_arrows .cp_arrow:after {
	-webkit-transform: rotate(-30deg) translateX(39%);
	        transform: rotate(-30deg) translateX(39%);
	-webkit-transform-origin: top right;
	        transform-origin: top right;
}
@-webkit-keyframes arrow-move08 {
	0% {
		top: 40%;/*ã‚¹ã‚¿ãƒ¼ãƒˆåœ°ç‚¹ï¼ˆã‚µãƒ³ãƒ—ãƒ«ã¯[class:cp_arrows]height300pxã®35%ï¼‰*/
		opacity: 0;
	}
	70% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes arrow-move08 {
	0% {
		top: 10%;/*ã‚¹ã‚¿ãƒ¼ãƒˆåœ°ç‚¹ï¼ˆã‚µãƒ³ãƒ—ãƒ«ã¯[class:cp_arrows]height300pxã®35%ï¼‰*/
		opacity: 0;
	}
	70% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}



