@charset "utf-8";
/* @responcive
-------------------------------- */
.forPC {
    display: block!important;
}
.forSP {
	display: none!important;
}
#BtnMenu {
	display: none;
}

#Wrapper{
	width: 100%;
	position: relative;
	height:auto !important; /*IE6対策*/
	height: 100%; /*IE6対策*/
	min-height: 100%;
/*
	min-height: calc(100vh - 0px);
	position: relative;
	overflow: hidden;
	*/
}
#Wrapper #InnerWrapper{
	padding-bottom:140px; /*フッターの高さと同じ*/
}
#Wrapper footer{
	height: 140px;
	position:absolute;
     bottom:0;
}

@media screen and (max-width: 900px){
	
	#PageTitle h1 {
	    width: 90%;
	    height: 35%;
	}
	#commitment div.subImage2 div.text {
	    position: absolute;
	    top: 10%;
	    left: 50%;
	    z-index: 10;
	    color: #ffffff;
	}
	#commitment div.subImage2 div.text p.largeTxt {
	    font-size: 16px;
	    font-weight: bold;
	    letter-spacing: 2px;
	    text-align: left;
	    line-height: 2.5em;
	}
	#shop div.subImage div.largeTxt {
	    position: absolute;
	    top: 10%;
	    left: 10%;
	    width: 80%;
	    background-color: rgba(255,255,255,0.5);
	    z-index: 10;
	    padding: 20px 5%;
	    font-size: 20px;
	    line-height: 2em;
	    letter-spacing: 3px;
	    text-align: center;
	}
	#shop div.subImage div.smallTxt {
	    position: absolute;
	    top:50%;
	    left: 20%;
	    width: 60%;
	    font-size: 22px;
	    font-weight: bold;
	    letter-spacing: 4px;
	    line-height: 1.5em;
	    z-index: 10;
	    text-align: center;
	    color: #ffffff;
	}
	#shop div.subImage p.btn {
	    max-width: 300px;
	    width: 30%;
	    margin: 0 auto;
	    position: absolute;
	    top: 75%;
	    left: 35%;
	    text-align: center;
	    z-index: 10;
	}
	/* TopLink
	-------------------- */
	#TopLink {
		position: fixed;
		bottom: 90px;
		right: 0px;
	    z-index: 10000;
		text-align: right;
	    cursor: pointer;
	    max-width: 80px;
	    z-index: 9999;
	}
	#TopLink img:hover {
	    opacity: 0.5;
	}
	
	/* Menu
	-------------------- */
	#MenuIndex h2.secondTtl{
		width: 100%;
		height: 180px;
		text-align: center;
		padding-top: 18px;
		line-height: 70px;
		margin: 0px;
		background-image: url('../img/menu/bg_subttl.png');
		background-repeat: no-repeat;
		background-size: contain;
	}
	#MenuIndex h2.secondTtl img{
		height: 50px;
		margin-right: 30px;
	}
	/* Simons
	-------------------- */
	#Simons #simonsWrap div.headmess p.largeTxt,
	#Talk #talkWrap div.headmess p.largeTxt{
		width: 41%;
		font-size: 20px;
		margin-left: 38.9%;
		padding-top: 7.4%;
		margin-bottom: 1.57%;
	}
	#Simons #simonsWrap div.headmess p.smallTxt,
	#Talk #talkWrap div.headmess p.smallTxt{
		width: 41%;
		font-size: 13px;
		margin-left: 38.9%;
		padding-bottom: 5.26%;
	}
	#Privacy section{
		max-width: 800px;
		width: 90%;
		margin: 30px auto 50px;
		padding: 5%;
	    /*border: 1px solid #cccccc;*/
	    background-color: rgba(255,250,205,0.5);
	}
	#Tradelaw section{
		max-width: 800px;
		width: 90%;
		margin: 30px auto 50px;
		padding: 5%;
	    /*border: 1px solid #cccccc;*/
	    background-color: rgba(255,250,205,0.5);
	}
	

}

