@charset "UTF-8";
@charset "UTF-8";
*,:after,:before{box-sizing:border-box;border-style:solid;border-width:0}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{margin:0}main{display:block}h1,h2,h3,h4,h5,h6{line-height:inherit;margin:0}address,blockquote,dl,figure,form,iframe,ol,p,pre,table,ul{margin:0}ol,ul{padding:0;list-style:none}dt{font-weight:700}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border-top-width:1px;margin:0;clear:both;color:inherit}pre{font-family:monospace;font-size:inherit}address{font-style:inherit}a{background-color:transparent;text-decoration:none;color:inherit}abbr[title]{text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}embed,iframe,img,object{vertical-align:bottom}button,input,optgroup,select,textarea{-webkit-appearance:none;appearance:none;vertical-align:middle;color:inherit;font:inherit;background:transparent;padding:0;margin:0;outline:0;border-radius:0;text-align:inherit}[type=checkbox]{-webkit-appearance:checkbox;appearance:checkbox}[type=radio]{-webkit-appearance:radio;appearance:radio}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{cursor:pointer;-webkit-appearance:none;appearance:none}[type="button"][disabled],[type="reset"][disabled],[type="submit"][disabled],button[disabled]{cursor:default}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}select::-ms-expand{display:none}fieldset,option{padding:0}fieldset{margin:0;min-width:0}legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}label[for]{cursor:pointer}details{display:block}summary{display:list-item}[contenteditable]{outline:0}table{border-collapse:collapse;border-spacing:0}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:700}[hidden],template{display:none}

body{
	width: 100%;
	letter-spacing: 0.2em;
  line-height: 1.5;
  color: #0b2a3a;
}
body,strong, b{
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
}
b,span{display: inline-block;}
.inner{width: 90%;margin: auto;background: none!important;padding: 0!important;}
img{width: auto;height:100%;max-width: 100%;max-height: 100%;object-fit: contain;}
li{list-style: none;}
.sp{display: none;}
.tc{text-align: center;}
.tr{text-align: right;}
.tl,.modal-content{text-align: left;}
.h100{height: 100%;}
.wa{width: auto;}
.w100{width: 100%;}
.w50{width: 50%;}
.w49{width: 49%;}
.w48{width: 48.5%;}
.w33{width: 33.33%;}
.w32{width: 32%;}
.w30{width: 30%;}
.w24{width: 24%;}
.fl{float:  left;}
.fr{float:  right;}
.ma{margin: auto;}
.m0{margin: 0;}
.m2p_t{margin:2% auto 0;}
.m3p_t{margin:3% auto 0;}
.m5p_t{margin:5% auto 0;}
.m2p_b{margin:0 auto 2%;}
.m3p_b{margin:0 auto 3%;}
.m5p_b{margin:0 auto 5%;}
.m3p_y{margin: 3% auto;}
.m5p_y{margin: 5% auto;}
.m5p_x{margin: auto 5%;}
.p2p{padding: 2%;}
.p3p{padding: 3%;}
.p4p{padding: 4%;}
.p5p{padding: 5%;}
.p5p_t{padding: 5% 0 0;}
.p3p_b{padding: 0 0 3%;}
.p5p_b{padding: 0 0 5%;}
.p2p_y{padding: 2% 0;}
.p3p_y{padding: 3% 0;}
.p3p_t{padding-top: 3%;}
.p5p_y{padding: 5% 0;}
.p5p_x{padding: 0 5%;}
.p_r{position: relative;}
.p_c{position: absolute;transform: translateY(-50%) translateX(-50%);-webkit-transform: translateY(-50%) translateX(-50%);z-index: 0;}
.p_r{position: relative;}
.p_c{position: absolute;transform: translateY(-50%) translateX(-50%);-webkit-transform: translateY(-50%) translateX(-50%);z-index: 0;}
.p_y{position: absolute;transform: translateY(-50%);-webkit-transform: translateY(-50%);z-index: 0;}
.p_x{position: absolute;transform: translateX(-50%);-webkit-transform: translateX(-50%);z-index: 0;}
.p_c50,.p_y50{top: 50%;}
.p_c50,.p_x50{left: 50%;}
.flex{display: -webkit-box;display: -moz-box;display: -webkit-flex;display: -ms-flexbox;display: flex;}
.inflex{display: -webkit-inline-box;display: -moz-inline-box;display: -webkit-inline-flex;display: -ms-inline-flexbox;display: inline-flex;}
.flex_in{display: -webkit-box!important;display: -moz-box!important;display: -webkit-flex!important;display: -ms-flexbox!important;display: flex!important;}
.inflex_in{display: -webkit-inline-box!important;display: -moz-inline-box!important;display: -webkit-inline-flex!important;display: -ms-inline-flexbox!important;display: inline-flex!important;}
.flex_s{-webkit-justify-content: space-around;-ms-flex-pack: distribute;justify-content: space-around;}
.flex_ss{-webkit-justify-content: space-between;-ms-flex-pack: justify;justify-content: space-between;}
.flex_c{-webkit-justify-content: center;-ms-flex-pack: center;justify-content: center;}
.flex_cc{-webkit-align-items: center;-ms-flex-align: center;align-items: center;}
.flex_r{-webkit-flex-direction: row-reverse;-ms-flex-direction: row-reverse;flex-direction: row-reverse;}
.flex_b{-webkit-align-items: baseline;-ms-flex-align: baseline;align-items: baseline;}
.flex_w{-webkit-flex-wrap: wrap;-ms-flex-wrap: wrap;flex-wrap: wrap;}
.flex_ws{-webkit-flex-direction: column;-ms-flex-direction: column;flex-direction: column;-webkit-flex-wrap: wrap;-ms-flex-wrap: wrap;flex-wrap: wrap;-webkit-justify-content: space-around;-ms-flex-pack: distribute;justify-content: space-around;-webkit-align-items: stretch;-ms-flex-align: stretch;align-items: stretch;-webkit-align-content: space-around;-ms-flex-line-pack: distribute;align-content: space-around;}
.flex_e{-webkit-align-items: flex-end;-ms-flex-align: end;align-items: flex-end;}
.db{display: block;}
.di{display: inline-block;}
.ohd{overflow: hidden;}
.ob_con{object-fit: contain;}
.ob_cb{object-fit: cover;}
.container{width: 95%; max-width: 1200px; margin: auto;}


.text-overflow{overflow: hidden; height: 50px;}

