/*
Theme Name: XWRITE child
Version: 1.0.0
Template: xwrite
*/

/* 固定記事のタイトルを非表示 */
.articleHeader {
    display: none;
}
/* 画面上部のパディング・マージン削除 */
.contents {
    padding-top: 0px;
    padding-bottom: 0;
}
.articleBody {
    margin: 0;
}
/*　キービジュアルのテキスト位置調整 */
#main_header-txt {
    position: relative;
    top: -30px;
    left: auto;
    font-weight: 700;
    font-size:2.8em
}
@media (max-width: 991.98px) {
    #main_header-txt {
       font-size:1.8em
    }
}
@media (max-width: 627.98px) {
    #make_mainvisual img {
        height: 30vh;
    }
    #main_header-txt {
        position: relative;
        top: 0px;
    }
    #make_mainvisual {
        min-height: 30vh!important;        
    }
}
.is-style-heading--section3  mark {
        line-height: 1.8;
}
/* テーブル幅調整 */
.about.wp-block-table table tbody tr td:first-child {
    width: 30%;
}

@media screen and (min-width: 768px) {
    .spOnly {
        display: none;
    }
}
@media screen and (max-width: 769px) {
    .pcOnly {
        display: none;
    }
}

.pagetop {
    position: fixed;
    z-index: 999;
    right: 20px;
    bottom: 80px;
    opacity: 0;
}

#top_mainvisual_txt {
    position: absolute;
    top: 8vw;
    left: 0;
    font-size: 10vh;
    margin: auto;
    right: 0;
    bottom: 0;
    display: inline-block;
    font-weight: bold;
    background-image: linear-gradient(45deg, #29cf00 0%, #88abda 50%, #df2a4a 90%);
    background-size: 300% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation-name: gradationTextAnimation;
    animation-duration: 8s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

#top_h1_txt {
    background-image: linear-gradient(45deg, #29cf00 0%, #88abda 50%, #df2a4a 90%);
    background-size: 300% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation-name: gradationTextAnimation;
    animation-duration: 8s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

@keyframes gradationTextAnimation{
    0%{
        background-position: 0 0;
    }
    50%{
        background-position: 100% 0;
    }
    100%{
        background-position: 0 0;
    }
}
@media screen and (max-width: 1700px) {
    #top_mainvisual_txt {
        font-size: 8vh;
    }
}

@media screen and (max-width: 1500px) {
    #top_mainvisual_txt {
        font-size: 6.0vh;
    }
}
@media screen and (max-width: 1100px) {
    #top_mainvisual_txt {
        font-size: 5.6vh;
    }
}

@media screen and (max-width: 979px) {
    #top_mainvisual_txt {
        font-size: 4.2vh;
        top: 6vw;
    }
}

@media screen and (max-width: 768px) {
    #top_mainvisual_txt {
        font-size: 5.6vh;
        top: 30vw;
    }
}

@media screen and (max-width: 579px) {
    #top_mainvisual_txt {
        font-size: 4.8vh;
        top: 30vw;
    }
}


.swiper-button-next, .swiper-button-prev {
    color: white;
}
.colum_reason {
    display: grid;
    min-height: 337px;
}

/* ・・・・・・・・・・・・・・・・・・・・
お問い合わせフォームの装飾
・・・・・・・・・・・・・・・・・・・・ */
/* フォーム全体の枠 */
.Form {
  max-width: ;
  margin: 0 auto;
  padding: 40px 24px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: #fafafa;
  box-sizing: border-box;
}

/* 各項目の余白 */
.Form-Item {
  margin-bottom: 24px;
}

/* ラベル */
.Form-Item-Label {
  margin-bottom: 8px;
  font-weight: bold;
  font-size: 16px;
  color: #333;
}

/* 必須マーク */
.Form-Item-Label-Required {
  display: inline-block;
  margin-right: 4px;
  padding: 2px 6px;
  font-size: 12px;
  background: #e74c3c;
  color: #fff;
  border-radius: 3px;
}

/* input、textarea の共通装飾 */
.Form input[type="text"],
.Form input[type="email"],
.Form input[type="tel"],
.Form textarea {
  width: 100%;
  padding: 12px 14px;
  font-size: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-sizing: border-box;
  background: #fff;
}

.Form input[type="text"]:focus,
.Form input[type="email"]:focus,
.Form input[type="tel"]:focus,
.Form textarea:focus {
  border-color: #0073aa;
  outline: none;
}

/* textarea は高さを固定しておく */
.Form textarea {
  height: 160px;
  resize: vertical;
}

/* ラジオ・チェックボックス項目の調整 */
.Form .wpcf7-radio,
.Form .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.Form .wpcf7-radio label,
.Form .wpcf7-checkbox label {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 15px;
  cursor: pointer;
}

/* ファイル添付input */
.Form input[type="file"] {
  font-size: 14px;
}

/* 送信ボタン */
.button-wrap {
  text-align: center;
  margin-top: 40px;
}

.confirm_button {
  background: #0073aa;
  color: #fff;
  font-size: 16px;
  padding: 14px 40px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background .3s;
}

.confirm_button:hover:not([disabled]) {
  background: #005f8d;
}

.confirm_button:disabled {
  background: #ccc;
  cursor: default;
}

.wpcf7-submit {
  background: #0073aa;
  color: #fff;
  font-size: 16px;
  padding: 14px 40px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background .3s;
}
.back_button {
  background: #bdbdbd;
  color: #fff;
  font-size: 16px;
  padding: 14px 40px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: background .3s;
}
.cf-turnstile {
	text-align: center;
}

.footerTop {
    margin: 20px!important;
}

@media (max-width: 991.98px) {
    .header-fix.-for-mb + .gnav-fix .drawer__open {
        opacity: 1!important;
    }
}

@media (max-width: 782.98px) {
    .case_sp { 
        width: 80%;
        margin: 4vw auto;
    }
}
@media (min-width: 781.98px) {
        .treatment-step .xw-block-decobox.xw-box-type14  {
        min-height: 630px;
    }
}
@media (min-width: 781.98px) {
    .reason-step  {
        position: absolute;
            top: 220px;
            width: 70%;
                right: 4px; 
    }
}
@media (min-width: 781.98px) {
    .reason-step02  {
        position: absolute;
        width: 70%;
        bottom: -140px;
    }
}
@media (min-width: 781.98px) {
    .reason02_section  {
        position: relative;
    }
}
