@charset "UTF-8";

/*----------------------------------------------------
☆Reset
----------------------------------------------------*/


html {
	font-size: 62.5%; /* sets the base font to 10px for easier math */
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
ul,
ol,
li,
dl,
dt,
dd,
p,
img {
	margin: 0;
	padding: 0;
}

body {
	background: url(../cmn_img/bg_body.jpg) left top repeat;
	color: #111;
	font-family: 'Crimson Text', serif;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1;
	overflow-x: hidden;/*-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;*/
}

body * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

a,
a:link,
a:hover,
a:focus {
	color: #0091E1;
	text-decoration: underline;
	cursor: pointer;
	outline: none;
}

a:hover {
	text-decoration: none;
}

ul,
ol {
	list-style-type: none;
}

::selection {
	background-color: #111;
	color: #FFF; /* Safari */
}

::-moz-selection {
background-color: #111;
color: #FFF; /* Firefox */
}

/*----------------------------------------------------
	☆Crearfix
----------------------------------------------------*/


.clearfix:after {
	content: ".";
	height: 0;
	clear: both;
	display: block;
	font-size: 0.1em;
	line-height: 0;
	visibility: hidden;
}

.clearfix {
	display: inline-block;
	min-height: 1%;
}

/* Hides from IE-mac \*/


* html .clearfix {
	height: 1%;
}

/* End hide from IE-mac */



/*----------------------------------------------------
	☆br clear
----------------------------------------------------*/


br.clear {
	display: inline !important;
	display: none;
	clear: both;
	line-height: 0px;
}
 @media screen and (-webkit-min-device-pixel-ratio:0) {

br.clear {
	display: block!important;
	content: " ";
}
}

div.clear {
	clear: both;
	line-height: 0px;
}

/*----------------------------------------------------
	☆topcontrol
----------------------------------------------------*/


#topcontrol {
	z-index: 1000;
}

#topcontrol a {
	background: url(/en/cmn/cmn_js/scrolltop/scrollup.png) center center no-repeat;
	background : url(/en/cmn/cmn_js/scrolltop/scrollup.gif) center center no-repeat\9; /* IE8 and below */
 *background : url(/en/cmn/cmn_js/scrolltop/scrollup.gif) center center no-repeat; /* IE7 and below */
	_background : url(/en/cmn/cmn_js/scrolltop/scrollup.gif) center center no-repeat; /* IE6 */
	background-size: 40px 40px;
	font-size: 0;
	text-decoration: none;
	display: block;
	height: 38px;
	width: 38px;
	opacity: 0.7;
	border-radius: 38px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .15s ease-in-out;
	transition: all .15s ease-in-out;
}

#topcontrol a:hover {
	background-size: 54px 54px;
	opacity: 1;
	height: 50px;
	width: 50px;
}

/*----------------------------------------------------
	☆base contents
----------------------------------------------------*/

/*-- HEADER --*/


#header {
	padding: 0 30px;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10000;
}

#header .logo {
	float: left;
	padding: 50px 0 15px;
	width: 246px;
}

#header .logo img {
	height: auto;
	width: 100%;
}

#header .hdR {
	float: right;
	text-align: right;
	width: 68%;
}

#header .hdR .upper{
	display:inline-block;
	font-size: 14px;
	font-weight: 600;
	padding: 15px 0;
}

#header .hdR .upper p{
	display:inline-block;
	padding-top: 8px;
	font-weight: 600;
	width: 80px;
	vertical-align: middle;
}

#header .hdR .upper p a{
	text-decoration: none;
	color: #C3320F;
}

#header .hdR .upper p a:hover{
	text-decoration: underline;
}

#header .hdR #selectLang p{
	cursor: pointer;
	display: inline-block;
	padding-top: 8px;
	transition: 0.2s;
}

#header .hdR #selectLang #language,
#header .hdR #selectLang #language span{
	display: inline-block;
	vertical-align: middle;
	white-space: nowrap;
	/*overflow: hidden;*/
	width: 0px;
	transition: 1s;
	opacity: 0;
}

#header .hdR #selectLang.visible #language{
	opacity: 1;
	width: 220px;
	text-align: left;
}

#header .hdR #selectLang.visible #language span{
	display: inline-block;
	opacity: 1;
	width:80px;
	padding-left: 10px;
}

