@charset "UTF-8";

/* 全体の設定
–––––––––––––––––––––––––––––––––––––––––––––––––– */
html {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    font-size: 62.5%;
}

body {
    color: #000;
    font-family: 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
    background:#fff;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    margin:0;
    padding:0;
}

/* 見出し
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  /* margin-bottom: 2rem; */
  /* font-weight: 300;
  letter-spacing: 0.1em;}
h1 { font-size: 3.5rem; line-height: 1.2;  letter-spacing: -.1rem;}
h2 { font-size: 3.2rem; line-height: 1.25; letter-spacing: -.1rem; }
h3 { font-size: 3.0rem; line-height: 1.3;  letter-spacing: -.1rem; }
h4 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; }
h5 { font-size: 1.8rem; line-height: 1.5;  letter-spacing: -.05rem; }
h6 { font-size: 1.5rem; line-height: 1.6;  letter-spacing: 0; } */

/* モバイル表示 */
/* @media (min-width: 550px) {
  h1 { font-size: 3.5rem; }
  h2 { font-size: 3.2rem; }
  h3 { font-size: 3.0rem; }
  h4 { font-size: 2.8rem; }
  h5 { font-size: 2.4rem; }
  h6 { font-size: 1.5rem; }
}*/

p {
  line-height: 1.8;
 }


/* グリッド
–––––––––––––––––––––––––––––––––––––––––––––––––– */
header .container {
    padding: 0 2rem;
}
.container {
    margin: 0 auto;
    max-width: 1200px;
    padding: 6rem 2rem;
    position: relative;
}
.OTHER .container {
    padding: 0 2rem 6rem;
}
.OTHER .container:first-child {
    padding-top: 6rem;
}

:root { /* IE非対応 */
    --base-color: #000;
    --link-color: #666;
    --linkhover-color: #459138; ;
    --back-color: #37aa24;
    --border-color: #ccc;
    --white-color: #fff;

    --c-main: #37aa24;
    --c-sub: #93278f;
    --c-accent: #f15a24;
}


li {list-style: none;}

body {
    font-family: 'Noto Sans JP', sans-serif;
}
@media screen and (max-width: 767.999px) {
    body {
        padding-bottom: 80px;
    }
}
img {
	max-width:100%;
	height: auto;/*高さ自動*/
    display: block;
}
a {
    color: var(--base-color);
    text-decoration-line: none;
}
a:hover {
    color: var(--linkhover-color);
}

