@charset "utf-8";

/* Body
------------------------------ */
html{
	overflow-x: hidden;
}
body {
	box-shadow: none;
	color: #333;
	font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: 500;
	font-size: 14px;
	line-height: 20pt;
	letter-spacing: 0.04em;
	-webkit-text-size-adjust: 100%!important;
	top: 0!important;
}
a:link{
	color: #333;
	text-decoration: none;
}
a:visited {
	color: #333;
}
a:active {
	color: #333;
}
a:hover {
	color: #333;
}
a{
	transition: .3s;
}

.text_link {
	display: inline-block;
	text-decoration: none;
	color: #333;
}
/* reset default css */
.text_link:after {
	content: "";
	display: block;
	width: 0;
	transition: width 0.3s;
	border-bottom: 1px solid #333;
	margin: -6px auto 0;
	border-radius: 1px;
}
.text_link:hover{
	text-decoration: none;
}
.text_link:hover:after {
	width: 100%;
}

.emphasis{
	font-weight: 500;
	color: #EA6834;
}
.caution{
	position: relative;
	display: block;
	font-size: 14px;
	padding-left: 1em!important;
	text-indent: -1em;
	line-height: 1.4em;
	margin-top: 14px;
}
.caution:before{
	content: "※";
}

/* layout
------------------------------ */
.wrapper{
	position: relative;
	display: block;
	clear: both;
	float: none;
	width: 1080px;
	margin: 0 auto;
	padding: 0;
	overflow: visible;
}

/* Common
------------------------------ */
.clear{
	clear: both;
	float: none;
	height: 0;
}
.fl_l{
	position: relative;
	display: block;
	float: left;
}
.fl_r{
	position: relative;
	display: block;
	float: right;
}
.btn a{
	position: relative;
	display: block;
	width: 230px;
	height: 48px;
	color: #333;
	font-size: 18px;
	font-weight: 600;
	line-height: 48px;
	letter-spacing: .05em;
	border: 1px solid #000;
	border-radius: 30px;
	margin: 0 auto;
	text-align: center;
	box-sizing: border-box;
	background: #FFF;
}
.btn a:after{
	content: ">";
	font-family: Krungthep, Helvetica, sans-serif;
	position: absolute;
	display: block;
	font-size: 15px;
	top: 0;
	right: 17px;
	bottom: 0;
	margin: auto 0;
}
.btn a:hover{
	color: #FFF;
	border-color: #008C88;
	background: #008C88;
}
.btn_list{
	letter-spacing: -.4em;
	text-align: center;
}
.btn_list li{
	position: relative;
	display: inline-block;
	letter-spacing: .04em;
}
.btn_list li:first-child{
	margin-right: 32px;
}

/* Header
------------------------------ */
body{
	padding-top: 32px;
}
header{
	position: fixed;
	width: 100%;
	height: 88px;
	background: #FFF;
	box-shadow: 0 2px 2px rgba(0,0,0,.4);
	top: 0;
	left: 0;
	z-index: 10;
	transition: .3s;
}
header.t32{
	top: 32px;
}
header .wrapper{
	width: 1180px;
}
#header_logo a{
	position: absolute;
	display: block;
	width: 342px;
	height: 59px;
	text-indent: -9999px;
	background: url(../images/logo.svg) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	top: 12px;
	z-index: 2;
	transition: .3s;
}
#header_logo a:hover{
	opacity: 0.6;
}
#lead{
	position: absolute;
	display: block;
	font-size: 14px;
	font-weight: 400;
	line-height: 1em;
	top: 12px;
	right: 0;
	transition: .3s;
}
/*header .address{
	position: absolute;
	display: block;
	line-height: 1em;
	letter-spacing: .06em;
	top: 34px;
	right: 0;
	transition: .3s;
}
header .address .tel{
	color: #397A77;
	font-size: 16px;
	font-family: Futura, sans-serif;
	font-weight: 600;
	letter-spacing: .05em;
	margin-left: 12px;
}*/

/* gnav */
#gnav{
	position: relative;
	display: block;
	float: right;
	margin-top: 30px;
	margin-right: 0;
	transition: .3s;
}
#gnav ul{
	position: relative;
	display: block;
	/*width: 808px;*/
	height: 56px;
	text-align: center;
	border: 1px solid #DDD;
	letter-spacing: -.4em;
}
#gnav ul li{
	position: relative;
	display: inline-block;
	width: 136px;
	line-height: 56px;
	letter-spacing: .04em;
}
#gnav ul li:last-child{
	margin-right: 0;
}
#gnav ul li a{
	position: relative;
	display: block;
	color: #FFF;
	background: #303A48;
}
#gnav ul li.shop_btn{
	color: #FFF;
	background: #47788E;
	cursor: pointer;
	transition: .3s;
}
#gnav ul li:last-child a{
	background: #397A77;
}
#gnav ul li a:hover{
	background: #455163;
}
#gnav ul li.shop_btn:hover{
	background: #5088A1;
	transition: .3s;
}
#gnav ul li:last-child a:hover{
	background: rgba(57,122,119,.9);
}

/* 子メニュー */
#gnav ul li .sub_menu{
	position: absolute;
	display: none;
	width: 136px;
	height: auto;
	margin: 0 auto;
	top: 56px;
	z-index: 100;
	box-shadow: 0 2px 2px rgba(0,0,0,.4);
	border: 0;
}
#gnav ul li .sub_menu li{
	position: relative;
	display: block;
	width: 136px;
	height: 56px;
	text-align: center;
	padding: 0;
}
#gnav ul li .sub_menu li a{
	position: relative;
	display: block;
	width: 136px;
	height: 56px;
	color: #FFF;
	background: #303A48;
	margin: 0;
	box-sizing: border-box;
}
#gnav ul li .sub_menu li a:hover{
	background: #455163;
}
#gnav ul li:nth-last-child(2) .sub_menu li a{
	background: #47788E;
}
#gnav ul li:nth-last-child(2) .sub_menu li a:hover{
	background: #5088A1;
}
/*header.is-animation{
	height: 98px;
}
header.is-animation #header_logo a{
	top: 25px;
	transition: .3s;
}
header.is-animation .address,
header.is-animation #lead{
	opacity: 0;
	transition: .3s;
}
header.is-animation #gnav{
	margin-top: 40px;
	transition: .3s;
}*/

/* top bxslider */
#main_slider{
	padding: 88px 0 0;
}
#main_slider .slick-slide img {
    width: 98%;
}
/* #main_slider .bx-wrapper{
	padding-bottom: 40px;
}
#main_slider .bx-viewport{
	overflow: visible!important;
}
#main_slider .bxslider{
	width: 938%!important;
}
#main_slider .bxslider li{
	margin: 0 20px;
}
#main_slider .bxslider li:last-child{
	margin-right: 0;
}
#main_slider .bxslider li a{
	position: relative;
	display: block;
	width: 1000px;
	height: 462px;
	margin: 0 auto;
}
#main_slider .bxslider li a:before{
	content: "";
	position: absolute;
	display: block;
	width: 1000px;
	height: 462px;
	background: #FFF;
	opacity: 0;
	transition: .3s;
}
#main_slider .bxslider li a:hover:before{
	opacity: .3;
	transition: .3s;
} */

/* top_main_contents
------------------------------ */
.top_main_contents{
	background: #F8F7F2;
	overflow-x: hidden;
}
.top_main_contents section{
	position: relative;
	display: block;
	padding: 60px 0;
}
.top_main_contents h2{
	color: #8E8E8E;
	font-size: 40px;
	font-weight: 600;
	text-align: center;
	line-height: 1em;
	letter-spacing: .2em;
	margin-bottom: 40px;
}
.top_main_contents h3{
	font-size: 18px;
	font-weight: 600;
}

