@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Urbanist:wght@800;900&display=swap');

/* --------------------------------
 * base
 * -------------------------------- */
:root {
    --color-black: #151515;
    --color-dgray: #4A4A4A;
    --color-orange: #f08629;
    --color-lorange: #ffc15e;
	--color-yellow: #FFFF60;
	--color-lyellow: #FDFFDF;
    --color-pink: #e42746;
	--color-lpink: #ffd8de;
	--color-lgreen:#D7F6CC;
    --color-green: #5bb51e;
	--color-dgreen: #2eb700;
	--color-brown: #480000;
    --color-lblue: #00a6fb;
    --color-white: #fff;
    --color-lgray: #ccc;
    --lineHeight01: 1.4;
}

*, *:before, *:after {
    box-sizing: border-box;
}

* {
    margin: 0;
    padding: 0;
}

body {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    font-family: YuGothic, '游ゴシック', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, sans-serif;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: .025em;
    line-height: 1.6;
    color: var(--color-black);
    background: var(--color-lgreen);
}

a {
    text-decoration: none;
    transition: .3s;
    color: inherit;
}

a:hover {
    opacity: 0.7;
}

h1, h2, h3, h4, h5, h6 {
    margin-block-start: 0;
    margin-block-end: 0;
}

ul li {
    list-style: none;
}

img {
    image-rendering: -webkit-optimize-contrast;
    max-width: 100%;
    height: auto;
}

table, th, td {
    border-collapse: collapse;
}

.section {
    padding: 30px 0;
}

@media (min-width: 750px) {
.section {
    padding: 60px 0 90px;
}
}

.flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.grid {
    display: grid;
}

.l-inner {
    margin: 0 auto;
    padding: 0 20px;
    max-width: 750px;
}


.bg-green{
    background: var(--color-dgreen);
	color: var(--color-white);
}

.txt-green{
	color: var(--color-dgreen);
}


.align-c {
    text-align: center;
}

.c-title {
    font-size: 18px;
    font-size: clamp(1.125rem, 0.917rem + 0.44vw, 1.25rem);
    font-weight: bold;
    text-align: center;
    line-height: var(--lineHeight01);
    margin-bottom: 30px;
}

@media (min-width: 750px) {
.c-title {
    margin-bottom: 48px;
}
}

.c-title .en {
    display: block;
    font-size: 50px;
    font-size: clamp(3.125rem, 2.083rem + 2.22vw, 3.75rem);
    font-family: 'Urbanist', sans-serif;
    font-weight: 900;
    color: transparent;
    text-transform: uppercase;
    -webkit-text-stroke: 1px var(--color-dgreen);
    text-stroke: 1px var(--color-dgreen);
}
.c-title .caption{
    display: block;
    font-size: 16px;
    font-weight: normal;
	margin-top: 10px;
}


.bg-green .c-title .en{
   -webkit-text-stroke: 1px var(--color-yellow);
    text-stroke: 1px var(--color-yellow);
}

.c-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    text-align: center;
    margin: 0 auto;
    transition: .3s;
}

.u-pc {
    display: none;
}

@media (min-width: 750px) {
    .u-sp {
        display: none;
    }
    .u-pc {
        display: block;
    }
    .l-inner {
        max-width: 1000px;
    }
}

/* --------------------------------
 * header
 * -------------------------------- */
.header {
    padding: 12px 10px;
	background: var(--color-white);
}

.header__inner {
    justify-content: space-between;
    align-items: center;
	max-width: 860px;
    width: 100%;
    margin: auto;
}

.header img {
    max-width: 58px;
    vertical-align: middle;
}

.header .contact__btn {
    width: 33.8vw;
    max-width: 126px;
    font-size: 15px;
    font-size: clamp(0.938rem, 0.729rem + 0.44vw, 1.063rem);
    padding: 7px 5px 5px;
    margin: 0;
}

.header .contact__btn + .contact__btn {
    margin-left: 6px;
}

.header .contact__btn:hover {
    opacity: .7;
}

.header .contact__btn span:first-of-type {
    padding-left: 18px;
    line-height: 1.2;
}

.header .contact__btn span:first-of-type:before {
    width: 17px;
    height: 18px;
}

.header .contact__btn span:last-of-type {
    font-size: 9px;
    margin-top: 2px;
}

@media (min-width: 750px) {
    .header .contact__btn {
        max-width: 180px;
    }
}

/* --------------------------------
 * mainvisual
 * -------------------------------- */
