/*
Theme Name: template_2310002
Theme URL: https://umkcc.jp/
Description: UMKカントリークラブHP
Author: テレビ宮崎ゴルフ株式会社
Version: 23.09.001
*/

@charset "utf-8";
/* html5のブラウザ互換用
----------------------------------------------------------- */
@import url("css/reset.css");
@import url("css/default.css");
@import url("css/slick.css");
@import url("css/slick-theme.css");
@import url("css/common.css");

/* ページ設定
----------------------------------------------------------- */

/* ======= トップページ .home ======= */
/* トップページのみ非表示 */
.home .fv_sub,
.home .pankuzu,
/* トップページ以外非表示 */
body:not(.home) #fv,
/* ページタイトルのみ非表示[背景画像は表示] */
.page-template-page-holeno .fv_sub .contents,
.single-format-standard .fv_sub .contents,
.post-type-archive-restaurant .fv_sub .contents,
.error404 .fv_sub .contents{
    display: none;
}
/* loader + FV */
#loader img{
    width: 34.5rem;
    height: auto;
}
/* ローダーのスタイル */
#loader {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    transition: opacity 1s ease;
}
#loader.fade-out {
    opacity: 0;
    pointer-events: none;
}
#logo_l.hide{
    display: none !important;
}

/*fv*/
.fv {
    position: relative;
    width: 100%;
    height: 750px;
    overflow: hidden;
}
.fv-slide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 0;
    transition: opacity 1s ease;
}
.fv-slide.active {
    opacity: 1;
    z-index: 1;
}
.fv-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1);
    transition: transform 10s ease-in-out;
}
.fv-slide.active img {
    transform: scale(1.1);
    /* ズームイン適用 */
}
@keyframes zoom {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.1);
    }
}

.fv-caption{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    font-size: clamp(15px, 1.2vw + 0.9rem, 32px);
    color: #fff;
    font-family: '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro',"NotoSerifJP", serif;
    text-shadow: 0 0 6px rgba(0, 0, 0, 0.7);
    opacity: 0;
    transition: opacity 1s ease;
    pointer-events: none;
    width: 80%;
}

.fv-slide.active .fv-caption{
    opacity: 1;
}

.fv-caption-line {
    opacity: 0;
    transition: opacity 1s ease;
}

.fv-caption-line.visible {
    opacity: 1;
}
/* 新着情報 */
.home #news_topics{
    padding: 8rem 0 0;
}
.home #news_topics .flex{
    align-items: center;
}
.home #news_topics h2{
    width: calc(100% / 4);
}
.home #news_topics div{
    width: calc((100% / 4) * 3);
}
/* 基準をクリア */
.home #criteria{
    padding: 15rem 0 10rem;
}
.home #criteria .box.flex{
    align-items: center;
    margin-bottom: 8rem;
}
.home #criteria .box.flex figure{
    width: 47.5%;
    display: block;
}
.home #criteria .box.flex div{
    width: 33%;
    margin-left: 5rem;
    margin-right: auto;
}
.home #criteria .box.flex h2,
.home #criteria .box.contents ul li a p.center{
    font-size: 3rem;
}
.home #criteria .box.flex h2{
    font-size: 3rem;
    margin-bottom: 1em;
}
.home #criteria .box.contents ul li{
    width: calc((100% - 10rem) / 3);
}
.home #criteria .box.contents ul li a{
    transition: 0.3s ease all;
}
.home #criteria .box.contents ul li a:hover{
    opacity: 0.8;
}
.home #criteria .box.contents ul li a figure{
    margin-left: 3rem;
    position: relative;
    transition: 0.3s ease all;
}
.home #criteria .box.contents ul li a figure p{
    font-size: 5.5rem;
    line-height: 1em;
    letter-spacing: 0em;
    writing-mode: vertical-rl;
    position: absolute;
    top: 2rem;
    left: -3rem;
    z-index: 1;
}
.home #criteria .box.contents ul li a p.center{
    margin-top: 0.5em;
    color: var(--black);
}
/* 動画・バナーリンク */
.topBox {
    max-width: 400px;
    margin: 40px auto;
}
.topBox p {
    margin-bottom: 20px;
}
.home #related {
    padding: 8rem 0;
}
.home #related .box:first-of-type{
    width: calc(((100% - 3rem) / 1) *2);
}
.home #related .box:last-of-type{
    width: calc((100% - 6rem) / 0);
}
.home #related .box:first-of-type .movie:nth-of-type(n+3),
.home #related .box:last-of-type p:not(:first-of-type){
    margin-top: 2rem;
}
.home #related .box:first-of-type .movie{
    width: calc((100% - 3rem) / 2);
    height: 200px;
}
.home #related .box .btn.more{
    margin-top: 1rem;
}
/* アクセス・お問い合わせ */
.home #information{
    padding-top: 8rem;
}
.home #information section{
    width: 50%;
    padding: 0 5rem;
}
.home #information section:not(:first-of-type){
    border-left: 1px solid var(--li-gray);
}
.home #information section .title_01{
    margin-bottom: 0.5em;
}
.home #information section p.big,
.home #information section dl dt.bold,
.home #information section .btn{
    font-size: 1.125em;
}
.home #information section:last-of-type p.big{
    font-size: 3rem;
}
.home #information section:last-of-type p.big a{
    font-size: 1.6em;
    line-height: 1em;
    color: var(--black);
}
.home #information section dl{
    margin-top: 1em;
}
.home #information section dl dd{
    margin-top: 0.5em;
}
.home #information section:last-of-type .btn{
    margin-top: 2rem;
}
.home #information section:last-of-type .btn a{
    padding: 0.5em;
}


