
@charset "utf-8";
:root{
    --black:        #000000;
    --white:        #ffffff;
    --line_gray:    #e2e2e2;
    --light_gray:    #f4f4f4;
    --half1_gray:   #c9c9c9;
    --half2_gray:   #727272;
    --red:          #e20000;
    --light_red:   #e48c8c;
    --enter_green:  #298939;
    --enter_blue:   #4a95ba;

    --line:    #00b900;
    --mail:    #4f3ef7;
}

a  { color:var(--d_red); text-decoration:none;}

body {
    width:100%;
    background:var(--white);
    color:var(--black);
    font-size:20px;
    font-family: "dnp-shuei-mincho-pr6", sans-serif;
    font-weight: 400;
    font-stretch: extra-condensed;
    _height: 1%;
}

html {
    scroll-padding-top:110px;
}

.pc {display:block;}
.pc_il {display:inline-block;}
.smp {display:none;}
.smp_il {display:none;}

.f_l {
    font-family: "dnp-shuei-mincho-pr6", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.f_m {
    font-family: "dnp-shuei-mincho-pr6", sans-serif;
    font-weight: 500;
    font-style: normal;
}

.f_b {
    font-family: "dnp-shuei-mincho-pr6", sans-serif;
    font-weight: 600;
    font-style: normal;
}

.f_tok {
    font-family: "kaisei-tokumin", sans-serif;
    font-weight: 800;
    font-style: normal;
}

.black {color:var(--black) !important;}
.white {color:var(--white) !important;}
.base_white {color:var(--base_white) !important;}
.brown {color:var(--brown) !important;}
.d_red {color:var(--d_red) !important;}
.purple {color:var(--purple) !important;}
.red {color:var(--red) !important;}
.orange {color:var(--orange) !important;}
.green {color:var(--green) !important;}
.blue {color:var(--blue) !important;}

.bg_black {background-color:var(--black) !important;}
.bg_white {background-color:var(--white) !important;}
.bg_base_white {background-color:var(--base_white) !important;}
.bg_brown {background-color:var(--brown) !important;}
.bg_d_red {background-color:var(--d_red) !important;}
.bg_purple {background-color:var(--purple) !important;}
.bg_red {background-color:var(--red) !important;}
.bg_orange {background-color:var(--orange) !important;}
.bg_green {background-color:var(--green) !important;}
.bg_blue {background-color:var(--blue) !important;}


/*読み込み画面*/
#loading {
    position:fixed;
    top:0;
    left:0;
    width:100vw;
    height:100vh;
    background-color:var(--white);
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:9999;
}
.loading_logo {
    width:150px;
}

.loading_text {
    margin-top:20px;
    font-size:1.2rem;
    text-align: center;
    animation:1s linear infinite blinking;
}
@keyframes blinking{
    0%{ opacity:0.3;}
    50%{ opacity:1;}
    100%{ opacity:0.3; }
}

.fadeout {
    animation : fadeOut 1s;
    animation-fill-mode: both;
  }
  @keyframes fadeOut {
    0% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }

/*ヘッドメニュー*/
nav.hdnav {
    width:100%;
    position: fixed;
    top:0;
    left:0;
    z-index:100;
    border-top:5px solid var(--line_gray);
}

.hdnav_white {
    background:var(--white);
    padding:8px 0;
    
}

ul.hdnav_ul {
    width:100%;
}
ul.hdnav_ul li.hdnav_lilogo {
    width:20%;
}
ul.hdnav_ul li.hdnav_lia {
    width:13%;
}


a.hdnav_logo {
    width:100%;
    display: block;
    text-align:left;
    padding:8px 0;
}
a.hdnav_logo img {
    width:120px;
}

a.hdnav_a {
    width:100%;
    font-size:1rem;
    display: block;
    width:100%;
    text-align: center;
    padding:5px 0;
    border-top:2px solid var(--white);
    border-bottom:2px solid var(--white);
}
a.hdnav_a:hover {
    border-bottom:2px solid var(--black);
}

a.hdnav_a>span {
    font-size:0.7rem;
}

.hdnav_info_black {
    
}

