/*
Theme Name: dp-fresco-child
Version: 2.5.5.6
Template: dp-fresco
*/

/* フォント設定 */
.entry h2.mid_h2::before,
.entry h2.mid_h2::after {
    position: static;
    box-shadow: none;
}


.entry h2.mid_h2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;

  width: 100%;
  text-align: center;

  font-size: 32px;
  font-weight: 400;
}

.entry h2.mid_h2::before,
.entry h2.mid_h2::after {
  content: "";
  display: block;

  width: 60px;
  height: 1px;
  background: #333;
}

.entry h5::after {
    box-shadow:none !important;
}
h5.mid_h5 {
    font-size: 19px !important;
    background-color: #f0f0f0;
    color: #C2272D;
    margin: 6rem auto 3rem !important;
    padding: 0.8rem 2rem !important;
}

.mid_blueline {
    font-size: 28px;
    font-weight: 500;
    text-align: center;
    color: #004F8D;
    font-family: sans-serif;
    line-height: 1.4;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    position: relative;
    display: block;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2em;
    padding: 1rem 1rem 2em;
}
.mid_blueline::before, .mid_blueline::after {
  content: '';
  flex: 1;
  height: 1px;
  background-color: #004F8D;
  max-width: 100px;
}


/* TOP */
.widget-container.top {
    padding-top: 0 !important;
}

.title_top {
    font-size: 30px;
    text-align: center;
    margin: 2em auto 2rem;
    color: #142A4F;
    font-weight: bold;
}

.more-entry-link {
    text-align: center !important;
}


/* ご予約リンク */
.reserve {
    display: flex;
    gap: 3rem;
    width: 75%;
    margin: 2rem auto 7em;
}
.gray_box {
    flex: 1;
    border: 1px solid #ddd;
    box-shadow: 4px 4px 8px 0px #8686864f;
}

.blue_box {
    border: 2px solid #004F8D;
    margin: 15px;
    text-align: center;
}

.blueback {
    margin: 2rem auto;
    font-size: 22px;
    color: #fff;
    background-color: #004f8d;
}
.blue_box p {
    padding: 1rem 3rem 2rem;
    margin: 0 !important;
}


.green_box {
    border: 2px solid #07b53b;
    margin: 15px;
    text-align: center;
}

.green_back {
    margin: 2rem auto;
    font-size: 22px;
    color: #fff;
    background-color: #07b53b;
}
.green_box p {
    padding: 1rem 3rem 2rem;
    margin: 0 !important;
}

a.btn.btn-green, 
.dp-container a.btn.btn-green, 
.dp-container .entry a.btn.btn-green, 
.dp-container .dp_text_widget a.btn.btn-green, 
.dp-container .textwidget a.btn.btn-green, 
button.btn.btn-green, 
input.btn.btn-green {
    border-color: #07b53b !important;
    color: #07b53b !important; /* 通常時の文字色 */
    background-color: transparent !important; /* 通常時は背景なし */
}
a.btn.btn-green:hover, 
.dp-container a.btn.btn-green:hover, 
.dp-container .entry a.btn.btn-green:hover, 
.dp-container .dp_text_widget a.btn.btn-green:hover, 
.dp-container .textwidget a.btn.btn-green:hover, 
button.btn.btn-green:hover, 
input.btn.btn-green:hover {
    background-color: #07b53b !important; /* ホバー時の背景色 */
    color: #fff !important;             /* ホバー時の文字色 */
    border-color: #07b53b !important;
}
.green_box a.btn.btn-green::after, 
.dp-container a.btn.btn-green::after, 
.dp-container .entry a.btn.btn-green::after, 
.dp-container .dp_text_widget a.btn.btn-green::after, 
.dp-container .textwidget a.btn.btn-green::after, 
button.btn.btn-green::after, 
input.btn.btn-green::after {
    background-color: #07b53b !important;
}

/* SP設定 */
@media screen and (max-width: 767px)  {
.reserve {
    display: block;
    width: 100%;
    gap: 2rem;
}
.reserv_btn a.btn {
    width: 90%;
}
}

/* 予約リンク　終わり */

section.plx_widget.dp_parallax_widget-2.no_caption.has_title.has_desc.has_button.no_original {
    width: 80% !important;
    margin: auto ;
}
section.plx_widget.dp_parallax_widget-3.no_caption.has_title.has_desc.has_button.no_original {
    width: 80% !important;
    margin: auto ;
}




/* 施設案内 */
.flex_faci {
    display: flex;
    gap: 4em;
    align-items: center;
}
.flex_faci div {
    flex: 1;
}

.btn_01 a {
    background: #ffffff;
    border: 1px solid #005ba0;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: auto;
    max-width: 100%;
    padding: 15px 25px;
    font-family: "Noto Sans Japanese";
    text-decoration: none;
    color: #005ba0 !important;
    line-height: 1.8 !important;
    transition: 0.3s ease-in-out !important;
    font-weight: 500 !important;
}
.btn_01 a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.btn_01 a:hover {
  background: #005ba0;
  color: #FFF !important;
}
.btn_01 a:hover:after {
  right: 1.4rem;
}

#restaurant,#practice {
    scroll-margin-top: 100px;
}



