/* CSS Document */

@charset "utf-8";


body{
	font-family:sans-serif;
    font-weight: 400;
	font-size:1.6rem;
	line-height:1.6;
	font-style: normal;
    color: #1e1e1e;
}

.blue-txt{color: #2297d2;}

.contents{width: 94%; max-width: 1000px; margin: 0 auto; padding: 1rem 0 8rem 0;position: relative; z-index: 1;}

.corpo{font-family: "corporate-logo-ver2", sans-serif !important;}

.lower-large-h1 {
    position: relative;
    border: unset; 
    margin: 0;
    z-index: 1;
    padding-bottom: 250px;
    margin-bottom: -165px;
}

.lower-large-h1 h1{font-family: "corporate-logo-ver2", sans-serif !important; color: #fff; font-size: 45px; text-align: center;background: #2297d2;padding:30px 0;}

.lower-large-h1:after{
    content: "";
    position: absolute;
    width: -webkit-fill-available;
    padding-top: 250px;
    background-image: url(/assets/members/image/lower-large_pc.png);
    background-size: contain;
    background-position: top left;
    background-repeat: no-repeat;
}

.h2midashi{
    margin:0px auto 45px auto;
    justify-content: center;
display: flex;}

.h2midashi h2{
    background: url("/assets/members/image/midashi_left.png"),url("/assets/members/image/midashi_right.png");
    background-repeat: no-repeat;
    background-position: left bottom,right bottom;
    position: relative;
    padding:10px 58px 10px 42px;
}

.h2midashi h2 span{
    position: relative;
    color: #2297d2;
    font-size:clamp(38px, 3vw, 46px);
    line-height: 120%;
    text-align: center;
    display: block;
    font-family:sans-serif !important;
    }

.h2midashi h2:after{
    content: "";
    position: absolute;
    right: 38px;
    bottom: 0;
    margin-left: 70px;
    width: -moz-available;
    width: -webkit-fill-available;
    height: 32px;
    background-image: url(/assets/members/image/midashi_center.png);
    background-position: bottom;
    background-repeat: repeat-x;
}

.general-txt01 {
    font-size: 20px;
    text-align: left;
    line-height: 3.5rem;
    margin-bottom: 40px;
     text-shadow: 2px -3px 4px rgba(255, 255, 255, 0.8), 2px 2px 4px rgba(255, 255, 255, 0.8), 1px 2px 4px rgba(255, 255, 255, 0.8), 6px 3px 4px rgba(255, 255, 255, 0.8), -5px -1px 4px rgba(255, 255, 255, 0.8);
}

.general-txt01 .mini{font-size: 80%;}
.general-txt01 .txtL{font-size: 130%;display: block;}
.general-txt01 .red{color: #ce1b30;}
.general-txt01 a{text-decoration: underline; color: #2297d2;}


.gakunenbtns1{display: flex; gap:2%; justify-content: center;flex-wrap: wrap; margin: 30px 0 20px 0}
.gakunenbtns1 li{margin-bottom: 2%; width: 32%;}

.gakunenbtn {
font-family: "corporate-logo-ver2", sans-serif !important;
    font-size: 22px;
    font-weight: bold;
  display:block;
    text-align: center;
  border: 1px solid #2297d2;
  position: relative;
  background: #2684cc;
  color: #fff;
  overflow: hidden;
  padding:1.5rem 1.5rem 1.5rem 2rem;
  transition: all .3s;
    box-sizing: border-box;
    text-decoration: none;
}

.gakunenbtn:hover{opacity: 0.8;}

.gakunenbtn::before,
.gakunenbtn::after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
}

.gakunenbtn::before {
  width: 7px;
  height: 7px;
  right: 1.5rem;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  z-index: 2;
  transform: translateY(-50%) rotate(45deg);
  transition: all .3s;
}


.gakunenbtns2{display: flex; gap:2%; justify-content: center;flex-wrap: wrap; margin: 30px 0 20px 0}
.gakunenbtns2 li{margin-bottom: 2%; width: 15%;}

.gakunenbtn2 {
font-family: "corporate-logo-ver2", sans-serif !important;
    font-size: 17px;
    font-weight: bold;
  display:block;
    text-align: center;
  border: 1px solid #2297d2;
  position: relative;
  background: #2684cc;
  color: #fff;
  overflow: hidden;
  padding:1.2rem 1.5rem 1.2rem 2rem;
  transition: all .3s;
    box-sizing: border-box;
    text-decoration: none;
}

.gakunenbtn2:hover{opacity: 0.8;}

.gakunenbtn2::before,
.gakunenbtn2::after {
  content: "";
  position: absolute;
  display: block;
  top: 50%;
}

.gakunenbtn2::before {
  width: 7px;
  height: 7px;
  right: 1.5rem;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  z-index: 2;
  transform: translateY(-50%) rotate(45deg);
  transition: all .3s;
}


.topback{margin-top: 50px;}
.topback a{
    width:90%;
    max-width: 330px;
    margin: 0 auto;
    font-family:sans-serif !important;
    font-weight: bold;
    display: block;
    position: relative;
    text-align: center;
    background: #cecece;
    color: #343434;
    font-size:clamp(16px, 2vw, 18px);
    padding: 2.4rem 1.5rem;
    text-decoration: none;
    transition: background .2s;
box-sizing: border-box;}
.topback a::before,
.topback a::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 1rem;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.topback a::after{
width: 14px;
    height: 14px;
    left: 1.8rem;
	border-top: 2px solid #343434;
	border-right: 2px solid #343434;
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
}

.topback a:hover {
        background: #bcbcbc;
      }


.generalBtn1{margin-top: 60px; margin-bottom: 30px;}
.generalBtn1 a{
    width: 90%;
    max-width: 330px;
    margin: 0 auto;
    font-family: sans-serif !important;
    font-weight: bold;
    display: block;
    position: relative;
    text-align: center;
    background: #fff;
    color: #1a4899;
    border: 2px #1a4899 solid;
    font-size: clamp(16px, 2vw, 18px);
    padding: 2.4rem 1.5rem;
    text-decoration: none;
    transition: background .2s;
    box-sizing: border-box;}
.generalBtn1 a::before,
.generalBtn1 a::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1rem;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.generalBtn1 a::after{
width: 14px;
    height: 14px;
    right: 1.8rem;
	border-top: 2px solid #1a4899;
	border-right: 2px solid #1a4899;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.generalBtn1 a:hover{
        background: #1a4899; color: #fff;
      }

.generalBtn1 a:hover::after {
        border-top: 2px solid #fff;
	border-right: 2px solid #fff;
      }

.generalBtn1 button{
    cursor: pointer;
    width: 90%;
    max-width: 330px;
    margin: 0 auto;
    font-family: sans-serif !important;
    font-weight: bold;
    display: block;
    position: relative;
    text-align: center;
    background: #fff;
    color: #1a4899;
    border: 2px #1a4899 solid;
    font-size: clamp(16px, 2vw, 18px);
    padding: 2.4rem 1.5rem;
    text-decoration: none;
    transition: background .2s;
    box-sizing: border-box;}
.generalBtn1 button::before,
.generalBtn1 button::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1rem;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.generalBtn1 button::after{
width: 14px;
    height: 14px;
    right: 1.8rem;
	border-top: 2px solid #1a4899;
	border-right: 2px solid #1a4899;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.generalBtn1 button:hover{
        background: #1a4899; color: #fff;
      }

.generalBtn1 button:hover::after {
        border-top: 2px solid #fff;
	border-right: 2px solid #fff;
      }


.contract-list1{ margin-bottom: 70px;}
.contract-list1 li{font-size: 20px; padding: 25px 0; border-top: #2297d2 2px solid;}
.contract-list1 li:last-child{border-bottom: #2297d2 2px solid;}

.general-h4{font-size:17px; padding: 8px 12px; background: #e9e9e9; margin-top: 45px;}

.shipping-address-list {
    background: #fff;
    list-style: none;
    margin: 0;
    padding: 0;
    border-radius: 2px;
    margin-bottom: 30px;
}
.shipping-address-list li {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 20px 0;
    border-bottom: 3px solid #e9e9e9;
    font-size: 22px;
}
.shipping-address-list .label {
    width: 34%;
    flex-shrink: 0;
    margin-right: 5%;
    font-weight: 500;
    font-size: 80%;
}
.shipping-address-list .value {
    width: 63%;
    font-size: 80%;
}


header{width: 100%;
    position: relative;
    background: #fff;
    z-index: 10;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.09);}

.header-cont{max-width:1000px; padding: 5px 10px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;     align-items: center;}
.header_logo{display: inline-block; text-align: left;padding-top: 7px;}
.header_logo img{ width:180px; }
.login{ width:20%; display: inline-block; vertical-align: top; text-align: right;}
.login img{ width:40px; }
.login_txt{ font-size: 1.6rem; display: inline-block; vertical-align: top; line-height: 44px; margin-left: 1%; text-decoration: none; color: #2297d2;}
.login_txt:hover{  }


.pt0{ padding-top: 0; }
.w01{ width:50% !important; }

.spOnly{display:none;}
.displayinline{display: inline-block;}

/*----------- テキスト ----------------*/
.fonts_kan415typos-std{
	font-family: kan415typos-std, sans-serif;
	font-weight: 400;
	font-style: normal;
}
.fonts_a-otf-midashi-go-mb31-pr6n{
	font-family: a-otf-midashi-go-mb31-pr6n,sans-serif;
	font-weight: 600;
	font-style: normal;
}

.small{
	font-family: a-otf-midashi-go-mb31-pr6n,sans-serif;
	font-weight: 600;
	font-style: normal;	
	font-size:90%;
	line-height:1.5;
}
/*-----------------------------------*/

/*----------- フォーム ----------------*/
.error{
	font-size:80%;
	color:#e60012 !important;
}
.red{color:#e60012;}

/*-----------------------------------*/

/*-----------ボタン ----------------*/
.hover{
	transition:all 0.3s;
}
.hover:hover{
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    cursor: pointer;}

.btn{
	position:relative;
	display:block;
	width:30%;
	padding:1rem;
	font-size:2rem;
	color:#fff;
	font-family:kan415typos-std, sans-serif;
	font-weight: 600;
	font-style: normal;
    transform: translateY(-8%);
	-webkit transform: translateY(-8%);	
	text-decoration:none;
	background:transparent;
	border:none;
	box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);	
}
.btn span{
	display:block;
    transform: translateY(-13%);
	-webkit transform: translateY(-13%);	
}

.btn-short{width:20%;}

.btn-red{
	position:relative;
	margin:4rem auto;
	background:#e60012;
	border:4px solid #b11420;
	border-radius:10px;	
}
.btn-red::before{
	content:"";
	position:absolute;
	top:50%;
	transform: translateY(-50%);
	right:1.5rem;
    width: 2rem;
    height: 2rem;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
}
.btn-red::after{
	content: "";
    position: absolute;
    box-sizing: border-box;
    width: 0.5rem;
    height: 0.5rem;
    border: 5px solid transparent;
    border-left: 9px solid #e60012;
    top: 50%;
    transform: translateY(-50%);
    right: 1.4rem;
}

.btn-dkred{
	position:relative;
	margin:3rem auto;
	background:#9f291e;
	background-position:bottom -10px left -20px;
	background-repeat:no-repeat;
	background-size:100px;	
	border:4px solid #b45f56;
	border-radius:10px;
}

.btn-dkred02{
	padding: 0.5% 0 1.2% 0;
	color: #ffffff;
    font-size: 1.8rem;
}

.btn-dkred::before{
	content:"";
	position:absolute;
	top:50%;
	transform: translateY(-50%);
	right:1.5rem;
    width: 2rem;
    height: 2rem;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
}
.btn-dkred::after{
	content: "";
    position: absolute;
    box-sizing: border-box;
    width: 0.5rem;
    height: 0.5rem;
    border: 5px solid transparent;
    border-left: 9px solid #9f291e;
    top: 50%;
    transform: translateY(-50%);
    right: 1.4rem;
}

.btn-blue{
	position:relative;
	margin:3rem auto;
	background:#305083;
	background-position:bottom -10px left -20px;
	background-repeat:no-repeat;
	background-size:100px;	
	border:4px solid #506a96;
	border-radius:10px;
	color: #ffffff;
	padding: 0.6% 0 1.2% 0;
    font-size: 1.8rem;
}
.btn-blue::before{
	content:"";
	position:absolute;
	top:50%;
	transform: translateY(-50%);
	right:1.5rem;
    width: 2rem;
    height: 2rem;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
}
.btn-blue::after{
	content: "";
    position: absolute;
    box-sizing: border-box;
    width: 0.5rem;
    height: 0.5rem;
    border: 5px solid transparent;
    border-left: 9px solid #506a96;
    top: 50%;
    transform: translateY(-50%);
    right: 1.4rem;
}

.btn-brown{
	position:relative;
	margin:3rem auto;
	background:#3e2408;
	background-position:bottom -10px left -20px;
	background-repeat:no-repeat;
	background-size:100px;		
	border:4px solid #675240;
	border-radius:10px;	
}
.btn-brown::before{
	content:"";
	position:absolute;
	top:50%;
	transform: translateY(-50%);
	right:1.5rem;
    width: 2rem;
    height: 2rem;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
}
.btn-brown::after{
	content: "";
    position: absolute;
    box-sizing: border-box;
    width: 0.5rem;
    height: 0.5rem;
    border: 5px solid transparent;
    border-left: 9px solid #3e2408;
    top: 50%;
    transform: translateY(-50%);
    right: 1.4rem;
}

.btn-tw{
	position:relative;
	margin:3rem auto;
	background-position:bottom -10px left -20px;
	background-repeat:no-repeat;
	background-size:100px;
	border:4px solid #95cff3;
	border-radius:10px;	
}
.btn-tw::before{
	content:"";
	position:absolute;
	top:50%;
	transform: translateY(-50%);
	right:1.5rem;
    width: 2rem;
    height: 2rem;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    background: #fff;
}
.btn-tw::after{
	content: "";
    position: absolute;
    box-sizing: border-box;
    width: 0.5rem;
    height: 0.5rem;
    border: 5px solid transparent;
    border-left: 9px solid #1da1f2;
    top: 50%;
    transform: translateY(-50%);
    right: 1.4rem;
}

/*-----------------------------------*/

.bg-brick{
    background-repeat: repeat-x,repeat-x,repeat;
    background-position: top,bottom,center;
}

.sub-title01{
	display:inline-block;
	position:relative;
	margin:1rem 0;
	color          : #402f20;            /* 文字の色 */
	font-size      : 3rem;               /* 文字のサイズ */  	
	font-family: kan415typos-std, sans-serif;
	font-weight: 600;
	font-style: normal;	
    background-position: 0% 50%,100% 50%;
    background-repeat: no-repeat;
    padding: 2rem;
    background-size: 1.2rem;
}

.sub-title{
	position:relative;
	margin: 2rem 0;
	color          : #402f20;            /* 文字の色 */
	font-size      : 3rem;               /* 文字のサイズ */  	
	font-family: kan415typos-std, sans-serif;
	font-weight: 600;
	font-style: normal;
    background-repeat: no-repeat;
    background-size: 1.2rem;
	text-align: left;
}


.logtop{padding: 1rem 0;}


.log-midasi{
			text-align: left;    
			margin: 0 auto;
			display: block;
			max-width: 286px;
		}
.log-form{margin: 1.5rem auto;}


main{}

.link-left{
	text-align: left;
    margin: 0 auto;
    display: inline-block;}

.txt_link{ font-size:1.8rem; color: #000000 !important; }
.txt_link:hover{ text-decoration: none !important;  }
.txt_red{ font-size:1.7rem; color: #a42b1f !important; }

.w410{ width: 410px; margin: auto; }
.w550{ width: 550px; margin: auto; }
.w750{ width: 750px; margin: auto; }

footer {
    background:#2297d2;
}

#area-link #link {
    width: 95%;
    max-width: 1000px;
    margin: 0 auto;
}

#area-link .link-list ul li a {
    color: #fff;
    text-decoration: none;
}

#area-link {
    padding: 4rem 0;
}

#area-link .link-list {font-weight: 400;
}

#area-link .link-list p {
    margin: 0 0 2rem 0;
    padding: 0 0 1rem 0;
    font-size: 1.6rem;
    color: #fff;
    border-bottom: 1px solid #fff;
}

#area-link .link-list ul {
    font-size: 1.4rem;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    gap: 7%;
    width: 100%;
}

#area-link .link-list ul li {
    position: relative;
    padding: 10px 0 10px 1.5rem;
}

#area-link .link-list ul li:before {
    content: "";
    position: absolute;
    top:40%;
    left: 0;
    width: 0;
    height: 0;
    border-left: 8px solid #afe3fd;
    border-top: 5px solid transparent;
    border-bottom: 5px solid transparent;
}