a img:hover {
	opacity: 0.8;
}
h1, h2, h3,h4 {letter-spacing: 0.1rem;font-weight: bold;}
.center {display: block;text-align: center;margin: 0 auto;}
.bg_gray {background: #f4f4f4;}
.bg_green {background: #37aa24;color: #fff;}
.bg_parple {background: #93278f;color: #fff;}
.bg_blue {background: #43a7cf;color: #fff;}
.bg_beige {background: #fff6d1;}
.bg_yellow {background: #ffffeb;}
.green {color: #37aa24;}
.orange {color: #f15a24 !important;}
.blue {color: #0071bc !important;}
.block {display: block;}
.p4 {padding: 4rem 0;}
.p6 {padding: 6rem 0;}
.mb1 {margin-bottom: 1rem;}
.mb2 {margin-bottom: 2rem;}
.mb4 {margin-bottom: 4rem;}
.mb6 {margin-bottom: 6rem;}
.mb8 {margin-bottom: 8rem;}
.blueback {
	background-color: var(--back-color);
	color: var(--white-color);
	padding: 1rem;
}
.underline {
	border-bottom: 3px solid var(--back-color);
	padding-bottom: 0.5rem;
}

@media screen and (max-width: 767.999px) {
	.sp-none {
		display: none !important;
	}
	.pc-none {
		display: block !important;
	}
}
@media screen and (min-width: 767px) {
	.sp-none {
		display: block !important;
	}
	.pc-none {
		display: none !important;
	}
}

.date {font-size: 12px;}
.bg_beige .flex2_7 {flex-wrap: nowrap;column-gap: 10px;}
.flex3, .flex2, .flex2_7 {display: flex;flex-wrap: wrap;justify-content: space-between;width: 100%;align-items: flex-start;}
.flex2 li {width: 48%;margin: 3rem 0;}
#service .flex2 div, #service .flex2 img {width: 48%;margin: 0;}
.flex3 li {width: 32%;}
.flex2_7 li {width: 64%;margin-bottom: 6rem;}
.flex2_7 li:nth-child(2), .flex2_7 li:nth-child(3), .flex2_7 li:nth-child(6) {width: 30%}
.flex2_7 li h3 {padding: 10px 0;border-bottom: 4px solid #37aa24;border-top: 4px solid #37aa24;}
#service .flex3 li a{display: block;background: #fff;padding: 1rem;border-radius: 10px;position: relative;box-shadow: 0 0 10px 0 rgba(0, 0, 255, 0.2);}
#service .flex3 li a:after {content: '';position: absolute;right: 10px;bottom: 16px;background: url(../img/ico_arrow.svg) 100% center no-repeat;background-size: 16px 16px;width: 16px;height: 16px;}
#service .flex3 h3 {color: #662d91;letter-spacing: 0.2rem;position: relative;font-size: 26px;margin-bottom: 1rem;}
#service .flex3 .flex2 div h3:first-letter {padding: 0 0.5rem;border-radius: 0.5rem;background: #662d91;color: #fff;font-size: 32px;}
#service .flex3 .flex2 div h3.orange:first-letter {background: #f15a24;}
#service .flex3 .flex2 div h3.blue:first-letter {background: #0071bc;}
#service .service_btn li a {padding: 2rem 1rem 2rem 90px;position: relative;display: block;font-weight: bold;bottom: initial;}
#service .service_btn li:first-child a {background: #fff url(../img/ico_price.svg) left center no-repeat;background-size: 90px 70px;}
#service .service_btn li:nth-child(2) a {background: #fff url(../img/ico_flow.svg) left center no-repeat;background-size: 90px 70px;}
#service .service_btn li:nth-child(3) a {background: #fff url(../img/ico_mitsumori.svg) left center no-repeat;background-size: 90px 70px;}
#service .service_btn li a:after {bottom: 26px;}
.flex3 img {margin-bottom: 10px;}
#anshin {max-width: 900px;}
/* #achievements h2 {border-left: 5px solid #ffe15e;padding-left: 10px;margin-bottom: 3rem;} */
#achievements ul {display: flex;flex-wrap: wrap;}
#achievements .bx_ex {display: flex;flex-wrap: nowrap;overflow-x: scroll;}
#achievements .bx_ex li {background: #fff;border-radius: 10px;min-width: 250px;max-width: 250px;margin-right: 2rem;}
#achievements .bx_white li {margin: 0;position: relative;}
#achievements .bx_white li:after {content: '';position: absolute;right: 10px;bottom: 16pdatex;background: url(../img/ico_arrow.svg) 100% center no-repeat;background-size: 16px 16px;width: 16px;height: 16px;}
#achievements li a {display: block;padding: 1rem;}
#achievements li a .img {
    overflow: hidden;
    height: 250px;
}
#achievements li a .img img {
    width: 100%;
}
@media screen and (max-width: 768px){
    #achievements li a .img {
        height: 200px;
    }
}
#achievements .bx_ex a {position: relative;}
#achievements .bx_ex a:after {content: '';position: absolute;right: 10px;bottom: 16px;background: url(../img/ico_arrow.svg) 100% center no-repeat;background-size: 16px 16px;width: 16px;height: 16px;}
#achievements .bx_ex h4 {font-size: 16px;}
#achievements .bx_ex p {font-size: 18px;font-weight: bold;}
/* #achievements .ico_seizen, #achievements .ico_ihin,#achievements .ico_seisou,#achievements .ico_gomi,#achievements .ico_akiya {font-size: 12px;position: absolute;background: #f15a24;color: #fff;font-weight: bold;padding: 0 5px;top: 15px;left: 15px;letter-spacing: 0.1rem;} */
#achievements .ico_seizen, #achievements .ico_ihin,#achievements .ico_seisou,#achievements .ico_gomi,#achievements .ico_akiya {font-size: 12px;position: absolute;background: #333;color: #fff;padding: 2px 5px;top: 15px;left: 15px;letter-spacing: 0.1rem;}
/* #achievements .ico_ihin {background: #93278f;}
#achievements .ico_seisou {background: #2e3192;}
#achievements .ico_gomi {background: #a67c52;}
#achievements .ico_akiya {background: #a67c52;} */
.bx_greeting {border-radius: 10px;border: 2px solid #999;background: #fff;padding: 4rem 3.5rem 2rem 3.5rem;display: flex;justify-content: space-between;flex-wrap: wrap;}
/* .bx_greeting h3 {padding: 10px 0;border-bottom: 4px solid #37aa24;border-top: 4px solid #37aa24;text-align: center;} */
.bx_greeting figure {margin-top: -8rem;text-align: right;font-size: 12px;width: 50%;}
.bx_greeting div {width: 45%;}

/* h3 {font-weight: bold;margin-bottom: 2rem;} */
.bx_bdr {padding: 1rem;border: 2px solid;border-radius: 10px;}
.bx_white {width: 100%;padding: 4rem 2rem;border-radius: 10px;background: #fff;color: #333;}

.bx_reason {align-items:stretch;}
.bx_reason li {padding: 2.5rem 1.2rem 2rem 1.2rem;border: 2px solid #37aa24;border-radius: 10px;position: relative;}
.bx_reason span.number {position: absolute;
    text-align: center;
    width: 40px;
    top: -20px;
    background: #37aa24;
    border-radius: 50%;
    height: 40px;
    line-height: 40px;
    font-family: serif;
    font-weight: bold;
    font-size: 24px;
    color: #fff;
    left: calc(50% - 20px);}
.bx_reason h3 {text-align: center;font-size: 26px;font-family: serif;font-weight: bold;letter-spacing: 0;}
.bx_reason h3 span {color: #37aa24;display: block;font-size: 80%;font-family: 'Noto Sans JP', sans-serif;margin-bottom: 5px;}
.bx_reason li img {margin: 0 auto 1rem;}


/*ボタン
-------------------------------------*/
a.btn01 {
    color: #fff;
    background: #232323;
    padding: 1.5rem 1rem 1.5rem 2rem;
    border-radius: 5px;
    width: 86%;
    max-width: 320px;
    position: relative;
    text-align: center;
    display: block;
    margin: 0 auto 2rem;
}
a.btn01:after {
    content: '';
    width: 8px;
    height: 8px;
    border: 0;
    border-top: solid 2px;
    border-right: solid 2px;
    position: absolute;
    top: calc(50% - 6px);
    transform: rotate(45deg);
   right: 15px;
}

a.btn01:hover, a.btn01:active {
    color: #fff;
    background: #f15a24;
    -webkit-transition: 0.6s ease-in-out;
    -moz-transition: 0.6s ease-in-out;
    -o-transition: 0.6s ease-in-out;
    transition: 0.6s ease-in-out;

}
a.btn01:hover:after, a.btn01:active:before {
    margin-right: -8px;
    -webkit-transition: 0.6s ease-in-out;
    -moz-transition: 0.6s ease-in-out;
    -o-transition: 0.6s ease-in-out;
    transition: 0.6s ease-in-out;
}
a:hover, input:hover {
    color: #37aa24;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
}
a img:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -webkit-transition: 0.6s ease-in-out;
    -moz-transition: 0.6s ease-in-out;
    -o-transition: 0.6s ease-in-out;
    transition: 0.6s ease-in-out;
}
/*ヘッダー
-------------------------------------*/
.head {
	display: flex;
    flex-direction: row;
}
.h_right {display: flex;flex-wrap: nowrap;position: absolute;right: 10px;justify-content: space-around;width: 610px;top: 10px;}

.head h1 { padding: 0;margin: 0;}

.menu {
	background-color: var(--back-color);
}
nav ul {
	display: flex;
    flex-direction: row;
    justify-content: space-around;
    list-style: none;
	margin-bottom: 0;
}
nav li {
    flex: 1 0 auto;
	margin-bottom: 0;
}
nav li a {
    text-decoration: none;
    text-align: center;
	color: var(--white-color);
    display: block;
    background: url(../img/ico_menu.svg) calc(100% - 20px) center no-repeat;
    background-size: 16px 16px;
}

nav a:hover {
	color: var(--white-color);
    opacity: 0.8;
}
nav a {
    padding: 2rem 1rem;
	display: block;
}



/*メイン画像
-------------------------------------*/
.mainimg img {
	width: 100vw;
}

/*メインコンテンツ
-------------------------------------*/
main {
    margin: 0 0 0 0;
}


/*フッター
-------------------------------------*/
footer {
    padding: 0 0;
}
footer h5 {font-weight: bold;}
.flex_footer {display: flex;flex-wrap: wrap;}
.flex_footer div {width: 60%;}
.flex_footer ul {width: 40%;display: flex;flex-wrap: wrap;}
.flex_footer ul li {width: 48%;}
.flex_footer ul li a {background: url(../img/ico_f_menu.svg) left center no-repeat;background-size: 16px 16px;padding-left: 20px;width: 100%;}
footer .flex2_7 span {font-size: 14px;text-align: center;display: block;}
footer .map{
  width: 100%;
  height: 400px;

}
footer .map iframe{
  width: 100%;
  height: 100%;
}
.map iframe{
  border: 0;
}
/* .map {filter: grayscale(100%);}
.map .pc_map {display: block;}
.map .sp_map {display: none;}
@media screen and (max-width: 768px){
    .map .pc_map {display: none;}
    .map .sp_map {display: block;}
} */

/*コピーライト
-------------------------------------*/
.copyright {
    text-align: center;
    padding: 1rem 0;
    color: var(--white-color);
    background-color: var(--back-color);
}
.copyright a {
    color: var(--base-color);
    text-decoration: none;
	display: inline-block;
}

/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    position: fixed;
    bottom: 15px;
    right: 0;
}
#pagetop a {
    display: block;
    background: var(--back-color);
    color: var(--white-color);
    width: 50px;
    padding: 10px 5px;
    text-align: center;
    border-radius: 10px 0 0 10px;
}
#pagetop a:hover {
    background: #f15a24;
}
@media screen and (max-width: 768px){
    #pagetop {
        bottom: 115px;
    }
}

/*パンくずリスト
-----------------------------------*/
.breadcrumb {
    margin: 0 0 1em 0;
    padding: 0;
}
.breadcrumb li {
    list-style-type: none;
}
.breadcrumb li a {
    display: inline-block;
    color: var(--link-color);
}

@media screen and (max-width: 860px){
.h_right {width: 510px;grid-gap: 10px;}
}
@media screen and (min-width: 769px){
/* PC時はMENUボタンを非表示 */
#open,#close {
    display: none !important;
}

#navi {
    display: block !important;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
}

.mt2 {margin-top: 10px;}
.mt4 {margin-top: 1rem;}
.mt6 {margin-top: 4rem;}

/*sp
-----------------------------------*/

@media screen and (max-width: 768px){
    .p6 {padding: 4rem 0;}
    .h_right {display: none;}
    .head {
        flex-direction: column;
        text-align: left;
    }

    .head #open,#close  {
        position: absolute;
        top: 10px;
        right: 12px;
        }
    .head #open:hover,#close:hover  {
        cursor: pointer;
        }
    nav ul {
        flex-direction: column;
    }

    nav li {
        padding-top: 0;
        border-bottom: 1px solid var(--border-color);
        margin-bottom: 0;
    }
    /* スマホ時はMENUボタンを表示 */
    #open {
        display: block;
        background: url(../img/btn_menu.svg);
        background-repeat: no-repeat;
        background-size: contain;
        width: 50px;
        height: 50px;
        border: none;
        position: absolute;
        top: 10px;
        right: 12px;
    }
    #close  {
        display: block;
        background: url(../img/btn_close.svg);
        background-repeat: no-repeat;
        background-size: contain;
        width: 50px;
        height: 50px;
        border: none;
        position: absolute;
        top: 10px;
        right: 12px;
    }
    /* スマホ時はメニューを非表示 */
    #navi {
        display: none;
    }
    #achievements .bx_white li {width: 100%;}
    .flex3 li {width: 100%;margin-bottom: 3rem;}
    .container {padding: 4rem 2.0rem;}
    .OTHER .container {
        padding: 0 2rem 3rem;
    }
    .OTHER .container:first-child {
        padding-top: 3rem;
    }
    h2 {margin-bottom: 0;}
    .mb2 {margin-bottom: 10px;}
    .mb4 {margin-bottom: 1rem;}
    .mb6 {margin-bottom: 4rem}
    .p4 {padding: 2rem 0;}
    .flex2 img, .flex3 img {margin-right: auto;margin-left: auto;}
    #service .flex3 {margin-bottom: 0;}
    #service .flex3 li a {padding: 5px;}
    #service .flex2 div {font-size: 86%;}
    #service .flex3 h3 {font-size: 16px;letter-spacing: initial;margin-top: 5px;}
    #service .flex3 .flex2 div h3:first-letter {font-size: 26px;margin-top: 15px;}
    #service .service_btn li a {padding: 2rem 0 2rem 80px;}
    .flex2 li, #achievements .flex3 li, .flex2_7 li,.flex2_7 li:nth-child(2), .flex2_7 li:nth-child(3), .flex2_7 li:nth-child(6) {width: 100%;margin: 1.5rem 0;}
    .bx_reason h3 {font-size: 20px;}
    #anshin h3 {font-size: 20px;text-align: center;}
    /* .reverse {flex-wrap: wrap-reverse;} */
    .bx_white {padding: 2rem 1rem;}
    .bg_beige .flex2_7 {flex-wrap: wrap;}
    .flex2_7 li h3 {text-align: center; font-size: 20px;}
    .bx_greeting {padding: 2rem;flex-wrap: wrap-reverse;margin-top: 8rem}
    .bx_greeting figure {margin: -11rem auto 0;width: 100%;}
    .bx_greeting div {width: 100%;margin-top: 2rem;}
    .flex2_7 a {margin: 0 auto 2rem;}
    .flex2_7 a:nth-child(2) img, .flex2_7 a:nth-child(3) img {width: 80%;margin: 0 auto;}
    .flex2_7 a:nth-child(2) span, .flex2_7 a:nth-child(3) span {font-size: 12px;}
    .flex_footer ul, .flex_footer div {width: 100%;max-width: 430px;margin: 0 auto 2rem;}
    .flex_footer div {font-size: 12px;}
    .flex_footer div img {width: 100%;margin: 0 auto 1rem;max-width: 240px;}
    h2 picture img {width: 100%;max-width: 280px;}
    h2 img {width: 100%;max-width: 200px;}
    #achievements h2 {font-size: 22px;margin-bottom: 2rem;}
}


.OTHER .bx_white {
    padding: 4rem;
}
/* .OTHER h2 {
    padding-left: 10px;
    line-height: 1.2;
    border-left: 5px solid #81bf24;
} */
.mainimg2 img {
    width: 100%;
}
@media screen and (max-width: 768px){
    .OTHER .bx_white {
        padding: 2rem 1.5rem;
    }
    /* .OTHER h2 {
        font-size: 20px;
    } */

    .nav_foot {
        padding: 5px 0 20px;
        text-align: center;
        background-color: #fff;
    }
    .nav_foot .sns {
        display: flex;
        justify-content: space-around;
    }
    .nav_foot .sns a {
        flex: 0 0 48%;
    }
    .nav_foot .ftel {
        padding: 0 20px;
    }
    .nav_foot .ftel a {
        padding: 12px;
        text-align: center;
        border-radius: 5px;
        border: 1px solid #000;
    }
    .nav_foot .ftel img {
        margin: 0 auto;
    }
}

.footer_fixed {
    display: none;
}
@media screen and (max-width: 768px){
    .footer_fixed {
        display: block;
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
    }
    .footer_fixed a {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        padding: 5px;
        width: 100%;
        height: 80px;
        background-color: #37aa24;
    }
    .footer_fixed .top {
        display: flex;
        flex: 0 0 100%;
    }
    .footer_fixed .top img {
        width: 75px;
    }
    .footer_fixed .tel {
        margin-left: 10px;
        line-height: 1.2;
        font-weight: bold;
        font-size: 33px;
        color: #fff;
    }
    .footer_fixed .bottom {
        flex: 0 0 100%;
        text-align: center;
        font-size: 12px;
        color: #fff;
    }
}

