
html {
    color: #333333;
    font-size: 17px;
    line-height: 2em;}
::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;}
::selection {
    background: #b3d4fc;
    text-shadow: none;}
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;}
audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;}
fieldset {
    border: 0;
    margin: 0;
    padding: 0;}
textarea {
    resize: vertical;}
.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;}


/* ==================
 base
================== */

@font-face {
 	font-family: "Yu Gothic";
  	src: local("Yu Gothic Medium");
 	font-weight: 400;
}

body {
	font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
	background-color: #f3fcfa;
    background-image: radial-gradient(#1abc9c 1px, #f3fcfa 1px);
    background-size: 30px 30px;
}

h1, h2 {
	padding: 0;
	margin: 0 0 50px;
	text-align: center;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.h2y{
    color: #FFFFFF00;
    font-size: 32px;
    font-weight: 800;
    -webkit-text-stroke: 1px;
    stroke-width: 1px;
    -webkit-text-stroke-color: #363636;
    stroke: #363636;
    text-shadow: 1px 1px 0px #ffffff;
	background-color: #FEE000;
	padding: 12px 100px 10px;
	border-radius: 100px;
}

.h2p{
    color: #FFF;
    font-size: 28px;
	background-color: #a341ca;
	padding: 10px 100px 10px;
	border:2px solid #fff;
	font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}

.h2bk{
    color: #FFF;
    font-size: 28px;
	background-color: #575757;
	padding: 10px 60px 10px;
	border:2px solid #fff;
	font-family: "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
}

ul, li {
	padding: 0;
	margin: 0;
	list-style: none;
}

p {
	margin: 30px 100px;
}

a {
	color: #09F;
}

a:hover {
	text-decoration: none;
}

a:hover img {
    -webkit-filter: brightness(1.2);
     -moz-filter: brightness(1.2);
     -o-filter: brightness(1.2);
     -ms-filter: brightness(1.2);
     filter: brightness(1.2);
}

header {
	text-align: center;
}

.wrap {
	width: 980px;
	margin: 0 auto;
	padding: 30px 0;
}

.wrap2 {
	width: 980px;
	margin: 0 auto;
	padding: 30px 0;
	color:#2D2D2D;
	background: #fff;
}

.bg04 .wrap {
	padding: 0;
	text-align: center;
}

footer {
	margin: 0;
	clear: both;
	background: #111111;
	padding: 10px 0 5px;
	text-align: center;
	color: #FFFFFF;
	font-size: 60%;
	line-height: 2.0em;
}

footer a {
	color: #FFFFFF;
}

address {
	font-style: normal;
	color: #ffffff;
}

.border1 {
    box-shadow:  -3px -3px #fff, 3px -3px #fff, 3px 3px #fff, -3px 3px #fff, 0 0 1em #ffdefd, 0 0 1em #ffdefd inset, 0 0 1em #ffdefd, 0 0 1em #ffdefd inset, 0 0 1em #ffdefd, 0 0 1em #ffdefd inset;
    border-radius: 10px;
}

.border2  {
    border: 2px solid #000;
}

.border3 {
    box-shadow:  -3px -3px #fff, 3px -3px #fff, 3px 3px #fff, -3px 3px #fff, 0 0 1em #d6d7ff, 0 0 1em #d6d7ff inset, 0 0 1em #d6d7ff, 0 0 1em #d6d7ff inset, 0 0 1em #d6d7ff, 0 0 1em #d6d7ff inset;
    border-radius: 10px;
	background: #fff;
}

.dotsdw {
  position: relative;
}

.dotsdw::before {
  content: "";
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 100%;
  height: 100%;
  background-image: radial-gradient(#999 30%, rgba(0, 0, 0, 0) 31%), radial-gradient(#999 30%, rgba(0, 0, 0, 0) 31%);
  background-size: 6px 6px;
  background-position: 0 0, 3px 3px;
  z-index: -1;
}

.check ul li{
  border-bottom: 1px solid #ddd;
  padding: 20px 20px 20px 60px;
  margin: 0 3%;
  background: url(../img/check.png) left 15px center no-repeat;
}

/* ==================
 custom
================== */

.top_main {
	background: url("../img/top_bg1.jpg") center top no-repeat;
	background-size: cover;
	position: relative;
}

.top_main2 {
	background: url("../img/top_bg2.jpg") center top no-repeat;
	background-size: cover;
	position: relative;
	height:220px;
	overflow-x: hidden;
}

.top_wrap {
    margin: 0 auto;
    max-width: 1000px;
    min-width: 1000px;
	text-align: center;
}

.top_main2 .top_wrap {
    margin: 0 auto;
    max-width: 900px;
    min-width: 900px;
	text-align: center;
}

.bg01 {
    background: url(../img/bg01.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 70px 0 50px;
	color: #fff;
}

.bg02 {
    background: url(../img/bg02.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 70px 0 50px;
	color: #fff;
}

.bg03 {
    background: url(../img/bg03.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 70px 0 50px;
	color: #fff;
}

.bg04 {
    background: url(../img/bg04.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    padding: 70px 0;
	color: #fff;
}

.entry{
	background-color: #f3fcfa;
	background-image: radial-gradient(#1abc9c 1px, #f3fcfa 1px);
	background-size: 30px 30px;
}

.btn{
	width:500px;
	height: 130px;
	margin: 60px 240px;
	display: block;
	border-radius: 12px;
	overflow: hidden;
	cursor: pointer;
	position: relative;
}

.btn img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	display: block;
	-webkit-transition: .4s ease-in-out;
	transition: .4s ease-in-out;
}

.btn:hover img:nth-of-type(2) {
	opacity: 0;
}

.asobi {
	background:#FDFDDE;
	margin:5% 7%;
	padding: 2%;
	font-size:90%;
}

/* menu ---------------------------------------------------------- */

#nav-drawer {
  position: relative;
}

.nav-unshown {
  display:none;
}

#nav-open {
  display: inline-block;
  width: 30px;
  height: 22px;
  vertical-align: middle;
}

#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  height: 3px;/*線の太さ*/
  width: 25px;/*長さ*/
  border-radius: 3px;
  background: #555;
  display: block;
  content: '';
  cursor: pointer;
}
#nav-open span:before {
  bottom: -8px;
}
#nav-open span:after {
  bottom: -16px;
}

#nav-close {
  display: none;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}

#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 90%;
  max-width: 330px;
  height: 100%;
  background: #fff;
  transition: .3s ease-in-out;
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);
}