.txt00{color: #fff;}
.txt01{color: #cc0000;}
.txt02{color: #fff3f2;}
.txt03{color: #e02828;}
.txt04{background-color: #0b2a3a;}


.bg00,header,footer{background-color: #fff;}
.bg01{background-color: #cc0000;}
.bg02{background-color: #fff3f2;}
.bg03{background-color: #e02828;}
.bg04{background-color: #0b2a3a;}
.bg05{background-color: #f7f8f9;}



.b01{border:4px solid #cc0000;}
.b02{border:4px solid #fff3f2;}
.b03{border:4px solid #e02828;}
.b04{border:2px solid #0b2a3a;}
/* .b05{border:2px solid #0b2a3a;} */

.bb01{border-bottom:4px solid #cc0000;}
.bb02{border-bottom:4px solid #fff3f2;}
.bb03{border-bottom:4px solid #e02828;}
.bb04{border-bottom:4px solid #0b2a3a;}
.bb05{border-bottom: 4px dotted #0b2a3a;}


.br01{border-radius: 10px;}
.br02{border-radius: 1000px;}


.btn{
    max-width: 500px;
    margin: auto;
    text-align: center;
    padding: 20px;
    border-radius: 1000px;
    position: relative;
}
.btn b{margin-right: 30px;}
.btn img{
    height: 40px;
    width: auto;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
}
.fv nav a img{margin-left: 5%;}
.btn01{
    filter: drop-shadow(0px 10px 0px rgba(11, 42, 58, .15));
    animation: loop_animation_right 1.3s linear infinite;
}
.btn02{
    padding: 5px;
    padding: 5px 20px;
    display: inline-block;
}
.btn02 img{height: 20px;}

@keyframes loop_animation_right {
    0% {
        transform: translateY(0);
        filter: drop-shadow(0px 10px 0px rgba(11, 42, 58, .15));
    }
    50% {
        transform: translateY(10px);
        filter: drop-shadow(0px 2px 0px rgba(11, 42, 58, .15));
    }
    100% {
        transform: translateY(0);
        filter: drop-shadow(0px 10px 0px rgba(11, 42, 58, .15));
    }
}



.f01,h3,h2{font-size: 28px;}
.f02{font-size: min(2vw,23px);}
.f03{font-size: 20px;}
.f04{font-size: 16px;}

.tr01{transform: rotate(90deg);}
.tr02{transform: rotate(180deg);}
.max01{max-width: 600px;}
.bg_asset01{
    height: 80px;
    border-top: solid 4px #0b2a3a;
    position: relative;
}
.bg_asset01::before,.bg_asset01::after{
    content: "";
    position: absolute;
    top: -4px;
    border-style: solid;
}
.bg_asset01::before{
    left: -50px;
    border-width: 150px 200px 0 0;
    border-color: #fff3f2 transparent transparent transparent;
    filter: drop-shadow(0px 4px 0px rgba(11, 42, 58, 1));
}
.bg_asset01::after{
    right: -50px;
    border-width: 0 200px 150px  0;
    border-color: transparent #fff3f2 transparent transparent;
    filter: drop-shadow(0px 4px 0px rgba(11, 42, 58, 1));
}

.pc_b{
    border-left: solid 4px #0b2a3a;
    border-right: solid 4px #0b2a3a;
    box-sizing: border-box;
}

h3 .bb01{padding-bottom: 10px}
/* .cp_area{max-width: 1280px;} */
.sp{display: none;}
#cp .cont h4{max-width: 360px;}
.cont li{position: relative;}
.cont h4{
    position: absolute;
    top: -30px;
    padding: 3px 0;
    width: 95%;
    left: 50%;
    transform: translateX(-50%);
}
.cp_about .cont li h4{top: -40px;}
.cont li:nth-last-child(1) h4,.cp_about .cont li{padding: 10px;}
.cont  h4 .no,.slider .no{
    width: 39px;
    height: 39px;
    display: inline-block;
    text-align: center;
}
#cp  .slider_area .cont .slick-dots li{
    padding: 0;
    margin: 0!important;
}
#cp .slider_area .cont li{padding:0 5%}
#cp .cont li{padding: 5% 0;}
#cp .cont li:nth-of-type(1) figure,#cp ul li:nth-of-type(2) figure,#cp .cont li:nth-of-type(1) figure,#cp ul li:nth-of-type(2) figure,.txt_img figure{
    width: 35%;
    height: 150px;
}
.slider_area .slider{padding-bottom: 30px;}
#cp .cont li:nth-of-type(3),#cp .cont li:nth-of-type(4){margin-top: 5%;}
h5::before{
    content: "";
    width: 100%;
    height: 4px;
    background-color: #0b2a3a;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 0;
}
h5 span{
    z-index: 1;
    position: relative;
    padding: 10px;
}
#cp_about .point_area figure{
    width: auto;
    height: 110px;
}
#cp_about .point_area li{padding: 10px 0;}
#cp_about .point_area li:nth-last-child(1){
    padding: 0;
    justify-content: center;
}
#cp_about .point_area li:nth-last-child(1) img{
    width: 30px;
    height: 30px;
}

.app_flow li:nth-of-type(2){
    border-left: 4px dotted #0b2a3a;
    border-right: 4px dotted #0b2a3a;
}
#cp_about h4{top: -35px;}
#download.inner{background-color: #fff!important;}
#download div{
  width: 60%;
  align-content: center;
  line-height: 25px;
}
#download figure{
    width: 30%;
    height: 340px;
}
#download a:nth-of-type(1){margin-bottom: 20px;}
.slider .no{
    position: absolute;
    top: 10px;
    left: 10px;
}
.slider li div{
    padding: 8% 0 5%;
    height: 500px;
}
.ttl02::after{
    content: "";
    width: 100px;
    background-color: #cc0000;
    height: 4px;
    left: 0;
    right: 0;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    position: absolute;
}
.terms{
    border-radius: 10px;
    overflow-y: scroll;
    height: 300px;
    background-color: #f7f8f9;
}
.terms dl,.modal_aria dl{
    border-bottom: solid 2px #fff;
    padding: 20px 0;
}
.terms dl:nth-of-type(1),.modal_aria dl:nth-of-type(1){padding: 0 0 20px;}
.modal_aria label.btn{
    padding: 10px;
    line-height: 1.3;
}
.annotation{line-height: 1;}
#cp .cont .annotation li{
    padding: 0;
    list-style: disc;
    margin: 0 0 0 22px;
}


.modal-checkbox {display: none;}
.modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000;
    display: none;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background-color: rgb(0 0 0 / 60%);
}
.close_area{
    position: fixed;
    transform: translate(-50%, -50%);
    left: 51%;
    height: 60px;
    top: 18%;
}
.close {
    position: absolute;
    top: 0px;
    right: 0px;
    font-size:40px;
    cursor: pointer;
    z-index: 1;
    color: #fff;
    font-weight: bold;
    background-color: #0b2a3a;
    border-radius: 1000px;
    width: 60px;
    height: 60px;
    text-align: center;
}
.close span::before, .close span::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 5px; 
    height: 30px;
    background: #fff;
}
.close span::before {transform: translate(-50%,-50%) rotate(45deg);}
.close span::after {transform: translate(-50%,-50%) rotate(-45deg);}
.modal-wrapper,.close_area{
    width: 90%;
    max-width: 1000px;
}
.modal-content{
    height: 600px;
    overflow-y: scroll;
    overflow-x: hidden;
}
.modal-wrapper {
    position: relative;
    margin: auto;
    overflow: hidden;
}
.modal-checkbox:checked + .modal {display: flex;}
.modal-content dt{padding-bottom: 10px;}
.app_download_ttl figure{width: 100px;}
.slider li figure{
    width: 170px!important;
    height: auto!important;
    margin: auto;
}
.contents-wrapper{padding: 0;}
h2,h3,h4,b{font-weight: bold!important;}

.txt_area{line-height: 1.6;}
.txt_area span.bb01{
    display: inline;
    border-width: 3px;
}
#cp .cont li:nth-of-type(4) figure:nth-of-type(1){
    width: 80%;
    margin: auto;
}
.mp01{margin: 8% auto 5%;}
.goods_link a{padding-top: 35%;}
.bottom-header{z-index: 1000;}
.slide-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    z-index: 1;
}
.prev-arrow{left: 3px;}
.next-arrow{right: 3px;}
.prev-arrow.slick-disabled, .next-arrow.slick-disabled {
    display: none!important;
}
.step_img{
    max-width: 85px;
    margin-right: 10px;
}
#about{margin-top: 8%;}
.step01 p.f02,.step02 p.f02{font-size: min(32vw, 28px);}
@media screen and (max-width: 768px) {
    html {-webkit-text-size-adjust: 100%;}
    body,strong, b{font-family: "Noto Sans JP", sans-serif!important;}
	.pc{display: none;}
	.sp{display: block}
	.w48,.w33{width: 100%;}
	.w24{width: 49%;}
	.flex{display:block;}
	.text-overflow{
		display: block;
		height: 25px;
	}
    .w33,.w50,.w25{width: 100%;}
	.text-overflow{height: 40px;}
    .f01{font-size: 20px;}
    .f02,h3,h2, #download .f01,.slider_area .btn01 b,.step01 p.f02, .step02 p.f02{font-size: 18px;}
    .f03,#fv h3{font-size: 16px;}
    .sp{display: block;}
    .pc{display: none;}
    #cp ul li:nth-of-type(3){margin-top: 10%!important;}
    #cp .container{width: 100%;}
    .pc_b{border: none;}
    .btn{padding: 10px;}
    .btn img, .fv nav a img{height: 25px;}
    .b01{border:2px solid #cc0000;}
    .b02{border:2px solid #fff3f2;}
    .b03{border:2px solid #e02828;}
    .b04{border:2px solid #0b2a3a;}

    .bb01{border-bottom:2px solid #cc0000;}
    .bb02{border-bottom:2px solid #fff3f2;}
    .bb03{border-bottom:2px solid #e02828;}
    .bb04{border-bottom:2px solid #0b2a3a;}
    .bb05{border-bottom:2px dotted #0b2a3a;}
    .bg_asset01 {
        height: 50px;
        border-top: solid 2px #0b2a3a;
    }
    .bg_asset01::before{
        left: -150px;
        filter: drop-shadow(0px 3px 0px rgba(11, 42, 58, 1));
    }
    .bg_asset01::after{
        right: -150px;
        filter: drop-shadow(0px 3px 0px rgba(11, 42, 58, 1));
    }
    #cp .cp_comment{
        width: 80%;
        margin: 8% auto 10%;
        height: 110px;
    }
    .cont h4 .no, .slider .no {
        width: 32px;
        height: 32px;
    }
    #cp .cont li:nth-of-type(1) figure, #cp ul li:nth-of-type(2) figure {
        width: 110px;
        height: 75px;
    }
    #cp ul li:nth-of-type(3) div:nth-of-type(1) figure{
        width: 60%;
        margin: auto;
        height: 51px;
    }
    #cp .btn {padding: 5px 20px;}
    #cp .btn img {height: 20px;}
    .cont h4{top: -22px;}
    .cont .triangle{
        padding: 3% 0 4%;
        height: 13vw;
    }
    #cp .cont li:nth-of-type(2){margin-top: 6%;}
    .br01 {border-radius: 10px;}
    #cp .cont li:nth-of-type(4){
        margin-top: 10%;
        padding: 10% 5% 5%;
    }
    #cp .cont .annotation li:nth-of-type(4){
        padding: 0;
        margin-top: 0;
    }
    #cp .cont li:nth-of-type(4) figure:nth-of-type(1){width: 60%;}
    #cp .cont li {padding: 30px 3% 20px;}
    h5 img{width: 25px;}
    h5::before{height: 2px;}
    .cont li:nth-last-child(1) h4, .cp_about .cont li {padding: 5px;}
    #cp_about h4 {top: -22px;}
    #cp_about .cont li{
        margin-top: 7%;
        padding: 10% 0 5%;
    }
    #cp_about .container{width: 100%;}
    #cp_about .point_area figure{height: 70px;}
    #cp_about .cont .point_area li{
        padding: 10px 0;
        margin-top: 1%;
    }
    #cp_about .cont .point_area li p{
        font-size: min(3.3vw, 16px);
        letter-spacing: .01em;
    }
    .app_download_ttl p{padding:3% 0 3% 2%;}
    .app_download_ttl figure{
        width: 50px;
        height: 70px;
    }
    #cp_about .cont .app_flow{padding: 0 3%;}
    #cp_about .cont .app_flow li{
        display: flex;
        margin-top: 0;
        padding: 3% 0;
    }
    #cp_about .cont .app_flow li figure{
        width: 80px;
        height: 60px;
        padding: 2%;
    }
    #cp_about .cont .app_flow li:nth-of-type(3) figure{height: 80px;}
    #cp_about .cont .app_flow li p{
        text-align: left;
        width: 220px;
    }
    .app_flow li:nth-of-type(2) {
        border-left: none;
        border-right: none;
        border-top: 3px dotted #0b2a3a;
        border-bottom: 3px dotted #0b2a3a;
    }
    .banner_area{margin: 5% auto 10%;}
    .btn img, .fv nav a img{right: 15px;}
    #fv .container{width: 90%;}
    #cp .cont h4 { max-width: 190px;}
    #cp_about .point_area li:nth-last-child(1) img,#download .btn img,#cp .btn img {
        width: 18px;
        right: 10px;
    }
    #download .btn{
        width: 90%;
        padding: 4px 0px 8px;
        max-width: 200px;
    }
    #download .btn b,#cp .btn{font-size:min(4vw, 12px);}
    #download a:nth-of-type(1) {margin-bottom: 5px;}
    .btn b {margin-right: 30px;}
    #cp .btn b,#download .btn b{margin-right: 20px;}
    .btn01{filter: drop-shadow(0px 5px 0px rgba(11, 42, 58, .15));    }
    @keyframes loop_animation_right {
        0% {
            transform: translateY(0);
            filter: drop-shadow(0px 5px 0px rgba(11, 42, 58, .15));
        }
        50% {
            transform: translateY(5px);
            filter: drop-shadow(0px 2px 0px rgba(11, 42, 58, .15));
        }
        100% {
            transform: translateY(0);
            filter: drop-shadow(0px 5px 0px rgba(11, 42, 58, .15));
        }
    }
    #download div{padding: 0 0 3%;}
    #download figure{
        width: 40%;
        padding-right: 3%;
        height:160px;
        text-align: center;
    }
    #download figure img{object-position: bottom;}
    #cp_about .cont .slider li{
        margin-top: 0;
        padding-top: 5%;
    }
    #cp_about .cont .slider li figure{height: 200px;}
    .slider{padding-bottom: 30px!important;}
    .slider li div{
        height: 260px;
        padding:5% 0
    }
    .slider .no {
        top: 18px;
        left: 16%;
    }
    .slider_area .btn01{
        width: 90%;
        margin-top: 3%;
    }
    .slider_area .btn01 span b{font-size: min(4vw, 14px);}
    #cp_about .cont .slider .slick-dots li{
        padding: 0;
        margin: 0;
    }
    #cp_about .slider_area .cont.inner  .slider li{padding-bottom: 0%;}
    #cp_about .slider_area .cont.inner li{padding-bottom: 10%;}
    .ttl02::after{
        height: 2px;
        width: 60px;
        bottom: -10px;
    }
    .terms{
        height: 240px;
        margin-bottom: 8%;
    }
    .ttl02{margin-bottom: 10%;}
    #about .container,#about .btn{
        width: 90%;
        margin-bottom: 3%;
    }
    #others .w48{width: 48%!important;}
    .close_area {top: 16%;}
    .modal-content{padding: 10% 5%;}
    .banner_area figure{height: 190px;}
    .close::after{
        width: 50px;
        height: 50px;
        top: 7px;
        right: -9px;
    }
    #cp .cont .annotation li:nth-of-type(2){margin-top: 0;}
    .step01 .w100,.step02 .w100,.step03 .w100{width: auto;}
    .step01 .w100 p,.step02 .w100 p,.step03 .w100 p{padding:0px 0px 6px;}
    .cont_area{-webkit-justify-content: center;-ms-flex-pack: center;justify-content: center;}
    #cp .cont li:nth-of-type(2) figure img{padding: 8%;}
    .sp_img_01{height: 180px;}
    .sp_img_02{height: 160px;}
    .txt_area span.bb01{border-width: 2px;}
    .step01 .cont_area,.step02 .cont_area{
        justify-content: left;
        -webkit-justify-content: left;
    }
    .goods_link a{padding-top: 23%;}
    .fv h2{width: 100%;}
    .modal-content {height: 460px;}
    #cp .slider_area .cont h4{max-width: 260px;}
    .slider li figure {
        width: 90px !important;
        height: 150px!important;
    }
    .slick-slide{font-size: 15px;}
    .slide-arrow{top: 45%;}
    .slider_area{margin-top: 10%;}
    .next-arrow {right: 0px;}
    .prev-arrow {left: 0px;}
}
















