@charset "utf-8";
/* CSS Document */

/*******************************************************************/
/*                                                                 */
/*                --- CSSリセット・初期設定 ---                    */
/*                                                                 */
/*******************************************************************/
html{color:#000;background:transparent;font-size:100%;}
body,div,/*dl,dt,dd,*/ul,ol,li,h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
margin:0;padding:0;
}
table{ border-collapse:collapse;border-spacing:0; }
th,td{ padding:0; }
img{ border:0; }
address,caption,cite,code,dfn,em,strong,th,var{
font-style:normal;font-weight:normal;
}
li { list-style:none; }
caption,th{ text-align:left; }
h1,h2,h3,h4,h5,h6{ font-size:100%;font-weight:normal; }
q:before,q:after{ content:''; }
abbr,acronym{ border:0;font-variant:normal; }
input,textarea,select{ font-family:inherit;font-size:inherit;font-weight:inherit;padding:5px 3px; }
input,textarea,select{ *font-size:100%; }
a img { border:none; }
strong { font-weight: bold; font-family: "リュウミン M-KL", serif !important; }
p {margin-bottom: 10px;}

/* --- 初期化・共通設定 --- */
* {
    box-sizing: border-box;
}
div {
    margin: 0;
    padding: 0;
}
table {
    border-collapse: collapse;
    border:none;
    border-spacing:0;
}
th,td{
    padding: 0;
    vertical-align:top;
    font-weight:normal;
    text-align:left;
}
ul, ol {
    margin: 0 0 20px 20px;
    padding: 0;
}
ul.normal li {
    list-style-type: disc;
}
ul.center li {
    width:fit-content;
    margin: auto;
}
ol.normal li {
    list-style-type: decimal;
}
caption{
    text-align:left;
}
img {
    border: none;
    vertical-align:bottom
}
p, .info {
    margin: 0 0 30px 0;
    padding: 0;
    line-height: 1.8em;
    font-size: 1.0rem;
    max-height: 100%;
}
.clearfloat {
    clear:both;
    height:0;
    font-size: 1px;
    line-height: 0px;
}
.clearBoth {
    clear: both;
}
.red { color:red; }
.t_indent {
    margin: 0;
    padding: 0;
    text-indent:-1em;
    padding-left:1em;
}
.t_indent2 {
    margin: 0;
    padding: 0;
    text-indent:-2em;
    padding-left:2em;
}
.attention1 {
    color: #f00;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
}
.attention_s {
    line-height: 1.4em;
}
.fsz_1 { font-size: 0.7rem !important; }
.fsz_2 { font-size: 0.8rem !important; }
.fsz_3 { font-size: 0.9rem !important; }
.fsz_4 { font-size: 1.0rem !important; }
.fsz_5 { font-size: 1.2rem !important; }
.fsz_6 { font-size: 1.4rem !important; }
.fsz_7 { font-size: 1.6rem !important; }
.fsz_8 { font-size: 1.8rem !important; }
.fsz_small { font-size: smaller !important; }
.fsz_large { font-size: large !important; }
.fsz_larger { font-size: larger !important; }
.fsz_xlarge { font-size: x-large !important; }
.fsz_xxlarge { font-size: xx-large !important; }
.lh_100 { line-height: 100% !important; }
.lh_150 { line-height: 150% !important; }
.lh_200 { line-height: 200% !important; }
.lh_250 { line-height: 250% !important; }
.lh_300 { line-height: 300% !important; }
.center {text-align: center !important;}
.mar_center { margin-left: auto !important; margin-right: auto !important; }
.left {text-align: left !important;}
.right {text-align: right !important;}
.f_left { float: left !important; }
.f_right { float: right !important; }
.top {vertical-align: top !important;}
.bottom {vertical-align: bottom !important;}
.middle {vertical-align: middle !important;}
.ft_grn { color: #455C28; }
.fw_normal { font-weight: normal !important; }
.bold { font-weight: bold !important; font-family: "リュウミン M-KL", serif !important; }
.underline { text-decoration: underline !important; }
.mar_b_0 { margin-bottom: 0 !important; }
.mar_b_5 { margin-bottom: 5px !important; }
.mar_b_10 { margin-bottom: 10px !important; }
.mar_b_15 { margin-bottom: 15px !important; }
.mar_b_20 { margin-bottom: 20px !important; }
.mar_b_30 { margin-bottom: 30px !important; }
.mar_b_50 { margin-bottom: 50px !important; }
.mar_b_80 { margin-bottom: 80px !important; }
.mar_b_100 { margin-bottom: 100px !important; }
.mar_b_150 { margin-bottom: 150px !important; }
.mar_l_5 { margin-left: 5px !important; }
.mar_r_5 { margin-right: 5px !important; }
.mar_l_10 { margin-left: 10px !important; }
.mar_r_10 { margin-right: 10px !important; }
.mar_r_20 { margin-right: 20px !important; }
.mar_b_05em { margin-bottom: 0.5em !important; }
.mar_b_10em { margin-bottom: 1.0em !important; }
.pad_t_20 { padding-top: 20px !important; }
.pad_t_30 { padding-top: 30px !important; }
.pad_t_50 { padding-top: 50px !important; }
.mar_b_sp_10 { margin-bottom: 0 !important; }
b { font-family: "リュウミン M-KL", serif !important; }
@media screen and (max-width: 768px) {
    .mar_b_sp_10 { margin-bottom: 10px !important; }
}
.obf_cover img { object-fit: cover !important; height: 100% !important; }
.db_img_w {
    background:#fff url(/img/loader.white.gif) 50% 50% no-repeat;
    display: inline-block;
}
.bg_tr {
    background: transparent !important;
}
.ilb {
    display: inline-block !important;
}
.show_pc { display: block !important; }
.show_pc_ilb { display: inline-block !important; }
@media screen and (max-width: 768px) {
    .show_pc,
    .show_pc_ilb { display: none !important; }
}
.show_mb,
.show_mb_ilb { display: none !important; }
@media screen and (max-width: 768px) {
    .show_mb { display: block !important; }
    .show_mb_ilb { display: inline-block !important; }
}

* {
/*
    word-wrap: break-word;
    word-break: break-all;
*/
}
@media screen and (max-width: 768px) {
    img.rsp {
        max-width: 100% !important;
        width: auto !important;
    }
}
.box_tokuten {
    display: block;
    padding: 1.0em;
    margin: 2em 10px 3em 10px;
    color: #000;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    text-decoration: none;
    background: #ffeaea;
    box-shadow: 0px 0px 0px 10px #ffeaea;
    border: dashed 2px #ffc3c3;
}
.box_tokuten b {
    font-size: 1.2em;
}
a.box_tokuten:link { text-decoration: none; color:#000; }
a.box_tokuten:visited { text-decoration: none; color:#000; }
a.box_tokuten:hover { text-decoration: underline; color:#000; }
a.box_tokuten:active { text-decoration: none; color:#000; }
.pdf_link {
    display: table;
    margin-left: auto;
    margin-right: auto;
}
.pdf_link a {
    padding: 8px;
    border: 1px solid #ccc;
    line-height: 20px;
    display: table-cell;
    vertical-align: middle;
}
.pdf_link a:link p { color: #000; text-decoration: none !important; }
.pdf_link a:visited p { color: #000; text-decoration: none !important; }
.pdf_link a:hover p { color: #000; text-decoration: underline !important; }
.pdf_link a:active p { color: #000; text-decoration: none !important; }
.pdf_link img {
    width: 60px;
    vertical-align: middle;
    margin-right: 10px;
}
.pdf_link p {
    width: calc(100% - 60px - 10px);
    margin: 0;
    vertical-align: middle;
    display: inline-block;
    line-height: 120%;
}
.box_rd {
    display: inline-block;
    border-radius: 8px;
    border: 2px solid #ccc;
    padding: 1.0em 1.5em;
}
.t-marker01 {
    background: #f9d3d4;
}

/* --- 全体の背景・テキスト --- */
html {
    height: 100%;
}
body {
    height: 100%;
    margin: 0;
    padding: 0;
    color: #000 !important; /* 全体の文字色 */
    font-family: "リュウミン R-KL", serif;
    line-height: 1.3em;
/*    -webkit-touch-callout: none;*/
    background: #fff;
}
.highslide-container div{
    font-family: "リュウミン R-KL", serif !important;
}

/* --- 全体のリンクテキスト --- */
a:link { color: #03c; text-decoration: none; }
a:visited { color: #800080; text-decoration: none; }
a:visited { color: #03c; text-decoration: none; }
a:hover { color: #f63; text-decoration: underline; }
a:active { color: #f63; text-decoration: none; }
a.nc:visited { color: #03c; }
a.nc:hover { color: #f63; }
a.nc:active { color: #f63; }
a.nul { text-decoration: none; }
a.sd:link { color: #fff; text-decoration: underline; }
a.sd:visited { color: #fff; }
a.sd:hover { color: #fff; text-decoration: none; }
a.sd:active { color: #fff; }
a.red:link { color: #f00 !important; text-decoration: none !important; }
a.red:visited { color: #f00 !important; text-decoration: none !important; }
a.red:hover { color: #f00 !important; text-decoration: underline !important; }
a.red:active { color: #f00 !important; text-decoration: underline !important; }
.nclr { color: #505050; }
a.no_change { color: #000; }
a.no_change_w { color: #fff; }

/* -- レイアウト -- */
#wrapper {
    width: 100%;
    min-width: 1020px;
    margin: 0 auto;
    background: #fff;
    position: relative;
}
@media screen and (max-width: 768px) {
    #wrapper {
        min-width: unset;
    }
}
#header {
    width: 1020px;
    margin: 0 auto;
    position: relative;
    background: #fff;

}
#contents {
    clear: both;
    width: 100%;
    margin: 0 auto;
    padding: 150px 0;
    background: #fbfaf6;
/*    background-image: url(/img/back2.gif) !important;*/
}
.cblck {
    clear: both;
    width: 1020px;
    margin: 0 auto;
    padding: 0;
    padding-top: 20px;
    padding-left: 10px !important;
    padding-right: 10px !important;
    background: transparent;
}
#footer {
    clear: both;
    width: 100%;
    min-width: 1020px;
    min-height: 300px;
    margin: 0 auto;
    background: transparent;
}
@media screen and (max-width: 768px) {
    #header {
        width: 100%;
    }
    .cblck {
        width: 100%;
    }
    .cblck img {
        max-width: 100%;
    }
    #footer {
        min-width: unset;
    }
}

/* -- ヘッダー -- */
.header_text {
    padding: 5px 0 0 0;
    line-height: 1.2em;
    text-align: center;
    color: #333;
    font-size: 0.9rem;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
}
.header_logo {
    display: inline-block;
    margin: 0 0 0 30px;
    padding: 50px 0 0 0;
    text-align: left;
    font-size: 250%;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    filter: drop-shadow(0 0 5px #fff);
}
.header_logo a {
    display: block;
}
.header_logo img {
/*    height: 80px;*/
    max-width: 400px;
}
.header_logo img {
/*    filter: drop-shadow(7px 7px 7px #999);*/
}
.header_info {
    position: absolute;
    top: 20px;
    right: 0;
    width: 300px;
    line-height: 34px;
    margin: 30px 30px 0 0;
    padding: 0;
    text-align: right;
    font-size: 0.9rem;
}
.header_info div.inquiry {
    display: inline-block;
    background: #666;
    color: #fff;
    text-align: center;
    padding: 5px 20px;
    font-size: 0.9rem;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
}
.header_info div.inquiry img {
    margin-right: 10px;
}
.header_info div.inquiry a:link { color: #fff; text-decoration: none; }
.header_info div.inquiry a:visited { color: #fff; text-decoration: none; }
.header_info div.inquiry a:hover { color: #fff; text-decoration: underline; }
.header_info div.inquiry a:active { color: #fff; text-decoration: none; }
.header_info div.tel {
    border-bottom: 1px dashed #fff;
    display: inline-block;
    padding-bottom: 2px;
    margin-bottom: 2px;
}
.header_info .btn_fb,
.header_info .btn_tiktok,
.header_info .btn_insta {
    display: inline-block;
    margin-left: 10px;
}
.header_info .select_lang {
    display: inline-block;
    margin-right: 15px;
}
.header_info a.lang:link { color: #727171; text-decoration: none; }
.header_info a.lang:visited { color: #727171; text-decoration: none; }
.header_info a.lang:hover { color: #727171; text-decoration: underline; }
.header_info a.lang:active { color: #727171; text-decoration: none; }
@media screen and (max-width: 768px) {
    .header_logo {
        display: block;
        margin: 0 0 30px 0;
        padding: 30px 0 0 0;
        text-align: center;
	    font-size: 200%;
    }
    .header_info {
        position: static;
        top: 0;
        right: 0;
        width: 100%;
        line-height: 34px;
        margin: 0 0 30px 0;
        padding: 0;
        text-align: center;
    }
}

/* -- グローバルナビゲーション -- */
#gnavi {
    clear: both;
/*    width: 1020px;*/
width: 100%;
    margin: 0 auto 0 auto;
    padding: 30px 0 10px 0;
    padding-left: 10px !important;
    padding-right: 10px !important;
    box-sizing: border-box;
    filter: drop-shadow(0 0 5px #fff);
}
#gnavi > ul {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
    font-size: 0;
}
#gnavi > ul * {
    font-size: 0.9rem;
}
#gnavi > ul > li {
    display: inline-block;
    margin-left: 15px;
    position: relative;
}
#gnavi > ul > li:first-child {
    margin-left: 0;
}
#gnavi > ul > li > a {
    margin: 0;
    color: #000;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
}
#gnavi ul li a { display: inline-block; }
#gnavi ul li a:link { text-decoration: none; }
#gnavi ul li a:visited { text-decoration: none; }
#gnavi ul li a:hover { text-decoration: underline; color: #f63; }
#gnavi ul li a:active { text-decoration: none; }
#gnavi ul li span { cursor: pointer; font-weight: bold; font-family: "リュウミン M-KL", serif !important; }
#gnavi > ul > li > a > img {
    border-right: 1px solid #ddd;
    border-left: none;
    box-sizing: border-box;
}
#gnavi > ul > li:after {
    content: "｜";
    margin-left: 15px;
    font-weight: normal;
    color: #000;
}
#gnavi > ul > li:last-child:after {
    content: none;
}
/* プルダウンメニュー */
#gnavi li ul {
    list-style: disc;
    position: absolute;
    top: 100%;
    margin: -5px 0 0 -10px;
    padding: 0;
    z-index: 100;
    background: rgba(255,255,255,0.8);
    box-shadow: 0px 10px 10px rgba(0,0,0,0.2);
}
#gnavi li ul li {
    word-wrap: normal;
/*    white-space: nowrap;*/
    min-width: 200px;
    float: none;
    overflow: hidden;
/*    width: 100%;*/
    height: 0;
    margin: 0 0 0 30px;
    padding: 0;
    -moz-transition: .2s;
    -webkit-transition: .2s;
    -o-transition: .2s;
    -ms-transition: .2s;
    transition: .2s;
    background: transparent;
    text-align: left;
    list-style: disc;
}
#gnavi li li:hover > a {
    text-decoration: underline;
}
#gnavi li ul li a {
    display: block;
    color: #000;
    background: transparent;
    text-align: left;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    padding: 0.1em 10px 0 0;
/*    line-height: 2.0em;*/
}
#gnavi li ul li:first-of-type a {
    margin-top: 1.5em;
}
#gnavi li:hover ul li {
    overflow: visible;
/*    height: 3.0em;*/
    height: auto;
    padding: 0 0 10px 0;
}
/* //プルダウンメニュー */
#gnavi li.show_fixed { display: none !important; }
.fixed {
    width: 100% !important;
    min-width: 1020px;
    position: fixed;
    top: 0;
    left:0;
    margin: 0 !important;
    padding: 10px 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    background: rgba(255, 255, 255, 0.6);;
    box-shadow: 0 5px 5px rgba(0,0,0,0.4);
    z-index: 9999;
    text-align: center;
    transition: .5s;
}
.fixed > ul > li {
    display: inline;
    float:none !important;
}
.fixed a { color: #000 !important; }
.fixed a:link { color: #000 !important; }
.fixed a:visited { color: #000 !important; }
.fixed a:hover { color: #f63 !important; }
.fixed a:active { color: #f63 !important; }
.fixed > ul > li:after {
    color: #000 !important;
}
.hide_gnavi {
    transform: translateY(-100%);
}
.sec_link_dest {
    padding-top: 80px;
    margin-top: -80px;
}
.fixed li.show_fixed { display: inline-block !important; }
img.arrow_d {
    vertical-align: middle;
    margin-left: 5px;
    border: none !important;
}

.current {
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
}
.pankuzu {
    clear: both;
    font-size: 0.8rem;
    margin: 70px 0 20px 0 !important;
    color: #999;
    border-radius: 12px !important;
    display: inline-block;
}
.pankuzu .cblk_inner {
    padding: 5px 20px !important;
    border-radius: 12px !important;
    display: inline-block;
}
.pankuzu a:link { color: #999; text-decoration: none !important; }
.pankuzu a:visited { color: #999; text-decoration: none !important; }
.pankuzu a:hover { color: #999; text-decoration: underline !important; }
.pankuzu a:active { color: #999; text-decoration: underline !important; }
@media screen and (max-width: 768px) {
    #gnavi {
        width: 100%;
        margin-bottom: 0;
        padding: 0 0 0 0;
    }
    #gnavi li ul li {
        min-width: unset;
    }
    #gnavi > ul > li {
        margin-bottom: 10px;
    }
    .fixed {
        min-width: 0;
        padding-bottom: 0 !important;
    }
}

/* -- フッター -- */
.footer_inner {
    width: 1020px;
    margin: 0 auto;
    padding: 30px 0 0 0;
    padding-left: 10px !important;
    padding-right: 10px !important;
}
.footer_img {
    width: 290px;
    height: 184px;
    float: left;
    margin: 20px 0 10px 0;
}
.footer_logo {
    width: 690px;
    float: right;
    text-align: center;
    margin: 20px 0 0 0;
}
.footer_navi {
    width: 100%;
    padding: 30px 0 30px 0;
    box-sizing: border-box;
    font-weight: normal;
    text-align: center;
    font-size: small;
}
.footer_navi ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.footer_navi ul li {
    display: inline-block;
}
.footer_navi ul li:after {
    content: "\00a0\00a0｜\00a0\00a0";
    font-weight: normal;
    color: #000;
}
.footer_navi ul li:last-child:after {
    content: none;
}
.footer_navi ul li a:link { color: #000; text-decoration: none; }
.footer_navi ul li a:visited { color: #000; text-decoration: none; }
.footer_navi ul li a:hover { color: #000; text-decoration: underline; }
.footer_navi ul li a:active { color: #000; text-decoration: underline; }
.copyright {
    clear: both;
    text-align: center;
    padding-bottom: 10px;
}
.footer_banner ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.footer_banner ul li {
    float: left;
    margin: 0 0 10px 20px;
    width: 180px;
}
.footer_banner ul li:nth-child(5n+1) {
    margin-left: 0;
}
.footer_info {
    line-height: 34px;
    margin: 0 0 30px 0;
    padding: 0;
    text-align: center;
    font-size: 0.9rem;
}
.footer_info div.inquiry {
    display: inline-block;
    background: #666;
    color: #fff;
    text-align: center;
    padding: 5px 20px;
    font-size: 0.9rem;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
}
.footer_info div.inquiry img {
    margin-right: 10px;
}
.footer_info div.inquiry a:link { color: #fff; text-decoration: none; }
.footer_info div.inquiry a:visited { color: #fff; text-decoration: none; }
.footer_info div.inquiry a:hover { color: #fff; text-decoration: underline; }
.footer_info div.inquiry a:active { color: #fff; text-decoration: none; }
.footer_info div.tel {
    border-bottom: 1px dashed #fff;
    display: inline-block;
    padding-bottom: 2px;
    margin-bottom: 2px;
}
.footer_info .btn_fb,
.footer_info .btn_tiktok,
.footer_info .btn_insta {
    display: inline-block;
    margin-left: 10px;
}
.footer_info .select_lang {
    display: inline-block;
    margin-right: 15px;
}
.footer_info a.lang:link { color: #727171; text-decoration: none; }
.footer_info a.lang:visited { color: #727171; text-decoration: none; }
.footer_info a.lang:hover { color: #727171; text-decoration: underline; }
.footer_info a.lang:active { color: #727171; text-decoration: none; }
@media screen and (max-width: 768px) {
    .footer_inner {
        width: 100%;
    }
    .footer_info {
        position: static;
        top: 0;
        right: 0;
        width: 100%;
        line-height: 34px;
        margin: 0 0 30px 0;
        padding: 0;
        text-align: center;
    }
}
.footer_info2 {
}
.footer_info2 > div {
    float: left;
    width: 33.33%;
    text-align: center;
    padding: 0 10px;
}
@media screen and (max-width: 768px) {
    .footer_info2 > div {
        float: none;
        margin-bottom: 50px;
        width: 100%;
    }
}

/* -- 見出し -- */
h1.style01,
h2.style01 {
    font-size: 1.6rem;
    font-weight: normal;
    line-height: 150%;
    margin: 0 0 20px 0;
    padding: 0;
}
h1.style01:before,
h2.style01:before {
    content: "■";
    color: #F39800;
    margin-right: 5px;
}
h1.style03 {
    font-size: 1.8rem;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    line-height: 150%;
    margin: 0 0 20px 0;
}
h1.style02,
h2.style02 {
    font-size: 1.4rem;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    line-height: 150%;
    margin: 0 0 20px 0;
}
h2.style03 {
    font-size: 1.5rem;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    line-height: 150%;
    margin: 0 0 20px 0;
}
h1.style_img,
h2.style_img,
h3.style_img,
h4.style_img,
h5.style_img {
    margin: 0 0 20px 0;
    padding: 0;
    overflow: hidden;
    border: none;
}
h1.style_img img,
h2.style_img img,
h3.style_img img,
h4.style_img img,
h5.style_img img {
    width: 100%;
}
h5.style_img2 {
    display: flex;
    align-items: center;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    font-size: 1.5rem;
    line-height: 120%;
}
h3.style01 {
    font-size: 1.3rem;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    line-height: 150%;
    margin: 0 0 20px 0;
}
h3.style03 {
    font-size: 1.2rem;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    line-height: 150%;
    margin: 0 0 20px 0;
}
h4.style_icon {
    margin: 0 0 20px 0;
    padding: 0;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    font-size: 1.5rem;
    line-height: 120%;
}
h4.style_icon01 {
    background: url(/img/icon_camera.png) no-repeat left top;
    min-height: 51px;
    margin: 0 0 20px 0;
    padding: 20px 0 0 64px;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    font-size: 1.5rem;
    line-height: 120%;
}
h4.style_icon02 {
    background: url(/img/icon_kazari.png) no-repeat left top;
    min-height: 110px;
    margin: 0 0 20px 0;
    padding: 20px 0 0 77px;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    font-size: 1.5rem;
    line-height: 120%;
}
h4.style_icon03 {
    background: url(/img/icon_sadou.png) no-repeat left top;
    min-height: 67px;
    margin: 0 0 20px 0;
    padding: 20px 0 0 81px;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    font-size: 1.5rem;
    line-height: 120%;
}
h4.style_icon span,
h4.style_icon01 span,
h4.style_icon02 span,
h4.style_icon03 span {
    font-weight: normal;
    font-size: 1.0rem;
    color: #727171;
    vertical-align: middle;
}
h5.style01 {
    display: inline-block;
    margin: 0 0 20px 0;
    padding: 5px 8px;
    font-size: 1.0rem;
}
.line {
    border-bottom: 1px solid #000;
}
.img_h {
    border: none;
}
img.icon {
    display: inline !important;
    vertical-align: middle !important;
    margin-left: 5px !important;
    box-shadow: none !important;
}
hr.style_img {
    background: url(/img/bg_hd_04.png) no-repeat 50% 50%;
    height: 100px;
    border: none;
}
@media screen and (max-width: 768px) {
    background: url(/img/bg_hd_04_sp.png) no-repeat 50% 50%;
}

/* -- ボタン -- */
a.btn01,
span.btn01 {
    display: inline-block;
    background: #fff;
    border: 1px solid #000;
    text-align: center;
    padding: 2px 20px;
    margin: 10px 0;
}
a.btn01:link { color: #000; text-decoration: none; }
a.btn01:visited { color: #000; text-decoration: none; }
a.btn01:hover { color: #000; text-decoration: underline; }
a.btn01:active { color: #000; text-decoration: none; }
a.btn03 {
    display: inline-block;
    border: 1px solid #000;
    background: #fff;
    color: #000;
    text-align: center;
    padding: 2px 20px;
}
a.btn03:link { color: #000; text-decoration: none; }
a.btn03:visited { color: #000; text-decoration: none; }
a.btn03:hover { color: #000; text-decoration: underline; }
a.btn03:active { color: #000; text-decoration: none; }

/* -- パンくず -- */
.pankuzu {
    clear: both;
    font-size: 0.8rem;
    margin: 0 0 20px 0 !important;
    color: #666;
    border-radius: 12px !important;
}
.pankuzu a:link { color: #666; text-decoration: none !important; }
.pankuzu a:visited { color: #666; text-decoration: none !important; }
.pankuzu a:hover { color: #666; text-decoration: underline !important; }
.pankuzu a:active { color: #666; text-decoration: underline !important; }

/* -- コンテンツ -- */
.main_image {
    margin: 0 auto 50px auto;
    width: 1020px;
    padding-left: 10px !important;
    padding-right: 10px !important;
    position: relative;
}
.main_image_txt {
    position: absolute;
    top: 35%;
    left: 50%;
    transform: translate(-50%);
    -webkit-transform: translate(-50%);
    -ms-transform: translate(-50%);
}
.main_image_btn {
    position: absolute;
    top: 75%;
    left: 50%;
    transform: translate(-50%);
    -webkit-transform: translate(-50%);
    -ms-transform: translate(-50%);
}
@media screen and (max-width: 768px) {
    .main_image {
        width: 100%;
    }
}

/* -- トップページ -- */
a.banner_news_list {
    display: block;
    text-align: center;
    border: 2px dashed #999;
    margin: 0 auto 50px auto;
    padding: 20px;
    width: 80%;
    line-height: 180%;
}
a.banner_news_list span {
    color: #f00;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    font-size: 1.2rem;
}
a.banner_news_list:link { color: #727171; text-decoration: none; }
a.banner_news_list:visited { color: #727171; text-decoration: none; }
a.banner_news_list:hover { color: #727171; text-decoration: underline; }
a.banner_news_list:active { color: #727171; text-decoration: none; }
ul.top_pr_banner {
    list-style: none;
    margin: 0 0 60px 0;
    padding: 0;
    text-align: center;
}
ul.top_pr_banner li {
    display: inline-block;
    margin-left: 30px;
    transition: all 0.2s;
    border: 1px solid #ccc;
}
ul.top_pr_banner li img {
    max-width: 293px;
    max-height: 118px;
}
ul.top_pr_banner li:first-child {
    margin-left: 0;
}
ul.top_pr_banner li:hover {
    border: 1px solid #f00;
    transform: scale(1.1, 1.1);
}
.top_lblk {
    width: 520px;
    float: left;
    margin: 0 0 50px 0;
}
.top_rblk {
    width: 300px;
    float: right;
    margin: 0 0 50px 0;
}
.top_gallery {
    margin-bottom: 80px;
}
.top_news {
    margin-bottom: 80px;
}

/* -- ぺージング -- */
div.paginator_num {
	text-align:center;
	font-size:18px;
        padding: 50px 0 0 0;
}
div.paginator_num span {
	display:inline-block;
	*display: inline;
	*zoom: 1;
	border:1px solid #aaa;
	height:25px;
	line-height:25px;
	min-width:25px;
	width: auto !important; /* for IE6 */
	width: 25px; /* for IE6 */
	text-align:center;
	vertical-align:middle;
}
div.paginator_num span.current {
	background:#fdf3f7;
	font-weight:bold;
        font-family: "リュウミン M-KL", serif !important;
}
div.paginator_num a {
	display:block;	
	height:25px;
	line-height:25px;
	padding:0 3px;
}

/* --- 件数表示＆並び替え --- */
div.page_data {
    float: left;
}
div.order {
    float: right;
    margin-bottom: 30px;
    padding-right: 5px;
    text-align: right;
}
div.order a {
    text-decoration: none;
}
div.order a.asc {
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
}
div.order a.asc:before {
    content: '▲';
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
}
div.order a.desc {
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
}
div.order  a.desc:before {
    content: '▼';
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
}
.jcon{
	margin-bottom:8px;
	padding:4px 8px;
	border:1px dashed #ccc;
}

/* --- リンク集 --- */
table.link {
	width: auto;
	margin: 0 0 50px 0;
}
table.link td {
	text-align:left;
	font-weight:normal;
	padding:8px 0;
	border-bottom:1px dashed #bd9366;
	line-height: 1.4em;
        font-size: small !important;
}
table.link ul {
	margin: 0.5em 0 0 30px;
	padding: 0;
        font-size: small !important;
	line-height: 1.4em;
}
table.link ul li {
	list-style-type: disc;
}
table.link p.address {
	margin: 0;
	padding: 0;
        font-size: small !important;
}

/* --- お知らせ --- */
a.category_icon,
span.category_icon,
a.subcategory_icon {
    display: inline-block;
    font-size: 0.7rem;
    line-height: 200%;
    margin-left: 0.5em;
    padding: 0.2em 0.5em 0.1em 0.5em;
    background: #000;
    color: #fff;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
    position: relative;
    top: -0.1em;
    vertical-align: middle;
}
a.category_icon:first-of-type,
span.category_icon:first-of-type,
a.subcategory_icon:first-of-type {
    margin-left: 0;
}
.bg_red {
    background: #f00 !important;
}
.bg_green {
    background: #5B8107 !important;
}
.bg_orange {
    background: #f63 !important;
}
@media screen and (max-width: 768px) {
    a.category_icon,
    span.category_icon,
    a.subcategory_icon {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        max-width: 100%;
    }
}
a.subcategory_icon {
    background: #00985a;
}
a.category_icon:link,
a.subcategory_icon:link { text-decoration: none; }
a.category_icon:visited,
a.subcategory_icon:visited { text-decoration: none; }
a.category_icon:hover,
a.subcategory_icon:hover { text-decoration: underline; }
a.category_icon:active,
a.subcategory_icon:active { text-decoration: none; }
ul.information_category_list {
    margin: 0 0 10px 0;
    text-align: center;
}
ul.information_category_list li {
    display: inline-block;
    margin: 0 0.5em 0.3em 0;
    padding: 0;
    list-style: disc;
    font-size: 0.8rem;
    clear: left;
    line-height: 150%;
}
ul.information_category_list li:last-child {
    margin-right: 0;
}
ul.information_category_list li a:link { color: #727171; text-decoration: none; }
ul.information_category_list li a:visited { color: #727171; text-decoration: none; }
ul.information_category_list li a:hover { color: #727171; text-decoration: underline; }
ul.information_category_list li a:active { color: #727171; text-decoration: none; }
ul.information_category_list li a.selected {
    text-decoration: none;
    color: #f00;
    border: 1px solid #f00;
}
ul.information_category_list li a.selected:link { color:#f00; }
ul.information_category_list li a.selected:visited { color:#f00; }
ul.information_category_list li a.selected:hover { color:#f00; text-decoration: underline; }
ul.information_category_list li a.selected:action { color:#f00; }

.top_news_list {
    margin: 0 0 30px 0;
    padding: 0 10px 0 0;
/*
    height: 200px;
    overflow-y: scroll;
*/
}
.top_news_list ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.top_news_list ul li {
    margin: 0;
    padding: 0.5em 0;
/*    border-bottom: 1px dashed #ccc;*/
}
.top_news_list ul li:first-child {
    padding-top: 0;
}
.top_news_list ul li:last-child {
    padding-bottom: 0;
    border-bottom: none;
}
.wn_date {
    width: 7.0em;
    padding: 0;
    line-height: 1.3em;
    font-size: 1.0rem;
}
.wn_title {
    margin: 0;
    padding: 0;
    line-height: 1.3em;
    font-size: 1.0rem;
}
.wn_title a:link { text-decoration: underline; }
.wn_title a:visited { text-decoration: underline; }
.wn_title a:hover { text-decoration: none; }
.wn_title a:active { text-decoration: underline; }
b.new {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    margin-left: 0.5em;
    color: #f00;
    font-size:11px;
}
.rp_icon {
    margin-left: 0.5em;
    vertical-align: middle;
}
.rp_icon2 {
    vertical-align: middle;
    margin-left: 5px;
}
img.info1 {
    float: left;
    margin: 0 10px 10px 0;
    width: 625px;
    
}
img.info2,
img.info3 {
    float: left;
    margin: 0 0 10px 0;
    width: 305px;
}
img.info1 {
    width: auto;
    max-width: 66.47%;
    margin: 0 1.42% 1.42vw 0;
}
img.info2,
img.info3 {
    width: auto;
    max-width: 32.11%;
    margin: 0 0 1.42vw 0;
}
.info_contents img {
    max-width: 100%;
}

/* --- お知らせ一覧（縦並び） --- */
.news_list {
    border-top: 1px dashed #ccc;
    padding: 15px 0;
}
.news_list_end {
    border-bottom: 1px solid #ccc;
}
.news_list p {
    margin: 10px 0 0 0;
    padding: 0;
    font-size: 13px;
}
.news_list_img_wrapper {
    width: 120px;
    height: 120px;
    text-align: center;
    border: 1px solid #ccc;
    float: left;
    margin-right: 20px;
    clear: both;
    position: relative;
    background: #fff;
}
.news_list_img_wrapper a {
    width: 120px;
    height: 120px;
    display: inline-block;
    vertical-align: middle;
}
img.news_list_img {
    width: auto;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
}
img.noimg {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
}
span.noimg {
    font-size: 100px;
    line-height: 118px;
    text-align: center;
    vertical-align: middle;
}
.news_list_content {
    width: 860px;
    float: left;
    margin-top: 2px;
}
@media only screen and (max-width: 768px) {
    .news_list_img_wrapper {
        width: 25%;
        height: 25%;
/*        float: none;
        margin: 0 auto;
        border: none;*/
        margin-right: 5%;
    }
    .news_list_img_wrapper a {
        width: 100%;
        height: 100%;
    }
    img.news_list_img,
    img.noimg {
        width: 100%;
        max-width: none;
        height: 100%;
/*        height: auto;*/
        max-height: none;
        border: 1px solid #ccc;
    }
    .news_list_content {
/*        width: auto;*/
        width: 65vw;
/*        float: none;
        margin-top: 10px;*/
        margin-top: 0;
    }
    span.noimg {
        font-size: 20vw;
        line-height: 25vw;
        text-align: center;
        vertical-align: middle;
    }
}

/* --- 表 --- */
table.style01 {
    border-collapse: separate;
    border-spacing: 0 10px;
}
table.style01 th {
    border: none;
    background: #F39800;
    text-align: left;
    vertical-align: middle;
    padding: 8px 15px;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
}
table.style01 td {
    border: none;
    background: #C8C9CA;
    text-align: left;
    vertical-align: middle;
    padding: 8px 15px;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
}
table.style01 td span {
    display: inline-block;
}
table.nb,
table.nb th,
table.nb td {
    border: none;
    padding: 0;
    line-height: 1.8em;
}

/* --- スライダー --- */
.slick-next { right: 15px !important; }
.slick-prev { left: 15px !important; z-index: 1000; }
#slide_main img.slide_img {
  transform-origin: center top;
  transform: scale(1.1);
  transition: 5s ease-out;
    object-fit: cover;
    object-position: 50% 50%;
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 768px) {
    #slide_main img.slide_img {
        transform-origin: center center;
        transform: scale(1.15);
    }
}
#slide_main .slick-active img.slide_img {
  transform: scale(1.0);
}
#slide_main {
    width: 100%;
    margin: 0 auto;
}
#slide_main img {
    width: 100%;
}
.slick-slide {
    min-height: 500px !important;
}
.slick-slide {
    height: 100vh !important;
}
.slide_dummy {
    z-index: -1;
    height: 100vh !important;
}
.slide_wrapper {
    position: absolute;
    width: 100%;
    min-width: 1020px;
    top: 0;
}
.slide_wrapper .cc1,
.slide_wrapper .cc2,
.slide_wrapper .cc3,
.slide_wrapper .cc4,
.slide_wrapper .cc5 {
    position: absolute;
}
.slide_wrapper .cc1,
.slide_wrapper .cc2 {
/*
    font-family: "Ryumin Medium KL", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
*/
}
.slide_wrapper .cc1 {
    top: 50%;
    left: 10%;
    transform: translateX(-10%) translateY(-50%);
    -webkit-transform: translateX(-10%) translateY(-50%);
    -ms-transform: translateX(-10%) translateY(-50%);
    color: #fff;
    text-shadow: rgba(0, 0, 0, 0.5) 1px 1px 15px
               , rgba(0, 0, 0, 0.5) -1px -1px 15px
               , rgba(0, 0, 0, 0.5) -1px 1px 15px
               , rgba(0, 0, 0, 0.5) 1px -1px 15px
               , rgba(0, 0, 0, 0.5) 0px 1px 15px
               , rgba(0, 0, 0, 0.5) 0 -1px 15px
               , rgba(0, 0, 0, 0.5) -1px 0 15px
               , rgba(0, 0, 0, 0.5) 1px 0 15px !important;
    font-size: 2.7rem;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    line-height: 120%;
    text-align: left;
    width: 50%;
    padding: 30px 0;
}
.slide_wrapper .cc1 span {
    font-size: 2.7rem;
}
.slide_wrapper .cc1 div {
    padding-top: 30px;
    color: #fff;
    text-shadow: #000 1px 1px 15px
               , #000 -1px -1px 15px
               , #000 -1px 1px 15px
               , #000 1px -1px 15px
               , #000 0px 1px 15px
               , #000 0 -1px 15px
               , #000 -1px 0 15px
               , #000 1px 0 15px !important;
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 200%;
}
.slide_wrapper .cc2 {
    bottom: 50px;
    right: 50px;
    filter: drop-shadow(0 0 5px rgba(255, 255, 255, 1.0));
    width: 35%;
    text-align: right;
    opacity: 0.9;
}
.slide_wrapper .cc2 img {
    display: inline !important;
    width: auto !important;
    max-width: 100%;
}
.slide_wrapper .cc3 {
    bottom: 8%;
    left: 8%;
    filter: drop-shadow(0 0 5px #000);
}
.slide_wrapper .cc4 {
    top: 8%;
    left: 8%;
    filter: drop-shadow(0 0 5px #000);
}
.slide_wrapper .cc5 {
    bottom: 8%;
    right: 8%;
    filter: drop-shadow(0 0 5px #000);
}
.slick-prev {
    left: 25px !important;
    z-index: 100 !important;
    width: 17px !important;
    height: 42px !important;
}
.slick-next {
    right: 25px !important;
    width: 17px !important;
    height: 42px !important;
}
.slick-dots {
    bottom: -35px !important;
}
@media screen and (max-width: 768px) {
    .slide_wrapper {
        min-width: 0;
    }
    .slick-slide {
        min-height: 300px !important;
    }
    .slick-arrow {
        display: none !important;
    }
    .slide_wrapper .cc1 {
        left: 50%;
        top: 60%;
        transform: translateX(-50%) translateY(-50%);
        -webkit-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
        font-size: 1.8rem;
        width: 80%;
        line-height: 150%;
    }
    .slide_wrapper .cc1 span {
        font-size: 1.8rem;
    }
    .slide_wrapper .cc2 {
        width: 60%;
    }
    .slide_wrapper .cc1 div {
        display: none;
    }
}

/* --- 会社概要 --- */
.gmap_l {
    border: 1px solid #ccc;
    width: 100%;
    height: 450px;
    margin-bottom: 50px;
}


/* --- Googleマップ --- */
.gmap {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    border: 1px solid #ccc;
}
.gmap iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}


/* --- ギャラリー --- */
.gallery ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.gallery ul li {
    float: left;
    width: 30%;
    margin-left: 5%;
    margin-bottom: 20px;
}
.gallery ul li a {
    width: 100%;
}
.gallery ul li a img {
}
.gallery ul li:nth-child(3n-2) {
    clear: both;
    margin-left: 0;
}
.gallery ul li > a {
    display: block;
}
.highslide-caption {
    font-size: 1.0rem !important;
}
.highslide-caption h2 {
    font-size: 1.2em;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    margin-bottom: 5px;
}
@media screen and (max-width: 768px) {
    .gallery ul li,
    .gallery ul li:nth-child(3n-2) {
        clear: none;
        margin-left: 2%;
    }
    .gallery ul li {
        width: 49%;
        height: auto;
    }
    .gallery ul li a {
        width: 100%;
        height: 100%;
    }
    .gallery ul li:nth-child(2n-1) {
        clear: both;
        margin-left: 0;
    }
}

/* --- ヘッダー半透明 --- */
#header {
    width: 100%;
    min-width: 1020px !important;
    background: rgba(255,255,255,0.5);
    z-index: 2000;
}
.header2 {
    width: 1020px !important;
    background: #fff !important;
}
@media screen and (max-width: 768px) {
    #header {
        min-width: 0 !important;
    }
    .header2 {
        width: 100% !important;
    }
}

/* --- parallax --- */
.parallax-mirror {
    z-index: 100 !important;
}
.parallax-window {
    height: 800px;
    background: transparent;
}
.parallax-slider {
    top: 0;
    left: 0;
}
.parallax-wrapper{
    position: relative;
}
/*
@media screen and (max-width: 768px) {
    .parallax-window {
        background-repeat: no-repeat;
        background-size: contain !important;
    }
}
*/

/* --- Youtube埋め込み --- */
.youtube {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
    padding-bottom: 56.25%;
    height: 0px;
    position: relative;
}
.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
@media screen and (max-width: 768px) {
    .youtube {
        width: 100%;
    }
}

/* ページ画像 */
.page_image {
    position: relative;
    width: 100%;
}
.page_image img {
    object-fit: cover;
    object-position: left top;
    width: 100%;
    height: 100%;
}
.page_image .cc1 {
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-37.5%) translateY(-50%);
    -webkit-transform: translateX(-37.5%) translateY(-50%);
    -ms-transform: translateX(-37.5%) translateY(-50%);
}
.page_image .cc1 img {
    filter: drop-shadow(0 0 5px #000);
    width: 75%;
}
.page_image .cc2 {
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    filter: drop-shadow(0 0 5px #000);
    white-space: nowrap;
    font-size: 2.5rem;
}
@media screen and (max-width: 768px) {
    .page_image .cc1 {
        display: none;
    }
    .page_image .cc2 {
        font-size: 1.2rem;
    }
}

dl.style01 {
    width: 80%;
    margin: 0 auto 50px auto;
}
dl.style01 dt {
    font-size: 1.5rem;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    line-height: 150%;
    margin: 0 0 10px 0;
    text-indent: -1em;
    padding-left: 1em;
}
dl.style01 dt:before {
    content: "■";
}
dl.style01 dd {
    margin-bottom: 20px;
}

/* お知らせ */
.news {
    display: flex;
    justify-content: center;
}
.news .date {
    width: 8.0em;
    flex-shrink: 0;
}
.news .title {
    width: 500px;
}

/* --- フォーム --- */
table.form1 {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}
table.form1 th {
    text-align: center;
    padding: 5px 10px;
    vertical-align: middle;
    width: 8.0em;
    background: #fdf3f7;
    border: 1px solid #ccc;
}
table.form1 td {
    vertical-align: middle;
    padding: 10px 10px;
    background: #fff;
    border: 1px solid #ccc;
}
.required_input {
    background-color: rgba(255, 62, 62, .1);
    border: 1px solid #999;
}
table.form1 input,
table.form1 select,
table.form1 textarea,
.form_item input,
.form_item select,
.form_item textarea {
    border: 1px solid #CCC;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    padding: 5px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2) inset;
    font-size: small;
}
.error-message {
    background: #f30;
    margin: 5px 10px 0 0;
    padding: 2px 4px;
    color: #fff;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    font-size: small;
}
span.required {
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    color: #f00;
}
.sbs {
    display: flex;
    justify-content: center;
}
.sbs_item {
    width: 100%;
    text-align: center;
    margin-bottom: 50px;
}
.sbs_item_harf {
    width: 50%;
    text-align: center;
    margin-bottom: 50px;
}
.sbs img,
.sbs_item_harf img {
    width: auto;
    max-width: 100%;
    margin-bottom: 10px;
}
.sbs_item p {
    padding-left: 10px;
    padding-right: 10px;
}
@media screen and (max-width: 768px) {
    .sbs {
        display: block;
    }
    .sbs_item,
    .sbs_item_harf {
        width: 100%;
        text-align: center;
        margin-bottom: 0;
    }
    .sbs img,
    .sbs_item_harf img {
        width: auto;
        max-width: 100%;
    }
}

/* --- アクセスマップ --- */
.access_map {
    height: 0;
    overflow: hidden;
    padding-bottom: 44.44%;
    position: relative;
    border: 1px solid #ccc;
    width: 100%;
    height: 300px;
    box-sizing: border-box;
}
.access_map iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: rgba(255, 255, 255, 0.5);;
    border: solid 1px #666;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    box-shadow: 0 2px 10px -6px rgba(0,0,0,.5), 0 3px 10px -4px rgba(0,0,0,.2);
}
.pagetop_arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #333;
    border-right: 3px solid #333;
    transform: translateY(20%) rotate(-45deg);
}
.hide {
    display: none;
}

/* メニュー関連 */
.course_menu_detail {
    margin: 0 0 10px 0;
    padding: 10px;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(204, 204, 204);
    border-image: initial;
    background: rgb(255, 255, 255);
}
.course_menu_title {
    font-size: 1.2rem;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    line-height: 150%;
    margin: 0;
}
.course_menu_content {
    
}
.time_price_wrapper {
    margin-bottom: 50px;
}
.time_price {
    display: inline-block;
    width: calc((100% - 20px) / 3);
    margin: 0 0 10px 10px;
    padding: 10px;
    border: 1px solid #ccc;
    background: #fff;
    min-height: 100px;
    vertical-align: top;
}
.time_price:nth-of-type(3n -2) {
    margin-left: 0;
}
.shop_menu h3,
.shop_menu h4 {
    font-size: 1.3rem;
    font-weight: bold;
    font-family: "リュウミン M-KL", serif !important;
    line-height: 150%;
    margin: 0 0 20px 0;
}
.shop_menu h3:before,
.shop_menu h4:before {
    content: "■";
    color: #F39800;
    margin-right: 5px;
}
hr.style01 {
    border: none;
    border-top: 2px dashed #ccc;
}
hr.style02 {
    border: none;
    border-top: 1px dashed #ccc;
}
@media screen and (max-width: 768px) {
    .course_menu_image {
        float: none;
        width: 100%;
        margin: 0 0 20px 0;
        text-align: center;
    }
    .course_menu_detail {
        float: none;
        margin: 0 0 20px 0;
        width: 100%;
    }
    .time_price {
        display: block;
        width: 100%;
        margin: 0 0 10px 0;
        padding: 10px;
        border: 1px solid #ccc;
        background: #fff;
        min-height: unset;

    }
    h2.fsz_xxlarge,
    h3.fsz_xxlarge,
    h4.fsz_xxlarge {
        font-size: 1.6rem !important;
    }
    h2.fsz_xlarge,
    h3.fsz_xlarge,
    h4.fsz_xlarge {
        font-size: 1.4rem !important;
    }
}

ul.color01 li {
    color: #455C28 !important;
}

ul.category01 {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
    font-size: 0;
}
ul.category01 li {
    display: inline-block;
    margin: 0 0 5px 5px;
    font-size: 0.8rem;
    border: 1px solid #aaa;
    border-radius: 20px;
    padding: 8px 20px;
    background: #fff;
    color: #000;
    text-decoration: none;
    overflow: hidden;
    line-height: 1.0em;
}
ul.category01 li:first-of-type {
    margin-left: 0;
}
@media screen and (max-width: 768px) {
}

/* SNSアイコン */
.sns_icon {
    line-height: 50px;
    margin: 0;
    padding: 0;
    text-align: center;
    font-size: 0.9rem;
}
.sns_icon > div {
    display: inline-block;
    margin-left: 30px;
}
.sns_icon > div:first-of-type {
    display: inline-block;
    margin-left: 0;
}
@media screen and (max-width: 768px) {
    .sns_icon > div {
        width: 20%;
        margin-left: 5%;
    }
}

/* アコーディオン */
.accordion {
  overflow: hidden;
  margin-bottom: 0px;
}
.accordion-header {
  background-color: #f5f5f5;
  cursor: pointer;
  padding: 12px 16px;
  font-weight: bold;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
  text-align: left;
}
.accordion-header:hover {
  background-color: #eee;
}
.accordion-title {
  flex-grow: 1;
  text-align: left;
}
.accordion-icon {
  font-size: 18px;
  transition: transform 0.3s ease;
}
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease-in-out;
  background-color: transparent;
  padding: 0 16px;
  margin-top: 30px;
}
.accordion-content.open {
  padding: 0 16px;
}
