@charset 'shift_jis';

/*=========================================
basic design
===========================================*/
body {
  font-family: "Hiragino Kaku Gothic Pro","Meiryo","MS Pgothic",knowledge-reg,helvetica,arial,sans-serif;
}

@media screen and (min-width: 751px) {
  body {
    min-width: 1140px;
  }
}
  
@media print, screen and (min-width: 751px) {
  .rollover {
    opacity: 1;
  }
  .rollover:hover {
    opacity: 0.8;
    text-decoration: none;
  }
}
@media print, screen and (min-width: 751px) {
  .pcOnly {
    display: block;
  }
}
@media screen and (max-width: 750px) {
  .pcOnly {
    display: none;
  }
}
@media print, screen and (min-width: 751px) {
  .spOnly {
    display: none;
  }
}
@media screen and (max-width: 750px) {
  .spOnly {
    display: block;
  }
}
.txL {
  text-align: left !important;
}
.txC {
  text-align: center !important;
}
.txR {
  text-align: right !important;
}
.vaT {
  vertical-align: top;
}
.vaM {
  vertical-align: middle;
}
.vaB {
  vertical-align: bottom;
}
.fLeft {
  float: left;
}
.fRight {
  float: right;
}
.fNone {
  float: none;
}

/*=========================================
margin
===========================================*/

@media screen and (max-width: 750px) {
  .mt5p-pcOnly {
    display: none;
    margin-top: 5%;
  }
}
@media print, screen and (min-width: 751px) {
  .mt5p-spOnly {
    display: none;
    margin-top: 5%;
  }
}

.mlrauto{
  margin: 0 auto;
}

.mt10p{
  margin-top:10%;
}

.m5p{
  margin: 5%;
}

.mt5p{
  margin-top:5%;
}

.mt2p{
  margin-top:3%;
}

.mt3p{
  margin-top:3%;
}

mb5p{
  margin-bottom: 5%;
}

.ml1p{
  margin-left: 1%;
}

.mR2p{
  margin-right: 2%;
}

.mB5p{
  margin-bottom: 5%;
}

.mLR10p{
  margin-right: 10%;
  margin-left: 10%;
}
.mLR5p{
  margin-right: 5%;
  margin-left: 5%;
}

@media screen and (max-width: 750px) {
  .mLR10p{
    margin-right: 3%;
    margin-left: 3%;
  }
}

.pLR3p{
  padding: 0 3%;
}

/*=========================================
header
===========================================*/
.header {
  width: 100%;
  border-top: 2px solid #ee5561;
  background: #fff;
  position: relative;
  z-index: 2;
  box-sizing: border-box;
}
@media print, screen and (min-width: 751px) {
  .header {
    padding: 15px 0 16px;
  }
}
@media screen and (max-width: 750px) {
  .header {
    padding: 3.466666666666666% 0 4.266666666666667% 1.6%;
  }
}
@media print, screen and (min-width: 751px) {
  .header-inner {
    width: 1152px;
    margin: 0 auto;
  }
}
@media print, screen and (min-width: 751px) {
  .header-logo {
    display: inline-block;
    vertical-align: middle;
    width: 80px;
  }
}
@media screen and (max-width: 750px) {
  .header-logo {
    width: 21.333333333333336%;
    display: inline-block;
    vertical-align: middle;
  }
}
.header-logo img {
  width: 100%;
  display: block;
}
.header-logo-link {
  color: #000;
  text-decoration: none;
}
@media print, screen and (min-width: 751px) {
  .header-text {
    display: inline-block;
    vertical-align: middle;
    font-size: 12px;
  }
}
@media screen and (max-width: 750px) {
  .header-text {
    font-size: 10px;
    vertical-align: middle;
    display: inline-block;
  }
}