address {
    padding: 2rem 0;
    font-size: 1.2rem;
    font-style: normal;
    text-align: center;
    background: #fff;
}

#btnPagetop {
    position: fixed;
    width: 12%;
    right: 20px;
    bottom: 20px;
    z-index: 99;
}

#btnPagetop img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#btnPagetop a {
    cursor: pointer;
}

.hvr-float {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out;
}

#logo{
	width:18%;
	margin:0 auto;
}
#logo img{width:100%;}

#sns-follow{
	width:1000px;
	margin:6rem auto 4rem;
}
#sns-follow #link{
	display:flex;
	justify-content: center;
}
#sns-follow #link a{
	width:40%;
}

#manabi{
	width:1000px;
	margin:0 auto;	
}

#manabi a{
	width:60%;
	line-height:1.8;
}
#manabi a span{
	line-height:1.8;
    transform: translateY(-3%);
	-webkit transform: translateY(-3%);	
}

#pre-form{
	min-height:76.5vh;
	text-align:center;
	max-width: 1100px;
    margin: 0 auto;
}

#pre-form .title{
	font-size:2rem;
	color:#504132;
}

#pre-form .txt{
	font-size:1.8rem;
	color:#504132;
	line-height:1.5;
}


#pre-form .txt_error{
	font-size:2rem;
	color:#ff1700;
	line-height:1.7;
}