@media screen and (max-width: 768px){

	#TopLink {
		position: fixed;
		bottom: 90px;
		right: 0px;
	    z-index: 10000;
		text-align: right;
	    cursor: pointer;
	    max-width: 80px;
	    z-index: 9999;
	}

	#MenuIndex #nowBlock div#MenuArea div.menuBox {
	    width: 100%;
	    margin: 20px 0%;
	    float: none;
	}
	#MenuIndex #giftBlock div.largeTxt {
	    background-image: url(../img/menu/bg_gift_txt.png);
	    background-repeat: no-repeat;
	    background-size: 100% 100%;
	    width: 75%;
	    padding: 30px 10%;
	    margin: 0 auto 30px;
	    line-height: 2em;
	}
	/* Simons
	-------------------- */
	#Simons #simonsWrap div.headmess,
	#Talk #talkWrap div.headmess{
		margin-top: -5%;
	}
	#Simons #simonsWrap div.headmess p.largeTxt,
	#Talk #talkWrap div.headmess p.largeTxt{
		width: 50%;
	    font-size: 17px;
	    margin-left: 35%;
	    padding-top: 7%;
	    margin-bottom: 0%;
	}
	#Simons #simonsWrap div.headmess p.smallTxt,
	#Talk #talkWrap div.headmess p.smallTxt{
		width: 50%;
		font-size: 12px;
	    margin-left: 35%;
		padding-bottom: 5.26%;
	}
	div.contents div#Main{
		max-width: initial;
		width: 90%;
		margin: 0 auto;
		float: none;
	}
	div.contents div#Sidebar{
		max-width: initial;
		width: 90%;
		margin: 0 auto;
		float: none;
	}
	

	#Tradelaw dl{
		width: 90%;
		margin: 30px auto 0px;
		font-size: 14px;
	}
	#Tradelaw dl dt{
		clear: both;
		width: 100%;
		float: none;
		padding-left: 0px;
		margin-bottom: 5px;
	}
	#Tradelaw dl dd{
		padding-left: 0em;
		border-bottom: 1px dashed #ffffff;
		padding-bottom: 20px;
		margin-bottom: 20px;
		width: 100%;
	}

}