html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  /* font: inherit; */
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

sub,
sup {
  font-size: 52%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.8em;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

summary {
  display: block;
}

summary::-webkit-details-marker {
  display: none;
}

/* body {
  -webkit-text-size-adjust: 100%;
  color: #000;
  font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "メイリオ", "Meiryo", sans-serif;
} */
/* header, footer,
nav,
h1, h2, h3, h4, h5,
article, section,
p, div, span, figure,
ul, ol, li, dl, dt, dd, img, a {
  box-sizing: border-box;
  position: relative;
} */

a {
  text-decoration: none;
}

a, div {
  -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);
}

img, video {
  display: block;
  width: 100%;
  height: auto;
}

video {
  filter: drop-shadow(0px 0px rgba(0, 0, 0, 0));
  outline: none;
  border: none;
}
/* 
:root {
  --vw: 1vw;
}

body {
  width: 100%;
}

main {
  overflow: hidden;
} */

.zen {
  /* font-family: "zen-kaku-gothic-new", sans-serif; */
  font-weight: 500;
  font-style: normal;
}
.zen.bold {
  font-weight: 700;
}
.zen.bold {
  font-weight: 700;
}

/* スクリーンリーダー用テキスト */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.text-center {
  text-align: center;
}

/* header .headArea {
  border-top: 16px solid #cc0000;
  height: 60px;
  margin-bottom: 10px;
} */

/* header .headArea .siteid {
  position: absolute;
  left: 0;
  top: -16px;
} */

/* header .headArea .siteid a img {
  height: 60px;
  width: auto;
} */

footer .footArea .lower {
  background: #cc0000;
  padding: 10px 33px;
}

footer .footArea .lower .sitewidth {
  max-width: 1400px;
  margin: auto;
  display: flex;
}

footer .footArea .lower .copy {
  text-align: right;
  flex: 1;
  position: relative;
  top: 2px;
}
footer .footArea .lower .copy img {
  max-width: 100%;
  height: auto;
  width: auto;
  display: inline-block;
}