.tel_box .top {
    display: flex;
    flex: 0 0 100%;
}
.tel_box .top .icon {
    padding-top: 5px;
}
.tel_box .top img {
    width: 100px;
}
.tel_box .tel {
    margin-left: 10px;
    line-height: 1;
    font-weight: bold;
    font-size: 60px;
    color: #000;
}
.tel_box .bottom {
    flex: 0 0 100%;
    padding-top: 5px;
    text-align: center;
    font-size: 14px;
    color: #000;
}
@media screen and (max-width: 768px) {
    .tel_box {
        margin-bottom: 20px;
    }
    .tel_box .top img {
        width: 60px;
    }
    .tel_box .tel {
        margin-left: 10px;
        font-size: 32px;
    }
    .tel_box .bottom {
        padding-top: 5px;
        font-size: 12px;
    }
}

#bread {
	padding: 15px 0;
	background-color: #fff;
}
#bread .inner {
    margin: 0 auto;
    max-width: 1160px;
}
#bread li {
	position: relative;
	display: inline-block;
	padding-left: 15px;
	font-size: 12px;
}
#bread li:first-child {
	padding-left: 0;
}
#bread li::before {
	content: ">";
	position: absolute;
	left: 3px;
	top: 0;
	font-size: 12px;
}
#bread li:first-child::before {
	content: "";
	padding-left: 0;
}
#bread li a {
	font-size: 12px;
}
@media screen and (max-width: 768px) {
	#bread {
		padding: 10px 0;
	}
	#bread .inner {
		padding: 0 10px;
	}
}

.OTHER .mainimg {
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 1.2;
    letter-spacing: 1px;
    font-weight: bold;
    font-size: 3.2rem;
}
#PROFILE.OTHER .mainimg,
#PRIVACY.OTHER .mainimg {
    background: transparent url(../img/profile/bg_main.png) no-repeat center center;
    background-size: cover;
}
#CASE.OTHER .mainimg {
    background: transparent url(../img/case/bg_main.png) no-repeat center center;
    background-size: cover;
}
#CONTACT.OTHER .mainimg {
    background: transparent url(../img/contact/bg_main.png) no-repeat center center;
    background-size: cover;
}
#PRICE.OTHER .mainimg {
    background: transparent url(../img/price/bg_main.png) no-repeat center center;
    background-size: cover;
}
@media screen and (max-width: 768px){
    .OTHER .mainimg {
        height: 120px;
        font-size: 2.2rem;
    }
}

#PROFILE #sec1 table {
    width: 100%;
}
#PROFILE #sec1 table th,
#PROFILE #sec1 table td {
    border-top: 1px solid #808080;
}
#PROFILE #sec1 table tr:first-child th,
#PROFILE #sec1 table tr:first-child td {
    border-top: none;
}
#PROFILE #sec1 table th {
    padding: 15px 0;
    width: 320px;
    text-align: left;
    text-align: top;
}
#PROFILE #sec1 table td {
    padding: 15px 10px;
}
@media screen and (max-width: 768px){
    #PROFILE #sec1 table {
        display: block;
    }
    #PROFILE #sec1 table tr,
    #PROFILE #sec1 table tbody {
        display: block;
        width: 100%;
    }
    #PROFILE #sec1 table th,
    #PROFILE #sec1 table td {
        display: block;
        width: 100%;
        border-top: 1px solid #808080;
    }
    #PROFILE #sec1 table tr:first-child th,
    #PROFILE #sec1 table tr:first-child td {
        border-top: none;
    }
    #PROFILE #sec1 table th {
        padding: 15px 0 5px;
    }
    #PROFILE #sec1 table td {
        padding: 0 0 15px;
        border-top: none;
        font-size: 14px;
    }
}
#PROFILE #sec2 .body img {
    margin-left: 20px;
    margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
    #PROFILE #sec2 .body {
        margin-top: 20px;
        font-size: 14px;
    }
    #PROFILE #sec2 .body img {
        display: block;
        margin-left: 0;
        margin-bottom: 20px;
    }
}
#PROFILE #sec3 .rows {
    display: flex;
    justify-content: space-between;
}
#PROFILE #sec3 .rows .list {
    flex: 0 0 48%;
}
#PROFILE #sec3 .rows .list .title {
    /* margin-top: 10px; */
    font-weight: bold;
}
#PROFILE #sec3 .rows .list .title:before {
    content: "■";
    display: inline-block;
    margin-right: 5px;
    color: #81bf24;
}
#PROFILE #sec3 .rows .list .map {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 75%;
}
#PROFILE #sec3 .rows .list .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 768px) {
    #PROFILE #sec3 .rows {
        flex-wrap: wrap;
    }
    #PROFILE #sec3 .rows .list {
        flex: 0 0 100%;
        margin-top: 30px;
        font-size: 14px;
    }
    #PROFILE #sec3 .rows .list .title {
        margin-top: 10px;
    }
}

#FLOW #sec2 .rows .list {
    display: flex;
    justify-content: space-between;
    position: relative;
    padding-bottom: 80px;
    padding-left: 80px;
}
#FLOW #sec2 .rows .list:nth-child(1),
#FLOW #sec2 .rows .list:nth-child(2) {
    background: transparent url(../img/flow/bar1.svg) no-repeat 25px 50px;
    background-size: auto 100%;
}
#FLOW #sec2 .rows .list:nth-child(3) {
    background: transparent url(../img/flow/bar2.svg) no-repeat 25px 50px;
    background-size: auto 100%;
}
#FLOW #sec2 .rows .list:nth-child(4),
#FLOW #sec2 .rows .list:nth-child(5),
#FLOW #sec2 .rows .list:nth-child(6),
#FLOW #sec2 .rows .list:nth-child(7),
#FLOW #sec2 .rows .list:nth-child(8),
#FLOW #sec2 .rows .list:nth-child(9),
#FLOW #sec2 .rows .list:nth-child(10) {
    background: transparent url(../img/flow/bar3.svg) no-repeat 25px 50px;
    background-size: auto 100%;
}
#FLOW #sec2 .rows .list .no {
    position: absolute;
    left: 0;
    top: -5px;
}
#FLOW #sec2 .rows .list .body {
    flex: 1;
    padding-right: 30px;
}
#FLOW #sec2 .rows .list .body .title {
    line-height: 1.4;
    letter-spacing: 1px;
    font-weight: bold;
    font-size: 34px;
    color: #048abf;
}
#FLOW #sec2 .rows .list.green .body .title {
    color: #81bf24;
}
#FLOW #sec2 .rows .list .body .text {
    margin-top: 10px;
    color: #333;
}
#FLOW #sec2 .rows .list .img {
    flex: 0 0 400px;
}
@media screen and (max-width: 768px) {
    #FLOW #sec2 .rows .list {
        flex-wrap: wrap;
        padding-bottom: 50px;
        padding-left: 42px;
    }
    #FLOW #sec2 .rows .list:nth-child(1),
    #FLOW #sec2 .rows .list:nth-child(2) {
        background: transparent url(../img/flow/bar1.svg) repeat-y 14px 0;
        background-size: 7px auto;
    }
    #FLOW #sec2 .rows .list:nth-child(3) {
        background: transparent url(../img/flow/bar2.svg) repeat-y 14px 0;
        background-size: 7px auto;
    }
    #FLOW #sec2 .rows .list:nth-child(4),
    #FLOW #sec2 .rows .list:nth-child(5),
    #FLOW #sec2 .rows .list:nth-child(6),
    #FLOW #sec2 .rows .list:nth-child(7),
    #FLOW #sec2 .rows .list:nth-child(8),
    #FLOW #sec2 .rows .list:nth-child(9),
    #FLOW #sec2 .rows .list:nth-child(10) {
        background: transparent url(../img/flow/bar3.svg) repeat-y 14px 0;
        background-size: 7px auto;
    }
    #FLOW #sec2 .rows .list .no {
        top: -1px;
    }
    #FLOW #sec2 .rows .list .no img {
        width: 35px;
    }
    #FLOW #sec2 .rows .list .body {
        flex: 0 0 100%;
    }
    #FLOW #sec2 .rows .list .body .title {
        font-size: 24px;
    }
    #FLOW #sec2 .rows .list.green .body .title {
        color: #81bf24;
    }
    #FLOW #sec2 .rows .list .body .text {
        margin-top: 10px;
        font-size: 14px;
    }
    #FLOW #sec2 .rows .list .img {
        flex: 0 0 100%;
        margin-top: 10px;
    }
}

#CASE #sec1 .midashi {
    margin-bottom: 40px;
    text-align: center;
    line-height: 1.2;
    font-size: 30px;
}
#CASE #sec1 h2.midashi {
    margin-bottom: 40px;
    text-align: center;
    line-height: 1.2;
    font-size: 30px;
}
#CASE #sec1 .cat {
    margin-bottom: 20px;
    text-align: center;
}
#CASE #sec1 .cat span {
    display: inline-block;
    padding: 3px 10px;
    width: 140px;
    text-align: center;
    line-height: 1.4;
    border-radius: 30px;
    border: 2px solid #fff;
    color: #fff;
}
#CASE #sec1 .lmenu{
  width: 100%;
}
#CASE #sec1 .lmenu ul {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
    margin-top: 50px;
}
/* #CASE #sec1 .lmenu ul li {
    margin: 0 10px;
} */
#CASE #sec1 .lmenu ul li a {
    display: block;
    padding: 3px 10px;
    width: 140px;
    text-align: center;
    line-height: 1.4;
    border-radius: 30px;
    border: 2px solid #fff;
    color: #fff;
}
#CASE #sec1 .lmenu ul li.current a,
#CASE #sec1 .lmenu ul li a:hover {
    background-color: #fff;
    color: #37aa24;
}

