/*
Theme Name: Arkhe-Child
Version: 3.12.0
Template: arkhe
*/

/*
Theme Name: arkhe Child
Template: arkhe
Description: Arkhe子テーマ
Version: 1.0
*/

/* 全幅ページ 1カラム */
.page-template-one-column-fullwidth .l-content__body.l-container {
    max-width: 100% !important;
    padding: 0;
}

.mw_wp_form dl {
    display: flex;
    flex-wrap: wrap;
    margin: 30px 0px 0px;
    /** border: 1px solid #3388dd; **/
    border-top: none;
}

.mw_wp_form dl > dt,
.mw_wp_form dl > dd {
    width: 100%;
    padding: 1em;
    /** border-top: 1px solid #3388dd; **/
    text-align: center;
}

@media print, (min-width: 768px) {
    .mw_wp_form dl > dt,
    .mw_wp_form dl > dd {
        text-align: left;
    }
    .mw_wp_form dl > dt {
        display: flex;
        align-items: center;
        width: 20%;
    }
    .mw_wp_form dl > dd {
        width: 80%;
        /** border-left: 1px solid #3388dd; **/
    }
}

.mw_wp_form input[type="text"],
.mw_wp_form input[type="email"],
.mw_wp_form input[type="tel"],
.mw_wp_form textarea {
    padding: 1em;
    width: 100%;
    font-size: 15px;
    border: 1px solid #ccc;
}

.mw_wp_form input[type="submit"] {
    display: table;
    margin: 30px auto;
    background-color: #ea9547;
	color: #fff;
    padding: 10px 30px;
    border-radius: 25px;
    font-size: 1.2rem;
}
input.submitBack {
    background-color: #efc299 !important;
}
.button-wrap {
  //display: flex;
  gap: 1rem;
  justify-content: center;
}

.submitBack,
.submitBtn {
  padding: 10px 20px;
  font-size: 16px;
  cursor: pointer;
}



.mw_wp_form input[type="submit"]:hover {
	background-color: #FFF;
	color: #ea9547;
	border: 1px solid #ea9547;
	transition: all .3s;
}

.mw_wp_form .form_step {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0px;
    list-style: none;
}

.mw_wp_form .form_step > li {
    display: block;
    position: relative;
    padding: 0.5em;
    width: 22%;
    border: 1px solid currentColor;
    color: #9cc227;
    font-size: 1.5vw;
    font-weight: bold;
    text-align: center;
}
.mw_wp_form .form_step > li:nth-of-type(n + 2) {
    margin: 0px 0px 0px 4%;
}
.mw_wp_form .form_step > li:nth-of-type(n + 2)::before {
    position: absolute;
    top: 50%;
    left: -1.5em;
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid #3388dd;
    border-left: 2px solid #3388dd;
    transform: translateY(-50%) rotate(135deg);
    content: "";
}

@media (max-width: 768px) {
    .mw_wp_form .form_step {
    padding-left: 0;
	}
    .mw_wp_form .form_step > li {
    font-size: 2.5vw !important;
    }
    .mw_wp_form .form_step > li:nth-of-type(n + 2)::before {
    left: -1.0em !important;
	}
}

.mw_wp_form_input .form_step > li:nth-of-type(1),
.mw_wp_form_preview .form_step > li:nth-of-type(2),
.mw_wp_form_complete .form_step > li:nth-of-type(4) {
    background-color: #9cc227;
    color: #fff;
}

@media print, (min-width: 992px) {
    .mw_wp_form .form_step > li {
        font-size: 18px;
    }
}

.mw_wp_form_complete div {
    margin: 30px 0px 0px;
    text-align: center;
}
.required::after {
content: "必須";
color: #ffffff;
background: #EA9547;
font-size: 0.8em;
padding: 0.3em;
border-radius: 0.5em;
margin-left:0.3em;
}


.full-width-title-block {
    width: 100%; /* 横幅を100%に設定 */
    /* background-color: #f0f0f0;  背景色を設定（例） */
    /* または背景画像を設定する場合 */
    background-image: url('/wp-content/uploads/2025/02/dm_heroimg_blur.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    padding: 160px 0; /* 上下のパディングで高さを調整（例） */
    text-align: center; /* テキストを中央寄せにする場合 */
    margin-bottom:50px;
    position: relative;
    z-index: 1;
  overflow: visible;
}
.title-block-content {
    max-width: 1200px; /* コンテンツの最大幅を設定（例：PCでの見やすさのため） */
    margin: 0 auto; /* 中央寄せ */
    color: #333; /* テキストの色 */
    /* 他のテキストスタイル */
    /* font-family: 'Your Font', sans-serif; */
    /* font-size: 2em; */
    /* line-height: 1.2; */
}

.full-width-title-block h1 {
    font-size: 2em; /* タイトルのフォントサイズ */
    margin-bottom: 20px; /* タイトル下の余白 */
	text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.61);
    color: #FFFFFF;
}

.full-width-title-block p {
    font-size: 1.2em; /* サブタイトルのフォントサイズ */
    margin-top: 0;
}
@media (max-width: 768px) { /* 768px以下の画面幅の場合 */
    .full-width-title-block {
        padding: 60px 20px; /* パディングを調整 */
    }

    .full-width-title-block h1 {
        font-size: 1.8em; /* フォントサイズを小さく */
    }

    .full-width-title-block p {
        font-size: 1em;
    }

    .title-block-content {
        padding: 60px 15px; /* モバイルでの左右の余白 */
    }
}


.logo-container{
  position:relative; width:300px; height:auto; margin:40px auto;
}
.logo-svg, .logo-png{
  position:absolute; inset:0; width:100%; height:auto;
}
.logo-png{ opacity:0; transition:opacity 1.5s ease; }

/* 描画アニメ（stroke-dasharray は JS で動的に入れる） */
#logoPath{
  stroke-dasharray: var(--len);
  stroke-dashoffset: var(--len);
  animation: draw 3s ease forwards;
}
@keyframes draw{ to{ stroke-dashoffset:0; } }



.logoPath {
  transition: opacity 1s ease;
  opacity: 1;
}
.logoPath.fadeout {
  opacity: 0;
}

.p-postList .p-postList__title {
    font-size: 1.2rem;
}

.wave-divider {
  position: absolute;
  bottom: -1px; /* ピッタリくっつける */
  left: 0;
  width: 100%;
  height: 120px; /* SVGの高さと合わせる */
  transform: rotate(180deg);
  z-index: 2;
  pointer-events: none;
}

.wave-divider svg {
  display: block;
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
 .wave-divider {
  height: 100px;  
}
}


.conex_pic {
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
  justify-content: center
}
.conex_pic_container {
  /* 必要に応じてスタイル調整 */
}
.conex_pic_arr, .arrow-icon {
  width: 50px !important;
  max-width: 50px !important;
  height: auto;
  margin: 0 10px;
}

@media (max-width: 600px) {
  .conex_pic { flex-direction: column; }
  .conex_pic_arr { transform: rotate(90deg); margin: 10px 0; }
}