@media screen and (max-width: 640px){

.forPC {
	    display: none!important;
	}
	.forSP {
	    display: block!important;
	}
	img {
	    max-width: 100%;
	}
	    
	/* common
	-------------------- */
	div.Inner2{
		width: 100%;
		margin: 0 auto;
	}
	body{
		padding-top: 90px;
	}

	/* Gnavi
	-------------------- */
	#BtnMenu {
	    display: block;
	    position: fixed;
	    top: 0;
	    left: 0;
	    z-index: 5000;
	    width: 100%;
	    height: 90px;
	    background-color: #fff9b2;
	    border-bottom: 1px solid #999672;
	}
	#BtnMenu p{
	    width: 100%;
	    text-align: center;
	    margin-top: 10px;
	}
	#BtnMenu p#spLogo img{
	    height: 65px;
	}
	#BtnMenu img.mBtn{
	    display: block;
		width: 70px;
	    position: absolute;
	    top: 10px;
	    right: 10px;
	}
	#GrobalNaviSP {
		position: fixed;
		top: 90px;
		left: 0;
	    z-index: 5000;
	    float: none;
	    margin: 0 -10px 1px;
	    padding: 0;
		background: none;
		width: 50%;
	}
	#GrobalNaviSP ul {
	    display: none;
	}
	#GrobalNaviSP li {
	    float: none;
	    height: auto;
	    text-align: center;
	    background: #fff9b2;
	}
	#GrobalNaviSP li a {
	    width: auto;
	    margin: 0;
	    padding: 10px 10px 10px 20px;
	    border-bottom: 1px solid #999672;
	    background-size: 7px 14px;
	    text-align: center;
	    color: #000000;
	    font-size: 12px;
	    display: block;
	}
	#GrobalNaviSP li a span.en{
		font-size: 20px;
		line-height: 1em;
	}
	#GrobalNaviSP li a span.ja{
		font-size: 10px;
		line-height: 1em;
	}

	#GrobalNaviSP ul.dropdown-list {
	    position: static;
	    display: block;
	    width: auto;
	    padding: 0;
	}
	#GrobalNaviSP ul.dropdown-list li {
	    margin-bottom: 0;
	    background: #42210B;
	}
	#GrobalNaviSP ul.dropdown-list a {
	    margin: 0;
	    padding: 10px 10px 10px 60px;
	    background: url(../img/sp/icn_arrow.png) 40px 14px no-repeat;
	    background-size: 7px 14px;
	    text-align: left;
	    font-size: 12px;
	}
	#GrobalNaviSP li a:hover {
	    border-bottom: 1px solid #808080;
	}
	#GrobalNaviSP li.dropdown-item a:hover {
	    border-bottom: 1px solid #808080;
	    color: #fff;
	}

	/* TopLink
	-------------------- */
	#TopLink {
		display: none;
	}
	#TopLink img:hover {
	    opacity: 1;
	}

	/* Menu
	-------------------- */
	#MenuIndex h2.secondTtl{
		width: 100%;
		height: 140px;
		text-align: center;
		padding-top: 18px;
		line-height: 40px;
		margin: 0px;
		background-image: url('../img/menu/bg_subttl.png');
		background-repeat: no-repeat;
		background-size: contain;
	}
	#MenuIndex h2.secondTtl img{
		height: 40px;
		margin-right: 30px;
	}
	#MenuIndex #galleryBlock div#galleryArea div.lbox,
	#MenuIndex #galleryBlock div#galleryArea div.rbox {
	    width: 80%;
	    margin: 0 auto 40px;
	    float: none;
	    overflow: hidden;
	}
	#MenuIndex #menuBlock ul.feeling li{
		width: 17%;
		float: left;
		margin-right: 2%;
	}
	#MenuIndex #menuBlock table#menuList td.price{
		white-space: nowrap;
	}
	#MenuIndex #menuBlock table#menuList tr{
		border-bottom: none;
	}
	#MenuIndex #menuBlock table#menuList tr.last{
		border-bottom: 1px dashed #b0aaa6;
	}
	#MenuIndex #menuBlock table#menuList tr.last td{
		padding: 0;
		height: 2px;
	}
	#MenuIndex #menuBlock table#menuList th.col1{
		width: 5%;
	}
	#MenuIndex #menuBlock table#menuList th.col2{
		width: 75%;
	}
	#MenuIndex #menuBlock table#menuList th.col3{
		width: 20%;
	}
	#MenuIndex #menuBlock table#menuList ul.feeling li img{
		max-width: 45px;
		width: 100%;
	}
	#MenuIndex #nowBlock div#menuArea div.menuBox {
		width: 96%;
		margin: 20px 2% 30px;
		float: none;
	}
	#MenuIndex #nowBlock div#iconArea div.iconGroup ul {
	    width: 100%;
	    float: none;
	    margin-right: 0%;
	    margin-bottom: 10px;
	}
	#MenuIndex #nowBlock div#iconArea div.iconGroup ul li img {
	    max-width: 60px;
	    width: 15%;
	}
	#MenuIndex #nowBlock div#iconArea div.iconGroup ul li p {
	    float: right;
	    width: 80%;
	    font-size: 90%;
	}
	#MenuIndex #menuBlock table.forSP td p.itemname{
	    color: #b64645;
	}
	#MenuIndex #menuBlock p.att {
	    text-align: center;
	}

	/* TopPage
	-------------------- */
	.bx-wrapper .bx-controls-direction a {
	    position: absolute;
	    top: 50%;
	    margin-top: -16px;
	    outline: 0;
	    width: 40px;
	    height: 40px;
	    text-indent: -9999px;
	    z-index: 3000;
	}
	.bx-wrapper .bx-prev {
	    left: 0px;
	}
	.bx-wrapper .bx-next {
	    right: 0px;
	}
	#MenuIndex ul.menu3Box {
	    width: 95%;
	}
	#MenuIndex p.btn {
	    width: 40%;
	}
	#menu ul.menu3Box li p {
	    font-size: 12px;
	}
	#menu p.btn {
	    max-width: 300px;
	    width: 50%;
	    margin: 0 auto 80px;
	}
	#fromShimonoseki p.btn {
	    max-width: 300px;
	    width: 50%;
	    margin: 0 auto 80px;
	}
	#commitment p.btn {
	    max-width: 300px;
	    width: 50%;
	    margin: 0 auto 80px;
	}
	#welcome div.subImage div.text p.largeTxt {
	    font-size: 20px;
	    font-weight: bold;
	    margin-bottom: 40px;
	    letter-spacing: 6px;
	}
	#welcome div.subImage div.text p.smallTxt {
	    font-size: 14px;
	    letter-spacing: 4px;
	    line-height: 2.4em;
	}
	#commitment div.subImage2 div.text p.largeTxt {
	    font-size: 13px;
	    font-weight: bold;
	    letter-spacing: 2px;
	    text-align: left;
	    line-height: 1.5em;
	    margin-bottom: 20px;
	}
	#commitment div.subImage2 div.text p.smallTxt {
	    font-size: 12px;
	    letter-spacing: 4px;
	    line-height: 1.5em;
	    text-align: left;
	}
	#shop div.subImage div.largeTxt {
	    position: absolute;
	    top: 10%;
	    left: 10%;
	    width: 80%;
	    background-color: rgba(255,255,255,0.5);
	    z-index: 10;
	    padding: 20px 3%;
	    font-size: 15px;
	    line-height: 1.5em;
	    letter-spacing: 1px;
	    text-align: center;
	}
	#shop div.subImage div.smallTxt {
	    position: absolute;
	    top:50%;
	    left: 20%;
	    width: 60%;
	    font-size: 15px;
	    font-weight: bold;
	    letter-spacing: 1px;
	    line-height: 1.5em;
	    z-index: 10;
	    text-align: center;
	    color: #ffffff;
	}
	#shop div.subImage p.btn {
	    max-width: 300px;
	    width: 40%;
	    margin: 0 auto;
	    position: absolute;
	    top: 80%;
	    left: 30%;
	    text-align: center;
	    z-index: 10;
	}
	#simons div#shopInfoBlock div#mapBox {
	    max-width: auto;
	    width: 95%;
	    margin: 0 auto 30px;
	    float: none;
	}
	#simons div#shopInfoBlock div#infoBox {
	    max-width: auto;
	    width: 90%;
	    float: none;
	    padding-top: 0px;
	    margin: 0 auto 30px;
	}
	#contentsMenu div.menuListBlock ul li {
	    float: none;
	    max-width: 640px;
	    width: 75%;
	    margin: 15px auto;
	}
	#scene div.menuListBlock ul li {
	    float: none;
	    max-width: 640px;
	    width: 75%;
	    margin: 15px auto;
	}
	#scene #sceneBlock #box01{
		float: left;
		max-width: 300px;
		width: 29.8%;
		margin: 0 2% 18px;
	}
	#scene #sceneBlock #box01 img:first-child{
		margin-bottom: 16px;
	}
	#scene #sceneBlock #box02{
		float: right;
		max-width: 604px;
		width: 62.2%;
		margin: 0 2% 18px;
	}
	#scene #sceneBlock #box03{
		clear: both;
		margin: 0 2% 18px;
	}
	#scene #sceneBlock #box04,
	#scene #sceneBlock #box06{
		clear: both;
	}
	#scene #sceneBlock #box04 img:first-child,
	#scene #sceneBlock #box06 img:first-child{
		float: left;
		max-width: 450px;
		width: 46%;
		margin: 0 2% 18px;
	}
	#scene #sceneBlock #box04 img:last-child,
	#scene #sceneBlock #box06 img:last-child{
		float: right;
		max-width: 450px;
		width: 46%;
		margin: 0 2% 18px;
	}
	#scene #sceneBlock #box05{
		clear: both;
	}
	#scene #sceneBlock #box05 img{
		float: left;
		max-width: 290px;
		width: 29.5%;
		margin: 0 1.8% 18px;
	}
	#scene #sceneBlock #box07{
		float: left;
		max-width: 450px;
		width: 46%;
		margin: 0 2% 18px;
	}
	#scene #sceneBlock #box08{
		float: right;
		max-width: 450px;
		width: 46%;
		margin: 0 2% 18px;
	}
	#scene #sceneBlock #box08 img{
		margin-bottom: 15px;
	}
	#scene #sceneBlock #box08 img:last-child{
		margin-bottom: 0px;
	}
	#scene #sceneBlock #box09{
		clear: both;
		margin: 0 2% 18px;
	}
	/* Simons
	-------------------- */
	#Simons #simonsWrap div.headmess,
	#Talk #talkWrap div.headmess{
		margin-top: -3.5%;
	}
	#Simons #simonsWrap div.headmess p.largeTxt,
	#Talk #talkWrap div.headmess p.largeTxt{
		width: 60%;
	    font-size: 16px;
	    margin-left: 30%;
	    padding-top: 5%;
	    margin-bottom: 0%;
	}
	#Simons #simonsWrap div.headmess p.smallTxt,
	#Talk #talkWrap div.headmess p.smallTxt{
		width: 60%;
		font-size: 11px;
	    margin-left: 30%;
		padding-bottom: 5.26%;
	}
	
	#Simons #simonsWrap div#interviewBlock .btn,
	#Talk #talkWrap2 div#newArticleBlock .btn {
	    max-width: 350px;
	    width: 50%;
	    margin: 50px auto;
	}
	#Talk #talkWrap div#aboutBlock div.aboutBox:nth-child(odd){
		clear: both;
		float: none;
		max-width: initial;
		width: 90%;
		margin: 0 auto 30px;
	}
	#Talk #talkWrap div#aboutBlock div.aboutBox:nth-child(even){
		float: none;
		max-width: initial;
		width: 90%;
		margin: 0 auto 30px;
	}
	#Talk #talkWrap2 div#newArticleBlock{
		clear: both;
		background-image: url('../img/talk/bg_newarticle_block.png');
		background-repeat: no-repeat;
		background-position: top center;
		background-size: contain;
		height: 200px;
		text-align: center;
		overflow: hidden;
		margin-bottom: 50px;
	}

	/* Event
	-------------------- */
	#Event div.article div.post {
	    max-width: 720px;
	    width: 96%;
	    margin: -10px auto 3px;
	}
	#Event div.post div.contents-body div.btn {
	    max-width: initial;
	    width: 80%;
	    margin-bottom: 30px;
	}	
	
	/* ContactForm
	-------------------- */
	#Contact section {
	    width: 90%;
	    margin: 0 auto 80px;
	}
	#Contact section div.body p.btn {
	    max-width: 300px;
	    width: 60%;
	    margin: 0 auto 30px;
	}
	#Contact section#mailBlock div.body {
	    background-color: rgba(255,255,217,0.7);
	    padding: 20px 20px;
	}
	.form-s {
	    width: 35%;
	}
	.form-m {
	    width: 60%;
	}
	.form-l {
	    width: 90%;
	}
	.contact-form table {
	    box-sizing: border-box;
	}
	.contact-form th,
	.contact-form td {
	    display: block;
	    width: 100%;
	    border: none;
	    background: none;
	}
	.contact-form th {
	    padding: 5px 10px;
	    /*background-color: #f8f8f8;*/
	}
	.contact-form td {
	    padding: 10px;
	}
	.contact-form td textarea {
	    width: 100%;
	}
	.submit input {
	    margin-bottom: 5px;
	}
	table.row-table-01 th {
	    width: 100%;
	    display: block;
	    padding: 10px 10px 0px;
	}
	table.row-table-01 td {
	    width: 100%;
	    display: block;
	    padding: 0 10px 10px
	}
	.checkbox {
	    margin-left: 20px;
	}

	#Tradelaw #PageTitle h1 {
	    font-size: 16px;
	}
}