/* #CASE #sec1 ul {display: flex;flex-wrap: wrap;} */
/* #CASE #sec1 .bx_ex {display: flex;flex-wrap: wrap;} */
#CASE #sec1 .bx_ex{
  margin-top: 50px;
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 1000px) {
  #CASE #sec1 .bx_ex{
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 600px) {
  #CASE #sec1 .bx_ex{
    grid-template-columns: 1fr;
  }
  #CASE #sec1 .bx_ex li{
    width: min(100%, 400px);
    margin-inline: auto;
  }
}
#CASE #sec1 .bx_ex li {flex: 0 0 23%;background: #fff;border-radius: 10px;}
/* #CASE #sec1 .bx_ex li:nth-child(4n+1) {
    margin-left: 0;
} */
#CASE #sec1 .bx_white li {margin: 0;position: relative;}
/* #CASE #sec1 .bx_white li:after {content: '';position: absolute;right: 10px;bottom: 16px;background: url(../img/ico_arrow.svg) 100% center no-repeat;background-size: 16px 16px;width: 16px;height: 16px;} */
#CASE #sec1 li a {padding: 1rem;}
/* #CASE #sec1 li a {
    padding-bottom: 40px;
} */
#CASE #sec1 .bx_ex a {position: relative; display:block;}
#CASE #sec1 .bx_ex a img {
    width: 100%;
}
/* #CASE #sec1 .bx_ex a:after {content: '';position: absolute;right: 10px;bottom: 16px;background: url(../img/ico_arrow.svg) 100% center no-repeat;background-size: 16px 16px;width: 16px;height: 16px;} */
#CASE #sec1 .bx_ex h4 {font-size: 16px;}
#CASE #sec1 .bx_ex p {font-size: 18px;font-weight: bold;}
#CASE #sec1 .icon_blk {
    position: absolute;
    left: 15px;
    top: 10px;
}
#CASE #sec1 .ico_casecat {
  font-size: 12px;
  background: #000;
  color: #fff;
  margin-right: 5px;
  padding: 2px 5px;
  letter-spacing: 0.1rem;
}
#CASE #sec1 .img {
    overflow: hidden;
    height: 200px;
    img{
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }
}
@media screen and (max-width: 768px) {
    #CASE #sec1 .cat {
        margin-bottom: 10px;
    }
    #CASE #sec1 .cat span {
        padding: 3px 10px;
        width: 100px;
        font-size: 14px;
    }
    #CASE #sec1 .midashi {
        margin-bottom: 20px;
        line-height: 1.6;
        font-size: 18px;
    }
    /* #CASE #sec1 .lmenu ul {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        margin-top: 30px;
    } */
    /* #CASE #sec1 .lmenu ul li {
        margin: 20px 10px 0;
    } */
    #CASE #sec1 .lmenu ul li a {
        display: block;
        padding: 3px 10px;
        width: 140px;
        text-align: center;
        line-height: 1.4;
        border-radius: 30px;
        border: 2px solid #fff;
        color: #fff;
    }
    #CASE #sec1 .lmenu ul li.current a,
    #CASE #sec1 .lmenu ul li a:hover {
        background-color: #fff;
        color: #37aa24;
    }
    /* #CASE #sec1 .bx_ex li {flex: 0 0 100%;margin-left: 0;margin-top: 30px;} */
    /* #CASE #sec1 .bx_ex li:nth-child(4n+1) {
        margin-left: 0;
    } */
    #CASE #sec1 p {font-size: 14px;}
    /* #CASE #sec1 .img {
        height: auto;
    } */
}

#CASE #sec1 .box {
    margin: 50px auto 0;
    max-width: 1000px;
    width: 100%;
}

#CASE #sec1 .box .box-inner{
  width: min(100%, 700px);
  padding: 30px 0;
  margin-left: auto;
  margin-right: auto;
}

#CASE #sec1 .box .detail {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    width: 100%;
    border-left: 1px solid #662d91;
    border-right: 1px solid #662d91;
    border-bottom: 1px solid #662d91;
}
#CASE #sec1 .box .detail .col {
    /* display: flex; */
    /* flex: 1; */
    /* width: 50%; */
}
#CASE #sec1 .box .detail .col:nth-child(even) {
  border-left: 1px solid #662d91;
}

#CASE #sec1 .box .detail .col .title {
    /* flex: 0 0 40%; */
    text-align: center;
    background-color: #d1c0de;
    border-top: 1px solid #662d91;
    /* border-right: 1px solid #662d91;
    border-bottom: 1px solid #662d91; */
    font-size: .8em;
}
#CASE #sec1 .box .detail .col .text {
    /* flex: 0 0 60%; */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .9em;
    padding: 5px;
    background-color: #fff;
    border-top: 1px solid #662d91;
    /* border-right: 1px solid #662d91;
    border-bottom: 1px solid #662d91; */
}
@media screen and (min-width: 768px) {


}
@media screen and (max-width: 767.999px) {
    #CASE #sec1 .box {
        margin-top: 50px;
    }
    #CASE #sec1 .box .detail{

    }

    /* #CASE #sec1 .box .detail {
        flex-wrap: wrap;
    } */
    /* #CASE #sec1 .box .detail .col {
        display: block;
        flex: 0 0 50%;
        /* font-size: 14px;
    } */
}
#CASE #sec1 .box .ba_blk {
    /* display: flex;
    justify-content: space-between;
    align-items: center; */
    margin-top: 35px;
    /* padding: 30px; */
    /* background-color: #d1c0de;
    border-radius: 20px; */
}

#CASE #sec1 .box .ba_blk .ba-img{
  width: min(100%, 500px);
  margin-left: auto;
  margin-right: auto;
}

/* @media screen and (min-width: 767.999px) {
  #CASE #sec1 .box .ba_blk .ba-img{
    width: min(100%, 480px);
  }
} */
@media screen and (min-width: 400px) {
  #CASE #sec1 .box .ba_blk .ba-img{
    height: 400px;
  }
}

#CASE #sec1 .box .ba_blk .ba-img img{
  height: 100%;
  width: 100%;
  object-fit: contain;
}



/* #CASE #sec1 .box .ba_blk .bimg {
    flex: 0 0 45%;
    position: relative;
}
#CASE #sec1 .box .ba_blk .bimg img {
    width: 100%;
}
#CASE #sec1 .box .ba_blk .bimg span {
    position: absolute;
    left: 5px;
    top: 5px;
    display: inline-block;
    padding: 2px 5x;
    width: 100px;
    text-align: center;
    line-height: 1.4;
    letter-spacing: 1px;
    background-color: #662d91;
    font-weight: bold;
    font-size: 20px;
    color: #fff;
}
#CASE #sec1 .box .ba_blk .cursor {
    flex: 0 0 10%;
    text-align: center;
}
#CASE #sec1 .box .ba_blk .cursor img {
    margin: 0 auto;
}
#CASE #sec1 .box .ba_blk .aimg {
    flex: 0 0 45%;
    position: relative;
}
#CASE #sec1 .box .ba_blk .aimg img {
    width: 100%;
}
#CASE #sec1 .box .ba_blk .aimg span {
    position: absolute;
    left: 5px;
    top: 5px;
    display: inline-block;
    padding: 2px 5x;
    width: 100px;
    text-align: center;
    line-height: 1.4;
    letter-spacing: 1px;
    background-color: #f15a24;
    font-weight: bold;
    font-size: 20px;
    color: #fff;
} */
@media screen and (max-width: 768px) {
    /* #CASE #sec1 .box .ba_blk {
        flex-wrap: wrap;
        margin-top: 35px;
        padding: 20px;
        border-radius: 15px;
    }
    #CASE #sec1 .box .ba_blk .bimg {
        flex: 0 0 100%;
        position: relative;
    }
    #CASE #sec1 .box .ba_blk .bimg span {
        font-size: 18px;
    }
    #CASE #sec1 .box .ba_blk .cursor {
        flex: 0 0 100%;
        padding: 10px 0;
    }
    #CASE #sec1 .box .ba_blk .cursor img {
        width: 30px;
        transform: rotate(90deg);
    }
    #CASE #sec1 .box .ba_blk .aimg {
        flex: 0 0 100%;
    }
    #CASE #sec1 .box .ba_blk .aimg span {
        font-size: 18px;
    } */
}
#CASE #sec1 .box .staff_blk {
    margin-top: 80px;
    padding: 30px;
    border: 2px solid #662d91;
    border-radius: 10px;
}
#CASE #sec1 .box .staff_blk .title {
    margin-top: -50px;
    text-align: center;
}
#CASE #sec1 .box .staff_blk .title span {
    display: inline-block;
    padding: 5px;
    width: 240px;
    line-height: 1.4;
    background-color: #662d91;
    border-radius: 40px;
    font-weight: bold;
    font-size: 20px;
    color: #fff;
}
#CASE #sec1 .box .staff_blk .text {
    margin-top: 30px;
}
@media screen and (max-width: 768px) {
    #CASE #sec1 .box .staff_blk {
        margin-top: 50px;
        padding: 20px;
    }
    #CASE #sec1 .box .staff_blk .title {
        margin-top: -38px;
    }
    #CASE #sec1 .box .staff_blk .title span {
        padding: 5px;
        width: 200px;
        font-size: 18px;
    }
    #CASE #sec1 .box .staff_blk .text {
        margin-top: 30px;
    }
}

.navigation {
    display: flex;
    justify-content: center;
    margin-top: 50px;
}
.navigation .back {
    margin: 0 20px;
    text-align: center;
}
.navigation .back a {
    display: inline-block;
    padding: 12px 25px;
    background-color: #fff;
    border-radius: 100px;
    font-weight: bold;
    font-size: 18px;
    color: #37aa24;
}
.navigation .prev {
    flex: 0 0 50px;
}
.navigation .next {
    flex: 0 0 50px;
}
.navigation .cursor a {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 50px;
    height: 50px;
    background-color: #fff;
    border-radius: 100px;
    font-size: 18px;
    color: #37aa24;
}
.navigation .cursor a:before {
    content: "";
    position: absolute;
    left: 12px;
    top: 15px;
    display: block;
    width: 20px;
    height: 20px;
    border-top: 4px solid #37aa24;
    transform: rotate(45deg);
}
.navigation .cursor.prev a:before {
    left: 18px;
    transform: rotate(-45deg);
}
.navigation .cursor a:after {
    content: "";
    position: absolute;
    left: 12px;
    top: 15px;
    display: block;
    width: 20px;
    height: 20px;
    border-top: 4px solid #37aa24;
    transform: rotate(135deg);
}
.navigation .cursor.prev a:after {
    left: 18px;
    transform: rotate(-135deg);
}

/* .pagination {
    display: flex;
    justify-content: center;
    margin-top: 50px;
}
.pagination li {
    margin: 0 5px;
}
.pagination li a {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    padding: 0 !important;
    width: 50px;
    height: 50px;
    border-radius: 100px;
    border: 2px solid #fff;
    font-size: 22px;
    color: #fff;
}
.pagination li.active a {
    background-color: #fff;
    color: #37aa24;
}
.pagination .cursor a:before {
    content: "";
    position: absolute;
    left: 10px;
    top: 13px;
    display: block;
    width: 20px;
    height: 20px;
    border-top: 4px solid #fff;
    transform: rotate(45deg);
}
.pagination .cursor.prev a:before {
    left: 18px;
    transform: rotate(-45deg);
}
.pagination .cursor a:after {
    content: "";
    position: absolute;
    left: 10px;
    top: 13px;
    display: block;
    width: 20px;
    height: 20px;
    border-top: 4px solid #fff;
    transform: rotate(135deg);
}
.pagination .cursor.prev a:after {
    left: 18px;
    transform: rotate(-135deg);
} */