/* ======= コースガイド couse ======= */
/* #couse #couse_layout */
#couse #couse_layout{
    margin-bottom: 10rem;
}

/* #couse .sec_02 */
#couse .sec_02.center .title{
    font-size: 3rem;
    padding: 0.5em 0;
    margin: 0 auto;
}
#couse .table_area{
    margin: 7rem auto 10rem;
}
#couse .table_area table tr,
#holeguide .table_area .table_04 tr,
#couse .table_area .table_04 tr th a,
#holeguide .table_area .table_04 tr th a{
    transition: 0.3s ease all;
}
#couse .table_area table tr:hover,
#holeguide .table_area .table_04 tr:hover{
    background: rgb(185, 154, 52,0.2);
}
/* #couse_map */
#couse_map{
    position: relative;
    width: fit-content;
    margin: 0 auto;
}
#couse_map .pin{
    position: absolute;
    border-radius: 100px;
    width: 5%;
    height: auto;
    aspect-ratio: 1 / 1;
    display: inline-block;
    border: 4px solid rgb(255, 255, 255, 0);
    z-index: 1;
    transition: 0.3s ease all;
}
#couse_map .pin:hover,
#couse_map .pin:focus{
    border: 4px solid #fff;
    box-shadow: 0 0 2rem rgb(255, 255, 255, 1);
}
#couse_map .pin_01{
    bottom: 38.8%;
    left: 40.5%;
}
#couse_map .pin_02{
    top: 35.5%;
    right: 48.6%;
}
#couse_map .pin_03{
    top: 27.7%;
    right: 29.8%;
}
#couse_map .pin_04{
    top: 35.6%;
    right: 36.6%;
}
#couse_map .pin_05{
    top: 41.5%;
    right: 38.6%;
}
#couse_map .pin_06{
    top: 41.7%;
    right: 12.6%;
}
#couse_map .pin_07{
    bottom: 42.8%;
    right: 12%;
}
#couse_map .pin_08{
    top: 45.4%;
    right: 34.5%;
}
#couse_map .pin_09{
    bottom: 29.7%;
    right: 45.3%;
}
#couse_map .pin_10{
    bottom: 40.1%;
    left: 34.6%;
}
#couse_map .pin_11{
    top: 35.8%;
    left: 36.8%;
}
#couse_map .pin_12{
    top: 12%;
    left: 34.8%;
}
#couse_map .pin_13{
    top: 17.5%;
    left: 27.8%;
}
#couse_map .pin_14{
    top: 29.8%;
    left: 26.2%;
}
#couse_map .pin_15{
    bottom: 40.1%;
    left: 9.2%;
}
#couse_map .pin_16{
    bottom: 31.7%;
    left: 12.1%;
}
#couse_map .pin_17{
    bottom: 35.9%;
    left: 22.6%;
}
#couse_map .pin_18{
    bottom: 41%;
    left: 28.2%;
}
/* #couse .bg_li_yellow */
#couse .bg_li_yellow .contents{
    padding: 8rem 0 10rem;
}
#couse .bg_li_yellow section.flex{
    align-items: center;
}
#couse .bg_li_yellow section.flex figure,
#couse .point section figure{
    width: 41.6%;
}
#couse .bg_li_yellow section.flex div,
#couse .point section div{
    width: 54.2%;
}
#couse .bg_li_yellow section.flex div h4,
#couse .point section div h4{
    font-size: 3rem;
    margin-bottom: 0.5em;
}
#couse .bg_li_yellow section.sec_01 li:not(:first-of-type){
    margin-top: 2em;
}
#couse .bg_li_yellow section.sec_01 li{
    padding: 1.9em;
    background: #fff;
    align-items: center;
}
#couse .bg_li_yellow section.sec_01 li figure{
    width: 18rem;
}
#couse .bg_li_yellow section.sec_01 li div{
    width: calc((100% - 18rem) - 2.5rem);
}
#couse .bg_li_yellow section.sec_01 li div .big{
    line-height: 1.66em;
}
#couse .bg_li_yellow section.sec_01 li div .small{
    font-size: 0.88em;
}
/* #couse .point*/
#couse .point{
    padding: 8rem 0 0;
    margin-bottom: 6rem;
}
#couse .point section:not(:first-of-type){
    margin-top: 5rem;
}
#couse .point section{
    align-items: center;
}
#couse .point section:nth-of-type(odd) figure,
#couse .point section:nth-of-type(even) div{
    order: 0;
}
#couse .point section:nth-of-type(odd) div,
#couse .point section:nth-of-type(even) figure{
    order: 1;
}
#couse .point section div h4 .small{
    font-size: 0.6em;
}
#couse .point section div h4:has(.small){
    line-height: 1em;
}
#couse .btn{
    margin: 8rem auto 0;
    width: 49rem;
}
#couse .btn a{
    font-size: 1.8rem;
}

