@charset "utf-8";
html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
}
body {
    margin: 0;
    word-wrap: break-word;
    /*background-color: #FFFCF3;*/
    font-family: 'Noto Sans JP', sans-serif;
}
article, footer, header, main, section {
    display: block;
}
a {
    text-decoration: none;
}
.sp_none{
    display: block;
}
.pc_none{
    display: none;
}
sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}
sup {
    top: -.5em;
}
sub {
    bottom: -.25em;
}
img {
    border: 0;
}
svg:not(:root) {
    overflow: hidden;
}
table{
    /*border: solid 1px #555;*/
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    border-spacing: 0;
    text-align: center;
    font-size: 15px;
    margin: 0 auto 3em;
    background-color: #fff;
    line-height: 1.5rem;
}
table td {
    border: solid 1px #999;
    padding: 1rem;
    margin: 0;
}
.main table td img{
    width: 40%;
    display: block;
    margin: auto;
}
.main table td img.w50{
    width: 50%;
    margin-bottom: 0.5rem;
}
table td .nijumaru,
table td .maru,
table td .sankaku{
    font-size: 2em;
    display: block;
    margin: 0;
    padding: 0;
    font-weight: bold;
}
table td .nijumaru {
    color: #FF0000;
}
table td .maru {
    color: #FF00F5;
}
table td .sankaku {
    color: #0B61D5;
}
table td.can {
    text-align: left;
    vertical-align: top;
}
table td ul{
    display: flex;
    flex-wrap: wrap;
    margin: 0;
}
table td ul li {
    padding: 0;
    margin: 0 0 0.5em 1em;
    line-height: 1.3rem;
    width: calc(100% - 1em);
}
table td ul li::before{
    content: "・";
    margin-left: -1em;
}
ul{
    margin: 0 0 2em;
    padding: 0;
}
ul li{
    margin: 0 0 0.3em;
    list-style-type: none;
}
.font-red{
    color: #FF0000;
}

.main{
    width: 100%;
    max-width: 960px;
    margin: auto;
    background-color: #fff;
    font-size: 17px;
    line-height: 1.6rem;
    font-family: 'Noto Sans JP', sans-serif;
    box-shadow: 0px 5px 7px 0px rgba(0, 0, 0, 0.2);
}
/*.main img{
    width: 100%;
}*/
h1{
    margin: 0 auto;
    background-color: #FFFCF3;
    padding-bottom: 1em;
}
h1 img{
    width: 100%;
}
h2, h3{
    /*font-family: 'M PLUS 1p', sans-serif;*/
    margin: 0 0 1em;
    font-size: 1.5rem;
    font-weight: 500;
}
h2{
    border-left: solid 10px #FCB900;
    padding-left: 1em;
}
h2 span{
    color: #FCB900;
    font-size: 1rem;
    display: block;
    padding-bottom: 0.2rem;
}
p{
    margin: 0 0 1.5em;
    padding: 0;
}
.anno{
    text-align: right;
    font-size: 0.8em;
}
.mb0{
    margin-bottom: 0;
}
.mb1em{
    margin-bottom: 1em;
}
.mb2em{
    margin-bottom: 2em;
}
.mb3em{
    margin-bottom: 3em;
}
.column2{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}
a{
    transition: all .3s ease-in-out;
}

.sec01,
.sec02,
.sec03,
.sec04,
.sec05{
    width: 90%;
    padding: 0 5%;
    margin: 0 auto 2em;
}
.text-area,
.img-area{
    margin: 0 auto 3em;
    width: 100%;
}
.img-area .anno{
    margin: 0 auto;
    width: 90%;
}
.img-area img {
    width: 90%;
    margin: auto;
    display: block;
    border-radius: 12px;
}
.img-area-100 img {
    width: 100%;
    margin: auto;
    display: block;
}
.img-area .notes dl{
    width: 90%;
    margin: 0.5em auto 0;
}
.img-area .notes dl dd{
    width: calc(100% - 2.5em);
}


.text-area p:last-child{
    margin: 0;
}
.impact{
    color: #FF0000;
    font-weight: 500;
}
.notes{
    font-size: 0.9rem;
    margin: 0 auto 3em;
    justify-content: flex-end;
    display: flex;
    flex-wrap: wrap;
}
.notes p{
    margin: 0 0 0.5em;
    width: 100%;
    text-align: right;
}
.notes dl{
    display: flex;
    flex-wrap: wrap;
    width: 19em;
    margin: 0;
    line-height: 1.4em;
}
.notes dl dt{
    width: 2em;
    margin-right: 0.5em;
}
.notes dl dd{
    width: 16.5em;
    margin: 0 0 0.2em
}
.notes br{
    display: none;
}
.lieto_space .notes{
    margin: 0 auto 2em;
}
.lieto_space .notes dl{
    width: 100%;
}
.lieto_space .notes dl dd{
    width: calc(100% - 2.5em);
}