#CASE.COLUMN #sec1 .flex3 .img {
    overflow: hidden;
    height: 250px;
}
#CASE.COLUMN #sec1 .flex3 img {
    width: 100%;
}
@media screen and (max-width: 768px) {
    #CASE.COLUMN #sec1 h3 {
        padding: 10px 0;
    }
    #CASE.COLUMN #sec1 h3 img {
        width: 260px;
    }
    #CASE.COLUMN #sec1 .flex3 .img {
        height: 200px;
    }
}

#PRIVACY #sec1 .lead {
    margin: 30px 0;
}
#PRIVACY #sec1 dl {
    padding: 20px 0;
    border-top: 1px solid #808080;
}
#PRIVACY #sec1 dl dt {
    font-weight: bold;
}
#PRIVACY #sec1 dl dd {
    margin-top: 10px;
}
@media screen and (max-width: 768px) {
    #PRIVACY #sec1 .lead {
        font-size: 14px;
    }
    #PRIVACY #sec1 dl {
        font-size: 14px;
    }
}

#CONTACT .top .midashi {
    text-align: center;
    line-height: 1.4;
    font-size: 44px;
}
#CONTACT .top .lead {
    margin-top: 20px;
    text-align: center;
    line-height: 1.6;
}
#CONTACT .top .tel {
    margin-top: 50px;
    text-align: center;
}
#CONTACT .top .tel img {
    margin: 0 auto;
}
@media screen and (max-width: 768px) {
    #CONTACT .top .midashi {
        font-size: 28px;
    }
    #CONTACT .top .lead {
        margin-top: 20px;
        font-size: 15px;
    }
    #CONTACT .top .tel {
        margin-top: 30px;
    }
}
/* #CONTACT #form h3 {
    padding: 10px 0;
    text-align: center;
    line-height: 1.4;
    border-top: 2px solid #81bf24;
    border-bottom: 2px solid #81bf24;
    font-size: 34px;
} */
#CONTACT #form table {
    width: 100%;
}
#CONTACT #form table th {
    position: relative;
    padding: 20px 0;
    width: 330px;
    text-align: left;
    vertical-align: top;
    border-top: 1px solid #808080;
}
#CONTACT #form table tr.require th:after {
    position: absolute;
    right: 0;
    top: 30px;
    content: "必 須";
    padding: 2px 5px;
    line-height: 1.4;
    background-color: #f23030;
    border-radius: 3px;
    font-size: 12px;
    color: #fff;
}
#CONTACT #form table tr:nth-child(1) th {
    border-top: none;
}
#CONTACT #form table td {
    padding: 20px 0 20px 10px;
    border-top: 1px solid #808080;
}
#CONTACT #form table tr:nth-child(1) td {
    border-top: none;
}
::placeholder {
    color: #ccc;
}
#CONTACT #form table td input[type="text"],
#CONTACT #form table td input[type="email"] {
    padding: 5px;
    width: 100%;
    border-radius: 5px;
    border: 1px solid #808080;
}
#CONTACT #form table td input[type="text"][name="post"] {
    width: 300px;
}
#CONTACT #form table td input[type="checkbox"] {
    margin-right: 3px;
}
#CONTACT #form table td textarea {
    padding: 5px;
    width: 100%;
    height: 130px;
    border-radius: 5px;
    border: 1px solid #808080;
}
#CONTACT #form table td .mt {
    margin-top: 10px;
}
#CONTACT #form .btn_blk {
    margin-top: 50px;
    text-align: center;
}
#CONTACT #form .btn_blk span {
    display: inline-block;
    margin: 0 10px;
}
#CONTACT #form .btn_blk span input {
    padding: 10px 30px;
    background-color: #000;
    border-radius: 5px;
    color: #fff;
}
@media screen and (max-width: 768px) {
    /* #CONTACT #form h3 {
        font-size: 20px;
    } */
    #CONTACT #form table {
        display: block;
        width: 100%;
        font-size: 14px;
    }
    #CONTACT #form table tr,
    #CONTACT #form table tbody {
        display: block;
        width: 100%;
    }
    #CONTACT #form table th {
        display: block;
        width: 100%;
        padding: 25px 0 10px;
    }
    #CONTACT #form table tr.require th:after {
        right: 0;
        top: 25px;
        padding: 2px 5px;
        font-size: 12px;
    }
    #CONTACT #form table tr:nth-child(1) th {
        border-top: none;
    }
    #CONTACT #form table td {
        display: block;
        width: 100%;
        padding: 0 0 25px 0;
        border-top: none;
    }
    #CONTACT #form table td input[type="text"],
    #CONTACT #form table td input[type="email"] {
        padding: 5px;
        width: 100%;
    }
    #CONTACT #form table td input[type="text"][name="post"] {
        width: 100px;
    }
    #CONTACT #form table td textarea {
        height: 130px;
    }
    #CONTACT #form .btn_blk {
        margin-top: 50px;
    }
    #CONTACT #form .btn_blk span {
        display: inline-block;
        margin: 0 5px;
    }
    #CONTACT #form .btn_blk span input {
        padding: 10px 15px;
        font-size: 14px;
    }
}

#PRICE .box .sec1 .row {
    display: flex;
    justify-content: space-between;
}
#PRICE .box .sec1 .row .info {
    flex: 0 0 48%;
}
#PRICE .box .sec1 .row .info .title {
    line-height: 1.4;
    font-weight: bold;
    font-size: 44px;
}
#PRICE .box .sec1 .row .info .text {
    margin-top: 20px;
    line-height: 1.8;
}
#PRICE .box .sec1 .row .img {
    flex: 0 0 48%;
}
#PRICE .box .sec1 table {
    margin-top: 30px;
    width: 100%;
    border-left: 1px solid #333;
    border-top: 1px solid #333;
}
#PRICE .box .sec1 table th {
    padding: 5px;
    width: 50%;
    text-align: center;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
    color: #fff;
}
#PRICE #ihin.box .sec1 table th {
    /* background-color: #662d91; */
    background-color: #333;
}
#PRICE #seizen.box .sec1 table th {
    /* background-color: #f15a24; */
    background-color: #333;
}
#PRICE #tokushu.box .sec1 table th {
    /* background-color: #2e3192; */
    background-color: #333;
}
#PRICE .box .sec1 table td {
    padding: 5px;
    width: 50%;
    text-align: center;
    border-right: 1px solid #333;
    border-bottom: 1px solid #333;
}
#PRICE .box .sec1 .other {
    margin-top: 10px;
    text-align: center;
    font-size: 14px;
}
#PRICE .box .btn {
    margin-top: 30px;
}
@media screen and (max-width: 768px) {
    #PRICE .box .sec1 .row {
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }
    #PRICE .box .sec1 .row .info {
        flex: 0 0 100%;
        margin-top: 15px;
    }
    #PRICE .box .sec1 .row .info .title {
        text-align: center;
        font-size: 30px;
    }
    #PRICE .box .sec1 .row .info .text {
        margin-top: 15px;
        line-height: 1.6;
        font-size: 14px;
    }
    #PRICE .box .sec1 .row .img {
        flex: 0 0 100%;
    }
    #PRICE .box .sec1 table {
        margin-top: 30px;
        width: 100%;
        font-size: 14px;
    }
    #PRICE .box .sec1 table th {
        padding: 5px;
        width: 50%;
    }
    #PRICE .box .sec1 table td {
        padding: 5px;
        width: 50%;
    }
    #PRICE .box .sec1 .other {
        margin-top: 10px;
        font-size: 10px;
    }
    #PRICE .box .btn {
        margin-top: 30px;
    }
}
#PRICE .box .midashi {
    padding: 7px 0;
    text-align: center;
    line-height: 1.4;
    /* border-top: 2px solid #662d91;
    border-bottom: 2px solid #662d91; */
    border-top: 2px solid #333;
    border-bottom: 2px solid #333;
    font-weight: bold;
    font-size: 32px;
}
#PRICE #tokushu.box .midashi {
    /* border-top: 2px solid #2e3192;
    border-bottom: 2px solid #2e3192; */
    border-top: 2px solid #333;
    border-bottom: 2px solid #333;
}
#PRICE .box .lead {
    margin-top: 20px;
    text-align: center;
    line-height: 1.8;
}
#PRICE .box .sec2 {
    margin-top: 50px;
}
#PRICE .box .sec3 {
    margin-top: 50px;
}
@media screen and (max-width: 768px) {
    #PRICE .box .midashi {
        font-size: 20px;
    }
    #PRICE .box .lead {
        line-height: 1.6;
        font-size: 14px;
    }
    #PRICE .box .sec2 {
        margin-top: 50px;
    }
    #PRICE .box .sec3 {
        margin-top: 50px;
    }
}
#PRICE #ihin .sec2 .rows {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
#PRICE #ihin .sec2 .rows .list {
    flex: 0 0 31%;
    margin-top: 30px;
    text-align: center;
}
#PRICE #ihin .sec2 .rows .list .title {
    margin-top: 10px;
    font-size: 20px;
}
@media screen and (max-width: 768px) {
    #PRICE #ihin .sec2 .rows .list {
        flex: 0 0 48%;
        margin-top: 20px;
    }
    #PRICE #ihin .sec2 .rows .list .title {
        margin-top: 5px;
        font-size: 14px;
    }
}
#PRICE #ihin .sec3 .rows .list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 50px;
}
#PRICE #ihin .sec3 .rows .list .img {
    flex: 0 0 415px;
}
#PRICE #ihin .sec3 .rows .list .info {
    flex: 1;
    padding-left: 30px;
}
#PRICE #ihin .sec3 .rows .list .info .title {
    padding-left: 10px;
    line-height: 1;
    border-left: 5px solid #662d91;
    font-weight: bold;
    font-size: 32px;
}
#PRICE #ihin .sec3 .rows .list .info .text {
    margin-top: 20px;
    line-height: 1.8;
    font-size: 16px;
}
@media screen and (max-width: 768px) {
    #PRICE #ihin .sec3 .rows .list {
        margin-top: 30px;
    }
    #PRICE #ihin .sec3 .rows .list .img {
        flex: 0 0 100%;
    }
    #PRICE #ihin .sec3 .rows .list .info {
        flex: 0 0 100%;
        margin-top: 15px;
        padding-left: 0;
    }
    #PRICE #ihin .sec3 .rows .list .info .title {
        border-left: 5px solid #662d91;
        font-size: 22px;
    }
    #PRICE #ihin .sec3 .rows .list .info .text {
        margin-top: 15px;
        line-height: 1.6;
        font-size: 14px;
    }
}
#PRICE #tokushu .sec2 .rows {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 30px;
}
#PRICE #tokushu .sec2 .rows .list {
    flex: 0 0 18%;
    text-align: center;
}
#PRICE #tokushu .sec2 .rows .list .title {
    margin-top: 10px;
    line-height: 1.4;
    font-weight: bold;
    font-size: 20px;
}
@media screen and (max-width: 768px) {
    #PRICE #tokushu .sec2 .rows {
        margin-top: 0;
    }
    #PRICE #tokushu .sec2 .rows .list {
        flex: 0 0 48%;
        margin-top: 20px;
    }
    #PRICE #tokushu .sec2 .rows .list .title {
        font-size: 16px;
    }
}

