@charset "UTF-8";
/* Scss Document */
/* レスポンシブ設定
------------------------------------- */
@media screen and (max-width: 768px) {
    /* aタグ設定
    ------------------------------------- */
    a:hover {
        opacity: 1;
        filter: alpha(opacity=100);
        -ms-filter: "alpha(opacity=100)";
        -moz-opacity: 1;
        -khtml-opacity: 1;
        zoom: 1;
    }
    /* 基本設定
    ------------------------------------- */
    body {
        font-size: 2.8vw;
        min-width: 100%;
    }
    .pc {
        display: none;
    }
    .sp {
        display: inline-block;
    }
    img {
        width: 100%;
        height: auto;
    }
    /* ヘッダ
    ------------------------------------- */
    #header {
        width: 100vw;
        height: 8.85vw;
    }
    #header .logoThi {
        display: none;
    }
    #header .logoLic a {
        width: 30.99vw;
        height: 4.38vw;
        right: 52.73vw;
        top: 2.136vw;
    }
    #header .logoEoc a {
        width: 30.99vw;
        height: 4.38vw;
        right: 16vw;
        top: 2.136vw;
    }

    /* メインビジュアル
    ------------------------------------- */
    #wrapMv{
        width: 100vw;
        position: relative;
        padding-top: 8.85vw;
    }

    #wrapMv p.logo{
        position: absolute;
        top: 15vw;
        left: 4.43vw;
        width: 53.91vw;
        height: 8.85vw;
        background: url("../img/logoThi.svg") no-repeat;
        background-size: 100%;
        margin: 0;
    }

    #wrapMv p.badge{
        position: absolute;
        top: 11.22vw;
        left: 61.85vw;
        width: 35.55vw;
        height: 16.02vw;
        background: url("../img/budgeSp.svg") no-repeat;
        background-size: 100%;
        margin: 0;
    }

    #wrapMv #boxMv{
        width: 100vw;
        height: 247.79vw;
        background: url("../img/mvBgSp.png") no-repeat;
        background-size: 100%;
        margin: 21.61vw auto 0;
    }

    #wrapMv #boxMv p.txt1,
    #wrapMv #boxMv p.txt2{
        font-size: 3.26vw;
        line-height: 1.32;
    }

    #wrapMv #boxMv p.txt1{
        top: 70.11vw;
        left: 17.8vw;
    }

    #wrapMv #boxMv p.txt2{
        top: 68.36vw;
        left: 56.64vw;
    }

    #wrapMv #boxMv p.txtMain{
        font-size: 3.52vw;
        line-height: 1.78;
        text-align: left;
        top: 95.09vw;
        left: 11.33vw;
        width: 78.73vw;
    }

    #wrapMv #boxMv p.txtMain .txtBold{
        font-size: 3.91vw;
    }

    #wrapMv #boxMv p.txtMain .txtRed{
        font-size: 3.91vw;
    }

    #wrapMv #boxMv p.txtMain .uline{
        border-bottom: solid 2px #f00;
    }

    #wrapMv #boxMv p.ttl{
        display: none;
    }

    #wrapMv #boxMv p.txt3{
        font-size: 3.52vw;
        top: 157.21vw;
        left: 26.82vw;
    }

    #wrapMv #boxMv p.txt4{
        font-size: 3.52vw;
        line-height: 1.41;
        top: 166.85vw;
        left: 18.71vw;
    }

    #wrapMv #boxMv p.txt4 span{
        font-size: 3.13vw;
    }

    #wrapMv #boxMv p.txt5{
        font-size: 3.78vw;
        line-height: 1.18;
        top: 167.75vw;
        left: 51.66vw;
    }

    #wrapMv #boxMv p.txt5 span.txtColor{
        font-size: 3.58vw;
        font-weight: 600;
        margin-bottom: -1.2em;
        transform: scaleX(0.8); /* 横幅80%に縮める（長体） */
        transform-origin: center center; /* 左寄せで縮める（中央基準も可） */
    }

    #wrapMv #boxMv p.txt5 span.txtPrice{
        font-size: 4.17vw;
    }

    #wrapMv #boxMv p.txt5 span.txtSml{
        font-size: 3.13vw;
    }

    #wrapMv #boxMv p.txt6{
        font-size: 3.65vw;
        top: 206.16vw;
        left: 16.56vw;
        letter-spacing: 1.0px;
    }

    #wrapMv p.btnApply{
        width: 67.71vw;
        height: 16.15vw;
        background: url("../img/btnApplySp.svg") no-repeat;
        background-size: 100%;
        margin: 7.81vw auto 7.81vw;
        filter: drop-shadow(0 0.26vw 0.26vw rgba(0, 0, 0, 0.15));
    }

    /* ロールオーバー時に少し明るく */
    #wrapMv p.btnApply:hover {
      filter: brightness(1.1); /* 少し明るくする */
      /*opacity: 0.9;*/            /* または少し透明にするならここを調整 */
    }

    /* クリック時に右下にずれる */
    #wrapMv p.btnApply:active {
      transform: translate(0.26vw, 0.26vw);
}

    /* 機能紹介
    ------------------------------------- */
    #wrapFunction{
        width: 100vw;
        padding-top: 7.55vw;
        padding-bottom: 8.59vw;
    }

    #wrapFunction h1{
        font-size: 4.43vw;
        top: 1.24vw;
        left: 7.81vw;
    }

    #wrapFunction p.title1,
    #wrapFunction p.title2,
    #wrapFunction p.title3{
        font-size: 3.91vw;
        left: 7.16vw;
        width: 73.44vw;
    }

    #wrapFunction p.txt1,
    #wrapFunction p.txt2,
    #wrapFunction p.txt3{
        font-size: 3.52vw;
        left: 7.16vw;
        width: 73.44vw;
    }

    #wrapFunction #box1{
        width: 85.94vw;
        height: 240.76vw;
        background: url("../img/funcBg1Sp.png") no-repeat;
        background-size: 100%;
    }

    #wrapFunction #box1 p.title1{ top: 14.23vw; }
    #wrapFunction #box1 p.txt1{ top: 21.39vw; }
    #wrapFunction #box1 p.title2{ top: 96.87vw; }
    #wrapFunction #box1 p.txt2{ top: 104.03vw; }
    #wrapFunction #box1 p.title3{ top: 174.49vw; }
    #wrapFunction #box1 p.txt3{ top: 181.65vw; }

    #wrapFunction #box2{
        width: 85.94vw;
        height: 168.62vw;
        background: url("../img/funcBg2Sp.png") no-repeat;
        background-size: 100%;
        margin: 7.81vw auto 0;
    }

    #wrapFunction #box2 p.title1{ top: 14.23vw; }
    #wrapFunction #box2 p.txt1{ top: 21.39vw; }
    #wrapFunction #box2 p.title2{ top: 96.87vw; }
    #wrapFunction #box2 p.txt2{ top: 104.03vw; }

    /* 申し込みフォーム
    ------------------------------------- */
    #forms{
        padding-top: 0;
        padding-bottom: 0;
        border: none;
    }

    #forms.confirm #boxForm{
        margin: 0 auto 6.07vw;
        padding-top: 18vw;
    }
    
    #forms.result{
        padding-bottom: 0;
    }

    #forms.result #boxForm{
        margin: 0 auto 6.07vw;
        padding-top: 18vw;
    }

    #forms.result #boxForm .boxResultMsg{
        width: 88.8vw;
        padding: 9.38vw 0 9.38vw;
        margin: 0 auto;
    }

    #forms.result #boxForm .boxResultMsg p:nth-child(1){
        font-size: 5.21vw;
    }

    #forms.result #boxForm .boxResultMsg p:nth-child(2){
        font-size: 4.43vw;
        line-height: 1.53;
        margin-top: 6.51vw;
    }

    #forms #boxForm{
        width: 100%;
        margin: 0 auto;
        padding: 9.11vw 0 12vw;
        font-size: 3.65vw;
        line-height: 1.57;
        text-align: center;
    }

    #forms #boxForm #txtTitle1 {
        font-size: 5.52vw;
        letter-spacing: 0;
    }
    #forms #boxForm #txtTitle1 .small {
        font-size: 4.06vw;
    }
    #forms #boxForm #txtTitle2 {
        font-size: 3.52vw;
        margin: 4.95vw auto 4.95vw;
        letter-spacing: -0.08em;
    }
    #forms #boxForm #formTitle {
        height: 7.29vw;
        font-size: 4.17vw;
        line-height: 1.65;
        margin: 0 auto 0;
    }

    #forms #boxForm h1{
        margin: 0 auto 8.07vw;
        color: #717071;
        font-size: 5.21vw;
        border-bottom: solid 0.78vw #D25D5D;    
    }

    #forms #boxForm p.txtLead{
        margin: 0 auto 3.8vw;
        font-size: 3.65vw;
        line-height: 1.57;
        text-align: left;
        width: 90vw;
        padding: 0;
    }

    #forms #boxForm p.txtLead span.txtRed{
        margin-top: 4.0vw;
    }

    #forms table.tableMain{
        width: 94vw;
        margin: 0 auto;
        text-align: left;
        font-size: 4.43vw;
        line-height: 1.35;
        border: none;
        background-clip: padding-box;/*FireFox用対策*/
    }

    #forms table.tableMain.confirm{
        border: solid 1px #cccccc;
        font-size: 4.17vw;
        line-height: 1.44;
    }

    #forms table.tableMain.inputTable th{
        width: 94vw;
        display: block;
        margin: 5vw 0 0 0;
        position: relative;
        background: #fff !important;
        line-height: 1.35;
        padding: 0 0 1.3vw 2.34vw;
        border: none;
        background-clip: padding-box;/*FireFox用対策*/
    }

    #forms table.tableMain.confirm th{
        width: 27.6vw;
        padding: 0;
    }

    #forms table.tableMain.confirm th p.txtSml{
        font-size: 3.65vw;
    }
    
    #forms table.tableMain.confirm td{
        width: 66.4vw;
        padding: 2vw 3vw;
    }

    #forms table.tableMain.inputTable td{
        width: 94vw;
        display: block;
        margin: 0;

        position: relative;
        background: #fff;
        line-height: 1.375;
        padding: 0 0 0 2.8vw;
        border: none;
        background-clip: padding-box;/*FireFox用対策*/
    }

    #forms table.tableMain td#boxService{
        border: solid 1px #cccccc;
        padding: 4.69vw;
    }
    
    #forms table.tableMain.confirm th{
        padding: 2.86vw 2.34vw;
    }

    #forms table.tableMain td#boxService ul li{
        position: relative;
        margin-top: 0;
        margin-bottom: 2.86vw;
        line-height: 1.35;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
    }

    #forms table.tableMain td#boxService ul li input{
        position: relative;
        width: 5.21vw;
        height: 5.21vw;
        top: 0.6vw;
        margin-right: 1.6vw;
    }

    #forms table.tableMain td#boxService p{
        text-align: left;
        font-size: 3.65vw;
        font-weight: 300;
        margin-top: 4.0vw;
    }

    #forms table.tableMain td#boxDate{
        border: solid 1px #cccccc;
        padding: 4.95vw;
    }
    
    #forms table.tableMain td#boxDate ul li{
        position: relative;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        border: solid 1px #DE9E9E;
        padding: 3.13vw 6.51vw;
    }

    #forms table.tableMain td#boxDate ul li span:nth-child(1){
        margin: 0;
        width: 100%;
    }

    #forms table.tableMain td#boxDate ul li span:nth-child(3){
        position: relative;
        margin: 2vw 1.5vw;
        top: -0.5vw;
    }

    #forms table.tableMain td#boxDate ul li span:nth-child(5){
        position: relative;
        margin: 0 1.5vw;
        top: -0.5vw;
    }

    #forms table.tableMain td#boxDate ul li span:nth-child(7){
        position: relative;
        margin: 0 1.5vw;
        top: -0.5vw;
    }

    #forms table.tableMain td#boxDate ul li span:nth-child(9){
        position: relative;
        margin: 0 1.5vw;
        top: -0.5vw;;
    }

    #forms table.tableMain td#boxDate p{
        text-align: left;
        font-size: 3.65vw;
        font-weight: 400;
        line-height: 1.57;
        margin-top: 3vw;
    }

    #forms table.tableMain td.confirmDate{
        line-height: 1.44;
    }

    #forms table.tableMain.inputTable td#boxDaihyou{
        border: solid 1px #cccccc;
        padding: 2vw 0;
    }
    
    #forms table.tableMain.inputTable td#boxDaihyou p{
        margin-left: 2.2vw;
    }
    
    #forms table.tableMain.inputTable td#boxDaihyou ul li{
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
        justify-content: flex-start;
        align-items: flex-start;
    }

    #forms table.tableMain.inputTable td#boxDaihyou ul li div.boxName{
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        padding: 1.4vw 6vw;
    }

    #forms table.tableMain.inputTable td#boxDaihyou ul li p{
        width: 100%;
        font-weight: 400;
        margin-bottom: 2vw;
    }

    #forms table.tableMain.inputTable td#boxDaihyou ul li div.boxName{
        border: solid 1px #DE9E9E;
        width: 88.54vw;
        height: 29.17vw;
        margin: 0 auto;
    }
    
    #forms table.tableMain.inputTable td#boxDaihyou ul li div.boxName p:nth-child(1){
        width: 5vw;
        margin-left: 0;
        margin-right: 1vw;
        margin-bottom: 1vw;
    }
    #forms table.tableMain.inputTable td#boxDaihyou ul li div.boxName p:nth-child(3){
        width: 5vw;
        margin-left: 0;
        margin-right: 1vw;
        margin-bottom: 0;
    }

    #forms table.tableMain.inputTable td#boxDaihyou ul li:nth-child(1){
        border: none;
    }

    #forms table.tableMain.inputTable td#boxDaihyou ul li:nth-child(2){
        padding: 0;
    }
    
    #forms table.tableMain.confirm td#boxDaihyou ul.confirmDaihyou li p:nth-child(1){
        font-size: 3.52vw;
        width: 11vw;
        line-height: 1.1;
    }
    #forms table.tableMain.confirm td#boxDaihyou ul.confirmDaihyou li p:nth-child(2){
        width: 3vw;
    }
    #forms table.tableMain.confirm td#boxDaihyou ul.confirmDaihyou li p:nth-child(3){
        margin: 0 0 0 2vw;
        width: 44vw;
    }

    #forms table.tableMain th p.txtAnnotation{
        position: absolute;
        font-size: 3.13vw;
        font-weight: 400;
        color: #808080;
        top: 1vw;
        right: 3.5vw;
    }
    
    #forms table.tableMain td span.txtAnnotation.pc{
        display: none;
    }
    
    #forms table.tableMain.inputTable th.required,
    #forms table.tableMain.inputTable th.any{
        background: none;
        border: none;
    }
    
    #forms table.tableMain.confirm th.required,
    #forms table.tableMain.confirm th.any{
        background: #FAF3DE;
    }
    
    #forms table.tableMain th.required span,
    #forms table.tableMain th.any span{
        position: relative;
    }
    
    #forms table.tableMain.inputTable th.required span::after{
        position: absolute;
        content: "";
        width: 7.81vw;
        height: 4.69vw;
        background: url("../img/iconRequired.svg") no-repeat;
        background-size: 7.81vw 4.69vw;
        top: 1.2vw;
        right: -10vw;
    }

    #forms table.tableMain.inputTable th.any span::after{
        position: absolute;
        content: "";
        width: 7.81vw;
        height: 4.69vw;
        background: url("../img/iconAny.svg") no-repeat;
        background-size: 7.81vw 4.69vw;
        top: 1.2vw;
        right: -10vw;
    }

    #forms table.tableMain.confirm th.required span::after{
        content: "";
        display: block;
        width: 7.81vw;
        height: 4.69vw;
        background: url("../img/iconRequired.svg") no-repeat;
        background-size: 7.81vw 4.69vw;
        margin-top: 0.5vw;
    }

    #forms table.tableMain.confirm th.any span::after{
        content: "";
        display: block;
        width: 7.81vw;
        height: 4.69vw;
        background: url("../img/iconAny.svg") no-repeat;
        background-size: 7.81vw 4.69vw;
        margin-top: 0.5vw;
    }

    #forms table.tableMain input[type="text"],
    #forms table.tableMain input[type="tel"],
    #forms table.tableMain input[type="email"]{

        height: 11.2vw;
        border: solid 1px #999999;
        border-radius: 0.78vw;
        font-size: 4.43vw;
        padding-left: 5.21vw;
    }

    #forms table.tableMain select{
        width: 16.02vw;
        height: 5.73vw;
        border: 1px solid #DE9E9E;
        border-radius: 0px;
        font-size: 4.17vw;
    }
    
    #forms table.tableMain input[type="text"]#inputCheck_Org{
        width: 87.76vw;
    }

    #forms table.tableMain input[type="text"]#inputCheck_Name1,
    #forms table.tableMain input[type="text"]#inputCheck_Name2{
        width: 69.53vw;
    }

    #forms table.tableMain input[type="text"]#inputCheck_Tantou{
        width: 87.76vw;
    }

    #forms table.tableMain input[type="tel"]#inputCheck_Tel{
        width: 87.76vw;
    }

    #forms table.tableMain input[type="email"]#inputCheck_Mail{
        width: 87.76vw;
    }

    #forms .boxPrivacy{
        width: 94vw;
        border: solid 0.52vw #CCCCCC;
        font-size: 3.39vw;
        font-weight: 400;
        line-height: 1.23;
        padding: 3.26vw 3.91vw;
        margin: 12vw auto 12vw;
    }

    #forms .boxPrivacy .txtBold{
        font-weight: 500;
        font-size: 4.17vw;
    }

    #forms .boxPrivacy.bottomNarrow{
        margin-bottom: 4.17vw !important;
    }

    #forms .boxTrial{
        width: 94vw;
        border: solid 0.52vw #CCCCCC;
        font-size: 3.65vw;
        line-height: 1.39;
        padding: 3.26vw 3.91vw;
        margin: 0 auto 6.25vw;
    }

    #forms #BoxConsent{
        margin: 0 auto 10.42vw;
        width: 67.97vw;
        height: 9.38vw;
        padding-left: 15px;
    }

    #forms #BoxConsent input{
        width: 5.21vw;
        height: 5.21vw;
    }
    
    #forms #BoxConsent p{
        padding-left: 2vw;
        font-size: 4.69vw;
    }

    #forms #BoxConsent.required{
        background: #fff url("../img/iconRequiredSp.svg") no-repeat;
        background-size: 7.81vw 4.69vw;
        background-position: right 2.34vw center;
    }

    #forms #boxFormBtn{
        width: 100vw;
        margin: 0 auto;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
    }

    #forms #boxFormBtn .btnSubmit{
        width: 52.08vw;
        height: 18.75vw;
        margin: 0 4vw 0 0;
        background: #E10001 url("../img/btnSubmitSp.svg") no-repeat;
        background-size: 52.08vw 18.75vw;
        border-radius: 2.73vw;
        border: none;
        transition: 0.4s;
        box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.10);
        opacity: 1.0;
    }

    #forms #boxFormBtn .btnCancel{
        width: 37.5vw;
        height: 18.75vw;
        margin: 0;
        background: #9E9E9F url("../img/btnCancelSp.svg") no-repeat;
        background-size: 37.5vw 18.75vw;
        border-radius: 2.73vw;
        border: none;
        transition: 0.4s;
        box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.10);
        opacity: 1.0;
    }

    #forms #boxFormBtn .btnSend{
        width: 52.08vw;
        height: 18.75vw;
        margin: 0 4vw 0 0;
        background: #9E9E9F url("../img/btnSendSp.svg") no-repeat;
        background-size: 52.08vw 18.75vw;
        border-radius: 2.73vw;
        border: none;
        transition: 0.4s;
        box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.10);
        opacity: 1.0;
    }

    #forms #boxFormBtn .btnBack{
        width: 37.5vw;
        height: 18.75vw;
        margin: 0;
        background: #9E9E9F url("../img/btnBackSp.svg") no-repeat;
        background-size: 37.5vw 18.75vw;
        border-radius: 2.73vw;
        border: none;
        transition: 0.4s;
        box-shadow: 0px 2px 2px 1px rgba(0, 0, 0, 0.10);
        opacity: 1.0;
    }

    /* フッタ
    ------------------------------------- */
    #boxFooter {
        width: 100vw;
    }
    #boxFooter .txtMsg {
        padding-top: 4.40vw;
        margin-bottom: 4.0vw;
        font-size: 3.39vw;
    }
    #boxFooter .txtToi {
        font-size: 3.65vw;
        width: 90.13vw;
        height: 5.73vw;
        border-radius: 2.86vw;
    }
    #boxFooter .txtLic {
        top: 24.00vw;
        left: 10.46vw;
        font-size: 2.86vw;
    }
    #boxFooter .txtEoc {
        top: 24.00vw;
        right: 32.68vw;
        font-size: 2.86vw;
    }
    #boxFooter .txtLic::before, #boxFooter .txtEoc::before {
        content: '';
        width: 2.08vw;
        height: 2.08vw;
        top: 1.14vw;
        left: -2.86vw;
    }
    #boxFooter .logoLic a {
        top: 30.65vw;
        left: 9.20vw;
        width: 37.32vw;
        height: 5.33vw;
    }
    #boxFooter .logoEoc a {
        top: 30.65vw;
        right: 9.00vw;
        width: 37.29vw;
        height: 5.46vw;
    }
    #boxFooter .txtTel {
        margin-top: 25.26vw;
        font-size: 5.86vw;
        line-height: 1.25;
    }
    #boxFooter .txtTel a {
        color: #fff;
        text-decoration: none;
    }
    #boxFooter .txtEmail {
        margin-top: 2.2vw;
        font-size: 4.3vw;
    }
    #boxFooter .txtCopyright {
        margin-top: 5.6vw;
        font-size: 2.34vw;
        padding-bottom: 4.43vw;
    }
}