/**sec01**/
.sec01{
    background: url("../img/img-sec01-01.png") no-repeat top right 3%,
        url("../img/img-sec01_last.png") no-repeat bottom left;
    background-size: 15em, contain;
    background-color: #FFFCF3;
}
/*.sec01 .mv_space{
    width: 100%;
    background: url("../img/img-sec01-01.png") no-repeat right -10px top 0;
    background-size: 25%;
}*/
.sec01 .mv_space h2{
    margin: 0 0 1.5em;
}
.sec01 .img-area img{
    margin: 0;
}
.sec01 ul{
    width: 90%;
    margin: 0 0 1.5em 2rem;
    font-size: 1.2rem;
    font-weight: 500;
    display: flex;
    flex-wrap: wrap;
}
.sec01 ul li{
    width: 100%;
    margin: 0 0 clamp(0.938rem, 0.391rem + 2.19vw, 1.438rem);
    /*15-23*/
    font-size: clamp(1.125rem, 0.783rem + 1.37vw, 1.438rem);
    /*18-23*/
}
/*.sec01 ul li span{
    margin: 0 0.7rem 0 0;
    background: linear-gradient(transparent 77%, rgb(255 1 177 / 20%) 50%);
}*/
.marker {
  background:linear-gradient(transparent 77%, rgb(255 1 177 / 20%) 50%);
  display: inline;
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition:background-size 0.8s;
}
.marker.on {
  background-size: 100% 100%;
}
.sec01 ul li:last-child{
    margin-bottom: 0;
}
.sec01 .mv_catch{
    font-size: 1.2rem;
    line-height: 1.8rem;
    font-weight: 500;
    margin: 0 auto;
    width: 90%;
    padding-bottom: 2em;
    -moz-text-shadow: 0px 0px 4px rgba(255, 252, 243, 1);
-webkit-text-shadow: 0px 0px 4px rgba(255, 252, 243, 1);
-ms-text-shadow: 0px 0px 4px rgba(255, 252, 243, 1);
text-shadow: 0px 0px 4px rgba(255, 252, 243, 1);
}
.sec01 .mv_catch span{
    color: #FCB900;
    font-weight: 500;
    font-size: 1.3rem;
    line-height: 1.5em;
}
.feature-area{
    border: solid 2px #FCB900;
    border-radius: 1.3rem;
    background-color: #fff;
    padding: 5px;
    margin-bottom: 2em;
    width: calc(100% - 14px);
}
.feature-area .feature-inner{
    border: solid 1px #FCB900;
    border-radius: 16px;
    padding: 2em;
}
.feature-area .feature-inner h3{
    width: 14em;
    background-color: #FCB900;
    padding: 0.5em 0;
    font-size: 1.3rem;
    margin: 0 auto 2em;
    text-align: center;
    color: #fff;
    border-radius: 50px;
}
.feature-area .feature-inner dl{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
}
.feature-area .feature-inner dl dt{
    width: calc(60% - 7em);
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    padding: 0 2em 0 4em;
    margin: 0 0 2em;
}
.feature-area .feature-inner dl dt:nth-child(1){
    background: url("../img/img-sec01_no01.png") no-repeat left 0 top 0;
    background-size: 5em;
}
.feature-area .feature-inner dl dt:nth-child(3){
    background: url("../img/img-sec01_no02.png") no-repeat left 0 top 0;
    background-size: 5em;
    min-height: 4em;
}
.feature-area .feature-inner dl dt:nth-child(5){
    background: url("../img/img-sec01_no03.png") no-repeat left 0 top 0;
    background-size: 5em;
}
.feature-area .feature-inner dl dt p{
    margin: 0 0 0.5em;
    padding: 0;
    font-weight: 600;
    font-size: 1.2rem;
    color: #FCB900;
    line-height: 1.5rem;
    background-color: #fff;
}
.feature-area .feature-inner dl dd{
    width: 40%;
    margin: 0 0 2em;
}
.feature-area .feature-inner dl dd img{
    width: 100%;
    border-radius: 10px;
}
.feature-area .feature-inner dl dt:last-child,
.feature-area .feature-inner dl dd:last-child{
    padding: 0;
    margin: 0;
}
.sec01 .last-text{
    width: 75%;
    padding: 1em 0 5% 25%;
}
.sec01 .last-text p:last-child{
    padding-bottom: 3em;
}


/**sec02**/
.sec02{
    background: url("../img/img-sec02_last.png") no-repeat bottom left;
    background-size: contain;
    background-color: #FFF;
    margin: 0 auto;
}
.sec02 .last-text{
    width: 75%;
    padding: 0 0 7% 25%;
}
.sec02 .last-text p:last-child{
    padding-bottom: 3em;
}
.sec02 .hakai video{
    width: 100%;
}
.sec02 .hakai{
    width: 90%;
    max-width: 500px;
    margin: 0 auto 2em;
}
.sec02 h3{
    font-size: clamp(1.063rem, 0.858rem + 0.82vw, 1.25rem);
    /*17-20*/
    margin: 0 auto clamp(0.2rem, -0.018rem + 0.87vw, 0.4rem);
    /*02-04*/
    color: #e5577d;
    width: 90%;
}
.sec02 .w90{
    width: 90%;
    margin: 0 auto 1em;
}