@media screen and (max-width: 750px) {
  header {
    width: 100%;
    height: 5.2rem;
    background: #cc0000;
    overflow: hidden;
  }
  header p.logo {
    margin: 1.2rem auto 0 auto;
    width: 13.2rem;
  }
  header p.logo a {
    width: 100%;
    display: block;
  }
  header p.logo a img {
    width: 100%;
    height: auto;
  }
  header p.copy {
    display: none;
  }
  /* header {
    background: #cc0000;
    position: relative;
    height: 52px;
    width: 100%;
    order: 1;
  }
  header .headArea {
    position: relative;
    z-index: 100;
    border-top: 0;
    margin-bottom: 0;
    height: auto;
    text-align: center;
  }
  header .headArea .siteid {
    text-align: center;
    padding: 12px 0 9px;
    position: relative;
    display: inline-block;
    top: 0;
  }
  header .headArea .siteid a img {
    margin: auto;
    height: 31px;
    width: auto;
  } */
  footer {
    width: 100%;
    order: 4;
  }
  footer .footArea .sp .copy {
    text-align: center;
    font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Hiragino Sans", "ヒラギノ角ゴシック", メイリオ, Meiryo, sans-serif;
    margin: 0.8em 0;
  }
  footer .footArea .sp .bar {
    background: #cc0000;
    padding: 15px 0;
    text-align: center;
  }
  footer .footArea .sp .bar img {
    height: 22.5px;
    display: inline-block;
  }
  footer .footArea .lower {
    display: none;
  }
}
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media print {
  html {
    font-size: 62.5%;
  }
  body {
    min-width: 126rem;
  }
  #page404 {
    min-height: 100vh;
  }
  #page404 footer {
    position: fixed;
    bottom: 0;
    width: 100%;
  }
  /* header {
    position: absolute;
    z-index: 1;
    width: 100%;
  } */
  article {
    width: 100%;
    overflow: hidden;
  }
  section a {
    transition: opacity 0.2s ease;
  }
  section a:hover {
    opacity: 0.7;
  }
  section .inner_wrap {
    width: 126rem;
    margin: 0 auto;
  }
  section#mv {
    padding-top: 16px;
    background: #eff6f7;
  }
  section#mv .video {
    width: auto;
    height: auto;
    max-height: calc(100vh - 92px - 13.5rem);
    max-height: calc(100svh - 92px - 13.5rem);
    max-width: 100%;
    margin: 0 auto;
    aspect-ratio: 1920/1080;
  }
  section#mv .video video {
    object-fit: contain;
    object-position: center;
    width: 100%;
    height: 100%;
    aspect-ratio: 1920 / 1080;
  }
  .skip {
    position: absolute;
    color: #002a36;
    font-size: 1.6rem;
    text-decoration: underline;
    left: 23.4rem;
    top: 3.2rem;
    z-index: 1;
  }
  section#mv .stop_play {
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    font-weight: 700;
    color: #fff;
    width: 13rem;
    line-height: 5rem;
    font-size: 1.6rem;
    padding-left: 2.6rem;
    border-radius: 1rem;
    position: absolute;
    right: 5rem;
    bottom: 1.7rem;
    background: url(../images/icon_stop.svg) calc(100% - 1.6rem) center/3rem 3rem no-repeat #002a36;
  }
  section#mv .stop_play.bold {
    font-weight: 700;
  }
  section#mv .stop_play.play {
    background-image: url(../images/icon_play.svg);
  }
  section.cv {
    background: #c0dbe5;
  }
  section.cv .inner_wrap {
    width: 82.4rem;
    padding: 2.4rem 0 2.3rem;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    flex-wrap: wrap;
  }
  section.cv .inner_wrap .cv_title {
    width: 100%;
    font-weight: bold;
    font-size: 2.8rem;
    margin-bottom: 1.8rem;
    color: #002a36;
  }
  section.cv .inner_wrap .cv_title span {
    display: inline-block;
    padding-right: 0.5rem;
    background: #c0dbe5;
    position: relative;
  }
  section.cv .inner_wrap .cv_title:before {
    content: "";
    display: block;
    position: absolute;
    width: 61.8rem;
    height: 1px;
    left: 0;
    top: 50%;
    background: #002a36;
  }
  section.cv .inner_wrap .app_icon {
    width: 8.8rem;
    border-radius: 2rem;
    overflow: hidden;
    background: #fff;
  }
  section.cv .inner_wrap .btn_set {
    margin-left: 2rem;
    width: 31.6rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  section.cv .inner_wrap .btn_set .btn_set_title {
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    font-weight: 700;
    width: 100%;
    text-align: center;
    color: #002a36;
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 1rem;
  }
  section.cv .inner_wrap .btn_set .btn_set_title.bold {
    font-weight: 700;
  }
  section.cv .inner_wrap .btn_set .icon_new {
    position: absolute;
    width: 4.2rem;
    height: 2.1rem;
    left: 0;
    top: -2.4rem;
  }
  section.cv .inner_wrap .btn_set .btn {
    display: block;
  }
  section.cv .inner_wrap .btn_set .btn img {
    width: 100%;
    height: 100%;
  }
  section.cv .inner_wrap .btn_set .btn.btn_appstore {
    width: 13.6rem;
    height: 5rem;
  }
  section.cv .inner_wrap .btn_set .btn.btn_googleplay {
    width: 16.9rem;
    height: 5rem;
  }
  section.cv .inner_wrap .qr_set {
    margin-left: 2rem;
    width: 18.3rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  section.cv .inner_wrap .qr_set .qr {
    width: 8.8rem;
  }
  section.cv .inner_wrap .qr_set .qr .qr_title {
    position: absolute;
    width: 200%;
    left: -50%;
    text-align: center;
    color: #002a36;
    font-size: 1.1rem;
    white-space: nowrap;
    font-weight: bold;
    margin-top: 0.5rem;
    transform-origin: center center;
  }
  section.cv .inner_wrap .sp_image {
    position: absolute;
    width: 14rem;
    bottom: -10rem;
    left: calc(50% + 26.5rem);
  }
  section.cv:not(#cv1) {
    overflow: hidden;
    min-height: 18.5rem;
  }
  section.cv:not(#cv1) .inner_wrap {
    padding: 4.9rem 0 4.8rem;
  }
  section.cv:not(#cv1) .inner_wrap .sp_image {
    bottom: -11rem;
  }
  section#nav_section {
    background: #fff;
    padding: 4.2rem 0 0;
  }
  section#nav_section .nav {
    width: 110rem;
    margin: 0 auto;
  }
  section#nav_section .nav ul {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
  section#nav_section .nav ul li {
    width: 26rem;
    margin: 0 1rem;
  }
  section#nav_section .nav ul li a {
    width: 26rem;
    height: 8rem;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 1.5rem;
    border: #002a36 1px solid;
    font-size: 1.8rem;
    line-height: 2.4rem;
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    color: #002a36;
    background: url(../images/arrow.svg) calc(100% - 2.3rem) center/1.6rem 1.6rem no-repeat;
  }
  section#nav_section .nav ul li a.bold {
    font-weight: 700;
  }
  section .section_title {
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    font-weight: 700;
    color: #002a36;
    /* letter-spacing: 0.02em; */
    font-size: 4rem;
    line-height: 1;
    height: 4rem;
    text-align: center;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  section .section_title.bold {
    font-weight: 700;
  }
  section .main_text {
    text-align: center;
    font-size: 1.8rem;
    line-height: 2.8rem;
  }
  section#about_app {
    padding-top: 15rem;
    padding-bottom: 14.4rem;
  }
  section#about_app .section_title:before {
    content: "";
    display: inline-block;
    width: 4rem;
    height: 4rem;
    background: url(../images/app_icon.svg) center center/4rem 4rem no-repeat;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.2);
    margin-right: 2rem;
  }
  section#about_app .feature_id {
    margin: 10rem auto 8.9rem;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    flex-wrap: wrap;
  }
  section#about_app .feature_id .feature {
    padding: 3.3rem 3rem 3rem;
    width: 38rem;
    background: #f2f8fa;
    border-radius: 2rem;
  }
  section#about_app .feature_id .feature dt {
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    text-align: center;
    color: #002a36;
    font-size: 2.4rem;
    line-height: 1.5;
    margin-bottom: 2.4rem;
  }
  section#about_app .feature_id .feature dt.bold {
    font-weight: 700;
  }
  section#about_app .feature_id .feature .text {
    font-size: 1.5rem;
    line-height: 2.6rem;
    text-align: justify;
  }
  section#about_app .feature_id .feature .id_note {
    font-size: 1.2rem;
    line-height: 2.4rem;
    height: 2.4rem;
    padding-right: 5.8rem;
    margin-top: 1.5rem;
    text-align: right;
    position: static;
  }
  section#about_app .feature_id .feature .id_note:after {
    content: "";
    display: block;
    width: 100%;
    height: 3rem;
    background: url(../images/ico_id.svg?0523) right center/2.8rem 3.1rem no-repeat;
    position: absolute;
    right: 3rem;
    bottom: 3rem;
  }
  section#about_app .feature_id .feature .note {
    font-size: 1.2rem;
    line-height: 1.5;
    margin-top: 1.5rem;
  }
  section#about_app .feature_id .feature .note a {
    color: #000;
    text-decoration: underline;
  }
  section#about_app .feature_id .feature .img {
    display: block;
    width: auto;
    height: 20rem;
    margin: 0 auto 1.5rem;
  }
  section#about_app .feature_id .feature:nth-child(n+4) {
    margin-top: 4rem;
  }
  section#about_app .main_text.id_text {
    text-align: left;
    margin: 0 auto;
    width: fit-content;
    padding-left: 8.5rem;
    background: url(../images/ico_id.svg?0523) left center/5.5rem 6.1rem no-repeat;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 6.1rem;
    font-size: 1.5rem;
    line-height: 2.6rem;
  }
  section#about_app .link_btn,
  section#about_sumahowari .link_btn {
    display: block;
    margin: 3.6rem auto 0;
    width: 24rem;
    height: 5rem;
    border-radius: 1rem;
    background: #c0dbe5;
    color: #002a36;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    font-weight: 700;
    font-size: 2rem;
  }
  section#about_app .link_btn.bold {
    font-weight: 700;
  }
  section#about_app .link_btn:after,
  section#about_sumahowari .link_btn::after {
    content: "";
    display: block;
    width: 1.8rem;
    height: 1.8rem;
    margin-left: 0.8rem;
    background: url(../images/icon_link.svg) center center/1.8rem 1.8rem no-repeat;
  }
  section#users_voice {
    padding-top: 15rem;
  }
  section#users_voice .voice_set {
    width: 100%;
    margin: 9.5rem auto 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
  section#users_voice .voice_set .voice {
    display: block;
    width: 42rem;
    margin: 0 -0.6rem;
    background: #fff;
    border-radius: 2rem;
    box-shadow: 0.7rem 0.7rem 2rem 0 rgba(0, 0, 0, 0.2);
    padding: 3rem 3.6rem 3rem 13rem;
    min-height: 14rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  section#users_voice .voice_set .voice dt {
    font-size: 1.6rem;
    font-weight: bold;
    color: #646464;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
    margin-bottom: 1.6rem;
  }
  section#users_voice .voice_set .voice .pic {
    position: absolute;
    width: 8rem;
    left: 3rem;
    top: 3rem;
  }
  section#users_voice .voice_set .voice .text {
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: justify;
  }
  section#users_voice .voice_set .voice.voice2 {
    margin-top: 8rem;
    z-index: 1;
  }
  section#users_voice .voice_set .voice.voice3 {
    margin-top: 3rem;
  }
  section#users_voice .more_btn {
    display: block;
    width: fit-content;
    margin: 4.9rem auto 0;
    font-size: 2rem;
    line-height: 2.4rem;
    height: 2.4rem;
    font-weight: bold;
    color: #002a36;
    letter-spacing: 0.04em;
    padding-right: 3.4rem;
    background: url(../images/link_arrow.svg) calc(100% - 0.2rem) center/2.4rem 2.4rem no-repeat;
  }
  section#contents {
    padding-top: 15rem;
    padding-bottom: 5rem;
  }
  section#contents .bnr_set {
    width: 100%;
    margin: 9.5rem auto 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
  section#contents .bnr_set .content_bnr {
    display: block;
    width: 52.5rem;
    margin: 0 2.5rem;
    background: #fff;
    border-radius: 2rem;
    box-shadow: 0.7rem 0.7rem 2rem 0 rgba(0, 0, 0, 0.2);
    padding: 2rem;
    color: #000;
  }
  section#contents .bnr_set .content_bnr:after {
    content: "";
    clear: both;
    display: block;
  }
  section#contents .bnr_set .content_bnr .pic {
    float: left;
    width: 20rem;
  }
  section#contents .bnr_set .content_bnr .text {
    width: 26rem;
    font-size: 1.6rem;
    line-height: 1.75;
    text-align: justify;
    float: right;
  }
  section#contents .bnr_set .content_bnr .btn {
    display: block;
    width: 11rem;
    height: 3rem;
    line-height: 3rem;
    font-size: 1.3rem;
    background: url(../images/content_arrow.svg) calc(100% - 0.7rem) center/1.5rem 1.5rem no-repeat, #cc0000;
    color: #fff;
    position: absolute;
    right: 2rem;
    bottom: 2rem;
    padding-right: 1.4rem;
    text-align: center;
    font-weight: bold;
    border-radius: 1.5rem;
  }
  section#contents .more_btn {
    display: block;
    width: 45rem;
    margin: 5rem auto 0;
  }
  section#bnr_section {
    padding-top: 10rem;
    padding-bottom: 7.5rem;
  }
  section#bnr_section .bnr {
    display: block;
    border: #cc0000 1px solid;
    border-radius: 2rem;
    background: #fff;
    text-align: center;
    padding: 2.4rem 0 2.2rem;
    color: #cc0000;
    width: 75rem;
    margin: 0 auto;
  }
  section#bnr_section .bnr .bnr_title {
    color: #cc0000;
    font-weight: bold;
    font-size: 4rem;
    letter-spacing: 0.04em;
    height: 7rem;
    margin-bottom: 3.3rem;
    line-height: 1;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  section#bnr_section .bnr .bnr_title:before {
    content: "";
    display: inline-block;
    width: 7rem;
    height: 7rem;
    background: url(../images/app_icon.svg) center center/7rem 7rem no-repeat;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0.7rem 0.7rem 1rem 0 rgba(0, 0, 0, 0.1);
    margin-right: 2rem;
  }
  section#bnr_section .bnr .feature_app {
    margin: 0 auto 2.1rem;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  section#bnr_section .bnr .feature_app li {
    margin: 0 2rem;
  }
  section#bnr_section .bnr .feature_app li .icon {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    width: 6rem;
    height: 6rem;
    background: #cc0000;
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.9rem;
    letter-spacing: 0.04em;
    padding-left: 0.04em;
    font-weight: bold;
    left: -1.2rem;
    top: -1.9rem;
    border-radius: 3rem;
  }
  section#bnr_section .bnr .feature_app li .icon.double {
    font-size: 1.5rem;
  }
  section#bnr_section .bnr .feature_app li .text {
    position: absolute;
    display: block;
    width: 100%;
    font-size: 1.5rem;
    line-height: 1;
    font-weight: bold;
    top: 12.3rem;
    left: 0;
  }
  section#bnr_section .bnr .link_text {
    font-size: 2rem;
    padding-left: 0.04em;
    line-height: 2.4rem;
    font-weight: bold;
    display: block;
    width: fit-content;
    margin: 0 auto;
    padding-right: 3.2rem;
    background: url(../images/bnr_arrow.svg) right center/2.4rem 2.4rem no-repeat;
  }
  section#bnr_section .note_list {
    margin-top: 3.6rem;
    font-size: 1.3rem;
    line-height: 2.4rem;
  }
  /* section.faq {
    padding-top: 4rem;
    padding-bottom: 12rem;
  } */
  section.faq .section_title {
    /* letter-spacing: 0; */
    font-size: 3.2rem;
  }
  /* section.faq .faq_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    margin: 3rem auto 0;
    width: fit-content;
    font-size: 2rem;
    height: 3.2em;
    padding: 0 5em;
    border-radius: 0.8rem;
    background: #002a36;
    font-weight: bold;
    letter-spacing: 0.02em;
  } */
  section.error {
    padding: 100px 0 0;
  }
  section.error .link {
    font-size: 2.6rem;
    font-weight: bold;
    line-height: 140%;
    color: #0b2a3a;
    letter-spacing: 0.012em;
  }
  section.error .section_title {
    margin: 3.5rem auto 0;
  }
  footer .footer_nav {
    display: flex;
    align-items: center;
    padding: 2rem 33px;
  }
  footer .footer_nav ul {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1400px;
    margin: auto;
  }
  footer .footer_nav li {
    display: flex;
    flex-shrink: 0;
    align-items: center;
  }
  footer .footer_nav li a {
    font-family: Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, Noto Sans JP, sans-serif;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 300;
    line-height: 100%;
    color: #0b2a3a;
    letter-spacing: 0.012em;
    color: #6e828b;
  }
  footer .footer_nav li:not(:first-child):before {
    padding: 0 16px;
    font-family: Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, Noto Sans JP, sans-serif;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 300;
    line-height: 100%;
    color: #6e828b;
    letter-spacing: 0.012em;
    content: "|";
  }
  .sp {
    display: none !important;
  }
}
@media screen and (min-width: 751px) {
  html {
    font-size: 62.5%;
  }
}
@media only screen and (min-width: 751px) and (max-width: 1300px) {
  html {
    font-size: 0.6153846154vw;
  }
}
@media screen and (min-width: 751px) {
  body {
    min-width: 126rem;
  }
  #page404 {
    min-height: 100vh;
  }
  #page404 footer {
    position: fixed;
    bottom: 0;
    width: 100%;
  }
  /* header {
    position: absolute;
    z-index: 1;
    width: 100%;
  } */
  header {
    width: 100%;
    height: 96px;
    background: #ffffff;
  }
  header:before {
    content: "";
    width: 100%;
    height: 16px;
    display: block;
    background: #cc0000;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
  }
  header p.logo {
    width: 250px;
    height: 60px;
    position: relative;
    z-index: 1;
    background: url("../images/bg_header.png") no-repeat left top/contain;
  }
  header p.logo a {
    width: 100%;
    height: 100%;
    display: block;
    overflow: hidden;
  }
  header p.logo a img {
    margin: 16px 0 0 33px;
    width: 140px;
    height: 33px;
    display: block;
  }
  header p.copy {
    position: absolute;
    top: 30px;
    left: 240px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.012em;
    color: #000;
  }
  article {
    width: 100%;
    overflow: clip;
  }
  section a {
    transition: opacity 0.2s ease;
  }
  section a:hover {
    opacity: 0.7;
  }
  section .inner_wrap {
    width: 126rem;
    margin: 0 auto;
  }
  section#mv {
    /* padding-top: 16px; */
    background: #eff6f7;
  }
  section#mv .video {
    width: auto;
    height: auto;
    max-height: calc(100vh - 92px - 13.5rem);
    max-height: calc(100svh - 92px - 13.5rem);
    max-width: 100%;
    margin: 0 auto;
    aspect-ratio: 1920/1080;
  }
  section#mv .video video {
    object-fit: contain;
    object-position: center;
    width: 100%;
    height: 100%;
    aspect-ratio: 1920 / 1080;
  }
}
@media only screen and (min-width: 751px) and (min-width: 1537px) {
  section#mv .video {
    max-width: 1536px;
  }
}
@media screen and (min-width: 751px) {
  .skip {
    position: absolute;
    color: #002a36;
    font-size: 16px;
    text-decoration: underline;
    left: 234px;
    top: 32px;
    z-index: 1;
  }
  section#mv .stop_play {
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    font-weight: 700;
    color: #fff;
    width: 13rem;
    line-height: 5rem;
    font-size: 1.6rem;
    padding-left: 2.6rem;
    border-radius: 1rem;
    position: absolute;
    right: 5rem;
    bottom: 1.7rem;
    background: url(../images/icon_stop.svg) calc(100% - 1.6rem) center/3rem 3rem no-repeat #002a36;
  }
  section#mv .stop_play.bold {
    font-weight: 700;
  }
  section#mv .stop_play.play {
    background-image: url(../images/icon_play.svg);
  }
  section.cv {
    background: #c0dbe5;
  }
  section.cv .inner_wrap {
    width: 82.4rem;
    padding: 2.4rem 0 2.3rem;
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
    flex-wrap: wrap;
  }
  section.cv .inner_wrap .cv_title {
    width: 100%;
    font-weight: bold;
    font-size: 2.8rem;
    margin-bottom: 1.8rem;
    color: #002a36;
  }
  section.cv .inner_wrap .cv_title span {
    display: inline-block;
    padding-right: 0.5rem;
    background: #c0dbe5;
    position: relative;
  }
  section.cv .inner_wrap .cv_title:before {
    content: "";
    display: block;
    position: absolute;
    width: 61.8rem;
    height: 1px;
    left: 0;
    top: 50%;
    background: #002a36;
  }
  section.cv .inner_wrap .app_icon {
    width: 8.8rem;
    border-radius: 2rem;
    overflow: hidden;
    background: #fff;
  }
  section.cv .inner_wrap .btn_set {
    margin-left: 2rem;
    width: 31.6rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  section.cv .inner_wrap .btn_set .btn_set_title {
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    font-weight: 700;
    width: 100%;
    text-align: center;
    color: #002a36;
    font-size: 1.8rem;
    font-weight: bold;
    margin-bottom: 1rem;
  }
  section.cv .inner_wrap .btn_set .btn_set_title.bold {
    font-weight: 700;
  }
  section.cv .inner_wrap .btn_set .icon_new {
    position: absolute;
    width: 4.2rem;
    height: 2.1rem;
    left: 0;
    top: -2.4rem;
  }
  section.cv .inner_wrap .btn_set .btn {
    display: block;
  }
  section.cv .inner_wrap .btn_set .btn img {
    width: 100%;
    height: 100%;
  }
  section.cv .inner_wrap .btn_set .btn.btn_appstore {
    width: 13.6rem;
    height: 5rem;
  }
  section.cv .inner_wrap .btn_set .btn.btn_googleplay {
    width: 16.9rem;
    height: 5rem;
  }
  section.cv .inner_wrap .qr_set {
    margin-left: 2rem;
    width: 18.3rem;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  section.cv .inner_wrap .qr_set .qr {
    width: 8.8rem;
  }
  section.cv .inner_wrap .qr_set .qr .qr_title {
    position: absolute;
    width: 200%;
    left: -50%;
    text-align: center;
    color: #002a36;
    font-size: 1.1rem;
    white-space: nowrap;
    font-weight: bold;
    margin-top: 0.5rem;
    transform-origin: center center;
  }
  section.cv .inner_wrap .sp_image {
    position: absolute;
    width: 14rem;
    bottom: -10rem;
    left: calc(50% + 26.5rem);
  }
  section.cv:not(#cv1) {
    overflow: hidden;
    min-height: 18.5rem;
  }
  section.cv:not(#cv1) .inner_wrap {
    padding: 4.9rem 0 4.8rem;
  }
  section.cv:not(#cv1) .inner_wrap .sp_image {
    bottom: -11rem;
  }
  section#nav_section {
    background: #fff;
		position: relative;
		padding-block: 2rem;
		margin-top: 2.2rem;
  }
	section#nav_section::before {
		content: "";
		display: block;
		width: 100%;
		height: 2.6rem;
		background-color: white;
		position: absolute;
		top: 0;
		left: 0;
		transform: translateY(-100%);
	}
  section#nav_section .nav {
    width: 110rem;
    margin: 0 auto;
  }
	section#nav_section.type2 {
		position: sticky;
		top: 0;
		left: 0;
		z-index: 100;
	}
	section#nav_section.type2 .nav {
		width: 126rem;
	}
  section#nav_section .nav ul {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
  section#nav_section .nav ul li {
    width: 26rem;
    margin: 0 1rem;
  }
	section#nav_section.type2 .nav li {
		width: 29rem;
	}
  section#nav_section .nav ul li a {
    width: 26rem;
    height: 8rem;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    border-radius: 1.5rem;
    border: #002a36 1px solid;
    font-size: 1.8rem;
    line-height: 2.4rem;
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    color: #002a36;
    background: url(../images/arrow.svg) calc(100% - 2.3rem) center/1.6rem 1.6rem no-repeat;
  }
	section#nav_section.type2 .nav ul li a {
		width: 100%;
		height: 5.8rem;
		padding-right: 5rem;
    padding-left: 2rem;
	}
  section#nav_section .nav ul li a.bold {
    font-weight: 700;
  }

  section .section_title {
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    font-weight: 700;
    color: #002a36;
    /* letter-spacing: 0.02em; */
    font-size: 4rem;
    line-height: 1;
    height: 4rem;
    text-align: center;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  section .section_title.bold {
    font-weight: 700;
  }
  section .main_text {
    text-align: center;
    font-size: 1.8rem;
    line-height: 2.8rem;
  }
  section#about_app {
    padding-top: 15rem;
    padding-bottom: 14.4rem;
  }
  section#about_app .section_title:before {
    content: "";
    display: inline-block;
    width: 4rem;
    height: 4rem;
    background: url(../images/app_icon.svg) center center/4rem 4rem no-repeat;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 0 1rem 0 rgba(0, 0, 0, 0.2);
    margin-right: 2rem;
  }
  section#about_app .feature_id {
    margin: 10rem auto 8.9rem;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  section#about_app .feature_id .feature {
    padding: 3.3rem 3rem 3rem;
    width: 38rem;
    background: #f2f8fa;
    border-radius: 2rem;
    display: flex;
    flex-direction: column;
  }
  section#about_app .feature_id .feature:has(.note) .link_btn {
    margin-top: 16px;
  }
  section#about_app .feature_id .feature dt {
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    text-align: center;
    color: #002a36;
    font-size: 2.4rem;
    line-height: 1.5;
    margin-bottom: 2.4rem;
  }
  section#about_app .feature_id .feature dt.bold {
    font-weight: 700;
  }
  section#about_app .feature_id .feature .text {
    font-size: 1.5rem;
    line-height: 2.6rem;
    text-align: justify;
  }
  section#about_app .feature_id .feature:has(.link_btn) .text {
    flex-grow: 1;
  }
  section#about_app .feature_id .feature .id_note {
    font-size: 1.2rem;
    line-height: 2.4rem;
    height: 2.4rem;
    padding-right: 5.8rem;
    margin-top: 1.5rem;
    text-align: right;
    position: static;
  }
  section#about_app .feature_id .feature .id_note:after {
    content: "";
    display: block;
    width: 100%;
    height: 3rem;
    background: url(../images/ico_id.svg?0523) right center/2.8rem 3.1rem no-repeat;
    position: absolute;
    right: 3rem;
    bottom: 3rem;
  }
  section#about_app .feature_id .feature .note {
    font-size: 1.2rem;
    line-height: 1.5;
    margin-top: 1.5rem;
  }
  section#about_app .feature_id .feature .note a {
    color: #000;
    text-decoration: underline;
  }
  section#about_app .feature_id .feature .img {
    display: block;
    width: auto;
    height: 20rem;
    margin: 0 auto 1.5rem;
  }
  section#about_app .feature_id .feature:nth-child(n+4) {
    margin-top: 4rem;
  }
  section#about_app .main_text.id_text {
    text-align: left;
    margin: 0 auto;
    width: fit-content;
    padding-left: 8.5rem;
    background: url(../images/ico_id.svg?0523) left center/5.5rem 6.1rem no-repeat;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    min-height: 6.1rem;
    font-size: 1.5rem;
    line-height: 2.6rem;
  }
  section#about_app .link_btn,
  section#about_sumahowari .link_btn {
    display: block;
    margin: 3.6rem auto 0;
    width: 24rem;
    height: 5rem;
    border-radius: 1rem;
    background: #c0dbe5;
    color: #002a36;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    font-weight: 700;
    font-size: 2rem;
  }
  section#about_app .link_btn.bold {
    font-weight: 700;
  }
  section#about_app .link_btn:after,
  section#about_sumahowari .link_btn::after {
    content: "";
    display: block;
    width: 1.8rem;
    height: 1.8rem;
    margin-left: 0.8rem;
    background: url(../images/icon_link.svg) center center/1.8rem 1.8rem no-repeat;
  }
  section#users_voice {
    padding-top: 15rem;
  }
  section#users_voice .voice_set {
    width: 100%;
    margin: 9.5rem auto 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
  section#users_voice .voice_set .voice {
    display: block;
    width: 42rem;
    margin: 0 -0.6rem;
    background: #fff;
    border-radius: 2rem;
    box-shadow: 0.7rem 0.7rem 2rem 0 rgba(0, 0, 0, 0.2);
    padding: 3rem 3.6rem 3rem 13rem;
    min-height: 14rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  section#users_voice .voice_set .voice dt {
    font-size: 1.6rem;
    font-weight: bold;
    color: #646464;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
    margin-bottom: 1.6rem;
  }
  section#users_voice .voice_set .voice .pic {
    position: absolute;
    width: 8rem;
    left: 3rem;
    top: 3rem;
  }
  section#users_voice .voice_set .voice .text {
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: justify;
  }
  section#users_voice .voice_set .voice.voice2 {
    margin-top: 8rem;
    z-index: 1;
  }
  section#users_voice .voice_set .voice.voice3 {
    margin-top: 3rem;
  }
  section#users_voice .more_btn {
    display: block;
    width: fit-content;
    margin: 4.9rem auto 0;
    font-size: 2rem;
    line-height: 2.4rem;
    height: 2.4rem;
    font-weight: bold;
    color: #002a36;
    letter-spacing: 0.04em;
    padding-right: 3.4rem;
    background: url(../images/link_arrow.svg) calc(100% - 0.2rem) center/2.4rem 2.4rem no-repeat;
  }
  section#contents {
    padding-top: 15rem;
    padding-bottom: 5rem;
  }
  section#contents .bnr_set {
    width: 100%;
    margin: 9.5rem auto 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
  }
  section#contents .bnr_set .content_bnr {
    display: block;
    width: 52.5rem;
    margin: 0 2.5rem;
    background: #fff;
    border-radius: 2rem;
    box-shadow: 0.7rem 0.7rem 2rem 0 rgba(0, 0, 0, 0.2);
    padding: 2rem;
    color: #000;
  }
  section#contents .bnr_set .content_bnr:after {
    content: "";
    clear: both;
    display: block;
  }
  section#contents .bnr_set .content_bnr .pic {
    float: left;
    width: 20rem;
  }
  section#contents .bnr_set .content_bnr .text {
    width: 26rem;
    font-size: 1.6rem;
    line-height: 1.75;
    text-align: justify;
    float: right;
  }
  section#contents .bnr_set .content_bnr .btn {
    display: block;
    width: 11rem;
    height: 3rem;
    line-height: 3rem;
    font-size: 1.3rem;
    background: url(../images/content_arrow.svg) calc(100% - 0.7rem) center/1.5rem 1.5rem no-repeat, #cc0000;
    color: #fff;
    position: absolute;
    right: 2rem;
    bottom: 2rem;
    padding-right: 1.4rem;
    text-align: center;
    font-weight: bold;
    border-radius: 1.5rem;
  }
  section#contents .more_btn {
    display: block;
    width: 45rem;
    margin: 5rem auto 0;
  }
  section#bnr_section {
    padding-top: 10rem;
    padding-bottom: 7.5rem;
  }
  section#bnr_section .bnr {
    display: block;
    border: #cc0000 1px solid;
    border-radius: 2rem;
    background: #fff;
    text-align: center;
    color: #cc0000;;
    width: 80.2rem;
    margin: 0 auto;
    padding: 2.4rem 5.8rem;
  }
  section#bnr_section .bnr .bnr_title {
    color: #cc0000;
    font-weight: bold;
    font-size: 4rem;
    letter-spacing: 0.04em;
    height: 7rem;
    margin-bottom: 3.3rem;
    line-height: 1;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  section#bnr_section .bnr .bnr_title:before {
    content: "";
    display: inline-block;
    width: 7rem;
    height: 7rem;
    background: url(../images/app_icon.svg) center center/7rem 7rem no-repeat;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0.7rem 0.7rem 1rem 0 rgba(0, 0, 0, 0.1);
    margin-right: 2rem;
  }
  section#bnr_section .bnr .feature_app {
    margin: 0 auto 2.1rem;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  section#bnr_section .bnr .feature_app li {
    width: 17rem;
    height: 15.4rem;
    margin: 0 1.2rem;
  }
  section#bnr_section .bnr .feature_app li .icon {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    width: 6rem;
    height: 6rem;
    background: #cc0000;
    color: #fff;
    font-size: 1.6rem;
    line-height: 1.9rem;
    letter-spacing: 0.04em;
    padding-left: 0.04em;
    font-weight: bold;
    left: -1.2rem;
    top: -1.9rem;
    border-radius: 3rem;
  }
  section#bnr_section .bnr .feature_app li .icon.double {
    font-size: 1.5rem;
  }
  section#bnr_section .bnr .feature_app li .text {
    position: absolute;
    display: block;
    width: 100%;
    font-size: 1.5rem;
    line-height: 1;
    font-weight: bold;
    top: 12.3rem;
    left: 0;
  }
  section#bnr_section .bnr .link_text {
    font-size: 2rem;
    padding-left: 0.04em;
    line-height: 2.4rem;
    font-weight: bold;
    display: block;
    width: fit-content;
    margin: 0 auto;
    padding-right: 3.2rem;
    background: url(../images/bnr_arrow.svg) right center/2.4rem 2.4rem no-repeat;
  }
  section#bnr_section .note_list {
    margin-top: 3.6rem;
    font-size: 1.3rem;
    line-height: 2.4rem;
  }
  section.faq {
    padding-top: 4rem;
    padding-bottom: 12rem;
  }
  section.faq .section_title {
    /* letter-spacing: 0; */
    font-size: 3.2rem;
  }
  /* section.faq .faq_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    margin: 3rem auto 0;
    width: fit-content;
    font-size: 2rem;
    height: 3.2em;
    padding: 0 5em;
    border-radius: 0.8rem;
    background: #002a36;
    font-weight: bold;
    letter-spacing: 0.02em;
  } */
  section.error {
    padding: 100px 0 0;
  }
  section.error .link {
    font-size: 2.6rem;
    font-weight: bold;
    line-height: 140%;
    color: #0b2a3a;
    letter-spacing: 0.012em;
  }
  section.error .section_title {
    margin: 3.5rem auto 0;
  }
  footer .footer_nav {
    display: flex;
    align-items: center;
    padding: 2rem 33px;
  }
  footer .footer_nav ul {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    max-width: 1400px;
    margin: auto;
  }
  footer .footer_nav li {
    display: flex;
    flex-shrink: 0;
    align-items: center;
  }
  footer .footer_nav li a {
    font-family: Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, Noto Sans JP, sans-serif;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 300;
    line-height: 100%;
    color: #0b2a3a;
    letter-spacing: 0.012em;
    color: #6e828b;
  }
  footer .footer_nav li:not(:first-child):before {
    padding: 0 16px;
    font-family: Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, Noto Sans JP, sans-serif;
    font-size: 1.4rem;
    font-style: normal;
    font-weight: 300;
    line-height: 100%;
    color: #6e828b;
    letter-spacing: 0.012em;
    content: "|";
  }
  .sp {
    display: none !important;
  }
}
@media screen and (max-width: 750px) {
  html {
    font-size: 62.5%;
  }
}
@media only screen and (max-width: 750px) and (max-width: 374px) {
  html {
    font-size: 2.6666666667vw;
  }
}
@media screen and (max-width: 750px) {
  body {
    min-width: 320px;
  }
  #page404 {
    min-height: 100vh;
  }
  #page404 footer {
    position: fixed;
    bottom: 0;
    width: 100%;
  }
  article {
    width: 100%;
    overflow: hidden;
  }
  section .inner_wrap {
    width: calc(100% - 5rem);
    margin: 0 auto;
  }
  .skip {
    position: absolute;
    color: #002a36;
    font-size: 1.1rem;
    text-decoration: underline;
    left: 1.35rem;
    top: 6.4rem;
    z-index: 1;
  }
  section#mv .stop_play {
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    font-weight: 700;
    color: #fff;
    width: 4.7rem;
    height: 4.7rem;
    line-height: 1;
    font-size: 1.2rem;
    text-align: center;
    padding-top: 0.55rem;
    border-radius: 0.5rem;
    position: absolute;
    right: 1rem;
    bottom: 1.1rem;
    background: url(../images/icon_stop.svg) center calc(100% - 0.65rem)/1.9rem 1.9rem no-repeat #002a36;
  }
  section#mv .stop_play.bold {
    font-weight: 700;
  }
  section#mv .stop_play.play {
    background-image: url(../images/icon_play.svg);
  }
  section.cv {
    background: #c0dbe5;
    overflow: hidden;
  }
  section.cv.compact .inner_wrap {
    padding: 2rem 0 2rem;
  }
  section.cv .inner_wrap {
    width: 100%;
    padding: 3.2rem 0 2.5rem;
  }
  section.cv .inner_wrap .cv_title {
    width: 100%;
    font-weight: bold;
    font-size: 1.85rem;
    margin-bottom: 2.25rem;
    color: #002a36;
    left: calc(50% - 14.7rem);
    padding-left: 4.5rem;
    line-height: 3.5rem;
  }
  section.cv .inner_wrap .cv_title:before {
    content: "";
    display: inline-block;
    width: 3.5rem;
    height: 3.5rem;
    background: url(../images/app_icon.svg) center center/3.5rem 3.5rem no-repeat;
    border-radius: 1rem;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
  }
  section.cv .inner_wrap .app_icon {
    width: 3.5rem;
    height: 3.5rem;
    background: url(../images/app_icon.svg) center center/3.5rem 3.5rem no-repeat;
    border-radius: 1rem;
    overflow: hidden;
    position: absolute;
    left: calc(50% - 14.7rem);
    top: 3.2rem;
  }
  section.cv .inner_wrap .btn_set .btn_set_title {
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    font-weight: 700;
    width: fit-content;
    text-align: left;
    color: #002a36;
    font-size: 1.55rem;
    letter-spacing: -0.08em;
    font-weight: bold;
    margin-bottom: 1.8rem;
    line-height: 1;
    left: calc(50% - 14.7rem);
    padding-left: 4.1rem;
    padding-top: 1.3rem;
  }
  section.cv .inner_wrap .btn_set .btn_set_title.bold {
    font-weight: 700;
  }
  section.cv .inner_wrap .btn_set .icon_new {
    position: absolute;
    width: 4.1rem;
    height: 2.35rem;
    left: calc(50% - 10.5rem);
    top: -1.6rem;
  }
  section.cv .inner_wrap .btn_set .btn {
    display: block;
    width: 15.15rem;
    left: calc(50% - 14.7rem);
  }
  section.cv .inner_wrap .btn_set .btn img {
    width: 100%;
    height: 100%;
  }
  section.cv .inner_wrap .btn_set .btn.btn_appstore {
    height: 5.55rem;
  }
  section.cv .inner_wrap .btn_set .btn.btn_googleplay {
    height: 4.5rem;
    margin-top: 0.45rem;
  }
  section.cv .inner_wrap .sp_image {
    position: absolute;
    width: 11.95rem;
    bottom: -10.2rem;
    left: calc(50% + 2.65rem);
  }
  section.cv.float {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
  }
  section.cv.float.show {
    opacity: 1;
    pointer-events: auto;
  }
  section.cv.float .cv_title,
  section.cv.float .sp_image,
  section.cv.float .app_icon {
    display: none;
  }
  section.cv.float .inner_wrap {
    padding-top: 1rem;
  }
  section.cv.float .inner_wrap .btn_set {
    display: flex;
    flex-wrap: wrap;
    width: 31.55rem;
    margin-left: auto;
    margin-right: auto;
    justify-content: space-between;
    white-space: nowrap;
  }
  section.cv.float .inner_wrap .btn_set .btn_set_title {
    width: 100%;
    font-weight: bold;
    font-size: 1.7rem;
    text-align: center;
    margin-bottom: 0.85rem;
    color: #002a36;
    left: calc(50% - 15.75rem);
    line-height: 1;
    padding: 0 0 0.25rem;
    padding-left: 0;
  }
  section.cv.float .inner_wrap .btn_set .btn_set_title:before {
    content: "";
    display: none;
    width: 3.5rem;
    height: 3.5rem;
    background: url(../images/app_icon.svg) center center/3.5rem 3.5rem no-repeat;
    border-radius: 1rem;
    overflow: hidden;
    position: absolute;
    left: 0;
    top: 0;
  }
  section.cv.float .inner_wrap .btn_set .icon_new {
    width: 4.2rem;
    height: 1.75rem;
    left: calc(50% - 12.05rem);
    top: -0.8rem;
  }
  section.cv.float .inner_wrap .btn_set .btn {
    height: 5rem;
    width: auto;
    margin: 0;
    left: auto;
  }
  section.cv.float .inner_wrap .btn_set .btn.btn_appstore {
    width: 13.65rem;
  }
  section.cv.float .inner_wrap .btn_set .btn.btn_googleplay {
    width: 16.9rem;
  }
  section#nav_section {
    background: #fff;
    padding: 2.6rem 0 0;
  }
  section#nav_section .nav {
    width: calc(100% - 5rem);
    margin: 0 auto;
  }
  section#nav_section .nav.compact ul li a {
    height: 4rem;
    padding-left: 1.6rem;
  }
  section#nav_section .nav ul {
    width: 100%;
  }
  section#nav_section .nav ul li {
    width: 100%;
  }
  section#nav_section .nav ul li a {
    width: 100%;
    height: 6rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    text-align: left;
    border-radius: 0.5rem;
    border: #002a36 1px solid;
    font-size: 1.5rem;
    line-height: 1;
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    color: #002a36;
    background: url(../images/arrow.svg) calc(100% - 1.4rem) center/1.5rem 1.5rem no-repeat;
    padding-left: 2.5rem;
  }
  section#nav_section .nav ul li a.bold {
    font-weight: 700;
  }
  section#nav_section .nav ul li:nth-child(n+2) {
    margin-top: 1rem;
  }
  section .section_title {
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    font-weight: 700;
    color: #002a36;
    /* letter-spacing: 0.02em; */
    font-size: 2.6rem;
    font-feature-settings: "palt";
    white-space: nowrap;
    line-height: 1;
    height: 3rem;
    text-align: center;
    margin-bottom: 3.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  section .section_title.bold {
    font-weight: 700;
  }
  section .main_text {
    font-size: 1.8rem;
    line-height: 2.8rem;
  }
  section#about_app {
    padding-top: 10rem;
    padding-bottom: 6.95rem;
  }
  section#about_app .section_title:before {
    content: "";
    display: inline-block;
    width: 3rem;
    height: 3rem;
    background: url(../images/app_icon.svg) center center/3rem 3rem no-repeat;
    border-radius: 1rem;
    overflow: hidden;
    box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.2);
    margin-right: 0.75rem;
  }
  section#about_app .feature_id {
    margin: 7.5rem auto 5.05rem;
    width: 100%;
  }
  section#about_app .feature_id .feature {
    padding: 1.95rem 0 2.4rem;
    width: 100%;
    background: #f2f8fa;
    border-radius: 1.5rem;
  }
  section#about_app .feature_id .feature dt {
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    text-align: center;
    color: #002a36;
    font-size: 2.4rem;
    line-height: 3.4rem;
    margin-bottom: 2.25rem;
    white-space: nowrap;
  }
  section#about_app .feature_id .feature dt.bold {
    font-weight: 700;
  }
  section#about_app .feature_id .feature .text {
    font-size: 1.6rem;
    line-height: 2.8rem;
    text-align: justify;
    padding: 0 2.55rem;
  }
  section#about_app .feature_id .feature .id_note {
    font-size: 1.2rem;
    line-height: 3.55rem;
    height: 3.55rem;
    padding: 0 2.55rem;
    padding-right: 8.55rem;
    text-align: right;
    margin-top: 1.5rem;
    background: url(../images/ico_id.svg?0516) calc(100% - 2.55rem) center/3.2rem 3.55rem no-repeat;
  }
  section#about_app .feature_id .feature .note {
    font-size: 1.2rem;
    line-height: 1.7rem;
    padding: 0 2.55rem;
    margin-top: 1.5rem;
  }
  section#about_app .feature_id .feature .note a {
    color: #000;
    text-decoration: underline;
  }
  section#about_app .feature_id .feature .img {
    display: block;
    width: auto;
    height: 17.1rem;
    margin: 0 auto 2.45rem;
  }
  section#about_app .feature_id .feature:nth-child(n+2) {
    margin-top: 2.5rem;
  }
  section#about_app .main_text.id_text {
    padding-top: 8.35rem;
    background: url(../images/ico_id.svg?0516) center top/5.8rem 6.5rem no-repeat;
    font-size: 1.6rem;
    line-height: 2.8rem;
  }
  section#about_app .link_btn,
  section#about_sumahowari .link_btn {
    display: block;
    margin: 1.5rem auto 0;
    width: 26rem;
    height: 5rem;
    border-radius: 1rem;
    background: #c0dbe5;
    color: #002a36;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    /* font-family: "zen-kaku-gothic-new", sans-serif; */
    font-weight: 500;
    font-style: normal;
    font-weight: 700;
    font-size: 2rem;
  }
  section#about_app .link_btn.bold {
    font-weight: 700;
  }
  section#about_app .link_btn:after,
	section#about_sumahowari .link_btn:after {
    content: "";
    display: block;
    width: 1.8rem;
    height: 1.8rem;
    margin-left: 1.2rem;
    background: url(../images/icon_link.svg) center center/1.8rem 1.8rem no-repeat;
  }
  section#users_voice {
    padding-top: 10rem;
  }
  section#users_voice .section_title {
    height: auto;
    line-height: 1.4;
  }
  section#users_voice .voice_set {
    width: 100%;
    margin: 0 auto 0;
  }
  section#users_voice .voice_set:after {
    content: "";
    display: block;
    clear: both;
  }
  section#users_voice .voice_set .voice {
    display: block;
    width: 30rem;
    float: left;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0.35rem 0.35rem 1.5rem 0 rgba(0, 0, 0, 0.2);
    padding: 5.25rem 2.5rem 2.55rem;
    padding-top: 2.5rem;
    clear: both;
    min-height: 12rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  section#users_voice .voice_set .voice dt {
    font-size: 1.6rem;
    font-weight: bold;
    color: #646464;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
    margin-bottom: 4.15rem;
    padding-left: 8.9rem;
  }
  section#users_voice .voice_set .voice .pic {
    position: absolute;
    width: 7rem;
    left: 2.5rem;
    top: 2.5rem;
  }
  section#users_voice .voice_set .voice .text {
    font-size: 1.6rem;
    line-height: 2.5rem;
    text-align: justify;
    letter-spacing: -0.04em;
    padding-left: 8.9rem;
  }
  section#users_voice .voice_set .voice.voice2 {
    float: right;
    margin-top: -1rem;
    z-index: 1;
  }
  section#users_voice .voice_set .voice.voice3 {
    margin-top: -1rem;
  }
  section#users_voice .more_btn {
    display: block;
    width: fit-content;
    margin: 2.95rem auto 0;
    font-size: 1.6rem;
    line-height: 1.6rem;
    height: 1.6rem;
    font-weight: bold;
    color: #002a36;
    letter-spacing: 0.04em;
    padding-right: 2.5rem;
    background: url(../images/link_arrow.svg) calc(100% - 0.1rem) center/1.55rem 1.55rem no-repeat;
  }
  section#contents {
    padding-top: 7.5rem;
    padding-bottom: 2.5rem;
  }
  section#contents .bnr_set {
    margin-top: 4.5rem;
  }
  section#contents .content_bnr {
    display: block;
    width: 100%;
    background: #fff;
    border-radius: 1rem;
    box-shadow: 0.35rem 0.35rem 1.5rem 0 rgba(0, 0, 0, 0.2);
    padding: 1.25rem;
    color: #000;
  }
  section#contents .content_bnr:after {
    content: "";
    clear: both;
    display: block;
  }
  section#contents .content_bnr .pic {
    width: 100%;
    margin-bottom: 1.45rem;
  }
  section#contents .content_bnr .text {
    font-size: 1.6rem;
    line-height: 2.5rem;
  }
  section#contents .content_bnr .btn {
    display: block;
    width: 11rem;
    height: 3rem;
    line-height: 3rem;
    font-size: 1.3rem;
    background: url(../images/content_arrow.svg) calc(100% - 0.7rem) center/1.5rem 1.5rem no-repeat, #cc0000;
    color: #fff;
    float: right;
    padding-right: 1.4rem;
    text-align: center;
    font-weight: bold;
    border-radius: 1.5rem;
    margin-top: 0.65rem;
  }
  section#contents .content_bnr:nth-child(n+2) {
    margin-top: 2.5rem;
  }
  section#contents .more_btn {
    display: block;
    width: 100%;
    margin: 2.5rem auto 0;
  }
  section#bnr_section {
    padding-top: 7.5rem;
    padding-bottom: 3rem;
  }
  section#bnr_section .bnr {
    display: block;
    border: #cc0000 1px solid;
    border-radius: 1rem;
    background: #fff;
    text-align: center;
    padding: 1.4rem 0 1.8rem;
    color: #cc0000;
    margin: 0 auto;
  }
  section#bnr_section .bnr .bnr_title {
    color: #cc0000;
    font-weight: bold;
    font-size: 2.3rem;
    letter-spacing: 0.04em;
    height: 3.5rem;
    margin-bottom: 2.4rem;
    line-height: 1;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  section#bnr_section .bnr .bnr_title:before {
    content: "";
    display: inline-block;
    width: 3.5rem;
    height: 3.5rem;
    background: url(../images/app_icon.svg) center center/3.5rem 3.5rem no-repeat;
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0.35rem 0.35rem 0.5rem 0 rgba(0, 0, 0, 0.1);
    margin-right: 1.1rem;
  }
  section#bnr_section .bnr .feature_app {
    margin: 0 auto 1.5rem;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  section#bnr_section .bnr .feature_app li {
    width: calc(50% - 20px);
    box-sizing: border-box;
  }
  section#bnr_section .bnr .feature_app li .icon {
    display: block;
    position: absolute;
    width: 3.5rem;
    height: 3.5rem;
    background: #cc0000;
    color: #fff;
    font-size: 1.2rem;
    letter-spacing: 0.04em;
    padding-left: 0.04em;
    line-height: 3.5rem;
    font-weight: bold;
    left: -0.55rem;
    top: -1.4rem;
    border-radius: 1.75rem;
  }
  section#bnr_section .bnr .feature_app li .icon.double {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1rem;
    line-height: 1.25rem;
  }
  section#bnr_section .bnr .feature_app li .text {
    position: absolute;
    display: block;
    width: 100%;
    font-size: 1rem;
    line-height: 1.2;
    font-weight: bold;
    top: 6.8rem;
    transform: translateY(-50%);
    left: 0;
  }
  section#bnr_section .bnr .link_text {
    font-size: 1.6rem;
    padding-left: 0.04em;
    line-height: 1;
    font-weight: bold;
    display: block;
    width: fit-content;
    margin: 0 auto;
    padding-right: 2.4rem;
    background: url(../images/bnr_arrow.svg) right center/1.55rem 1.55rem no-repeat;
  }
  section#bnr_section .note_list {
    margin-top: 2.75rem;
    font-size: 1.3rem;
    line-height: 1.8rem;
    text-indent: -1em;
    padding-left: 1em;
  }
  section.faq {
    /* padding-top: 4rem; */
    padding-bottom: 4rem;
  }
  section.faq .section_title {
    font-size: 2.1rem;
    line-height: 1.5;
    height: auto;
    margin-bottom: 1.5rem;
  }
  /* section.faq .faq_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    margin: 2.1rem auto 0;
    width: fit-content;
    font-size: 1.6rem;
    height: 3.2em;
    padding: 0 3em;
    border-radius: 0.8rem;
    background: #002a36;
    font-weight: bold;
  } */
  section.error {
    padding: 2rem 0 5rem;
  }
  section.error .link {
    font-size: 2.6rem;
    font-weight: bold;
    line-height: 140%;
    color: #0b2a3a;
    letter-spacing: 0.012em;
  }
  section.error .section_title {
    margin: 3.5rem auto 0;
    line-height: 1.3;
  }
  footer .footer_nav {
    display: flex;
    align-items: center;
    padding: 0 2.4rem;
    margin: 3.2rem 0;
  }
  footer .footer_nav ul {
    display: grid;
    flex-wrap: wrap;
    gap: 2rem;
  }
  footer .footer_nav li {
    display: flex;
    flex-shrink: 0;
    align-items: center;
  }
  footer .footer_nav li a {
    font-family: Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, Noto Sans JP, sans-serif;
    font-size: 1rem;
    font-style: normal;
    font-weight: 300;
    line-height: 160%;
    color: #0b2a3a;
    letter-spacing: 0.012em;
    color: #6e828b;
  }
  .pc {
    display: none !important;
  }
}


