@charset 'UTF-8';
/* A Modern CSS Reset */
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap");
@import url("https://fonts.googleapis.com/css?family=Oswald:400,600,700&display=swap");

*, *::before, *::after {
	box-sizing: border-box
  }
  
  ul[class], ol[class] {
	padding: 0
  }
  
  body, h1, h2, h3, h4, p, ul[class], ol[class], figure, blockquote, dl, dd {
	margin: 0
  }
  
  
  body {
	min-height: 100vh;
	text-rendering: optimizeSpeed;
	line-height: 1.5
  }
  
  ul[class], ol[class] {
	list-style: none
  }
  
  a:not([class]) {
	text-decoration-skip-ink: auto
  }
  
  img, picture {
	max-width: 100%;
	display: block
  }
  
  article>*+* {
	margin-top: 1em
  }
  
  input, button, textarea, select {
	/* font: inherit */
  }
  
  img:not([alt]) {
	filter: blur(10px)
  }
  

/*!
 * ress.css â€¢ v1.2.2
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
	overflow-y: scroll;
	box-sizing: border-box;
	/* All browsers without overlaying scrollbars */

	-webkit-text-size-adjust: 100%;
	/* iOS 8+ */
}

*,
::before,
::after {
	/* Set `background-repeat: no-repeat` to all elements */
	box-sizing: inherit;
	background-repeat: no-repeat;
}

::before,
::after {
	/* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
	vertical-align: inherit;
	text-decoration: inherit;
}

/* Remove margin, padding of all elements and set background-no-repeat as default */
* {
	/* Reset `padding` and `margin` of all elements */
	margin: 0;
	padding: 0;
}

/* # =================================================================
   # General elements
   # ================================================================= */
/* Add the correct display in iOS 4-7.*/
audio:not([controls]) {
	display: none;
	height: 0;
}

hr {
	overflow: visible;
	/* Show the overflow in Edge and IE */
}

/*
* Correct `block` display not defined for any HTML5 element in IE 8/9
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox
* Correct `block` display not defined for `main` in IE 11
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

summary {
	display: list-item;
	/* Add the correct display in all browsers */
}

small {
	font-size: 80%;
	/* Set font-size to 80% in `small` elements */
}

[hidden],
template {
	display: none;
	/* Add the correct display in IE */
}

abbr[title] {
	border-bottom: 1px dotted;
	/* Add a bordered underline effect in all browsers */
	text-decoration: none;
	/* Remove text decoration in Firefox 40+ */
}

a {
	background-color: transparent;
	/* Remove the gray background on active links in IE 10 */

	-webkit-text-decoration-skip: objects;
	/* Remove gaps in links underline in iOS 8+ and Safari 8+ */
}

a:active,
a:hover {
	outline-width: 0;
	/* Remove the outline when hovering in all browsers */
}

a.-window {
	position: relative;
	padding-right: 20px;
}

a.-window::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 14px;
	height: 12px;
	background: url(../img/ic_window.svg) center/contain no-repeat;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	/* Specify the font family of code elements */
}

b,
strong {
	font-weight: bolder;
	/* Correct style set to `bold` in Edge 12+, Safari 6.2+, and Chrome 18+ */
}

dfn {
	font-style: italic;
	/* Address styling not present in Safari and Chrome */
}

/* Address styling not present in IE 8/9 */
mark {
	background-color: #ff0;
	color: #000;
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
	position: relative;
	vertical-align: baseline;
	font-size: 75%;
	line-height: 0;
}

sub {
	bottom: -.25em;
}

sup {
	top: -.5em;
}

body {
	font-family: 'Noto Sans JP',"Hiragino Sans","ヒラギノ角ゴ Pro W3","HIragino Kaku Gothic Pro W3","HIragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif; 
	/* font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif; */
	/* font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif; */
	/* font-family: 'Noto Sans JP',"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","HIragino Kaku Gothic Pro W3","HIragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS P Gothic",sans-serif; */
}

.wf-mplus1p { font-family: "M PLUS 1p"; }

 *, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}