.mainvisual{
    padding: 0;
	line-height: 0;
	background: #69c224;
 }
 .mainvisual__inner{
    text-align: center;
 }
.mainvisual__text {
    text-align: center;
    line-height: var(--lineHeight01);
}
.mainvisual__image img{
    margin:0 auto;
}
.mainvisual__sub{
    font-size: 20px;
    font-size: clamp(1.25rem, 0.833rem + 0.89vw, 1.5rem);
    font-weight: bold;
}
.mainvisual__main{
    font-size: 40px;
    font-size: clamp(2.5rem, 1.25rem + 2.67vw, 3.25rem);
    font-family: 'Urbanist', sans-serif;
    font-weight: 900;
    color: var(--color-orange);
}


/* --------------------------------
 * contact
 * -------------------------------- */
.contact {
    padding: 30px 0 40px;
    text-align: center;
	background: var(--color-lyellow);
}

.contact__text {
    display: inline-block;
    position: relative;
    padding: 0 1em 0 1.5em;
}

.contact__text::before,
.contact__text::after {
    content: "";
    display: inline-block;
    background: var(--color-lblue);
    width: 2px;
    position: absolute;
    height: 48px;
    bottom: -2px;
}

.contact__text::before {
    left: 0;
    transform: rotate(-25deg);
}

.contact__text::after {
    right: 0;
    transform: rotate(25deg);
}

.contact__btn {
    width: 66.67vw;
    max-width: 250px;
    font-size: 20px;
    line-height: var(--lineHeight01);
    padding: 6px 10px 8px;
    border-radius: 6px;
    background: var(--color-green);
    color: var(--color-white);
}

.section .contact__btn + .contact__btn{
    margin-top: 12px;
}

.contact__btn.contact__btn--tel{
    background: var(--color-pink);
}

.contact__btn.contact__btn--form{
    background: var(--color-lblue);
}

.contact__btn:hover {
    opacity: .7;
}

.contact__btn {
    display: flex;
    flex-direction: column;
}

.contact__btn span {
    display: block;
    text-align: center;
}

.contact__btn span:first-of-type {
    padding-left: 26px;
    position: relative;
}

.contact__btn span:first-of-type:before {
    content: "";
    position: absolute;
    width: 22px;
    height: 22px;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    background: url(../image/ico_phone.webp) no-repeat center center / contain;
}
.contact__btn.contact__btn--line span:first-of-type:before {
    background: url(../image/ico_line.webp) no-repeat center center / contain;
}
.contact__btn.contact__btn--form span:first-of-type:before {
    background: url(../image/ico_pc.webp) no-repeat center center / contain;
}

.contact__btn span:last-of-type {
    font-size: 12px;
}

@media (min-width: 750px) {
    .contact__btn {
        max-width: 320px;
        padding: 8px 10px 10px;
    }
    .contact__link{
        display: flex;
    }
    .section .contact__btn + .contact__btn{
        margin-top: 0;
    }
    .contact__btn{
        padding: 12px 8px;
        width: 32%;
        font-size: 20px;
        font-size: clamp(1.25rem, 1.09rem + 0.34vw, 1.5rem);
    }
    .contact__btn span:last-of-type {
        font-size: 12px;
        font-size: clamp(0.75rem, 0.59rem + 0.34vw, 1rem);
        margin-top: 2px;
    }
}

/* --------------------------------
 * price
 * -------------------------------- */
.price__item{
    background: var(--color-white);
    color: var(--color-black);
    padding-bottom: 20px;
}
.price__item--pickup.price__item{
    border: 2px solid var(--color-pink);
}
.price__item + .price__item{
    margin-top: 20px;
}
.price__head{
    background: var(--color-lgreen);
    text-align: center;
    line-height: var(--lineHeight01);
    padding: 16px;
}
.price__item--pickup .price__head{
    background: var(--color-pink);
    color: var(--color-white);
}
.price__head p{
    font-size: 14px;
}
.price__head h3{
    font-size: 20px;
}
.price__main{
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    padding: 20px;
    border-bottom: 1px solid var(--color-lgray);
}
.price__item--pickup .price__main{
    color: var(--color-pink);
}
.price__main .small01{
    font-size: 20px;
}
.price__main .small02{
    font-size: 12px;
}
.price__table{
    width: calc( 100% - 40px );
    margin: 0 20px;
}
.price__table tr:not(:last-of-type){
    border-bottom: 1px solid var(--color-lgray);
}
.price__table th, .price__table td{
    padding: 10px;
}
.price__table th{
    color: #999;
    width: 40%;
}