#nav-input:checked ~ #nav-close {
  display: block;
  opacity: .5;
}

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
}

.header-logo-menu{
 display: flex;
 display: -moz-flex;
 display: -o-flex;
 display: -webkit-flex;
 display: -ms-flex;
 flex-direction: row;
 -moz-flex-direction: row;
 -o-flex-direction: row;
 -webkit-flex-direction: row;
 -ms-flex-direction: row;
}

.logo-area{text-align:center;margin:auto;}

.drawer-hamburger {
    background: rgba(255,255,255,0.6) !important;
	left: 10px !important;
	top: 10px !important;
	padding: 10px .75rem 20px !important;
	width: 1.3rem !important;
}

.drawer-nav {
    background: rgba(0,0,0,0.7) !important;
	padding-top: 8%;
}

.drawer-menu-item {
    color: #fff !important;
	padding: 1.4rem !important;
}


/* swiper ---------------------------------------------------------- */

.slide_wrap {
  display: flex;
  align-items: center;
  height: 210px;
  overflow-x: hidden;
/*  padding: 50px 0 70px;*/
}

.slideshow {
  display: flex;
  animation: loop-slide 20s infinite linear 1s both;
}
@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

.slide {
  width: 200px;
  height: 140px;
}
.slide:nth-child(1) {
  background-color: tomato;
}
.slide:nth-child(2) {
  background-color: orange;
}
.slide:nth-child(3) {
  background-color: blue;
}
.slide:nth-child(4) {
  background-color: green;
}
/* margin padding ---------------------------------------------------------- */

