@charset "utf-8";
/*----------------------------------------------------------------------------------------------------------
	スマホ用（～768px）
------------------------------------------------------------------------------------------------------------*/
* {
	margin:0;
	padding:0;
}
html,body { height:100%;}
body {
	margin:0;
	font-size:100%;
	line-height:175%;
	color:#322e1a;
	font-size:100%;
	background:fff;
	-webkit-text-size-adjust: 100%;
	font-family:"ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", verdana, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}
article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary { display:block;}

a			{color:#2D60C3;	text-decoration: none;}
a:hover		{color:#3fa9f5;	text-decoration: none;}
ol,ul,li	{list-style:none;	margin:0;	padding:0;}
img			{border:0;	width: 100%;	height: auto;	vertical-align:bottom;}
p			{margin: 0 0 1em 0;}
hr			{height: 0;	padding: 0;	border: 0;	border-top:1px dotted #736357;	margin:1rem 0;	clear:both;}
strong		{font-weight:bold;}
small		{font-size:0.88em;}
table		{border:0;	border-collapse:collapse;}
table td,
table th	{vertical-align: top;	text-align: left;	font-weight: normal;}

/* clearfix */
.clearfix 		{zoom:1;/*for IE 5.5-7*/}
.clearfix:after {content:".";	display: block;	height:0px;	clear:both;	visibility:hidden;	font-size: 0.1em;	line-height:0;}
.clear 			{clear:both; margin:0;}

.center		{text-align: center;}
.right		{text-align: right;}
.left		{text-align: left;}
.inline		{margin: 0 0 0 1rem;}
.sp_none	{display:none;}
.pc_none	{}
.txt_line01{background: url(../image/common/bg_line02.png) repeat-x 0% 100%;
	background-size: 20px;
	padding: 0 2px 3px 2px;
	
}

/*ヘッダー（sp）
*************************************************/
header{
	height: 55px;
	border-top: 3px solid #cb0100;
	box-sizing: border-box;
}
header:after{content:".";	display: block;	height:0px;	clear:both;	visibility:hidden;	font-size: 0.1em;	line-height:0;}
h1.h1_logo01{
	padding: 5px 0 0 0.5rem;
}
h1.h1_logo01 img	{width: 100px;}
h1.h1_logo01 .sub	{display: none;}
nav#nav_global_pc01	{display: none;}
nav#nav_global_pc02	{display: none;}
address				{display: none;}

/*ページタイトル（sp）
*************************************************/
#pageTitle{
	width: 100%;
	height: 60px;
	margin-bottom: 1rem;
	text-align: center;
}
h1.h1_pageTitle01{
	display: inline-block;
	color: #1a1a1a;
	font-size: 1.38rem;
	border-bottom: 3px solid #cb0100;
	text-shadow: 0px 0px 2px #fff;
	margin: 12px 0 0 0;
}

/*コンテンツ共通（sp）
*************************************************/
article{padding: 0 0 100px 0;}
section{margin:0 0 2rem 0;}
.innar{
	width:100%;
	margin: 0 auto;
	padding: 0 1rem;
	box-sizing: border-box;
}
.box_beg01,
.box_gry01{
	background: #f0ede3;
	border-radius: 8px;
	padding: 0.75rem 1rem;
	margin:0 0 1rem 0;
}
.box_gry01{background: #ebebeb;}

/*h2,h3…*****/
h2.h2_com01{
	font-size: 1.13rem;
	margin-bottom: 1rem;
	padding: 5px 0 5px 34px;
	background-image: url(../image/common/bg_line01.png), url(../image/common/icn_pc01.png);
	background-size: 20px, 24px;
	background-position: 0% 100%, 0% 50%;
	background-repeat: repeat-x, no-repeat;
}
h2.h2_com02{
	font-size: 1.13rem;
	margin-bottom: 1rem;
	padding: 5px 0 5px 34px;
	background-image: url(../image/common/bg_line01.png), url(../image/common/icn_clip01.png);
	background-size: 20px, 22px;
	background-position: 0% 100%, 0% 50%;
	background-repeat: repeat-x, no-repeat;
}
h2.h2_com03{
	font-size: 1.13rem;
	margin-bottom: 1rem;
	padding: 5px 0;
	background: url(../image/common/bg_line01.png) repeat-x 0% 100%;
	background-size: 20px;
}
h3.h3_com01{
	font-size: 1rem;
	margin-bottom: 0.5rem;
	color:#cb0100;
}
h3.h3_com01:before{
	content: '';/*何も入れない*/
	display: inline-block;/*忘れずに！*/
	width: 13px;
	height: 13px;
	background: #cb0100;
	border-radius: 50%;
	vertical-align: middle;
	margin: 0 3px 0 0;
}
h3.h3_com02{
	font-size: 1rem;
	display: inline;
	background: url(../image/common/bg_line02.png) repeat-x 0% 100%;
	background-size: 20px;
	padding: 0 0 5px 2px;
}
h3.h3_com02:after{
	display: inline-block;/*'inline-block'以外ではmarginが効かない*/
	content: ".";/*空欄ではmarginが効かない*/
	visibility:hidden;
	margin-bottom: 0.5rem;
}
h3.h3_com03{
	font-size: 1rem;
	margin-bottom: 0.5rem;
	font-weight: normal;
	line-height: 100%;
	display: inline-block;
	background: #322e1a;
	color: #fff;
	padding: 4px 10px;
}
h3.h3_com04{
	font-size: 1rem;
	margin-bottom: 0.5rem;
	border-bottom: 1px dotted #736357;
}

/*リスト*****/
ul.ul_com01{margin-bottom: 1rem;}
ul.ul_com01 li{position: relative;padding-left: 1rem;}
ul.ul_com01 li:before{
	position: absolute;
	content: " ";
	height: 11px;
	width: 11px;
	display: block;
	float: left;
	border-radius: 50%;
	margin:8px 0 0 -1rem;
	background-color:#322e1a;
}
ul.ul_com03{margin-bottom: 1rem;}
ul.ul_com03 li{position: relative;padding-left: 1rem;}
ul.ul_com03 li:before{
	position: absolute;
	content: " ";
	height: 5px;
	width: 5px;
	display: block;
	float: left;
	border-radius: 50%;
	margin:12px 0 0 -12px;
	background-color:#322e1a;
}
ul.ul_com02{margin-bottom: 1rem;}
ul.ul_com02 li{
	padding-left: 1rem;
	background: url(../image/common/icn_arrow03.png) no-repeat 0px 9px;
	background-size: 10px;
}
ol.ol_com01		{margin-bottom:1em;}
ol.ol_com01		{margin-left: 20px;}
ol.ol_com01 li	{list-style:decimal;	margin:0 0 0.5em 0;}

/*テーブル*****/
table.table_com01{
	margin-bottom: 1rem;
	width: 100%;
	border-bottom: 1px solid #ccc;
}
table.table_com01 th{
	background: #e5e5e5;
	color: #1a1a1a;
	font-weight: bolder;
	border-bottom: 1px solid #fff;
	min-width: 50px;
	padding: 5px 10px;
}
table.table_com01 td{
	border-bottom: 1px solid #ccc;
	padding: 5px 10px;
}
table.table_com01 tr:last-child th{border-bottom:none;}
table.table_com01 tr:last-child td{border-bottom:none;}

/*ボタン*****/
a.btn_light01{
	display: inline-block;
	line-height: 100%;
	font-size: 0.81rem;
	color: #322e1a;
	border: 1px solid #322e1a;
	background: url(../image/common/icn_arrow04.png) no-repeat right 10px top 50%;
	background-size: 5px;
	box-sizing: border-box;
	padding: 3px 18px 3px 12px;
	margin: 2px 0;
}
a.btn_light01:hover{opacity: 0.5;}
a.btn_red01{
	display: block;
	line-height: 125%;
	font-size: 1.13rem;
	text-align: center;
	color: #cb0100;
	border: 2px solid #cb0100;
	background: url(../image/common/icn_arrow02.png) no-repeat 97% 50%;
	background-size: 18px;
	box-sizing: border-box;
	padding: 12px;
	max-width: 660px;
	margin: 0 auto;
}
a.btn_red01:hover{opacity: 0.5;}

/*フッター（sp）
*************************************************/
footer{
	position: relative;
	font-size: 0.88rem;
	line-height: 150%;
	background: url(../image/common/bg_stripe01.png) repeat 0 0;
	background-size: 48px;
	padding: 0 0 1rem 0;
}
footer .innar{
	padding: 0 2rem;
}
footer hr{
	height: 4px;	margin: 0;	padding: 0;	border: 0;	margin: 3rem 0 1rem 0;	clear: both;
	background: url(../image/common/bg_line01.png) repeat-x 0 0;
	background-size: 20px;
}
.bosyu{
	width: 210px;
	position: absolute;
	top: -90px;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.gaikan{display: none;}

#footer_contents{
	padding: 140px 0 0 0;
}
#footer_contents h1.h1_footer01{
	font-size: 1.13rem;
	border-bottom: 1px dotted #736357;
	line-height: 175%;
	margin-bottom: 1rem;
}
#footer_contents p{margin-bottom:0.5em;}
#footer_contents p.tel{
	font-size: 1.63rem;
	font-family: 'Comfortaa', cursive;
	font-weight: 400;
	background: url(../image/common/icn_tel02.png) no-repeat 0 45%;
	background-size: 28px;
	padding: 4px 0 4px 32px;
}
table.table_footer01{
	width: 100%;
	max-width: 310px;
	margin: 1rem 0 0.5rem 0;
}
table.table_footer01 th{padding: 0 3px 0 0;	max-width:105px;}
table.table_footer01 td{padding: 0 3px;		text-align: center;}
table.table_footer01 td.day{font-size: 0.75rem;}

#nav_footer01{display: none;}
#nav_footer02{text-align: center;}
.copyright{
	text-align: center;
	color: #666666;
	font-size: 0.75rem;
	font-family: 'Comfortaa', cursive;
	font-weight: 400;
	padding: 0.5rem 0;
}
/* ボタン_ページトップ */
.btn_pagetop {
	display: none;
	position: fixed;
	bottom: 0;
	right: 0;
	width:80px;
	height:80px;
}


/*-------------------------------------------------------------------------------------------------------------------------------
	タブレット用（768px～）
---------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width:768px){

.sp_none	{display:block;}
.pc_none	{display: none;}
/*ヘッダー（tab）
*************************************************/
header{
	height: 132px;
	border-top: 5px solid #cb0100;
	position: relative;
}
h1.h1_logo01{
	padding: 0.75rem 0 0 1rem;
	float: left;
	width: 25%;
	box-sizing: border-box;
}
h1.h1_logo01 img{
	width: 180px;
	margin-bottom: 3px;
}
h1.h1_logo01 .sub{
	display: block;
	width: 180px;
	padding: 2px 0;
	background: #b90e0e;
	font-size: 0.75rem;
	font-weight: normal;
	line-height: 100%;
	text-align: center;
	color: #fff;
}
nav#nav_global_pc01{
	display:block;
	float: left;
	width: 45%;
	text-align: right;
	padding: 1.25rem 0 0 0;
}
nav#nav_global_pc01 li{
	display: inline-block;
	vertical-align: top;
	margin: 0 20px 0 0;
}
nav#nav_global_pc01 li img		{width: 16px;}
nav#nav_global_pc01 li.wide img	{width: 33px;}

