@charset "utf-8";
/* --------------------------------------------------
	reset
-------------------------------------------------- */
* { margin: 0; padding: 0; box-sizing: border-box;}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
form, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0; padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}

img{ vertical-align: bottom;}
ul{ list-style: none;}
ul li{ list-style-type: none;}
figure { margin: 0;}


/* =============================================================================
   Forms
   ========================================================================== */
form { margin: 0;}
fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em;}
legend { border: 0;}
button,
input,
select,
textarea { font-size: 100%; margin: 0; vertical-align: baseline;}
button,
input { line-height: normal;}
button,
input[type="button"], 
input[type="reset"], 
input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"],
input[type="radio"] { box-sizing: border-box; padding: 0;}
input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none;}

button::-moz-focus-inner,
input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top;}
input[type="search"]:focus { outline: none;}

table {
    border-collapse: collapse;
    border-spacing: 0;
}



/*	Slider */
.slick-slider { position: relative; display: block; box-sizing: border-box;
-webkit-user-select: none;
   -moz-user-select: none;
    -ms-user-select: none;
        user-select: none;

-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
  	  touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}

.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0;}
.slick-list:focus { outline: none;}
.slick-list.dragging{ cursor: pointer; cursor: hand;}
.slick-slider .slick-track,
.slick-slider .slick-list{
-webkit-transform: translate3d(0, 0, 0);
   -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
     -o-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
}
.slick-track { position: relative; top: 0; left: 0; display: block;}
.slick-track:before,
.slick-track:after { display: table; content: '';}
.slick-track:after { clear: both;}
.slick-loading .slick-track { visibility: hidden;}
.slick-slide { display: none; float: left; height: 100%; min-height: 1px;}
[dir='rtl'] .slick-slide { float: right;}
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none;}
.slick-slide.dragging img { pointer-events: none;}
.slick-initialized .slick-slide { display: block; outline: none;}
.slick-loading .slick-slide { visibility: hidden;}
.slick-vertical .slick-slide{ display: block; height: auto;}
.slick-arrow.slick-hidden { display: none;}