/* ======= コースガイド[Hole] holeguide ======= */
#holeguide .box{
    margin-top: 5rem;
}
#holeguide .sec_02{
    width: 54.2%;
}
#holeguide .movie{
    width: 42.5%;
}
#holeguide .sec_02 p{
    line-height: 1.5em;
}
#holeguide .sec_02 .table_04{
    margin-top: 5rem;
}
#holeguide .sec_02 .table_04 .bg_gold{
    background: var(--gold);
}
#holeguide .couse_guide{
    width: 100%;
    padding: 6rem 0;
    margin: 8rem auto;
}
#holeguide .couse_guide h3{
    font-size: 3rem;
    margin-bottom: 1em;
}
/* .table_area */
#holeguide .table_area{
    max-width: 1200px;
    margin: 0 auto;
}
#holeguide .table_area .btn.bg_gold{
    display: none;
}
.table_area section:not(:first-of-type){
    margin-top: 5rem;
}
.table_area h4{
    font-size: 3.6rem;
    margin-bottom: 0.8em;
}
.table_area tr th{
    width: calc(100% / 11);
}
#couse .table_area .table_04 tr th:has(a),
#holeguide .table_area .table_04 tr th:has(a){
    padding: 0;
}
#couse .table_area .table_04 tr th a,
#holeguide .table_area .table_04 tr th a{
    transition: 0.3s ease all;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0.5em 0.75em;
}
#couse .table_area .table_04 tr th a:hover,
#holeguide .table_area .table_04 tr th a:hover{
    background: #334d33;
}
/* .couse_nav */
.couse_nav.slider .prev_arrow{
    left: 25px;
}
.couse_nav.slider .next_arrow{
    right: 0;
}
.couse_nav .frames{
    width: 38rem;
    height: 15rem;
    margin: 0 1rem 0;
    overflow: hidden;
    display: inline-block;
    position: relative;
}
.couse_nav .frames p{
    font-size: 3.6rem;
    line-height: 1em;
    color: #fff;
    position: absolute;
    width: fit-content;
    top: 50%;
    transform:translate(0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    left: 0;
    right: 0;
    margin: auto;
    z-index: 3;
}
.couse_nav .frames div{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  z-index: 2;
}
.couse_nav .frames img{
    transition: 0.3s ease all;
    width: 100%;
    height: 100%;
    object-position: center;
    z-index: 1;
}
.couse_nav .frames:hover img{
    transform: scale(1.1);
}

/* ======= 施設案内 facility ======= */
#facility .sec_01 p{
    margin-top: 3rem;
}
#facility .sec_01 .caption{
    margin-top: 0;
}
#facility .sec_01:not(:first-of-type){
    margin-top: 7rem;
    padding-top: -7rem;
}
#wrapper:has(#facility){
    overflow: visible;
}