@media screen and (max-width: 480px){
	#welcome div.subImage div.text {
	    position: absolute;
	    top: 15%;
	    left: 8%;
	    z-index: 10;
	    color: #ffffff;
	}	
	#welcome div.subImage div.text p.largeTxt {
	    font-size: 16px;
	    font-weight: bold;
	    margin-bottom: 40px;
	    letter-spacing: 4px;
	}
	#welcome div.subImage div.text p.smallTxt {
	    font-size: 12px;
	    letter-spacing: 2px;
	    line-height: 2.4em;
	}
	#welcome div.subText p.largeTxt {
	    font-size: 20px;
	    margin-bottom: 40px;
	    letter-spacing: 4px;
	}
	#welcome div.subText p.smallTxt {
	    font-size: 14px;
	    letter-spacing: 2px;
	    line-height: 3em;
	    margin-bottom: 10px;
	}
	#fromShimonoseki div.subImage div.text p.largeTxt {
	    font-size: 20px;
	    font-weight: bold;
	    margin-bottom: 40px;
	    letter-spacing: 4px;
	    text-align: right;
	}
	#fromShimonoseki div.subImage div.text p.smallTxt {
	    font-size: 14px;
	    letter-spacing: 2px;
	    line-height: 2.4em;
	    text-align: right;
	}
	#fromShimonoseki div.subText p.largeTxt {
	    font-size: 18px;
	    margin-bottom: 40px;
	    letter-spacing: 4px;
	}
	#commitment div.subText p.largeTxt {
	    font-size: 18px;
	    margin-bottom: 40px;
	    letter-spacing: 4px;
	}
	#commitment div.subText p.smallTxt {
	    font-size: 14px;
	    letter-spacing: 2px;
	    line-height: 3em;
	    margin-bottom: 10px;
	}
	
	#MenuIndex h2.secondTtl {
	    height: 90px;
	    padding-top: 8px;
	    font-size: 25px;
	    line-height: 30px;
	}
	#MenuIndex h2.secondTtl img {
	    height: 30px;
	    margin-right: 20px;
	}
	#MenuIndex #conceptBlock p.txt {
	    width: 85%;
	    margin: 10px auto;
	    text-align: center;
	}
	#MenuIndex #menuBlock ul.feeling li {
	    width: 30%;
	    float: left;
	    margin-right: 2%;
	}
	#MenuIndex #menuBlock ul.feeling li:nth-child(3n+4) {
	    clear: both;
	}
	#MenuIndex #giftBlock div.largeTxt {
	    width: 90%;
	    padding: 30px 5%;
	    margin: 0 auto;
	}
	.form-s {
	    width: 50%;
	}
	.form-m {
	    width: 70%;
	}
	.form-l {
	    width: 85%;
	}
	span#FieldMessageName2,
	span#FieldMessageNameKana2{
		display: block;
	}
	#PageTitle #ptsimons h2,
	#PageTitle #pttalk h2 {
	    position: absolute;
	    top: 70%;
	    left: 0;
	    right: 0;
	    bottom: 0;
	    z-index: 10;
	    margin: 0 auto;
	    width: 80%;
	    height: 10%;
	    line-height: 30px;
	    color: #ffffff;
	    font-size: 18px;
	}
	#PageTitle #ptsimons h2 img, #PageTitle #pttalk h2 img {
    	height: 30px;
	}
	#Simons #simonsWrap div.headmess p.largeTxt,
	#Talk #talkWrap div.headmess p.largeTxt{
		width: 60%;
	    font-size: 13px;
	    margin-left: 28%;
	    padding-top: 5%;
	    margin-bottom: 0%;
	}
	#Simons #simonsWrap div.headmess p.smallTxt,
	#Talk #talkWrap div.headmess p.smallTxt{
		width: 60%;
		font-size: 10px;
	    margin-left: 28%;
		padding-bottom: 5.26%;
		line-height: 1.3em;
	}
	#Simons #simonsWrap div#interviewBlock .btn,
	#Talk #talkWrap2 div#newArticleBlock .btn {
	    max-width: 350px;
	    width: 50%;
	    margin: 30px auto;
	}
	#Talk #talkWrap2 div#newArticleBlock{
		height: 150px;
		text-align: center;
		overflow: hidden;
		margin-bottom: 30px;
	}

	#MenuIndex #menuBlock table th,
	#MenuIndex #menuBlock table td {
	    padding: 5px 5px;
	}

}
