/*If you want this size in pixels (px)	Declare this percent (%)
10	 77
11	 85
12	 93 (was 93)
13	 100
14	 108 (was 107)
15	 116 (was 114)
16	 123.1 (was 122)
17	 131 (was 129)
18	 138.5 (was 136)
19	 146.5 (was 144)
20	 153.9 (was 152)
21	 161.6 (was 159)
22	 167
23	 174
24	 182
25	 189
26	 197
*/

html{
	width:100%;
	height:100%;
}
body{
	width:100%;
	font-size:13px;
	line-height:1.5em;
	font-family:"Droid Serif","ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	text-align:center;
	color:#333;
	margin:0;
	padding:0;
	background-color:#fff;
	-webkit-font-smoothing: antialiased;
}
#wrap{
	width:100%;
	text-align:left;
	position:relative;
	min-width:320px;
	overflow:hidden;
}
h1,h2,h3,h4{
	font-size:13px;
}
h1,h2,h3,h4,p,ul,li,a,img,table,th,td,dl,dt,dd{
	margin:0px;
	padding:0px;
	line-height:1.5em;
	word-break:normal;
}
li{
	list-style-type:none;
}
img{
	margin:0;
	border:none;
	vertical-align:bottom;
}
a{
	cursor:pointer;
	color:#333;
	text-decoration:none;
	-webkit-transition:opacity 0.3s;
	-moz-transition:opacity 0.3s;
	-ms-transition:opacity 0.3s;
	-o-transition:opacity 0.3s;
	transition:opacity 0.3s;
}
a:hover{
	opacity:0.6;
}


/* ---------- container ---------- */
#container{
	max-width:1400px;
	margin:0 auto;
	padding:0 90px;
}
#container.grid_container{
	max-width:none;
	padding-left:0 !important;
	padding-right:0 !important;
}
@media screen and (max-width:1920px){
#container{
	padding:0 4.687vw;
}
}
@media screen and (max-width:750px){
#container{
	padding:9.687vw 0 0 0 !important;
}
#contents{
	padding-top:0;
}
}


/* ---------- grid_contents ---------- */
.grid_contents{
	padding:0 70px;
	max-width:1780px;
	overflow:hidden;
	position:relative;
	z-index:1;
	margin:0 auto;
}
.gray_bg .grid_contents{
	padding:0 3.8%;
}
.gray_bg{
	background-color:#f9f9f9;
}
@media screen and (max-width:1920px){
.grid_contents{
	padding:0 3.645vw;
}
.gray_bg .grid_contents{
	padding:0 3.8%;
}
}
@media screen and (max-width:750px){
.grid_contents{
	padding:0 2.187vw;
}
}