/* top_pickup */
#top_pickup{
	padding-top: 10px;
}
#top_pickup h2{
	text-align: left;
	font-weight: 500;
	font-family: 'Helvetica', sans-serif;
	letter-spacing: .04em;
	margin-bottom: 10px;
}
#top_pickup .bx-wrapper{
	overflow: hidden;
	width: 100%;
	height: 206px;
	padding: 40px;
	background: #397A77;
}
#top_pickup .bx-wrapper:after{
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 286px;
	background: #397A77;
	/* right: 70%; */
	/* top: 0; */
	right: 100%;
	top: 50px;
	z-index: 0;
}
#top_pickup .bx-viewport{
	overflow: hidden!important;
	width: 100%;
	height: 206px;
	margin-left: -104%;
	z-index: 1;
	padding-left: 100%;
	padding-right: 4%;
}
#top_pickup .bxslider{
	position: relative;
	display: block;
	height: 206px;
	overflow-y: hidden;
	margin-left: -50px;
}
#top_pickup .bxslider li{
	width: 364px!important;
	margin-right: 40px;
}
#top_pickup .bxslider li a{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#top_pickup .bxslider li a:before{
	content: "";
	position: absolute;
	display: block;
	width: 364px;
	height: 206px;
	background: #FFF;
	opacity: 0;
	transition: .3s;
}
#top_pickup .bxslider li a:hover:before{
	opacity: .3;
	transition: .3s;
}
#top_pickup .bx-wrapper .bx-pager{
	width: 11px;
	height: 268px;
	right: -20px;
}
#top_pickup .bx-wrapper .bx-pager .bx-pager-item{
	display: block;
}
#top_pickup .bx-wrapper .bx-pager.bx-default-pager a{
	margin: 8px 12px;
}

/* holiday_bnr */
.holiday_bnr{
	text-align: center;
}
div.holiday_bnr{
	margin: 50px auto 20px;
}
div.holiday_bnr img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
.holiday_bnr li{
	position: relative;
	display: inline-block;
	width: 524px;
	height: auto;
	vertical-align: top;
}
.holiday_bnr li:first-child{
	margin-right: 32px;
}
.holiday_bnr li img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
.reservation_bnr{
	position: relative;
	display: block;
	width: 900px;
	height: auto;
	margin: 30px auto 0;
}
.tomatoglasses_bnr{
	position: relative;
	display: block;
	max-width: 900px;
	width: 100%;
	height: auto;
	margin: 30px auto 0;
}
.tomatoglasses_bnr img{
	width: 100%;
	height: auto;
}

/* top_new */
#top_new ul{
	letter-spacing: -.4em;
}
#top_new ul li{
	position: relative;
	display: inline-block;
	width: 332px;
	height: auto;
	margin-right: 40px;
	margin-bottom: 40px;
	vertical-align: top;
	letter-spacing: .05em;
}
#top_new ul li:nth-child(3n){
	margin-right: 0;
}
#top_new ul li a{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#top_new ul li a:hover{
	opacity: .7;
}
#top_new ul li .pict{
	position: relative;
	display: block;
	width: 332px;
	height: 234px;
	border: 1px solid #8E8E8E;
	border-radius: 8px;
	overflow: hidden;
	margin-left: -1px;
	margin-bottom: 20px;
}
#top_new ul li .pict img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#top_new ul li span{
	position: relative;
	display: block;
	padding: 0 20px;
	letter-spacing: .04em;
}
#top_new ul li h3{
	line-height: 1em;
	padding: 0 20px 26px;
}
#top_new ul li h3 span{
	position: absolute;
	display: inline;
	font-size: 20px;
	font-weight: 400;
	font-family: Helvetica, sans-serif;
	right: 20px;
	padding: 0;
}

/* top_news */
#top_news{
	background: url(../images/top_news_bg.png) no-repeat top right;
	-webkit-background-size: 40% auto;
	background-size: 40% auto;
}
#top_news .fl_l{
	width: 500px;
	height: auto;
}
#top_news .fl_r{
	width: 500px;
	height: auto;
}
#top_news h2{
	text-align: left;
}
#top_news .btn a{
	position: relative;
	display: block;
	float: right;
}
#top_news dl dt{
	position: relative;
	display: block;
	float: left;
	width: 200px;
	height: 150px;
	border-radius: 8px;
	background: #CCC;
	margin-right: 16px;
	margin-bottom: 40px;
	overflow: hidden;
}
#top_news dl dt.none{
	width: 0;
	height: 0;
	background: none;
}
#top_news dl dt a,
#top_news dl dt a img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#top_news dl dd{
	height: 150px;
	padding: 10px 0 8px;
	margin-bottom: 40px;
}
#top_news dl dd a{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#top_news dl dd a:hover{
	opacity: .7;
}
#top_news dl dd a:hover h3{
	color: #397A77;
	transition: .3s;
}
#top_news dl dt:nth-last-child(2),
#top_news dl dd:last-child{
	margin-bottom: 0;
}
#top_news dl dd h3{
	line-height: 1em;
	margin-bottom: 10px;
	transition: .3s;
}
#top_news dl dd .date{
	position: relative;
	display: block;
	text-align: right;
}
#top_news .fb{
	width: 400px;
	height: 400px;
	background: #CCC;
	margin: 84px 60px 0 0;
}
#top_news #insta_list{
	position: relative;
	display: block;
	width: 1020px;
	height: 190px;
	background: #47788e;
	margin-top: 30px;
	padding: 15px 0 15px 300px;
	box-sizing: border-box;
}
#top_news #insta_list:before{
	content: "";
	position: absolute;
	display: block;
	width: 250px;
	height: 58px;
	background: url(../images/insta_logo.png) no-repeat center center;
	-webkit-background-size: contain;
	background-size: contain;
	top: 0;
	left: 30px;
	bottom: 0;
	margin: auto 0;
}
#top_news #insta_list ul{
	letter-spacing: -.4em;
}
#top_news #insta_list ul li{
	position: relative;
	display: inline-block;
	width: 160px;
	height: 160px;
	margin-right: 20px;
}
#top_news #insta_list ul li:last-child{
	margin-right: 0;
}
#top_news #insta_list ul li a,
#top_news #insta_list ul li a img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#top_news #insta_list ul li a{
	max-height: 160px;
	overflow: hidden;
}
#top_news #insta_list ul li a:hover{
	opacity: .7;
}
.top_news_lists {
	margin-top: 20px;
}
.top_news_list:nth-of-type(n + 2) {
	margin-top: 40px;
}
.top_news_items {
	margin-top: 20px;
}
.top_news_item {
	display: flex;
	background: #F8F7F2;
    border-radius: 8px;
}
.top_news_item:nth-of-type(n + 2) {
	margin-top: 40px;
}
.top_news_item_img {
	width: 100%;
	max-width: 200px;
}
.top_news_item_img img {
	object-fit: cover;
	border-radius: 8px 0 0 8px;
	width: 100%;
    max-width: 200px;
    height: 100%;
    max-height: 200px;
	vertical-align: top;
}
.top_news_item_content {
    width: 100%;
    max-width: 300px;
	padding: 10px 12px;
    box-sizing: border-box;
}
.top_news_item_content h3 {
    line-height: 1em;
    margin-bottom: 10px;
    transition: .3s;
}
.top_news_item_content .date {
    position: relative;
    display: block;
    text-align: right;
}

