@charset "UTF-8";
html {
    font-size: 62.5%;
}
body {
    font-size: 1.4rem;
    background-color: #e8edeb;
}


footer{
    width: 100%;
    height: 10%;
    background-repeat: no-repeat;
}


/* 変数定義 */

:root {

    --col-space: 10px;
    --base-margin: 10px;
    --color-main: #25A4AB;
    --color-gray1: #777777;
    --color-orange: #ff7a5a;
    --color-gray2: #dddddd;
    --color-black1: #333333;
    --color-green2: #33a0af;
    --color-gray3: #f5f5f5;
    --color-green3: #25a4ab;
    --color-green4: #008189;
}

.contentWrap {
    max-width: 1320px;
    padding: 0 20px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.contentWrap.xl {
    /*max-width: 1793px;*/
    max-width: 1600px;
}

.contentWrap2 {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.contentWrap3 {
    max-width: 1280px;
    padding: 20px 20px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.colWrap,
.col2Wrap,
.col3Wrap,
.col4Wrap,
.col5Wrap,
.colFreeWrap {

    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    margin: 0 calc(var(--col-space) * -1);
    flex-wrap: wrap;

}

.colFreeWrap {
    flex-wrap: nowrap;
}


.colWrap .col,
.col2Wrap .col,
.col3Wrap .col,
.col4Wrap .col,
.col5Wrap .col,
.colFreeWrap .col {
    margin: 0 var(--col-space);
}


.colWrap .col {
    flex-basis: calc(100% - (var(--col-space) * 2));
}

.col2Wrap .col {
    flex-basis: calc(45% - (var(--col-space) * 2));
}

.col3Wrap .col {
    flex-basis: calc(33.33% - (var(--col-space) * 2));
}

.col4Wrap .col {
    flex-basis: calc(25% - (var(--col-space) * 2));
}

.col5Wrap .col {
    flex-basis: calc(20% - (var(--col-space) * 2));
}

.colFreeWrap .col {
    flex-grow: 1;
}

.colFreeWrap .col.s75 {
    flex-basis: 75%;
}



.colFreeWrap .col.s70 {
    flex-basis: 70%;
}

.colFreeWrap .col.s50 {
    flex-basis: 50%;
}



.colFreeWrap .col.s30 {

    flex-basis: 30%;

}



.colFreeWrap .col.s25 {

    flex-basis: 25%;

}



.col2Wrap.al-center,
.col3Wrap.al-center,
.col4Wrap.al-center,
.col5Wrap.al-center,
.colFreeWrap.al-center {
    align-items: center;
}



.col2Wrap.al-stretch,
.col3Wrap.al-stretch,
.col4Wrap.al-stretch,
.col5Wrap.al-stretch,
.colFreeWrap.al-stretch {
    align-items: stretch;
}


.pl30{
    padding-left: 30px;
}

.mt50 {

    margin-top: calc(var(--base-margin) * 5);
}

.mt80 {

    margin-top: calc(var(--base-margin) * 8);
}

.mb10 {
    margin-bottom: calc(var(--base-margin) * 1);
}

.mb20 {
    margin-bottom: calc(var(--base-margin) * 2);
}

.mb30 {
   margin-bottom: calc(var(--base-margin) * 3);
}

.mb40 {
    margin-bottom: calc(var(--base-margin) * 4);
}

.mb50 {
    margin-bottom: calc(var(--base-margin) * 5);
}

.mb60 {
    margin-bottom: calc(var(--base-margin) * 6);
}
.mb70 {
    margin-bottom: calc(var(--base-margin) * 7);
}

.mb80 {
    margin-bottom: calc(var(--base-margin) * 8);
}

.mb90 {
    margin-bottom: calc(var(--base-margin) * 9);
}



.mb100 {

    margin-bottom: calc(var(--base-margin) * 10);

}



.mb110 {

    margin-bottom: calc(var(--base-margin) * 11);

}



.mb120 {

    margin-bottom: calc(var(--base-margin) * 12);

}



.mb130 {

    margin-bottom: calc(var(--base-margin) * 13);

}



.mb140 {

    margin-bottom: calc(var(--base-margin) * 14);

}



.mb150 {

    margin-bottom: calc(var(--base-margin) * 15);

}



.mb160 {

    margin-bottom: calc(var(--base-margin) * 16);

}



.mb200 {

    margin-bottom: calc(var(--base-margin) * 20);

}


.sd{
    align-content: center;
    align-items: center;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    margin: 100px 0px 100px 0px;
    padding: 0px;
    max-width: 100%;
}
.sd_m{
    color: #212121;
    font-family:  'ゴシックMB101 DB JIS2004';
    font-size: 18px;
    font-weight: 400;
    height: auto;
    letter-spacing: 0.03em;
    line-height: 1.4;
    text-align: center;
    width: auto;
    max-width: 100%;
    justify-content: center;
}
.sd.text {
    align-content: center;
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
    overflow: visible;
    overflow-wrap: anywhere;
    word-break: break-word;
}
.sd_b{
    color: #e5e5e5;
    font-family: 'Anton', sans-serif;
    font-size: 184px;
    font-weight: 400;
    height: auto;
    line-height: 1.4;
    margin: -50px 0px 0px -30px;
    text-align: center;
    width: auto;
    max-width: 100%;
    justify-content: center;
}


.sd_k {
    color: #6e421c;
    font-family: 'M PLUS 1p', sans-serif;
    font-size: 55px;
    font-weight: 400;
    height: auto;
    letter-spacing: 0.03em;
    line-height: 1.5;
    margin: -100px 0px 0px 0px;
    text-align: left;
    width: auto;
    max-width: 100%;
    justify-content: center;
}
.ab {
    align-content: flex-start;
    align-items: flex-start;
    background: #fff9e7;
    border-radius: 5px;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    height: auto;
    justify-content: flex-start;
    margin: 90px 40px 0px 0px;
    padding: 40px 40px 58px;
    width: calc(50% - 40px);
    max-width: calc(50% - 40px);
}
.ab_f{
    align-content: center;
    align-items: center;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin: 0px 0px 0px 0px;
    padding: 0px;
    width: 100%;
    max-width: 100%;
}
.ab_f1{
    align-content: center;
    align-items: center;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    margin: 4px 0px 0px 0px;
    padding: 0px;
    max-width: 100%;
}
.ab_point{
    color: #212121;
    font-family: 'Anton', sans-serif;
    font-size: 14px;
    font-weight: 400;
    height: auto;
    line-height: 1;
    margin: 0px 0px 4px 0px;
    text-align: center;
    width: auto;
    max-width: 100%;
    justify-content: center;
}
.ab_no{
    color: #212121;
    font-family: 'Anton', sans-serif;
    font-size: 52px;
    font-weight: 400;
    height: auto;
    line-height: 1;
    text-align: center;
    width: auto;
    max-width: 100%;
    justify-content: center;
}
.ab_line{
    background: #212121;
    flex: none;
    height: 74px;
    margin: 0px 30px 0px;
    width: 2px;
    max-width: calc(100% - 60px);
}
.ab_title{
    color: #212121;
    flex: 1;
    font-family: 'M PLUS 1p', sans-serif;
    font-size: 52px;
    font-weight: 400;
    height: auto;
    letter-spacing: 0.05em;
    line-height: 1.4;
    text-align: center;
    width: auto;
    max-width: 100%;
    justify-content: flex-start;
}
.ab_img{
    align-content: center;
    align-items: center;
    background: rgba(0,0,0,0.0);
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    height: 254px;
    justify-content: center;
    padding: 0px 0px 0px 0px;
    width: 100%;
    max-width: 100%;
    display: contents;
}
.ab_img2{
    flex: none;
    height: auto;
    max-width: 100%;
}
.ab_ku{
    align-content: center;
    align-items: center;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    height: 170px;
    justify-content: space-between;
    padding: 0px;
    width: 100%;
    max-width: 100%;
}
.ab_line2{
    background: #d1d1d1;
    flex: none;
    height: 1px;
    width: 100%;
    max-width: 100%;
}
.ab_line3 {
    align-content: center;
    align-items: center;
    border-bottom: 0px solid #d1d1d1;
    border-left: 0px solid #d1d1d1;
    border-right: 0px solid #d1d1d1;
    border-top: 0px solid #d1d1d1;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding: 10px 0px 10px 0px;
    width: 100%;
    max-width: 100%;
}
.ab_txt{
    color: #212121;
    flex: 1;
    font-size: 21px;
    font-weight: 500;
    height: auto;
    letter-spacing: 0.1em;
    line-height: 1.6;
    text-align: left;
    width: auto;
    max-width: 100%;
    justify-content: flex-start;
}

.cons{
    padding:50px;
    background-color:#fff;
}

@media screen and (max-width: 1240px) {}



@media screen and (max-width: 991px) {

	footer {
	    width: 100%;
	    background-image: none;
	    background-size: contain;
	    background-repeat: inherit;
	}

}

@media screen and (max-width: 768px) {

	footer {
	    width: 100%;
	    background-image: none;
	    background-size: contain;
	    background-repeat: inherit;
	}
	.cons{
	    padding: 50px 20px;
	    background-color:#fff;
	}
	.sd_k {
	    color: #6e421c;
	    font-family: 'M PLUS 1p', sans-serif;
	    font-size: 40px;
	    font-weight: 400;
	    height: auto;
	    letter-spacing: 0.03em;
	    line-height: 1.5;
	    margin: -100px 0px 0px 0px;
	    text-align: left;
	    width: auto;
	    max-width: 100%;
	    justify-content: center;
	}
	.ab {
	    align-content: flex-start;
	    align-items: flex-start;
	    background: #fff9e7;
	    border-radius: 5px;
	    flex: none;
	    flex-direction: column;
	    flex-wrap: nowrap;
	    height: auto;
	    justify-content: flex-start;
	    margin: 90px 40px 0px 0px;
	    padding: 40px 40px 58px;
	   /*width: calc(50% - 40px);
	    max-width: calc(50% - 40px);*/
	    width: 100%;
	    max-width: 100%;
	    margin-bottom: 20px;
	}

	.colWrap, .col2Wrap, .col3Wrap, .col4Wrap, .col5Wrap, .colFreeWrap {
	    display: inline-block;
	}

	    .col2Wrap .col,
	    .col3Wrap .col,
	    .col4Wrap .col,
	    .col5Wrap .col,
	    .colFreeWrap .col {
	        /*flex-basis: 100%;*/
	        width: 100%;
	    }

	.ab_f{
	    width: 100%;
	    max-width: 100%;
	}

	 .spFlexWrap {
	       flex-wrap: wrap;
	 }
}



@media screen and (max-width: 500px) {}