@charset 'utf-8';

.header_wrap { width:1080px; margin:0px auto; padding: 10px 0;display:flex; justify-content:space-between; flex-wrap:wrap; }
.header_texts { width:auto; display:flex; justify-content:left; align-items:end; }
.header_text { width:auto; margin:0 0 0 20px; line-height:1.5; font-size: 12px;}
.header_right { display:flex; align-items:center; }
.headerLogo { width:220px; }
.headerLogo img { width:100%; }
.header_link { margin-right:30px; transition:0.3s; }
.header_link:hover { opacity:0.6; transition:0.3s; }
header .fa-caret-right { margin-right:5px; font-size:12px; }
header .fa-arrow-up-right-from-square { margin-left:5px; }
.icon { margin:0 20px 0 0; display:block; text-align:center; transition:0.3s; }
.icon:hover { opacity:0.6; transition:0.3s; }
.icon_img_wrap { width:48px; height:38px; position:relative; }
.icon_img { padding:0 5px 5px 5px; }
header .C_JOKEN .icon_img i { color:#5A89B9; font-size:28px; line-height:1.2; }
header .C_BUKKEN .icon_img i { color:#FF5C5C; font-size:28px; line-height:1.2; }
.icon_text { width:20px; height:20px; display:block; border-radius:50%; background:#0A3F67; color:#fff; text-align:center; vertical-align:middle; position:absolute; bottom:0; right:0; font-size:10px; line-height:20px; }
/*header .C_JOKEN .icon_text { background-color:#5A89B9; }*/
/*header .C_BUKKEN .icon_text { background-color:#FF5C5C; }*/
.icon small { font-size:12px; line-height:1.2; }
.header_contact { width:auto; height:35px; padding:0 10px; background:#D51315; border-radius:5px; color:#fff; line-height:35px; transition:0.3s; }
.header_contact:hover { opacity:0.6; transition:0.3s; }
.menu ul li.sp { display:none; }
@media screen and (max-width: 1120px) {
    .header_wrap { width:95%; }
    .header_right { margin-right:50px; }
    .headerLogo { width:150px; }
    .header_link { display:none; }
    .icon { margin:0 5px 0 0; }
    .icon_img_wrap { width:40px; height:36px; }
    .icon_img { padding:0 0 5px 0; }
    .icon_img .fa-solid { font-size:24px; line-height:1.2; }
    .header_contact { display:none; }
    .menu ul li.sp { display:inline-block; }
}

.mb { display:none; }
@media screen and (max-width: 1120px) {
    .mb { display:block; width:40px; height:40px; padding:0; position:fixed; z-index:10; right:2.5%; top:10px; cursor:pointer; background:#fff; border-radius:5px; }
    .mb span { display:block; width:20px; height:2px; margin:18px auto 0 auto; background:#000; position:relative; }
    .mb span:before,.mb span:after { content:""; display:block; width:20px; height:2px; background:#000; position:absolute; transition:0.4s; }
    .mb span:before { margin:-10px 0 0 0; }
    .mb span:after { margin:10px 0 0 0; }
    .mb__open span{ background:transparent; }
    .mb__open span:before { top:6px; right:6px; transform:rotate(-45deg) translateY(8px); background:#000; }
    .mb__open span:after { top:-3px; left:6px; bottom:auto; transform: rotate(-135deg) translateX(8px); background:#000; }
}

.menu	{ width:100%; height:100%; padding:10px 0; }
.menu ul { width:1080px; display:flex; margin:0 auto; justify-content: space-between;}
.menu ul li { width:auto; }
.menu ul li a { display:block; font-weight:bold; }
.menu ul li a .menu_border { width:30px; display:block; margin:0 auto; border-bottom:3px solid rgba(255,255,255,0); transition:0.3s; }
.menu ul li a:hover .menu_border { border-bottom:3px solid #FED631; transition:0.3s; }
.menu ul li .menu_sp { display:none; }
.menu ul li .menu_sub { display:none; height:0; background:#f2f2f2; opacity:0; transition:0.3s; }

@media screen and (max-width: 1120px) {
    .menu	{ width:100%; height:100%; opacity:0; transition:0.4s; margin:0 0 0 200%; padding:50px 0 70px 0; background:rgba(255,255,255,0.9); position:fixed; top:0; left:0; overflow-y:scroll; z-index:5; box-sizing:border-box; }
    .menu__open	{ opacity:1; transition:0.4s; margin:0; }
    .menu ul { width:100%; display:flex; flex-direction:column; }
    .menu ul li	{ width:100%; border-top:1px solid #ccc; overflow:hidden; }
    .menu ul li a	{ display:block; width:100%; padding:15px 5%; font-size:14px; line-height:1.2em; position:relative; color:#000; box-sizing:border-box; }
    .menu ul li a.menu_pc	{ display:none; }
    .menu ul li a .menu_border { border-bottom:none; }
    .menu ul li a:hover .menu_border { border-bottom:none; }
    .menu ul li span	{ display:block; width:100%; padding:15px 5%; font-weight:bold; font-size:14px; line-height:1.2em; position:relative; color:#000; box-sizing:border-box; }
    .menu ul li span.menu_sp { display:block; cursor:pointer; }
    .menu ul li span.menu_sp i.fa-plus { font-size:20px; position:absolute; top:15px; right:15px; transition:0.3s; }
    .menu ul li span.menu_sp__open i.fa-plus { transform:rotate(45deg); transition:0.3s; }
    .menu ul li .menu_border { height:100%; padding:0; border-left:4px solid #fff; position:absolute; top:0; left:0; }
    .menu ul li .menu_sub__open { display:block; height:auto; opacity:1; transition:0.3s; }
    .menu ul li a .fa-caret-right { margin-left:10px; }
    
}

.submenu	{ width:100%; height:100%; padding:20px 0; background:#f2f2f2; }
.submenu ul { width:1080px; display:flex; justify-content:left; margin:0 auto; }
.submenu ul li { margin:0 20px 0 0; border-right:1px solid #000; line-height:1.2; }
.submenu ul li:last-child { border-right:none; }
.submenu ul li a { margin:0 20px 0 0; font-weight:bold; line-height:1.2; }
.submenu ul li a:hover { background:#FED631; }
@media screen and (max-width: 1120px) {
    .submenu	{ display:none; }
}

.bread { display:flex; flex-wrap:wrap; width:1080px; margin:0 auto; padding:5px 0; }
.bread_link a:hover{ text-decoration:underline; }
.bread_arrow{ margin:0 10px; }
@media screen and (max-width: 1120px) {
    .bread { width:95%; line-height:1.5; margin-bottom:30px; }
}
