@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 !important;
    }
    .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;
		padding-top: 8.85vw;
        padding-bottom: 5.66vw;
	}

	#wrapMv .mv{
		position: relative;
		height: 99.22vw;
		background: url("../img/mvSpBg.jpg") no-repeat;
		background-position: center;
		background-size: cover;
	}

	#wrapMv .mv p{
		position: relative;
		width: 100vw;
		height: 99.7vw;
		background: url("../img/mvSp.png?20250711") no-repeat;
		background-size: 96.22vw 95.18vw;
		background-position: 1.43vw 5vw;
		margin: 0 auto;
	}

	#wrapMv .txtMain{
		width: 91.41vw;
		font-size: 3.65vw;
		font-weight: 400;
		line-height: 1.57;
		letter-spacing: 0;
		margin: 5.21vw auto 0;
		padding: 0 2.5vw;
	}

	#wrapMv .txtMain span{
		display: block;
		font-size: 3.13vw;
		line-height: 1.58;
		font-weight: 300;
		margin-top: 3vw;
	}

    #wrapMv #movieBox {
        width: 91.41vw;
        height: 115.49vw;
		margin: 6vw auto 8.46vw;
    }
	
	#wrapMv #movieBox p:nth-child(1){
		font-size: 3.52vw;
		width: 57.81vw;
		height: 6.52vw;
		border-radius: 3.26vw;
		padding-top: 0.4vw;
		padding-left: 2.2vw;
		margin-bottom: 1.8vw;
	}
	
	#wrapMv #movieBox p:nth-child(3){
		font-size: 3.78vw;
		margin-top: 3.0vw;
		margin-bottom: 1.3vw;
	}

	#wrapMv #movieBox video.video1 {
        box-sizing: content-box;
        width: 72.92vw;
        height: 41.02vw;
		border: solid 0.52vw #fff;
    }
	
	#wrapMv #campaign{
		position: relative;
		width: 91.54vw;
		height: 68.62vw;
		border: solid 0.52vw #f15a24;
		margin: 0 auto;
	}

	#wrapMv #campaign .title{
		width: 52.86vw;
		height: 10.16vw;
		background: url("../img/titleCampaignSp.svg") no-repeat;
	}

	#wrapMv #campaign .imgCampaign{
		width: 72.92vw;
		height: 14.06vw;
		background: url("../img/imgCampaignSp.svg") no-repeat;
		margin: 4.6vw auto 3.0vw;
	}

	#wrapMv #campaign .msg{
		font-size: 4.01vw;
		font-weight: 700;
		line-height: 2.0;
	}

	#wrapMv #campaign .msg .underL{
		border-bottom: solid 0.26vw #f55d58;
		padding-bottom: 0.5vw;
	}

	#wrapMv #campaign .msg .lHight{
		line-height: 1.5;
	}
	
	#wrapMv #campaign .msg .txt1{
		font-size: 4.01vw;
	}

	#wrapMv #campaign .msg .txt2{
		font-size: 7.16vw;
	}

	#wrapMv #campaign .msg .txt3{
		font-size: 4.3vw;
	}

	#wrapMv #campaign .msg .txt4{
		font-size: 3.72vw;
	}

    /* 申し込みフォーム
    ------------------------------------- */
    #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: 100vw;
        margin: 0 auto;
        padding: 9.11vw 0 12vw;
        font-size: 3.65vw;
        line-height: 1.57;
        text-align: center;
    }
	#forms #boxForm #titleLib {
		width: 79.43vw;
		height: 9.24vw;
		margin: 0vw auto 3vw;
	}

    #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: 2.6vw 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 0.13vw #cccccc;
        font-size: 4.17vw;
        line-height: 1.44;
    }

    #forms table.tableMain.confirm tr{
        border: solid 0.13vw #cccccc;
    }
    
    #forms table.tableMain th {
        width: 94vw;
        display: block;
        margin: 5vw 0 0 0;
        position: relative;
        background: #fff;
        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.6%;
        padding: 2.86vw 2.34vw;
        display: table-cell;
    }

    #forms table.tableMain.confirm th p.txtSml{
        font-size: 3.65vw;
    }
    
    #forms table.tableMain.confirm td{
        width: 66.4%;
        padding: 2vw 3vw;
        display: table-cell;
    }
    
    #forms table.tableMain 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 #box_pdselect {
        padding: 4vw 2vw;
    }
    #forms #box_pdselect table#pdselect {
        font-size: 4.43vw;
        width: 100%;
    }
    #forms #box_pdselect table#pdselect td.pdselect1 {
        width: 6.25vw;
        padding: 0.3vw 0.3vw 2vw;
        display: inline-block;
    }
    #forms #box_pdselect table#pdselect td.pdselect2 {
        font-size: 4.43vw;
        padding: 0.6vw 0.3vw 2vw;
        width: 80%;
        display: inline-block;
    }
    #forms #box_pdselect table#pdselect td.pdselect3 {
        display: block;
        width: 100%;
        padding-top: 2vw;
        padding-left: 6.25vw;
        padding-bottom: 5vw;
        margin: -2vw;
        font-size: 4.43vw;
        line-height: 1.57;
        vertical-align: top;
        background-color: transparent;
    }
    #boxForm table#pdselect td.pdselect3 .pulldownBox1 {
        margin-top: 2vw;
        border: solid 0.4vw #DE9E9E;
        padding: 0.6vw 3.4vw;
    }
    #boxForm table#pdselect td.pdselect3 .pulldownBox2 {
        border: 0.4vw #DE9E9E;
        border-style: none solid solid solid;
        padding: 0.6vw 3.4vw;
    }
    #boxForm table#pdselect td.pdselect3 .txtTitle {
        display: block;
        margin-bottom: -1.5vw;
    }
    #forms #box_pdselect table#pdselect .pdselect3.caption,
    #forms #box_pdselect table#pdselect .pdselect3 p.caution,
    #forms #box_pdselect table#pdselect .pdselect3 p.caption{
        line-height: 1.57 !important;
        font-size: 3.65vw !important;
    }
    
    #boxForm table#pdselect td.pdselect3 select {
        border: solid 0.4vw #DE9E9E;
        font-size: 3.4vw;
        border-radius: 0;
        color: #000;
        width: 13vw;
    }
    #boxForm table#pdselect td.pdselect3 radio{
        
    }
    #boxForm table#pdselect td.formpulldown {
        line-height: 200%;
    }


    #boxForm table#mainTable td#box_serviceselect {
        background-color: #ffe6e7;
        border: solid 0.4vw #ccc;
        margin-top: 2vw;
        padding: 2vw 3vw;
    }
    #boxForm table#serviceselect {
        width: 100%;
    }
    #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.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 td#nameBoxSelect {
        padding: 0.1vw 2.6vw 2.6vw;
        font-size: 4.43vw;
        margin-bottom: 1vw;
    }
    #forms table.tableMain td#nameBoxSelect ul {
        margin: 0;
        width: 100%;
    }
    #forms table.tableMain td#nameBoxSelect ul li {
        position: relative;
        width: 100%;
        height: auto;
        display: block;
    }
    #forms table.tableMain td#nameBoxSelect ul li:nth-child(1) {
        font-weight: 400;
        font-size: 4.43vw;
        line-height: 2.4;
        padding-bottom: 2.0vw;
    }
    
    #forms table.tableMain td#nameBoxSelect ul li:first-child::after {
        display: none;
    }
    #forms table.tableMain td#nameBoxSelect ul li:nth-child(2)::after{
        display: none;
    }
    #forms table.tableMain td#nameBoxSelect ul li p {
        width: 100%;
        font-size: 4.43vw;
        margin: 3vw auto 1.5vw;
    }
    #forms table.tableMain td#nameBoxSelect ul li .boxName {
        display: flex;
        flex-flow: row wrap;
        justify-content: flex-start;
        align-items: center;
        border: solid 0.13vw #DE9E9E;
        padding: 2vw 4.5vw;
    }
    #forms table.tableMain td#nameBoxSelect ul li .boxName p {
        font-size: 4.43vw;
        width: 5.16vw;
    }
    #forms table.tableMain td#nameBoxSelect ul li .boxName input {
        margin: 1vw 0 1vw;
    }
    #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 !important;
    }
    #forms table.tableMain.inputTable th.required {
        background: none;
        border: none;
    }
    #forms table.tableMain.confirm th.required {
        background: #FAF3DE !important;
    }
    #forms table.tableMain th.required span {
        position: relative;
    }
    #forms table.tableMain.inputTable th.required span::after {
        position: absolute;
        content: "";
        width: 7.81vw;
        height: 4.69vw;
        background: url("../img/iconRequiredSp.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/iconRequiredSp.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="checkbox"], #forms table.tableMain input[type="radio"] {
        width: 5.21vw;
        height: 5.21vw;
        margin-right: 1vw;
    }
    #forms table.tableMain input[type="text"]#inputCheck_Org {
        width: 87.76vw;
    }
    #forms table.tableMain input[type="text"]#inputCheck_Name1_1,
	#forms table.tableMain input[type="text"]#inputCheck_Name1_2,
	#forms table.tableMain input[type="text"]#inputCheck_Name1_3,
	#forms table.tableMain input[type="text"]#inputCheck_Name1_4 {
        width: 69.53vw;
    }    #forms table.tableMain input[type="text"]#inputCheck_Tantou {
        width: 87.76vw;
    }
    #forms table.tableMain input[type="text"]#inputCheck_Zip {
        width: 87.76vw;
    }
    #forms table.tableMain input[type="text"]#inputCheck_Address {
        width: 87.76vw;
    }
    #forms table.tableMain input[type="tel"]#inputCheck_Tel,
	#forms table.tableMain input[type="text"]#inputCheck_RegiNum {
        width: 87.76vw;
    }
    #forms table.tableMain input[type="email"]#inputCheck_Email {
        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 #BoxConsent {
        margin: 0 auto 10.42vw;
        width: 67.97vw;
        height: 9.38vw;
        padding-left: 15px;
        border: solid 0.52vw #CCCCCC;
    }
    #forms #BoxConsent input {
        width: 5.21vw;
        height: 5.21vw;
        margin-right: 2vw;
    }
    #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;
    }
    #boxForm #BoxTerms {
        width: 94vw;
        border: solid 0.52vw #ccc;
        height: 35.9vw;
        margin: 0 auto 6.51vw;
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        background-color: #eee;
        color: #333;
        padding: 0;
    }
    #boxForm #BoxTerms #BoxTermsL {
        margin: 0;
        padding: 2.8vw 4.0vw;
        width: 100%;
        height: 8vw;
        line-height: 1.0;
        text-align: left;
        font-size: 4.17vw;
        background: none;
        font-weight: bold;
    }
    #boxForm #BoxTerms #BoxTermsR {
        margin: 0 auto 0;
        padding: 3vw;
        width: 97%;
        height: 25.2vw;
        font-size: 3.385vw;
        line-height: 1.23;
        background-color: #fff;
        border: solid 0.4vw #ccc;
    }
    #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;
    }
}