/*#header .hdR dl {
	display: inline-block;
	font-weight: 600;
	padding: 25px 0 20px;
	position: relative;
	right: -154px;
	transition: 1s;
}

#header .hdR dl:hover {
	right: 0;
}

#header .hdR dl dt {
	font-size: 14px;
	display: inline-block;
	margin-right: 20px;
}

#header .hdR dl dd {
	display: inline-block;
	margin-left: 10px;
}

#header .hdR dl dd a {
	color: #C3320F;
	font-size: 14px;
	text-decoration: none;
	opacity: 0;
	transition: 3s;
}

#header .hdR dl:hover dd a {
	opacity: 1;
}

#header .hdR dl dd a:hover {
	text-decoration: underline;
}*/

#header .hdR ul li {
	display: inline;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	margin-left: 40px;
}

#header .hdR ul li a {
	position:relative;
	color: #111;
	text-decoration: none;
	transition: 0.4s;
}

#header .hdR ul li a:after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 0;
	height: 1px;
	background-color: #000;
	transition: .3s;
}

#header .hdR ul li a:hover::after {
	background-color: #c3320f;
	width: 100%;
}

#header .hdR ul li a:hover {
	color: #c3320f;
}
 @media only screen and (min-width: 850px) {

#header,
#header .logo,
#header .logo img,
#header .hdR,
#header .hdR ul li {
	transition: 0.2s;
}

body.throughHd #header {
	background: rgba(255,255,255,0.9);
}

body.throughHd #header .logo {
	padding: 20px 0 15px;
	width: 150px;
}

body.throughHd #header .hdR {
	margin-top: -38px;
}
body.throughHd #header .hdR .upper {
	opacity:0;
}

body.throughHd #header .hdR ul li {
	font-size: 14px;
}
}

#sns ul li {
	font-size: 22px;
	position: fixed;
	top: 45%;
	z-index: 1000;
	transition: 0.2s;
}

#sns ul li.fb {
	left: 2.5%;
}

#sns ul li.insta {
	right: 2.5%;
}

#sns ul li a {
	color: #111;
	font-size: 22px;
	transition: 0.2s;
}

#sns ul li a:hover {
	color: #c3320f;
	font-size: 40px;
}
 @media only screen and (max-width: 1200px) {

#header .hdR {
	width: 68%;
}

#header .hdR ul li {
	font-size: 14px;
	margin-left: 20px;
}
}

#my-button {
	position: absolute;
	right: 0;
	top: 0;
	transition: 0.2s;
	display: none;
}

#my-button a {
	display: block;
	text-decoration: none;
	padding: 22px 19px;
}

#my-button a:hover {
	text-decoration: none;
}

.menu-trigger,
.menu-trigger span {
	transition: all .4s;
	box-sizing: border-box;
	text-decoration: none;
}

.menu-trigger {
	position: relative;
	width: 22px;
	height: 17px;
}

.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #000;
	border-radius: 4px;
}

.menu-trigger span:nth-of-type(1) {
	top: 0;
}

.menu-trigger span:nth-of-type(2) {
	top: 8px;
}

.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}

.menu-trigger.onanimation span:nth-of-type(1) {
	-webkit-transform: translateY(8px) rotate(-45deg);
	transform: translateY(8px) rotate(-45deg);
}

.menu-trigger.onanimation span:nth-of-type(2) {
	opacity: 0;
}

.menu-trigger.onanimation span:nth-of-type(3) {
	-webkit-transform: translateY(-8px) rotate(45deg);
	transform: translateY(-8px) rotate(45deg);
}

#my-button a:hover .menu-trigger span {
}

#my-button a em {
	color: #000;
	font-style: normal;
	font-size: 9px;
	font-size: 1rem;
	display: inline-block;
	padding-top: 3px;
	text-align: center;
	display: none;
}

#spMenu {
	background: rgba(255,255,255,0.9);
	position: fixed;
	top: 47px;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	display: none;
	height: 1px;
}
 @-webkit-keyframes
menuFadeIn {
 from {
 height:1px;
}

to {
	height: 100%;
}
}
 @keyframes
menuFadeIn {
 from {
 height:1px;
}

to {
	height: 100%;
}
}

#spMenu.onanimation {
	display: block;
	-webkit-animation: menuFadeIn 0.6s cubic-bezier(.55, 0, .1, 1) both;
	animation: menuFadeIn 0.6s cubic-bezier(.55, 0, .1, 1) both;
}

