@charset "utf-8";

/* font */
/* width */
/* color */
/* reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  font-family: font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}
*:focus {
outline: none;
}
/*共通*/
main {
    display: block;
}
main div {
    line-height: 1;
}
a{
    text-decoration: none;
    color: #000;
}
a.icon img {
    width: 32px;
    height: 32px;
    -ms-interpolation-mode: bicubic;
}
.main a:hover,
footer a:hover {
    opacity: 0.6;
    transition: all 0.5s ease;
}
.jp-txt h1, .jp-txt h2, .jp-txt h3, .jp-txt h4, .jp-txt h5 {
    font-family:'リュウミン B-KL';
}
.jp-txt, .jp-txt p, .jp-txt a, .jp-txt dt, .jp-txt dd, .jp-txt span, .jp-txt li, .jp-txt td, .jp-txt th, .jp-txt small {
    font-family:'リュウミン R-KL';
}
.object-fit {
    object-fit: cover;
    font-family: 'object-fit: cover; object-position: 0 100%;'
}
.forpc {
    display: none;
}
@media screen and (min-width: 769px)  {
    .main {
        margin-right: 150px;
        overflow: hidden;
        position: relative;
    }
	.forpc, .forsps, .extab {display: block;}
	.forsp, .onlyssp, .onlytab {display: none;}
	.container  {
		width: 88%;
		margin: auto;
        }
}
@media screen and (max-width: 768px)  {
    .main, footer {
        padding-left: 0px;
        overflow: hidden;
        position: relative;
    }
	.forsp, .forsps, .onlytab {display: block;}
	.forpc, .onlyssp, .extab {display: none;}
	.container {width: 95%;margin: auto;}
        a.icon img {
            width: 45px;
            height: 45px;
    }
}
@media screen and (max-width: 480px)  {
    .forsps, .onlytab {
        display: none;
    }
    .onlyssp, .extab {
        display: block;
    }
}


#rightnav {
    width: 150px;
    height: 100vh;
    min-height: 640px;
    position: fixed;
    top: 0;
    right: 0;
    background: url(../images/leftnav_bg.jpg) 0 0 repeat;
}
.rightnav_wrap {
    height: 100%;
    position: relative;
    padding-bottom: 50px;
}
#rightnav div.right_logo {
    width: 85px;
    height: auto;
    margin: auto;
    padding-top: 15px;
}
#rightnav div.right_logo img {
    width: 85px;
    height: auto;  
}
#rightnav .right_middle {
    text-align: center;
    padding: 20px 0 230px;
    background-image: url(../images/side_bg_gold.png),url(../images/side_bg_silver.png);
    background-repeat: no-repeat, no-repeat;
    background-position: top 40px left -45px, right bottom 50px;
    background-size: 92%, 56%;
    position: relative;
}
#rightnav .right_middle img:nth-child(1) {
    width: 120px;
    height: auto;
    padding-top: 5px;
}
#rightnav .right_middle img:nth-child(2) {
    width: 70px;
    height: auto;
    margin-top: -5px;
}
#rightnav .right_middle_ttl {
    background-color: rgba(255,255,136,0.8);
    position: absolute;
    bottom: 0;
    height: 80px;
    text-align: center;
    padding: 10px;
}
#rightnav .right_middle_ttl img {
    width: 118px;
    height: auto;
}
#rightnav .right_middle_ttl a {
    color: #69b03d;
    font-size: 12px;
    display: block;
}

#rightnav .rightnav_menu {
    width: 100%;
    margin-top: 10px;
}
#rightnav .rightnav_menu a {
    color: #fff;
    font-size: 15px;
    padding-left: 20px;
    line-height: 30px;
}

#rightnav .rightnav_menu01 {
    background: #cc3461;
    
}
#rightnav .rightnav_menu02 {
    background: #4a7d57;
}

#rightnav .right_bottom {
    position: absolute;
    bottom: 0;
}
#rightnav .right_bottom img {
    width: 100%;
    height: auto;
}

@media screen and (max-width: 768px) { 
    #topnav {
        position: fixed;
        top: 0;
        width: 100%;
        background: #fff;
        z-index: 999;
    }
    #topnav .topnav_wrap {
        display: flex;
        background: url(../images/side_bg_sp.png) no-repeat;
        background-position-x: 60%;
        background-size: contain;
        height: 100px;
        position: relative;
    }
    #topnav .top_logo {
        text-align: center;
        padding: 10px 0;
        width: 15%;
        margin: 0 10px;
    }
    #topnav .top_logo a, #topnav .topnav_menu a {
        display: block;
    }
    #topnav .top_logo img {
        max-width: 64px;
        width: 100%;
        height: auto;
    }
    #topnav .top_middle {
        width: 85%;
    }
    #topnav .top_middle h2 a img {
        max-width: 232px;
        width: 100%;
        height: auto;
        display: block;
    }
    #topnav .top_middle h2 a {
        color: #e34f2e;
        padding-top: 27px;
        display: block;
    }
    #topnav .topnav_menu {
        position: absolute;
        text-align: center;
        font-size: 15px
    }
    #topnav .topnav_menu01 {
        background: url(../images/icon_tea.png) no-repeat top center;
        background-size: 50px;
        top: 15px;
        right: 80px; 
        width: 60px;
    }
    #topnav .topnav_menu01 a {
        padding-top: 50px;
    }
    #topnav .topnav_menu02 {
        background: url(../images/icon_shop.png) no-repeat top center;
        background-size: 50px;
        top: 20px;
        right: 15px;
        width: 55px;
    }
    #topnav .topnav_menu02 a {
        padding-top: 45px;
        color: #cd3c65;
    }
    .main {
        padding-top: 100px;
    }
    #bonbons-de-chocolat {
        margin-top: -40px;
        padding-top: 100px;
    }
}
    