/* top_product */
#top_product{
	background: #303A48;
	padding-bottom: 20px;
	z-index: 2;
}
#top_product h2{
	color: #FFF;
}
#top_product h3{
	color: rgba(255,255,255,.7);
	font-size: 40px;
	line-height: 1em;
	letter-spacing: .2em;
	text-align: center;
	z-index: 2;
	margin-top: 70px;
	margin-bottom: 40px;
}
.glass_box{
	position: relative;
	display: block;
	margin-bottom: 64px;
	overflow: visible;
}
.glass_box:after{
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 286px;
	background: #FFF;
	top: 0;
	left: 70%;
	bottom: 0;
	margin: auto 0;
	z-index: -1;
}
.glass_box:nth-of-type(2):after{
	left: auto;
	right: 70%;
}
.glass_box ul{
	width: 120%;
	/* height: 154px; */
	height: 286px;
	margin-right: -52%;
	padding: 66px 0 66px 50px;
	background: #FFF;
	letter-spacing: -.4em;
	/*overflow-x: hidden;*/
}
.glass_box ul.fl_l{
	width: 110%;
	margin-right: 0;
	margin-left: -52%;
	padding-right: 10%;
}
.glass_box ul:before{
	content: "";
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 143px 0 143px 35px;
	border-color: transparent transparent transparent #303A48;
	top: 0;
	left: 0;
	bottom: 0;
	margin: auto 0;
}
.glass_box ul.fl_l:before{
	left: auto;
	right: 0;
	border-width: 143px 35px 143px 0;
	border-color: transparent #303A48 transparent transparent;
}
.glass_box ul li{
	position: relative;
	display: inline-block;
	width: 250px;
	height: auto;
	text-align: center;
	letter-spacing: .04em;
	margin-right: 45px;
	z-index: 2;
}
.glass_box ul li:last-child{
	margin-right: 0;
}
.glass_box ul li a{
	position: relative;
	display: block;
	width: 250px;
	height: auto;
	font-weight: 600;
}
.glass_box ul li a:hover{
	opacity: .5;
}
.glass_box ul li span:before{
	content: "\f138";
	font-family: "Font Awesome 5 Free";
	margin-right: 5px;
}
.glass_box ul li a:hover span{
	color: #375D9B;
}
.glass_box ul li a:hover span:before{
	color: #375D9B;
}
.glass_box .pict{
	position: relative;
	display: block;
	width: 250px;
	height: 110px;
	margin-bottom: 22px;
	overflow: hidden;
}
.glass_box .pict img{
	position: absolute;
	display: block;
	width: 100%;
	height: auto;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
.glass_box .slick-list{
	position: relative;
	display: block;
	overflow-x: hidden;
}

#top_product .bnr{
	letter-spacing: -.4em;
	text-align: center;
	margin-top: 76px;
}
#top_product .bnr li{
	position: relative;
	display: inline-block;
	width: 420px;
	height: auto;
	letter-spacing: .04em;
}
#top_product .bnr li:first-child{
	margin-right: 140px;
}
#top_product .bnr li .pict{
	position: relative;
	display: block;
	width: 420px;
	height: 123px;
}
#top_product .bnr li .pict img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#top_product .bnr li h3{
	margin-top: 27px;
	margin-bottom: 36px;
}

/* top_greeting */
#top_greeting{
	padding-top: 250px;
	padding-bottom: 110px;
	background: url(../images/top_greeting_bg.jpg) no-repeat center bottom;
	-webkit-background-size: cover;
	background-size: cover;
	text-align: center;
}
#top_greeting:before{
	content: "";
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-left: 50vw solid transparent;
	border-top: 8vw solid #303A48;
	border-right: 50vw solid transparent;
	top: 0;
}
#top_greeting h2{
	color: #333;
}
#top_greeting p{
	position: relative;
	display: block;
	font-size: 16px;
	line-height: 24pt;
	margin-bottom: 30px;
}
#top_greeting p:before,
#top_greeting p:after{
	content: "";
	position: absolute;
	display: block;
	width: 320px;
	height: 240px;
	background-position: 0 0;
	background-repeat: no-repeat;
	-webkit-background-size: contain;
	background-size: contain;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
#top_greeting p:before{
	background-image: url(../images/top_greeting1.jpg);
	left: -100px;
}
#top_greeting p:after{
	background-image: url(../images/top_greeting2.jpg);
	right: -100px;
}

/* top_access */
#top_access{
	padding-top: 0;
	color: #FFF;
	font-size: 16px;
	background: #47788E;
}
#top_access #ggmap{
	position: relative;
	display: block;
	width: 100%;
	height: 450px;
	background: #CCC;
}
#top_access #ggmap iframe{
	width: 100%;
	height: 100%;
}
#top_access h2{
	color: #FFF;
	padding-top: 60px;
}
#top_access p{
	line-height: 24pt;
	letter-spacing: .08em;
}
#top_access .tel{
	position: relative;
	display: block;
	width: 365px;
	height: 32px;
	text-indent: -9999px;
	background: url(../images/tel_white.svg) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	margin: 10px 0;
}
#top_access .btn_list{
	margin-top: 22px;
}

/* main contents
------------------------------ */
.title_box{
	position: relative;
	display: block;
	width: 100%;
	height: 280px;
	background-position: center center;
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	background-size: cover;
}
.title_box h1,.title_box p{
	position: relative;
	display: block;
	width: 1000px;
	color: #FFF;
	font-size: 40px;
	font-weight: 600;
	line-height: 273px;
	letter-spacing: .1em;
	padding-left: 80px;
}
.title_box h1 span,
.title_box p span{
	font-size: 27px;
	font-weight: 500;
	font-family: メイリオ, Meiryo, '游ゴシック体', 'Yu Gothic', YuGothic,
				 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro',
				 Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	margin-left: 30px;
	text-transform: capitalize;
}
.bread_crumb{
	position: relative;
	display: block;
	color: #333;
	font-size: 12px;
	letter-spacing: -.4em;
	margin-bottom: 10px;
	padding: 14px 0 0 10px;
}
.bread_crumb li{
	position: relative;
	display: inline-block;
	letter-spacing: .04em;
}
.bread_crumb li:after{
	content: ">";
	margin: 0 10px;
}
.bread_crumb li:last-child:after{
	display: none;
}
.bread_crumb li a{
	color: #333;
	position: relative;
	display: inline-block;
}
.bread_crumb li a:hover{
	text-decoration: none;
	color: #008C88;
}

.main_contents{
	font-size: 16px;
	line-height: 24pt;
	background: #F5F4EF;
	padding-top: 58px;
	padding-bottom: 150px;
}
.bg_cream{
	background: #F5F4EF;
}
.main_contents section{
	position: relative;
	display: block;
	padding-bottom: 70px;
}
.main_contents section:first-of-type{
	padding-top: 70px;
}
.main_contents h2{
	color: #333;
	font-size: 40px;
	text-align: center;
	line-height: 40pt;
	letter-spacing: .2em;
	margin-bottom: 60px;
}
.main_contents section:first-of-type h2{
	margin-bottom: 40px;
}
.main_contents h3{
	font-size: 26px;
	font-weight: 400;
	letter-spacing: .1em;
	line-height: 25pt;
	margin-bottom: 24px;
}
.main_contents table{
	width: 100%;
}
.main_contents table tr th{
	color: #FFF;
	width: 260px;
	font-weight: 500;
	text-align: left;
	line-height: 21pt;
	background: #303A48;
	border-bottom: 1px dashed #E3E3E3;
	padding: 18px 20px;
	vertical-align: middle;
}
.main_contents table tr td{
	line-height: 21pt;
	border-bottom: 1px dashed #E3E3E3;
	padding: 18px 20px;
	background: #FFF;
}
.main_contents table tr:last-child th,
.main_contents table tr:last-child td{
	border-bottom: 0;
}
.main_contents .pict img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}

/* contact_box */
.contact_box{
	position: relative;
	display: block;
	width: 1080px;
	height: 272px;
	text-align: center;
	border: 4px solid #008C88;
	box-sizing: border-box;
	margin-top: 70px;
	padding: 30px 0 38px;
	background: #FFF;
}
.contact_box:before,.contact_box:after{
	content: "";
	position: absolute;
	display: block;
	height: 264px;
	background-repeat: no-repeat;
	background-position: 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	top: 0;
	bottom: 0;
	margin: auto 0;
}
.contact_box:after{
	width: 290px;
	background-image: url(../images/contact_box_left.jpg);
	left: 0;
}
.contact_box:before{
	width: 462px;
	background-image: url(../images/contact_box_bg.jpg);
	right: 0;
}
.contact_box p,.contact_box .btn_list{
	position: relative;
	display: block;
}
.contact_box p{
	font-size: 19px;
}
.contact_box .logo{
	position: relative;
	display: inline-block;
	width: 350px;
	height: 60px;
	text-indent: -9999px;
	background: url(../images/logo2.svg) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	margin: 4px auto -25px;
	top: -22px;
}
.contact_box .text{
	position: relative;
	display: inline-block;
	padding-top: 24px;
}
.contact_box .btn_list{
	margin-top: 26px;
}