.center {text-align: center !important;}
.bold {font-weight: bold !important;}
.bgyellow {	background: #FF0 !important;}
.underline {text-decoration: underline !important;}
.strikeline {text-decoration: line-through !important;}
.red {color: #F00 !important;}
.blue {color: blue !important;}
.yellow {color: #FF0 !important;}
.marker {background:linear-gradient(transparent 60%, #ff6 60%);}
.fsS {font-size: 80% !important;}
.fsM {font-size: 130% !important;
	  line-height: 1.5em !important;}
.fsL {font-size: 180% !important;
	line-height: 1.5em !important;}
.pc {display: inline;}
.sp {display: none;}

.mt0 {margin-top:0 !important;}
.mt10 {margin-top:10px !important;}
.mt20 {margin-top:20px !important;}
.mt30 {margin-top:30px !important;}
.mt40 {margin-top:40px !important;}
.mt50 {margin-top:50px !important;}
.ml0 {margin-left:0 !important;}
.ml10 {margin-left:10px !important;}
.ml20 {margin-left:20px !important;}
.ml30 {margin-left:30px !important;}
.ml40 {margin-left:40px !important;}
.ml50 {margin-left:50px !important;}
.mr0 {margin-right:0 !important;}
.mr10 {margin-right:10px !important;}
.mr20 {margin-right:20px !important;}
.mr30 {margin-right:30px !important;}
.mr40 {margin-right:40px !important;}
.mr50 {margin-right:50px !important;}
.mb0 {margin-bottom:0 !important;}
.mb10 {margin-bottom:10px !important;}
.mb20 {margin-bottom:20px !important;}
.mb30 {margin-bottom:30px !important;}
.mb40 {margin-bottom:40px !important;}
.mb50 {margin-bottom:50px !important;}
.pt0 {padding-top:0 !important;}
.pt10 {padding-top:10px !important;}
.pt20 {padding-top:20px !important;}
.pt30 {padding-top:30px !important;}
.pt40 {padding-top:40px !important;}
.pt50 {padding-top:50px !important;}
.pl0 {padding-left:0 !important;}
.pl10 {padding-left:10px !important;}
.pl20 {padding-left:20px !important;}
.pl30 {padding-left:30px !important;}
.pl40 {padding-left:40px !important;}
.pl50 {padding-left:50px !important;}
.pr0 {padding-right:0 !important;}
.pr10 {padding-right:10px !important;}
.pr20 {padding-right:20px !important;}
.pr30 {padding-right:30px !important;}
.pr40 {padding-right:40px !important;}
.pr50 {padding-right:50px !important;}
.pb0 {padding-bottom:0 !important;}
.pb10 {padding-bottom:10px !important;}
.pb20 {padding-bottom:20px !important;}
.pb30 {padding-bottom:30px !important;}
.pb40 {padding-bottom:40px !important;}
.pb50 {padding-bottom:50px !important;}


    /* ==================
    SP
    ================== */

    @media screen and (max-width: 640px) {
	
    html {
    color: #333333;
    font-size: 15px;
    line-height: 1.8em;}
	
	body {
	background: none;
	width: 100%;}

	.wrap,
	.wrap2 {
	width: 90%;}
	
	.entry .wrap {
    padding: 4% 0;}
	
	img {
	width: 100%;
	height: auto;}

	p {
	margin: 5% 7%;}
	
    header{
	width:100%;
	margin:0;
	padding:0;
	z-index:0;
	-moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;}

	footer {
	margin: 0;
	padding: 3% 0 2%;}
	
	.h2y {
    font-size: 20px;
    padding: 12px 60px 10px;}
	
	.h2p {
    font-size: 20px;
    padding: 10px 60px 10px;}
	
	.h2bk {
    font-size: 18px;
    padding: 10px 40px 10px;}
	
	
	/* ==================
    cunstom SP
    ================== */
	
	.top_wrap {
	max-width: 100%;
	min-width: 100%;}
	
	.top_main2 .top_wrap {
    max-width: 100%;
	min-width: 100%;}
	
	.btn {
    width: 80%;
    height: 100px;
    margin: 2% 10%;}

    .btn img {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 100%;
	display: block;
	-webkit-transition: .4s ease-in-out;
	transition: .4s ease-in-out;}
	
	.ilst {
	width:40%;}
	
	/* margin padding ---------------------------------------------------------- */

	.mt10 {margin-top:1% !important;}
	.mt20 {margin-top:2% !important;}
	.mt30 {margin-top:3% !important;}
	.mt40 {margin-top:4% !important;}
	.mt50 {margin-top:5% !important;}
	.ml10 {margin-left:1% !important;}
	.ml20 {margin-left:2% !important;}
	.ml30 {margin-left:3% !important;}
	.ml40 {margin-left:4% !important;}
	.ml50 {margin-left:5% !important;}
	.mr10 {margin-right:1% !important;}
	.mr20 {margin-right:2% !important;}
	.mr30 {margin-right:3% !important;}
	.mr40 {margin-right:4% !important;}
	.mr50 {margin-right:5% !important;}
	.mb10 {margin-bottom:1% !important;}
	.mb20 {margin-bottom:2% !important;}
	.mb30 {margin-bottom:3% !important;}
	.mb40 {margin-bottom:4% !important;}
	.mb50 {margin-bottom:5% !important;}
	.pt10 {padding-top:1% !important;}
	.pt20 {padding-top:2% !important;}
	.pt30 {padding-top:3% !important;}
	.pt40 {padding-top:4% !important;}
	.pt50 {padding-top:5% !important;}
	.pl0 {padding-left:0 !important;}
	.pl20 {padding-left:2% !important;}
	.pl30 {padding-left:3% !important;}
	.pl40 {padding-left:4% !important;}
	.pl50 {padding-left:5% !important;}
	.pr10 {padding-right:1% !important;}
	.pr20 {padding-right:2% !important;}
	.pr30 {padding-right:3% !important;}
	.pr40 {padding-right:4% !important;}
	.pr50 {padding-right:5% !important;}
	.pb10 {padding-bottom:1% !important;}
	.pb20 {	padding-bottom:2% !important;}
	.pb30 {padding-bottom:3% !important;}
	.pb40 {padding-bottom:4% !important;}
	.pb50 {padding-bottom:5% !important;}
	
}



/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 35em) {

}

@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {

}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
    display: none !important;
    visibility: hidden;}
.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;}
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;}
.invisible {
    visibility: hidden;}
.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;}
.clearfix:after {
    clear: both;}
.clearfix {
    *zoom: 1;}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after { 
	    background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;}
    a,
    a:visited {
		text-decoration: underline;}
    a[href]:after {
		content: " (" attr(href) ")";}
    abbr[title]:after {
		content: " (" attr(title) ")";}
    a[href^="#"]:after,
    a[href^="javascript:"]:after {
		 content: "";}
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;}
    thead {
        display: table-header-group;}
    tr,
    img {
        page-break-inside: avoid;}
    img {
        max-width: 100% !important;}
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;}
    h2,
    h3 {
        page-break-after: avoid;}
}