/* ======= レストラン restaurant ======= */
#restaurant .menu_nav{
    background: #fff;
    filter: drop-shadow(0 0 10px rgb(0,0,0,0.05));
    padding: 3rem 0;
    margin-top: 1rem;
}
#restaurant .menu_nav section{
    padding: 0 4rem;
    width: 50%;
    display: flex;
    flex-flow: column;
}
#restaurant .menu_nav section h3{
    font-size: 3.6rem;
    line-height: 1em;
    margin-top: 5px;
}
#restaurant .menu_nav section p:not(.btn){
    margin:3rem auto 4rem;
}
#restaurant .menu_nav section .btn{
    margin-top: auto;
}
#restaurant .menu_nav section .btn a{
    font-size: 1.8rem;
    padding: 1em;
    line-height: 1em;
}
#restaurant .menu_nav section:not(:first-of-type){
    border-left: 1px solid var(--li-gray);
}
/* .menu_list */
#restaurant .menu_list{
    margin: 8rem auto 0;
}
#restaurant .menu_list .pick_up .box{
    width: calc((100% - 4rem) / 2);
}
#restaurant .menu_list .pick_up .box:nth-of-type(odd){
    margin-right: 4rem;
}
#restaurant .menu_list .pick_up .box:nth-of-type(n+3),
#restaurant .menu_list .list_up .box{
    margin-top: 4rem;
}
#restaurant .menu_list .list_up:not(.grid) .box:not(:nth-of-type(3)){
    margin-right: 3rem;
}
#restaurant .menu_list .list_up:not(.grid).col_02 .box{
    width: calc((100% - 3rem) / 2);
    margin-right: 0;
}
#restaurant .menu_list .list_up.col_02 .box:nth-of-type(odd){
    margin-right: 3rem;
}
#restaurant .menu_list .pick_up .box figure{
    width: 100%;
    margin-bottom: 3rem;
}
#restaurant .menu_list .lists{
    align-items: flex-start;
}
#restaurant .menu_list .lists .box ul{
    border-bottom: 1px dashed var(--li-gray);
    font-size: 1.125em;
    padding-bottom: 1em;
}
#restaurant .menu_list .lists .box ul li:last-of-type{
    margin-top: auto;
}
#restaurant .menu_list .lists .box p{
    margin-top: 1em;
}
#restaurant .menu_list .list_up .box{
    width: calc((100% - 6rem) / 3);
}
#restaurant .menu_list .list_up .box h4{
    font-size: 2.4rem;
    line-height: 1.33em;
    padding: 0 0 0 0.8em;
    border-left: 5px solid var(--li-gray);
    margin-bottom: 0.8em;
}
#restaurant .menu_list .list_up .box div + div{
    margin-top: 1em;
}
#restaurant .menu_list .list_up.grid .grid_item{
    margin-top: 0;
    margin-bottom: 4rem;
}
#restaurant .menu_list .box_bg_gray{
    margin: 0 auto 4rem;
}
#restaurant .menu_list .box_bg_gray p:first-of-type{
    margin-bottom: 0.7em;
}
#restaurant .menu_list .box_bg_gray p:not(:first-of-type){
    font-size: 1.125em;
}

/* ======= ご利用案内 users_guide ======= */
#users_guide .sec_01:not(:first-of-type){
    margin-top: 8rem;
}
#users_guide .sec_01 .table_04 tr th,
#users_guide .sec_01 .table_04 tr td{
    padding: 1em;
    vertical-align: middle;
}
#users_guide .sec_01 .table_04 tr:nth-of-type(n+2) th,
#users_guide .sec_01 .table_04 tr:nth-of-type(n+2) td:last-of-type{
    text-align: left;
}
#users_guide .sec_01 .table_04 tr:nth-of-type(n+2) td:last-of-type{
    line-height: 1.8em;
    padding-left: 2em;
    text-indent: -1em;
}
#users_guide .sec_01 .table_04 tr:nth-of-type(n+2) th{
    background: #f8f8f8;
}
#users_guide .sec_01 .table_04 tr:nth-of-type(n+2) th,
#users_guide .sec_01 .table_04 tr:first-of-type th:nth-of-type(2),
#users_guide .sec_01 .table_04 tr:first-of-type th:nth-of-type(3){
    color: #000;
}

