@charset "utf-8";
*{
  margin: 0;
  padding: 0;
}
/*PCのボタンをホバーするときのアニメーション*/
@keyframes click {
  0% {
      height: 25px;
      width: 25px;
      opacity: 0.35;
      position: relative;
  }
  100% {
      height: 100px;
      width: 100px;
      margin-left: -40px;
      margin-top: -40px;
      opacity: 0;
  }
}

/*----------------------------------
START terms-scroll.html（PC、スマホ共通ファイル）
------------------------------------*/
#TermsCommon{    
    height: 150px;
    border: 1px solid #ccc;
    overflow: auto;
    border-radius: 3px;
    text-align: left;
}
#TermsCommon .PrivacyTitle1,
#TermsCommon .TermsTitle1{
    background-color: #f5f5f5;
    font-size: 15px;
    padding: 10px 10px 5px 10px;
    line-height: 1.5;
    font-weight: bold;	
}
#TermsCommon .Privacy,
#TermsCommon .Terms{
	font-size: 13px;
    line-height: 1.7;
	margin:0 10px;
}
#TermsCommon .Privacy > section,
#TermsCommon .Terms > section{
    margin-bottom:40px;
}
#TermsCommon .PrivacySummary,
#TermsCommon .TermsSummary{
    margin:20px 0 30px;	
}




/* START プライバシーポリシー・個人情報保護方*/
#TermsCommon .Privacy ol,ul{
	padding-left: 0;	
}
#TermsCommon .PrivacyTitle2{
    font-size: 16px;
    margin-bottom: 5px;
}
#TermsCommon .PrivacyText{
    margin-bottom:10px;		
}
/*数字付きリスト1、数字付きリスト2*/
#TermsCommon .PrivacyList1,#TermsCommon .PrivacyList2{
    list-style: none outside;
}
#TermsCommon .PrivacyList1ItemNumber{
	margin-bottom: 8px;
    text-indent: -1.5em;
    padding-left: 1.5em;	
}
#TermsCommon .PrivacyList2ItemNumber{
    margin-bottom: 8px;
    text-indent: -2em;
    padding-left: 2em;
}
/*内側黒丸リスト*/
#TermsCommon .PrivacyListItemNumberInsideList{
    list-style: disc outside;
	margin:10px 0 20px 34px;
}
#TermsCommon .PrivacyListItemNumberInsideListItem{
	margin-bottom: 8px;
    text-indent: 0;
    padding-left: 0;	
}
/*オプトアウト*/
#TermsCommon .PrivacyPartnerList{
  margin: 10px 0 20px 36px;
	font-weight: bold;
}
#TermsCommon .PrivacyPartnerListItem{
	margin-bottom: 20px;
	list-style: disc outside;
}
#TermsCommon .PrivacyPartnerListItemLink{
	color: #000;
	display: inline-block;	
	text-decoration: underline;
	margin:10px 0 5px 0;
	position: relative;
	font-weight: normal;
	padding-right: 22px;	
}
#TermsCommon .PrivacyPartnerListItemLink::after{
	content:"";
	background-image: url("/images/icon/launch.gif");
	background-size: 18px 18px;
	width: 18px;
	height: 18px;
	position: absolute;
	right:-3px;
	bottom: 3px;
	color: #000;
}
#TermsCommon .PrivacyPartnerListItemLink:hover::after{
    color: #5991f8;
}
/*問い合わせ*/
#TermsCommon .PrivacyInquiry{
    border: solid 1px #ddd;
    padding: 10px;
}
#TermsCommon .PrivacyDate{
    color: #555;	
}
/* END*/


/* START プライバシーポリシー・個人情報保護方*/
#TermsCommon .Terms ol,ul{
	padding-left: 0;	
}
#TermsCommon .TermsTitle2{
    font-size: 15px;
    margin-bottom: 5px;
}
#TermsCommon .TermsText{
    margin-bottom:10px;		
}
#TermsCommon .TermsListItem{
	list-style: none outside!important;
}
#TermsCommon .TermsQuantityListItem{
	list-style: none outside!important;	
    margin-bottom:8px;	
}
#TermsCommon .TermsQuantityListItemText{
    padding-left: 1.2em;
    margin: 8px 0;	
}
/* END*/