/* 共通 */
.icon3 {
  width: 20px;
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
}
.under_y {
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 0, 0.6);
  text-decoration-thickness: 7px;
  text-underline-offset: -2px;
  display: inline;
}
.content_head p {
  font-weight: bold;
  line-height: 1.3;
}
.content_head span {
  margin: 10px 0;
  font-size: 1.8rem;
  letter-spacing: 1px;
}
@media screen and (max-width: 750px) {
  .m3p_y {
    margin: 12% auto;
  }
  .icon3 {
    width: 20px;
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
  }
  .w30 {
    width: 100%;
  }
  .w32 {
    width: 100%;
  }
  .notes li {
    font-size: 1.3rem !important;
  }
  .inner {
    width: 95%;
  }
  #section3 .content_head {
    margin: 60px auto 40px auto;
  }
  .content_head span {
    font-size: 1.2rem;
  }
}

/* KV */
.mvImage {
  display: block;
  width: min(100% - 5rem, 110rem);
  position: relative;
  z-index: 1;
  margin-inline: auto
}
@media screen and (max-width: 750px) {
  .mvImage {
    width: auto;
  }
  .mvArea {
    margin: 5% 5% 0 5%;
  }
  .mvArea img {
    border-radius: 10px;
  }
}

/* ナビ */
@media screen and (max-width: 768px) {
  #mokuji .f03 {
    font-size: 19px;
  }
}

