@charset "UTF-8";
* {
    box-sizing: border-box;
}
body{
	text-align:left;
}


h1, h2, h3, h4, h5, h6{
    font-weight:bold;
    font-family:"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro W3", Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
}
h1{
    line-height:1.7;
}

.nav-category-slide{
    text-align:center;
    z-index:1000;
}

section{
	margin-left:2vw;
	margin-right:2vw;
}

.font-weight-normal{
	font-weight:normal;
}

@font-face {
    font-family: 'Oswald';
    src: url("/share/fonts/Oswald-Regular.ttf");
    font-weight: 500;
}

@font-face {
    font-family: 'Oswald';
    src: url("/share/fonts/Oswald-Light.ttf");
    font-weight: 300;
}

@font-face {
    font-family: 'Oswald';
    src: url("/share/fonts/Oswald-Bold.ttf");
    font-weight: 700;
}

/*img:not(.original-size ) {
    width: 100%;
}*/

.container {
    width: auto;
}

/*link arrow*/
.txtLink{
	display:inline-block;
	padding-left:1.25em;
}
.txtLink >i:first-child{
	color:#ea282a;
	font-size:1.25em;
	vertical-align:middle;
	margin-left:-1.25em;
}
.txtLink2{
	position:relative;
	padding-right:2em;
	display:inline-block;
}
.txtLink2 >i:first-child{
	color:#ea282a;
	vertical-align:middle;
	position:absolute;
	right:0;
}


@media screen and (min-width:950px) {
    img :not(.original-size){width : auto ;}
}
/*.heading style*/
	.h3_1co, .h3_3co {
	background: #c52223;
	color: #FFF;
	text-align: center;
	padding: 10px 0 8px 0;
	font-weight: bold;
	margin: 0 0 10px 0;
	font-size: 18px;
	line-height: 1.3;
	text-indent: 0;
		border:none;
}
[class*="h3_1co"] .sml,
[class*="h3_3co"] .sml {
    font-size: 66.67%;
}
	.h4_offLink {
		padding: 11px 0 11px 10px;
		font-weight: bold;
		margin: 0 10px 15px 0px;
		font-size: 18px;
		border-left: 5px solid #c52223;
		text-align: left;
		line-height: 1.3;
		background: none;
	}
.bgOn:before,
.bgOff::before,
	.bgOof::before{
		content:"";
		width:0.3em;
		height:0.3em;
		display: inline-block;
	border:solid 4px #c52223;
		border-radius: 100%;
		vertical-align: middle;
		margin-right: 0.3em;		
	}

.bgOof{
	text-align:left;
	padding:0;
	margin-bottom:0.5em;
}

.heading_style1 {
    font-weight: normal;
    font-size: calc(3vw + .714rem);
    letter-spacing: 0.4em;
    text-align: center;
    font-weight: normal;
    color: #ffffff;
}

.heading_style1  > .sub{
    display:block;
    font-size: 60%;
    letter-spacing: 0.1em;
    margin-bottom:0.5em;
}

.heading_style1:after {
    width: 1.5em;
    background: #ffffff;
    content: "";
    display: block;
    height: 1px;
    margin: 0.8em auto 1em;
}

.heading_style2 {
    font-size: 106%;
    border-bottom: solid 1px #dddddd;
    margin-bottom: 1.5em;
    padding-bottom: 0.5em;
}

.heading_style2::before {
    content: "";
    display: inline-block;
    width: 0.8em;
    height: 3px;
    background: #c52223;
    vertical-align: middle;
    margin-right: 0.3em;
}