/*----------------------------------
START terms-modal.html（PC、スマホ共通ファイル）
------------------------------------*/
body.fixed{
    overflow: hidden;
}
.TermsContent {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: .6s;
    text-align: left;
}
.TermsContent.TermsShow {
    opacity: 1;
    visibility: visible;
}
.TermsContentModal {
    position: fixed;
    background-color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);	
    overflow-y: scroll;
	box-sizing: border-box;
}
.TermsContentOverlay {
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);	
}
.TermsContentModalTitle{
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}
.TermsContentModalText{
    font-size: 15px;
    margin-bottom: 10px;
}
.TermsContentModalClose{
    display: block;
    text-decoration: none;	
    padding: 15px 40px;
    color: #fff;	
    background-color: #f93a1a;
    border-radius: 3px;
    font-weight: bold;
    line-height: 20px;
    text-align: center;
    box-shadow: 0 1px 2px rgb(0 0 0 / 15%);
    box-sizing: border-box;	
	border: none;
}
/**end**/
.TermsContentModalDisagree{
    display: block;
    margin: 0 10px 0 0;
    text-align: center;	
}
.TermsContentModalDisagreeLink:after {
    border-right: 1px solid #333;
    border-top: 1px solid #333;
    content: "";
    width: 7px;
    height: 7px;
    right: -10px;
    position: absolute;
    top: 28%;
    transform: rotate(45deg);
}
/*----------------------------------
START register
------------------------------------*/
.TermsRegister{    
    margin: 30px 0 20px;	
}
/*同意するチェックボックス*/
.TermsAgreeCheck{
    color: #575757;	
    border: 1px solid #999;
    border-radius: 3px;
    margin: 0 auto 40px;
    padding: 5px;
    text-align: center;
    background: #ffffcc;
}
.TermsAgreeCheckBox{
    display: block;
    position: relative;
    padding: 8px 0 8px 35px;
    cursor: pointer;
    font-size: 13px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.TermsAgreeCheckBox input[type=checkbox] {
    position: absolute;
    opacity: 0;
}
.TermsAgreeCheckBoxCheckmark{
    position: absolute;
    top: 5px;
    height: 25px;
    width: 25px;
    background-color: #ccc;
}
.TermsAgreeCheckBox:hover input[type=checkbox] ~ .TermsAgreeCheckBoxCheckmark {
    background-color: #ccc;
}
.TermsAgreeCheckBox input[type=checkbox]:checked ~ .TermsAgreeCheckBoxCheckmark {
    background-color: rgb(137, 192, 74);
}
.TermsAgreeCheckBox .TermsAgreeCheckBoxCheckmark:after {
    content: "";
    position: absolute;
    display: none;
}
.TermsAgreeCheckBox input[type=checkbox]:checked ~ .TermsAgreeCheckBoxCheckmark:after {
    display: block;
}
.TermsAgreeCheckBox .TermsAgreeCheckBoxCheckmark:after {
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
.TermsAgreeCheckBox input[type=checkbox]:checked ~ .TermsAgreeCheckBoxCheckmark:before {
    -webkit-animation: click 0.65s;
    -moz-animation: click 0.65s;
    animation: click 0.65s;
    background: rgb(137, 192, 74);
    content: '';
    display: block;
    position: relative;
    z-index: 100;
}
.TermsRegisterMoveAgreeText{
    color: #ff0000;
    margin-bottom: 10px;
    font-weight: bold;	
}
/*----------------------------------
  START mypage
------------------------------------*/
.TermsDisagreeBlock{
    margin: 30px auto;	
}
.TermsDisagreeBlockNotes{
    font-size: 15px;	
    font-weight: bold;
    color: #b81a1b;
    border: solid 2px #b81a1b;
    margin: 0 auto 20px;
		text-align: center;
}
.TermsDisagreeBlockTextBold{	
    font-weight: bold;
}
.TermsDisagreeBlockAgainLink{
    position: relative;
    display: block;
    margin:30px auto 0;
    text-decoration: underline!important;
    color: #1a4ead;	
}
.TermsDisagreeBlockAgainLink:after {
    border-right: 1px solid #333;
    border-top: 1px solid #333;
    content: "";
    width: 7px;
    height: 7px;
    right: 0px;
    position: absolute;
    top: 28%;
    transform: rotate(45deg);
}
.TermsDisagreeBlockAgainLink:hover {
    text-decoration: none!important;
}

/*************PC 520px以上*************/
@media screen and (min-width:519px) {
  p {
	  margin-top: 0;
  }	
  /*----------------------------------
  START ご利用規約 モーダル
  ------------------------------------*/
  .TermsContentModal {
      padding: 40px 80px;
      max-width:740px;
      width: 100%;
  }
  .TermsContentModal > .TermsCommon{
      height: 250px
  }
  .TermsContentModalText{
      line-height: 1.5;
  }
  .TermsContentModalClose{
      width: 320px;	
      font-size: 20px;
      margin: 20px auto 40px;
      text-align: center;
      cursor: pointer;
      position: relative;/*これいれないとダメ*/
      overflow: hidden;/*これいれないとダメ*/		
  }
  /** 上記内容に同意して閉じる　ホバーした時**/
  .TermsContentModalClose:before {
      position: absolute;
      height: 250%;
      left: 0%;
      width: 1%;
      z-index: 1;
      content:'';
      background: #fff;
      border: 20px solid #efefef;
      opacity: 0;
      -moz-transform: translateX(-30%) translateY(-30%) rotate(-25deg);
      -ms-transform: translateX(-30%) translateY(-30%) rotate(-25deg);
      -webkit-transform: translateX(-30%) translateY(-30%) rotate(-25deg);
      transform: translateX(-30%) translateY(-30%) rotate(-25deg);
  } 
  .TermsContentModalClose:hover:before {
      animation: flashBtn .3s ease-in-out;
      -webkit-animation: flashBtn .3s ease-in-out;
  }
  .TermsContentModalClose:hover {
      box-shadow: 0 2px 15px rgba(0,0,0,0.3);
      text-decoration: none;
  }
  /**end**/
  .TermsContentModalDisagreeLink:link{
      color: #333 !important;
      position: relative;
		  text-decoration: underline;
  }
  .TermsContentModalDisagreeLink:hover{
      color: #999 !important;
      text-decoration: none;
  }
  .TermsContentModalDisagreeLink:visited{
      color: #333 !important;
  }		
  /*----------------------------------
  START register
  ------------------------------------*/
  .TermsRegister{    
    width: 650px;
		margin: 30px auto;
  }
  /*同意するチェックボックス*/
  .TermsAgreeCheck{
    width: 30%;
  }
  .TermsAgreeCheckBox input[type=checkbox] {
    cursor: pointer;
  }
  .TermsAgreeCheckBoxCheckmark{
    left: 70px;
  }
  /*ご利用規約を登録する*/
  .TermsRegisterMove{    
    position: relative;
		width: 650px;
		margin: 30px auto;
		text-align: center;
  }
  .TermsRegisterMove button{    
    width: 56%;	
  }
  /*----------------------------------
  START mypage
  ------------------------------------*/
  .TermsDisagreeBlock{
      width: 630px;	
  }
  .TermsDisagreeBlockNotes{
      padding: 20px;
  }
  .TermsDisagreeBlockAgainLink{
      width: 27%;	
  }
  .TermsDisagreeBlockAgainLink:after {
      border-right: 1px solid #333;
      border-top: 1px solid #333;
      content: "";
      width: 7px;
      height: 7px;
      right: 0px;
      position: absolute;
      top: 28%;
      transform: rotate(45deg);
  }
  /*----------------------------------
  START guest
  ------------------------------------*/
  .TermsGuest{    
      width: 50%;
      margin: 20px auto;	
  }	
}




/*************スマホ 520px以下*************/
@media screen and (max-width:519px) {
  /*----------------------------------
  START ご利用規約 モーダル
  ------------------------------------*/
  .TermsContentModal {
      padding: 40px 16px;
      width: 90%;	
  }
  .TermsContentModal > .TermsCommon{
      height: 200px
  }	
  .TermsContentModalClose{
      width: 100%;	
      font-size: 18px;
      padding: 15px 40px;
      margin: 10px auto 30px;
  }
  .TermsContentModalDisagree{	
      font-size: 13px;
  }
  .TermsContentModalDisagreeLink:link{
      color: #1a4ead !important;
      text-decoration: underline;	
      position: relative;	
  }
  .TermsContentModalWrapDisagree{
      position: relative;
      display: block;
      margin: 0 10px 0 0;
      text-align: center;	
  }
  .TermsContentModalWrapDisagreeLink:link{
      color: #1a4ead !important;
      text-decoration: underline;	
  }
  .TermsContentModalWrapDisagreeLink:after {
      border-right: 1px solid #1a4ead;
      border-top: 1px solid #1a4ead;
      content: "";
      width: 7px;
      height: 7px;
      right: 0px;
      position: absolute;
      top: 28%;
      transform: rotate(45deg);
  }
  /*----------------------------------
  START register
  ------------------------------------*/
  .TermsRegister{    
      margin: 30px 0 20px;	
  }
	a.disable img{
      opacity: 0;
  }  
  /*同意するチェックボックス*/
  .TermsAgreeCheck{
      width: 70%;
  }
  .TermsAgreeCheckBoxCheckmark{
      left: 33px;
  }
  /*ご利用規約を登録する*/
  .TermsRegisterMove{    
      margin: 20px 0;
  }
  /*----------------------------------
  START mypage
  ------------------------------------*/
  .TermsDisagreeBlock{
      width: 90%;	
  }
  .TermsDisagreeBlockNotes{
      padding: 10px;
  }
  .TermsDisagreeBlockAgainLink{
      width: 46%;
  }	
}
/*************スマホ 375px以下*************/
@media screen and (max-width:375px) {
	.TermsDisagreeBlockAgainLink{
      width: 50%;
  }	
}
/*************スマホ 320px以下*************/
@media screen and (max-width:320px) {
	.TermsDisagreeBlockAgainLink{
      width: 58%;
  }
	.TermsContentModalDisagree {
    font-size: 11px;
	}
}
