@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%;
}

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

.width1000,
.width1000_0a { /*commonオーバーライド*/
    width:100%;
    padding:0 2.5%;
}

.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_l_brown {background-color:var(--l_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_flower_sp.webp) no-repeat;
    background-position:left 51% bottom -100px;
    background-size:110vw;
    text-align: center;
    padding-top:calc(65px + 50px);
    padding-bottom:50px;
}
header.header_half {
    z-index: 100;
    position:absolute;
    top:calc(65px + 50px);
    left: 50%;
    transform: translate(-50%, 0%);
    width:100%;
    text-align: center;
}
header.header_normal {
    background-image:url(/img/flower_bg.webp);
    background-position:center center;
    background-size:cover;
    padding-top:calc(65px + 50px);
    padding-bottom:50px;
    text-align:center;
}

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

.elm_headers_index_toptext {
    font-size:2rem;
    margin:50px 0;
    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-top:50px;
    padding:0 2.5%;
}

span.elm_headers_index_box_span1 {
    display:inline-block;
    font-size:1rem;
    line-height:1.5rem;
}
span.elm_headers_index_box_span2 {
    display:inline-block;
    font-size:1.8rem;
    line-height:2.5rem;
}

.elm_headers_index_white,
.elm_headers_index_black {
    padding:10px 0;
    width:80%;
}

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

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

.elm_headers_index_bottomtext {
    display: inline-block;
    font-size:1.3rem;
    line-height:1.3rem;
    padding:0 10px 4px 10px;
}

h2.elm_headers_half_h2 {
    background-color:var(--white);
    font-size:1.5rem;
    line-height:1.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;
}





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:100%;
    position: absolute;
    top: 50%;
    left: 50%;
    background-color:var(--white);
    transform: translate(-50%, -50%);
    overflow-y: auto;
    overflow-y: scroll;
    max-height:90vh;
    text-align: center;
    }

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

.ctop_topleft {
 color:var(--black);
 text-align: left;
 font-size:1rem;
 padding:10px 5px;
}

.conf_middle {
}

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

img.cmdl_logo_img {
    width:200px;
}

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

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

.cbtn_enter {
    display:block;
    width:70%;
    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:70%;
    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:50%;
    background-color:var(--red);
    color: var(--white);
    padding:10px 0;
    text-align:center;
    font-size:1.1rem;
    margin:50px 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:10px 5%;
    border-top:1px solid var(--black);
    background-color:var(--line_gray);
}

.cbtm_linkul li {
    margin:5px;
}

/*共通セレクタ*/

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(--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.1rem;
    line-height:1.7rem;
    font-family: "dnp-shuei-ymincho-std", sans-serif;
    font-weight: 500;
    font-style: normal;
}
.common_text>p:nth-child(n + 2) {
    margin-top:15px;
}

/* header-fix */
#hfmenu {
    width:100%;
    background:var(--line_gray);
    color:#ffffff;
    position: fixed;
    top:0;
    left:0;
    padding:0 10px;
    z-index:9998;
}

#hfmenu>a {
    display:block;
}


.hf_tel_box {
    width:25%;
    height:100%;
    text-align: right;
}

.hf_tel {
    display:inline-block;
    width:50px;
    height:50px;
    background-repeat:no-repeat;
    background-position:center center;
    background-size:40px;
    text-align:center;
    color:var(--white);
    font-size:0.7rem;
    line-height:0.6rem;
    text-align: center;
    background-image:url(/img/icon/icon_tel.webp);
    background-color:var(--black);
    border-radius:100px;
}

a.hf_logo_box {
    font-display: var(--black);
    text-align: center;
    width:50%;
    height:65px;
    color:var(--white);
    font-size:1.7rem;
    line-height:1.7rem;
    padding:10px 0;
}
a.hf_logo_box>img {
    max-height:100%;
}

.hf_menu_btn {
    background-color:var(--white);
    border-radius:20px;
    padding:10px 0;
    border:2px solid var(--black);
    color:var(--black) !important;
    font-size:1.1rem;
    text-align: center;
}

#hf_mmenu {
    color:#fff;
    line-height:1.3rem;
    width:25%;
}


#hf_menubox {
    width:100%;
    height:100vh;
    position:fixed;
    top:0;
    left:0;
    background-color:rgba(0,0,0,0.6);
    z-index:9997;
    display:none;
}

#hf_menubg {
    position: relative;
    top:67px;
    width:100%;
    background-color:var(--light_gray);
    display:flex;
    flex-wrap:wrap;
    padding:20px 0;
}

#hf_menubg>a {
    display:block;
    text-align: center;
    color:var(--brown);
    font-size:1.3rem;
    line-height:1.3rem;
    padding:25px 0;
}

a.hf_atop {
    width:40%;
    padding:20px 0 !important;
    margin:0 5% 20px 5%;
    color:#fff !important;
    border-radius:20px;
    font-size:1.7rem !important;
}

a.hf_aall {
    width:50%;
}

.hf_monshin_box {
    position: relative;
    top:67px;
    background-color:var(--black);
    color:var(--white);
    padding:30px 5%;
    font-size:1rem;
}

a.monshin_a {
    width:90%;
    display:block;
    background-color:var(--red);
    border:1px solid var(--white);
    color:var(--white);
    border-radius:10px;
    background-image:url(/img/icon/icon_pdf.webp);
    background-size:30px;
    background-position:30px center;
    padding:20px 20px 20px 90px; 
    margin:20px auto;
    font-size:1.1rem;
}
a.monshin_a:hover {
    opacity:0.6;
}