/* glasses
------------------------------ */
#glasses_h1{
	background-image: url(../images/glasses_h1.jpg);
}
.glasses_about li{
	margin-bottom: 70px;
	padding-bottom: 50px;
	border-bottom: 1px solid #E0DEDE;
	letter-spacing: .15em;
}
.glasses_about li:nth-child(2){
	margin-bottom: 50px;
}
.glasses_about li .pict{
	width: 340px;
	height: 247px;
	margin-right: 26px;
}
.glasses_about li .fl_r{
	margin-right: 0;
	margin-left: 26px;
}
.glasses_about li .btn a{
	width: 320px;
	margin-top: 40px;
	margin-left: 0;
}
#glasses .type_list{
	letter-spacing: -.4em;
}
#glasses .type_list li{
	position: relative;
	display: inline-block;
	width: 318px;
	height: auto;
	text-align: center;
	letter-spacing: .08em;
	margin-right: 60px;
}
#glasses .type_list li:nth-child(3n){
	margin-right: 0;
}
#glasses .type_list li a{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	line-height: 1em;
}
#glasses .type_list li a:hover{
	text-decoration: underline;
}
#glasses .type_list li a img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	transition: .3s;
	margin-bottom: 14px;
}
#glasses .type_list li a:hover img{
	opacity: .5;
	transition: .3s;
}
#glasses h2{
	font-size: 26px;
	text-align: left;
	margin-top: 90px;
	margin-bottom: 20px;
}

/* tab area */
#glasses .tag_list{
	position: relative;
	display: block;
	letter-spacing: -.4em;
	text-align: center;
	padding-bottom: 20px;
	margin-bottom: 50px;
	border-bottom: 1px solid #E0DEDE;
	z-index: 1;
}
#glasses .tag_list li{
	position: relative;
	display: inline-block;
	width: 218px;
	height: 44px;
	font-size: 20px;
	line-height: 44px;
	text-align: center;
	letter-spacing: .08em;
	margin: 0 30px 30px 0;
}
#glasses .tag_list li:nth-child(4n){
	margin-right: 0;
}
#glasses .tag_list li a{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	color: #397A77;
	background: #FFF;
	border: 1px solid #397A77;
	border-radius: 3px;
	box-sizing: border-box;
}
#glasses .tag_list li a:hover{
	color: #FFF;
	background: #397A77;
}
#glasses .tag_list li.current a{
	color: #FFF;
	background: #397A77;
}

.tab_content{
	position: relative;
	display: block;
	clear: both;
	width: 100%;
	height: auto;
	margin-bottom: 60px;
}
.tab_area{
	position: relative;
	padding-top: 160px;
	margin-top: -160px;
}
#glasses .tab_area h2{
	width: 100%;
	margin: 0;
}
.tab_area ul.topics_list{
	display: flex;
	letter-spacing: -.4em;
	border-bottom: 1px solid #E0DEDE;
	flex-wrap: wrap;
	gap: 60px 60px;
}
.tab_area ul.topics_list li{
	position: relative;
	display: inline-block;
	letter-spacing: .04em;
	width: 318px;
	height: auto;
}
.tab_area ul.topics_list li.none{
	width: 100%;
	text-align: center;
	padding: 0 0 60px;
	font-weight: 600;
	margin: 0 auto;
}
.tab_area ul.topics_list li a,
.tab_area ul.topics_list li a img{
	position: relative;
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}
.tab_area ul.topics_list li a:hover{
	opacity: .5;
}
.tab_area ul.topics_list li h3{
	font-size: 16px;
	text-align: center;
	margin-bottom: 0;
}
.tab_area ul.topics_list li a:hover h3{
	text-decoration: underline;
}

/* pager */
#jquery-tab-pager-navi{
	display: none!important;
}

/* taxonomy
------------------------------ */
#sunglass_h1{
	background-image: url(../images/sunglass_h1.jpg);
}
#brand_h1{
	background-image: url(../images/brand_h1.jpg);
}
.tax .pict{
	width: 340px;
	height: 247px;
	margin-right: 26px;
}
#contents_detail .term{
	padding-top: 30px;
	padding-bottom: 0;
}
#contents_detail .main_pict{
	width: 530px;
	height: auto;
	margin-left: 32px;
	margin-bottom: 80px;
}
#contents_detail .main_pict img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#contents_detail h1,
#contents_detail h2,
.caution_list h2{
	font-size: 22px;
	line-height: 1em;
	margin-right: 562px;
	margin-bottom: 24px;
	padding-bottom: 10px;
	border-bottom: 1px solid #E2E0E0;
}
#contents_detail .main_text{
	margin-bottom: 80px;
}
#contents_detail .loop_box{
	margin-bottom: 60px;
}
#contents_detail .loop_box .pict{
	width: 340px;
	height: 247px;
	margin-right: 38px;
}
#contents_detail h2{
	margin: 0 0 20px 378px;
	text-align: left;
	letter-spacing: .02em;
}
#contents_detail .loop_box p{
	line-height: 26pt;
	padding-left: 378px;
}
#contents_detail h2.product_title{
	margin-left: 0;
	margin-bottom: 36px;
}
#contents_detail .product_list{
	letter-spacing: -.4em;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
#contents_detail .product_list li{
	position: relative;
	display: inline-block;
	width: 245px;
	height: auto;
	line-height: 20pt;
	letter-spacing: .01em;
	margin-right: 33px;
	margin-bottom: 33px;
	vertical-align: top;
}
#contents_detail .product_list li:nth-child(4n){
	margin-right: 0;
}
#contents_detail .product_list li a{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#contents_detail .product_list li a:hover{
	opacity: .5;
}
#contents_detail .product_list li h3{
	font-size: 18px;
	font-weight: 600;
	text-align: center;
	line-height: 18pt;
	letter-spacing: .02em;
	margin-top: 16px;
	margin-bottom: 6px;
}
#contents_detail h3{
	font-size: 18px;
	font-weight: 600;
	margin: 50px 0 10px;
}
#contents_detail h3:first-of-type{
	margin-top: 0;
}
#contents_detail p.fw_6{
	font-weight: 600;
	margin-top: 30px;
}
#contents_detail .flex{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 30px;
}
#contents_detail .flex div{
	max-width: 880px;
	font-size: 18px;
	line-height: 1.7;
	padding: 30px 50px;
	border: 1px solid #303A48;
	background: #FFF;
	box-sizing: border-box;
}
#contents_detail ul.flow{
	display: flex;
	justify-content: space-between;
}
#contents_detail ul.flow li{
	position: relative;
	display: block;
	max-height: 380px;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	text-indent: -1em;
	padding: 2em 20px 10px;
	background: rgba(71,120,142,.3);
	box-sizing: border-box;
}
#contents_detail ul.flow li::after{
	content: "";
	position: absolute;
	display: block;
	width: 28px;
	height: 35px;
	background: url(../images/arrow_right.svg) no-repeat center center;
	background-size: contain;
	top: 0;
	right: -57px;
	bottom: 0;
	margin: auto 0;
}
#contents_detail ul.flow li:last-child::after{
	display: none;
}
#contents_detail h2.product_title.mt50{
	margin-top: 50px;
}
.caution_list{
	position: relative;
	display: block;
	margin: 60px auto;
}
.caution_list h2{
	margin-left: 0!important;
}
.caution_list .pict{
	width: 340px;
	height: 247px;
	margin-right: 38px;
}
.caution_list p{
	letter-spacing: .12em;
}

