@charset 'utf-8';

.tc {text-align: center;}
.tr {text-align: right;}
/*----------------------------------------------
mv
----------------------------------------------*/
@media screen and (min-width: 769px){
  .mv {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto 0;
    padding-top: 47px;
  }
}
@media screen and (max-width: 1000px){
  .mv {
    padding-left: 20px;
    padding-right: 20px;
  }
}
@media screen and (max-width: 768px){
  .mv {
    padding-bottom: 20px;
    padding-left: 0;
    padding-right: 0;
    text-align: left !important;
  }
}

.mv-bottom {
  background: url(../images/mv_bg_pc.png) no-repeat center;
}
@media screen and (min-width: 769px){
  .mv-bottom {
    max-width: 1000px;
    height: 122px;
    margin: 0 auto;
    position: relative;
  }
}
@media screen and (max-width: 768px){
  .mv-bottom {
    width: 86.93%;
    margin: 0 auto;
    background-size: cover;
  }
}

.mv-bottom-txt {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}
@media screen and (min-width: 769px){
  .mv-bottom-txt {
    max-width: 954px;
    position: absolute;
    top: 17px;
    right: 0;
    left: 0;
  }
}
@media screen and (max-width: 768px){
  .mv-bottom-txt {
    padding: 3.25% 4.87%;
  }
}

@media screen and (max-width: 768px){
  .mv_bottom-txtitem {
    width: 76.62%;
  }
}

.mv-bottom-txt .mv-bottom-link {
  display: block;
}
@media screen and (min-width: 769px){
  .mv-bottom-txt .mv-bottom-link {
    max-width: 213px;
    margin-top: 26px;
    margin-right: 10px;
  }
}
@media screen and (max-width: 768px){
  .mv-bottom-txt .mv-bottom-link {
    width: 17.53%;
    margin: 5px 0 0;
  }
}


/*----------------------------------------------
contents
----------------------------------------------*/
@media screen and (min-width: 769px){
  .bg-blue {
    background: url(../images/bg_blue_pc.jpg) top center #0094D7;
    background-size: cover;
  }
}
@media screen and (max-width: 768px){
  .bg-blue {
    background: url(../images/bg_blue_sp.jpg) 0px -2.7vh #0094D7;
    background-size: cover;
  }
}

.bg-blue article {
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 769px){
  .bg-blue article {
    width: 100%;
    max-width: 1000px;
    background: url(../images/about-box_pc.png) no-repeat 0px 78px;
    background-size: 100% auto;
    margin-top: 80px;
    border-bottom: 3px solid #fff;
  }
}
@media screen and (max-width: 768px){
  .bg-blue article {
    width: 90%;
    max-width: 1000px;
    min-width: 342px;
    background: url(../images/about-box_sp.png) no-repeat 0px 56px;
    background-size: cover;
    margin-top: 50px;
    border-bottom: .7vw solid #fff;
  }
}


/*about
----------------------------------------------*/
@media screen and (min-width: 769px){
  .about-mainbox {
    padding: 0 8% 0 5%;
  }
}

@media screen and (min-width: 769px){
  .about-title {
    max-width: 444px;
  }
}
@media screen and (max-width: 768px){
  .about-title {
    max-width: 260px;
  }
}

@media screen and (min-width: 769px){
  .about-mainbox-inner {
    padding-top: 52px;
    padding-bottom: 46px;
  }
}
@media screen and (max-width: 768px){
  .about-mainbox-inner {
    width: 94%;
    padding-top: 46px;
    padding-bottom: 48px;
  }
}
@media screen and (max-width: 390px){
  .about-mainbox-inner {
    width: 100%;
    max-width: 320px;
    padding-top: 46px;
    padding-bottom: 48px;
  }
}

.about-mainbox-inner figure {
  text-align: center;
}
@media screen and (max-width: 768px){
  .about-mainbox-inner figure {
    max-width: 280px;
    margin: 0 auto;
  }
}

@media screen and (min-width: 769px){
  .about-mainbox-inner-1 p {
    margin: 22px auto 0;
  }
}
@media screen and (max-width: 768px){
  .about-mainbox-inner-1 p {
    width: 100%;
    max-width: 280px;
    margin: 24px auto 0;
  }
}