#pre-form .thanks-txt{
	margin:3rem 0 0 0;
	font-size:1.8rem;
	color:#504132;
	line-height:1.5;
}

#pre-form .attention{
	color:#504132;
}

form{
	margin:0;
}

input[type="email"]{
	margin:1.5rem 0 0 0;
	padding:2rem;
	border-radius:5px;
	border:2px solid #402f20;
	background:#ffffb6;
	transition:all 0.3s;
}
input[type="email"]:focus{
	border: 2px solid #da3c41;
	outline: none;		
}

input[type="submit"]{
	position:relative;
	width:100%;
	padding:1rem;
	font-size:2rem;
	color:#fff;
	font-family:kan415typos-std, sans-serif;
	font-weight: 600;
	font-style: normal;	
	background:transparent;
	border:none;
	cursor:pointer;
    transform: translateY(-8%);
	-webkit transform: translateY(-8%);
}
.form-btn{
	width:20%;
}

.form-btn02{
	width:80%;
}

.cp_ipselect {
	overflow: hidden;
	width: 30.6%;
	margin: 1.5rem 0 0 0;
	padding: 1.2rem;
	text-align: center;
}
.cp_ipselect select {
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	text-indent: 0.01px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}
.cp_ipselect select::-ms-expand {
    display: none;
}
.cp_ipselect.cp_sl01 {
	position: relative;
	border:2px solid #402f20;
	border-radius: 5px;
	background: #ffffb6;
}
.cp_ipselect.cp_sl01::before {
	position: absolute;
	top: 1.7em;
	right: 0.9em;
	width: 0;
	height: 0;
	padding: 0;
	content: '';
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #fbbc00;
	pointer-events: none;
}
.cp_ipselect.cp_sl01 select {
	padding: 8px 38px 8px 8px;
	color: #000000;
}