/* ---------- header ---------- */
#header{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	z-index:10;
	-webkit-transition:background 0.4s,margin 0.4s,opacity 0.4s;
	-moz-transition:background 0.4s,margin 0.4s,opacity 0.4s;
	-ms-transition:background 0.4s,margin 0.4s,opacity 0.4s;
	-o-transition:background 0.4s,margin 0.4s,opacity 0.4s;
	transition:background 0.4s,margin 0.4s,opacity 0.4s;
	/*margin-top:-148px;*/
	-webkit-backface-visibility:hidden;
  backface-visibility:hidden;
	background-color:rgba(255,255,255,0);
}
/*.customize-support #header{
	top:32px !important;
}
#header.fadeno{
	margin-top:0 !important;
	background-color:rgba(255,255,255,0) !important;
}
#header.slidedown{
	margin-top:0;
	opacity:1;
}
#header.slidedown.bgfade{
	background-color:rgba(255,255,255,0.95);
}
#header.lock{
	margin-top:0 !important;
	opacity:1 !important;
}*/
#header #h_inner{
	position:relative;
	z-index:10;
	overflow:hidden;
	padding:60px 90px 60px;
}
#header #h_logo{
	float:left;
	width:124px;
}
#header #h_logo a{
	display:block;
	line-height:1;
}
#header #h_logo a img{
	width:100%;
	height:auto;
}
#sp_btn{
	position:fixed;
	top:60px;
	right:90px;
	z-index:11;
	display:inline-block;
	float:right;
	width:40px;
	height:48px;
	cursor:pointer;
	background-image:url(/data/common/images/icon_sp_btn.svg);
	background-position:right;
	background-size:cover;
	margin-top:-10px;
	box-sizing:border-box;
}
#sp_btn.active{
	background-image:url(/data/common/images/icon_sp_btn_close.svg);
}
@media screen and (max-width:1920px){
#header #h_inner{
	padding:3.125vw 4.687vw 3.125vw;
}
#header #h_logo{
	width:6.458vw;
}
#sp_btn{
	top:3.125vw;
	right:4.687vw;
	width:2.083vw;
	height:2.5vw;
	margin-top:-0.52vw;
}
}
@media screen and (max-width:1200px){
#sp_btn span{
	height:2px;
}
}
@media screen and (max-width:782px){
.customize-support #header{
	top:46px !important;
}
}
@media screen and (max-width:750px){
#header #h_inner{
	padding:4.687vw 4.687vw 4.687vw;
}
#header #h_logo{
	width:19.375vw;
}
#sp_btn{
	top:4.687vw;
	right:4.687vw;
	width:6.25vw;
	height:7.5vw;
	margin-top:-1.562vw;
}
}
@media screen and (max-width:600px){
#wpadminbar{
	position:fixed !important;
}
}


/* ---------- sp_menu ---------- */
#header.lock{
	background-color:rgba(255,255,255,0) !important;
}
#sp_menu{
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	background-color:rgba(255,255,255,0.85);
	z-index:10;
	opacity:0;
	-webkit-transition:opacity 0.3s;
	-moz-transition:opacity 0.3s;
	-ms-transition:opacity 0.3s;
	-o-transition:opacity 0.3s;
	transition:opacity 0.3s;
	buttom: 0;
	min-height:100vh;
}
#sp_inner{
	overflow-y:auto;
}
#sp_menu.active{
	opacity:1;
}
#sp_menu{
	text-align:right;
}
#sp_menu ul{
	margin:160px 90px 0;
	display:inline-block;
}
#sp_menu ul li{
	padding-top:16px;
}
#sp_menu ul li:first-child{
	padding-top:0;
}
#sp_menu ul li a{
	position:relative;
	z-index:1;
	font-size:48px;
}
#sp_menu ul li a span{
	position:relative;
}
#sp_menu ul li a span::before{
	content:"";
	display:block;
	width:100%;
	height:10px;
	background-color:transparent;
	position:absolute;
	bottom:20px;
	left:0;
	z-index:-1;
	-webkit-transition:background-color 0.3s;
	-moz-transition:background-color 0.3s;
	-ms-transition:background-color 0.3s;
	-o-transition:background-color 0.3s;
	transition:background-color 0.3s;
	opacity:0.6;
	transform:scale(0, 1);
	transform-origin: right top 0;
	transition:transform 0.4s ease 0s, -webkit-transform 0.4s ease 0s;
	background-color:#faacc7;
}
#sp_menu ul li a:hover{
	opacity:1;
}
#sp_menu ul li.active a:hover span::before{
	transform:scale(1, 1);
	transform-origin: left top 0;
}
#sp_menu ul:hover li.active a span::before{
	transform:scale(0, 1);
	transform-origin: right top 0;
}
#sp_menu ul li.active a span::before,
#sp_menu ul:hover li.active a:hover span::before,
#sp_menu ul li a:hover span::before{
	transform:scale(1, 1);
	transform-origin: left top 0;
}
#sp_menu ul li a span{
	position:relative;
	z-index:1;
}
@media screen and (max-width:1920px){
#sp_menu ul{
	margin:8.333vw 4.687vw 0;
}
#sp_menu ul li a{
	padding-top:0.833;
	font-size:2.5vw;
}
#sp_menu ul li a span::before{
	height:0.52vw;
	bottom:1.041vw;
}
}
@media screen and (max-width:750px){
#sp_menu{
	background:#FAFAF9;
}
#sp_menu ul{
	display:block;
	margin:0;
	padding:40.625vw 0 0;
	background:#fff;
}
#sp_menu ul li,
#sp_menu ul li:first-child{
	padding:0;
}
#sp_menu ul li:nth-child(odd){
	background:#FAFAF9;
	display:block;
}
#sp_menu ul li a{
	display:block;
	font-size:4.37vw;
	padding:3.437vw 4.687vw;
}
#sp_menu ul li a span{
	display:inline-block;
	padding:0 0.625vw;
}
#sp_menu ul li a span::before{
	height:0.937vw;
	bottom:2.5vw;
}
}