.price__note{
    margin-top: 20px;
    font-size: 10px;
}

@media (min-width: 750px) {
    .price__list{
        display: flex;
    }
    .price__item{
        display: flex;
        flex-direction: column;
        width: 25%;
    }
    .price__item + .price__item{
        margin-top: 0px;
    }
    .price__main .small02{
        display: block;
    }
    .price__table th, .price__table td{
        font-size: 14px;
    }
}


/* --------------------------------
 * point
 * -------------------------------- */
.point__item {
    padding: 30px 20px;
    background: var(--color-white);
    color: var(--color-black);
}

.point__item+.point__item {
    margin-top: 20px;
}

.point__num {
    font-family: 'Urbanist', sans-serif;
    font-weight: 800;
    text-align: center;
    color: var(--color-pink);
}

.point__num p:last-of-type{
    font-size: 38px;
    line-height: 1;
    margin-left: -2px;
}

.point__image{
    text-align: center;
    margin-top: 20px;
}

.point__image img{
    height:100px;
	width:auto;
}

.point__title {
    font-size: 24px;
    font-weight: bold;
    color: var(--color-pink);
    text-align: center;
    line-height: var(--lineHeight01);
    margin-top: 20px;
}

.point__description{
    margin-top: 10px;
}

.point__note{
    font-size: 10px;
    margin-top: 6px;
}

.point__title + .point__note{
    text-align: center;
}

.img_number{
	margin-top:10px;
}

@media (min-width: 750px) {
    .point__list {
        display: flex;
        justify-content: space-between;
		flex-wrap: wrap;
    }
	
    .point__item{
        width: 48%;
    }
	.point__list li:nth-child(3n),
	.point__list li:nth-child(4n) {
		margin-top: 40px;
	}
    .point__item+.point__item{
        margin-top: 0;
    }
}

/* --------------------------------
 * case
 * -------------------------------- */
 .case__item + .case__item{
    margin-top: 60px;
 }
 .case__en{
    font-family: 'Urbanist', sans-serif;
    font-weight: 800;
    text-align: center;
    color: var(--color-green);
    margin-top: 24px;
 }
 .case__title{
    font-size: 20px;
    font-size: clamp(1.25rem, 0.833rem + 0.89vw, 1.5rem);
    font-weight: bold;
    text-align: center;
 }
.case__description{
    margin-top: 16px;
}