.LP .container {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.LP .container  .btn {
    margin-top: 50px;
}
.LP .sec2 .midashi,
.LP .sec8 .midashi {
    text-align: center;
    line-height: 1.4;
    font-weight: bold;
    font-size: 44px;
}
.LP .sec2 .midashi span,
.LP .sec8 .midashi span {
    color: #ff931e;
}
.LP .sec2 .rows {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 30px;
    padding: 30px;
    background-color: #662d91;
    border-radius: 15px;
}
#IHIN.LP .sec2 .rows {
    background-color: #43a7cf;
}
#DANWA.LP .sec2 .rows {
    background-color: #f15a24;
}
.LP .sec2 .rows .list {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    flex: 0 0 31%;
    margin-left: 3%;
    padding: 10px;
    background-color: #fff;
    border-radius: 10px;
}
.LP .sec2 .rows .list:nth-child(3n+1) {
    margin-left: 0;
}
.LP .sec2 .rows .list:nth-child(4),
.LP .sec2 .rows .list:nth-child(5) {
    margin-top: 30px;
}
.LP .sec2 .rows .list .check {
    flex: 0 0 100%;
    text-align: center;
}
.LP .sec2 .rows .list .check img {
    margin: 0 auto;
}
.LP .sec2 .rows .list .text {
    flex: 0 0 100%;
    margin-top: 10px;
    text-align: center;
    line-height: 1.4;
    font-weight: bold;
    font-size: 22px;
}
@media screen and (max-width: 768px) {
    .LP .container {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
    .LP .sec2 .midashi {
        font-size: 24px;
    }
    .LP .sec2 .rows {
        margin-top: 20px;
        padding: 15px;

    }
    .LP .sec2 .rows .list {
        flex: 0 0 100%;
        margin-left: 0;
        margin-top: 15px;
        padding: 10px;
    }
    .LP .sec2 .rows .list:nth-child(3n+1) {
        margin-left: 0;
    }
    .LP .sec2 .rows .list:nth-child(4),
    .LP .sec2 .rows .list:nth-child(5) {
        margin-top: 15px;
    }
    .LP .sec2 .rows .list:first-child {
        margin-top: 0;
    }
    .LP .sec2 .rows .list .check img {
        margin: 0 auto;
    }
    .LP .sec2 .rows .list .text {
        margin-top: 10px;
        font-size: 16px;
    }
}
.LP .sec4 .midashi {
    text-align: center;
    line-height: 1.4;
    font-weight: bold;
    font-size: 44px;
}
.LP .sec4 .midashi span {
    color: #ff931e;
}
.LP .sec4 .sub {
    margin-top: 30px;
    padding: 7px 0;
    text-align: center;
    line-height: 1.4;
    /* border-top: 2px solid #662d91;
    border-bottom: 2px solid #662d91; */
    border-top: 2px solid #333;
    border-bottom: 2px solid #333;
    font-weight: bold;
    font-size: 32px;
}
.LP .sec4 .rows {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
.LP .sec4 .rows .list {
    flex: 0 0 31%;
    margin-left: 3%;
    margin-top: 30px;
    background-color: #fff;
    border-radius: 15px;
    border: 1px solid #707070;
    /* box-shadow: 2px 2px 3px #666; */
}
.LP .sec4 .rows .list img {
    border-radius: 14px 14px 0 0;
}
.LP .sec4 .rows .list:nth-child(3n+1) {
    margin-left: 0;
}
.LP .sec4 .rows .list .title {
    padding: 15px 15px 0;
    text-align: center;
    line-height: 1.4;
    font-weight: bold;
    font-size: 30px;
    color: #662d91;
}
.LP .sec4 .rows .list .text {
    padding: 10px 15px 20px;
    line-height: 1.6;
}
@media screen and (max-width: 768px) {
    .LP .sec4 .midashi {
        font-size: 28px;
    }
    .LP .sec4 .sub {
        margin-top: 30px;
        padding: 7px 0;
        font-size: 24px;
    }
    .LP .sec4 .rows .list {
        flex: 0 0 100%;
        margin-left:0;
        margin-top: 30px;
    }
    .LP .sec4 .rows .list .title {
        margin-top: 10px;
        font-size: 24px;
    }
    .LP .sec4 .rows .list .text {
        padding: 10px;
        line-height: 1.6;
        font-size: 14px;
    }
}
.LP .sec5 .rows .list {
    display: flex;
    justify-content: space-between;
    margin-top: 50px;
}
.LP .sec5 .rows .list .img {
    flex: 0 0 48%;
}
.LP .sec5 .rows .list .info {
    display: flex;
    justify-content: center;
    align-content: center;
    flex-wrap: wrap;
    flex: 0 0 48%;
}
.LP .sec5 .rows .list .info .title {
    flex: 0 0 100%;
    line-height: 1.4;
    font-weight: bold;
    font-size: 32px;
}
.LP .sec5 .rows .list .info ul {
    display: flex;
    flex-wrap: wrap;
    flex: 0 0 100%;
    margin-top: 20px;
}
.LP .sec5 .rows .list .info ul li {
    margin-top: 10px;
    margin-right: 20px;
    padding-left: 15px;
    text-indent: -16px;
}
.LP .sec5 .rows .list .info ul li:before {
    content: "●";
    color: #662d91;
}
#IHIN.LP .sec5 .rows .list .info ul li:before {
    color: #81bf24;
}
.LP .sec5 .rows .list .info .text {
    margin-top: 20px;
}
@media screen and (max-width: 768px) {
    .LP .sec5 .rows .list {
        flex-wrap: wrap;
        margin-top: 30px;
    }
    .LP .sec5 .rows .list .img {
        flex: 0 0 100%;
    }
    .LP .sec5 .rows .list .info {
        flex: 0 0 100%;
        margin-top: 20px;
    }
    .LP .sec5 .rows .list .info .title {
        flex: 0 0 100%;
        font-size: 24px;
    }
    .LP .sec5 .rows .list .info ul {
        flex: 0 0 100%;
        margin-top: 10px;
    }
    .LP .sec5 .rows .list .info ul li {
        margin-top: 10px;
        margin-right: 10px;
        font-size: 14px;
    }
}
.LP .sec6 .midashi {
    text-align: center;
    line-height: 1.4;
    font-weight: bold;
    font-size: 44px;
}
.LP .sec6 .midashi span {
    color: #ff931e;
}
.LP .sec6 .rows {
    margin-top: 50px;
}
.LP .sec6 .rows .list {
    display: flex;
    justify-content: space-between;
    position: relative;
    padding-bottom: 80px;
    padding-left: 80px;
}
.LP .sec6 .rows .list {
    background: transparent url(../img/seisou/bar1.svg) no-repeat 25px 50px;
    background-size: auto 100%;
}
.LP .sec6 .rows .list:nth-child(7) {
    background-image: none;
}
.LP .sec6 .rows .list .no {
    position: absolute;
    left: 0;
    top: -5px;
}
.LP .sec6 .rows .list .body {
    flex: 1;
    padding-right: 30px;
}
.LP .sec6 .rows .list .body .title {
    line-height: 1.4;
    letter-spacing: 1px;
    font-weight: bold;
    font-size: 34px;
    color: #662d91;
}
.LP .sec6 .rows .list .body li {
    margin-top: 5px;
    padding-left: 15px;
}
.LP .sec6 .rows .list .body li:before {
    content: "●";
    display: inline-block;
    margin-right: 2px;
    text-indent: -18px;
    color: #ff931e;
}
.LP .sec6 .rows .list .body li span {
    color: #ff931e;
}
.LP .sec6 .rows .list .body .text {
    margin-top: 10px;
}
.LP .sec6 .rows .list .img {
    flex: 0 0 400px;
}
@media screen and (max-width: 768px) {
    .LP .sec6 .midashi {
        font-size: 28px;
    }
    .LP .sec6 .rows {
        margin-top: 30px;
    }
    .LP .sec6 .rows .list {
        flex-wrap: wrap;
        padding-bottom: 50px;
        padding-left: 42px;
    }
    .LP .sec6 .rows .list {
        background: transparent url(../img/seisou/bar1.svg) repeat-y 14px 0;
        background-size: 7px auto;
    }
    .LP .sec6 .rows .list:nth-child(7) {
        background-image: none;
    }
    .LP .sec6 .rows .list .no {
        top: -1px;
    }
    .LP .sec6 .rows .list .no img {
        width: 35px;
    }
    .LP .sec6 .rows .list .body {
        flex: 0 0 100%;
        padding-right: 0;
        font-size: 14px;
    }
    .LP .sec6 .rows .list .body .title {
        font-size: 24px;
    }
    .LP .sec6 .rows .list.green .body .title {
        color: #81bf24;
    }
    .LP .sec6 .rows .list .body .text {
        margin-top: 10px;
        font-size: 14px;
    }
    .LP .sec6 .rows .list .img {
        flex: 0 0 100%;
        margin-top: 10px;
    }
}
.LP .sec7 .midashi {
    text-align: center;
    line-height: 1.4;
    font-weight: bold;
    font-size: 44px;
}
.LP .sec7 .midashi span {
    color: #ff931e;
}
.LP .sec7 .rows {
    margin-top: 50px;
}
.LP .sec7 .rows {
    display: flex;
    justify-content: center;
}
.LP .sec7 .rows .list {
    flex: 0 0 45%;
    margin: 0 30px;
}
.LP .sec7 .rows .list .title {
    margin-top: 20px;
    text-align: center;
    line-height: 1.6;
    font-weight: bold;
    font-size: 32px;
}
.LP .sec7 .rows .list .title span {
    color: #ff931e;
}
.LP .sec7 .img.mt {
    margin-top: 50px;
}
@media screen and (max-width: 768px) {
    .LP .sec7 .midashi {
        font-size: 28px;
    }
    .LP .sec7 .rows {
        margin-top: 30px;
    }
    .LP .sec7 .rows {
        flex-wrap: wrap;
    }
    .LP .sec7 .rows .list {
        flex: 0 0 100%;
        margin: 0;
    }
    .LP .sec7 .rows .list:nth-child(2) {
        margin-top: 30px;
    }
    .LP .sec7 .rows .list .title {
        margin-top: 10px;
        font-size: 24px;
    }
}
.LP .sec9 .midashi {
    text-align: center;
    line-height: 1.4;
    font-weight: bold;
    font-size: 44px;
}
.LP .sec9 .midashi span.q {
    color: #048abf;
}
.LP .sec9 .midashi span.a {
    color: #ff931e;
}
@media screen and (max-width: 768px) {
    .LP .sec8 .midashi {
        font-size: 28px;
    }
}
.LP .sec9 .rows .list {
    margin-top: 30px;
    padding: 15px 20px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0px 0px 10px #ccc;
}
.LP .sec9 .rows .list .q_blk {
    position: relative;
    padding-left: 50px;
    line-height: 1.4;
    font-size: 32px;
    cursor: pointer;
}
.LP .sec9 .rows .list .q_blk:before {
    content: "Q";
    position: absolute;
    left: 5px;
    top: -2px;
    font-size: 32px;
    color: #048abf;
}
.LP .sec9 .rows .list .q_blk:after {
    content: "+";
    position: absolute;
    right: 5px;
    top: 0;
    font-size: 30px;
    color: #048abf;
}
.LP .sec9 .rows .list.show .q_blk:after {
    content: "-";
    top: -15px;
    font-size: 44px;
}
.LP .sec9 .rows .list .a_blk {
    display: none;
    position: relative;
    margin-top: 10px;
    padding: 10px 15px 10px 50px;
    background-color: #f2f2f2;
    border-radius: 7px;
}
.LP .sec9 .rows .list .a_blk:before {
    content: "A";
    position: absolute;
    left: 15px;
    top: 0;
    font-size: 32px;
    color: #ff931e;
}
@media screen and (max-width: 768px) {
    .LP .sec9 .midashi {
        font-size: 28px;
    }
    .LP .sec9 .rows .list {
        margin-top: 30px;
        padding: 15px 20px;
        background-color: #fff;
        border-radius: 10px;
        box-shadow: 0px 0px 10px #ccc;
    }
    .LP .sec9 .rows .list .q_blk {
        position: relative;
        padding-left: 40px;
        padding-right: 30px;
        line-height: 1.4;
        font-size: 16px;
    }
    .LP .sec9 .rows .list .q_blk:before {
        content: "Q";
        position: absolute;
        left: 5px;
        top: -2px;
        font-size: 26px;
    }
    .LP .sec9 .rows .list .a_blk {
        position: relative;
        margin-top: 10px;
        padding: 10px 15px 10px 40px;
        font-size: 14px;
    }
    .LP .sec9 .rows .list .a_blk:before {
        content: "A";
        position: absolute;
        left: 15px;
        top: 0;
        font-size: 26px;
    }
}

.none_result {
    padding: 100px 0;
    text-align: center;
}
@media screen and (max-width: 768px) {
    .none_result {
        padding: 50px 0;
    }
}

.COLUMN.DETAIL .box {
    line-height: 1.8;
}
.COLUMN.DETAIL .box h2 {
    padding: 10px 20px;
    line-height: 1.4;
    background-color: #000;
    border: none;
    font-weight: bold;
    font-size: 20px;
    color: #fff;
}
.COLUMN.DETAIL .box h3 {
    padding: 5px 10px;
    line-height: 1.4;
    background-color: #e6e6e6;
    border-left: 5px solid #37aa24;
    font-weight: bold;
    font-size: 18px;
}
@media screen and (max-width: 768px) {
    .COLUMN.DETAIL .box {
        line-height: 1.6;
        font-size: 14px;
    }
    .COLUMN.DETAIL .box h2 {

        margin-bottom: 15px;
        padding: 8px 10px !important;
        font-size: 18px;
    }
    .COLUMN.DETAIL .box h3 {
        margin-bottom: 15px;
        padding: 3px 10px !important;
        font-size: 16px;
    }
}

#DANWA .lead {
    margin-top: 20px;
    text-align: center;
    line-height: 1.8;
}
#DANWA .sec8 .rows {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 80px;
}
#DANWA .sec8 .rows .row {
    flex: 0 0 48%;
    padding: 30px;
    background-color: #f15a24;
    border-radius: 15px;
}
#DANWA .sec8 .rows .row:nth-child(2) {
    height: 282px;
    background-color: #333;
}
#DANWA .sec8 .rows .row .title {
    margin-top: -63px;
    text-align: center;
}
#DANWA .sec8 .rows .row .title span {
    display: inline-block;
    padding: 10px 20px;
    width: 240px;
    text-align: center;
    line-height: 1.4;
    background-color: #f15a24;
    border-radius: 10px;
    font-weight: bold;
    font-size: 32px;
    color: #fff;
}
#DANWA .sec8 .rows .row:nth-child(2) .title span {
    background-color: #333;
}
#DANWA .sec8 .rows .row .body {
    margin-top: 30px;
}
#DANWA .sec8 .rows .row .list {
    margin-top: 20px;
    padding: 10px;
    text-align: center;
    background-color: #fff;
    border-radius: 10px;
}
#DANWA .sec8 .rows .row .list:nth-child(1) {
    margin-top: 0;
}
#DANWA .sec8 .rows .row .list img {
    margin: 0 auto 5px;
}
@media screen and (max-width: 768px) {
    #DANWA .sec8 .midashi {
        font-size: 25px;
    }
    #DANWA .lead {
        margin-top: 20px;
        text-align: center;
        line-height: 1.8;
    }
    #DANWA .sec8 .rows {
        margin-top: 60px;
    }
    #DANWA .sec8 .rows .row {
        flex: 0 0 100%;
        padding: 20px;
    }
    #DANWA .sec8 .rows .row:nth-child(2) {
        margin-top: 50px;
        height: auto;
    }
    #DANWA .sec8 .rows .row .title {
        margin-top: -46px;
        text-align: center;
    }
    #DANWA .sec8 .rows .row .title span {
        display: inline-block;
        padding: 10px 20px;
        width: 220px;
        font-size: 24px;
    }
    #DANWA .sec8 .rows .row .body {
        margin-top: 30px;
    }
    #DANWA .sec8 .rows .row .list {
        margin-top: 20px;
        padding: 10px;
        text-align: center;
        background-color: #fff;
        border-radius: 10px;
    }
}