/**sec03**/
.sec03{
    /*background-color: #FFFCF3;
    padding: 1em 5% 4em;
    margin: 0 auto;*/
    background: url("../img/img-sec03_last.png") no-repeat bottom right;
    background-size: contain;
    background-color: #FFFCF3;
    padding: 0 5% 23%;
}
.sec03 table td:nth-child(1) {
    width: 15%;
    background-color: #F4F4F4;
}
.main table tr.logo td:nth-child(n+2){
    font-size: 0.8rem;
}
.main table td img.logo{
    margin-bottom: 1rem;
    width: 80%;
}
.main table td p.btn{
    width: auto;
    margin: 0.5rem auto;
}
.main table td p.btn a{
    font-size: 0.9rem;
    width: 100%;
    display: block;
    text-align: center;
    color: #fff;
    background-color: #935F5F;
    line-height: 2rem;
    border-radius: 4px;
    text-decoration: none;
}
.main table td p.btn a::before{
    content: '';
  display: inline-block;
  width: 1rem;
  height: 1rem;
    margin-right: 0.5rem;
  background: url("../img/img_another-window_w.svg") no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.main table td p.btn a:hover{
    background-color: #238E20;
}


/**sec04**/
.sec04{
    background: url("../img/img-sec05_last.png") no-repeat bottom left;
    background-size: contain;
    background-color: #FFF;
    margin: 0 auto;
    padding: 0 5% 10%;
}

.rank {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-end;
    padding: 0 0 1.5em;
    border-bottom: double 3px #000;
    margin: 0 auto 1.5em;
}
.rank img {
    width: auto;
    height: 2em;
    margin: 0 0 -0.5em;
}
.explan h3{
    font-size: clamp(1.688rem, 1.134rem + 1.15vw, 2rem);
    /*27-32*/
    font-weight: 500;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: flex-end;
}
.explan h3  span{
    color: #Fff;
    display: block;
    width: 4em;
    text-align: center;
    font-size: 0.6em;
    line-height: 1.6rem;
    border-radius: 3px;
    margin: 0 0 0.5em;
    font-family: 'Shippori Antique B1', sans-serif;
}
.explan h3 img{
    width: 2.5em;
    height: auto;
    margin: 0 0.5em -0.3em 0;
    padding: 0;
}
/*.explan h3{
    font-size: 1.6em;
    font-weight: 500;
    margin: 0 0 0.5em;
    border-bottom: double 3px #000;
    padding: 0 0 0.5em;
}
.explan .rank1 h3{
    content: "";
    background: url("../img/img-sec03_crown01.svg")no-repeat right;
    background-size: 2.5em;
}
.explan .rank2 h3{
    content: "";
    background: url("../img/img-sec03_crown02.svg")no-repeat right;
    background-size: 2.5em;
}
.explan .rank3 h3{
    content: "";
    background: url("../img/img-sec03_crown03.svg")no-repeat right;
    background-size: 2.5em;
}
.explan h3  span{
    color: #Fff;
    display: block;
    width: 4em;
    text-align: center;
    font-size: 0.6em;
    line-height: 1.6rem;
    border-radius: 3px;
    margin: 0 0 0.5em;
    font-family: 'Shippori Antique B1', sans-serif;
}
.explan h3 span.no01{
    background-color: #CCC155;
}
.explan h3 span.no02{
    background-color: #A7A9A8;
}
.explan h3 span.no03{
    background-color: #AB8546;
}
.explan h3 img{
    width: 3em;
}
*/
.explan h5{
    font-size: 1.2em;
    font-weight: 500;
    margin: 0 0 1em;
    border-bottom: double 3px #f79e3f;
    padding: 0 0 0.5em;
}
.explan h5 span{
    font-size: 0.8em;
    display: block;
    width: 100%;
    color: #f79e3f;
    margin-bottom: 0.2rem;
}
.intro{
    display: flex;
    flex-wrap: nowrap;
    margin: 0 auto;
    background-color: #fff;
    padding: 0 0 2em;
}

/*.intro img{
    width: 40%;
    height: 100%;
}*/
.intro .strength{
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    width: calc(60% - 2em);
    margin: 0 0 1em 2em;
}
.intro .strength h4{
    margin: 0 0 1em;
    width: 100%;
    text-align: center;
}
.intro .strength h4 img{
    max-width: 300px;
    height: auto;
    display: block;
    margin: auto;
}
.intro .strength h4 img:first-child{
    display: none;
}
.intro.lieto_space{
    display: flex;
    flex-wrap: wrap;
    padding: 0;
}
.intro.lieto_space .lieto_img{
    width: 100%;
}
.intro.lieto_space .lieto_img img{
    width: 100%;
    height: auto;
}
.intro .strength p{
    width: 100%;
    margin: 0;
}
.sec04 table.table01.lieto{
    margin: 0 auto 1em;
}
.sec04 table.table01 tr:nth-child(1),
.sec04 table.table01 tr:nth-child(3){
    background-color: #F4F4F4;
}
.sec04 table.table01 tr:nth-child(2),
.sec04 table.table01 tr:nth-child(4){
    text-align: left;
    vertical-align: top;
}
.sec04 table.table01 td p{
    /*display: block;
    width: 100%;*/
    font-size: 0.8rem;
    line-height: 1.5em;
    margin: 0.5em 0 0;
}

.sec04 .img-area.list{
    background-color: #fff;
    width: calc(100% - 2em);
}
.sec04 .img-area.list.device{
    margin: 0 auto 3em;
}
.sec04 .img-area.list ul{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-around;
    margin: 0;
}
.sec04 .img-area.list.device ul li{
    padding: 1em;
    width: calc(100% / 3 - 2px);
    text-align: center;
}
.sec04 .img-area.list.drug ul li{
    padding: 1em;
    width: calc(100% / 4 - 3px);
    text-align: center;
}
.sec04 .img-area.list ul li+li{
    border-left: solid 1px #ccc;
}
.sec04 .img-area.list ul li img{
    width: 90%;
    min-width: 150px;
    display: block;
    margin: 0 auto 0.5rem;
}
.sec04 ul.img-area-100{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.sec04 ul.img-area-100 li{
    width: 100%;
}
.sec04 ul.img-area-100 li:nth-child(1),
.sec04 ul.img-area-100 li:nth-child(2){
    width: 50%;
}
.sec04 ul.img-area-100 li:nth-child(3),
.sec04 ul.img-area-100 li:nth-child(4),
.sec04 ul.img-area-100 li:nth-child(5){
    width: calc(100% / 3);
}
.sec04 ul.img-area-100 li img{
    width: 100%;
}

/*.sec04 .column2 p{
    width: calc(60% - 2em);
    margin: 0 2em 0 0;
}
.sec04 .column2 .img-area{
    width: 40%;
}*/
.slick-slide img {
    display: block;
    margin: 0 1em;
    width: calc(100% - 2em);
}
.slide-arrow {
  bottom: 0;
  cursor: pointer;
  margin: auto;
  position: absolute;
  top: 0;
  width: 2.5rem;
  z-index: 100;  
}
.prev-arrow {
  left: 0%;
    /*left: 1%;*/
}
.next-arrow {
  right: 0%;
    /*right: 1%;*/
}
/*.osusume img.prev-arrow,
.osusume img.next-arrow{
    filter: drop-shadow(1px 1px 2px #999);
}*/
.osusume .slider .slider-img p {
    margin: 0 0 1em 1em;
    font-weight: 500;
    font-size: 1.1rem;
}
.osusume .slider .slider-img p br{
    display: none;
}
.osusume .slider .slider-img p span {
    display: block;
    width: 8.5rem;
    font-size: 0.8rem;
    background-color: #f79e3f;
    color: #fff;
    text-align: center;
    line-height: 1.5rem;
    border-radius: 3px;
    margin-bottom: 0.3rem;
}
.osusume .slick-dotted.slick-slider {
    margin-bottom: 5rem;
}

.point{
     width: calc(100% - 2em - 8px);
    margin: 0 auto 3em;
    padding: 0.5em 1em 0;
    border-radius: 19px;
    display: flex;
    flex-wrap: wrap;
    box-shadow: 2px 2px 0px 2px #f79e3f;
    border: solid 2px #f79e3f;
    background: url("../img/img-point_02.png") no-repeat right 0 bottom -1em;
    background-size: 23%;
    background-color: #fff;
}
.point .point-title{
    width: 100%;
    margin: 0;
    padding: 0.3rem 1em;
    font-size: 1.1rem;
    color: #f79e3f;
    border-bottom: double 3px #f79e3f;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    font-family: 'M PLUS 1p', sans-serif;
    font-weight: 500;
}
.point .point-title::before{
    content: '';
  display: inline-block;
  width: 50px;
  height: 50px;
  background: url("../img/img-point_01.svg") no-repeat left center;
  background-size: contain;
  vertical-align: middle;
    padding-right: 1em;
}
.point ul{
    width: 100%;
    margin: 0;
    padding: 1em 1em 3em 2em;
    /*background: url(/img/img-point_02.png) no-repeat right bottom -1em;
    background-size: contain;*/
}
.point ul.mb5em{
    padding: 1em 1em 5em 2em;
}
.point ul li{
    padding: 0;
    margin: 0 0 0.5em;
    width: 85%;
    line-height: 1.3rem;
}
.point ul li::before{
    content: "・";
    margin-left: -1em;
}

.campaign{
    width: 19em;
    text-align: center;
    font-size: 1.5em;
    color: #FCB900;
    font-weight: 700;
    position: relative;
    margin: auto;
    line-height: 1.8rem;
}
.campaign p::before{
    content: "＼";
    position: absolute;
    top: 0;
    left: 0;
}
.campaign p::after{
    content: "／";
    position: absolute;
    top: 0;
    right: 0;
}
.camp_btn{
    text-align: center;
    padding: 0 0 2em;
}
.camp_btn img{
    width: 80%;
}
.yoyaku{
    width: 80%;
    margin: 0 auto 4em;
}
.yoyaku a{
    width: calc(100% - 2em);
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    padding: 1em;
    color: #fff;
    font-family: 'M PLUS 1p', sans-serif;
    font-weight: 500;
    background-color: #FCB900;
    border-radius: 10px;
    text-decoration: none;
    transition: all .3s ease-in-out;
    box-shadow: 0px 4px 0px 0px #f79e3f;
    font-size: 1.25rem;
}
.yoyaku a:hover{
    background-color: #f79e3f;
    box-shadow: 0px 4px 0px 0px #C15308;
}
.yoyaku a::after{
    content: "";
    background: url("../img/img_another-window_w.svg") no-repeat;
    display: inline-block;
    width: 1em;
    height: 1em;
    background-size: contain;
    vertical-align: middle;
    margin-left: 0.5em;
}

.kuchikomi{
    width: calc(90% - 4em);
    margin: 0 auto 2em;
    padding: 2em 2em 1em;
    border: double 3px #D0B771;
    border-radius: 10px;
    font-size: 0.9em;
}
.kuchikomi p{
    margin: 0 auto 0.5em;
    width: 97%;
}
/*.sec05 .kuchikomi.last{
     border-bottom: double 3px #D0B771;
}*/
.kuchikomi h4{
    font-size: 1.2rem;
    margin: 0 0 1em;
    padding: 0 0 0.5rem 1.5em; 
    border-bottom: solid 1.5px #D0B771;
    font-weight: 400;
}
.kuchikomi h4::before{
    content: '●';
    color: #D0B771;
    margin-left: -1.5em;
    padding-right: 0.5em;
}
.kuchikomi .column2{
    margin: 0 0 1em;
}

.kuchikomi .column2 ul.result{
    width: 30%;
    margin: 0 1em 0 0;
}
.kuchikomi .column2 ul.result li:nth-child(1){
    background-color: #D0B771;
    color: #fff;
    text-align: center;
    padding: 0.5em 0;
    width: 100%;
    border-radius: 5px;
}
.kuchikomi .column2 ul.result li:nth-child(1) span{
    font-size: 1.2rem;
    /*font-weight: 500;
    display: block;*/
}
.kuchikomi .column2 ul.result li dl{
    display: flex;
    flex-wrap: nowrap;
    font-size: 1.1rem;
}
.kuchikomi .column2 ul.result li dl dt{
    text-align: center;
    width: 4em;
}
.kuchikomi .column2 ul.result li dl dd{
    text-align: left;
    margin: 0;
} 
.kuchikomi .img-area{
    margin: 0 0 0.5em;
    /*width: 65%;*/
}
.kuchikomi .img-area img{
    border-radius: 0;
    width: 100%;
}

table.table02{
    table-layout: auto;
}
table.table02 tr:nth-child(1) td:nth-child(1){
    background-color: #E5E5E5;
    width: calc(100% - 2px);
}
table.table02 tr:nth-child(n+2) td:nth-child(1){
    background-color: #F4F4F4;
    width: 7rem;
}
table.table02 tr:nth-child(n+2) td:nth-child(2){
    text-align: left;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
table.table02 tr:nth-child(n+2) td:nth-child(2) p{
    padding: 0;
    margin: 0 0 0 5%;
}
table.table02 tr:nth-child(n+2) td:nth-child(2) img.summary{
    max-width: 50%;
    margin: 0;
}
table.table02 tr:nth-child(n+2) td:nth-child(2) span{
    font-size: 0.8rem;
    display: block;
}
table.table02 tr:nth-child(n+2) td:nth-child(2) span.impact{
    font-size: 1rem;
}

.can-space{
    margin: 0 -5.5% 3em;
    padding: 3em 0;
    /*background-color: rgb(255, 245, 220);*/
    width: 111%;
    background-size: auto auto;
    background-color: rgba(255, 237, 192, 1);
    background-image: repeating-linear-gradient(123deg, transparent, transparent 15px, rgba(255, 245, 220, 1) 15px, rgba(255, 245, 220, 1) 29px );
}
.can-space .inner{
    width: 80%;
    margin: auto;
    position: relative;
}
.can-space .inner img.can-text{
    width: 25%;
    position: absolute;
    top: -5%;
    left: -6%;
}
.can-space .inner img.can_img{
    width: 22%;
    position: absolute;
    bottom: -3em;
    right: -12%;
}
.can-space .inner .can-area{
    width: calc(100% - 4em);
    display: flex;
    /*justify-content: space-between;*/
    flex-wrap: nowrap;
    padding: 2em 2em 1.5em;
    border-radius: 8px;
    background-color: #fff;
    border: solid 2px #f79e3f;
}
.can-space .inner .can-area .text-area{
    width: 65%;
    margin: 0;
}
.can-space .inner .can-area img{
    width: 27%;
    margin: 0 5% 0 0;
    height: 100%;
}

.can-space .inner .can-area.column2{
    flex-wrap: wrap;
}
.can-space .inner .can-area.column2 ul.addition{
    width: calc(100% - 2em);
    margin: 2em auto 0;
    font-family: 'Noto Sans JP', sans-serif;
    border: solid 1px #999;
    padding: 0 0 0.5em;
    border-radius: 10px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.can-space .inner .can-area.column2 ul.addition li{
    width: calc(35% - 1em);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    text-align: center;
}
.can-space .inner .can-area.column2 ul.addition li p{
    color: #000;
    margin: 0 0 0.5em;
    font-size: 15px;
    line-height: 1.5em;
}
.can-space .inner .can-area.column2 ul.addition li:first-child{
        width: 100%;
    text-align: center;
    color: #fff;
    font-weight: 500;
    background-color: #FF1459;
    border-radius: 10px 10px 0 0;
    margin: 0 0 1em;
    padding: 0.2em 0;
}
/*.can-space .inner .can-area.column2 ul.addition li:first-child span{
    background-color: #FF1459;
    color: #FFFFFF;
    border-radius: 20px;
    padding: 0.3em 1em;
}*/
.can-space .inner .can-area.column2 ul.addition li:nth-child(2n){
    background-color: #fff;
}
.can-space .inner .can-area.column2 ul.addition li:nth-child(3){
    width: 2em;
    font-size: 2em;
    color: #999;
    font-weight: normal;
}
.can-space .inner .can-area.column2 ul.addition li:nth-child(3) span{
    background: #FF1459;
    border-radius: 64px;
    color: #fff;
    padding: 2px 7px 6px;
}
.can-space .inner .can-area.column2 ul.addition li img{
    width: 100%;
    margin: 0;
    height: auto;
}
.can-space .inner .can-area.column2 ul.addition li:last-child{
    width: 90%;
    text-align: center;
    margin: 0.5em auto 0;
}
.can-space .inner .can-area.column2 ul.addition li:last-child br{
    display: none;
}

.tenpo{
    border: solid 1px #000;
    border-radius: 8px;
    width: 90%;
    margin: 0 auto 6em;
    padding: 0 0 1.5em;
    background-color: #fff;
}
.tenpo p{
    text-align: center;
    color: #fff;
    background-color: #935F5F;
    border-radius: 8px 8px 0 0;
    line-height: 2rem;
    width: calc(100% - 2em);
    padding: 0 1em;
    margin: 0 0 1em;
}
.tenpo dl{
    display: flex;
    flex-wrap: nowrap;
    padding: 0 0 1em;
    border-bottom: dashed 1px #ccc;
    margin: 0 1em 1.5em;
}
/*.tenpo dl:nth-child(3){
    padding: 0;
    border-bottom: none;
}*/
.tenpo dl dt{
    width: 25%;
    margin-right: 1em;
}
.tenpo dl dt img{
    width: 100%;
}
.tenpo dl dd{
    margin: 0;
    line-height: 1.5rem;
}
.tenpo dl dd h5{
    font-size: 1rem;
    font-weight: 500;
    margin: 0 0 0.5rem;
    display: block;
    border: none;
    padding: 0;
}
.tenpo dl dd p{
    text-align: left;
    color: #000;
    background-color: #fff;
    border-radius: 0;
    line-height: 1.5rem;
    width: auto;
    padding: 0;
    margin: 0.5rem 0 0;
    font-size: 0.9rem;
}
.tenpo .linkbtn{
    width: 50%;
    min-width: 14em;
    margin: auto;
    font-size: 0.9rem;
}
.tenpo .linkbtn a{
    width: 100%;
    display: block;
    text-align: center;
    color: #fff;
    background-color: #935F5F;
    line-height: 2rem;
    border-radius: 4px;
    text-decoration: none;
}
.tenpo .linkbtn a::before{
    content: '';
  display: inline-block;
  width: 1rem;
  height: 1rem;
    margin-right: 0.5rem;
  background: url("../img/img_another-window_w.svg") no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.tenpo .linkbtn a:hover{
    background-color: #238E20;
}
.star{
    width: 100%;
    margin: 0 0 1em;
}
.star img{
    width: 20%;
    min-width: 110px;
}
/**sec04**/


/**sec05**/
.sec05{
    background: url("../img/img-sec01_last.png") no-repeat bottom left;
    background-size: contain;
    background-color: #FFFCF3;
}
.sec05 .flow{
    width: 90%;
    margin: 0 auto 2em;
}
.sec05 .flow .inner{
    width: calc(100% - 3em);
    min-height: 11rem;
    padding: 1em;
    border-radius: 10px;
    box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.5);
    margin-bottom: 2em;
    position: relative;
}
.sec05 .flow .inner::after{
    content: "";
    background: url("../img/img_sec05_arrow.svg")no-repeat;
    display: block;
    width: 10%;
    height: 1em;
    background-size: contain;
    position: absolute;
    bottom: -2em;
    left: 50%;
    transform: translate(-50%, -50%);
}
.sec05 .flow .inner:nth-child(5)::after{
    content: "";
    background: none;
}
.sec05 .flow .inner:nth-child(1){
    background: url("../img/img-sec05_01.png") no-repeat center right 0;
    background-size: contain;
    background-color: #fff;
}
.sec05 .flow .inner:nth-child(2){
    background: url("../img/img-sec05_02.png") no-repeat center right 0;
    background-size: contain;
    background-color: #fff;
}
.sec05 .flow .inner:nth-child(3){
    background: url("../img/img-sec05_03.png") no-repeat center right 0;
    background-size: contain;
    background-color: #fff;
}
.sec05 .flow .inner:nth-child(4){
    background: url("../img/img-sec05_04.png") no-repeat center right 0;
    background-size: contain;
    background-color: #fff;
}
.sec05 .flow .inner:nth-child(5){
    background: url("../img/img-sec05_05.png") no-repeat center right 0;
    background-size: contain;
    background-color: #fff;
}
.sec05 .flow .inner h3{
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.2rem;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    border-bottom: solid 1px #FCB900;
    padding: 0 0 0.3rem;
    margin: 0 0 1rem;
    width: 70%;
    font-weight: 500;
}
.sec05 .flow .inner h3 span{
    font-family: 'Zen Maru Gothic', sans-serif;
    font-size: 1.8rem;
    color: #FCB900;
    margin: -0.3rem 1rem 0 0;
}
.sec05 .flow .inner p{
    width: 70%;
}
.sec05 .last-text {
    width: 75%;
    padding: 0 0 5em 25%;
}
.point-area{
     padding: 0 5%;
}
/*.point-area .point ul.text_ver li{
     width: 85%;
}*/
.point ul.text_ver li::before {
    content: "";
    margin-left: 0;
}
/**sec05**/

/**sec06**/
.sec06 {
    padding: 1em 5% 4em;
    margin: 0 auto;
}
.sec06 table td:nth-child(1) {
    width: 15%;
    background-color: #F4F4F4;
}

@media screen and (max-width: 920px) {
}

@media screen and (max-width: 767px) {
.main{
    font-size: 15px;
    line-height: 1.3rem;
}
.sp_none{
    display: none;
}
.pc_none{
    display: block;
}
h2, h3 {
    font-size: 1.3rem;
    line-height: 1.5rem;
}
h2 {
    border-left: solid 7px #FCB900;
}
.overflow-x{
    display: block;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    background-color: #fff;
    margin: 0 auto 1em;
}
.overflow-x table{
    margin: 0 auto;
}
table tbody {
  /*width: 100%;*/
  display:table;
}
.sec01 .mv_catch {
    /*margin: 0 auto 0 0;
    width: 100%;*/
    font-size: 1.1rem;
}
.sec01 .mv_catch .pc_none {
    display: none;
}
/*.sec01 .mv_space {
    background: url(/img/img-sec01-01.png) no-repeat right 0 bottom 0;
    background-size: contain;
}*/
/*.sec01 ul li {
    margin-bottom: 0;
}*/
.sec01 ul {
    font-size: 1.1rem;
}
.sec02 h3,
.sec02 .w90{
    width: 100%;
}

.feature-area .feature-inner {
    padding: 1.5em 1em;
}
.feature-area .feature-inner h3 {
    font-size: 1.1rem;
}
.feature-area .feature-inner dl dt:nth-child(1),
.feature-area .feature-inner dl dt:nth-child(3),
.feature-area .feature-inner dl dt:nth-child(5) {
    background-size: 3.5em;
}
.feature-area .feature-inner dl dt {
    width: calc(100% - 2.5em);
    padding: 0 0 0 2.5em;
    margin: 0 0 1em;
    line-height: 1.3rem;
}
.feature-area .feature-inner dl dt p {
    font-size: 1.1rem;
    line-height: 1.3rem;
    width: 100%;
}
.feature-area .feature-inner dl dd {
    width: 100%;
}
.img-area img {
    width: 100%;
}
.img-area .notes dl{
    width: 100%;
}
.main .sec03 table tr:nth-child(1) td img,
.main .sec06 table tr:nth-child(1) td img{
    width: 4em;
}
.main table td img.logo {
    width: 9em;
}
.notes br{
    display: block;
}
.sec04 .img-area.list {
    width: 100%;
}
.sec04 .img-area.list ul {
        flex-wrap: wrap;
    justify-content: flex-start;
}
.sec04 .img-area.list.device ul li,
.sec04 .img-area.list.drug ul li{
    padding: 0 1em 1em;
    width: calc(100% / 2 - 2em);
    margin: 0;
}
.sec04 .img-area.list ul li img {
    width: 100%;
    min-width: auto;
}
.sec04 .img-area.list ul li+li {
    border-left: none;
}
.sec04 .img-area.list.device {
    margin: 0 auto 1em;
}
    
.rank {
    padding: 0 0 0.5em;
    margin: 0 auto 0.9em;
}
.rank img {
    width: auto;
    height: 1rem;
    margin: 0;
}
.explan h3 img {
    margin: 0 0.5em 0.1em 0;
}
.explan h3 {
    font-size: clamp(1.125rem, 0.705rem + 1.92vw, 1.625rem);
    /*18-26*/
    align-items: center;
}
/*.explan h3 img {
    width: 3em;
}
.explan h3 {
    font-size: 1.4em;
}*/   

.point{
    background-size: 30%;
    background-color: #fff;
}
.point ul li {
    margin: 0 0 0.4em;
    line-height: 1.3rem;
    width: 80%;
}
.intro {
    padding: 0 0 2em;
}
.intro img {
    width: 30%;
}
.intro .strength {
    width: 100%;
    margin: 0;
}
.intro .strength h4 {
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}
.intro .strength h4 img:first-child {
    display: block;
}
.intro .strength h4 img:nth-child(1) {
    width: 30%;
    max-height: inherit;
}
.intro .strength h4 img:nth-child(2) {
    width: 65%;
    max-height: 100%;
}
.point .point-title {
    padding: 0.3rem 0.5em;
}
.point .point-title::before {
    width: 40px;
    height: 40px;
}
.campaign {
    width: 15em;
}
.camp_btn img{
    width: 100%;
}
.yoyaku {
    width: 90%;
    margin: 0 auto 2em;
}
.yoyaku a {
    font-size: 1rem;
}
.kuchikomi .column2 {
    flex-wrap: wrap;
}
.kuchikomi .column2 ul.result {
    width: 100%;
    margin: 0;
}
.kuchikomi .img-area {
    margin: 0 0 1em;
    width: 100%;
}
.kuchikomi {
    width: calc(100% - 2em);
    margin: 0 auto 2em;
    padding: 1.5em 1em;
}
.kuchikomi h4 {
    font-size: 1rem;
    margin: 0 0 1.5em;
}
.kuchikomi .column2 ul.result li:nth-child(1) span {
    font-size: 1rem;
}
.kuchikomi .column2 ul.result li dl {
    justify-content: center;
    font-size: 1rem;
}
.can-space .inner {
    width: 90%;
}
.can-space .inner .can-area {
    width: calc(100% - 3em);
    flex-wrap: wrap;
    padding: 1.5em;
}
.can-space .inner .can-area img {
    width: 80%;
    margin: 0 auto;
    order: 1;
}
    
.can-space .inner .can-area.column2 ul.addition {
    order: 1;
    width: 100%;
}
.can-space .inner .can-area .text-area {
    width: 100%;
    margin: 0 auto 1.5em;
}
.can-space .inner img.can-text {
    width: 30%;
    top: -3%;
    left: -5%;
}
.can-space .inner img.can_img {
    width: 30%;
    bottom: -3em;
    right: -5%;
}
.can-space {
    margin: 0 -5.5% 2em;
}
.tenpo {
    width: 100%;
    margin: 0 auto 4em;
}
.tenpo dl dt {
    display: none;
}
.tenpo dl dd {
    line-height: 1.3rem;
    width: 100%;
}
    
table {
    font-size: 14px;
}
table.table02 {
    margin: 0 auto 2em;
}
table.table02 tr:nth-child(n+2) td:nth-child(2) {
    justify-content: center;
}
table.table02 tr:nth-child(n+2) td:nth-child(2) img.summary {
    max-width: 90%;
    width: 90%;
    margin: 0;
}
table.table02 tr:nth-child(n+2) td:nth-child(2) p {
    padding: 0;
    margin: 0;
    width: 90%;
    text-align: center;
}
table.table02 tr:nth-child(n+2) td:nth-child(2) span.impact{
    font-size: 0.9rem;
}
table td {
    padding: 0.5rem;
}
.explan h5 {
    font-size: 1.15em;
    line-height: 1.3em;
}
.explan h5 span {
    margin-bottom: 0;
}
.tenpo dl {
    margin: 0 1em 1em;
}
.tenpo dl dd p {
    line-height: 1.3rem;
}
.sec05 .flow {
    width: 100%;
}
.sec05 .flow .inner {
    width: calc(100% - 2em);
    padding: 1em;
}
.sec05 .flow .inner h3 {
    font-size: 1rem;
    width: 65%;
}
.sec05 .flow .inner h3 span {
    font-size: 1.5rem;
    font-weight: 500;
}
.sec05 .flow .inner p {
    width: 65%;
}
}
@media screen and (max-width: 599px) {
h2, h3 {
    font-size: 1.1rem;
}
.sec01,
.sec02,
.sec03,
.sec04{
    background-size: 120%;
}
.sec05{
    background-size: 118%;
}
.sec01 {
    background: url("../img/img-sec01-01sp.png") no-repeat top left 105%, url("../img/img-sec01_last.png") no-repeat bottom left;
    background-size: 15em, 120%;
    background-color: #FFFCF3;
}
.sec01 ul {
    font-size: 1rem;
    margin: 0 auto 1.5em;
}
.sec01 .mv_catch .pc_none {
    display: block;
}
/*.sec01 .bg_rgba {
    height: 100%;
    background: rgba(255, 252, 243, 0.8);
}*/
.sec01 .mv_catch {
    font-size: 1rem;
    line-height: 1.6rem;
}
/*.sec01 .mv_catch br{
    display: none;
}*/
.sec01 .last-text {
    width: 100%;
    padding: 0 0 6rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.sec01 .last-text p {
    width: 100%;
    margin: 0 0 1em;
}
.sec01 .last-text p:last-child {
    padding: 0;
    margin: 0;
    width: 75%;
}
.point {
    padding-bottom: 6em;
    background: url("../img/img-point_02.png") no-repeat center bottom -1em;
    background-size: 9em;
    background-color: #fff;
}
.point ul,
.point ul.mb5em{
    padding: 1em 0 2em 1em;
}
.point ul.text_ver {
    padding: 1em 0 2em;
}
.point ul li{
    width: 100%;
}
.osusume .slider .slider-img p {
    margin: 0 0 1em;
}
.osusume .slider .slider-img p br{
    display: block;
}
.slick-slide img {
    margin: 0;
    width: 100%;
}
.slide-arrow {
    display: none;
}
.sec05 .flow .inner:nth-child(1),
.sec05 .flow .inner:nth-child(2),
.sec05 .flow .inner:nth-child(3),
.sec05 .flow .inner:nth-child(4),
.sec05 .flow .inner:nth-child(5){
    background: none;
    min-height: auto;
    background-color: #fff;
    width: calc(100% - 3em);
    padding: 1.5em;
}
.sec05 .flow .inner h3 {
    width: 100%;
}
.sec05 .flow .inner p {
    width: 100%;
    margin: 0;
}
.sec05 .last-text {
    width: 100%;
    padding: 0 0 6rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.sec05 .last-text p {
    width: 100%;
    margin: 0 0 1em;
} 
.sec05 .last-text p:last-child {
    padding: 0;
    margin: 0;
    width: 78%;
}
.text-area, .img-area {
    margin: 0 auto 2em;
}
.img-area .anno{
    width: 100%;
}
.slide-arrow {
    width: 1.5rem;
}
.can-space .inner .can-area.column2 ul.addition li {
    width: 90%;
}
.can-space .inner .can-area.column2 ul.addition li:first-child {
    padding: 0.5em 0;
    font-size: 1.1em;
}
.can-space .inner .can-area.column2 ul.addition li:nth-child(2n) {
    margin: 0 auto 1em;
}
.can-space .inner .can-area.column2 ul.addition li img {
    width: 90%;
}
.can-space .inner .can-area.column2 ul.addition li:last-child br{
    display: block;
}
}