.slick-arrow{ width: 40px; height: 40px; position: absolute; border: none; z-index: 100; text-indent: -9999em; outline: none;}
.slick-arrow:before{ position: absolute; content: ''; display: block; width: 15px; height: 15px; top: 50%;
 transform: translateY(-50%) rotate(45deg);
}
.slick-prev:before { left: 38%; border-bottom: solid 2px #f09805; border-left: solid 2px #f09805;}
.slick-next:before { right: 38%; border-top: solid 2px #f09805; border-right: solid 2px #f09805;}

/** Dots */
.slick-dotted.slick-slider{ margin-bottom: 30px;}
.slick-dots { position: absolute; bottom: -35px; display: block; width: 100%; padding: 0; margin: 0; text-align: center;}
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer;}
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 10px; height: 10px; padding: 5px; cursor: pointer;
 color: transparent; border: 0; outline: none; background: #d2d2d2; border-radius: 50%;
}
.slick-dots li button:hover,
.slick-dots li button:focus{ outline: none;}
.slick-dots li button:hover,
.slick-dots li button:focus { background: #747474;}
.slick-dots li.slick-active button { background: #747474;}

@media (max-width: 801px) {
}
@media (max-width: 481px) {
	.slick-prev:before { border-width: 1px;}
	.slick-next:before { border-width: 1px;}
}



/* Magnific Popup CSS */
.mfp-bg {width: 100%; height: 100%; overflow: hidden; background: rgba(0,0,0,0.7); position: fixed; top: 0; left: 0; z-index: 1042;}
.mfp-wrap { width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 1043; outline: none !important; -webkit-backface-visibility: hidden;}
.mfp-container { width: 100%; height: 100%; position: absolute; left: 0; top: 0; text-align: center; padding: 0 8px; box-sizing: border-box; }
.mfp-container:before { content: ''; display: inline-block; height: 100%; vertical-align: middle; }
.mfp-align-top .mfp-container:before { display: none; }
.mfp-content { position: relative; display: inline-block; vertical-align: middle; margin: 0 auto; text-align: left; z-index: 1045;}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content { width: 100%; cursor: auto; }
.mfp-ajax-cur { cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close { cursor: -moz-zoom-out; cursor: -webkit-zoom-out; cursor: zoom-out; }
.mfp-zoom { cursor: pointer; cursor: -webkit-zoom-in; cursor: -moz-zoom-in; cursor: zoom-in; }
.mfp-auto-cursor .mfp-content { cursor: auto; }
.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter { -webkit-user-select: none; -moz-user-select: none; user-select: none;}

.mfp-loading.mfp-figure { display: none; }

.mfp-hide { display: none !important; }

.mfp-preloader { width: auto; margin-top: -0.8em; position: absolute; top: 50%; left: 8px; right: 8px; z-index: 1044; color: #CCC; text-align: center; }
.mfp-preloader a { color: #CCC; }
.mfp-preloader a:hover { color: #FFF; }
.mfp-s-ready .mfp-preloader { display: none; }
.mfp-s-error .mfp-content { display: none; }

button.mfp-close,
button.mfp-arrow { display: block; padding: 0; border: 0; background: transparent; overflow: visible;
 cursor: pointer; -webkit-appearance: none; outline: none; z-index: 1046; box-shadow: none; touch-action: manipulation;
}
button::-moz-focus-inner { padding: 0; border: 0;}

.mfp-close { width: 40px; height: 40px; position: absolute; right: 0; font-size: 0px; text-indent: -9999em;}
.mfp-close:before,
.mfp-close:after { content: ''; display: block; width: 1px; height: 100%; background: #fff; position: absolute; right: 50%; bottom: 0;}
.mfp-close:before{ transform: rotate(45deg);}
.mfp-close:after { transform: rotate(-45deg);}
.mfp-close:hover,
.mfp-close:focus { opacity: 0.8; }

.mfp-close-btn-in .mfp-close { color: #333; }
.mfp-iframe-holder .mfp-close { width: 100%; padding-right: 6px; right: -6px; color: #FFF; text-align: right;}
.mfp-counter { position: absolute; top: 0; right: 0; color: #CCC; font-size: 12px; line-height: 18px; white-space: nowrap;}

.mfp-arrow { width: 90px; height: 110px;
 position: absolute; top: 50%; opacity: 0.65; margin: 0; margin-top: -55px; padding: 0; -webkit-tap-highlight-color: transparent;
}
.mfp-arrow:active { margin-top: -54px; }
.mfp-arrow:hover,
.mfp-arrow:focus { opacity: 1; }
.mfp-arrow:before,
.mfp-arrow:after { content: ''; display: block; width: 0; height: 0;
 position: absolute; left: 0; top: 0; margin-top: 35px; margin-left: 35px; border: medium inset transparent;
}
.mfp-arrow:after { border-top-width: 13px; border-bottom-width: 13px; top: 8px; }
.mfp-arrow:before { border-top-width: 21px; border-bottom-width: 21px; opacity: 0.7;}

.mfp-arrow-left { left: 0; }
.mfp-arrow-left:after { margin-left: 31px; border-right: 17px solid #FFF;}
.mfp-arrow-left:before { margin-left: 25px; border-right: 27px solid #3F3F3F; }

.mfp-arrow-right { right: 0; }
.mfp-arrow-right:after { margin-left: 39px; border-left: 17px solid #FFF; }
.mfp-arrow-right:before { border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder { padding-top: 40px; padding-bottom: 40px; }
.mfp-iframe-holder .mfp-content { width: 100%; max-width: 900px; line-height: 0;}
.mfp-iframe-holder .mfp-close { top: -40px; }

.mfp-iframe-scaler { width: 100%; height: 0; padding-top: 56.25%; overflow: hidden; }
.mfp-iframe-scaler iframe { display: block; width: 100%; height: 100%; box-shadow: 0 0 8px rgba(0, 0, 0, 0.6); background: #000; position: absolute; top: 0; left: 0; }

/* Main image in popup */
img.mfp-img { display: block; width: auto; max-width: 100%; height: auto; box-sizing: border-box; margin: 0 auto; line-height: 0;}

/* The shadow behind the image */
/*
.mfp-figure { line-height: 0; }
.mfp-figure:after { content: ''; display: block; width: auto; height: auto;
 position: absolute; left: 0; top: 40px; bottom: 40px; right: 0; z-index: -1;
}
.mfp-figure small { display: block; color: #BDBDBD; font-size: 12px; line-height: 14px;}
.mfp-figure figure { margin: 0; }
.mfp-bottom-bar { width: 100%; margin-top: -36px; position: absolute; top: 100%; left: 0; cursor: auto; }
.mfp-title { padding-right: 36px; color: #F3F3F3; line-height: 18px; text-align: left; word-wrap: break-word;}
*/
.mfp-image-holder .mfp-content { max-width: 100%; }
.mfp-gallery .mfp-image-holder .mfp-figure { cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /*  Remove all paddings around the image on small screen  */
  .mfp-img-mobile .mfp-image-holder { padding-left: 0; padding-right: 0;}
  .mfp-img-mobile img.mfp-img { padding: 0; }
  .mfp-img-mobile .mfp-figure:after { top: 0; bottom: 0;}
	.mfp-img-mobile .mfp-figure small { display: inline; margin-left: 5px; }
	.mfp-img-mobile .mfp-bottom-bar { position: fixed; bottom: 0; margin: 0; top: auto; padding: 3px 5px; background: rgba(0, 0, 0, 0.6); box-sizing: border-box; }
	.mfp-img-mobile .mfp-bottom-bar:empty { padding: 0; }
	.mfp-img-mobile .mfp-counter { right: 5px; top: 3px; }
	.mfp-img-mobile .mfp-close { width: 35px; height: 35px; line-height: 35px; padding: 0; background: rgba(0, 0, 0, 0.6);
	 position: fixed; top: 0; right: 0; text-align: center;
	}
	img.mfp-img { max-width: 92%;}
}

@media all and (max-width: 900px) {
	.mfp-arrow { -webkit-transform: scale(0.75); transform: scale(0.75);}
	.mfp-arrow-left { -webkit-transform-origin: 0; transform-origin: 0;}
	.mfp-arrow-right{ -webkit-transform-origin: 100%; transform-origin: 100%;}
	.mfp-container { padding-left: 6px; padding-right: 6px;}
}
@media all and (max-width: 481px) {
	.mfp-close { width: 35px; height: 35px; right: 15px;}
	img.mfp-img { max-width: 92%;}
}


/**
* Fade-zoom animation for first dialog
*/

/* start state */
.my-mfp-zoom-in .zoom-anim-dialog { opacity: 0;
-webkit-transition: all 0.2s ease-in-out; 
-moz-transition: all 0.2s ease-in-out; 
-o-transition: all 0.2s ease-in-out; 
transition: all 0.2s ease-in-out; 

-webkit-transform: scale(0.8); 
-moz-transform: scale(0.8); 
-ms-transform: scale(0.8); 
-o-transform: scale(0.8); 
transform: scale(0.8); 
}

/* animate in */
.my-mfp-zoom-in.mfp-ready .zoom-anim-dialog { opacity: 1;
-webkit-transform: scale(1); 
-moz-transform: scale(1); 
-ms-transform: scale(1); 
-o-transform: scale(1); 
transform: scale(1); 
}

/* animate out */
.my-mfp-zoom-in.mfp-removing .zoom-anim-dialog { opacity: 0;
-webkit-transform: scale(0.8); 
-moz-transform: scale(0.8); 
-ms-transform: scale(0.8); 
-o-transform: scale(0.8); 
transform: scale(0.8); 
}

/* Dark overlay, start state */
.my-mfp-zoom-in.mfp-bg { opacity: 0;
-webkit-transition: opacity 0.3s ease-out; 
-moz-transition: opacity 0.3s ease-out; 
-o-transition: opacity 0.3s ease-out; 
transition: opacity 0.3s ease-out;
}
/* animate in */
.my-mfp-zoom-in.mfp-ready.mfp-bg { opacity: 0.8;}
/* animate out */
.my-mfp-zoom-in.mfp-removing.mfp-bg { opacity: 0;}






/*		font-style
-------------------------------------------------- */
body { width: 100%;
 color: #505050;
 font-family:"游ゴシック体", YuGothic, "My Yu Gothic", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Avenir, Arial, Verdana, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN" , "Meiryo UI", "メイリオ", Meiryo, sans-serif;
	font-size: 16px;
	*font-size:small;
	*font:x-small;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.min { font-family: "游明朝", "Yu Mincho", "YuMincho", serif;}
.eng { font-family: Georgia, serif;}


a { color:#002159; text-decoration: none;}
a:link   { color:#002159;}
a:visited{ color:#002159;}
a:hover  { color:#002159;}
a:active { color:#002159;}

em{ font-style: normal;}


/*		utility
-------------------------------------------------- */
.cf{ clear: both;}
.cf:after{ content: ''; display: block; clear: both;}

@media (max-width: 641px) {
}



#hd { position: absolute; left: 0; top: 0; width: 100%; z-index: 10;}
#hd .inner-hd { position: relative; width: 94%; max-width: 1200px; margin: 0 auto; padding: 20px 0 0;}
#hd h1 { width: 26%; max-width: 200px;}
#hd h1 img { width: 100%;}
@media (max-width: 641px) {
}
@media (max-width: 481px) {
}


.subMenu { position: fixed; width: 100%; right: 0px; top: 0px; z-index: 20;}
.subMenu .inner { position: relative; width: 94%; max-width: 1200px; margin: 0 auto; padding: 40px;}
.subMenu .inner div { position: absolute; right: 10px; top: 30px; width: 35px; height: 30px; z-index: 2;}
.subMenu .inner div span { display: block; width: 85%; height: 2px; background: #505050; opacity: 1;
	position: absolute; left: 50%;
 transition: 0.4s linear; transform: translate(-50%,0);
}
.subMenu .inner div span:nth-of-type(1){ top: 2px;}
.subMenu .inner div span:nth-of-type(2){ top: 14px;}
.subMenu .inner div span:nth-of-type(3){ top: 26px;}
.subMenu .inner:hover div span:nth-of-type(1){ transform: translate(-50%,12px) rotate(315deg);}
.subMenu .inner:hover div span:nth-of-type(2){ opacity: 0;}
.subMenu .inner:hover div span:nth-of-type(3){transform: translate(-50%,-12px) rotate(-315deg);}
.subMenu nav { position: absolute; right: 0px; top: 20px; z-index: 1; overflow: hidden;
 width: 0px; height: 45px; padding: 10px 5px; padding-right: 50px; background: rgba(255,255,255,0.4); border-radius: 50px;
 transition: 0.4s linear; opacity: 0;
}
.subMenu ul { display: table; width: 100%; font-size: 0;}
.subMenu ul li { position: relative; display: table-cell; padding: 0 15px;/* font-family: 'Quicksand', sans-serif;*/
 font-family: 'Century Gothic', CenturyGothic, sans-serif; font-size: 14px; vertical-align: middle;
}
.subMenu ul li:after { content: ''; width: 2px; height: 12px; background: #505050;
 position: absolute; right: 0; top: 50%; transform: translate(0,-50%);
}
.subMenu ul li:last-child:after { content: none;}
.subMenu ul li a { position: relative; display: block; color: #505050; vertical-align: middle;}
.subMenu ul li a.insta { padding-left: 26px;}
.subMenu ul li svg { position: absolute; left: 0; top: 50%; transform: translate(0,-50%);
 display: block; width: 20px; fill: #505050;
}
.subMenu ul li span { display: block; padding-top: 2px; font-weight: 700; letter-spacing: 0.075rem; white-space: nowrap}
.subMenu .inner:hover nav { width: 800px; opacity: 1;}
/* .subMenu .inner:hover nav { width: 360px; opacity: 1;} */
@media (max-width: 1001px) {
	.subMenu { display: none;}
}
.fix-cart { position: fixed; right: 20px; top: 34px; width: 34px; z-index: 20; cursor: pointer;}
.fix-cart a { display: block;}
.fix-cart a svg { width: 100%; fill: #505050; vertical-align: bottom;}
@media (max-width: 1001px) {
	.btn-cart { right: 55px; top: 16px;}
}


.menu { display: none; position: fixed; right: 15px; top: 15px; width: 32px; height: 36px; z-index: 100; cursor: pointer;}
.menu div { position: relative; width: 100%; height: 100%;}
.menu div span { display: block; width: 100%; height: 2px; background: #3c3c3c; position: absolute; left: 0; transition: 0.4s linear; opacity: 1;}
.menu div span:nth-of-type(1) { top: 6px;}
.menu div span:nth-of-type(2) { top: 50%;}
.menu div span:nth-of-type(3) { top: 30px;}
.menu.active div span:nth-of-type(1) { transform: translateY(12px) rotate(315deg);}
.menu.active div span:nth-of-type(2) { opacity: 0;}
.menu.active div span:nth-of-type(3) { transform: translateY(-12px) rotate(-315deg);}


#sp-menu { position: fixed; left: 0; top: 0; width: 100%; height: 100vh; background: #fff; z-index: -1; opacity: 0; transition: 0.4s linear;}
#sp-menu .inner { width: 100%; height: 100%; padding: 30px;}
#sp-menu ul { width: 100%; max-width: 600px; margin: 0 auto; padding-top: 40px; font-size: 0;}
#sp-menu ul li { margin-bottom: 20px; padding-left: 20px; font-family: 'Century Gothic', CenturyGothic, sans-serif;}
#sp-menu ul li.line { padding-bottom: 20px; border-bottom: solid 1px #c4c4c4;}
#sp-menu ul li:last-child{ padding-left: 0;}
#sp-menu ul li span { display: inline-block; vertical-align: middle; padding-top: 3px;
 font-family: CenturyGothic, sans-serif; font-weight: 700;
}
#sp-menu ul li svg { display: inline-block; width: 48px; height: 48px; fill: #505050; vertical-align: middle;}
#sp-menu ul li a { color: #505050; font-size: 30px; font-weight: 700; letter-spacing: 0.05rem;}
#sp-menu ul li ul li { display: inline-block; width: 50%; vertical-align: top; padding: 0;}
#sp-menu ul li ul li a { display: block; padding: 15px 0; width: 92%; margin: 0 auto; font-size: 20px; font-weight: 400; border: solid 1px #505050; text-align: center;}
#sp-menu.open { opacity: 1; z-index: 99;}
@media (max-width: 1001px) {
	.menu { display: block;}
	#sp-menu .inner { padding: 20px 15px;}
	#sp-menu ul { padding-top: 30px;}
	#sp-menu ul li { padding-left: 10px;}
	#sp-menu ul li svg { width: 30px; height: 30px;}
	#sp-menu ul li a { font-size: 24px;}
	#sp-menu ul li ul li a { width: 96%; padding: 10px 0; font-size: 12px;}
}


#ft { position: relative; z-index: 21;}
#ft .inner-ft{ padding: 50px 0 50px; background: #d4f9f0;}
#ft h3 { margin: 0 auto 50px; text-align: center;}
#ft h3 img{ width: 32%; max-width: 300px;}
#ft ul { margin: 0 auto 60px; font-size: 0; text-align: center;}
#ft ul li { display: inline-block; font-size: 14px; padding: 0 20px; border-left: solid 1px #505050;}
#ft ul li:first-child{ border-left: none;}
#ft ul li a { color: #505050; }
#ft ul li a:hover { text-decoration: underline;}
#ft p { font-size: 12px; text-align: center;}
#ft .msg { width: 100%; padding-bottom: 50px; background: #fff;}
#ft .msg .inner { width: 92%; max-width: 1000px; margin: 0 auto; padding: 30px; border: solid 1px #505050;}
#ft .msg h3 { margin: 0 auto 20px; font-size: 20px; text-align: center;}
#ft .msg p { font-size: 13px;}
#ft .msg p span { display: block;}
@media (max-width: 641px) {
	#ft .msg p { text-align: left;}
	#ft .msg p span { display: inline;}
}
@media (max-width: 481px) {
	#ft .inner-ft{ padding: 40px 0;}
	#ft h3 { margin: 0 auto 20px;}
	#ft ul { margin: 0 auto 20px;}
	#ft ul li { display: block; margin: 0 auto 20px; font-size: 12px; padding: 0; border-left: none;}
	#ft ul li:first-child{ border-left: none;}
	#ft p { font-size: 10px;}
	#ft .msg { margin-bottom: 0px; padding: 30px 0 50px;}
	#ft .msg .inner { padding: 20px;}
	#ft .msg h3 { margin: 0 auto 10px; font-size: 18px;}
	#ft .msg p { font-size: 12px;}
}


.pagetop { position: fixed; right: 0; bottom: 0; z-index: 22; width: 80px; }
.pagetop a { display: block;}
.pagetop a img { width: 100%;}
@media (max-width: 481px) {
	.pagetop { width: 50px;}
}



body.law .wrap section{
	max-width: 750px;
	background: #fff;
	margin: auto;
	padding: 5% 10px;
}
body.law .wrap section h2{
	text-align: center;
	margin-bottom: 1.2rem;
	margin-top: 1em;
	font-weight: bold;
	font-size: 1.5em;
}
body.law .wrap section table{
	border-collapse:collapse
}
body.law .wrap section table tr td:first-child{
	width: 30%;
	font-weight: bold;
}
body.law .wrap section table tr td{
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	padding: 0.3em 0.5em;
}
body.law .wrap section table{
	border-top: 1px solid #000;
	border-left: 1px solid #000;
}
@media (min-width:768px){
body.law .wrap section table a{
	pointer-events: none;
	color: #000;
}
}
@media (max-width:767px){
body.law .wrap section table a{
	text-decoration: underline;
	color: #000;
}
body.law .wrap section table tr td:first-child{
	width: 40%;
}
}
footer{
	border-top:1px solid #000;
	padding-top: 10px;
}
footer .gnavi_box{
	max-width: 750px;
	margin: auto;
}
footer .gnavi_box .list{
	text-align: center;
}
footer .gnavi_box a{
	text-decoration: underline;
	text-align: center;
	color: #000;
}
@media (min-width:768px){
	footer .gnavi{
		display: flex;
        align-items: center;
        justify-content: center;
	}
}