.brown_title01{ background-color: #46260a; padding: 1%; margin: 0 auto; color: #ffffff; font-size: 1.7rem; text-align: left; }
.profile_white_bg{ /*background-color: #ffffff;*/ max-width:1100px; margin:0 auto 1% auto; padding: 1% 0; text-align: left; }
.brown_title02{ padding: 1% 0; margin: 0 auto 1% auto; color: #46260a; font-size: 2rem; border-bottom: 1px solid #46260a; text-align: left; }
.fontL{ font-size: 2rem; }
.fontS{ font-size: 1.7rem; }
.fontSS{ font-size: 1.4rem; }
.div_two{ display:inline-block; margin-right: 1%; width:37%;}
.div_two02{ display:inline-block; margin-right: 1%; width:15%;}
.txt_left{ text-align: left; }

.mt1{ margin-top: 1%; }
.mt2{ margin-top: 2%; text-align: left; }
.mt3{ margin-top: 3%; }
.mb2{ margin-bottom: 2%; }

.pt1{ padding-top: 0.6%; }
.pt15{ padding-top: 1.5%; }
.pt2{ padding-top: 2%; }
.pt3{ padding-top: 3%; }
.pt4{ padding-top: 4%; }

.line{ border-bottom: 1px solid #46260a; margin: 0 auto;}

.txt_blown{color: #46260a;}
.txtCenter{ text-align: center; }

.pankuzu{ margin-bottom: 3%; }

.mandatory{ background-color: #f53f4e; padding: 0.2% 0.8%; border-radius: 2px; font-size: 1.2rem; color: #ffffff; vertical-align: middle; margin-left: 1%;}

.toggle {
    position: relative;
}
.field {
    width: 30%;
    padding: 15px;
    border-radius: 5px;
    border: 2px solid #402f20;
    background: #ffffb6;
    transition: all 0.3s;
	margin-bottom: 10px;
}
.toggle .field {
    padding-right: 80px;
}
.pass_btn {
    display: flex;
    align-items: center;
}
.toggle .pass_btn {
    position: absolute;
    right: 30%;
    top: 5px;
    padding: 5px 8px;
    border-radius: 5px;
    color: #555555;
}
.btn-input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}
.btn-label {
    font-size: 18px;
    cursor: pointer;
}
.toggle .btn-label {
    width: 30px;
    text-align: center;
}

.toggle02 {
    position: relative;
}
.field02 {
    width: 30%;
    padding: 15px;
    border-radius: 5px;
    border: 2px solid #402f20;
    background: #ffffb6;
    transition: all 0.3s;
	margin-bottom: 10px;
}
.toggle02 .field02 {
    padding-right: 80px;
}
.pass_btn {
    display: flex;
    align-items: center;
}
.toggle02 .pass_btn {
    position: absolute;
    right: 30%;
    top: 5px;
    padding: 5px 8px;
    border-radius: 5px;
    color: #555555;
}
.btn-input02 {
    position: absolute;
    z-index: -1;
    opacity: 0;
}
.btn-label02 {
    font-size: 18px;
    cursor: pointer;
}
.toggle02 .btn-label02 {
    width: 30px;
    text-align: center;
}

.red{ color:#ff1700; }

.radio-input{
  display: none;
}
.radio-input + label{
  padding-left: 36px;
  position:relative;
  margin-right: 20px;
}
.radio-input + label::before{
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 24px;
  height: 24px;
  border: 3px solid #402f20;
  border-radius: 50%;
}
.radio-input:checked + label{
  color: #d01137;
}
.radio-input:checked + label::after{
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  left: 6px;
  width: 18px;
  height: 18px;
  background: #d01137;
  border-radius: 50%;
}

.btnpink01 {
  display: block;
  width: 210px;
  height: 60px;
  text-align: center;
  line-height: 60px;
  background: #ff5792;
  text-decoration: none;
font-size: 2rem;
	display: inline-block;
	margin: 0.5%;
}
.btnpink01 span{
  color: #FFF;
  position: relative;
  padding-right: 30px;
}
.btnpink01 span::before{
 content: "";
    position: absolute;
    top: 40%;
    right: 0;
    width: 8px;
    height: 8px;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    transform: rotate(135deg);
    margin-top: -5px;
}


.btnpink02 {
  display: block;
  width: 210px;
  height: 60px;
  text-align: center;
  line-height: 60px;
  background: #ff5792;
  text-decoration: none;
font-size: 2rem;
	margin: 0 auto 40px auto;
}
.btnpink02 span{
  color: #FFF;
  position: relative;
  padding-right: 30px;
}
.btnpink02 span::before{
 content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 8px;
    height: 8px;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    transform: rotate(45deg);
    margin-top: -5px;
}


.btnblue01 {
  display: block;
  width: 210px;
  height: 60px;
  text-align: center;
  line-height: 60px;
  background: #4779d3;
  text-decoration: none;
font-size: 2rem;
	display: inline-block;
	margin: 0.5%;
}
.btnblue01 span{
  color: #FFF;
  position: relative;
  padding-right: 30px;
}
.btnblue01 span::before{
 content: "";
    position: absolute;
    top: 40%;
    right: 0;
    width: 8px;
    height: 8px;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    transform: rotate(135deg);
    margin-top: -5px;
}

.btnblue02 {
  display: block;
  width: 210px;
  height: 60px;
  text-align: center;
  line-height: 60px;
  background: #4779d3;
  text-decoration: none;
font-size: 2rem;
	margin: 0 auto 40px auto;
}
.btnblue02 span{
  color: #FFF;
  position: relative;
  padding-right: 30px;
}
.btnblue02 span::before{
 content: "";
    position: absolute;
    top: 40%;
    right: 0;
    width: 8px;
    height: 8px;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    transform: rotate(45deg);
    margin-top: -5px;
}

.btnbrown01 {
  display: block;
  width: 210px;
  height: 60px;
  text-align: center;
  line-height: 60px;
  background: #b48c35;
  text-decoration: none;
font-size: 2rem;
	display: inline-block;
	margin: 0.5%;
}
.btnbrown01 span{
  color: #FFF;
  position: relative;
  padding-right: 30px;
}
.btnbrown01 span::before{
 content: "";
    position: absolute;
    top: 40%;
    right: 0;
    width: 8px;
    height: 8px;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    transform: rotate(135deg);
    margin-top: -5px;
}

.btnbrown02 {
  display: block;
  width: 210px;
  height: 60px;
  text-align: center;
  line-height: 60px;
  background: #b48c35;
  text-decoration: none;
font-size: 2rem;
	margin: 0 auto 40px auto;
}
.btnbrown02 span{
  color: #FFF;
  position: relative;
  padding-right: 30px;
}
.btnbrown02 span::before{
 content: "";
    position: absolute;
    top: 40%;
    right: 0;
    width: 8px;
    height: 8px;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    transform: rotate(45deg);
    margin-top: -5px;
}

.txtleft{ text-align: left;}
.txtbold{ font-weight: bold;}
.fontnomal{ font-family: sans-serif; font-weight: 200;}

.checkboxarea {}
.checkboxarea ul {}
.checkboxarea .list_item {
	margin: 0 0 1rem 0;
	padding: 0;
}
.checkboxarea label {
	line-height: 135%;
	position: relative;
	margin: 0.5rem;
	cursor: pointer;
}
.checkboxarea .option-input05 {
	position: relative;
	margin: 0 1rem 0 0;
	cursor: pointer;
}
.checkboxarea .option-input05:before {
	position: absolute;
	z-index: 1;
	top: 0rem;
    left: 0.3rem;
    width: 1.2rem;
    height: 0.6rem;
	content: '';
	-webkit-transition: -webkit-transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	        transition:         transform 0.4s cubic-bezier(0.45, 1.8, 0.5, 0.75);
	-webkit-transform: rotate(-45deg) scale(0, 0);
	        transform: rotate(-45deg) scale(0, 0);
	border: 3px solid #f53f4e;
	border-top-style: none;
	border-right-style: none;
}
.checkboxarea .option-input05:checked:before {
	-webkit-transform: rotate(-45deg) scale(1, 1);
	        transform: rotate(-45deg) scale(1, 1);
}
.checkboxarea .option-input05:after {
	position: absolute;
	top: -0.5rem;
	left: 0;
	width: 2rem;
	height: 2rem;
	content: '';
	cursor: pointer;
	border: 1px solid #402f20;
	border-radius: 5px;
	background: #ffffb6;
}


.selectbox-2 {
    width: 100%;
    position: relative;
}

.selectbox-2::before,
.selectbox-2::after {
    position: absolute;
    content: '';
    pointer-events: none;
}

.selectbox-2::before {
    right: 0;
    display: inline-block;
    width: 3.6em;
    height: 3.6em;
    border-radius: 0 3px 3px 0;
    background-color: #2589d0;
    content: '';
}

.selectbox-2::after {
    position: absolute;
    top: 55%;
    right: 1.8em;
    transform: translate(50%, -50%) rotate(45deg);
    width: 6px;
    height: 6px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
}

.selectbox-2 select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
   width: 100%;
    height: 3.35em;
    padding: .4em 3.6em .4em .8em;
    border: 2px solid #2589d0;
    color: #333333;
    font-size: 1.1em;
    font-weight: 500;
    cursor: pointer;
}

.selectbox-2 select:focus {
    outline: 1px solid #2589d0;
}


.warning { margin-right: 6px;}

.caveatArea{background: #fff0f2; padding: 20px 15px;}
.caveatArea-title{display: flex; align-items:center; font-size: 18px; font-weight: 600;}
.caveatArea-txt01 a {
    text-decoration: underline;
    color: #2297d2;
}

/* 登録解除確認モーダル */
#withdrawalModalOverlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.5);
    z-index: 9998;
    justify-content: center;
    align-items: center;
}
#withdrawalModalOverlay.is-open { display: flex; }
#withdrawalModal {
    position: relative;
    background: #fff;
    width: 80%;
    max-width: 900px;
    padding: 40px 30px 30px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0,0,0,0.15);
    z-index: 9999;
}
#withdrawalModal .modal-close {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 30px;
    height: 30px;
    border: none;
    background: none;
    color: #888;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}
#withdrawalModal .modal-close:hover { color: #333; }
#withdrawalModal .modal-title {
    font-size: 1.8rem;
    font-weight: bold;
    color: #1e1e1e;
    margin-bottom: 10px;
}
#withdrawalModal .modal-question {
    font-size: 1.6rem;
    color: #1e1e1e;
    margin-bottom: 30px;
}
#withdrawalModal .modal-submit {
    width: 90%;
    max-width: 330px;
    margin: 30px auto 0 auto;
    font-family: sans-serif !important;
    font-weight: bold;
    display: block;
    position: relative;
    text-align: center;
    background: #cd2a3e;
    color: #fff;
    font-size: clamp(16px, 2vw, 18px);
    padding: 2.4rem 1.5rem;
    text-decoration: none;
    transition: background .2s;
    box-sizing: border-box;
}