/* ======= 料金案内 price ======= */
#price .info{
    margin-bottom: 7rem;
}
#price .caption{
    margin-top: 0.5em;
}
#price .box:first-of-type .flex figure{
    width: 50rem;
}
#price .table_style tr th,
#price .table_style tr td{
    padding: 1em 0.8em;
    line-height: 1em;
}
#price .box:first-of-type .flex div p:has(+.gold),
.box_bg_gray p:first-of-type{
    font-size: 1.125em;
}
#price .box:first-of-type .flex div .gold{
    margin-bottom: 1.33em;
}
#price .box:first-of-type .flex div p:last-of-type{
    line-height: 1.5em;
}
#price .box:not(:first-of-type){
    margin-top: 11rem;
}
#price .box .sec_01:not(:first-of-type){
    margin-top: 8rem;
}
#price .box .btn,
#error_404 .btn{
    margin: 8rem auto 0;
    width: 40%;
    min-width: 375px;
}
#price .box .btn a,
#couse .btn a,
#error_404 .btn a{
    display: block;
    padding: 0.5em;
}
/* ビジター料金 */
#price .box .btn a,
#error_404 .btn a,
#price .box:last-of-type .table_03 tr th,
#price .box:last-of-type .table_03 tr td{
    font-size: 1.125em;
}
#price .box:last-of-type .table_03 tr th,
#price .box:last-of-type .table_03 tr td{
    width:calc(100% / 3);
    padding: 1.5rem 1em;
}
#price .box:last-of-type .table_03 tr:first-of-type th:nth-of-type(2),
#price .box:last-of-type .sec_01:nth-of-type(3) .table_03 tr:first-of-type th,
#users_guide .sec_01 .table_04 tr:first-of-type th:nth-of-type(3){
    background: #cee6f5;
}
#price .box:last-of-type .table_03 tr:first-of-type th:nth-of-type(3),
#price .box:last-of-type .sec_01:nth-of-type(3) .table_03 tr:nth-of-type(2) th,
#users_guide .sec_01 .table_04 tr:first-of-type th:nth-of-type(2){
    background: #f6dce8;
}
#price .box:last-of-type .sec_01:first-of-type .flex{
    margin-top: 2.5rem;
}
#price .box_bg_gray{
    width: calc((100% - 2rem) / 2);
}
/* キャンセル料と発生日 */
#price .box:last-of-type .sec_01:nth-of-type(3) section{
    margin-top: 3rem;
}
#price .box:last-of-type .sec_01:nth-of-type(3) section h4{
    font-size: 2.4rem;
}
#price .box:last-of-type .sec_01:nth-of-type(3) section + p{
    margin-top: 2em;
}
#price .box:last-of-type .sec_01:nth-of-type(3) section .table_03 tr td{
    width: calc((100% / 3) * 2);
    color: var(--black);
}
/* その他 */
#price .box:last-of-type .sec_01:last-of-type .table_01 tr td{
    color: var(--gold);
    width: 80rem;
}

/* ======= 練習場 practicefield ======= */
#practicefield .table_01{
    margin: 5rem auto 6rem;
}
#practicefield .table_01 tr th{
    width: 400px;
}
#practicefield .table_01 tr td{
    width: 800px;
}

/* ======= 会社概要 about ======= */
#about .box:first-of-type{
    margin-top: 8rem;
}
#about .box:first-of-type .caption{
    margin-bottom: 1em;
}
#about .box:first-of-type .flex div,
#about .box.sec_01:nth-of-type(2){
    width: 57.5%;
}
#about .box .table_02 tr th{
    width: 15rem;
}
#about .box .table_02 tr td{
    width: 51rem;
}
#about .box:first-of-type .flex figure{
    width: calc((100% - 57.5%) - 4rem);
}
#about .box.sec_01:nth-of-type(2){
    margin-top: 0;
}