.hdnav_info {
    width:50%;
    font-size:1.2rem;
    background-color:var(--black);
    color:var(--white);
    padding:3px 0px 3px 20px;
}

.hdnav_i_teltime {
    font-size:1.2rem;
    text-align:center;
}


.hdnav_i_tel,
.hdnav_i_open {
    
    background-position:left center;
    background-size:23px;
    padding-left:33px;
}

.hdnav_i_tel {
    min-width:350px;
    background-image:url(/img/icon/icon_tel.webp);
}
.hdnav_i_open {
    min-width:300px;
    background-image:url(/img/icon/icon_clock.webp);
}

.top_bg_half {
    background:linear-gradient(90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(0,0,0,1) 50% 100%);
}

header.header_index {
    background:url(/img/top_bg_clear.webp) no-repeat,linear-gradient(-90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(0,0,0,1) 50% 100%);
    background-position:51% 65%;
    background-size:800px;
    text-align: center;
    padding-top:calc(84px + 80px);
    padding-bottom:80px;
}
header.header_half {
    background-image:url(/img/top_flower_half.webp);
    background-position:center -70px;
    background-size:550px;
    padding-top:calc(84px + 80px);
    text-align:center;
}
header.header_normal {
    background-image:url(/img/flower_bg.webp);
    background-position:center center;
    background-size:cover;
    padding-top:calc(84px + 100px);
    padding-bottom:70px;
    text-align:center;
}

h1.header_h1_index {
    font-size:1rem;
    text-align: center;
    padding:20px 0;
}

.elm_headers_index_toptext {
    font-size:3rem;
    text-shadow:0 0 6px var(--black),0 0 6px var(--black),0 0 6px var(--black),0 0 6px var(--black),0 0 6px var(--black),0 0 6px var(--black),0 0 6px var(--black),0 0 6px var(--black),0 0 6px var(--black),0 0 6px var(--black);
}

.elm_headers_index_middle {
    margin:80px 0;
    padding:0 50px;
}

span.elm_headers_index_box_span {
    font-size:2.5rem;
}

.elm_headers_index_white,
.elm_headers_index_black {
    padding:20px 30px;
    line-height:2.5rem;
}

.elm_headers_index_white {
    background-color:rgba(255,255,255,0.9);
    border:0.5px solid var(--black);
}

.elm_headers_index_black {
    background-color:rgba(0,0,0,0.5);
    border:0.5px solid var(--white);
}

.elm_headers_index_bottomtext {
    background-color:var(--black);
    display: inline-block;
    font-size:2rem;
    line-height:2rem;
    padding:0 10px 4px 10px;
}

h2.elm_headers_half_h2 {
    background-color:var(--white);
    font-size:2.5rem;
    line-height:2.5rem;
    display:inline-block;
    padding:0 10px;
}

p.elm_headers_half_text {
    background-color:var(--white);
    padding:0 10px;
    font-size:1rem;
    display:inline-block;
    margin-top:15px;
}

.elm_headers_half_half1,
.elm_headers_half_half2 {
    font-size: 6.5rem;
    line-height:5rem;
}

.elm_headers_half_half1 {
    text-align: left;
    color:var(--half1_gray);
}

.elm_headers_half_half2 {
    text-align: right;
    color:var(--half2_gray);
}



main {
}

footer {
    background-color:var(--black);
    background-image:url(/img/flower_bg_glad_clr.webp);
    background-position:left center;
    background-size:contain;
}

.ft_info {
    padding:50px 0;
}

.ft_nav {
    width:45%;
}

ul.ftnav_ul {
    width:100%;
}

ul.ftnav_ul li {
    width:13%;
}

a.ftnav_a {
    width:100%;
    font-size:1rem;
    display: block;
    width:100%;
    color:var(--white);
    text-align: center;
    padding:5px 0;
    border-top:2px solid transparent;
    border-bottom:2px solid transparent;
}
a.ftnav_a:hover {
    border-bottom:2px solid var(--white);
}

a.ftnav_a>span {
    font-size:0.7rem;
}

.ft_bottom_info {
    width:100%;
    font-size:1.2rem;
    color:var(--white);
    margin-top:30px;
}

.ft_logo {
    width:28%;
    padding-right:10%;
}