#spMenu .spMTbl {
	display: table;
	position: relative;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	height: 100%;
	width: 100%;
}

#spMenu .spMTbl ul {
	display: table-cell;
	padding-top: 18%;
	vertical-align: top;
	text-align: center;
}

#spMenu .spMTbl ul li {
	line-height: 1;
	margin-bottom: 20px;
}

#spMenu .spMTbl ul li a {
	color: #c3320f;
	display: block;
	font-size: 24px;
	font-size: 2.4rem;
	padding: 5px;
	text-decoration: none;
}

#spMenu .spMTbl ul #spMenu08 a{
	display: inline-block;
}

/*-- MV --*/


#mv {
	background-position: center top;
	background-repeat: no-repeat;
	display: table;
	width: 100%;
}

#mv h1 {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	color: #111;
	font-family: 'Sorts Mill Goudy', serif;
	font-size: 42px;
	font-size: 4.2rem;
	font-weight: 400;
	letter-spacing: 0.01em;
	text-shadow: 2px 2px 3px rgba(255,255,255,1);
	position: fixed;
	top: 50%;
	left: 0;
	text-align: center;
	width: 100%;
	margin-top: -60px;
}

#mv h1:before {
	background: url(../cmn_img/icon_flower_red.png) center center no-repeat;
	content: '';
	display: block;
	height: 48px;
	margin: 0 auto 20px;
	width: 60px;
}

/*-- CONTENTS --*/


#contents p,
#contents li,
#contents dt,
#contents dd,
#contents th,
#contents td {
	line-height: 1.7;
}

/*-- FOOTER --*/


#footer {
	background: url(../cmn_img/bg_footer.jpg) center bottom no-repeat fixed #DCE0EC;
	padding-bottom: 50px;
}

#footer .ftInr {
	margin: 0 auto;
	padding-top: 150px;
	width: 1200px;
}

#footer .ftInr ul.sns {
	text-align: center;
	overflow: hidden;
	height: 160px;
}

#footer .ftInr ul.sns li {
	display: inline;
	margin: 0 15px;
	vertical-align: top;
}

#footer .ftInr ul.sns li a {
	color: #484B4F;
	font-size: 36px;
	font-size: 3.6rem;
	text-decoration: none;
	transition: 0.2s;
}

#footer .ftInr ul.sns li a:hover {
	color: #c3320f;
	font-size: 46px;
	font-size: 4.6rem;
}

#footer .ftInr ul.ftNav:before {
	background-color: transparent;
	content: '';
	display: block;
	height: 1px;
	margin: 0 0 80px;
	width: 100px;
}

#footer .ftInr ul.ftNav {
	margin-bottom: 75px;
}

#footer .ftInr ul.ftNav li {
	display: inline;
	font-size: 16px;
	font-weight: 400;
	margin-right: 40px;
}

#footer .ftInr ul.ftNav li a {
	color: #111;
	text-decoration: none;
	transition: 0.3s;
}

#footer .ftInr ul.ftNav li a:hover {
	color: #c3320f;
}

#footer .ftInr p.address {
	font-size: 14px;
	margin-bottom: 20px;
}

#footer .ftInr p.tel {
	font-size: 14px;
	margin-bottom: 40px;
}

#footer .number {
	font-family: serif;
	font-size: 14px;
}
.contact_ssl {
	width:138px;
	position:absolute;
	right:0;
	bottom:0;
}