@media screen and (max-width: 480px) {
    #topnav .top_logo {
        padding: 6px 0;
    }
    #topnav .top_logo img {
        width: 40px;
        height: auto;
    }
    #topnav .top_middle {
        margin-right: 33%;
    }
    #topnav .top_middle h2 {
        font-size: 13px;
    }
    #topnav .top_middle h2 a {
        padding-top: 13px;
    }
    #topnav .top_middle h2 a img {
        width: 95%;
    }
    #topnav .topnav_wrap {
        height: 60px;
        background-position-x: 50%;
    }
    #topnav .topnav_menu {
        font-size: 12px;
    }
    #topnav .topnav_menu01 {
        width: 50px;
        background-size: 30px;
        white-space: nowrap;
        top: 7px;
        right: 55px;
    }
    #topnav .topnav_menu02 {
        width: 40px;
        background-size: 30px;
        top: 9px;
        right: 5px;
    }
    #topnav .topnav_menu01 a {
        padding-top: 30px;
    }
    #topnav .topnav_menu02 a {
        padding-top: 28px;
    }
    .main {
        padding-top: 60px;
    }
}  
@media screen and (max-width: 370px) {
    #topnav .top_middle h2 {
        font-size: 11px;
    }
}

/*----- footer -----*/
#goTop {
    text-align: center;
    background: #0a3c28;
    height: 36px;
}
#goTop a{
position: relative;
display: inline-block;
padding: 0 0 0 16px;
color: #fff;
vertical-align: middle;
text-decoration: none;
font-size: 15px;
}
#goTop a::before,
#goTop a::after{
position: absolute;
top: 15px;
bottom: 0;
left: 0;
margin: auto;
content: "";
vertical-align: middle;
}
#goTop a::before{
width: 18px;
height: 18px;
border-top: 2px solid #fff;
border-right: 2px solid #fff;
-webkit-transform: rotate(-45deg);
transform: rotate(-45deg);
}
.footer__body {
    background: #f1f6e6;
}
.footer_top {
    display: flex;
	justify-content: space-between;
    margin: 30px 0;
}
.footer_top nav ul li {
	float: left;
    position: relative;
	padding-right: 30px;
}
.footer_top nav ul li:nth-child(2) {
    padding-bottom: 10px;
}
.footer_top nav ul li:nth-child(3), .footer_top nav ul li:nth-child(4) {
    clear: left;
}
.footer_top nav ul li a {
    padding-left: 15px;
    font-size: 14px;
    font-family: 'リュウミン M-KL';
}
.footer_top nav ul li a:before,
.footer_btm nav ul li a:before {
    content: ">";
    font-size: 8px;
    position: absolute;
    left: 0;
    top: 5px;
}
.footer_top nav ul li span {
	font-family: 'リュウミン M-KL';
	font-size: 12px;
}
.footer_nav_sns {
    display: flex;
}
.footer_nav_sns li {
    padding-right: 20px;
}
.footer_nav_sns a {
    font-size: 12px;
    font-family: 'リュウミン M-KL';
}
.footer_nav_sns a img {
    display: block;
    margin: auto;
}
.footer_btm nav ul li {
    float: left;
    position: relative;
    padding: 0 15px 5px 0;
}
.footer_btm nav ul li:nth-child(3) {
    clear: left;
}
.footer_btm nav ul li a {
    font-size: 13px;
    font-family: 'リュウミン M-KL';
    padding-left: 15px;
}
.footer_logo {
    clear: left;
    text-align: right;
}
p.copyright {
    font-size: 12px;
    font-family: 'Arial';
    padding-bottom: 20px;
}
@media screen and (max-width: 1024px)  {
    .footer_top {
        display: block;
    }
	.footer_top ul {
		width: 100%;
	}
}
    .footer_nav_sns {
        padding-top: 20px;
    }
}
@media screen and (max-width: 768px)  {
    
    .footer_top ul {
        flex-wrap: wrap;
    }
    .footer_top ul li {
        padding-bottom: 10px;
    }
    
    .footer_btm nav ul {
        display: flex;
        flex-wrap: wrap;
    }
    .footer_btm nav ul li {
        float: none;
        
    }
    .footer_logo {
		margin: auto;
        text-align: center;
        padding: 10px 0;
    }
    p.copyright {
        text-align: center;
    }
}
@media screen and (max-width: 480px)  {
	.footer_top nav ul li:last-child {
		
		margin-top: 10px;
	
	}
	.footer_top nav ul li span {
		display: block;
		font-family: 'リュウミン M-KL';
		font-size: 12px;
		line-height: 1;
		margin-left: 15px;
	}
    .footer_logo img {
        width: 120px;
		height: auto;
    }
}