/*=========================================
contents
===========================================*/
.main-contents{
  margin: 0 auto;
  font-family:Georgia, "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}

@media screen and (min-width: 751px) {
  .main-contents{
    width: 1140px;
  }
}

@media screen and (max-width: 750px) {
  .main-contents{
    width: 98%;
  }
}

section{
  margin: 10% 0 0;
}

/*------------------------
breadcrumb 
--------------------------*/
.breadcrumb {
  width: 100%;
  background: rgba(255,255,255,0.5);
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  margin-bottom: 3%;
}
@media print, screen and (min-width: 751px) {
  .breadcrumb {
    padding:  0;
    background-color: #fff;
  }
}
@media screen and (max-width: 750px) {
  .breadcrumb {
    padding: 0 0 4px 3%;
    background-color: #fff;
  }
}
@media print, screen and (min-width: 751px) {
  .breadcrumb-inner {
    width: 1152px;
    margin: 0 auto;
    z-index: 2;
    padding-left:10px;
  }
}
.breadcrumb-list {
  display: inline-block;
  vertical-align: middle;
}
.breadcrumb-list:first-child::after {
  content: '>';
  font-size: 12px;
  margin-left: 6px;
  display: inline-block;
  vertical-align: middle;
}
.breadcrumb-link {
  color: #000;
  text-decoration: none;
  font-size: 12px;
}


/*------------------------
fonts
--------------------------*/

html{
  font-size: 16px;/*minimum*/
}

@media (min-width: 751px) {
  html {
    font-size: 24px;/*maximum*/
  }
}

.font80{
  font-size: 80%;
}

.font50{
  font-size: 50%;
}


h2{
  font-size: 5vw;
  text-align: center;
  font-weight: bold;
  line-height: 1.3;
}

@media screen and (min-width: 751px) {
  h2{
    font-size: 30px;
  }
  h3{
    font-size: 24px;
    font-weight: bold;
  }
  .font40{ 
    font-size:40px;
  }
  .font30{ 
    font-size:30px;
  }
  .font28{
    font-size: 28px
  }
  .font22{
    font-size: 22px;
    line-height: 1.5;
  }
  .font20{
    font-size: 20px;
  }

  .font18{
    font-size: 18px;
  }
}

@media screen and (max-width: 750px) {
  h2 {
    font-size: 20px;
  }
  .font40{ 
    font-size:30px;
  }
  .font30{ 
    font-size:20px;
  }
  .font28{
    font-size: 18px
  }
  .font22{
    font-size: 18px;
  }
  .font20{
    font-size: 16px;
    line-height: 1.5;
  }

  .font18{
    font-size: 14px;
  }
}

h2 > span{
  font-size: 150%;
}

h3{
  line-height: 1.5;
}

p{
  line-height: 1.5; 
}

.font-wb{
  font-weight: bold;
}

.text-center{
  text-align: center;
}

.indent-1{
  padding-left:1em;
  text-indent:-1em;
}

/*------------------------
border
--------------------------*/
.bt1{
  border-top: 1px solid #000;
}

/*------------------------
width
--------------------------*/

.width90p{
  width: 85%;
}




/*------------------------
flex-box-2
--------------------------*/
@media screen and (min-width: 751px) {
  .flex-2{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    justify-content: space-between;
	  -webkit-flex-wrap: wrap;
    flex-wrap:  wrap;
  }

  .flex-2_2{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    justify-content: space-between;
	  -webkit-flex-wrap: wrap;
    flex-wrap:  wrap;
    margin: 5% 5% 0;
  }

  .flex-2_3{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    justify-content: space-between;
	  -webkit-flex-wrap: wrap;
    flex-wrap:  wrap;
  }

  .flex-2 li{
    flex-basis: auto;
    width: 48%;
    margin-top: 30px;
  }

  .flex-2_2 li{
    width: 72%;
    line-height: 1.5;
  }

  .flex-2_3 li{
    width: 65%;
    line-height: 1.5;
    margin-top: -0.5%;
  }

  .flex-2_2 li.liW300{
    flex-basis: auto;
    width: 25%;
    margin-left: 3%;
  }

  .flex-2_3 li.liW30{
    width: 30%;
    margin-left: 5%;
    margin-top: -4%;
  }

  .flex-2_3 li.liW30 > img{
    -webkit-backface-visibility: hidden;
  }

  .flex-2_minibox{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    justify-content: space-between;
	  -webkit-flex-wrap: wrap;
    flex-wrap:  wrap;
    margin: 50px 0 0;
    align-items: center;
  }

  .flex-2_minibox-text{
    flex-basis: auto;
    width: 72%;
  }

  .flex-2_minibox-text > h3{
    /* min-height:50px; */
  }

  .flex-2_minibox-text > h3.flex-2_h3-height{
    padding: 30px 0;!important
  }

  .flex-2_minibox-text > p{
    min-height: 190px;
  }

}

.flex-2_minibox > figure{
  flex-basis: auto;
  width: 25%;
}

.flex-2_minibox-text > h3{
  background: #ff9c00;
  text-align: center;
  color: #fff;
  padding: 3%;
}

.flex-2_minibox-text > p{
  background: #ffda6b;
  padding: 3%;
}

@media screen and (max-width: 750px){
  .flex-2_minibox{
    margin: 10% auto 0;
    width: 90%;
  }

  .flex-2_minibox > figure{
    width: 30%;
    margin: 0 auto 3%;
  }

  .flex-2_2 li{
    width: 95%;
    line-height: 1.5;
    margin: 5% auto;
  }

  .flex-2_2 li.liW300{
    max-width: 300px;
    margin: 5% auto;
  }

  .flex-2_3 li.liW30{
    margin-top: 5%;
  }
}

/*------------------------
flex-box-3
--------------------------*/
@media screen and (min-width: 751px) {
  .flex-3{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    justify-content: space-between;
	  -webkit-flex-wrap: wrap;
    flex-wrap:  wrap;
    margin: 5% 0 0;
    align-items: flex-end;
  }

  .flex-3 li{
    flex-basis: auto;
    width: 32%;
  }

  .flex-3 > li > h3.title_adj{
    padding-top: 30px;
    min-height: 65px;
  }

  .flex-3 > li > h3{
    min-height: 80px;
  }

  .flex-3 > li > p.flex-3_text-adj{
    width: 94%;
    /* height: 63px;*/
    padding-top: 47px;
  }

}

.flex-3 > li > figure{
  margin: 0 auto 3%;
  width: 25%;
}

.flex-3 > li > figure.flex-3_img_adjustment{
  width: 60%;
}

.flex-3 > li > h3{
  background: #ff9c00;
  text-align: center;
  color: #fff;
  padding: 3%;
  width: 94%;
  margin: 5% 0 0;
}

.flex-3 > li > p{
  background: #ffda6b;
  padding: 3%;
  width: 94%;
}

.flex-3 > li > p.flex-3_link {
  text-align: right;
  font-size: 14px;
  /*min-height: 100px;*/
}

.flex-3 > li > p.flex-3_link > a{
  text-decoration: underline;
  font-size: 18px;
  text-align: right;
}

/*.flex-3 > li > p.flex-3_link:before{
  display: block;
	content: "";
  position: relative;
  text-align: right;
  left:200px;
  top: 20px;
	width: 0;
	height: 0;
	border: 5px solid transparent;
  border-left: 8px solid #000;
}*/

.flex-3 > li > p.flex-3_link > a{
  color: #000;
}

@media screen and (max-width: 750px){

  .flex-3 li{
    margin: 10% 0 0;
  }

  .flex-3 > li > h3{
    width: 80%;
    margin: 0 auto;
  }

  .flex-3 > li > p{
    width: 80%;
    margin: 0 auto;
  }

  .flex-3 > li > p.flex-3_link{
    font-size: 10px;
  }

  .flex-3 > li > p.flex-3_link > a{
    font-size: 14px;
  }

  /* .flex-3 > li > p.flex-3_link:before{
    left:60%;
    top: 15px;
  }*/
}

/*------------------------
item
--------------------------*/
.item-box{
  border: 1px solid #000;
  padding: 2%;
}

@media screen and (max-width: 750px){
  .item-box{
    border: 1px solid #000;
    padding: 3%;
  }
}


/*------------------------
button-green
--------------------------*/
.button-area{
  width: 100%;
  text-align: center;
}

.button-green {
	background-color:#fff;
	border:2px solid #1893D2;
	display:inline-block;
	cursor:pointer;
	color:#1893D2;
	text-decoration:none; 
  margin: 0 auto 0;
  text-align: left;
  font-weight: 500;
  font-size: 20px;
  width: 450px;
  padding: 3% 2%;
  background: url(../images/arrow_on.png) no-repeat;
  background-size:30px 30px;
  background-position: right 2% center;
}

.button-green2 {
	background-color:#fff;
	border:2px solid #1893D2;
	display:inline-block;
	cursor:pointer;
	color:#1893D2;
	text-decoration:none; 
  margin: 0 auto 0;
  text-align: left;
  font-weight: 500;
  font-size: 20px;
  width: 450px;
  padding: 1%;
  background: url(../images/arrow_on.png) no-repeat;
  background-size:30px 30px;
  background-position: right 2% center;
}

@media screen and (min-width: 751px){
.button-green:hover,.button-green2:hover {
  background: url(../images/arrow_off.png) no-repeat, #1893D2;
  color: #fff;
  background-size:30px 30px;
  background-position: right 2% center;
}
}

.button-green:hover:before{
  border: 10px solid transparent;
  border-left: 10px solid #fff;
}

.button-green:active {
	position:relative;
	top:1px;
}

@media screen and (max-width: 750px){
  .button-green{
    font-size: 16px;
    line-height: 1.5;
    border:2px solid #1893D2;
    font-weight: bold;
    width: 90%;
  }

  .button-green2{
    font-size: 16px;
    line-height: 1.5;
    border:2px solid #1893D2;
    font-weight: bold;
    width: 80%;
    padding: 3%;
  }
}

/*=========================================
alpha
===========================================*/
.alpha_wrap{
  border-top: 4px solid #000;
}

.alpha_wrap2{
  border-top: 2px solid #000;
  margin-top: 4px;
}

.alpha_wrap2 > h2{
  font-weight: bold;
  margin-top : 5%;
}

.alpha_wrap2 > h2 > img{
  width: 700px;
  -webkit-backface-visibility: hidden;
}

@media screen and (max-width: 750px){
  .alpha_wrap2 > h2 > img{
    width: 95%;
  }
}

/*=========================================
beginner
===========================================*/
.item-box > h3.beginner_title{
  max-width: 210px;
  position: relative;
  left: -8%;
  top: -10px;
}

@media screen and (max-width: 750px){
  .item-box > h3.beginner_title{
    max-width: 150px;
    top: 0px;
    margin-bottom: 10px;
  }
}

/*=========================================
osusume
===========================================*/

@media screen and (min-width: 751px) {
  .flex-osusume{
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    justify-content: space-between;
	  -webkit-flex-wrap: wrap;
    flex-wrap:  wrap;
    margin: 5%;
    align-items: center;
  }

  .flex-osusume_left{
    width: 68%;
    line-height: 1.5;
  }

  .flex-osusume_right{
    width: 30%;
  }
}

.defaultlist
,.defaultlist li{
	padding:0px;
	margin:0px;
}
 
.defaultlist li{
	list-style-type:none !important;
	list-style-image:none !important;
	margin: 5px 0px 5px 0px !important;
}
.list13{
	counter-reset:li;   
}
 
.list13 li{
	position:relative;
	display: block;
	padding:10px 0px 10px 40px; 
	margin-left:0px !important;
}
 
li.list13-count:after{
	counter-increment: li;
	content: counter(li) " ";
	position: absolute;	
	display: block;
	text-align: center;
	left: 0px;
	top: -20px;
	font-size: 60px;
	color:#000000;
	font-family:'Goudy Bookletter 1911',Georgia,serif; 
}

li.list13-count > h3{
  font-size: 24px;
}

@media screen and (max-width: 750px) {
  .defaultlist{
	  margin:5%;
  }

  li.list13-count > h3{
    font-size: 20px;
  }

  .flex-osusume_right{
    margin: 0 5%;
    overflow:hidden;
    height: 240px;
  }
  
}


/*=========================================
delivery
===========================================*/
.delivery > h2{
  background: #E1E1E1;
}

.delivery > ul {
  margin: 5%;
}

.delivery > ul > li{
  font-size: 20px;
  line-height: 1.5;
  list-style-type: disc;
  margin-top: 3%;

}

.delivery > ul > li > ul > li{
  font-size: 18px;
  line-height: 1.5;
  list-style-type: none;
  margin-top: 1%;
  padding-left:1em;
  text-indent:-1em;
}

@media screen and (max-width: 750px) {
  .delivery > ul > li{
    font-size: 16px;
  }
  
  .delivery > ul > li > ul > li{
    font-size: 14px;
  }
}

/*=========================================
member
===========================================*/
.member{
  padding: 10px;
  background: #cd222a;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 750px){
  .member{
    padding: 5px;
  }
}


/*=========================================
footer
===========================================*/

.footer {
  width: 100%;
  background: #fff;
  position: relative;
  z-index: 2;
}
@media print, screen and (min-width: 751px) {
  .footer {
    padding: 50px 0 40px;
  }
}
@media screen and (max-width: 750px) {
  .footer {
    padding: 12% 0 4%;
  }
}
@media print, screen and (min-width: 751px) {
  .footer-inner {
    width: 1152px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 750px) {
  .footer-inner {
    width: 93.33333333333333%;
    margin: 0 auto;
  }
}
.footer-anchor {
  text-align: right;
}
@media print, screen and (min-width: 751px) {
  .footer-anchor {
    padding-bottom: 75px;
    width: 50px;
    margin-left: auto;
  }
}
@media screen and (max-width: 750px) {
  .footer-anchor {
    width: 14.285714285714285%;
    margin-left: auto;
    padding-bottom: 8.571428571428571%;
  }
}
.footer-anchor img {
  width: 100%;
  display: block;
}
.footer-text {
  text-align: center;
  font-size: 10px;
}