/* コース紹介 */
.btn_course {
    display: flex;
    gap: 1rem;
    flex-wrap: nowrap;
    width: 100%;
    text-align: center;
    margin: 3em auto 5em;
}

.btn_course a {
    flex: 1;
}

a.hole {
    border: 1px solid #07721a;
    padding: 1em 2em;
    color: #07721a !important;
}
a.hole:hover {
    color: #fff !important;
    background-color: #07721a;
    text-decoration: none !important;
}


div.table-wrap {
    overflow-x: scroll;
}
table.yardage {
    width: 100%;
}
.yardage th {
    text-align: center;
    background-color: #c3f6ff8c !important;
}
.yardage td {
    text-align: center;
}


/* コース攻略ポイントBOX */
.point_box {
    margin: 2em auto; 
    padding: 1em 2em; 
    border:3px double #1544a8; 
    max-width: 800px; 
}

p.mid_point {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1544a8;
    margin: 1em !important;
    font-size: 18px;
    font-weight: 600;
}

.mid_point::before,
.mid_point::after {
    content: '';
    height: 1px;
    background-color: #1544a8;
    flex-grow: 1;
}
.mid_point::before {
    margin-right: 15px;
}
.mid_point::after {
    margin-left: 15px;
}

.course_box {
    display: flex;
    gap: 15px;
}
.course_l {
    flex: 3;
}
.course_r {
    flex: 3;
}


/* ドレスコード */
.play li {
    font-size: 20px;
    font-weight: bold;
}


/* アクセス */
.access_flex {
    display: flex;
    gap: 2.5rem;
}
.access_box {
    flex: 1;
    text-align: center;
}
span.acc_mid {
    display: block;
    font-size: 30px;
    font-weight: bold;
    border-bottom: 0.2rem solid #004f8d47;
}


/* お問い合わせフォーム設定 */
.b_line {
    border: 1px solid #191919;
    padding: 40px;
    margin: 0 auto 50px;
    width: 70%;
    text-align: left;
}


input, select, textarea, button {
    font-family: 'Montserrat', sans-serif;
    letter-spacing: -0.2px;
    font-size: 14px;
}
.form_box {
  color: #191919;
  width: 100%;
  margin: 0 auto;
  position: relative;
  transition: all 0.2s ease-in-out;
}
.form_item {
    margin-bottom: 30px;
}
.form_box p {
  margin: 0 !important;
}
.form_box input[type="text"], .form_box input[type="date"], .form_box input[type="number"], .form_box input[type="tel"], .form_box input[type="email"], .form_box textarea, .form_box select, .form_box input[type="submit"] {
    color: #191919 !important;
    width: 100%;
    outline: 0;
    font-size: 14px !important;
    border-radius: 3px !important;
    border: 1px solid #005aa0cc !important;
    padding: 0 6px !important;
    margin: 0 6px !important;
    background-color: #fff !important;
}
.form_box input[type="submit"] {
    color: #ffffff !important;
    background-color: #005aa0cc !important;
    outline: 0;
    font-size: 14px !important;
    border-radius: 3px !important;
}
.form_box input::placeholder {
  color: #888888;
  padding-left: 15px;
}
.form_box span {
    font-size: 98%;
}
.form_box span.requied {
    background: #005aa0cc;
    color: #FFF;
    border-radius: 3px;
    font-size: 12px;
    margin-left: 10px;
    padding: 3px 10px;
    letter-spacing: 2px;
}
.wpcf7-form .wpcf7-list-item {
    display: inline;
    margin: 6px 20px 10px 0;
}
input#zip,
input#pref,
input#city {
    width: 120px;
}
input.wpcf7-form-control.wpcf7-number.wpcf7-validates-as-required.wpcf7-validates-as-number {
    width: 70px;
}
@media screen and (max-width: 600px){

.form_box {
    width: 100%;
    padding: 1em;
}
.form_box input[type="date"] {
    width: 40%;
}
input#zip,
input#pref,
input#city {
    width: 100%;
}
}
@media screen and (max-width: 568px){
.wpcf7-form .wpcf7-form-control-wrap {
    display: inline;
    text-align: left;
    margin: 0 auto 10px auto;
}
}
#autozip {
    display: none !important;
}
.order_flex {
    display: flex;
    width: 100%;
    gap: 15px;
}
.order_flex .of_l {
    flex: 2;
}
.order_flex .of_r {
    flex: 1;
}
.order_flex input[type="number"] {
    width: 70px;
}

/* フッター設定 */
.footer-container {
    padding-top: 0 !important;
}

.footer_box {
    text-align: center;
}
.footer_box p {
    margin: 0 !important;
}

.footer_box img {
    margin: 0 !important;
}

.tel_link {
    font-size: 30px;
    font-weight: bold;
}


/* SP設定 */
@media screen and (max-width: 767px) {
    .course_box {
    display: block;
}

    .btn_course {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 5px;
        margin: 0em auto 5em;
}

.btn_course a {
        width: 31%;
        flex: none;
    }

.access_flex {
    display: block;
}

/* 施設案内 */
.flex_faci {
    display: block;
}

/* お問い合わせ */
.b_line {
    width: 100%;
    padding: 20px;
}
.entry h2.mid_h2{
    font-size: 23px;
}
.entry h2.mid_h2::before, .entry h2.mid_h2::after {
    width: 50px;
}
}