.frame_brand_list{
	padding-top: 110px;
}
.frame_brand_list h2{
	margin-left: 0!important;
}
.frame_brand_list ul{
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	letter-spacing: -.4em;
}
.frame_brand_list ul li{
	position: relative;
	display: inline-block;
	width: 318px;
	height: auto;
	letter-spacing: .02em;
	font-size: 20px;
	margin-right: 60px;
	margin-bottom: 30px;
}
.frame_brand_list ul li:nth-child(3n){
	margin-right: 0;
}
.frame_brand_list ul li a{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
.frame_brand_list ul li a img{
	position: relative;
	display: block;
	transition: .3s;
	margin: 0 auto;
}
.frame_brand_list ul li span,
.frame_brand_list ul li h3{
	position: relative;
	display: block;
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	transition: .3s;
}
.frame_brand_list ul li a:hover img{
	opacity: .5;
	transition: .3s;
}
.frame_brand_list ul li a:hover span,
.frame_brand_list ul li a:hover h3{
	text-decoration: underline;
	transition: .3s;
}

.term .addtoany_share_save_container{
	display: none;
}
#common_term h1{
	margin-right: 0;
}
#common_term .product_list li.none{
	width: 100%;
	margin-right: 0;
}

/* contact_lens
------------------------------ */
#contact_lens_h1,#smart_h1{
	background-image: url(../images/contact_lens_h1.jpg);
}
#manufacturer p{
	text-align: center;
	margin-bottom: 50px;
}
#manufacturer ul{
	letter-spacing: -.4em;
	text-align: center;
}
#manufacturer ul li{
	position: relative;
	display: inline-block;
	width: 339px;
	height: 80px;
	margin-right: 30px;
	margin-bottom: 28px;
}
#manufacturer ul li:nth-child(3n){
	margin-right: 0;
}
#manufacturer ul li img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#flow ul li{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	letter-spacing: .09em;
	border: 8px solid #47788B;
	margin-bottom: 46px;
	padding: 32px 32px 50px;
	background: #FFF;
	box-sizing: border-box;
}
#flow ul li:after{
	content: "";
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 26px 30px 0 30px;
	border-color: #47788b transparent transparent transparent;
	left: 0;
	right: 0;
	bottom: -26px;
	margin: 0 auto;
}
#flow ul li:last-child:after{
	display: none;
}
#flow ul li .pict{
	width: 309px;
	height: 200px;
	margin-right: 34px;
}
#flow ul li h3{
	color: #303A48;
	font-weight: 600;
	padding-top: 16px;
}
#flow ul li h3 span{
	position: relative;
	display: inline-block;
	width: 53px;
	height: 43px;
	color: #FFF;
	font-size: 15px;
	font-weight: 600;
	line-height: 14pt;
	letter-spacing: .04em;
	text-align: center;
	border-radius: 4px;
	background: #303A48;
	margin-right: 14px;
	padding-top: 7px;
	top: 4px;
}
#flow ul li .caution{
	margin-top: 4px;
	margin-left: 344px;
	font-size: 16px;
}
#mels_plan p{
	text-align: center;
}
#merit ul{
	letter-spacing: -.4em;
}
#merit ul li{
	position: relative;
	display: inline-block;
	width: 280px;
	height: auto;
	margin-right: 118px;
	letter-spacing: .08em;
	vertical-align: top;
}
#merit ul li:last-child{
	margin-right: 0;
}
#merit ul li .pict{
	margin-bottom: 24px;
}
#merit ul li h3{
	text-align: center;
	font-size: 23px;
	font-weight: 600;
	margin-bottom: 12px;
}

/* smart_lens
------------------------------ */
#smart_lens_about p.top_text{
	font-size: 18px;
	text-align: center;
	margin-bottom: 50px;
}
#smart_lens_about ul{
	letter-spacing: -.4em;
	line-height: 0;
}
#smart_lens_about ul li{
	position: relative;
	display: inline-block;
	width: 521px;
	height: 258px;
	line-height: 1.8;
	vertical-align: top;
	letter-spacing: .03em;
	margin: 0 37px 37px 0;
	border: 8px solid #397A77;
	background: #FFF;
	box-sizing: border-box;
}
#smart_lens_about ul li:nth-child(2n){
	margin-right: 0;
}
#smart_lens_about ul li h3{
	position: relative;
	display: block;
	width: 100%;
	height: 55px;
	color: #FFF;
	font-size: 23px;
	font-weight: 600;
	line-height: 55px;
	text-align: center;
	background: #397A77;
	margin-bottom: 20px;
}
#smart_lens_about ul li span{
	display: block;
	padding: 0 30px;
}
#smart_lens_about .pict{
	position: relative;
	display: block;
	width: 980px;
	height: auto;
	margin: 50px auto 0;
}

/* guide
------------------------------ */
#guide_h1{
	background-image: url(../images/guide_h1.jpg);
}
#sitemap,#site_policy{
	padding-top: 150px;
	margin-top: -80px;
}
#sitemap ul{
	width: 325px;
	height: auto;
	margin-right: 52px;
}
#sitemap ul:last-of-type{
	margin-right: 0;
}
#sitemap ul li.main{
	position: relative;
	display: block;
	height: 55px;
	color: #FFF;
	font-weight: 600;
	line-height: 55px;
	letter-spacing: .15em;
	margin-bottom: 20px;
	padding-left: 30px;
	background: #397A77;
}
#sitemap ul li.sub_menu{
	margin-left: 1em;
}
#sitemap ul li.sub_menu:before{
	content: ">";
	font-family: Krungthep, Helvetica, sans-serif;
	margin-right: 5px;
}

/* site_policy */
#site_policy h3{
	position: relative;
	display: block;
	height: 55px;
	color: #FFF;
	font-size: 16px;
	font-weight: 600;
	line-height: 55px;
	margin-bottom: 20px;
	padding-left: 24px;
	background: #303A48;
}
#site_policy p{
	margin-bottom: 40px;
}
#site_policy p:last-child{
	margin-bottom: 0;
}

/* hearing aid
------------------------------ */
#hearing_aid_h1{
	background-image: url(../images/hearing_aid_h1.jpg);
}
#case p{
	text-align: center;
	margin-top: 24px;
}
#case ul{
	letter-spacing: -.4em;
	text-align: center;
}
#case ul li{
	position: relative;
	display: inline-block;
	width: 280px;
	height: auto;
	letter-spacing: .08em;
	margin-right: 120px;
	text-align: left;
}
#case ul li:last-child{
	margin-right: 0;
}
#case ul li h3{
	color: #303A48;
	font-size: 23px;
	font-weight: 600;
	line-height: 24pt;
	margin-top: 24px;
	padding-left: 45px;
	background: url(../images/check.svg) no-repeat top left;
	-webkit-background-size: 32px auto;
	background-size: 32px auto;
}
#flow ul li ol.pict{
	height: auto;
	margin-bottom: 90px;
}
#flow ul li ol.pict li{
	width: 309px;
	height: 200px;
	padding: 0;
	margin: 0 0 35px;
	border: 0;
	background: none;
}
#flow ul li ol.pict li:after{
	display: none;
}
#flow ul li h4{
	color: #303A48;
	font-size: 20px;
	padding-top: 24px;
}
#flow ul li h4.border_b{
	position: relative;
	display: block;
	margin-top: 22px;
	margin-left: 345px;
	border-top: 1px dashed #E1E1E1;
}
#flow ul li h4:before{
	content: "●";
}
#reason p,#effect p,
#hearing_type p{
	text-align: center;
	margin-bottom: 40px;
}
#type .column_box,
#hearing_type .column_box{
	position: relative;
	display: block;
	height: 360px;
	border: 8px solid #397A77;
	background: #FFF;
	box-sizing: border-box;
	margin-bottom: 45px;
}
#hearing_type .column_box{
	display: inline-block;
	width: 335px;
	height: 308px;
	margin-right: 37px;
	vertical-align: top;
	letter-spacing: .1em;
}
#hearing_type ul{
	letter-spacing: -.4em;
}
#hearing_type .column_box:last-child{
	margin-right: 0;
}
#type .column_box h3,
#hearing_type .column_box h3{
	position: relative;
	display: block;
	width: 100%;
	height: 55px;
	color: #FFF;
	font-size: 23px;
	font-weight: 600;
	line-height: 55px;
	text-align: center;
	margin-bottom: 33px;
	background: #397A77;
}
#hearing_type .column_box h3{
	margin-bottom: 20px;
}
#hearing_type .column_box span{
	position: relative;
	display: block;
	padding: 0 30px;
	line-height: 21pt;
}
#type .column_box .pict{
	width: 250px;
	height: 230px;
	margin-right: 33px;
}
#type .column_box p{
	line-height: 20pt;
	letter-spacing: .2em;
	margin: 0 33px 21px 283px;
}
#type .column_box ul{
	text-align: center;
	margin-left: 283px;
	letter-spacing: -.4em;
}
#type .column_box ul li.pict{
	position: relative;
	display: inline-block;
	width: 238px;
	height: 150px;
}
#type .column_box:nth-last-child(2) .pict:nth-of-type(2){
	position: relative;
	display: block;
	float: right;
	width: 684px;
	height: 109px;
	margin-right: 80px;
}
#type .column_box:last-of-type .pict:nth-of-type(2){
	position: relative;
	display: block;
	width: 572px;
	height: 121px;
	margin-left: 80px;
}
#service .pict{
	width: 357px;
	height: 210px;
	margin-right: 26px;
}
#service p{
	padding-top: 16px;
}