/*--------------------------------------------------------------------------
   body
---------------------------------------------------------------------------*/
body {
	/* min-width: 1100px; */
	min-width: 100%;
	color: #000;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

/* media query -> sp
=================================================================*/
@media only screen and (max-width: 767px) {
	body {
		width: 100%;
		min-width: 320px;
		height: auto;
		font-size: 16px;
		line-height: 1.786;
	}
}


/*--------------------------------------------------------------------------
   a
---------------------------------------------------------------------------*/
a {
	color: inherit;
	outline: none;

	-webkit-tap-highlight-color: transparent;
}

a:link,
a:visited {
	text-decoration: none;
}

/*--------------------------------------------------------------------------
   reset
---------------------------------------------------------------------------*/
img {
	vertical-align: middle;
}
img.full_w {
	width: 100%;
}

/* media query -> sp
=================================================================*/
@media only screen and (max-width: 767px) {
  img {
  	width: 100%;
  }
}

ul {
	list-style: none;
}
::selection {
	background-color: #b3d4fc;
	color: #fff;
	text-shadow: none;
}

/*--------------------------------------------------------------------------
   selection
---------------------------------------------------------------------------*/
::-moz-selection {
	background-color: #b3d4fc;
	color: #fff;
	text-shadow: none;
}

::selection {
	background-color: #b3d4fc;
	color: #fff;
	text-shadow: none;
}


input, textarea, select { font-family: inherit; font-size: inherit; font-weight: inherit; }
input, select, textarea { font-size: 100%; font-family: Verdana,Helvetica,sans-serif; }
b {
    font-weight: bold;
    color: rgb(255, 69, 0);
}

/*--------------------------------------------------------------------------
   inner
---------------------------------------------------------------------------*/
.inner {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}

@media screen and (max-width:1200px){
	.inner {
		width: 100%;
		max-width: 100%;
		padding: 0 8.333vw;
	}
}

/* media query -> sp
=================================================================*/
@media only screen and (max-width: 767px) {
	.inner {
		width: 100%;
		max-width: 100%;
		padding: 0 2vw;
	}
}





.d-flex {
	display: flex;
	display: -ms-flexbox;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}



/*==========================================================================

   mixin

===========================================================================*/
/*--------------------------------------------------------------------------
   SHOW / HIDE
---------------------------------------------------------------------------*/
/*
 show / hide
 -- レスポンシブ用 表示/非表示
*/
.mi-pc,.pc-visible {
	display: block!important;
}

img.mi-pc {
	display: inline!important;
}

.mi-sp,.sp-visible {
	display: none!important;
}
.mi-sp-flex {
	display: none!important;
}

.mi-min-sp {
	display: none!important;
}

.mi-pc-flex {
	display: flex!important;
}
/* media query -> sp
========================================*/
@media only screen and (max-width: 767px) {
	.mi-pc,
	img.mi-pc,
	.mi-pc-flex,
	.pc-visible  {
		display: none!important;
	}
	.mi-sp,
	.sp-visible  {
		display: block!important;
	}
	img.mi-sp {
		display: inline!important;
	}
	.mi-sp-flex {
		display: flex!important;
	}
}

/* media query -> min
========================================*/
@media only screen and (max-width: 374px) {
	/*.mi-min-sp {
		display: block;
	}*/
}

/*--------------------------------------------------------------------------
   TEXT
---------------------------------------------------------------------------*/
/*
 note
 -- 改行時、一文字目に余白を持たせる
*/
.mi-note,
.mi-list-note li {
	padding-left: 1em;
	text-indent: -1em;
}



a,
.cta__btn--pc {
	-webkit-transition: opacity .3s;
			transition: opacity .3s;
	opacity: 1;
	}
a:hover,
.cta__btn--pc:hover {
	-webkit-transition: opacity .3s;
			transition: opacity .3s;
	opacity: .6;
	}

.rover{
  	-webkit-transition: opacity .3s;
  			transition: opacity .3s;
  	opacity: 1;
  	}
.rover:hover {
  	-webkit-transition: opacity .3s;
  			transition: opacity .3s;
  	opacity: .6;
  	}


/*--------------------------------------------------------------------------
	header
---------------------------------------------------------------------------*/
header {
	width: 100%;
	background-color: #fff;
	z-index: 1;
}
header .header__inner {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	display: flex;
}
.global-header__logo {
	width: 260px;
	margin: 23px 0 23px 25px;
}

@media only screen and (max-width: 1200px) {
	header {
		width: 100%;
		background-color: #fff;
		z-index: 1;
	}
	header .header__inner {
		width: 100%;
		max-width: 100vw;
		margin: 0 auto;
		padding: 0;
		display: flex;
	}
	.global-header__logo {
		width: 21.667vw;
		margin: 1.917vw 0 1.917vw 0;
	}
}

@media only screen and (max-width: 767px) {
	.global-header__logo {
		width: 34.667vw;
		margin: 1.733vw 0 1.733vw 3.333vw;
	}
}


/*--------------------------------------------------------------------------
	footer
---------------------------------------------------------------------------*/
.l-footer {
	padding-top: 48px;
	background-color: #f5f5f5;
	font-size: 16px;
	text-align: center;
}

.l-footer__notes {
	margin-top: 12px;
}
.l-copyright {
	padding-bottom: 40px;
}


@media only screen and (max-width: 767px) {
	.l-footer {
		padding-top: 5.3333333333vw;
		font-size: 2.6666666667vw;
	}

	.l-footer__notes {
		margin-top: 5.3333333333vw;
	}

	.l-copyright {
		padding-bottom: 5.3333333333vw;
	}
}
/* l-nav-footer */
.l-nav-footer {
	display: flex;
	flex-flow: wrap;
	justify-content: center;
	margin-top: -4px;
	margin-left: -24px;
}

.l-nav-footer li {
	margin-top: 4px;
	margin-left: 24px;
}

.l-nav-footer a {
	text-decoration: none;
}

.l-nav-footer a.-window {
	position: relative;
	padding-right: 20px;
}

.l-nav-footer a.-window::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 14px;
	height: 12px;
	background: url(../img/ic_window.svg) center/contain no-repeat;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.l-nav-footer a:hover {
	text-decoration: underline;
}

@media only screen and (max-width: 767px) {
	.l-nav-footer {
		margin-top: -1.0666666667vw;
		margin-left: -5.3333333333vw;
	}

	.l-nav-footer li {
		margin-top: 1.0666666667vw;
		margin-left: 5.3333333333vw;
		font-size: 3.2vw;
	}
	.l-nav-footer li.first {
		display: block;
		width: 100%;
	}

	.l-nav-footer.-window::after {
		width: 3.7333333333vw;
		height: 3.2vw;
		margin-left: 1.0666666667vw;
	}
}


/*--------------------------------------------------------------------------
	.main_wrap
---------------------------------------------------------------------------*/
.main_wrap {
	width: 100%;
	color: #333333;
}