@charset "UTF-8";

@import url('//fonts.googleapis.com/css?family=M+PLUS+Rounded+1c:400,700&subset=japanese');

:root {
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

audio:not([controls]) {
  display: none;
}

details {
  display: block;
}

input[type="number"] {
  width: auto;
}

input[type="search"] {
  -webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

main {
  display: block;
	position: relative;
	min-height: 100vh;
}


summary {
  display: block;
}

pre {
  overflow: auto;
}

progress {
  display: inline-block;
}

small {
  font-size: 75%;
}

template {
  display: none;
}

textarea {
  overflow: auto;
}

[hidden] {
  display: none;
}

[unselectable] {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/*
 * Universal inheritance
 */

*,
::before,
::after {
  box-sizing: inherit;
}

* {
  font-size: inherit;
  line-height: inherit;
}

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit;
}

/*
 * Opinionated defaults
 */

*,
::before,
::after {
  border-style: solid;
  border-width: 0;
}

* {
  margin: 0;
  padding: 0;
}

:root {
  box-sizing: border-box;
  cursor: default;
  font: 16px/1.5 sans-serif;
  text-rendering: optimizeLegibility;
}

a {
  text-decoration: none;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

button,
input,
select,
textarea {
  background-color: transparent;
}

button,
input,
select,
textarea {
  color: inherit;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit;
}

button,
input,
select,
textarea {
  min-height: 1.5em;
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
}

nav ol,
nav ul {
  list-style: none;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

select::-ms-expand {
  display: none;
}

select::-ms-value {
  color: currentColor;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

textarea {
  resize: vertical;
}

::-moz-selection {
  background-color: #B3D4FC;
  text-shadow: none;
}

::selection {
  background-color: #B3D4FC;
  text-shadow: none;
}


/* ================================================== *
 *
 *    BASE
 *
 * ================================================== */

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
  font-size: 16px;
  color: #000;
  overflow-y: auto;
  background:url("../image/bg_ios_notice.png") repeat;
}

a {
  color: #000;
  text-decoration: none;
  transition: all 0.7s cubic-bezier(0.23, 1, 0.32, 1);
}

a:visited {
  color: #000;
}

a:hover {
  color: #999;
  text-decoration: none;
}

*:focus {
  outline: none !important;
}

/* ------------------------------------------------- *
 *        clearfix
 * ------------------------------------------------- */

.-clearFix:before,
.-clearFix:after {
  content: " ";
  display: table;
}

.-clearFix:after {
  clear: both;
}

/* ------------------------------------------------- *
 *        -font
 * ------------------------------------------------- */

.-fontBold {
  font-weight: bold;
}

.-fontRound {
  font-family: 'M PLUS Rounded 1c', sans-serif;
}

/* ================================================== *
 *
 *    BLOCK
 *
 * ================================================== */



/* ------------------------------------------------- *
 *        header
 * ------------------------------------------------- */
html, body {
     margin: 0 auto;   
    height: 100%;
}
header {
    margin: 0 auto;
    width: 100%;
    max-width: 100%;
    box-shadow: none;
    background-color: #1667da;
    height: 99px!important;
    z-index: 10;
}@media screen and (max-width:960px) {
	.header {
		height: 75px!important;
	}
}


.main {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
	margin: 0 auto;
    height: 100%;
    margin-top: 0;

}

.mainInner{
    display: table;
    height: 100%;
    width: 100%;
    text-align: center;
}
.mainInner div{
    display:table-cell;
    vertical-align: middle;
    font-size: 3em;
    font-weight: bold;
    letter-spacing: 1.25px;
}
.sub {
    margin: 0 auto;
    display: block;
    height: 100%;
    margin-top: 0;
}

.subInner{
    display: table;
    height: 100%;
    width: 100%;
    text-align: center;
}
.subInner div{
    display:table-cell;
    vertical-align: middle;
    font-size: 3em;
    font-weight: bold;
    letter-spacing: 1.25px;
}



.flex-header {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: left;
     -ms-flex-pack: left;
   justify-content: left;
align-items:start;
width:100%;
  max-width: 100%;
  padding:10px 0 0px;
  text-align: left;
  position: relative;
  flex-direction: row;
  flex-wrap: 	nowrap;
    margin: 0 auto;
    box-shadow: none;
    height: 99px;
    z-index: 10;
}


.flex-header .flex-header-item1{
  margin: 19px 10px 0 10px;
  width:100px;
		height:auto;
}@media screen and (max-width:960px) {
	.flex-header .flex-header-item1 {
	  	margin: 17px 5px 0 0px;
		width:60px;
		height:auto;
	}
}


.flex-header .flex-header-item2{
  margin: 14px 0px 0 0;
  width:1000px;
  height: 100px;
  color: #fff;
  font-size: 2em;
  text-align: left;
}@media screen and (max-width:960px) {
	.flex-header .flex-header-item2 {
  margin: 11px 0px 0 0;
  font-size: 1.1em;
	height: auto;
    line-height: -10;
      width:100%;
      padding:0 10px 0 40px;
	}
}

.flex-header .flex-header-item2 span{
  color: #ffff00;
}




/* ------------------------------------------------- *
 *        mainimage
 * ------------------------------------------------- */

.sectionSec {
  position: relative;
  padding: 40px 0;
  margin: 99px auto 0;
  transition: all 0.7s cubic-bezier(0.23, 1, 0.32, 1);
  background:url("../image/bg_dot_pinkpnk.png") repeat;
  background-position: center center;
}@media screen and (max-width:960px) {
	.sectionSec{
	  	margin: 75px auto 0;
		  padding: 25px 0;
	}
}


.sectionSec__inner {
  padding: 0px 0px;
}

hr{
border:none;
border-top:dashed 3px #4a4a4a;
height:3px;
color:#FFFFFF;
width:100%;
margin:30px 0px;
}


.sectionIndex__headTitle {
  display:flex;
  flex-wrap: wrap;
  justify-content: center;
  color: #130d02;
  font-size: 1.8em;
  line-height: 1.0;
  text-align: center;
  height:auto;
  width:100%;
  max-width: 1200px;
  padding:0;
  letter-spacing: 0.15em;
  margin:80px auto 0;
}@media screen and (max-width:960px) {
	.sectionIndex__headTitle {
	    margin:25px auto 0;
	}
}

.sectionIndex__headTitle img{
  position: relative;
  margin: 0px auto 0px;
  width:100%;
}@media screen and (max-width:960px) {
	.sectionIndex__headTitle img {
	      width:95%;
	}
}

.sectionText_gray {
  background-color:#808080;
  color: #FFF;
  font-size: 1.3em;
  line-height: 1.6;
  height:auto;
  width:100%;
  max-width: 1200px;
  text-align: left;
  letter-spacing: 0.15em;
  margin:-30px auto 0;
  padding:40px 50px;
}@media screen and (max-width:960px) {
	.sectionText_gray {
      margin:55px auto 0;
    font-size: 1.2em;
    line-height: 1.4;
      max-width: 90%;
      padding:20px 30px;
    }
}


.yajirushi {
  display: block;
  margin:80px auto 40px;
  width:333px;
}@media screen and (max-width:960px) {
	.yajirushi {
      margin:80px auto 0px;
    }
}

.yajirushi img {
  margin:0 auto;
}


.sectionText_blue {
  background-color:#31d4eb;
  color: #FFF;
  font-size: 1.3em;
  line-height: 1.6;
  height:auto;
  width:100%;
  max-width: 1200px;
  text-align: left;
  letter-spacing: 0.15em;
  margin:25px auto 0;
  padding:40px 50px;
}@media screen and (max-width:960px) {
	.sectionText_blue {
      margin:40px auto 0;
    font-size: 1.2em;
    line-height: 1.4;
      max-width: 90%;
      padding:20px 30px;
    }
}


/* ------------------------------------------------- *
 *        sectionTop
 * ------------------------------------------------- */

.m_top{
	margin-top:100px!important;
}@media screen and (max-width:960px) {
	.m_top {
	  	margin-top:30px!important;
	}
}

section{
	margin:20px auto 0px;
}@media screen and (max-width:960px) {
	section {
	  	margin:0px auto;
	}
}

.bg_a {
  background: #ffaa00;
}

.contents {
  position: relative;
  overflow: hidden;
  margin: 0% 0;
  padding: 0px 0 0;
}



.contents:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 70%;
  margin: 3% -10% 0;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(3deg);
  -ms-transform: rotate(3deg);
  transform: rotate(3deg);
  z-index: -1;
}
.contents_a:before {
  background: linear-gradient(45deg, #fce0c2 0%, #ffcae1 100%);
}

.contents_b:before {
  background: linear-gradient(45deg, #fce0c2 0%, #fff782 100%);
}

.contents_c:before {
  background: linear-gradient(45deg, #ffda55 0%, #fff782 100%);
}

.contents_d:before {
  background: linear-gradient(45deg, #6afff8 0%, #a1e5ce 100%);
}

.contents_e:before {
  background: linear-gradient(45deg, #f991d6 0%, #fce0c2 100%);
}

.contents_r {
  position: relative;
  overflow: hidden;
  margin: 0% 0;
  padding: 0px 0 0;
}

.contents_r:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 70%;
  margin: 3% -10% 0;
  -webkit-transform-origin: right center;
  -ms-transform-origin: right center;
  transform-origin: right center;
  -webkit-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
  z-index: -1;
}

.contents_inner {
  box-sizing: boder-box;
  width: 100%;
  max-width: 1080px;
  height: 100%;
  margin: 0 auto;
  padding: 10px 0px;
  color: #fff;
  text-align: center;
}@media screen and (max-width:960px) {
	.contents_inner {
	  	  padding: 50px 0px 30px;
	}
}


.subcontainer h3{
	font-size: 1.8em;
	padding:10px 0px;
	margin: 20px auto 40px;
	font-weight: bold;
	text-shadow:
    white 3px 0px,  white -3px 0px,
    white 0px -3px, white 0px 3px,
    white 3px 3px , white -3px 3px,
    white 3px -3px, white -3px -3px,
    white 1px 3px,  white -1px 3px,
    white 1px -3px, white -1px -3px,
    white 3px 1px,  white -3px 1px,
    white 3px -1px, white -3px -1px;
	line-height: 1.3;
    color:#000;
}@media screen and (max-width:960px) {
	.subcontainer h3{
	font-size: 1.4em;
    padding: 20px 10px;
	margin: 0px;
    }
}

.subcontainer h3.markerpink{
	background: linear-gradient(transparent 50%, #ff75b5 0%);
	width:100%;
}
.subcontainer h3.markerblue{
	background: linear-gradient(transparent 50%, #30d4eb 0%);
	width:100%;
}




.subcontainer img{
width: 95%;
padding-top:30px;
}@media screen and (max-width:960px) {
	.subcontainer img {
	  width: 90%;
padding-top:10px;
	}
}

.subcontainer strong{
text-align: center;
display: block;
padding:10px 0px;
}

.subcontainer strong:before{
	position: absolute;
	top: 50px;
	left:-35px;
	content: url(../image/new.png);
}

.top-bg02 {
  background: url("../image/index_02.png") no-repeat;
}

.top-bg03 {
  background: url("../image/index_03.png") no-repeat;
}

/* ------------------------------------------------- *
 *        sectionTop QR
 * ------------------------------------------------- */

.flex-container {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
     -ms-flex-pack: center;
   justify-content: center;
  width:100%;
  max-width: 1200px;
  padding:40px 0 0px;
  text-align: left;
  color: #343434;
  position: relative;
  flex-direction: row;
  flex-wrap: wrap;
}

.flex-item {
	margin: 10px auto;
	padding: 5px auto;
	box-sizing: border-box;
}@media screen and (max-width:960px) {
	.flex-item {
	  	  	margin: 10px;
	}
}

.flex-item img {
}@media screen and (max-width:960px) {
	.flex-item img {
    	margin:0 30px 0 20px;

    }
}












.f-item4 {
position: relative;
width:320px;
height:220px;
margin:10px 0;
}

.f-item4 span {
	position: relative;
	top: 10px;
	left:15px;
	padding: 7px 20px;
	color: #FFFFFF;
	font-weight: bold;
	font-size: 18px;
	display: block;
	width:290px;
    text-align:  center;
    border-radius:  25px;
    box-shadow: 0 2px 4px 0 #9E9E9E;
	letter-spacing: 0.05em;
}

.bluebtn span {
	background: linear-gradient(to bottom, #1948dd, #153cb8);
}
.greenbtn span {
	background: linear-gradient(to bottom, #65a111, #55870e);
}

.bluebtn a:hover{
	background: linear-gradient(to bottom, #ef2c63, #d41249);
}

.greenbtn a:hover{
	background: linear-gradient(to bottom, #eada2a, #df8d0c);
}




/* ------------------------------------------------- *
 *        btn
 * ------------------------------------------------- */


.btnarea{
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
	background-image: url(../images/header_bg.jpg);
	background-attachment: fixed;
	padding: 3em 0 1em;
}@media screen and (max-width:960px) {
	.btnarea{
	padding: 2em 0 0.5em;
    }
}

.btnarea p{
	color:#097ab5;
	font-size: 2em;
	font-weight: bold;
}

.btnarea a{
	color:#FFF;
}

.btn {
	display: block;
	cursor: pointer;
	max-width: 900px;
	margin: 1em auto;
	padding: 30px 20px;
	border-radius: 20px;
	box-sizing: border-box;
	color: #fff;
	text-align: center;
	text-decoration: inherit;
	background: #fb2063;
	box-shadow: 0 6px 0 #db0446, 0 12px 0 rgba(0,0,0,.2);
	transition: color .3s, background .3s, box-shadow .3s, transform 0.3s;
    font-size: 2em;
	font-weight: bold;
}@media screen and (max-width: 960px) {
	.btn {
	margin: 0.4em auto;
	max-width: 85%;
    font-size: 1.3em;
	text-align: center;
	padding: 30px 19px;
    }	
}

.btn:hover {
	background: #3cc4bd;
	box-shadow: 0 3px 0 #12978d, 0 6px 0 rgba(0,0,0,.2);
	transform: translateY(3px);
	color: #fff;
}
.btn:active {
	color: #ddd;
	background: #12978d;
	box-shadow: 0 0 0 #047c71, 0 0 0 rgba(0,0,0,.2);
	transform: translateY(6px);
	transition-duration: .1s;
}


/* ------------------------------------------------- *
 *        QR
 * ------------------------------------------------- */

.qr {
  display:flex;
  flex-wrap: wrap;
  justify-content: center;
  color: #130d02;
  font-size: 1.8em;
  line-height: 1.6;
  text-align: center;
  height:auto;
  width:100%;
  max-width: 1200px;
  padding:0 10px;
  letter-spacing: 0.15em;
  margin:10px auto 80px;
}@media screen and (max-width:960px) {
	.qr {
	    margin:5px auto 0px;
	}
}

.qr img{
  position: relative;
  margin: 0px auto 0px;
  width:100%;
}


.btn01 {
display: flex;
list-style: none;
padding: 0 0.5em;
margin:0 auto;
width: 100%;
text-align:center;
font-size:1.8em;
line-height: 1em;
	text-shadow:
    #543039 3px 0px,  #543039 -3px 0px,
    #543039 0px -3px, #543039 0px 3px,
    #543039 3px 3px , #543039 -3px 3px,
    #543039 3px -3px, #543039 -3px -3px,
    #543039 1px 3px,  #543039 -1px 3px,
    #543039 1px -3px, #543039 -1px -3px,
    #543039 3px 1px,  #543039 -3px 1px,
    #543039 3px -1px, #543039 -3px -1px;
}@media screen and (max-width: 960px) {
	.btn01 {
font-size:1.2em;
padding: 0 1em;
line-height: 1.5em;
margin:0 auto;
    }	
}

.btn01 ul{
  display:flex;
  list-style: none;
  padding-left: 0;
  text-align:center;
  margin:0 30px;
}

.btn01 li{
  width:40%;
  margin:0.5em 1em;
  text-align: center;
  box-sizing: border-box;
  border-radius: 8px;
font-weight:bold;
}@media screen and (max-width: 960px) {
	.btn01 li {
    width:50%;
    margin:0.5em 0.8em;
    }	
}

.btn01 li a{
  width: 100%;
  display:block;
  padding: 50px 10px;
  color:#FFF;
  text-decoration:none;
}@media screen and (max-width: 960px) {
	.btn01 li a {
      padding: 25px 10px;
    }	
}


.lineheight {
    line-height: 1em;
    margin:10px 0 0;
}@media screen and (max-width: 960px) {
	.lineheight {
    line-height: 1em;
    }	
}


.btn01bga{
  background:#dbecff;
  box-shadow: 0 2px 3px rgba(0,0,0,.5);
}
.btn01bgb{
  background:#edffc8;
  box-shadow: 0 2px 3px rgba(0,0,0,.5);
}

.btn01bga a:hover{
  color:#FFF;
  border-radius: 8px;
  text-decoration:none;
  background:#4192ed;
  box-shadow: 0 15px 20px -5px rgba(0,0,0,.24);
  -webkit-tap-highlight-color: transparent;
}

.btn01bgb a:hover{
  color:#FFF;
  border-radius: 8px;
  text-decoration:none;
  background:#00be8b;
  box-shadow: 0 15px 20px -5px rgba(0,0,0,.24);
  -webkit-tap-highlight-color: transparent;
}
.mb50{
 margin-bottom:50px;
}

/* ------------------------------------------------- *
 *        footer
 * ------------------------------------------------- */

.footer {
  position: relative;
  bottom: 0;
  padding: 0px;
}

.footer .footer__image img {
  position: absolute;
  z-index: 100;
  bottom: 0;
  right: 0;
}

.footer__inner {
  position: relative;
  z-index: 99;
  width: 100%;
  margin: auto;
  background-color: #1667da;
  height:140px;
  bottom: 0;
}@media screen and (max-width:960px) {
	.footer__inner{
  height:80px;
	}
}

.footer__head img {
  position: absolute;
  top: 30%;
  left: 50%;
  z-index: 101;
	transform: translateY(-30%) translateX(-50%);
  -webkit- transform: translateY(-30%) translateX(-50%);
}@media screen and (max-width:960px) {
	.footer__head img {
         width: 160px;
         height: auto;
    }
}

.footer__headTitle {
  font-size: 20px;
}

.footer__copyright {
  position: absolute;
  top: 80%;
  left: 50%;
  transform: translateY(-80%) translateX(-50%);
  -webkit- transform: translateY(-80%) translateX(-50%);
  color: #fff;
  font-weight: bold;
}@media screen and (max-width:960px) {
	.footer__copyright {
	     position: relative;
        text-align: center;
	}
}

.footer__copyright small {
  font-size: 12px;

}@media screen and (max-width:960px) {
	.footer__copyright small {
          font-size: 9px;
    }
}


/* ------------------------------------------------- *
 *        sp__footer
 * ------------------------------------------------- */

.sp__footer {
  position: relative;
  bottom: 90px;
  padding: 0px;
}@media screen and (max-width:960px) {
	.sp__footer  {
	      bottom: 50px;
	}
}

.sp__footer__inner {
  position: relative;
  z-index: 99;
  width: 100%;
  margin:0 auto;
  left:0;
  right:0;
}

.sp__footer__head {
  width:234px;
  position: relative;
  margin:10px auto;
  left:0;
  right:0;
}

.sp__footer__headTitle {
  font-size: 20px;
}

.sp__footer__copyright {
  position: relative;
  margin:5px auto;
  left:0;
  right:0;
  color: #62686e;
  font-weight: bold;
  font-size: 1em;
  text-align: center;
}

.sp__footer__copyright small {
  font-size: 0.55em;
}


/* ================================================== *
 *
 *    MEDIA QUERY
 *
 * ================================================== */

.pc { display: block !important; }
.sp { display: none !important; }
	@media only screen and (max-width: 960px) {
	.pc { display: none !important; }
	.sp { display: block !important; }
}



@media screen {
  [hidden~="screen"] {
    display: inherit;
  }

  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    clip: rect(0 0 0 0) !important;
    position: absolute !important;
  }
}