/*header new*/
.header_language {
	background:#fff;
	width:105px;
	position:absolute;
	top:30px;
	right:30px;
	border:1px #EFEFEF solid;
	border-radius:11px;
	display:none;
}
.header_scroll .header_language { display:none; }
.header_language a {
	padding:2px 20px 4px 30px;
	position:relative;
	display:block;
	text-decoration:none;
}
.header_language_button a {
	background: url(/cmn/cmn_img/header_language_earth.svg) no-repeat left 7px center / 11px;
}
.header_language_button a:after {
    content:"";
    width:4px;
    height:4px;
    position:absolute;
    right:8px;
    top:calc(50% - 2px);
    transform:rotate(45deg);
    border-right:1px #8A7C2A solid;
    border-bottom:1px #8A7C2A solid;
    display:block;
}
.header_language span {
	font-size:13px;
	color:rgba(0,0,0,0.66);
}
.header_language_list {
	height:0;
	opacity:0;
	transition:opacity 0.4s ease, height 0s 0.4s ease;
	overflow:hidden;
}
.header_language:hover .header_language_list {
	height:auto;
	opacity:1;
	transition:opacity 0.4s 0.05s ease, height 0s ease;
}
.header_language_list li { padding-top:5px; }
.header_language_list li:last-child { padding-bottom:8px; }
.header_ham { display:none; }
@media (max-width:850px) {
	#sns { display:none; }
	.header_language {
		width:60px;
		height:60px;
		right:60px;
		top:0;
		border:none;
		border-left:1px #EFEFEF solid;
		border-right:1px #EFEFEF solid;
		border-radius:0;
		display:block;
	}
	.header_language_button { width:100%; height:100%; }
	.header_language_button a {
		background-position:center;
		background-size:21px;
		width:100%;
		height:100%;
	}
	.header_language_button a:after { display:none; }
	.header_language_button span { display:none; }
	.header_ham {
		background-color: transparent;
		width:60px;
		height:60px;
		padding: 0;
		position:absolute;
		right:0;
		top:0;
		display:block;
		border: none;
		border-left:1px #EFEFEF solid;
		cursor: pointer;
		outline: none;
		appearance: none;
		transition:background 0.4s ease;
	}
	.header_ham div {
		background:#000;
		width:24px;
		height:1px;
		position:absolute;
		left:50%;
		transform: translateX(-50%);
		border-radius:2px;
		transition:transform 0.2s ease, top 0.2s 0.2s ease, opacity 0.2s 0.2s ease, width 0.2s ease;
	}
	.header_open .header_ham div {
		transition:transform 0.2s 0.2s ease,top 0.2s ease, opacity 0.2s ease, width 0.2s 0.2s ease;
	}
	.header_ham div:nth-child(1) {
		top:22px;
	}
	.header_ham div:nth-child(2) {
		top:30px;
	}
	.header_ham div:nth-child(3) {
		top:38px;
	}
	.header_open .header_ham { background:rgba(0,0,0,0.05); }
	.header_open .header_ham div:nth-child(1) {
		width:27px;
		top:30px;
		transform:translateX(-50%) rotate(30deg);
	}
	.header_open .header_ham div:nth-child(2) {
		opacity:0;
	}
	.header_open .header_ham div:nth-child(3) {
		width:27px;
		top:30px;
		transform:translateX(-50%) rotate(-30deg);
	}
	.header_language:hover .header_language_list,
	.header_language_list {
		background:#F2F2F2;
		width:100%;
		height:auto;
		position:fixed;
		left:0;
		top:60px;
		display:flex;
		opacity:0;
		transform:scale(0);
		transition:opacity 0.4s ease, transform 0s 0.4s ease;
	}
	.header_language:hover .header_language_list {
		height:auto;
		opacity:0;
		transform:scale(0);
	}
	.header_lan_open .header_language .header_language_list {
		height:auto;
		opacity:1;
		transform:scale(1);
		transition:opacity 0.4s 0.05s ease, transform 0s ease;
	}
	.header_language_list li {
		width:33.33%;
		text-align:center;
		padding-top:0;
	}
	.header_language_list li:last-child { padding-bottom:0; }
	.header_language_list a { padding:18px 0; }
	.header_language span { font-size:14px; color:#000; }
	.header_language .on span { color:rgba(0,0,0,0.1); }
}
.all_fixed_bnr.-closed {
	bottom: 20%;
}
.all_fixed_bnr.-closed ._closed {
	background-color: #fff;
	padding-block: 10px;
	display: inline-block;
  top: 24px;
  right: 24px;
}
.all_fixed_bnr.-closed ._bnr{
	width: 40%;
	max-width: 500px;
}
.all_fixed_bnr.-closed ._closed:before, .all_fixed_bnr.-closed ._closed:after{
    top: calc(50% - 2px);
		left: 2px;
}
@media only screen and (max-width: 640px){
	.all_fixed_bnr.-closed ._bnr{
		width: 100%;
	}
	.all_fixed_bnr.-closed ._closed {
   top: 17px;
  right: 16px;
	padding-block: 6px;
	padding-left: 12px;
	padding-right: 6px;
	line-height: 1;
	font-size: 10px;
}
.all_fixed_bnr.-closed ._closed:before, .all_fixed_bnr.-closed ._closed:after{
    top: calc(50% - 2px);
		left: -1px;
    width: 10px;
}
}