.heading_style3 {
    font-size: 143%;
    padding-bottom: 1em;
    background-size: 10% 2px;
    background-image: linear-gradient(#5f5f5f, #5f5f5f);
    background-repeat: no-repeat;
    background-position: 0 100%;
    margin-bottom: 1em;
}

.font-oswald {
    font-family: Oswald;
    font-weight: 300;
}

.bt_type1 {
    display: block;
    padding: 0.8em;
    text-align: center;
    width: 80%;
    margin: 1em auto;
    position: relative;
    max-width: 400px;
    text-decoration: none;
}

.bt_type1 i {
    position: absolute;
    right: 0;
}

.bt_type1.black {
    color: #ffffff;
    background-color: #000000;
}

.bt_type1.black i {
    color: #235738;
}

.bt_type1.green {
    background-color: #c52223;
    color: #ffffff;
}

.bt_type2 {
    background-color: #e1dfe0;
    border-radius: 5px;
    padding: 0.8em;
    display: block;
    position: relative;
}

.bt_type2 i {
    position: absolute;
    right: 0.1em;
    color: #c52223;
    top:calc(50% - 0.5em);
}

.arrow_l {
    position: relative;
}

.arrow_l::before, .arrow_l::after {
    content: "";
    width: 2px;
    height: 20px;
    display: inline-block;
    background: #ffffff;
    position: absolute;
    left: 0;
}

.arrow_l::before, .arrow_l::after {
    content: "";
    width: 2px;
    height: 1rem;
    display: inline-block;
    background: #ffffff;
    position: absolute;
    top: 0;
}

.arrow_l.arrow_prev::before {
    left: 0;
    transform-origin: bottom left;
    transform: rotate(45deg);
}

.arrow_l.arrow_prev::after {
    left: 0;
    transform-origin: bottom left;
    transform: rotate(135deg);
}

.arrow_l.arrow_next::before {
    right: 0;
    transform-origin: bottom right;
    transform: rotate(-45deg);
}

.arrow_l.arrow_next::after {
    right: 0;
    transform-origin: bottom right;
    transform: rotate(-135deg);
}

.border-1px-bottom-ccc{
	border-bottom:solid 1px #cccccc;
}
.border-1px-top-ccc{
		border-top:solid 1px #cccccc;
}


.frame_style1 {
    background-color: #eeeced;
    margin: 1vh 3vw;
    text-align: center;
    padding: 2vh;
}
/*-----related_link----*/

.relatedLink{
	border:solid 1px #cccccc;
	
}
.relatedLink .related_ttl{
	border-top:solid 3px #c52223;
	padding:10px 18px 0;
	position:relative;
}
.relatedLink .related_ttl::before,
.relatedLink .related_ttl::after{
	content:"";
	display:inline-block;
	position:absolute;
}

.relatedLink .related_ttl::before{
	width:0px;
	height:0px;
	border-width:8px;
	border-style:solid;
	border-color:transparent transparent #c52223 transparent ;
	left:-10px;
	top:1px;
	transform-origin:top left;
	transform:rotate(-45deg);
}
.relatedLink .related_ttl::after{
	width:2px;
	height:2px;
	background:#ffffff;
	top:3px;
	left:3px;
}

.relatedLink ul{
	border-top:dotted 1px #cccccc;
	margin: 10px 14px 0px;
	padding: 10px 0 0;
}


/*-----menu----*/
.menu_list {
    border-top: solid 1px #c52223;
    color: #c52223;
    position:relative;
    z-index:300;
}

.menu_list .menu_items {
    background-color: #f9d3d3;
    font-weight: bold;
}

.subcategory .menu_list .menu_items{
overflow:hidden;
max-height:0;
transition:max-height 0.2s;
}
.subcategory .menu_list .menu_items.active{
    max-height:200vh;
    transition-duration:1s;
}

.menu_list .l4 > a{
    display:block;
}



.menu_list .l4 > a,
.menu_list .l5 {
    text-decoration:none;
    padding: 1em 1.5em;
    border-style: solid;
    border-color: #383838;
    border-width: 0 0 1px;
    color: #ffffff;
    position: relative;
    font-weight: normal;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-image: linear-gradient(to right bottom,#292929 0%, #292929 100%, transparent 101%, transparent 200%);
    transition: background-size 0.5s;
    text-align:left;
}

.menu_list .open .l5 {
	border-bottom:0px !important;
}

.menu_list .active{
    background-color: #311b1b;
    color: #ff5354 !important;
}

.menu_list .open .l5{
    background-color:#f9d3d3;
    color: #c52223;
    background-size: 100% 0%;
}

.menu_list .l4 i,
.menu_list .l5 i {
    position: absolute;
    color: #c52223;
    top: calc(50% - 0.5em);
    right: 0.5em;
    transform: scaleX(0.8);
}
.menu_list .l4 i{
	font-size:3em;
	right:0.1em;
	transform: scaleX(0.8);
}

body.index .menu_list .l4 i{
	display:none;
}

i.close {
    display: none;
}

.open i.menu {
    display: none;
}

.open i.close {
    display: inline-block;
    transform: scaleX(1);
}

.menu_list .l5-cnt {
    font-weight: bold;
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.25s;
}

.menu_list .open .l5-cnt {
    max-height: 200vh;
    padding-bottom: 1em;
    position: relative;
    transition-duration:0.5s;
    background: #f9d3d3;
}

.menu_list .l5-cnt .bt_close {
    display: none;
}

.menu_list .l5-cnt div>a {
    padding: 1em 1em;
    display: block;
    color: #c52223;
    font-size: 103%;
    background-color: #ffffff;
    margin: 0 2vw;
}

.menu_list i {
    vertical-align: middle;
}

.menu_list .l5-cnt li>a {
    display: block;
}

.menu_list .l5-cnt .col-left>a>i {
    font-size: 0.7em;
    padding: 0.1em;
    background-color: #000000;
    margin-right: 0.5em;
}

.menu_list .l5-cnt div>ul {
    margin: 0 2vw;
    padding: 0 2vw 0;
    background-color: #ffffff;
}

.menu_list .l5-cnt div:last-of-type>ul {
    padding-bottom: 2vw;
}

.menu_list .l5-cnt div>ul>li {
    border-bottom: solid 1px #ffffff;
    font-size: 92%;
}

.menu_list .l5-cnt ul>li>a {
    color: #c52223;
    position: relative;
    padding: 0.75rem 0.5rem 0.75rem 3em;
    background-color: #e5eee9;
    position: relative;
}

a {

}

.menu_list .l5-cnt ul>li>a>i {
    vertical-align: middle;
    font-size: 1.2em;
    margin-right: 0.1em;
    margin-left: -2em;
}

.menu_list .l5-cnt div>ul>li>ul>li {
    font-weight: normal;
}

.menu_list .l5-cnt div>ul>li>ul>li>a {
    background-size: 96% 1px;
    background-image: linear-gradient(#f9d3d3, #f9d3d3);
    background-repeat: no-repeat;
    background-position: center top;
    font-size: 86%;
}

.slick-dots {
    position: relative !important;
}

.slick-dots li, .slick-dots li button, .slick-dots li button:before {
    width: 8px !important;
    height: 8px !important;
}

.slick-dots li button:before {
    background: #f9d3d3 !important;
}

.slick-dots li.slick-active button::before {
    background: #c52223 !important;
}

#breadcrumb div a {
/*    color: #d1d1d1 !important;*/
}

.page_top a {
    z-index: 1000;
}

@media screen and (orientation: landscape) {
    .heading_style1 {
        text-align: left;
    }
    .heading_style1:after {
        /*margin: 0.5em 0 0.8em 0;*/
        margin: 0.5em 0 0.1em 0;
        height: 2px;
        width: 1em;
    }
}



.mainvisual-container {
    height: auto;
    margin-bottom: 0;
}


@media screen and (orientation: landscape) {
    .heading_style1:after {
        /*margin: 0.5em 0 0.8em 0;*/
        margin: 0.5em 0 0.1em 0;
        height: 2px;
        width: 1.3em;
    }
}

@media screen and (min-width:950px) {
    .container {
        max-width: 950px;
    }
    section{
    	margin-left:0;
    	margin-right:0;
    }
.h3_1co,.h3_3co{
    background:transparent linear-gradient(#f5f5f5,#ffffff);
    color:#333333;
    text-align:left;
    border:solid 1px #cccccc;
    margin-top:20px;
    margin-bottom:20px;
    border-radius:5px 5px 0 0 ;
    box-shadow:inset 0 0 1px 2px #ffffff;
    padding:0.75rem 1.5rem;
    font-size:1.75rem;
    border-bottom:solid 3px #c52223;
}
[class*="h3_1co"] .sml,
[class*="h3_3co"] .sml{
    margin-bottom:0.5em;
    display:inline-block;
}

.h4_offLink{
	border:solid 1px #cccccc;
	margin-left:0 !important;
	border-radius:3px;
	background-image:linear-gradient(#ffffff,#f8f8f8);
	box-shadow:0 1px 2px #cccccc;
	position:relative;
	padding-left:1.6rem;
	font-size:1.4rem;
	margin-right: 0;
}
.h4_offLink::before{
	content:"";
	height:80%;
	width:4px;
	display:inline-block;
	position:absolute;
	background:#c52223;
	left:0.75rem;
	top:0;
}

.h4_offLink .txtLink2{
	display:block;
}

    .heading_style1 {
    font-size: 2.4rem;
    }
    #middle_menu {
        background: #292929;
        border-top: none;
        border-bottom: solid 2px #c52223;
    }
    #middle_menu .l4 {
        padding-left: 0;
        padding-right: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        border-left: solid 1px #e6e6e7;
        border-right:solid 1px #e6e6e7;
    }
        #middle_menu .l4 > a:hover,
    #middle_menu .l5:hover {
        color: #ff5354;
    }
    #middle_menu>.container {
        position: relative;
        width: 960px;
        max-width: 960px;
    }

#middle_menu .menu_items > li{
            border-right: solid 1px #e6e6e7;
}