@media (min-width: 750px) {
    .case__list{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .case__item{
        width: 47.5%;
    }
    .case__item + .case__item{
        margin-top: 0;
     }
     .case__item:nth-of-type( n + 3 ){
        margin-top:80px;
     }
}

/* --------------------------------
 * cars
 * -------------------------------- */
 .cars__item + .cars__item{
    margin-top: 30px;
 }
@media (min-width: 750px) {
	 .cars__item + .cars__item{
    margin-top: 60px;
 }
}
 .cars__text{
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-top: 10px;
 }
 .cars__note{
    font-size: 18px;
    font-weight: bold;
    color: var(--color-yellow);
    line-height: var(--lineHeight01);
    border: 1px solid var(--color-yellow);
    text-align: center;
    padding: 14px 10px;
    margin-top: 25px;
 }

 @media (min-width: 750px) {
	 .cars__note{
    margin-top: 50px;
 }
    .cars__list{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .cars__item{
        width: 31%;
    }
    .cars__item + .cars__item{
        margin-top: 0;
     }
}

 /* --------------------------------
 * recommend
 * -------------------------------- */
.recommend__item{
    background: var(--color-white);
    border-left: 6px solid var(--color-green);
    font-size: 16px;
    font-size: clamp(1rem, 0.583rem + 0.89vw, 1.25rem);
    font-weight: bold;
    line-height: var(--lineHeight01);
    color: var(--color-black);
    padding: 14px 16px 14px 40px;
    position: relative;
}

.recommend__item:before {
    content: "";
    position: absolute;
    width: 22px;
    height: 22px;
    left: 10px;
    top: .8em;
    bottom: 0;
    margin: 0;
    background: url(../image/ico_recommend.webp) no-repeat center center / contain;
}

.recommend__item + .recommend__item{
    margin-top: 10px;
}


@media (min-width: 750px) {
    .recommend__list{
        max-width: 640px;
        margin: 0 auto;
    }
}


/* --------------------------------
 * faq
 * -------------------------------- */

.faq__title {
    background: var(--color-lgreen);
    align-items: center;
    padding: 8px 16px;
}

.faq__text + .faq__title{
    margin-top: 30px;
}

.ico_q {
    color: var(--color-green);
    font-family: 'Urbanist', sans-serif;
    font-weight: 900;
    font-size: 28px;
    line-height: var(--lineHeight01);
    margin-right: 12px;
}

.q_txt {
    font-weight: bold;
    flex: 1;
	color: var(--color-dgray);
}

.faq__text {
    padding: 8px 16px;
}

.ico_a {
    font-family: 'Urbanist', sans-serif;
    font-weight: 900;
    font-size: 28px;
    line-height: var(--lineHeight01);
    margin-right: 12px;
}

.a_txt {
    flex: 1;
    padding-top: 8px;
}


/* --------------------------------
 * flow
 * -------------------------------- */
.flow__item {
    position: relative;
    z-index: 2;
}

.flow__item:not(:last-of-type){
    padding-bottom: 36px;
}

.flow__item:nth-child(2) {
    padding-bottom: 20px;
}

.flow__item:nth-child(4) {
    padding-top: 20px;
}

.flow__item:not(:last-of-type):before {
    content: "";
    position: absolute;
    width: 2px;
    height: 100%;
    left: calc( 1rem  - 1px );
    bottom: 0;
    background: var(--color-dgreen);
    z-index: -1;
}

.flow__item__free {
    background: var(--color-yellow);
	text-align: center;
	padding: 15px 0 !important;
}

.flow__item__free .flow__text {
    margin-left: 0;
}

.flow__item__free:before {
	display: none;
}

.flow__num {
    font-size: 20px;
    font-family: 'Urbanist', sans-serif;
    font-weight: 900;
    color: var(--color-white);
    line-height: 2em;
    text-align: center;
    background: var(--color-dgreen);
    width: 2em;
    height: 2em;
}

.flow__text {
    flex: 1;
    margin-left: 16px;
}

.flow__main {
    font-size: 20px;
    font-size: clamp(1.25rem, 0.833rem + 0.89vw, 1.5rem);
    font-weight: bold;
    line-height: var(--lineHeight01);
    margin-bottom: 8px;
	color:var(--color-dgreen);
}


@media (min-width: 750px) {
    .flow__list{
        max-width: 640px;
        margin: 0 auto;
    }
    .flow__num {
        font-size: 24px;
        line-height: 1.5em;
        width: 1.5em;
        height: 1.5em;
    }
    .flow__main {
    }
}


/* --------------------------------
 * company
 * -------------------------------- */
.table {
    width: 100%;
}

.table th, .table td {
    padding: 14px 10px;
    border-bottom: 1px solid #474749;
    text-align: left;
    vertical-align: top;
}

.table th {
    width: 27%;
}


/* --------------------------------
 * contactform
 * -------------------------------- */
.contactform__description{
    text-align: center;
}
table.formTable{
	width:100%;
	margin:0 auto;
	border-collapse:collapse;
    table-layout: fixed;
    word-break: break-all;
    word-wrap: break-all;
    margin-top: 30px;
}
table.formTable tr + tr th{
    padding-top: 26px;
}
table.formTable th, table.formTable td {
	display:block;
    text-align: left;
}
table.formTable th {
    font-weight: bold;
    padding-bottom: 10px;
}
table.formTable th small {
    font-size: 11px;
    color: var(--color-pink);
    padding-left: 8px;
}
form input[type="submit"], form input[type="reset"], form input[type="button"], [type=button] {
	display:block;
	width:100%;
    padding: 16px;
    background: var(--color-pink);
    color: var(--color-white);
    border-radius: 6px;
    font-weight: bold;
    border: none;
    font-size: 20px;
}
form input[type="submit"]:hover, form input[type="reset"]:hover, form input[type="button"]:hover, [type=button]:hover {
    cursor: pointer;
}
[type=button]{
    background: var(--color-white);
    color: var(--color-black);
}
.formTable + .center{
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
}
.formTable + .center [type=button]{
    background: var(--color-white);
    color: var(--color-black);
    width: 48%;
}
.formTable + .center [type="submit"]{
    width: 48%;
}
.formTable + .btn-wrap{
    margin-top: 20px;
}
input, textarea{
    width: 100%;
    padding: 12px;
    font-size: 16px;
    line-height: 1.4;
    border: none;
    border-radius: 0;
}
p.error_messe{
	margin:5px 0;
}
.h3{
    text-align: center;
    margin-bottom: 20px;
}
.h4{
    margin-bottom: 20px;
}
.back-btn a{
    display: block;
    width: 100%;
    padding: 16px;
    background: var(--color-white);
    color: var(--color-black);
    border-radius: 6px;
    font-weight: bold;
    border: none;
    font-size: 20px;
    margin-top: 50px;
}
@media (min-width: 750px) {
    #formWrap{
        max-width: 640px;
        margin: 0 auto;
    }
    .back-btn a{
        max-width: 320px;
        margin: 50px auto 0;
    }
}


/* --------------------------------
 * footer
 * -------------------------------- */
.footer {
    text-align: center;
    border-top: 1px solid #474749;
}

.footer .l-inner {
    padding: 36px 0;
    text-align: center;
}

.footer__text {
    font-size: 11px;
    font-size: clamp(0.688rem, 0.527rem + 0.34vw, 0.938rem);
}

.footer__logo {
    max-width: 75px;
    margin: 0 auto 8px;
}

.footer__copyright {
    font-size: 9px;
    font-size: clamp(0.563rem, 0.442rem + 0.26vw, 0.75rem);
}


/* --------------------------------
 * fix_btns
 * -------------------------------- */
 #button_set_bottom {
    display: none;
    position: fixed;
    background: var(--color-white);
    width: 100%;
    bottom: 0;
    z-index: 9999;
    padding: 8px 10px;
}
#button_set_bottom .contact__btn{
    width: 32%;
    font-size: 13px;
    padding: 4px 6px;
}
#button_set_bottom .contact__btn span:first-of-type{
    padding-left: 20px;
    line-height: 1.2;
}
#button_set_bottom .contact__btn span:last-of-type {
    font-size: 9px;
    margin-top: 4px;
}
#button_set_bottom .contact__btn span:first-of-type:before {
    width: 16px;
    height: 16px;
}