#withdrawalModal .modal-submit::before,
#withdrawalModal .modal-submit::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1rem;
	margin: auto;
	content: "";
	vertical-align: middle;
}
#withdrawalModal .modal-submit::after{
width: 14px;
    height: 14px;
    right: 1.8rem;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#withdrawalModal .modal-submit:hover{
        background: #ab1124;
      }

@media screen and (max-width:1400px){
.btn-short{width:40%;}
.form-btn{
	width:50%;
}
}

@media screen and (max-width:1200px){
#logo{
	width:20%;
	margin:0 auto;
}	
input[type="email"]{
	width:60%;
}
.form-btn{
	width:30%;
}
}

@media screen and (max-width:1000px){
#sns-follow,
#manabi{
	width:98%;
}
	
#sns-follow #link a{width:44%;}
#manabi a{width:80%;}
}

@media screen and (max-width:1220px){
    
    .contents {
    width: 80%;
}
    
}

@media screen and (max-width:900px){
.gakunenbtns2 li {
    width: 23.5%;
}
}
	
@media screen and (max-width:768px){
    
    #area-link .link-list ul {
    font-size: 1.4rem;
    color: #fff;
    display: flex;
    flex-wrap: wrap;          /* 折り返し可能 */
    gap: 2rem;                /* アイテム間の余白 */
    padding: 0;
    margin: 0;
    list-style: none;
    justify-content: flex-start; /* 左寄せ */
}

