.elementor-51 .elementor-element.elementor-element-e9ea958{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:120px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );letter-spacing:var( --e-global-typography-primary-letter-spacing );color:var( --e-global-color-primary );}.elementor-51 .elementor-element.elementor-element-96f8a50{width:var( --container-widget-width, 0px );max-width:0px;--container-widget-width:0px;--container-widget-flex-grow:0;}.elementor-51 .elementor-element.elementor-element-96f8a50 > .elementor-widget-container{margin:0px 0px 30px 0px;padding:0px 0px 0px 0px;}.elementor-51 .elementor-element.elementor-element-96f8a50 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:85px;font-weight:900;letter-spacing:0.09em;color:#FFFFFF;}.elementor-51 .elementor-element.elementor-element-b90e458 > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-51 .elementor-element.elementor-element-b90e458 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:42px;font-weight:900;letter-spacing:0.09em;color:var( --e-global-color-text );}.elementor-51 .elementor-element.elementor-element-8002215.elementor-element{--align-self:flex-end;}.elementor-widget-divider{--divider-color:var( --e-global-color-secondary );}.elementor-widget-divider .elementor-divider__text{color:var( --e-global-color-secondary );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-divider.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon{color:var( --e-global-color-secondary );border-color:var( --e-global-color-secondary );}.elementor-widget-divider.elementor-view-framed .elementor-icon, .elementor-widget-divider.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-secondary );}.elementor-51 .elementor-element.elementor-element-f9107d8{--divider-border-style:solid;--divider-color:#000;--divider-border-width:0.5px;}.elementor-51 .elementor-element.elementor-element-f9107d8 > .elementor-widget-container{padding:80px 0px 0px 0px;}.elementor-51 .elementor-element.elementor-element-f9107d8 .elementor-divider-separator{width:100%;}.elementor-51 .elementor-element.elementor-element-f9107d8 .elementor-divider{padding-block-start:2px;padding-block-end:2px;}.elementor-51 .elementor-element.elementor-element-f542a26{--display:flex;--padding-top:0px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-51 .elementor-element.elementor-element-e97da40 > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-51 .elementor-element.elementor-element-e97da40{text-align:center;}.elementor-51 .elementor-element.elementor-element-e97da40 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:32px;font-weight:900;letter-spacing:0.09em;color:var( --e-global-color-text );}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-51 .elementor-element.elementor-element-5214f21 > .elementor-widget-container{margin:0px 0px 50px 0px;}.elementor-51 .elementor-element.elementor-element-5214f21{text-align:center;}.elementor-51 .elementor-element.elementor-element-5214f21 img{width:77px;}.elementor-51 .elementor-element.elementor-element-2169e7a{--display:flex;}.elementor-51 .elementor-element.elementor-element-f3e630b{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-evenly;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:20px;}.elementor-51 .elementor-element.elementor-element-ca098e8 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 10px;}.elementor-51 .elementor-element.elementor-element-ca098e8 img{width:350px;}.elementor-51 .elementor-element.elementor-element-a88dd6b > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-51 .elementor-element.elementor-element-a88dd6b img{width:350px;}.elementor-51 .elementor-element.elementor-element-6b9b0280{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:120px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-51 .elementor-element.elementor-element-6b9b0280:not(.elementor-motion-effects-element-type-background), .elementor-51 .elementor-element.elementor-element-6b9b0280 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-9886f98 );}.elementor-51 .elementor-element.elementor-element-2a4c45b0{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-51 .elementor-element.elementor-element-9884c10 > .elementor-widget-container{margin:0px 0px 30px 0px;}.elementor-51 .elementor-element.elementor-element-9884c10{text-align:center;}.elementor-51 .elementor-element.elementor-element-9884c10 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:38px;font-weight:900;letter-spacing:0.09em;color:var( --e-global-color-secondary );}.elementor-51 .elementor-element.elementor-element-3d0767db > .elementor-widget-container{margin:0px 0px 50px 0px;}.elementor-51 .elementor-element.elementor-element-3d0767db{text-align:center;}.elementor-51 .elementor-element.elementor-element-3d0767db .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:16px;font-weight:600;line-height:2em;letter-spacing:0.06em;color:var( --e-global-color-text );}.elementor-51 .elementor-element.elementor-element-93860d5{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:90px;--padding-bottom:120px;--padding-left:0px;--padding-right:0px;}.elementor-51 .elementor-element.elementor-element-93860d5:not(.elementor-motion-effects-element-type-background), .elementor-51 .elementor-element.elementor-element-93860d5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#E7F7E1;}.elementor-51 .elementor-element.elementor-element-8793113 > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-51 .elementor-element.elementor-element-8793113{text-align:center;}.elementor-51 .elementor-element.elementor-element-8793113 .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:78px;font-weight:900;line-height:1.2em;letter-spacing:0.1em;color:var( --e-global-color-primary );}.elementor-51 .elementor-element.elementor-element-4617d6a > .elementor-widget-container{margin:0px 0px 30px 0px;}.elementor-51 .elementor-element.elementor-element-4617d6a{text-align:center;}.elementor-51 .elementor-element.elementor-element-4617d6a .elementor-heading-title{font-family:"Noto Sans JP", Sans-serif;font-size:50px;font-weight:900;line-height:1.2em;letter-spacing:0.1em;color:var( --e-global-color-text );}.elementor-51 .elementor-element.elementor-element-af92cad > .elementor-widget-container{margin:0px 0px 70px 0px;}.elementor-51 .elementor-element.elementor-element-af92cad img{width:77px;}.elementor-51 .elementor-element.elementor-element-9caaf8e{--display:flex;}.elementor-51 .elementor-element.elementor-element-246baa2{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-51 .elementor-element.elementor-element-0c4cc16{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:20px;}.elementor-51 .elementor-element.elementor-element-44f4fcd.elementor-element{--align-self:flex-end;}.elementor-51 .elementor-element.elementor-element-ef2b754{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:0px;}.elementor-51 .elementor-element.elementor-element-14d50d7.elementor-element{--align-self:flex-start;}:root{--page-title-display:none;}@media(max-width:1024px) and (min-width:768px){.elementor-51 .elementor-element.elementor-element-f3e630b{--width:100%;}.elementor-51 .elementor-element.elementor-element-0c4cc16{--width:100%;}}@media(max-width:1024px){.elementor-51 .elementor-element.elementor-element-e9ea958{--margin-top:0px;--margin-bottom:80px;--margin-left:0px;--margin-right:0px;--padding-top:30px;--padding-bottom:0px;--padding-left:020px;--padding-right:20px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-51 .elementor-element.elementor-element-96f8a50 > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-51 .elementor-element.elementor-element-96f8a50 .elementor-heading-title{font-size:4em;}.elementor-51 .elementor-element.elementor-element-b90e458 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-51 .elementor-element.elementor-element-f9107d8 > .elementor-widget-container{padding:30px 0px 0px 0px;}.elementor-51 .elementor-element.elementor-element-f542a26{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-51 .elementor-element.elementor-element-e97da40 > .elementor-widget-container{margin:0px 0px 30px 0px;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-51 .elementor-element.elementor-element-f3e630b{--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:space-around;--align-items:flex-start;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-51 .elementor-element.elementor-element-ca098e8 > .elementor-widget-container{margin:0px 0px 30px 0px;}.elementor-51 .elementor-element.elementor-element-6b9b0280{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-51 .elementor-element.elementor-element-9884c10 > .elementor-widget-container{margin:0px 0px 30px 0px;}.elementor-51 .elementor-element.elementor-element-3d0767db > .elementor-widget-container{margin:0px 0px 30px 0px;}.elementor-51 .elementor-element.elementor-element-93860d5{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:60px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-51 .elementor-element.elementor-element-9caaf8e{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-51 .elementor-element.elementor-element-246baa2{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-51 .elementor-element.elementor-element-0c4cc16{--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:space-around;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-51 .elementor-element.elementor-element-44f4fcd > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-51 .elementor-element.elementor-element-44f4fcd.elementor-element{--align-self:center;}.elementor-51 .elementor-element.elementor-element-ef2b754{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-51 .elementor-element.elementor-element-14d50d7.elementor-element{--align-self:center;}}@media(max-width:767px){.elementor-51 .elementor-element.elementor-element-e9ea958{--margin-top:0px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-51 .elementor-element.elementor-element-96f8a50 > .elementor-widget-container{margin:0px 0px 10px 0px;}.elementor-51 .elementor-element.elementor-element-96f8a50 .elementor-heading-title{font-size:30px;}.elementor-51 .elementor-element.elementor-element-b90e458 .elementor-heading-title{font-size:20px;}.elementor-51 .elementor-element.elementor-element-f542a26{--padding-top:0px;--padding-bottom:020px;--padding-left:20px;--padding-right:20px;}.elementor-51 .elementor-element.elementor-element-e97da40 > .elementor-widget-container{margin:0px 0px 20px 0px;padding:10px 0px 0px 0px;}.elementor-51 .elementor-element.elementor-element-e97da40 .elementor-heading-title{font-size:22px;line-height:1.2em;}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-51 .elementor-element.elementor-element-5214f21 > .elementor-widget-container{margin:0px 0px 30px 0px;}.elementor-51 .elementor-element.elementor-element-5214f21 img{width:60px;}.elementor-51 .elementor-element.elementor-element-f3e630b.e-con{--align-self:center;}.elementor-51 .elementor-element.elementor-element-ca098e8 > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-51 .elementor-element.elementor-element-ca098e8 img{width:283px;}.elementor-51 .elementor-element.elementor-element-a88dd6b img{width:293px;}.elementor-51 .elementor-element.elementor-element-6b9b0280{--margin-top:0px;--margin-bottom:50px;--margin-left:0px;--margin-right:0px;--padding-top:20px;--padding-bottom:80px;--padding-left:20px;--padding-right:20px;}.elementor-51 .elementor-element.elementor-element-9884c10 > .elementor-widget-container{margin:0px 0px 20px 0px;padding:10px 0px 0px 0px;}.elementor-51 .elementor-element.elementor-element-9884c10 .elementor-heading-title{font-size:22px;}.elementor-51 .elementor-element.elementor-element-3d0767db{text-align:left;}.elementor-51 .elementor-element.elementor-element-93860d5{--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-51 .elementor-element.elementor-element-8793113 .elementor-heading-title{font-size:50px;}.elementor-51 .elementor-element.elementor-element-4617d6a > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-51 .elementor-element.elementor-element-4617d6a .elementor-heading-title{font-size:30px;}.elementor-51 .elementor-element.elementor-element-af92cad > .elementor-widget-container{margin:0px 0px 40px 0px;}.elementor-51 .elementor-element.elementor-element-af92cad img{width:50px;}.elementor-51 .elementor-element.elementor-element-0c4cc16.e-con{--align-self:center;}.elementor-51 .elementor-element.elementor-element-44f4fcd{width:100%;max-width:100%;}.elementor-51 .elementor-element.elementor-element-44f4fcd > .elementor-widget-container{margin:0px 0px 20px 0px;}.elementor-51 .elementor-element.elementor-element-44f4fcd.elementor-element{--align-self:center;--flex-grow:1;--flex-shrink:0;}.elementor-51 .elementor-element.elementor-element-14d50d7{width:100%;max-width:100%;}}/* Start custom CSS for heading, class: .elementor-element-96f8a50 */.highlight {
  position: relative;
  display: inline-block;

  color: transparent;             /* ← 最初は透明にしてチラ見え防止 */
  overflow: hidden;
  animation: textColor 0.3s ease forwards;
  animation-delay: 0.6s;          /* 背景が出てきてから色を出す */
  white-space: nowrap; /* 改行せず横に並べ続ける */
}

