@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: 8.46vw;
	}

	#wrapMv .mv{
		position: relative;
		height: 64.45vw;
		background: url("../img/mvSpBg.png") no-repeat;
		background-position: center;
		background-size: cover;
	}

	#wrapMv .mv p{
		position: relative;
		width: 100vw;
		height: 64.45vw;
		background: url("../img/mvSp.png?20251208") no-repeat;
		background-size: 95.31vw 46.74vw;
		background-position: 4.5vw 5vw;
		margin: 0 auto;
	}

	#wrapMv .txtMain{
		width: 83.33vw;
		font-size: 3.78vw;
		line-height: 1.59;
		letter-spacing: 0;
		display: block;
		margin: 1vw auto 0;
	}

	#wrapMv .txtMain span{
		display: block;
		font-size: 3.13vw;
		line-height: 1.25;
		font-weight: 300;
		margin-top: 4vw;
	}

    #wrapMv #movieBox {
        width: 88.54vw;
        height: 63.41vw;
		margin: 8vw auto 8.46vw;
    }
	
	#wrapMv #movieBox p{
		font-size: 3.78vw;
		width: 61.33vw;
		height: 7.94vw;
		border-radius: 3.78vw;
		padding-top: 0.78vw;
		padding-left: 1.95vw;
		margin-bottom: 2.73vw;
	}
	
    #wrapMv #movieBox video.video1 {
        box-sizing: content-box;
        width: 72.92vw;
        height: 41.02vw;
		border: solid 0.39vw #fff;
    }
	
	#wrapMv #campaign{
		position: relative;
		width: 91.02vw;
		height: 80.86vw;
		background: #d1efff;
		border: solid 0.39vw #70bbf7;
		margin: 0 auto;
		display: flex;
    	flex-direction: column;
    	flex-wrap: nowrap;
    	justify-content: center;
    	align-items: flex-start;
	}

	#wrapMv #campaign .badge{
		position: absolute;
		width: 27.73vw;
		height: 11.2vw;
		background: url("../img/badgeSp.svg") no-repeat;
		background-size: 100%;
		top: 4.95vw;
		right: 4.17vw;
	}

	#wrapMv #campaign .title{
		display: block;
		width: 63.28vw;
		height: 10.55vw;
		background: url("../img/titleCampaignSp.svg") no-repeat;
		margin-left: 6vw;
	}

	#wrapMv #campaign .msg{
		position: relative;
		display: block;
		width: 59.9vw;
		text-align: left;
		font-size: 3.52vw;
		font-weight: 400;
		line-height: 1.67;
		color: #231815;
		margin-top: 5vw;
		margin-bottom: 5vw;
		margin-left: 8vw;
	}

	#wrapMv #campaign .msg::after{
		position: absolute;
		content: "";
		display: block;
		width: 11.85vw;
		height: 16.28vw;
		background: url("../img/iconCampaign.svg") no-repeat;
		background-size: contain;
		top: 5.0vw;
		right: -15vw;
	}

	#wrapMv #campaign .contact{
		width: 80.73vw;
		height: 25.39vw;
		margin: 0 auto;
	}

	#wrapMv #campaign .contact p:nth-child(1){
		height: 4.69vw;
		font-size: 3.26vw;
		padding-top: 0;
		line-height: 1.4;
	}

	#wrapMv #campaign .contact p:nth-child(2){
		font-size: 5.21vw;
		margin-top: 2.0vw;
	}

	#wrapMv #campaign .contact p:nth-child(3){
		font-size: 3.52vw;
		margin-top: 1.2vw;
	}

    /* 申し込みフォーム
    ------------------------------------- */
    #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 #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 #txtTitle3 {
        font-size: 4.17vw;
        margin: 0 auto 2.3vw;
        letter-spacing: -0.08em;
		border: solid 0.26vw #6679b3;
		width: 57.81vw;
		height: 9.24vw;
		padding-top: 0.91vw;	
    }
	
    #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.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 !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,
    #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="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;
    }
}