#area-link .link-list ul li {
    position: relative;
    padding: 4px 0 0 1.5rem;
}
    
    .generalBtn1 a::after {
    width: 9px;
    height: 9px;
}
    
    .topback a::after {
    width: 9px;
    height: 9px;
}
    
    .contract-list1 li{font-size:16px; padding: 18px 0;}
    
    .shipping-address-list li {
    font-size: 18px;
}
    
    .contents {
    width: 90%;
}
    
    .gakunenbtn {font-size: 18px;}
    .gakunenbtns1{gap:3%;}
    .gakunenbtns1 li {margin-bottom: 3%;width: 48%;}
    
    
    .gakunenbtn2 {font-size: 17px;}
    .gakunenbtns2{gap:3%;}
    .gakunenbtns2 li {margin-bottom: 3%;width: 48%;}
    
        .general-txt01 {
        text-align: left;
        font-size: clamp(16px, 2vw, 21px);
    }
    
    .lower-large-h1 {
    padding-bottom: 24vw;
        margin-bottom:-2vw;
}
    .lower-large-h1 h1{font-size: clamp(28px, 3vw, 32px);
        padding: 20px 0;}
    
    .lower-large-h1:after{
           padding-top: 18vw;
    background-image: url(/assets/members/image/lower-large_sp.png);
}
    
    .h2midashi h2 {
    padding: 10px 52px 10px 32px;}
     
    .h2midashi h2 span{font-size:clamp(24px, 3vw, 31px);}
    
	.header_logo {
    width: 61%;
    display: inline-block;
    text-align: left;
    margin-left: 1%;
}
.login{ width:17%; display: inline-block; vertical-align: top; text-align: right;}
		
		.log-midasi{max-width: 355px;
}
}