/* 背景アニメーション */
.highlight::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: #42AF09;
  z-index: -1;
  animation: slideInBg 0.6s ease forwards;
}

/* 背景がスライドイン */
@keyframes slideInBg {
  0%   { left: -100%; }
  100% { left: 0; }
}

/* テキストが後から白に */
@keyframes textColor {
  from { color: transparent; }
  to   { color: #fff; }
}/* End custom CSS */
/* Start custom CSS for shortcode, class: .elementor-element-23a915d6 *//*-------------------------------------
  共通フォント設定
--------------------------------------*/
body,
.contact-warp,
.contact-tbl,
.wpcf7 input,
.wpcf7 textarea,
.privacy-area,
.btn_contact7 input,
.contact-tbl td,
.contact-tbl th,
.elementor-51 .elementor-element.elementor-element-23a915d6 p {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
}

/*-------------------------------------
  コンテナ
--------------------------------------*/
.contact-warp {
    padding: 50px 70px 70px 70px;
    background-color: #FFF;
}

/*-------------------------------------
  テーブル
--------------------------------------*/
.contact-tbl {
    font-size: 14px;
    font-weight: 900;
    color: #222 !important;
    border-collapse: collapse;
}

.contact-tbl tr {
    border-bottom: solid 1px #C6C3C3;
}

.contact-tbl td {
    border: none;
    padding: 20px 20px 20px 0;
    background-color: #FFF !important;
}

.tbl-width {
    width: 30%;
}

/*-------------------------------------
  フォーム入力
--------------------------------------*/
.wpcf7 input[name="your-name"],
.wpcf7 input[name="your-email"],
.wpcf7 input[name="your-tel"],
.wpcf7 input[name="your-id"],
.wpcf7 input[name="your-company"],
.wpcf7 input[name="your-address"],
.wpcf7 input[name="your-message"],
input[type=text],
input[type=tel],
input[type=email],
input[type=company],
input[type=name],
input[type=message],
input[type=address],
textarea {
    border: none !important;
    font-size: 14px !important;
    background-color: #F7F7F7;
}

.wpcf7 input[name],
input[type=text],
input[type=tel],
input[type=email],
input[type=company],
input[type=name],
input[type=message],
input[type=address] {
    height: 35px !important;
}

textarea {
    height: 8em;
}

/*-------------------------------------
  必須・任意マーク
--------------------------------------*/
.contact-tbl .must,
.privacy-area .must {
    background: #42AF09;
    font-size: 12px;
    font-weight: bold;
    border-radius: 3px;
    color: #FFF;
    margin-right: 15px;
    padding: 5px 10px;
    letter-spacing: 1px;
}

.contact-tbl .optional {
    background: #999;
    font-size: 12px;
    border-radius: 3px;
    font-family: 'Noto Sans JP', sans-serif;
    color: #FFF;
    margin-right: 15px;
    padding: 5px 10px;
    letter-spacing: 1px;
}

/*-------------------------------------
  プライバシー
--------------------------------------*/
.privacy-area {
    margin: 50px 0;
    font-size: 14px;
    font-weight: bold;
    color: #222 !important;
}

.privacy-doui {
    margin-left: 50px;
}

/*-------------------------------------
  ボタン
--------------------------------------*/
.btn_contact7 {
    text-align: center !important;
    margin: 50px 0 15px 0;
}

.btn_contact7 input {
    width: 400px;
    border: none;
    border-radius: 10px;
    color: #FFF;
    font-size: 14px;
    font-weight: bold;
    background: #42AF09 !important;
    transition: 0.3s;
    padding: 15px !important;
    display: block;
    margin: 0 auto;
}

.btn_contact7 input:hover {
    opacity: 0.7;
    background: #42AF09;
}

/*-------------------------------------
  リンク・段落
--------------------------------------*/
a {
    color: #42AF09;
}

p {
    font-weight: 400;
    font-style: normal;
}

/*-------------------------------------
  メディアクエリ
--------------------------------------*/
@media screen and (max-width: 768px) {
    .contact-warp {
        padding: 40px;
    }

    .tbl-width {
        width: 38%;
    }

    .privacy-area {
        margin: 40px;
    }

    .contact-tbl .must,
    .contact-tbl .optional,
    .privacy-area .must {
        margin-right: 10px;
    }

    .privacy-doui {
        margin-left: 0;
    }
}

@media screen and (max-width: 480px) {
    .contact-warp {
        padding: 15px;
    }

    .contact-tbl td {
        display: block;
        width: 100%;
        padding: 8px 0;
    }

    .tbl-width {
        margin-top: 20px;
    }

    .privacy-area {
        margin: 0;
    }

    .btn_contact7 input {
        width: 90%;
        margin-top: 20px;
    }
}

form input[type="checkbox"] {
  vertical-align: middle;
}
form label {
  line-height: 1.6; /* 調整可能 */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-44f4fcd *//* ボタン全体をフレックスに */
.elementor-51 .elementor-element.elementor-element-44f4fcd a.btn,
button.btn {
  display: inline-flex;       /* インラインでフレックスボックス化 */
  align-items: center;        /* 縦位置を中央に揃える */
  justify-content: center;    /* テキストとアイコンを中央寄せ */
  gap: 0.8rem;                /* アイコンとテキストの間隔 */

  font-size: 1.8rem;
  font-weight: black;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  width: 450px;
  padding: 2.8rem 2rem;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #42AF09;
  border-radius: 0.5rem;
  background-color: #fff

}

/* アイコンの基本サイズ調整 */
.elementor-51 .elementor-element.elementor-element-44f4fcd .btn i {
    font-family: "Font Awesome 5 Free";
  font-size: 1.9rem;
  line-height: 1;
  font-style: normal;
}

.elementor-51 .elementor-element.elementor-element-44f4fcd a.btn {
  border-radius: 100vh;
}

/* 反転ホバー */
.elementor-51 .elementor-element.elementor-element-44f4fcd a.btn:hover,
button.btn:hover {
  background-color: #42AF09;   /* 背景を白に */
  color: #fff;          /* テキストとアイコンを緑に */
  transition: all 0.6s ease; /* 0.3s → 0.6s に変更 */
}

/* アイコンの色もテキストと同じく反転 */
.elementor-51 .elementor-element.elementor-element-44f4fcd a.btn:hover i,
button.btn:hover i {
  color: #fff;
  transition: all 0.6s ease; /* 0.3s → 0.6s に変更 */
}

@media screen and (max-width: 480px) {
  .elementor-51 .elementor-element.elementor-element-44f4fcd a.btn,
  button.btn {
    display: flex;       /* ← inline-flex ではなく flex に変更 */
    width: 100%;         
    max-width: 320px;    
    margin: 0 auto;      /* 左右中央寄せ */
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-14d50d7 *//* ボタン全体をフレックスに */
.elementor-51 .elementor-element.elementor-element-14d50d7 a.btn,
button.btn {
  display: inline-flex;       /* インラインでフレックスボックス化 */
  align-items: center;        /* 縦位置を中央に揃える */
  justify-content: center;    /* テキストとアイコンを中央寄せ */
  gap: 0.8rem;                /* アイコンとテキストの間隔 */

  font-size: 1.8rem;
  font-weight: black;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  width: 450px;
  padding: 2.8rem 2rem;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 0.5rem;
  background-color: #42AF09

}

/* アイコンの基本サイズ調整 */
.elementor-51 .elementor-element.elementor-element-14d50d7 .btn i {
    font-family: "Font Awesome 5 Free";
  font-size: 1.9rem;
  line-height: 1;
  font-style: normal;
}

.elementor-51 .elementor-element.elementor-element-14d50d7 a.btn {
  border-radius: 100vh;
}

/* 反転ホバー */
.elementor-51 .elementor-element.elementor-element-14d50d7 a.btn:hover,
button.btn:hover {
  background-color: #fff;   /* 背景を白に */
  color: #42AF09;          /* テキストとアイコンを緑に */
  transition: all 0.6s ease; /* 0.3s → 0.6s に変更 */
}

/* アイコンの色もテキストと同じく反転 */
.elementor-51 .elementor-element.elementor-element-14d50d7 a.btn:hover i,
button.btn:hover i {
  color: #42AF09;
  transition: all 0.6s ease; /* 0.3s → 0.6s に変更 */
}

@media screen and (max-width: 480px) {
  .elementor-51 .elementor-element.elementor-element-14d50d7 a.btn,
  button.btn {
    display: flex;       /* ← inline-flex ではなく flex に変更 */
    width: 100%;         
    max-width: 320px;    
    margin: 0 auto;      /* 左右中央寄せ */
  }
}/* End custom CSS */
/* Start custom CSS */@media screen and (min-width: 650px){	
  .br-pc { display:block; }
  .br-sp { display:none; }
}
@media screen and (max-width: 650px){	
  .br-pc { display:none; }
  .br-sp { display:block; }
}


.bread{
    font-size: 14px;
   font-weight: bold;
}

.a bread{
   color: #fff!important;
}

/*まずはお決まりのボックスサイズ算出をborer-boxに */
*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 62.5%;/*rem算出をしやすくするために*/
}
body.elementor-page-51.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  width: 300px;
  padding: 1.5rem 2rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #fff;
  border-radius: 0.5rem;
  background-color: #42AF09
}




a.btn--red.btn--cubic {
  border-bottom: 5px solid #2C7406;
}

a.btn--red.btn--cubic:hover {
  margin-top: 3px;
  border-bottom: 2px solid #2C7406;
}

a.btn--radius {
  border-radius: 100vh;
}

.fa-position-right {
  position: absolute;
  top: calc(50% - .5em);
  right: 1rem;
}/* End custom CSS */