/* shop
------------------------------ */
#shop_kitanarashino_h1,
#shop_tokiwadaira_h1{
	background-image: url(../images/shop_h1.jpg);
}
#kita_narashino,#tokiwa_daira{
	z-index: 1;
}
#kita_narashino .pict,
#tokiwa_daira .pict{
	width: 495px;
	height: 315px;
	background: #666;
}
#kita_narashino .detail,
#tokiwa_daira .detail{
	padding-right: 556px;
	padding-top: 20px;
}
#kita_narashino dl dt,
#tokiwa_daira dl dt{
	position: relative;
	display: block;
	float: left;
	width: 140px;
	padding: 20px 0 16px;
	line-height: 1em;
}
#kita_narashino dl dd,
#tokiwa_daira dl dd{
	border-bottom: 1px dashed #ACACAC;
	padding: 20px 0 16px;
	line-height: 1em;
}
#kita_narashino dl,
#tokiwa_daira dl{
	margin-bottom: 30px;
}
#access,#staff{
	padding-top: 150px;
	margin-top: -150px;
}
#access #ggmap,#access #ggmap2{
	position: relative;
	display: block;
	width: 100%;
	height: 450px;
	background: #CCC;
	margin-bottom: 35px;
}
#access ul{
	letter-spacing: -.4em;
}
#access ul li{
	position: relative;
	display: inline-block;
	width: 503px;
	letter-spacing: .08em;
	vertical-align: top;
}
#access ul li:first-child{
	margin-right: 74px;
}
#access ul li h3{
	position: relative;
	display: block;
	font-size: 23px;
	font-weight: 600;
	margin: 0 auto 20px;
	border-bottom: 1px dashed #ACACAC;
	padding-left: 32px;
}
#access ul li:first-child h3{
	background: url(../images/train.svg) no-repeat left center;
	-webkit-background-size: 20px 23px;
	background-size: 20px 23px;
}
#access ul li:nth-child(2) h3{
	background: url(../images/car.svg) no-repeat left center;
	-webkit-background-size: 23px auto;
	background-size: 23px auto;
}
#access ul li .blue{
	color: #397A77;
}
#access ul li .caution{
	font-size: 16px;
	line-height: 24pt;
	margin-top: 4px;
}
#parking .ggmap-2{
	margin-bottom: 30px;
}
#parking .ggmap-2,
#parking .ggmap-2 img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}

#staff{
	padding-bottom: 0;
}
#staff ul{
	letter-spacing: -.4em;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
#staff ul li{
	position: relative;
	display: inline-block;
	width: 315px;
	height: auto;
	letter-spacing: .08em;
	margin-right: 66px;
	margin-bottom: 55px;
}
#staff ul li:nth-child(3n){
	margin-right: 0;
}
#staff ul li .pict{
	position: relative;
	display: block;
	width: 315px;
	height: 270px;
	background: #666;
	margin-bottom: 18px;
}
#staff ul li h3{
	font-size: 16px;
	font-weight: 600;
	border-bottom: 1px dashed #DFDFDF;
	margin-bottom: 15px;
}
#staff ul li h3 span{
	position: relative;
	display: inline-block;
	float: right;
	font-size: 14px;
	font-weight: 500;
}

/* company
------------------------------ */
#company_h1{
	background-image: url(../images/company_h1.jpg);
}
#greeting .pict{
	position: relative;
	display: block;
	width: 360px;
	height: 270px;
	margin-left: 36px;
}
#company #profile table tr td a{
	position: relative;
	display: inline-block;
	color: #397A77;
	font-weight: 600;
	text-decoration: underline;
	margin-left: 100px;
	margin-right: 30px;
}
#company #profile table tr td a:hover{
	text-decoration: none;
}

/* question
------------------------------ */
#question_h1{
	background-image: url(../images/faq_h1.jpg);
}
#question section{
	padding-top: 150px;
	margin-top: -150px;
}
#question section:first-of-type{
	padding-top: 60px;
	margin-top: 0;
	z-index: 5;
}
#question .cat_list{
	letter-spacing: -.4em;
}
#question .cat_list li{
	position: relative;
	display: inline-block;
	width: 250px;
	height: 70px;
	text-align: center;
	letter-spacing: .08em;
	vertical-align: top;
	margin-right: 26px;
}
#question .cat_list li:nth-child(4){
	margin-right: 0;
}
#question .cat_list li a:after{
	content: ">";
	position: absolute;
	display: block;
	color: #FFF;
	top: 22px;
	right: 20px;
	margin-left: 34px;
}
#question .cat_list li a{
	position: relative;
	display: block;
	width: 210px;
	height: 48px;
	color: #FFF;
	font-size: 18px;
	line-height: 18pt;
	padding: 22px 20px 0;
	background: #303A48;
}
#question .cat_list li:nth-child(3) a{
	height: 60px;
	padding-top: 10px;
}
#question .cat_list li a:hover{
	background: #397A77;
}
#question h2{
	font-size: 23px;
	color: #333;
	font-weight: 500;
	text-align: left;
	line-height: 1em;
	margin-bottom: 20px;
}
.faq_list_box dt{
	position: relative;
	display: block;
	height: auto;
	cursor: pointer;
	padding: 0 24px;
	color: #FFF;
	line-height: 53px;
	background: #303A48;
	margin-top: 20px;
}
.faq_list_box dt:first-child{
	margin-top: 0;
}
.faq_list_box dt:after{
	content: "\f056";
	position: absolute;
	display: block;
	font-family: "Font Awesome 5 Free";
	font-weight: 600;
	transition: .3s;
	top: 0;
	right: 20px;
	bottom: 0;
	margin: auto 0;
}
.faq_list_box dt.active:after{
	-moz-transform: translate(0,50%);
	-ms-transform: translate(0,50%);
	-webkit-transform: translate(0,50%);
	transform: translate(0,50%);
	-moz-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
	transition: .3s;
}
.faq_list_box dd{
	display: none;
	padding: 20px 20px 24px;
	letter-spacing: .15em;
	max-height: 100%;
	background: #FFF;
	box-sizing: border-box;
	border: 1px solid #E3E3E3;
}
.faq_list_box dd a{
	text-decoration: underline;
}
.faq_list_box dd a:before{
	content: ">>";
}
.faq_list_box dd a:hover{
	text-decoration: none;
}
.faq_list_box dd .caution{
	font-size: 16px;
	margin-top: 4px;
}
#shop_about{
	z-index: 3;
}
#product_about{
	z-index: 2;
}
#security_about{
	z-index: 1;
}