@media screen and (max-width:560px){
.pcOnly{display:none;}
.spOnly{display:block;}	

.w01{ width:100% !important; }
	
.header {
    padding:0 0 0 0;
}
	
.sub-title01{
	margin:0 0 2rem 0;
	line-height:1.2;
	font-size:2.4rem;
}
	
.sub-title{
	margin:2rem 0;
	line-height:1.2;
}
	
.nav_btn {
    display: inline-block;
    max-width: 32%;
    padding: 5px 0 0 0;
}
main{}
	
.btn-short{width:auto;}	
	
.btn{font-size:1.7rem;}	
	
.btn-blue {
   padding: 2% 0 4% 0;
}
	
address{padding:2rem;}
	
#btnPagetop{width: 14%;
        right: 10px;
        bottom: 45px;}	
#btnPagetop img{width:100%;}
    
#area-link .link-list ul {
    width: 85%;
    margin: 0 auto;
}
    
    #area-link .link-list ul li {
    width: 100%;
}

.header_logo {
    width: 35%;
    display: inline-block;
    text-align: left;
    margin-left: 1%;
}
.login{ width:30%; display: inline-block; vertical-align: top; text-align: right;}
	
.header_logo img{ width:140px; }
.login img{ width:35px; }
	
.login_txt {
    font-size: 1.5rem;
    display: inline-block;
    vertical-align: top;
    line-height: 34px;
    margin-left: 1%;
    text-decoration: none;
}

#logo{
	width:50%;
	margin:0 auto;
}
	
	
#sns-follow #link{
	display:block;
}
#sns-follow #link a{
	width:auto;
	margin:2rem 0 0 0;
}	
	
#manabi a{
	width:auto;
	padding-right:4rem;
}
	
input[type="email"]{
	width:70%;
}
	
input[type="submit"]{
	width:100%;
}	

.form-btn{width:97%;}
	
#pre-form{
	width:none;
}
	
#pre-form .attention{
	text-align:left;
}

.cp_ipselect {
    overflow: hidden;
    width: 75%;
    margin: 1.5rem 0 0 0;
    padding: 1.2rem;
    text-align: center;
}
	
.profile_white_bg {
    padding: 1% 0;
}
	
.field {
    width: 50%;
}
	
.toggle .pass_btn {
   right: 10%;
}
	
.div_two{ display:inline-block; margin-right: 1%; width:48%;}
.div_two02{ display:inline-block; margin-right: 1%; width:15%;}

.w410{ width: 100% !important; }
.w550{ width: 100% !important; }
.w750{ width: 100% !important; }

	}
	