/* ---------- footer ---------- */
#footer{
	position:relative;
	z-index:5;
	background:#fff;
}
#footer #f_inner{
	padding:40px 90px 40px 90px;
}
#f_over{
	overflow:hidden;
}
#footer #f_navi{
	float:left;
	font-size:0;
}
#footer #f_navi li{
	display:inline-block;
	margin-right:25px;
	font-size:13px;
}
#footer #f_navi li:last-child{
	margin-right:0;
}
#footer #f_navi li a{
	padding:0 2px;
	font-size:138.5%;
}
#footer #f_navi li a span{
	position:relative;
	opacity:1;
}
#footer #f_navi li a span::before{
	content:"";
	display:block;
	width:100%;
	height:4px;
	background-color:transparent;
	position:absolute;
	bottom:34%;
	left:0;
	z-index:-1;
	-webkit-transition:background-color 0.3s;
	-moz-transition:background-color 0.3s;
	-ms-transition:background-color 0.3s;
	-o-transition:background-color 0.3s;
	transition:background-color 0.3s;
	opacity:0.6;
	transform:scale(0, 1);
	transform-origin: right top 0;
	transition:transform 0.4s ease 0s, -webkit-transform 0.4s ease 0s;
	background-color:#faacc7;
}
#footer #f_navi li a:hover span::before{
	transform:scale(1, 1);
	transform-origin: left top 0;
}
#footer #f_navi li a:hover{
	opacity:1;
}
#footer #f_navi:hover li.active a span::before{
	transform:scale(0, 1);
	transform-origin: right top 0;
}
#footer #f_navi li.active a span::before,
#footer #f_navi:hover li.active a:hover span::before,
#footer #f_navi:hover li a.active:hover span::before,
#footer #f_navi li a:hover span::before{
	transform:scale(1, 1);
	transform-origin: left top 0;
}
#footer #f_navi li a span{
	position:relative;
}
#footer #f_sns{
	float:right;
	font-size:0;
}
#footer #f_sns li{
	display:inline-block;
	margin-left:45px;
}
#footer #f_sns li:first-child{
	margin-left:0;
}
#footer #f_sns li:first-child{
	margin-left:0;
}
#footer #f_sns li a{
	position:relative;
	display:block;
	width:30px;
}
#footer #f_sns li a:hover{
	opacity:0.6;
}
#footer #f_sns li a img{
	width:100%;
	height:auto;
	display:block;
}
#footer p{
	margin-top:270px;
	font-size:108%;
}
@media screen and (max-width:1920px){
#footer #f_inner{
	padding:2.083vw 4.687vw 2.083vw 4.687vw;
}
#footer #f_navi li{
	margin-right:1.302vw;
	font-size:0.677vw;
}
#footer #f_navi li a{
	padding:0 0.104vw;
	font-size:0.937vw;
}
#footer #f_navi li a span::before{
	height:0.208vw;
}
#footer #f_sns li{
	margin-left:2.343vw;
}
#footer #f_sns li a{
	width:1.562vw;
}
#footer p{
	font-size:0.729vw;
	margin-top:14.114vw;
}
}
@media screen and (max-width:750px){
#footer #f_inner{
	padding:15.625vw 0 4.687vw 0;
}
#footer #f_navi{
	float:none;
	text-align:center;
}
#footer #f_navi li{
	display:block;
	text-align:center;
	margin:0;
}
#footer #f_navi li a{
	display:block;
	font-size:5vw;
	padding:3.437vw 4.687vw;
	z-index:1;
	position:relative;
}
#footer #f_navi li:nth-child(odd){
	background:#FAFAF9;
}
#footer #f_navi li a span{
	position:relative;
	display:inline-block;
}
#footer #f_navi li a span::before{
	height:0.937vw;
	bottom:2.812vw;
}
#footer #f_sns{
	float:none;
	text-align:center;
	background:#FAFAF9;
	padding:6.25vw 0;
	margin:0;
}
#footer #f_sns li{
	margin-left:6.25vw;
	background:#fff;
	border-radius:50%;
	-webkit-border-radius:50%;
	-moz-border-radius:50%;
}
#footer #f_sns li a{
	width:6.25vw;
	padding:4.687vw;
}
#footer p{
	font-size:3.125vw;
	margin-top:15.625vw;
	text-align:center;
}
/* bg */
#footer.bg{
	background:#fafaf9;
}
#footer.bg #f_navi li:nth-child(odd){
	background:#fff;
}
#footer.bg #f_sns{
	background:#fff;
}
#footer.bg #f_sns li{
	background:#FAFAF9;
}
}