/* ======= シングルページ .single_page ======= */
.single_page h2{
    margin-bottom: 1em;
}
.single_page h1,
.single_page h2,
.single_page h3,
.single_page h4,
.single_page h5,
.single_page h6{
    margin: 4em 0 1em;
}
.single_page:first-child h1,
.single_page h2,
.single_page h3,
.single_page h4,
.single_page h5,
.single_page h6{
    line-height: 1.8em;
}
.single_page h1{
    font-size: 2.6rem;
    padding: 0.5em;
    background: linear-gradient(90deg, rgb(185, 154, 52, 0.2) 0%, #fff 100%);
    margin-top: 0;
}
.single_page h4{
    font-size: 2.2rem;
    color: var(--gold);
}
.single_page h4,
.single_page h5,
.single_page h6{
    border-bottom: 1px solid #b99a34;
    padding: 0.3em 0;
}
.single_page h5,
.single_page h6{
    font-size: 2rem;
}
.single_page h5{
    padding-left: 1.5em;
    position: relative;
    border-color: var(--li-gray);
}
.single_page h5::after{
    position: absolute;
    width: 1em;
    height: 1em;
    content: "";
    background: var(--gold);
    top: 0.7em;
    left: 0;
}
.single_page h6{
    border-color: var(--li-gray);
}
.single_page h6::first-letter{
    color: var(--gold);
}
.single_page figure,
.single_page ul,
blockquote{
    margin: 1em auto;
}
.single_page ul{
    margin: 1em auto;
}
blockquote{
    background: #eee;
    padding: 1em;
    border-radius: 0.5em;
}
.single_page iframe{
    margin: 1em auto;
}


    /*------------------------------
    スマホ
------------------------------*/

@media screen and (max-width: 960px) {

/* ======= トップページ .home ======= */
/* loader + FV */
#loader img{
    width: 80%;
}
/*fv*/
.fv {
    height: 100vh;
}

/* 新着情報 */
.home #news_topics{
    padding: 6rem 0 0;
}
.home #news_topics .flex{
    display: block;
}
.home #news_topics h2,
.home #news_topics div{
    width: 100%;
}
.home #news_topics div.box{
    width: calc(100% - 10rem);
}
/* 基準をクリア */
.home #criteria,
.home #related,
.home #information{
    padding: 8rem 0;
}
.home #criteria .box.flex{
    margin-bottom: 6rem;
}
.home #criteria .box.flex figure{
    width: 90%;
    display: block;
    margin: 0 auto 2em 0;
    order: 1;
}
.home #criteria .box.flex div{
    width: 100%;
    margin: 0;
    display: contents;
}
.home #criteria .box.flex h2,
.home #criteria .box.contents ul li a p.center{
    font-size: 3rem;
}
.home #criteria .box.flex h2,
.home #criteria .box.flex p,
.home #criteria .box.contents ul li{
    width: calc(100% - 10%);
    margin:0 auto;
}
.home #criteria .box.flex h2{
    font-size: 3rem;
    margin-bottom: 1em;
    order: 0;
}
.home #criteria .box.flex p{
    order: 2;
}
.home #criteria .box.flex .btn.more{
    order: 3;
    margin: 1.5rem 5% 0 auto;
    width: fit-content;
}
.home #criteria .box.contents ul li:not(:first-of-type){
    margin-top: 4rem;
}
.home #criteria .box.contents ul li a figure{
    margin-left: 3rem;
    position: relative;
    transition: 0.3s ease all;
}
.home #criteria .box.contents ul li a figure p{
    font-size: 4rem;
    line-height: 1em;
    letter-spacing: 0em;
    writing-mode: vertical-rl;
    position: absolute;
    top: 2rem;
    left: -3rem;
    z-index: 1;
}
.home #criteria .box.contents ul li a p.center{
    margin-top: 0;
}
/* 動画・バナーリンク */
.home #related .box:first-of-type,
.home #related .box:last-of-type{
    width: 100%;
}
.home #related .box:first-of-type .movie{
    width: calc((100% - 5%) / 2);
    height: 25vw;
}
.home #related .box .btn.more{
    margin: 1rem 0 4rem auto;
}
/* アクセス・お問い合わせ */
.home #information{
    padding-bottom: 0;
}
.home #information section{
    width: 90%;
    margin: 0 auto;
    padding: 3rem 0;
}
.home #information section:first-of-type{
    padding-top: 0;
}
.home #information section:not(:first-of-type){
    border-left:none;
    border-top: 1px solid var(--li-gray);
}
.home #information section .title_01{
    margin-bottom: 1em;
}
.home #information section:last-of-type p.big{
    font-size: 2.4rem;
}
.home #information section dl{
    margin-top: 2em;
}
.home #information section dl dd{
    margin-top: 0.5em;
}
.home #information section:last-of-type .btn{
    margin-top: 2rem;
}
.home #information section:last-of-type .btn a{
    padding: 1em 0.5em;
}
.home #information section a.sp_link{
    color: var(--black);
}


/* ======= コースガイド couse ======= */
/* #couse #couse_layout */
#couse #couse_layout{
    margin-bottom: 8rem;
}

/* #couse .sec_02 */
#couse .sec_02.center .title{
    font-size: 2rem;
}
#couse .table_area{
    margin: 6rem auto 8rem;
}
/* #couse_map */
#couse_map .pin{
    border: 2px solid rgb(255, 255, 255, 0);
}
#couse_map .pin:hover,
#couse_map .pin:focus{
    border: 2px solid #fff;
    box-shadow: 0 0 1rem rgb(255, 255, 255, 1);
}
/* #couse .bg_li_yellow */
#couse .bg_li_yellow .contents{
    padding: 8rem 0;
}
#couse .bg_li_yellow .contents section,
#couse .point section{
    padding: 0 5%;
}
#couse .bg_li_yellow section.flex div,
#couse .bg_li_yellow section.sec_01 li div{
    display: contents;
}
#couse .bg_li_yellow section.flex figure,
#couse .point section figure,
#couse .bg_li_yellow section.flex div,
#couse .point section div,
#couse .bg_li_yellow section.sec_01 li div{
    width: 100%;
}
#couse .bg_li_yellow section.flex div h4,
#couse .point section div h4{
    font-size: 2.2rem;
    margin-bottom: 0.5em;
    order: 0;
}
#couse .bg_li_yellow section.flex figure{
    order: 1;
    margin-bottom: 1em;
}
#couse .bg_li_yellow section.flex div p{
    order: 2;
}
#couse .bg_li_yellow section.sec_01 li:not(:first-of-type){
    margin-top: 2em;
}
#couse .bg_li_yellow section.sec_01 li{
    padding: 5%;
}
#couse .bg_li_yellow section.sec_01 li figure{
    width: 100%;
    margin: 1em auto;
    order: 1;
}
#couse .bg_li_yellow section.sec_01 li div{
    width: calc((100% - 18rem) - 2.5rem);
}
#couse .bg_li_yellow section.sec_01 li div .big{
    text-align: center;
    width: 100%;
    order: 0;
}
#couse .bg_li_yellow section.sec_01 li div .small{
    color: #404040;
}
#couse .bg_li_yellow section.sec_01 li div p:last-of-type{
    order: 1;
}
/* #couse .point*/
#couse .point section:not(:first-of-type){
    margin-top: 6rem;
}
#couse .point section div{
    display: contents;
}
#couse .point section div h4{
    margin-bottom: 0.8em;
    order: 0;
}
#couse .point section:nth-of-type(odd) figure,
#couse .point section:nth-of-type(even) figure,
#couse .point section:nth-of-type(odd) div,
#couse .point section:nth-of-type(even) div{
    order: 1;
}
#couse .point section figure{
    margin: 0 auto 1em;
}
#couse .point section div p{
    order: 2;
}