/* 枠 */
.wakuArea h4 {
  position: absolute;
  top: -30px;
  padding: 10px 15px;
  width: 95%;
  left: 50%;
  transform: translateX(-50%);
  background: rgb(255, 224, 119);
  max-width: 500px;
}
.wakuArea .cont {
  padding: 5% 0;
}
.wakuArea .cont {
  position: relative;
}
.wakuAreaSub h4 {
  position: absolute;
  top: -20px;
  padding: 5px 0;
  width: 95%;
  left: 50%;
  transform: translateX(-50%);
  max-width: 250px;
}
@media screen and (max-width: 750px) {
  .wakuAreaSub h4 {
    max-width: 200px;
  }
  .wakuArea .cont {
    padding: 10% 0;
  }
  .smallHeading {
    font-size: 1.6rem !important;
  }
}

/* ゆうパックスマホ割とは？ */
.spImage{
  text-align: center;
  margin: auto;
}
section#section1 .link_btn {
  display: block;
  height: 3.5rem;
  border-radius: 1rem;
  background: rgb(255, 224, 119);
  color: #002a36;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-size: 2rem;
  width: 80%;
}
section#section1 .link_btn::after {
  content: "";
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  background: url(../images/icon_link.svg) center center / 1.8rem 1.8rem no-repeat;
}
#section1 .sp_icon {
  background: #fff;
  border-radius: 50%;
}
@media screen and (min-width: 751px) {
  section#section1 .link_btn {
    margin: 1.5rem auto 0;
    width: 24rem;
  }
  section#section1 .link_btn::after {
    margin-left: 0.8rem;
  }
  section#section1 .btnWrapper .link_btn {
    width: 44.1rem;
    height: 8.1rem;
    line-height: 1.5;
    text-align: left;
    letter-spacing: 1px;
  }
  #section1 .sp_icon img {
    height: 80%;
  }
}
@media screen and (max-width: 750px) {
  section#section1 .link_btn {
    margin: 1.5rem auto 0;
    font-size: 1.4rem;
    max-width: 280px;
    width: 90%;
  }
  .btnWrapper .link_btn {
    -webkit-box-pack: justify !important;
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
    /* width: 26.5rem !important; */
    height: 7.1rem !important;
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
    text-align: left !important;
    padding-inline: 16px !important;
    margin-inline: 0 !important;
  }
  section#section1 .icon {
    width: 17.1rem;
    margin-inline: auto;
  }
  section#section1 .link_btn:after {
    margin-left: 1.2rem;
  }
  .contentList>li {
    padding: 30px 15px !important;
  }
  #section1 .sp_icon {
    margin: 0 auto 20px;
    height: 165px;
    width: 171px;
    text-align: center;
    align-content: center;
  }
  #section1 .sp_icon img {
    width: 13rem;
    margin: 10px auto 20px;
  }
}