.subcategory #middle_menu .menu_items{overflow:visible;max-height:100%;transition:unset;}

    #middle_menu ul {
        flex-wrap: nowrap;
    }
        #middle_menu .l4 , #middle_menu .menu_items li .l5 {
    text-decoration:none;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    height: 100%;
    cursor: pointer;
    font-size: 0.87rem;
    padding:1em;
    background-image: linear-gradient(125deg,#292929 0%, #292929 96%,#e6e6e7 97%,#e6e6e7 100%, transparent 101%, transparent 200%);
    font-weight:bold;
    }
#middle_menu .l4 {
	padding:0;
}
#middle_menu .l4 >a {
	padding:1.6rem 1em;
	display:block;
	font-weight:bold;
    text-align: center;
}
#middle_menu #menuLNG >a {
    padding: 0.9rem 1em !important;
}

.menu_list .l4 > a, .menu_list .l5{
border-bottom:none !important;
}

    #middle_menu .l5-cnt {
        display: none;
        position: absolute;
        padding-top: 1rem;
    }
    #middle_menu .open .l5-cnt {
        display: block;
        left: 0;
        top: 100%;
        padding: 1.5rem 0 1rem;
        width: 100%;
        overflow: visible;
        background-color: transparent;
    }

    #middle_menu .open .l5-cnt::before{
        content:"";
        width:100vw;
        height: 100%;
        display:block;
        background: #f9d3d3;
        left:calc((100vw - 98%) /2 * -1);
        top:0;
        z-index: 1;
        position: absolute;
    }