/* ======= コースガイド[Hole] holeguide ======= */
#holeguide .box{
    margin-top: 3rem;
}
#holeguide .sec_02{
    width: 100%;
}
#holeguide .movie{
    width: 100%;
    margin-top: 1em;
}
#holeguide .sec_02 p{
    line-height: 1.5em;
}
#holeguide .sec_02 .table_04{
    margin-top: 3rem;
}
#holeguide .sec_02 .table_04 .bg_gold{
    background: var(--gold);
}
#holeguide .couse_guide{
    width: 100%;
    padding: 4rem 0;
    margin: 6rem auto;
}
#holeguide .couse_guide h3{
    font-size: 3rem;
    margin-bottom: 0.5em;
}
/* .table_area */
#holeguide .table_area{
    max-width: 100%;
    padding: 0 5%;
}
.table_area section:not(:first-of-type){
    margin-top: 4rem;
}
.table_area h4{
    font-size: 3rem;
    margin-bottom: 0.5em;
}
/* .couse_nav */
.couse_nav.slider .prev_arrow{
    left: 3%;
}
.couse_nav.slider .next_arrow{
    right: -5%;
}
.couse_nav .frames{
    width: calc(100% - 2rem);
    height: 10rem;
    margin: 0 1rem 0;
    display: block;
}
.couse_nav .frames p{
    font-size: 2rem;
}

/* ======= 施設案内 facility ======= */
#facility .sec_01 p{
    margin-top: 1em;
}
#facility .sec_01:not(:first-of-type){
    margin-top: 6rem;
    padding-top: -6rem;
}

/* ======= レストラン restaurant ======= */
#restaurant .menu_nav{
    padding: 10% 0;
}
#restaurant .menu_nav section{
    padding: 0 5%;
    width: calc(100% - 10%);
    display: block;
    margin: 0 auto;
}
#restaurant .menu_nav section h3{
    font-size: 2.4rem;
    margin-top: 0;
}
#restaurant .menu_nav section p:not(.btn){
    margin:2rem auto;
}
#restaurant .menu_nav section .btn a{
    font-size: 1.8rem;
    padding: 1em;
    line-height: 1em;
}
#restaurant .menu_nav section:not(:first-of-type){
    border-top: 1px solid var(--li-gray);
    border-left: none;
    padding-top: 10%;
}
#restaurant .menu_nav section:first-of-type{
    padding-bottom: 10%;
}
/* .menu_list */
#restaurant .menu_list{
    margin: 6rem auto 0;
}
#restaurant .menu_list .pick_up .box,
#restaurant .menu_list .list_up:not(.grid).col_02 .box{
    width: 100%;
}
#restaurant .menu_list .pick_up .box:nth-of-type(odd){
    margin-right: 0;
}
#restaurant .menu_list .list_up .box{
    margin-top: 1em;
    width: 100%;
}
#restaurant .menu_list .pick_up .box:nth-of-type(n+2){
    margin-top: 4rem;
}
#restaurant .menu_list .list_up:not(.grid) .box:not(:nth-of-type(3)),
#restaurant .menu_list .list_up:not(.grid).col_02 .box,
#restaurant .menu_list .list_up.col_02 .box:nth-of-type(odd){
    margin-right: 0;
}
#restaurant .menu_list .pick_up .box figure{
    margin-bottom: 2rem;
}
#restaurant .menu_list .lists .box ul{
    border-bottom: 1px dashed var(--li-gray);
    font-size: 1em;
    padding-bottom: 0.8em;
}
#restaurant .menu_list .lists .box p{
    margin-top: 0.5em;
    font-size: 0.9em;
    color: #8f8f8f;
}
#restaurant .menu_list .list_up .box h4{
    font-size: 1.8rem;
}
#restaurant .menu_list .list_up.grid .grid_item{
    margin-bottom: 3rem;
}
#restaurant .menu_list .box_bg_gray ul li{
    text-indent: -1em;
    padding-left: 1em;
}