/* ---------- grid ---------- */
.grid_container{
	background-color:#f9f9f9;
}
.grid .sizer{
	width:50%;
}
.grid .item{
	position:relative;
  float:left;
	-webkit-transition:opacity 0.4s;
	-moz-transition:opacity 0.4s;
	-ms-transition:opacity 0.4s;
	-o-transition:opacity 0.4s;
	transition:opacity 0.4s;
	z-index:1;
}
.grid .item .box{
	position:relative;
	display:block;
	padding:2.9%;
}
.grid .item img{
	width:100%;
	height:auto;
}
.grid .item p{
}
/*  フェード設定 */
.grid .item .box{
	position:relative;
	opacity:0;
	-webkit-transition:opacity 0.4s;
	-moz-transition:opacity 0.4s;
	-ms-transition:opacity 0.4s;
	-o-transition:opacity 0.4s;
	transition:opacity 0.4s;
}
.grid .item.fade .box{
	opacity:1;
}
@media screen and (max-width:1920px){
.grid .item .box {
    padding:1.041vw;
}
}
@media screen and (max-width:750px){
.grid .item .box{
	padding:2.187vw;
}
}


/* ---------- menu ---------- */
#container .menu{
	opacity:0;
	height:0;
}
#header .menu{
	position:absolute;
	bottom:58px;
	left:300px;
	z-index:11;
	opacity:1;
	height:auto;
}
#header .menu.active{
	z-index:9;
}
#header .menu ul{
	font-size:0;
}
#header .menu ul li{
	font-size:18px;
	display:inline-block;
	line-height:1.1;
	vertical-align:top;
}
#header .menu > ul > li:first-child{
	padding-right:30px;
	border-right:solid 2px #8d8d8c;
	margin-right:30px;
	height:0.8em;
	margin-top:3px;
}
#header .menu > ul > li:first-child a,
#header .menu > ul > li:first-child h1{
	position:relative;
	top:-3px;
}
#header .menu ul.tabMenu li{
	margin-right:36px;
}
#header .menu ul.tabMenu li:last-child{
	margin-right:0;
}
#header .menu ul.tabMenu li.cover{
	display:none !important;
}
#header .menu ul li > *{
	font-size:18px;
	line-height:1.1;
	display:inline-block;
	font-weight:normal;
}
#header .menu ul.tabMenu a{
	padding:0 2px;
	position:relative;
}
#header .menu ul.tabMenu a::before{
	content:"";
	display:block;
	width:100%;
	height:4px;
	background-color:transparent;
	position:absolute;
	bottom:34%;
	left:0;
	z-index:0;
	-webkit-transition:background-color 0.3s;
	-moz-transition:background-color 0.3s;
	-ms-transition:background-color 0.3s;
	-o-transition:background-color 0.3s;
	transition:background-color 0.3s;
	opacity:0.6;
	transform:scale(0, 1);
	transform-origin: right top 0;
	transition:transform 0.4s ease 0s, -webkit-transform 0.4s ease 0s;
	background-color:#faacc7;
}
#header .menu ul li a:hover{
	opacity:1;
}
#sp_menu ul:hover li.active a span::before{
	transform:scale(0, 1);
	transform-origin: right top 0;
}
#header .menu ul.tabMenu:hover li.active a::before{
	transform:scale(0, 1);
	transform-origin: right top 0;
}
#header .menu ul.tabMenu li.active a::before,
#header .menu ul.tabMenu:hover li.active a:hover::before,
#header .menu ul.tabMenu a:hover::before{
	transform:scale(1, 1);
	transform-origin: left top 0;
}
#header .menu ul.tabMenu a span{
	position:relative;
	z-index:1;
}
#header .menu ul li br.sp{
	display:none;
}
@media screen and (max-width:1920px){
#header .menu{
	bottom:3.02vw;
	left:15.625vw;
}
#header .menu ul li{
	font-size:0.937vw;
}
#header .menu > ul > li:first-child{
	padding-right:1.562vw;
	margin-right:1.562vw;
	margin-top:0.156vw;
}
#header .menu > ul > li:first-child a,
#header .menu > ul > li:first-child h1{
	top:-0.156vw;
}
#header .menu ul.tabMenu li{
	margin-right:1.875vw;
}
#header .menu ul li > *{
	font-size:0.937vw;
}
#header .menu ul.tabMenu a{
	padding:0 0.104vw;
}
#header .menu ul.tabMenu a::before{
	height:0.208vw;
}
}
@media screen and (max-width:750px){
#container .menu{
	padding:0;
	opacity:1;
	position:relative;
	z-index:9;
	height:auto;
}
#container .menu > ul{
	font-size:0;
	padding:4.687vw 4.687vw 4.687vw 4.687vw;
	overflow:hidden;
}
#container .menu ul li{
	font-size:3.125vw;
	display:inline-block;
	line-height:1.1;
	vertical-align:top;
}
#container .menu > ul > li{
	position:relative;
}
#container .menu > ul > li:first-child{
	padding-right:2.5vw;
	border-right:solid 1px #8d8d8c;
	margin-right:2.5vw;
	height:1.1em;
}
#container .menu ul li > *{
	font-size:3.125vw;
	line-height:1.1;
	display:inline-block;
	font-weight:normal;
}
#container .menu ul.tabMenu a{
	padding:2.5vw 2.5vw 9.375vw;
	display:block;
	min-width:32.5vw;
	background-color:#fff;
}
#container .menu ul.tabMenu a:hover{
	opacity:1;
}
#container .menu ul.tabMenu{
	position:absolute;
	top:-2.5vw;
	left:-2.5vw;
}
#container .menu ul.tabMenu li{
	display:block;
}
#container .menu ul.tabMenu li.cover{
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background-color:transparent;
}
#container .menu ul.tabMenu li:nth-child(2n) a{
	background-color:#fafaf9;
}
#container .menu ul.tabMenu li.active span{
	display:inline-block;
	position:relative;
}
#container .menu ul.tabMenu li.active span::before{
	position:absolute;
	content:"";
	top:0.312vw;
	right: -3.75vw;
	width: 1.562vw;
	height: 1.562vw;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
}


/* ---------- error ---------- */
#error{
	position:relative;
	height:100vh;
}
#error .txt{
	position:absolute;
	top:50%;
	left:0;
	-webkit-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
  transform:translateY(-50%);
	width:100%;
	text-align:center;
}
#error .txt h1{
	font-size:182%;
	font-weight:normal;
}
#error .txt a{
	display:inline-block;
	font-size:108%;
	margin-top:10px;
}
@media screen and (max-width:750px){
#error .txt h1{
	font-size:16px;
}
#error .txt a{
	margin-top:0;
	font-size:12px;
}
}