.menu_list .l5-cnt div>a{
    padding: 0;
    margin-right: 0;
}

    #menu_list .l5-cnt div>ul>li>ul>li>a {
        background: none;
    }
    .menu_list .l5 i {
        bottom: 0.5rem;
        top: auto;
        font-size: 0.5rem;
    }
    .menu_list .l5-cnt .bt_close {
        display: inline-block;
        position: absolute;
        right: -10px;
        top: -10px;
        border-radius: 100%;
        border: none;
        line-height: 2;
        padding: 5px;
        font-size: 12px;
        color: #ffffff;
        background-color: #c52223;
        cursor: pointer;
        outline: none;
    }
    .menu_list .l5-cnt div>ul>li {
        border-bottom: none;
        padding: 0 0 1rem;
    }
    .menu_list .l5-cnt div ul>li>a {
        background-color: transparent;
        display: inline;
        padding-left: 1em;
        font-size: 92%;
    }
    #middle_menu .l5-cnt>div>a {
        padding: 1rem 0 0 1.5rem;
        margin: 0;
    }
    #middle_menu .l5-cnt .col-left i {
        margin-left: -1.5em
    }
    #middle_menu .l5-cnt .l5-sub {
        margin: 0;
        padding: 0;
        flex-wrap: wrap;
        column-count: 3;
    }
 #middle_menu .l5-cnt .l5-sub > li{
     break-inside:avoid-column;
     padding-left: 1em;
 }
    #middle_menu .l5-cnt ul>li>ul {
        margin-left: 1em;
    }
    #middle_menu .l5-cnt>div>div>ul>li {
        margin-bottom: 0.4rem;
    }
    #middle_menu .l5-cnt div>ul>li>ul>li>a {
        background: none;
        font-size: 82%;
    }
    #middle_menu .l5-cnt>div {
        background-color: #ffffff;
        position: relative;
        z-index: 100;
        padding: 30px 16px;
    }
    #middle_menu i.menu {
        display: inline-block;
        display:none;
    }
     #middle_menu .l4 i.menu,
    #middle_menu i.close {
        display: none;
    }
}