.ftb_i_tel,
.ftb_i_open {
    font-size:1.5rem;
    text-align:center;
    padding:10px 0;
    background-position:left center;
    background-size:33px;
    padding-left:43px;
}

.ftb_i_tel {
    background-image:url(/img/icon/icon_tel.webp);
}
.ftb_i_open {
    background-image:url(/img/icon/icon_clock.webp);
}

.copyright {
    text-align: center;
    padding:10px 0;
    color:var(--black);
    font-size:0.9rem;
    background-color:var(--line_gray);
}


/*  モーダル入場 */
.modal_window {
    display:none;
    position:fixed;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background-color:rgba(0,0,0,0.5);
    z-index:9998;
}

.kin18confirm_box {
    width:1000px;
    position: absolute;
    top: 50%;
    left: 50%;
    background-color:var(--white);
    transform: translate(-50%, -50%);
    overflow-y: auto;
    overflow-y: scroll;
    height:90vh;
    text-align: center;
    }

.conf_bg {
    background:url(/img/top_bg_clear.webp) no-repeat,linear-gradient(-90deg, rgba(255,255,255,1) 0%, rgba(255,255,255,1) 50%, rgba(0,0,0,1) 50% 100%);
    background-size:750px;
    background-position:center center;
}

.ctop_topleft {
 color:var(--black);
 text-align: left;
 padding:20px;
}

.conf_middle {
}

.cmdl_logo_bg {
    background-color:rgba(0,0,0,0.6);
    width:60%;
    text-align: center;
    margin:0 auto;
}
.cmdl_text {
    padding:50px 0;
}
.cmdl_text>p {
    font-size:1rem;
    color:var(--white);
}

img.cmdl_logo_img {
    width:300px;
}

img.cmdl_r18_img {
    width:70px;
    margin:20px 0;
}

.conf_bottom {
    color:var(--white);
    margin-top:100px;
    padding-bottom:80px;
}

.cbtn_enter {
    display:block;
    width:50%;
    background-color:var(--enter_green);
    color: var(--white);
    padding:10px 0;
    text-align: center;
    font-size:2.5rem;
    margin:0 auto;
    border:1px solid var(--white);
    border-radius:10px;
    cursor: pointer;
}

.cbtn_enter_en {
    display:block;
    width:50%;
    background-color:var(--enter_blue);
    color: var(--white);
    padding:10px 0;
    text-align: center;
    font-size:1.5rem;
    margin:40px auto 0 auto;
    border:1px solid var(--white);
    border-radius:10px;
    cursor: pointer;
}

.cbtn_exit {
    display:block;
    width:40%;
    background-color:var(--red);
    color: var(--white);
    padding:10px 0;
    text-align:center;
    font-size:1.3rem;
    margin:80px auto 0 auto;
    border:1px solid var(--white);
    line-height:2.1rem;
    border-radius:10px;
    cursor: pointer;
    
}

.cbtn_enter:hover,
.cbtn_enter_en:hover,
.cbtn_exit:hover {
    opacity:0.8;
}

.cbtm_links {
    padding:20px 30px;
    border-top:1px solid var(--black);
}

.cbtm_linkul li {
    margin:10px;
}

/*共通セレクタ*/

h2.obi_h2 {
    text-align: center;
}
h2.obi_h2>span {
    display:inline-block;
    padding:5px 20px;
    text-align:center;
    font-size:1.4rem;
    line-height:2rem;
}

.error-message {
    color:var(--d_red) !important;
    margin-top:10px;
}

input[type='text'],
textarea {
    font-size:1.5rem;
    padding:10px;
}

textarea {
    width:100%;
}

button[type='submit'] {
    color:var(--white);
    padding:15px 30px;
    border:2px solid var(--white);
    font-size:1.8rem;
    border-radius:10px;
    box-shadow:3px 3px 10px rgba(0,0,0,0.5);
    cursor: pointer;
}
button[type='submit']:hover {
    opacity:0.6;
}

.common_text {
    font-size:1.2rem;
    line-height:2rem;
    font-family: "dnp-shuei-ymincho-std", sans-serif;
    font-weight: 500;
    font-style: normal;
}
.common_text>p:nth-child(n + 2) {
    margin-top:20px;
}