/* news
------------------------------ */
#news{
	width: 726px;
	padding-bottom: 0;
}
#news_h1{
	background-image: url(../images/news_h1.jpg);
}
.news_list{
	padding-top: 0!important;
}
#news_detail{
	padding-top: 50px!important;
	margin-top: -50px;
}
.news_list li{
	position: relative;
	display: block;
	padding: 36px 0;
	border-top: 1px solid #E2E0E0;
}
.news_list li:last-child{
	border-bottom: 1px solid #E2E0E0;
}
.news_list .pict{
	position: relative;
	display: block;
	width: 210px;
	height: 155px;
	margin-right: 26px;
}
.news_list .pict:hover{
	opacity: .7;
}
.news_list .pict img{
	position: relative;
	display: block;
	width: 210px;
	height: 155px;
}
.news_list .date,
.tag_list .date{
	position: relative;
	display: inline-block;
	font-size: 14px;
}
.news_list .tag,
.tag_list .tag{
	position: relative;
	display: inline-block;
	width: 120px;
	height: 20px;
	color: #FFF;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: .08em;
	text-align: center;
	border-radius: 3px;
	background: #477889;
	margin-left: 30px;
}
.news_list h3{
	font-size: 22px;
	font-weight: 600;
	margin-top: 10px;
	margin-bottom: 4px;
}
.news_list h3 a:hover{
	color: #397A77;
}
.pb150{
	padding-top: 50px;
	padding-bottom: 150px;
}
.pb150 .contact_box{
	margin-top: 140px;
}

/* page-nav */
ul.page_navi,ul.page_navi li{
	display: none;
}
ul.page-nav{
	clear: both;
	float: none;
	margin: 50px auto;
	text-align: center;
}
.page-nav li{
	display: inline-block;
	list-style: none outside none;
	width: 30px;
	height: 32px;
	box-sizing: border-box;
	border: 0;
	padding: 0;
}
.page-nav li a{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid #A9A9A9;
	color: #4D4D4D;
	text-decoration: none;
	box-sizing: border-box;
}
.page-nav li a:hover{
	border-color: #397A77;
	color: #397A77;
}
.page-nav li a:active{
	box-shadow: 0 0 3px rgba(0,0,0,0.2) inset;
	top:1px;
}
.page-nav li.current span {
	border: 1px solid #397A77;
	background: #397A77;
	color: #FFF;
	font-weight: bold;
}
.page-nav li.first span,
.page-nav li.previous span,
.page-nav li.next span,
.page-nav li.last span {
	background: rgb(248,248,248);
	border: 1px solid rgb(230,230,230);
	color: rgb(180,180,180);
	text-decoration: none;
}
.page-nav li.page_nums span {
	background: rgb(102,102,102);
	border: 1px solid rgb(51,51,51);
	color: rgb(255,255,255);
}
.page-nav li a,
.page-nav li.current span,
.page-nav li.first span,
.page-nav li.previous span,
.page-nav li.next span,
.page-nav li.last span,
.page-nav li.page_nums span {
	padding: 0 10px;
	display: inline-block;
	position: relative;
	line-height: 30px;
}

/* single
------------------------------ */
#news_detail{
	padding-bottom: 0;
}
#news_detail .text_box{
	padding-bottom: 60px;
	border-bottom: 1px solid #E2E0E0;
}
#news_detail h1{
	font-size: 22px;
	letter-spacing: .15em;
	line-height: 1em;
	border-bottom: 1px solid #E2E0E0;
	margin-bottom: 38px;
	padding-top: 46px;
	padding-bottom: 10px;
}
#news_detail .tag_list{
	position: absolute;
	display: block;
	top: 50px;
}
#news_detail .contents p{
	letter-spacing: .19em;
}
#news_detail .contents img{
	max-width: 100%;
	height: auto;
}

#news_detail .sns_box p{
	text-align: center;
	margin-top: 30px;
	margin-bottom: 10px;
}
#news_detail .addtoany_list,
#news_detail .widget .addtoany_list{
	letter-spacing: -.4em;
}
#news_detail .addtoany_list a,
#news_detail .widget .addtoany_list a{
	position: relative;
	display: inline-block;
	height: 40px;
	padding: 0;
	transition: .3s;
}
#news_detail .addtoany_list a:hover,
#news_detail .widget .addtoany_list a:hover{
	transition: .3s;
}

.adjacent_post_links {
	margin: 10px 0 0;
	font-size: 87.5%;
	line-height: 1.4em;
	letter-spacing: 0.05em;
}
.adjacent_post_links ul {
	margin: 40px auto 0;
	width: 254px;
}
.adjacent_post_links ul:after {
	clear: both;
	content: ".";
	display: block;
	font-size: 0;
	height: 0;
	visibility: hidden;
}
.adjacent_post_links li {
	width: 119px;
	height: auto;
}
.adjacent_post_links li a {
	position: relative;
	display: block;
	vertical-align: middle;
	text-decoration: none;
	color: #397A77;
	line-height: 32px;
	text-align: center;
	border: 1px solid #E2E0E0;
	padding: 0 8px;
	background: #FFF;
}
.adjacent_post_links li a:hover {
	color: #FFF;
	border-color: #397A77;
	background: #397A77;
}
.adjacent_post_links li a:before{
	content: "« ";
	position: relative;
	display: inline-block;
}
.adjacent_post_links li.previous {
	float: left;
}
.adjacent_post_links li.next{
	float: right;
}
.adjacent_post_links li.next a:before{
	display: none;
}
.adjacent_post_links li.next a:after{
	content: " »";
}

/* contact
------------------------------ */
#contact_h1,#thanks_h1,#yonmaruyon_h1{
	background-image: url(../images/contact_h1.jpg);
}
#tel_contact .tel_box,
#thanks .tel_box{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid #397A77;
	background: #FFF;
	box-sizing: border-box;
}
#tel_contact .tel_box h3,
#thanks .tel_box h3{
	position: relative;
	display: block;
	width: 100%;
	color: #FFF;
	font-size: 22px;
	text-align: center;
	line-height: 52px;
	background: #397A77;
	margin-bottom: 0;
}
#tel_contact .tel_box ul li,
#thanks .tel_box ul li{
	font-size: 20px;
	font-weight: 600;
	padding: 40px 76px;
	letter-spacing: .2em;
}
/*#tel_contact .tel_box ul li:first-child,
#thanks .tel_box ul li:first-child{
	border-bottom: 1px dashed #E3E3E3;
}*/
#tel_contact .tel_box ul li .shop_name,
#thanks .tel_box ul li .shop_name{
	position: relative;
	display: block;
	font-size: 25px;
	letter-spacing: .2em;
	padding-left: 36px;
	background: url(../images/home.svg) no-repeat center left;
	-webkit-background-size: 28px auto;
	background-size: 28px auto;
	margin-bottom: 20px;
}
#tel_contact .tel_box ul li .tel,
#thanks .tel_box ul li .tel{
	color: #397A77;
	font-size: 40px;
	font-family: Futura, sans-serif;
	letter-spacing: .05em;
	margin-right: 30px;
}
#contact_form table tr th{
	background: #397A77;
}
#contact_form input[type="text"],
#contact_form input[type="tel"],
#contact_form input[type="email"]{
	font-size: 16px;
	width: 419px!important;
	height: 39px!important;
}
#contact_form textarea{
	font-size: 16px;
	width: 728px!important;
}