/* 2026 yukipan追加 */

/* 余白 */
.mt10 {
  margin-top: 10px;
}

.mb10 {
  margin-bottom: 10px;
}

.pt10 {
  padding-top: 10px;
}

.pb10 {
  padding-bottom: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mb20 {
  margin-bottom: 20px;
}

.pt20 {
  padding-top: 20px;
}

.pb20 {
  padding-bottom: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mb30 {
  margin-bottom: 30px;
}

.pt30 {
  padding-top: 30px;
}

.pb30 {
  padding-bottom: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mb40 {
  margin-bottom: 40px;
}

.pt40 {
  padding-top: 40px;
}

.pb40 {
  padding-bottom: 40px;
}

.mt50 {
  margin-top: 50px;
}

.mb50 {
  margin-bottom: 50px;
}

.pt50 {
  padding-top: 50px;
}

.pb50 {
  padding-bottom: 50px;
}

.mt60 {
  margin-top: 60px;
}

.mb60 {
  margin-bottom: 60px;
}

.pt60 {
  padding-top: 60px;
}

.pb60 {
  padding-bottom: 60px;
}

.mt70 {
  margin-top: 70px;
}

.mb70 {
  margin-bottom: 70px;
}

.pt70 {
  padding-top: 70px;
}

.pb70 {
  padding-bottom: 70px;
}

.mt80 {
  margin-top: 80px;
}

.mb80 {
  margin-bottom: 80px;
}

.pt80 {
  padding-top: 80px;
}

.pb80 {
  padding-bottom: 80px;
}

.mt90 {
  margin-top: 90px;
}

.mb90 {
  margin-bottom: 90px;
}

.pt90 {
  padding-top: 90px;
}

.pb90 {
  padding-bottom: 90px;
}

.mt100 {
  margin-top: 100px;
}

.mb100 {
  margin-bottom: 100px;
}

.pt100 {
  padding-top: 100px;
}

.pb100 {
  padding-bottom: 100px;
}


.mt5 {
  margin-top: 5px;
}

.mt15 {
  margin-top: 15px;
}

.mt25 {
  margin-top: 25px;
}




@media (max-width: 767.999px) {
  .mt10-sp {
    margin-top: 10px;
  }
  .mb10-sp {
    margin-bottom: 10px;
  }
  .pt10-sp {
    padding-top: 10px;
  }
  .pb10-sp {
    padding-bottom: 10px;
  }
  .mt20-sp {
    margin-top: 20px;
  }
  .mb20-sp {
    margin-bottom: 20px;
  }
  .pt20-sp {
    padding-top: 20px;
  }
  .pb20-sp {
    padding-bottom: 20px;
  }
  .mt30-sp {
    margin-top: 30px;
  }
  .mb30-sp {
    margin-bottom: 30px;
  }
  .pt30-sp {
    padding-top: 30px;
  }
  .pb30-sp {
    padding-bottom: 30px;
  }
  .mt40-sp {
    margin-top: 40px;
  }
  .mb40-sp {
    margin-bottom: 40px;
  }
  .pt40-sp {
    padding-top: 40px;
  }
  .pb40-sp {
    padding-bottom: 40px;
  }
  .mt50-sp {
    margin-top: 50px;
  }
  .mb50-sp {
    margin-bottom: 50px;
  }
  .pt50-sp {
    padding-top: 50px;
  }
  .pb50-sp {
    padding-bottom: 50px;
  }
  .mt60-sp {
    margin-top: 60px;
  }
  .mb60-sp {
    margin-bottom: 60px;
  }
  .pt60-sp {
    padding-top: 60px;
  }
  .pb60-sp {
    padding-bottom: 60px;
  }
  .mt70-sp {
    margin-top: 70px;
  }
  .mb70-sp {
    margin-bottom: 70px;
  }
  .pt70-sp {
    padding-top: 70px;
  }
  .pb70-sp {
    padding-bottom: 70px;
  }
  .mt80-sp {
    margin-top: 80px;
  }
  .mb80-sp {
    margin-bottom: 80px;
  }
  .pt80-sp {
    padding-top: 80px;
  }
  .pb80-sp {
    padding-bottom: 80px;
  }
  .mt90-sp {
    margin-top: 90px;
  }
  .mb90-sp {
    margin-bottom: 90px;
  }
  .pt90-sp {
    padding-top: 90px;
  }
  .pb90-sp {
    padding-bottom: 90px;
  }
  .mt100-sp {
    margin-top: 100px;
  }
  .mb100-sp {
    margin-bottom: 100px;
  }
  .pt100-sp {
    padding-top: 100px;
  }
  .pb100-sp {
    padding-bottom: 100px;
  }
}
@media (min-width: 768px) {
  .mt10-pc {
    margin-top: 10px;
  }
  .mb10-pc {
    margin-bottom: 10px;
  }
  .pt10-pc {
    padding-top: 10px;
  }
  .pb10-pc {
    padding-bottom: 10px;
  }
  .mt20-pc {
    margin-top: 20px;
  }
  .mb20-pc {
    margin-bottom: 20px;
  }
  .pt20-pc {
    padding-top: 20px;
  }
  .pb20-pc {
    padding-bottom: 20px;
  }
  .mt30-pc {
    margin-top: 30px;
  }
  .mb30-pc {
    margin-bottom: 30px;
  }
  .pt30-pc {
    padding-top: 30px;
  }
  .pb30-pc {
    padding-bottom: 30px;
  }
  .mt40-pc {
    margin-top: 40px;
  }
  .mb40-pc {
    margin-bottom: 40px;
  }
  .pt40-pc {
    padding-top: 40px;
  }
  .pb40-pc {
    padding-bottom: 40px;
  }
  .mt50-pc {
    margin-top: 50px;
  }
  .mb50-pc {
    margin-bottom: 50px;
  }
  .pt50-pc {
    padding-top: 50px;
  }
  .pb50-pc {
    padding-bottom: 50px;
  }
  .mt60-pc {
    margin-top: 60px;
  }
  .mb60-pc {
    margin-bottom: 60px;
  }
  .pt60-pc {
    padding-top: 60px;
  }
  .pb60-pc {
    padding-bottom: 60px;
  }
  .mt70-pc {
    margin-top: 70px;
  }
  .mb70-pc {
    margin-bottom: 70px;
  }
  .pt70-pc {
    padding-top: 70px;
  }
  .pb70-pc {
    padding-bottom: 70px;
  }
  .mt80-pc {
    margin-top: 80px;
  }
  .mb80-pc {
    margin-bottom: 80px;
  }
  .pt80-pc {
    padding-top: 80px;
  }
  .pb80-pc {
    padding-bottom: 80px;
  }
  .mt90-pc {
    margin-top: 90px;
  }
  .mb90-pc {
    margin-bottom: 90px;
  }
  .pt90-pc {
    padding-top: 90px;
  }
  .pb90-pc {
    padding-bottom: 90px;
  }
  .mt100-pc {
    margin-top: 100px;
  }
  .mb100-pc {
    margin-bottom: 100px;
  }
  .pt100-pc {
    padding-top: 100px;
  }
  .pb100-pc {
    padding-bottom: 100px;
  }
}


/* 見出しやテキスト */
.h-1,.h-2,.h-3{
  line-height: 1.4;
}
.h-1{
  text-align: center;
  font-weight: bold;
  font-size: clamp(2.2rem, 4vw, 4rem);
}
.h-1 .h-1-sub{
  font-size: clamp(2rem, 2.6vw, 2.6rem);
  display: block;
  line-height: 1.8;
}
.h-2{
  font-size: clamp(2rem, 3vw, 3rem);
}
.h-2-bor{
  padding-left: 10px;
  font-size: clamp(2rem, 3vw, 3rem);
  border-left: 5px solid #81bf24;
}
.h-2-bor.yellow{
  border-color: #ffe15e;
}


.h-3{
  font-size: clamp(2rem, 2.6vw, 2.6rem);
}
.h-4{
  font-size: clamp(2rem, 2.4vw, 2.4rem);
  padding: 10px 0;
  border-top: 4px solid #37aa24;
  border-bottom: 4px solid #37aa24;
}
.h-bor-block{
  border-top: 2px solid #37aa24;
  border-bottom: 2px solid #37aa24;
  padding: .3em;
}


/* 参考: h1 { font-size: 3.5rem; }
h2 { font-size: 3.2rem; }
h3 { font-size: 3.0rem; }
h4 { font-size: 2.8rem; }
h5 { font-size: 2.4rem; }
h6 { font-size: 1.5rem; } */



.f-bold{
  font-weight: 700;
}
.f-semibold{
  font-weight: 500;
}
.f-white{
  color: #fff;
}
.f-green{
  color: var(--c-main);
}
.f-caution{
  color: #ed1c24;
}
.f-mincho{
  font-family: serif;
}
.f-x1_5{
  font-size: 1.5em;
}


.t-ib{
  display: inline-block;
}
.t-ctr {
  text-align: center;
}
@media (max-width: 767.999px) {
  .t-ctr-sp {
    text-align: center;
  }
}
@media (min-width: 768px) {
  .t-ctr-pc {
    text-align: center;
  }
}
.t-right {
  text-align: right;
}
.t-note {
  position: relative;
  padding-left: 1.2em;
}
.t-note::before {
  position: absolute;
  content: "※";
  top: 0;
  left: 0;
}
.t-link {
  text-decoration: underline;
  padding-bottom: 0.1em;
}



/* パンくずリスト */
.breadcrumb{
  padding: 15px 10px;
  background-color: #fff;
  margin: 0 auto;
  max-width: 1200px;
  width: 100%;
}
.breadcrumb li{
  color: #000;
  display: inline-block;
  position: relative;
  padding-right: .3em;
  margin-right: 1em;
  font-size: 1.2rem;
}
.breadcrumb li::after{
  left:100%;
  top: 37%;
  position: absolute;
  content: '';
  display: block;
  width: 5px;
  height: 5px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
}
.breadcrumb li:last-child::after{
  content: none;
}
a{
  color: #000;
}



/* ページネーション */
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.pagination span, .pagination a {
  font-size: 1.8rem;
  color: #fff;
  display: block;
  width: auto;
  margin: 4px;
  text-decoration: none;
  line-height: 1;
  transition: .3s;

  width: 40px;
  height: 40px;
  border: 2px solid #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .pagination span, .pagination a {
    font-size: 1.8rem;
    width: 50px;
    height: 50px;
  }
}

.pagination a.prev, .pagination a.next{
  /* width: 50px;
  height: 50px;
  border: 1px solid #fff; */
  border-radius: 50%;
  position: relative;
  color: #fff;
}
  .pagination a.prev::after, .pagination a.next::after{
    top: 50%;
    position: absolute;
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.pagination a.prev::after{
    right: calc(50% - 10px);
    transform: translate(-50% ,-50%) rotate(-135deg);
}

.pagination a.next::after{
    right: calc(50% - 6px);
    transform: translate(-50% ,-50%) rotate(45deg);
}


.pagination a.pager:hover, .pagination .current {
  /* ホバー時 & 現在のページ */
  border-color: #fff;
  color: var(--c-main);
  position: relative;
  background: #fff;
}

.pagination span.page_num {
  display: none;
}

.card-link{
  position: relative;
}
.card-link::after {content: '';position: absolute;right: 10px;bottom: 0;background: url(../img/ico_arrow.svg) 100% center no-repeat;background-size: 16px 16px;
width: 16px;height: 16px;}


.box-flex .flex-item + .flex-item{
  margin-top: 40px;
}
@media (max-width: 767.999px) {
  .box-flex .flex-content{
    margin-top: 30px;
  }
}
@media (min-width: 768px) {
  .box-flex .flex-item{
    display: flex;
    flex-wrap: wrap;
    gap: 50px;
  }
  .box-flex .flex-item:nth-child(even){
    flex-direction: row-reverse;
  }
  .box-flex .flex-content{
    max-width: 40%;
  }
  .box-flex .flex-img{
    flex: 1;
  }
  .box-flex .flex-img img{
    width: 100%;
    height: auto;
  }
}




/*------
フォーム
---------*/
.form-box + .form-box{
  border-top: 1px solid var(--base-color);
  padding-top: 40px;
}
.form-select {
  position: relative;
}
.form-select::after {
  content: "";
  position: absolute;
  right: 1em;
  bottom: 1em;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--border-color);
  border-left: 2px solid var(--border-color);
  pointer-events: none;
  -webkit-transform: translateY(-50%) rotate(-135deg);
          transform: translateY(-50%) rotate(-135deg);
}
.form-select select {
  padding: 1.1em 0.8em;
  width: 100%;
  background-color: #fff;
  border: 1px solid var(--border-color);
}
.form-head {
  font-weight: 700;
  font-size: 2rem;
}
.form-head-sub {
  font-weight: 700;
}
.form-item{
  border: 1px solid var(--border-color);
  padding: 0.8em;
  width: 100%;
  border-radius: 5px;
  margin-top: 10px;
}
.form-textArea {
  border: 1px solid var(--border-color);
  padding: 0.8em;
  width: 100%;
  height: 180px;
  margin-top: 10px;
}
.form-btn {
  cursor: pointer;
  display: block;
  width: 100%;
  max-width: 400px;
  min-height: 68px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  padding-left: 1em;
  padding-right: 1em;
  font-size: 2rem;
  text-align: center;
  color: #fff;
  border: 1px solid var(--base-color);
  border-radius: 10px;
  background-color: var(--base-color);
  -webkit-transition: 0.3s;
  transition: .3s;
  margin-inline: auto;
}
.form-btn:hover {
  opacity: .7;
  color: #fff;
}

.post-area h2, .post-area h3, .post-area h4{
  margin-top: 30px;
}
.post-area p, .post-area ul, .post-area ol, .post-area iframe .post-area img{
  margin-top: 20px;
}