nav#nav_global_pc02{
	display:block;
	position: absolute;
	right:200px;
	width: 300px;
	padding: 1.65rem 0 0 0;
}
nav#nav_global_pc02:after{content:".";	display: block;	height:0px;	clear:both;	visibility:hidden;	font-size: 0.1em;	line-height:0;}
nav#nav_global_pc02 li a{
	display: block;
	float: left;
	width: 150px;
	box-sizing: border-box;
	line-height: 100%;
	color: #1a1a1a;
	font-family: 'Comfortaa', cursive;
	font-weight: 700;
	border-left: solid 3px #ccc;
	padding: 0 0 0 7px;
	margin-bottom: 12px;
}
nav#nav_global_pc02 li.wide a{width: 300px;}
nav#nav_global_pc02 li a:hover{
	border-left: solid 3px #cb0100;
	color:#808080;
	}
address{
	display:block;
	float: right;
	width: 200px;
	padding: 1.25rem 0 0 0;
	font-style:normal;
}
address p{
	font-size: 0.75rem;
	line-height: 125%;
	color: #000;
	margin: 0 0 0.5rem 0;
}
address p.tel,
address p.tel_italy{
	font-family: 'Comfortaa', cursive;
	font-weight: 400;
	font-size: 1.38rem;
	background:url(../image/common/icn_tel01.png) no-repeat 0% 50%;
	background-size: 22px;
	padding: 0 0 0 28px;
}
address p.tel_italy{font-size: 1.1rem;}
address p.time{
	background: url(../image/common/icn_clock01.png) no-repeat 0% 0%;
	background-size: 22px;
	padding: 0 0 0 28px;
}
address p.language{
	width: 170px;
	text-align: right;
}
address p.language a		{color: #000;	padding: 0 3px;}
address p.language a:hover	{text-decoration: underline;}
address p.language a.here	{background: #e5e5e5;}

/*ページタイトル（tab）
*************************************************/
#pageTitle{
	height: 100px;
	margin-bottom: 2rem;
}
h1.h1_pageTitle01{
	font-size: 2rem;
	border-bottom: 4px solid #cb0100;
	padding: 0 0 8px 0;
	margin: 30px 0 0 0;
}

/*コンテンツ共通（tab）
*************************************************/
article	{padding: 0 0 3rem 0;}
section	{margin:0 0 2.5rem 0;}
.innar	{padding: 0 2rem;	max-width: 1064px;}
.box_beg01,
.box_gry01{padding: 1rem 1.5rem;}

/*h2,h3…*****/
h2.h2_com01	{font-size: 1.25rem;	padding: 10px 0 10px 34px;}
h2.h2_com02	{font-size: 1.25rem;	padding: 10px 0 10px 34px;}
h2.h2_com03	{font-size: 1.25rem;	padding: 10px 0;}

/*テーブル*****/
table.table_com01 th	{padding: 8px 10px;	width: 150px;}
table.table_com01 td	{padding: 8px 10px;}

/*ボタン*****/
a.btn_red01	{font-size: 1.50rem;}

/*フッター（tab）
*************************************************/
footer{padding: 2rem 0 1rem 0;}
.bosyu{
	position: static;
	float: right;
	width: 24%;
	margin: 0 0 0 1.5%;
}
.gaikan{
	display: block;
	float: right;
	width: 24%;
}
#footer_contents{
	padding: 0;
	width: 45%;
}
#nav_footer01{
	display: block;
	text-align: center;
	margin-bottom: 1rem;
}
#nav_footer01 ul li{
	display: inline-block;
	background: url(../image/common/icn_arrow01.png) no-repeat 0% 50%;
	background-size: 14px;
	padding: 0 12px 0 17px;
}
#nav_footer01 ul li a		{color: #322e1a;}
#nav_footer01 ul li a:hover	{text-decoration: underline;}
/********/
}



/*-------------------------------------------------------------------------------------------------------------------------------
	PC用（1000px～）
---------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 1000px){
/*ヘッダー（pc）
*************************************************/
h1.h1_logo01		{width: 26%;}
nav#nav_global_pc01	{width: 53%;}
nav#nav_global_pc02	{width: 450px;	padding: 2.25rem 0 0 0;}
nav#nav_global_pc02 li a{
	margin-bottom: 20px;
	width: 140px;
}
/********/
}