@media screen and (min-width: 769px){
  .about-mainbox-inner-2 h3 {
    width: 100%;
    max-width: 777px;
    margin: 65px auto 0;
  }
  .about-mainbox-inner-2 figure {
    margin-top: 35px;
  }
  .about-mainbox-inner-2 a {
    display: block;
    margin: 22px auto 0;
  }
}
@media screen and (max-width: 768px){
  .about-mainbox-inner-2 {
    width: 100%;
    max-width: 274px;
    margin: 63px auto 0;
  }
  .about-mainbox-inner-2 figure {
    margin-top: 29px;
  }
  .about-mainbox-inner-2 a {
    display: block;
    width: 100%;
    max-width: 178px;
    margin: 28px auto 0;
  }
}

@media screen and (min-width: 769px){
  .about-mainbox .about-note {
    width: 100%;
    max-width: 777px;
    margin: 44px auto 0;
  }
}
@media screen and (max-width: 768px){
  .about-mainbox .about-note {
    width: 100%;
    max-width: 284px;
    margin: 33px auto 0;
  }
}

.arrow-down {
  max-width: 32px;
  margin: 0 auto;
}
@media screen and (min-width: 769px){
  .arrow-down {
    padding: 34px 0 52px; 
  }
}
@media screen and (max-width: 768px){
  .arrow-down {
    padding: 30px 0 42px;
  }
}

/*entrymethod
----------------------------------------------*/
@media screen and (min-width: 769px){
  .entrymethod {
    margin: 100px auto;
  }
  .entrymethod-inner {
    width: 100%;
    max-width: 600px;
    margin: 0 auto 36px;
  }
  .entrymethod-lead {
    margin-top: 17px;
  }
  .entrymethod-pictlead {
    margin-top: 45px;
  }
  .entrymethod-pict {
    margin-top: 18px;
  }
}
@media screen and (max-width: 768px){
  .entrymethod {
    margin-top: 50px;
    margin-bottom: 50px;
    padding: 0 20px;
  }
  .entrymethod-title {
    width: 100%;
    max-width: 88px;
  }
  .entrymethod-lead {
    max-width: 276px;
    margin: 17px auto 0;
  }
  .entrymethod-pictlead {
    margin-top: 45px;
  }
  .entrymethod-pict {
    margin: 18px auto 0;
    max-width: 340px;
  }
}

.entrymethod-aboutlink {
  display: block;
}
@media screen and (min-width: 769px){
  .entry-btn {
    max-width: 777px;
    margin: 0 auto;
  }
  .entry-btn-inner {
    display: flex;
    justify-content: space-between;
  }
  .entrymethod-aboutlink {
    max-width: 234px;
    margin: 20px auto 0;
  }
}
@media screen and (max-width: 768px){
  .entry-btn {
    margin-top: 36px;
    text-align: center;
  }
  .entry-btn-inner a {
    display:block;
    margin: 0 auto;
  }
  .entry-btn-inner a:last-of-type {
    margin-top: 11px;
  }
  .entrymethod-aboutlink {
    max-width: 196px;
    margin: 23px auto 0;
  }
}