#privacy_policy{
	position: relative;
	display: block;
	height: 210px;
	border: 1px solid #E3E3E3;
	background: #FFF;
	margin: 36px auto 42px;
}
#content-1{
	position: relative;
	display: block;
	width: 1070px;
	height: 210px;
	margin: 0 auto;
}
#content-1 .mCSB_scrollTools{
	height: 200px!important;
	margin: auto 0;
}
#content-1 .mCSB_inside > .mCSB_container{
	margin-right: 0!important;
}
#content-1 .mCSB_scrollTools .mCSB_draggerRail{
	width: 8px!important;
	background-color: rgba(0,0,0,0)!important;
}
#content-1 .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
	width: 8px!important;
	background-color: #303A48!important;
}
#content-1 h3{
	font-size: 16px;
	font-weight: 600;
	color: #303A48;
	margin: 0 0 4px;
	padding: 20px 0 0 36px;
	background: none;
}
#content-1 h3:before{
	display: none;
}
#content-1 p{
	font-size: 14px;
	text-align: left;
	padding: 0 36px 10px;
	margin-bottom: 0;
}
.check_text{
	position: relative;
	display: block;
	font-size: 16px;
	text-align: center;
	margin-bottom: 20px!important;
}
.check_text label{
	cursor: pointer;
}
.check_text label input[type="checkbox"]{
	position: relative;
	width: 25px;
	height: 25px;
	margin: 0;
	top: -2px;
}
#mailformpro .submit{
	position: relative;
	display: block;
	width: 230px;
	height: 47px;
	color: #333;
	font-size: 18px;
	font-weight: 600;
	border: 1px solid #000;
	background: #FFF;
	line-height: 20px;
	letter-spacing: .2em;
	border-radius: 25px;
	padding-top: 6px;
	cursor: pointer;
	transition: .3s;
	margin: 0 auto;
	box-sizing: border-box;
	box-shadow: none;
	overflow: hidden;
	cursor: pointer;
}
#mailformpro .submit span{
	position: relative;
	display: inline-block;
	font-weight: 500;
	top: -3px;
	right: -70px;
}
#mailformpro .submit:hover{
	background: #397A77;
	color: #FFF;
	border: 1px solid #397A77;
	cursor: pointer;
}
#mailformpro .submit[disabled]{
	opacity: .8;
	cursor: default;
}
#mailformpro .submit[disabled]:hover{
	opacity: 0.8;
	cursor: default;
	color: #FFF;
	background: #009B96;
}

/* Thanks
------------------------------ */
#thanks p.main_text{
	text-align: center;
}
#thanks .tel_box{
	margin: 30px auto;
}
#thanks_detail .btn a{
	width: 350px;
	margin-top: 50px;
}

/* 404
------------------------------ */
#yonmaruyon section{
	text-align: center;
}

/* aside
------------------------------ */
#sidebar{
	position: relative;
	display: block;
	width: 270px;
	height: auto;
	padding-top: 50px;
}
#sidebar h3{
	position: relative;
	display: block;
	font-size: 18px;
	font-weight: 600;
	padding-left: 24px;
	background: url(../images/glass.svg) no-repeat center left;
	-webkit-background-size: 18px 14px;
	background-size: 18px 14px;
	margin-bottom: 16px;
}
#sidebar ul li{
	position: relative;
	display: block;
	padding: 20px 0;
	border-top: 1px solid #E2E0E0;
}
#sidebar ul li:last-child{
	margin-bottom: 70px;
}
#sidebar ul li .date{
	position: relative;
	display: block;
	letter-spacing: .15em;
}
#sidebar ul li a{
	font-size: 16px;
}
#sidebar ul li a:hover{
	color: #397A77;
}
#sidebar .category_list li{
	padding: 16px 0;
}
#sidebar .category_list li:last-child{
	margin-bottom: 42px;
	border-bottom: 1px solid #E2E0E0;
}
#sidebar .category_list li a{
	font-size: 14px;
}
#sidebar .bnr a,
#sidebar .bnr a img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#sidebar .bnr a:hover{
	opacity: .7;
}
#sidebar .news_box{
	margin-bottom: 40px;
}

/* Footer
------------------------------ */
footer{
	position: relative;
	display: block;
	height: 330px;
	background: rgba(71,120,142,.3);
	padding-top: 70px;
}
footer .wrapper{
	padding-bottom: 77px;
}
.footer_logo a{
	position: relative;
	display: block;
	width: 350px;
	height: 60px;
	text-indent: -9999px;
	background: url(../images/logo.svg) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	margin-bottom: 40px;
}
.footer_logo a:hover{
	opacity: .7;
}
footer .fl_l p{
	padding-left: 10px;
}
footer .fl_l .btn a{
	margin-top: 27px;
}
#footer_menu ul{
	width: 167px;
	margin-right: 64px;
}
#footer_menu ul:last-of-type{
	margin-right: 0;
}
#footer_menu ul li{
	font-size: 16px;
	margin-bottom: 4px;
}
#footer_menu ul li.main_menu{
	position: relative;
	display: block;
	font-size: 18px;
	font-weight: 600;
	line-height: 1em;
	margin-bottom: 30px;
	padding-bottom: 24px;
	color: #3D6080;
}
#footer_menu ul li.main_menu:after{
	content: "";
	position: absolute;
	display: block;
	width: 34px;
	height: 1px;
	background: #3D6080;
	bottom: 0;
}
#footer_menu ul li a{
	color: #222;
}
#footer_menu ul li a.contact,
#footer_menu ul li a.facebook,
#footer_menu ul li a.instagram{
	position: relative;
	display: inline-block;
	vertical-align: top;
}
#footer_menu ul li a.contact span,
#footer_menu ul li a.facebook span,
#footer_menu ul li a.instagram span{
	position: relative;
	display: block;
	text-indent: -9999px;
}
#footer_menu ul li a.contact:before,
#footer_menu ul li a.facebook:before,
#footer_menu ul li a.instagram:before{
	font-weight: 900;
	font-size: 26px;
	transition: .3s;
}
#footer_menu ul li a.contact:before{
	content: "\f0e0";
	font-family: "Font Awesome 5 Free";
}
#footer_menu ul li a.facebook:before{
	content: "\f39e";
	font-family: "Font Awesome 5 Brands";
	margin-left: 8px;
}
#footer_menu ul li a.instagram:before{
	content: "\f16d";
	font-family: "Font Awesome 5 Brands";
	margin-left: 8px;
}
#footer_menu ul li a:after{
	border-color: #222;
	margin-top: -4px;
}
#footer_menu ul li.main_menu a{
	color: #3D6080;
}
#footer_menu ul li.main_menu a:after{
	border-color: #3D6080;
	margin-top: 0;
}
#footer_menu ul li a.contact:hover:before,
#footer_menu ul li a.facebook:hover:before{
	opacity: .7;
	transition: .3s;
}
#copyright{
	position: relative;
	display: block;
	line-height: 1em;
	text-align: center;
	border-top: 5px solid #008C88;
	padding: 20px 0 14px;
}
#copyright a:after{
	margin-top: -1px;
}


/* page top */
.pagetop {
	position: fixed;
	bottom: 60px;
	right: 60px;
	opacity: 0;
	filter: alpha(opacity=0);
	-webkit-transform: scale(1.5);
	-moz-transform: scale(1.5);
	-ms-transform: scale(1.5);
	-o-transform: scale(1.5);
	transform: scale(1.5);
	-webkit-transition: all .5s;
	-moz-transition: all .5s;
	-o-transition: all .5s;
	transition: all .5s;
	z-index: 100000!important;
}
.pagetop a{
	display: block;
	width: 46px;
	height: 36px;
	background: #FFF;
	font-family: Krungthep, Helvetica, sans-serif;
	border: 2px solid #363636;
	text-align: center;
	color: #000;
	font-size: 25px;
	padding-top: 10px;
	border-radius: 30px;
	-moz-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	-webkit-transform: rotate(-90deg);
	transform: rotate(-90deg);
}
.pagetop.show{
	opacity: 1;
	filter: alpha(opacity=100);
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}
.pagetop a:hover{
	text-decoration: none;
	color: #FFF;
	border-color: #008C88;
	background: #008C88;
	padding-left: 10px;
	width: 36px;
}