@media (min-width: 750px) {
    #button_set_bottom {
        padding: 20px;
    }
    #button_set_bottom .contact__link{
        max-width: 960px;
        margin: 0 auto;
    }
    #button_set_bottom .contact__btn{
        padding: 12px 8px;
        width: 32%;
        font-size: 20px;
        font-size: clamp(1.25rem, 1.09rem + 0.34vw, 1.5rem);
    }
    #button_set_bottom .contact__btn span:last-of-type {
        font-size: 12px;
        font-size: clamp(0.75rem, 0.59rem + 0.34vw, 1rem);
        margin-top: 2px;
    }
}
/* --------------------------------
 * 2024_10_22追加
 * -------------------------------- */

.line_txt_2 {
    text-align: center;
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 10px;
}

@media (max-width: 768px) {
    .line_txt_2 {
        font-size: 20px;
    }
}

.onayami h2{
	font-size:24px;
}


.onayami__list{
	display: flex;
	flex-wrap:wrap;
	justify-content: space-between;
}

.onayami__list li{
	width:49%;
	border: 1px solid var(--color-dgreen);
	padding:10px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 20px;
}
.onayami__list li p{
	font-weight: bold;
	font-size: 20px;
	width:90%;
}
@media (max-width: 768px) {
    .onayami__list li p {
        font-size: 16px;
		width:75%;
    }
}

.onayami__list li:before {
    content: "";
    display: inline-block;
    background: url(../image/ico_onayami.svg) no-repeat 0 0;
    background-size: 25px 25px;
    width: 30px;
    height: 25px;
}

.support__list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.support__item{
	width:49%;
	background: var(--color-white);
	display: flex;
	flex-wrap:wrap;
	align-items: center;
	padding:10px 15px;
	justify-content: center;
}
.support__item img{
	height:33px;
	margin-right: 10px;
}
.support__img{
	width:22%;
	text-align: center;
	height:33px;
}

.support__item p{
	font-size:24px;
	color:var(--color-dgreen);
	font-weight: bold;
	width:52%;
}

.support__list li:nth-child(3),
.support__list li:nth-child(4){
	margin-top:20px;
}
@media (max-width: 768px) {
   .support__item{
	width:100%;
	justify-content: space-between;
}
	.support__item p{
	width:75%;
}
	.support__item+.support__item{
	margin-top:20px;
}
}

p.caution{
	font-size:12px;
	color:var(--color-dgray);
	width:100%;
	text-align: center;
}

.m-btn {
  flex-direction: row-reverse;
}

.price__main {
  padding: 20px 15px;
}