/* 注意点 */


/* ゆうパックスマホ割の発送方法 */
#section3 .cont > h4 {
  text-align: left;
}
#section3 dt {
  /* font-family: "zen-kaku-gothic-new", sans-serif; */
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
  color: #0b2a3a;
  position: static;
  margin-bottom: 2.8rem
}
.wakuAreaSub > ul > li {
  padding: 5%;
}
@media print,screen and (min-width: 751px) {
  #section3 dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-column-gap: 2rem;
    -moz-column-gap: 2rem;
    column-gap: 2rem;
    font-size: 3.2rem;
    margin-bottom: 2.3rem
  }
}
@media screen and (max-width: 750px) {
  #section3 .cont {
    padding: 5% 0;
  }
  /* .wakuAreaSub > ul {
    margin: 25% auto 12% auto;
  } */
   #section3 dt {
    font-size: 18px;
   }
}


/* 臨時引受ブースからの発送方法  */
#section4 .howTo {
  padding: 5%;
}
.descriptionList {
  margin: 5% 0 0;
}
.descriptionList li {
  padding: 5%;
  font-weight: bold;
  letter-spacing: 1px;
}
@media screen and (max-width: 750px) {
  .descriptionList {
    margin: 10% 0 0;
  }
}

/* 現地で発売している包装用品一覧 */
.housouList {
  display: grid;
  grid-template-columns: repeat(3, 28%);
  gap: 16px;
  justify-content: center;
}
.housouList > li {
  justify-items: center;
}
.housouList p {
  font-size: 1.1rem;
  line-height: 1.7333333333;
  font-weight: bold;
  letter-spacing: 1px;
	text-align: center;
}
#section6 .housouList img {
  max-width: 250px;
  border-radius: 10px;
}
@media print,screen and (min-width: 751px) {
  .housouList p {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 750px) {
  .housouList {
    grid-template-columns: repeat(2, 48%);
    gap:10px;
  }
  .housouList p {
    font-size: 2vw;
    line-height: 1.7;
    white-space: nowrap;
  }
}


/* よくある質問 */
#faq {
  letter-spacing: 0.3em;
}
#faq .faq_link {
  font-size: 1.8rem;
  text-decoration: underline;
  display: block;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  #faq .faq_link {
    font-size: 12px;
    letter-spacing: 1px;
  }
}

/* アプリDL QR */
#download div.app_qr {
  width: 33%;
  padding: 0;
}
.app_qr ul {
  display: flex;
  align-items: center;
  justify-self: center;
  gap: 20px;
}
.app_qr ul li {
  width: 100%;
  text-align: center;
  justify-items: center;
}
.app_qr ul li img {
  width: 110px;
  height: auto;
}
.app_qr ul li .banner img {
  width: auto;
  height: 45px;
}
@media screen and (max-width: 750px) {
  .app_qr {
    display: none;
  }
}