/* ======= ご利用案内 users_guide ======= */
#users_guide .sec_01:not(:first-of-type){
    margin-top: 6rem;
}
#users_guide .sec_01 .table_04{
    width: 700px;
}

/* ======= 料金案内 price ======= */
#price .info{
    margin-bottom: 7rem;
}
#price .caption{
    margin-top: 0.5em;
}
#price .box:not(:first-of-type){
    margin-top: 6rem;
}
#price .box:first-of-type .flex figure{
    width: 100%;
    margin: 1em auto 0;
}
#price .table_style tr th,
#price .table_style tr td{
    padding: 1em 0.8em;
    line-height: 1em;
}
#price .box:first-of-type .flex div p:has(+.gold),
.box_bg_gray p:first-of-type{
    font-size: 1.125em;
}
#price .box:first-of-type .flex div .gold{
    margin-bottom: 1.33em;
}
#price .box:first-of-type .flex div p:last-of-type{
    line-height: 1.5em;
}
#price .box .btn,
#couse .btn,
#error_404 .btn{
    margin: 3rem auto 0;
    width: 90%;
    min-width: 28rem;
}
#price .box .btn a,
#couse .btn a,
#error_404 .btn a{
    padding: 0.8em 0.5em;
}
/* ビジター料金 */
#price .box .btn a,
#error_404 .btn a,
#price .box:last-of-type .table_03 tr th,
#price .box:last-of-type .table_03 tr td{
    font-size: 1em;
}
#price .box:last-of-type .table_03 tr th,
#price .box:last-of-type .table_03 tr td{
    width:calc(100% / 3);
    padding: 1.5rem 1em;
}
#price .box:last-of-type .sec_01:first-of-type .flex{
    margin-top: 2.5rem;
}
#price .box_bg_gray{
    width: 100%;
}
#price .box_bg_gray:not(:first-of-type){
    margin-top: 5%;
}
/* キャンセル料と発生日 */
#price .box:last-of-type .sec_01:nth-of-type(3) section{
    margin-top: 2rem;
}
#price .box:last-of-type .sec_01:nth-of-type(3) section h4{
    font-size: 2rem;
}
#price .box:last-of-type .sec_01:nth-of-type(3) section + p{
    margin-top: 2em;
}
#price .box:last-of-type .sec_01:nth-of-type(3) section .table_03 tr th,
#price .box:last-of-type .sec_01:nth-of-type(3) section .table_03 tr td{
    width: 100%;
    display: block;
    line-height: 1.5em;
}
#price .box:last-of-type .sec_01:nth-of-type(3) section .table_03 tr th,
#price .box:last-of-type .sec_01:nth-of-type(3) section .table_03 tr:first-of-type td{
    border-bottom: none;
}
/* その他 */
#price .box:last-of-type .sec_01:last-of-type .table_01 tr td{
    color: var(--gold);
    width: 80rem;
}
#price .box:last-of-type .sec_01:last-of-type .table_01 tr th{
    width: 50%;
}

/* ======= 練習場 practicefield ======= */
#practicefield .table_01{
    margin: 3rem auto 8rem;
}
#practicefield .table_01 tr th,
#practicefield .table_01 tr td{
    width: 50%;
}

/* ======= 会社概要 about ======= */
#about .box:first-of-type{
    margin-top: 0rem;
}
#about .box.sec_01:nth-of-type(2){
    margin-top: 6rem;
}
#about .box:first-of-type .flex div{
    display: contents;
}
#about .box:first-of-type .caption{
    margin-bottom: 1em;
    order: 0;
}
#about .box:first-of-type .flex div,
#about .box.sec_01:nth-of-type(2){
    width: 100%;
}
#about .box .table_02 tr th,
#about .box .table_02 tr td{
    width: 100%;
}
#about .box:first-of-type .flex figure{
    width: 100%;
    order: 1;
}
#about .box:first-of-type .table_02{
    order: 2;
}

/* ======= シングルページ .single_page ======= */
.single_page h1,
.single_page h2,
.single_page h3,
.single_page h4,
.single_page h5,
.single_page h6{
    margin-top: 2em;
}
.single_page h1{
    font-size: 2.4rem;
    margin-top: 0;
}
.single_page h4{
    font-size: 2.2rem;
    color: var(--gold);
}
.single_page h5,
.single_page h6{
    font-size: 1.8rem;
}
.single_page iframe {
    width: 100%;
    height: 100%;
}






    /* //End @media screen and (max-width: 960px) */
}