/*wchance
----------------------------------------------*/
.bg-orange {
  background-image: url(../images/bg-orange.png);
}
@media screen and (min-width: 769px){
  .bg-orange {
    padding-top: 98px;
    padding-bottom: 100px;
  }
}
@media screen and (max-width: 768px){
  .bg-orange {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

.wchance-title {
  text-align: center;
}
@media screen and (max-width: 768px){
  .wchance-title {
    max-width: 322px;
    margin: 0 auto;
    padding-right: 30px;
  }
}

.wchance-lead {
  text-align: center;
}
@media screen and (min-width: 769px){
  .wchance-lead {
    margin-top: 57px;
  }
}
@media screen and (max-width: 768px){
  .wchance-lead {
    max-width: 296px;
    margin: 0 auto;
    margin-top: 50px;
  }
}

/*entry-period
----------------------------------------------*/
.entry-period .entry-period-title,
.entry-period .entry-period-lead {
  text-align: center;
  margin: 0 auto;
}

@media screen and (min-width: 769px){
  .entry-period .entry-period-title {
    max-width: 127px;
    margin-top: 52px;
  }
}
@media screen and (max-width: 768px){
  .entry-period .entry-period-title {
    max-width: 102px;
    margin-top: 60px;
  }
}

@media screen and (min-width: 769px){
  .entry-period .entry-period-lead {
    max-width: 734px;
    margin-top: 19px;
  }
}
@media screen and (max-width: 768px){
  .entry-period .entry-period-lead {
    margin-top: 9px;
  }
}

/*entry-box
----------------------------------------------*/
@media screen and (max-width: 1000px){
  .wchance {
    padding-left: 16px;
    padding-right: 16px;
  }
}
.entry-box .entry-box-title {
  text-align: center;
  margin: 0 auto;
}
@media screen and (min-width: 769px){
  .entry-box-title {
    max-width: 10000px;
  }
  .entry-box .entry-box-1-title {
    margin-top: 58px;
  }
}
@media screen and (max-width: 768px){
  .entry-box .entry-box-title {
    width: 100%;
  }
  .entry-box .entry-box-1-title {
    margin-top: 72px;
  }
}

@media screen and (min-width: 769px){
  .entry-box-inner {
    display: flex;
    justify-content: space-between;
    max-width: 1000px;
    margin: 28px auto 0;
  }
  .entry-box-inner .entry-box-item {
    width: calc(100% / 3 - 20px);
  }
  .entry-box-inner .entry-box-item p {
    margin-top: 40px;
  }
}
@media screen and (max-width: 768px){
  .entry-box-inner {
    margin-top: 25px;
  }
  .entry-box-inner .entry-box-item {
    width: 100%;
  }
  .entry-box-inner .entry-box-item p {
    margin-top: 20px;
    margin-bottom: 30px;
  }
}


@media screen and (min-width: 769px){
  .entry-box .entry-btn {
    margin-top: 75px;
    margin-bottom: 71px;
  }
}
@media screen and (max-width: 768px){
  .entry-box .entry-btn {
    margin-bottom: 49px;
  }
  .entry-box .entry-btn .entry-btn-inner p {
    width: calc(100% + (10 / 353) * 100%);
    margin: 0 auto;
  }
}


.entru-box-note {
  text-align: center;
}
@media screen and (max-width: 768px){
  .entru-box-note {
    max-width: 338px;
    margin: 0 auto;
  }
}

/*point-grade-box
----------------------------------------------*/
.point-grade-box h2 {
  text-align: center;
  color: #009EBF;
  font-weight: bolder;
}
.point-grade-box a {
  display: block;
  width: 100%;
  max-width: 840px;
  margin: 0 auto;
  text-align: center;
}
@media screen and (min-width: 769px){
  .point-grade-box h2 {
    margin-top: 100px;
    line-height: 1.52;
    font-size: 26px;  
  }
  .point-grade-box a {
    margin-top: 36px;
  }
}
@media screen and (max-width: 1000px){
  .point-grade-box {
    padding: 0 20px;
  }
}
@media screen and (max-width: 768px){
  .point-grade-box {
    padding: 0 16px;
  }
  .point-grade-box h2 {
    margin-top: 50px;
    line-height: 1.6;
    font-size: 16px;
  }
  .point-grade-box a {
    margin-top: 11px;
  }
}

/*online store
----------------------------------------------*/
.online_store {
  text-align: center;
  font-weight: bolder;
  font-size: 16px;
  color: #009EBF;
}
@media screen and (max-width: 1000px){
  .online_store {
    padding: 0 20px;
  }
}
.online_store h3 {
  margin-bottom: 46px;
  font-size: 32px;
  font-weight: bolder;
}
.online_store p {
  max-width: 874px;
  margin: 8px auto 0;
  font-size: 24px;
  line-height: 1.6;
}
.online_store p img {
  width: 1200px;
}
.online_store .online_store_txt {
  margin-top: 46px;
}
.online_store p.image-txt {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 54px;
  text-align: right;
  font-size: 13px;
  font-weight: bolder;
  color: #000;
}
@media screen and (min-width: 769px) {
  .online_store {
    margin-top: 78px;
  }
}
@media screen and (max-width: 768px) {
  .online_store {
    margin-top: 35px;
    padding: 0 16px;
  }
  .online_store h3 {
    margin-bottom: 16px;
    font-size: 16px;
  }
  .online_store p {
    margin: 4px auto 0;
    font-size: 12px;
  }
  .online_store p:nth-child(3) {
    margin-top: 20px;
    line-height: 1.5;
  }
  .online_store p img {
    width: 100%;
  }
  .online_store p.image-txt {
    width: 100%;
    padding-top: 29px;
    font-size: 10px;
  }
}


/*======================================
  apply
======================================*/
.apply {
  background: #f7f8f8;
  margin-bottom: 40px;
	padding: 30px 10px 20px;
}
.apply h3 {
  margin-bottom: 1em;
  font-size: 1.143em;
  font-weight: 600;
}
.applyWrap {
  max-width: 1024px;
  margin: 0 auto;
}
.applyText {
	height: 300px;
	padding: 20px;
	background-color: #fff;
	border-radius: 15px;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
	line-height: 1.5;
}
.applyText h4 {
  margin-bottom: .5em;
  font-weight: bold;
  font-size: 1.2em;
}
.applyText ul+h4 {margin-top: 2em;}
.applyText h5 {
  margin-bottom: .35em;
  font-weight: bold;
}
.applyText ul,
.applyText ol,
.applyText p {
  margin-bottom: 1em;
}
.applyText ul {
  margin-left: .6em;
}
.applyText ol {
  margin-left: 1em;
}
.applyText ol li ol {
  margin-left: 1.3em;
  margin-bottom: 0;
}
.applyText p {line-height: 1.5;}
.applyText ul li,
.applyText ol li {
  margin-bottom: .25em;
  line-height: 1.5;
}
.applyText ul li {
  margin-left: 1em;
  list-style-type: disc;
}
.applyText ul.memo li {
  margin-left: 1em;
  text-indent: -1em;
  list-style-type: none;
}
.applyText ol.num li {
  margin-left: 2.5em;
  text-indent: -2.75em;
}
.applyText ol.kakomiNum li {
  margin-left: 1em;
  text-indent: -1.6em;
}
.applyText > ol.kakomiNum li {
  list-style-type: none;
	counter-increment: num;
}
.applyText >  ol.kakomiNum li::before {
  content: counter(num) "．";
}
.applyText ol.kakomiNum li > ol li{
  list-style-type: none;
	counter-increment: cnt;
}
.applyText ol.kakomiNum li > ol li::before {
	content: "(" counter(cnt) ")　";
}
.applyText ol.zenkakuNum li {
  margin-left: 1em;
  text-indent: -2.3em;
}
.applyText .point {
  color: #ff0000;
}
.applyText a {
  color: #2396B3;
  font-weight: bold;
  text-decoration: underline !important;
  padding-bottom: 1px;
}
.applyText a:visited {
  color: #2396B3;
}
@media screen and (max-width: 768px){
  .apply {padding: 20px 30px 40px;}
  .applyText {padding: 1em .5em;}
}
.applyText .mt40 {
  margin-top: 40px;
}
.applyText ol.kakomiNum ol.list-memo li {
  list-style-type: none !important;
  text-indent: -1em;
}
.applyText ol.kakomiNum ol.list-memo li::before {
  content: none;
}
.applyText ol.kakomiNum ol.list-memo {
  margin-left: .1em;
}

/*----------------------------------------------
basic animation
----------------------------------------------*/
/* scrollin */
.fadein,
.fadein2{
  opacity: 0;
  transform: translate(0, 50px);
}
.fadein{
  transition: opacity .7s, transform .7s;
}
.fadein2{
  transition: opacity 1s .3s, transform 1s .3s;
}
.fadein.scrollin,
.fadein2.scrollin{
  opacity: 1;
  transform: translate(0);
}


/*----------------------------------------------
other
----------------------------------------------*/
/* timer */
.start,
.next,
.last {
	display: none !important;
}
.active {
	display: block !important;
}

/*----------------------------------------------
終了案内追加
----------------------------------------------*/
.w900 {
  width:100%;
  max-width: 900px;
  margin:20px auto 15px;}

@media screen and (max-width: 768px) {
  .w900 {
    width:90%;
    max-width: 90%;
    margin:20px auto 15px;
  }
}
