<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "utf-8";

@media only screen and (max-width: 780px) {
    /*-----------------------------------------------------
        common
    -----------------------------------------------------*/
    body {
        font-size: 14px;
    }
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
    img.sp,
    span.sp {
        display: inline-block;
    }
    .inner {
        padding-left: 6%;
        padding-right: 6%;
        width: auto;
    }
	.flex_sp {
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		justify-content: space-between;
	}
    .btn_efc a:hover img {
        transform: translateY(1vw);
    }
    .tbl01,
    #contact table {
        font-size: 14px;
    }
    .tbl01 th,
    .tbl01 td,
    #contact th,
    #contact td {
        display: block;
        width: 100% !important;
        font-size: 14px;
        border: 0;
        margin: 0;
    }
	.tbl01 th,
    #contact th {
        font-size: 15px;
        padding: 2px 0;
	}
	.tbl01 td,
    #contact td {
		padding: 5px 0 0;
	}
	.frmbox li {
		display: block;
	}
	.frmbox li:nth-child(n+2) {
		margin-top: 3.2em;
	}
	.frmbox li .txtbox {
		position: relative;
		padding: 8vw 5% 9vw 9%;
		min-height: inherit;
	}
	.frmbox li .txtbox:before,
	.frmbox li .txtbox:after {
		width: 8vw;
		height: 16vw;
	}
	.frmbox li .txtbox:before {
		border-width: 3px 0 0 3px;
	}
	.frmbox li .txtbox:after {
		border-width: 0 3px 3px 0;
	}
	#sec01 .whtbox .wht .title {
		position: relative;
	}
	.frmbox li .txtbox .title {
		margin-bottom: 1em;
	}
	#sec01 .whtbox .wht .title dt {
		position: absolute;
		top: -14vw;
		left: 0;
		padding-top: 0;
	}
	#sec01 .whtbox .wht .title dt img,
	.frmbox li .txtbox .title dt img {
		height: 13vw;
	}
	#sec01 .whtbox .wht .title dd {
		font-size: 4.8vw;
		flex: 0 0 100%;
	}
	.frmbox li .txtbox .title dd {
		font-size: 5vw;
		flex: 0 0 calc(100% - 18%);
	}
	#sec01 .whtbox .wht .title dd .min {
		font-size: 4vw;
	}
	.frmbox li .txtbox .txt {
		font-size: 3.6vw;
		line-height: 1.7;
	}
	#sec01 .pic {
		flex: inherit;
		width: 100%;
	}
	#sec01 .pic .cap {
		font-size: 3.4vw;
	}
	.frmbox li .pic {
		margin-top: 1.5em;
	}
	.grp.txt label {
		font-size: 14px;
	}
	.grp.txt .set input {
		flex: 0 0 calc(100% - 35px);
		max-width: calc(100% - 35px);
	}
	.grp.rdo label,
	.grp.chk label {
	    border-width: 2px;
	    border-radius: 8px;
	    padding: 12px 5px 12px 30px;
	    flex: 0 0 49%;
	    min-width: inherit;
	    margin: 3px 0;
	    font-size: 15px;
	    font-weight: 500;
	}
	.grp.rdo label:nth-of-type(2n),
	.grp.chk label:nth-of-type(2n) {
	}
	.grp.rdo label:nth-of-type(n+3),
	.grp.chk label:nth-of-type(n+3) {
		margin-top: 2px;
	}
	.grp.rdo label.checked,
	.grp.chk label.checked {
	}

	/* ラジオボタン */
	.grp.rdo label::before {
	    top: 16px;
	    left: 10px;
	    width: 16px;
	    height: 16px;
	}
	.grp.rdo label.checked:after {
	    top: 20px;
	    left: 14px;
	    width: 8px;
	    height: 8px;
	    border-radius: 50%;
	}

	/* チェックボックス */
	.grp.chk label:before,
	input[type="checkbox"] + label:before {
	    width: 16px;
	    height: 16px;
	    top: 13px;
	    left: 10px;
	}
	input[type="checkbox"] + label:before {
		top: 3px;
	}
	.grp.chk label.checked:after,
	input[type="checkbox"]:checked + label:after {
	    top: 13px;
	    left: 14px;
	    width: 8px;
	    height: 12px;
	    border-width: 2px;
	}
	input[type="checkbox"]:checked + label:after {
		top: 3px;
	}
	input[type="radio"] + label,
	input[type="checkbox"] + label {
		padding-left: 32px;
	}

	/*-----------------------------------------------------
		header
	-----------------------------------------------------*/
	header:not(.fixed):not(.fixed_sp) {
		position: relative;
	}
	header:not(.fixed):not(.fixed_sp):not(.ws) {
	}
	header.fixed,
	header.fixed_sp {
		position: fixed;
		z-index: 9999;
		top: 0;
		left: 0;
		right: 0;
	}
	header .inner {
		height: auto;
		padding: 1.5vw 3%;
	}
	header h1 {
		justify-content: space-between;
		width: 100%;
		flex-direction: row-reverse;
	}
	header h1 .txt {
	    font-size: 3.4vw;
	    margin-left: 0;
	}
	header h1 img {
		height: 11vw;
	}
	header h1 span a {
		padding: 2.25vw 0;
		border-radius: 8px;
		width: 11vw;
		font-size: 2.6vw;
	}
	header h1 span + span {
		margin-left: 2.5%;
	}
	header .info {
		display: none;
	}
	header .info .tel a:hover
	header .info .button a:hover {
		opacity: 1;
	}
	header .info .button {
		order: 1;
		top: 1.5vw;
		right: 1% !important;
	}
	header .info .tel img,
	header .info .button img {
		height: 10.5vw;
	}

    /*-----------------------------------------------------
        content
    -----------------------------------------------------*/
    #mainvisual {
        min-height: 125vw;
        background-size: 100% auto;
        height: auto;
        background-position: center top -3vw;
    }
	#mainvisual .inner {
		padding: 0;
		display: block;
	}
	#mainvisual .main .inner {
		padding: 35.5% 4% 0;
	}
	#mainvisual .main h1 {
		font-weight: 600;
		font-size: 6.8vw;
		line-height: 1.25;
	}
	#mainvisual .main h1 .pre {
		font-size: 4vw;
		bottom: 141%;
		background: rgba(255,255,255,.77);
		padding: .25em 1em;
		border-radius: 8px;
	}
	#mainvisual .main h1 .lrg {
		font-size: 9vw;
	}
	#mainvisual .main h1 .mdm {
		font-size: 8vw;
		margin-bottom: .1em;
		padding-bottom: 0;
	}
	#mainvisual .main h1 .mdm:after {
	    background-image: linear-gradient(to right, #7ec411, #7ec411 5px, transparent 5px, transparent 8px);
	    height: 1px;
	    background-size: 8px 2px;
	}
	#mainvisual .main .exp {
		margin: .5em auto 0;
		font-size: 4.8vw;
		border-radius: 10px;
		padding: .5em 1em;
		background: rgba(255,255,255,.77);
		width: 92%;
	}
	#mainvisual .sub {
	}
	#mainvisual .sub .inner {
	    padding: 0 3%;
	    display: flex;
	    flex-direction: column-reverse;
	}
	#mainvisual .sub .scnbox {
	    margin-top: 1.5em;
	}
	#mainvisual .sub .scnbox ul li {
	    position: relative;
	    display: flex;
	    flex-direction: column;
	    padding: 2vw 4vw 3vw;
	}
	#mainvisual .sub .scnbox ul li img {
	    margin: 0 11%;
	}
	#mainvisual .sub .scnbox ul li:nth-child(n+4) {
		margin-top: 2vw;
	}
	#mainvisual .sub .scnbox ul li:before {
	    left: 1vw;
	    right: 1vw;
	    box-shadow: 0 0 2vw rgba(215, 219, 228, .47);
	}
	#mainvisual .sub .scnbox ul li .cap {
		margin-top: .5em;
		font-size: 3.2vw;
		text-shadow: none;
	}
	#mainvisual .sub .scnbox .exp {
		margin: 0 auto .5em;
		font-size: 4.5vw;
		padding: .25em 0;
		border-width: 1px;
		max-width: 315px;
	}
	#mainvisual .sub .ftrbox {
		margin: 1em 0 0;
	}
	#mainvisual .sub .ftrbox ul li {
		padding-left: 1vw;
		padding-right: 1vw;
	}
	#mainvisual .sub .ftrbox ul li img {
		border-radius: 10px;
	}
	#mainvisual .sub .ftrbox .catch {
		font-size: 5.4vw;
		display: block;
		margin-top: 0.25em;
	}
	#mainvisual .sub .ftrbox .catch .inn:before,
	#mainvisual .sub .ftrbox .catch .inn:after {
		content: none;
	}
	#mainvisual .sub .ftrbox .catch .lrg {
		font-size: 9vw;
		padding-left: 0.5em;
	}
    .sec,
    .cv {
        min-height: 33vw;
    }

	/* section セクション
	-----------------------------------------------------*/

	/* .ttlbox.type-a */
	.ttlbox.type-a h2 {
	    font-size: 10.5vw;
	    line-height: 1.1;
	    padding-right: 0;
	    letter-spacing: normal;
	}
	.ttlbox.type-a .exp {
		font-size: 5vw;
		padding-right: 0;
		letter-spacing: normal;
	}
	.ttlbox.type-a .en {
		margin: 2.5em 41% 0;
		line-height: 1;
	}
	.ttlbox.type-a .en:before {
		top: -1.5em;
		width: 55%;
		border-top-width: 2px;
	}

	/* .ttlbox.type-b */
	.ttlbox.type-b {
		text-shadow: 0 0 10px #FFF, 0 0 20px #FFF, 0 0 30px #FFF, 0 0 40px #FFF;
	}
	.ttlbox.type-b h2 {
		font-size: 6.4vw;
	}
	.ttlbox.type-b .en {
		position: relative;
		text-align: left;
		margin: 2.5em 82% 0 0;
	}
	.ttlbox.type-b .en:before {
		top: -1.25em;
		width: 55%;
		border-top-width: 2px;
	}

    /* .cv コンバージョンエリア
    -----------------------------------------------------*/
	.cv01 .button,
	.cv01 .tel {
		left: 6%;
		right: 6%;
		max-width: inherit;
	}
	.cv01 .button {
        bottom: 41%;
    }
    .cv01 .tel {
        bottom: 9%;
    }

	/* #sec00
	-----------------------------------------------------*/
	#sec00 .inner {
		/*padding: 7vw 2% 35vw;*/
	}
	#sec00 .exp {
		margin: 0 2% 5vw;
		text-align: left;
	}
	#sec00 .gphbox {
		flex-direction: column;
	}
	#sec00 .gphbox .gph:nth-of-type(n+2) {
		margin-top: 30vw;
	}
	#sec00 .gphbox .gph .pic {
		padding-bottom: 5vw;
	}
	#sec00 .gphbox .gph .txt {
		width: 36vw;
		height: 36vw;
		bottom: -27vw;
		right: -4%;
		font-size: 4.3vw;
	}
	#sec00 .gphbox .gph .txt:nth-of-type(2) {
	    right: 34vw;
	}
	#sec00 .gphbox .gph:nth-of-type(2) .txt .min {
	    bottom: 7vw;
	}

	/* #sec01
	-----------------------------------------------------*/
	#sec01 {
	    /*background-image: url(../img/sp/sec01_bg.jpg) !important;*/
	    background-size: 100% auto;
	    background-position: center top 180vw;
	}
	#sec01 .inner {
		padding: 10vw 4% 18vw;
	}
	#sec00 h2,
	#sec01 h2 {
		font-size: 7.5vw;
		margin-bottom: 6vw;
	}
	#sec00 h2 .cmt {
		font-size: 4.6vw;
	}
	#sec01 .whtbox {
		padding: 8vw 5%;
	}
	#sec01 .whtbox .wht {
		flex-direction: column !important;
	}
	#sec01 .whtbox .wht:nth-of-type(n+2) {
		margin-top: 5vw;
		border-top: 1px solid #eee;
		padding-top: 20vw;
	}
	#sec01 .whtbox .wht .txt {
		font-size: 3.6vw;
	}
	#voice .btnbox {
		margin: 10vw auto 0;
		max-width: 100%;
		flex-direction: column;
	}
	#sec01 .btnbox {
		margin-top: 3.9em;
		display: block;
	}
	#slider .btnbox li {
		flex: inherit;
	}
	#slider .btnbox li a {
		font-size: 4.2vw;
		padding: 1.4em 3.4em 1.4em 1.4em;
	}
	#voice .btnbox li a,
	#sec01 .btnbox li a {
		font-size: 4.2vw;
		padding: 1.4em 2.4em 1.4em 1.4em;
		border-bottom-width: 4px;
	}
	#voice .btnbox li a {
		width: auto;
		padding: .9em 1.4em;
	}
	#sec01 .btnbox li.pnk {
		margin-top: 1em;
	}
	#sec01 .btnbox li.pnk a {
		background: #ea3e6b;
	}
	#slider .btnbox li a:after {
		top: 42%;
	}
	#voice .btnbox li a:after {
	    right: 9%;
	}
	#voice .btnbox li a:after,
	#sec01 .btnbox li a:after {
	    border-width: 3px 3px 0 0;
	    width: 10px;
	    height: 10px;
	}
	#sec01 .chkbox {
		margin: 2em -2% 0;
		border-radius: 15px;
		padding: 7vw 4%;
		font-size: 3.5vw;
	}
	#sec01 .chkbox li {
		position: relative;
		padding-left: 1.8em;
	}
	#sec01 .chkbox li:nth-child(n+2) {
		margin-top: 1.5em;
	}
	#sec01 .chkbox li:before {
	    width: 16px;
	    height: 16px;
	    top: 2px;
	}
	#sec01 .chkbox li:after {
	    top: 1px;
	}
	#sec01 .chkbox.p2 li:before {
		top: 18px;
	}
	#sec01 .chkbox.p2 li:after {
		top: 20px;
	}

	/* #sec02, #sec03
	-----------------------------------------------------*/
	#sec02,
	#sec03 {
	    background: #FFF no-repeat;
		background-size: 100% auto;
	    background-position:
	        center top,
	        center bottom;
	}
	#sec02 {
	    background-image:
	        url(../img/sp/sec02_bg-t.png),
	        url(../img/sp/sec02_bg-b.png) !important;
	}
	#sec03 {
	    background-image:
	        url(../img/sp/sec03_bg-t.png),
	        url(../img/sp/sec03_bg-b.png) !important;
	}
	#sec02 .ttlbox .inner,
	#sec03 .ttlbox .inner {
	    padding: 18% 25px 12%;
	}
	#sec02 .cntbox .inner,
	#sec03 .cntbox .inner {
		padding-bottom: 4.9em;
	}
	#sec09 .inner {
	    position: relative;
	}
	#sec09 .ifrmbox {
	    position: absolute;
	    left: 0;
	    bottom: 3%;
	    right: 0;
	    max-width: 30%;
	    margin: auto;
	}

	/* #voice 声
	-----------------------------------------------------*/
	#voice {
	    background-image: url(../img/sp/voice_bg.png) !important;
		background-size: 100% auto;
	}
	#voice .ttlbox .inner {
	    padding: 16% 8% 19%;
	}
	#voice .cntbox .inner {
		padding-bottom: 4em;
	}
	#voice .psnbox li {
		border-radius: 15px;
		margin-left: 0;
	}
	#voice .psnbox li:nth-child(n+2) {
		margin-top: 1.5em;
	}
	#voice .psnbox li .whtbox {
		text-align: left;
		padding: 0;
	}
	#voice .psnbox li .whtbox .txtbox {
		order: 2;
		flex: 0 0 100%;
		padding: 5vw 8% 4vw;
	}
	#voice .psnbox li .whtbox .title {
		line-height: 1.38888888888889;
		font-weight: 700;
		font-size: 4.5vw;
		letter-spacing: .04em;
		margin-bottom: 1.15em;
		padding: 0 1%;
	}
	#voice .psnbox li .whtbox .prf {
		padding: .2em 0.1em;
		font-size: 3.2vw;
		color: #FFF;
		background: #1eae80;
		font-weight: 500;
		margin-bottom: 0;
	}
	#voice .psnbox li .whtbox .pic {
		order: 1;
		flex: 0 0 100%;
	}
	#voice .psnbox li .whtbox .pic .icon {
		top: inherit;
		right: 4%;
		width: 29%;
		left: inherit;
		bottom: -13vw;
	}
	#voice .psnbox li .whtbox .txt {
		font-size: 3.6vw;
		order: 3;
		padding: 0 10% 8vw;
		margin: 0 auto;
		line-height: 1.725;
	}
	#voice .psnbox li .cmtbox {
		padding: 7vw 5% 11vw 7%;
	}
	#voice .psnbox li .cmtbox dl {
		margin-bottom: .5em;
	}
	#voice .psnbox li .cmtbox dl dt {
		font-size: 3.9vw;
	}
	#voice .psnbox li .cmtbox dl dd {
		flex: 0 0 20%;
	}
	#voice .psnbox li .cmtbox .txt {
		padding-right: 3%;
		padding-left: 1%;
		line-height: 1.75;
		font-size: 3.6vw;
		letter-spacing: .08em;
		text-align: left;
	}

	/* #flow ～の流れ
	-----------------------------------------------------*/
	#flow {
		background-size: 100% auto;
		background-image: url(../img/sp/flow_bg.png) !important;
	}
	#flow .ttlbox .inner {
	    padding: 16% 7% 16.5%;
	}
	#flow .ttlbox.type-b .en {
	    margin-top: 2em;
	}
	#flow .cntbox .inner {
		padding-bottom: 4.5em;
	}
	#flow .exp {
	    margin-bottom: 50px;
	}
	#flow ol li {
		position: relative;
	}
	#flow ol li:nth-child(n+2) {
		margin-top: 1.9em;
	}
	#flow ol li .ini {
		padding: 3px 10px;
		margin-right: 10px;
	}
	#flow ol li .ini .min {
		font-size: 18px;
	}
	#flow ol li .flex {
		align-items: center;
		margin-bottom: 1.25em;
	}
	#flow ol li .flex .txtbox {
		flex: 0 0 63%;
		max-width: 63%;
		display: flex;
		height: 13.35vw;
		align-items: center;
	}
	#flow ol li .flex .txtbox .title {
		font-size: 4.8vw;
		font-weight: 600;
		line-height: 1.38888888888889;
		letter-spacing: normal;
	}
	#flow ol li .txt {
		font-size: 3.4vw;
		padding-right: 0;
	}
	#flow ol li .flex .pic {
		flex: 0 0 29%;
		max-width: 29%;
		top: 5vw;
		right: 6%;
	}

	/* タイプ別スタイル */
	#flow ol.type-b li,
	#flow ol.type-d li {
		padding: 7vw 5% 7vw 8%;
		border-radius: 15px;
	}
	#flow ol.type-b li:nth-child(n+2),
	#flow ol.type-d li:nth-child(n+2) {
	    margin-top: 7.5vw;
	}
	#flow ol.type-c li,
	#flow ol.type-e li {
		padding: 0 0 0 50px;
	}
	#flow ol.type-b li .ini,
	#flow ol.type-c li .ini,
	#flow ol.type-d li .ini,
	#flow ol.type-e li .ini {
		top: -10vw;
		left: -1vw;
		width: 16vw;
		height: 16vw;
	}
	#flow ol.type-c li .ini,
	#flow ol.type-e li .ini {
		bottom: 0;
		margin: auto;
	}
	#flow ol.type-c li .flex,
	#flow ol.type-e li .flex {
		padding: 30px 3% 30px 6%;
	}
	#flow ol.type-d li .ini,
	#flow ol.type-e li .ini {
		border-radius: 100%;
	}

    /* #contact フォーム
    -----------------------------------------------------*/
	#contact {
		max-height: inherit;
		overflow: inherit;
	}
	#contact .inner {
        padding: 5vw 4% 10vw;
	}
	#contact h2 {
		margin-bottom: 3vw;
	}
	#contact h2 .cmt {
		font-size: 4vw;
	}
	#contact h2 .cmt:before,
	#contact h2 .cmt:after {
		width: 2vw;
		height: 5vw;
	}
	#contact h2 .cmt:before {
		margin-right: .25em;
	}
	#contact h2 .cmt:after {
		margin-right: .25em;
		background-image: url(../img/cmt-r.png);
	}
	#contact h2 .txt {
		font-size: 6vw;
	}
	#contact form {
		padding-bottom: 0;
	}
	#contact .stepbox {
	}
	#contact .ttlbox {
		border-radius: 15px 15px 0 0;
	}
    #contact .title {
		font-size: 4vw;
	}
	#contact .step {
    }
	#contact .step li {
		padding: 10px 5px;
		font-size: 15px;
	}
	#contact .step li.active,
	#contact .step li:last-child {
		border-right: 0;
	}
	#contact .step li .num {
		font-size: 12px;
	}
	#contact .step li.active {
	}
	#contact table {
	border-width: 3vw 4vw 5vw;
	border-radius: 10px;
	}
	#contact tr {
        margin-bottom: 20px;
        padding: 0;
    }
    #contact tr:last-child {
        margin-bottom: 0;
    }
    #contact tr {
        display: block;
        margin: 0;
    }
	#contact tr:nth-of-type(n+2) {
	}
    #contact th,
    #contact td {
        display: block;
        width: 100%;
        position: relative;
    }
	#contact table tr.birth .selbox:nth-of-type(1) {}
	#contact table tr.birth .selbox:nth-of-type(2) { flex: 0 0 30%; margin-left: 2.5%; }
	#contact table tr.birth .selbox:nth-of-type(3) { flex: 0 0 30%; margin-left: 2.5%; }
	#contact table tr.job-type td .grp.rdo label:nth-of-type(2n+1) {
		flex: 0 0 38%;
	}
	#contact table tr.job-type td .grp.rdo label:nth-of-type(2n) {
		flex: 0 0 60%;
	}
	#contact th .min {
		font-size: 13px;
		margin-top: .5em;
	}
    #contact td input,
    #contact td input.lng,
    #contact td textarea {
        width: 100%;
        border-radius: 8px;
    }
	#contact td input,
	#contact td select,
	#contact td textarea {
		font-size: 15px;
		padding: 7px 10px;
	}
    #contact td select {
	    height: 39px;
	    border-radius: 8px;
	}
	#contact td .selbox:before {
	    width: 40px;
	    border-radius: 0 6px 6px 0;
	}
	#contact td .selbox:after {
	    right: 17px;
	    border-left-width: 4px;
	    border-right-width: 4px;
	    border-top-width: 7px;
	}
	#contact td textarea {
		min-height: inherit;
		height: 7em;
	}
	#contact td input[name="address_address"] {
		width: 100%;
	}
    #contact button[type="submit"],
    #contact button[type="button"] {
        width: auto !important;
    }
	#contact th .tag,
	#contact td .tag {
	    padding: 2px 5px;
	    font-size: 13px;
	    width: 55px;
	    height: 26px;
	    position: absolute;
	    top: 0;
	    right: 0;
	}
	#contact .step02 th .tag.req,
	#contact .step02 td .tag.req {
	    right: 2%;
	}
	#contact .step03 tr.birth .selbox:nth-of-type(1) {flex: 0 0 36%;}
	#contact .step03 tr.birth .selbox:nth-of-type(2) {flex: 0 0 30%;margin-left: 2%;}
	#contact .step03 tr.birth .selbox:nth-of-type(3) {flex: 0 0 30%;margin-left: 2%;}

    #contact td .note {
        font-size: 13px;
    }
	#contact .btnbox,
	.confirm #contact .cfm_sbm {
		margin: 0 auto;
		width: auto !important;
		justify-content: center;
		flex-direction: column;
		align-items: center;
	}
	#contact .tonext,
	#contact .toback,
	#contact .cfm_sbm input {
	    margin-top: 0.5em;
	    font-size: 16px;
	    width: 270px !important;
	    border-radius: 80px;
	    padding: 15px 10px;
	    margin-left: auto;
	    margin-right: auto;
	    max-width: 270px !important;
	}
	#contact .cfm_sbm input {
		height: 76px;
	}
	#contact .accept {
		margin: 1.5em 4vw 0;
		font-size: 14px;
	}
	#contact .accept label {
		margin-right: 0;
	}
	#contact .submit {
		margin-top: 1.5em;
		font-size: 15px;
	}
	#contact .submit input {
		font-size: 16px;
		padding: 15px 10px;
		width: 270px;
		height: 54px;
	}
	#contact .privacy img {
	    width: 35px;
	}
	#contact .privacy .txt {
		font-size: 10.5px;
	}
	#formWrap {
		border-radius: 15px;
	}
	#formWrap .content {
	    padding: 15vw 4% 10vw;
	    min-height: 100vw;
	}

	#contact .step02 tbody,
	#contact .step03 tbody {
		display: block;
	}
	#contact .step02 tr.name,
	#contact .step02 tr.kana,
	#contact .step02 tr.tel,
	#contact .step02 tr.email,
	#contact .step03 tr.birth,
	#contact .step03 tr.address,
	#contact .step03 tr.address2,
	#contact .step03 tr.timing,
	#contact .step03 tr.situation {
	    flex: 0 0 100%;
	    max-width: 100%;
	    padding-right: 0;
	}
	#contact .step02 .toback,
	#contact .step03 .toback,
	#contact .cfm_sbm input.toback {
		order: 2;
	}
	#contact .step02 .tonext,
	#contact .step03 .submit,
	#contact .cfm_sbm input {
		order: 1;
	}
	#contact .step03 .submit {
		max-width: 270px;
		flex: 0 0 100%;
	}

	/* #review 口コミ一覧
	-----------------------------------------------------*/
	#review .ttlbox .inner {
		padding-top: 14vw;
	}
	#review .cntbox .inner  {
		padding-top: 10vw;
		padding-bottom: 14vw;
	}
	#review .review_list li {
		margin-left: 5vw;
		margin-right: 5vw;
	}
	/* #ancher_section アンカーリンク付きコンテンツ
	-----------------------------------------------------*/
	#ancher_section .ttlbox .inner {
		padding-top: 14vw;
	}
	#ancher_section .cntbox .inner {
		padding-top: 10vw;
		padding-bottom: 8vw;
	}
	#ancher_section .cntbox .inner .ancher {
		padding-bottom: 10vw;
	}
	#ancher_section .cntbox .inner .ancher a {
		padding: 5vw;
	}

	/* #store 店舗紹介
	-----------------------------------------------------*/
	#store .ttlbox .inner {
		padding-top: 14vw;
	}
	#store .cntbox .inner  {
		padding-top: 10vw;
		padding-bottom: 14vw;
	}
	/* #representative 代表者
	-----------------------------------------------------*/
	#representative .cntbox .inner .person p{
		font-size: 8vw;
	}
	#representative .cntbox .inner .history ul{
		column-count: 1;
		margin: 10vw auto 0;
		width: fit-content;
	}

	/* #info 運営会社情報 / #law 特定商取引法に基づく表示
	-----------------------------------------------------*/
	#info .ttlbox .inner {
		padding: 6vw 7% 6vw;
	}
	#info .ttlbox h2 {
		font-size: 5.5vw;
	}
	#info .ttlbox h2 .en {
	    flex: 0 0 22%;
	}
	#info .cntbox .inner {
		padding: 12vw 4%;
	}
	.infobox table {
		line-height: 1.4;
	}
	.infobox table th {
		font-size: 14px;
		padding-top: .6em;
		padding-bottom: .6em;
		width: 27%;
	}
	.infobox table td {
		font-size: 14px;
		padding-top: .6em;
		padding-bottom: .6em;
		width: 73%;
	}

	#law .ttlbox .inner {
		padding: 6vw 4% 8vw;
	}
	#law .cntbox .inner {
		padding: 0 4% 10vw;
	}

	/*-----------------------------------------------------
		company 会社概要
	-----------------------------------------------------*/
	#company .cntbox .inner {
		padding: 10vw 4% 10vw;
	}

	/*-----------------------------------------------------
		privacy プライバシーポリシー
	-----------------------------------------------------*/
	#privacy .ttlbox .inner {
		padding: 10vw 4% 10vw;
	}
	#privacy .cntbox .inner {
		padding: 10vw 4% 10vw;
	}

    /*-----------------------------------------------------
        footer
    -----------------------------------------------------*/
	footer .sitemap {
		font-size: 14px;
		flex-wrap: wrap;
	}
	footer .sitemap .inner {
		padding: 2vw 4%;
	}
	footer .sitemap ul li {
		margin: 0.5em 0;
	}
    footer .sitemap ul li:before,
    footer .sitemap ul li:last-child:after {
        content: none;
    }
    footer .copyright {
        font-size: 10px;
    }
    footer .copyright .inner {
		padding: 3vw 4%;
	}
    #page-top {
        bottom: 18vw;
        width: 50px;
    }
    .floatbox:not(.fixed):not(.fixed_sp) {
        position: static;
    }
    .floatbox.fixed,
    .floatbox.fixed_sp {
        position: fixed;
        z-index: 9999;
        bottom: 0;
        left: 0;
        right: 0;
    }

	/* タイプ別スタイル */
	footer .inner.type-col {
		flex-direction: column;
	}

    /*-----------------------------------------------------
        confirm 内容確認 / thanks 送信完了
    -----------------------------------------------------*/
    .thanks header h1 {
	    padding: 1vw 0;
	    width: auto;
	}
	.thanks #contact .inner {
        height: 100vh;
    }
	.confirm #contact .exp,
    .thanks #contact .exp {
        text-align: left;
    }
	.confirm #contact tr {
		border-bottom: 1px solid #999;
	}
	.confirm #contact th {
		width: 44% !important;
		font-size: 14px;
		padding: 8px 0;
	}
    .confirm #contact td {
		width: 56% !important;
		font-size: 14px;
		padding: 8px 10px;
	}
    .confirm #contact .btnbox {
        display: block;
    }
    .confirm #contact button[type="submit"] {
        order: 1;
        margin-left: auto;
        margin-right: auto;
    }
    .confirm #contact button[type="button"] {
        order: 2;
        margin-top: 10px;
        margin-left: auto;
        margin-right: auto;
    }
	.thanks footer {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
	}

	/*-----------------------------------------------------
		modal
	-----------------------------------------------------*/
	#modalForm {
		top: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		width: auto !important;
		height: auto !important;
		padding: 8vw 3.5vw 12vw;
	}
	/*スクロールバー全体*/
	#modalForm::-webkit-scrollbar {
		width: 2.5vw;
	}
	#modalCloseArea span.modalClose {
		top: 0;
		right: 0;
		width: 12vw;
		max-width: 45px;
	}
		/*フローティング*/
		.floating-btn.sp {
			position: fixed;
			bottom: 0;
			left: 50%;
			transform: translateX(-50%);
			width: 100%;
			background-color: rgba(255,255,255,0.8);
			padding: 14px 0 6px;
			z-index: 9999;
	   }

	   .floating-btn.sp .flex {
		   justify-content: center;
	   }

	   .floating-btn.sp .flex.btnbox li a{
		   font-size: 4.2vw;
		   padding: 5px 3.4em 5px 2em;
		   background: #FEA74D;
		   letter-spacing: .08em;
		   display: block;
		   position: relative;
		   color: #FFF;
		   font-weight: 500;
		   border-radius: 70px;
		   text-align: center;
		   margin: 0 auto;
		   border-bottom: 6px solid #d7dbe4;
		   border-bottom-width: 4px;
		   text-decoration: unset;
	   }

	   .floating-btn .btnbox li {
		   flex: inherit;
	   }

	   .floating-btn.sp .btnbox li a:after {
			content: '';
			top: 42%;
			right: 9%;
			width: 12px;
			height: 12px;
			border-top: 3px solid #fff;
			border-right: 3px solid #fff;
			-webkit-transform: rotate(-45deg);
			transform: rotate(-45deg);
			position: absolute;
	   }
	   .floating-btn.sp .flex.btnbox li a {
		padding: 10px 5em 10px 5em;
		}

		.floating-btn.sp p.txt {
			line-height: 1.125;
			font-size: 1.25em;
		}

		div#wrapper {
			margin-bottom: 25vw;
		}
}
</pre></body></html>