@charset "utf-8";
/*-----------------------------------------------------------------
	共通CSS
-----------------------------------------------------------------*/
#main h2 {
	width: 100%;
	font-family: 'Sawarabi Mincho', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝', 'MS PMincho', 'serif';
	border-bottom: #a8a094 1px solid;
	padding: 10px 20px;
}
#main h3 {
	width: 100%;
	background: #dfdaba;
	border-left: #3c4c03 2px solid;
	color: #3c4c03;
	font-size: 113%;
	margin: 0 0 25px;
	padding: 10px 20px;
}
.box {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	background: #fff;
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
	border-radius: 10px;
	margin:0 auto;
	padding: 30px;
}

.nonpd{padding: 30px 0!important;}

.btnbox{
	width: 100%;
	max-width: 247px;
	margin: 40px auto 20px;
}
.okbtn{
	max-width: 70px;
}
@media only screen and (max-width: 999px) {
.box {
	padding: 15px;
	}
}
@media only screen and (max-width: 568px) {
	#main h2 {
		padding: 0 10px 0;
	}
	.box {
    padding: 15px;
}
.basetbl th, .basetbl td {
    padding: 15px 10px!important;
}
}
/*-----------------------------------------------------------------
	フォーム要素
-----------------------------------------------------------------*/

/*ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
                    radio
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
input[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    position: relative;
    right: 0;
    bottom: 0;
    left: 0;
    height: 20px;
    width: 20px;
    vertical-align: -0.7rem;
    transition:all .15s ease-out 0s;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    margin: .4rem .4rem .4rem 1rem;
    outline: none;
    border-radius: 10%;
}
input[type=radio] {
    border-radius: 50%;
}
input[type=radio]:checked:before {
    transform: scale(1);
}
input[type=radio]:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin: 4px;
    transform: scale(0);
    transition: all ease-out 250ms;
}
/* 黄 */
input[type=checkbox].ylw,input[type=radio].ylw {
    border: 1px solid #a08632;
}
input[type=checkbox].ylw:checked,input[type=checkbox].ylw:indeterminate,input[type=radio].ylw:checked:before {
    background: #000;
}
/*ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
                   check
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
input[type='checkbox']{ display: none; }
input[type='checkbox'] + label{
  position: relative;
  display: flex;
  margin: .6em 0;
  align-items: center;
  color: #000;
  transition: color 250ms cubic-bezier(.4,.0,.23,1);
}

input[type='checkbox'] + label > span{
  display: inline-block;
  justify-content: center;
  align-items: center;
  margin:0 6px 2px 0;
  width: 1em;
  height: 1em;
vertical-align: middle;
  background: transparent;
  border: 1px solid #a08632;
  border-radius: 2px;
  cursor: pointer;  
  transition: all 250ms cubic-bezier(.4,.0,.23,1);
}

input[type='checkbox'] + label:hover > span, input[type='checkbox']:focus + label > span{
  background: rgba(255,255,255,.1);
}
input[type='checkbox']:checked + label > span:before{
  content: "";
  position: absolute;
  top: .55em;
  left: .15em;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  transform: rotate(45deg);
  transform-origin: 0% 100%;
  animation: checkbox-check 125ms 250ms cubic-bezier(.4,.0,.23,1) forwards;
}
.iconcheck input[type='checkbox']:checked + label > span:before{
	  top:1.3em;
  left: .15em;
}
@keyframes shrink-bounce{
  0%{transform: scale(1);}
  33%{transform: scale(.85);}
  100%{transform: scale(1);}
}
@keyframes checkbox-check{
  0%{
    width: 0;
    height: 0;
    border-color: #000;
    transform: translate3d(0,0,0) rotate(45deg);
  }
  33%{
    width: .2em;
    height: 0;
    transform: translate3d(0,0,0) rotate(45deg);
  }
  100%{    
    width: .2em;
    height: .5em;    
    border-color: #000;
    transform: translate3d(0,-.5em,0) rotate(45deg);
  }
}
.mnd{
	background: #cb85a4;
	padding: .5px 10px .5px;
	box-sizing: border-box;
	border-radius: 5px;
	float:right;
	font-size: 94%;
	color: #fff!important;
}

.middle {width: 60%;}
/*-----------------------------------------------------------------
	テーブル
-----------------------------------------------------------------*/
/* 基本テーブル */

.basetbl th, .basetbl td {
	border-bottom: #d2cfc9 1px solid;
	padding: 15px 15px;
		vertical-align: top;
}
.basetbl th {background: #f7f7f7;}


.basetbl td label {
	display: inline-block;
	margin: 0 10px 5px 0;
}


/* 一覧テーブル */
.listtbl th {
	background: #f7f7f7;
}
.listtbl .td_date {
	width: 145px;
}
/* ムービーテーブル */
.movietbl {
	width: 100%;
	border-collapse: collapse;
	border-bottom: #d2cfc9 1px solid;
}
.movietbl .movie_box{
	width: 100%;
    background: #d7d7d8 url(../mypage/images/movie_icon.png) no-repeat center center;
    position: relative;
    padding-bottom: 264px;
	margin: 0 auto 20px;
}
.movietbl tr{
	width: 49.7%;
	padding: 0 1%;
	display: inline-block;
	vertical-align: top;
}
.movietbl th, .movietbl td {
display: block;
	width: 100%!important;
}
.movietbl th{
	text-align: center;
}
.movietbl td{
	border-bottom: none;
}
.btn_delete,
.btn_edit{
	width: 100px!important;
}
@media only screen and (max-width: 999px) {
.listtbl .td_date {
	width: 100px;
}
}
@media only screen and (max-width: 750px) {

.movietbl tr {
    width: 100%;
}
}
@media only screen and (max-width: 568px) {
	thead,
	tfoot{
		display: none;
	}
.listtbl td{
	width:100%;
	display: inline-block;
}
.btn_delete,
.btn_edit{
	width: calc(99% / 2)!important;
}
.listtbl .td_date {
	width:100%!important;
	display: block;
}
}
/*-----------------------------------------------------------------
	利用規約画面
-----------------------------------------------------------------*/
.terms_box {
	width: 90%;
	height: 400px;
	border: #ccc 1px solid;
	font-size: 88%;
	margin: 20px auto;
	overflow-y: auto;
	padding: 10px;
}
.terms_box h3 {
	margin: 0 0 20px;
	font-weight: bold;
}
.terms_box p {
	margin: 0 0 20px;
}
.mail_w{
	width: 90%;
	max-width: 500px;
	margin: 0 auto;
}
.mail_box {
	width: 100%;
	background: #f7f7f7;
	margin: 20px auto 10px;
	text-align: center;
	padding: 20px 50px;
}
.mail_box input {
	width: 100%;
	height: 40px;
	font-size: 133%;
	margin: 10px auto;
	padding: 10px;
}
@media only screen and (max-width: 750px) {
.terms_box {
	width: 100%;
	font-size: 80%;
}
.terms_box h3 {
	font-size: 100%!important;
}
}
@media only screen and (max-width: 568px) {
.mail_box {
    width: 100%;
    padding: 20px 20px;
}
}
/*-----------------------------------------------------------------
	メールアドレス入力画面
-----------------------------------------------------------------*/
.new_btn,
.btn_login,
.default-btn {
	border: none;
	width: 96%;
	max-width: 400px;
	border-radius: 10px;
	cursor: pointer;
	color: #fff;
	margin: 30px 0 0;
	padding: 10px;
}
.new_btn{
	background: #003300;
}
.btn_login{
	background: #af1a1c;
}
.default-btn{
	background:#a08632;
}
.input_layout_box label {
	vertical-align: middle;
}
.input_layout_box input {
	vertical-align: middle;
}

.contactlistbox{
	padding: 30px 0;
}
.contactlistbox input{
	padding: 8% 10px;
	width: calc(90% / 3);
	margin: 0 1%;
	font-size: 107%!important;
}
@media only screen and (min-width: 1200px) {
.contactlistbox input{
	font-size: 120%!important;
}
}
@media only screen and (max-width: 999px) {
	.contactlistbox input{
	padding: 30px 10px;
width: 100%!important;
	margin: 10px auto;
	font-size: 107%!important;
}
.contactlistbox{
		text-align: center!important;
}
}
/*-----------------------------------------------------------------
	お坊さん情報入力
-----------------------------------------------------------------*/
.input_layout_dl {
	width: 100%;
}
.input_layout_dl dt {
	width: 100px;
	clear: left;
	float: left;
}
.input_layout_dl dd {
	padding: 5px 0 5px 120px;
}
.input_layout_box label {
	min-width: 195px;
	vertical-align: middle;
}
.input_layout_box label img {
	margin: 0 5px;
	vertical-align: middle;
}
@media only screen and (max-width: 568px) {
.basetbl td label {
	margin: 0 0 5px;
}
}

/*-----------------------------------------------------------------
	プラン変更画面
-----------------------------------------------------------------*/
.plan_tbl {
	width: 100%;
	table-layout: fixed;
}
.plan_tbl td {
/*	border-left: #a08632 1px solid;*/
	padding: 50px 20px;
	vertical-align: top;
    position: relative;
}
.plan_tbl td:first-child {
	border-left: none;
}
.plan_select_now {
	padding: 10px 0;
}
.plan_img {
	width: 100%;
	max-width: 500px;
	margin: 0 auto;
}
.plan_img img {
	max-width: 100%;
}
.plan_detail {
	border-bottom: #eee 1px solid;
	padding: 30px 0;
	vertical-align: middle;
}
.plan_btn a {
	width: 100%;
	background: #dfdaba;
	border-radius: 10px;
	color: #3b4b02;
	display: block;
	font-weight: bold;
	padding: 10px;
	text-decoration: none;
	text-align: center;
}
.plan_price {padding: 30px 0 0;}

.plan_upgrade_btn_select a,
.plan_upgrade_btn a {
	width: 100%;
	border-radius: 20px;
	color: #000;
	display: block;
	font-weight: bold;
	padding: 10px;
	text-decoration: none;
	text-align: center;
}
.plan_upgrade_btn_select a{background: #D9D9D9;}
.plan_upgrade_btn a {background: #B6D7A8;}
.plan_title{
    text-align: center!important;
    padding: 0px 20px;
    display: inline-block;
    font-size: 83%;
}
.plan_tbl td .small{
    position: absolute;
    bottom: 10px;
    font-size: 94%;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.plan_tbl{
    border-collapse: separate;
    border-spacing: 10px 0px;
}
.min{ font-family: 'Sawarabi Mincho', 'ヒラギノ明朝 Pro W3', 'Hiragino Mincho Pro', 'ＭＳ Ｐ明朝', 'MS PMincho', 'serif';}
.plan_tbl td ul{
    padding: 10px 0 30px;
    position: relative;
}
.plan_tbl td ul li{
    font-size: 120%;
    line-height: 36px;
    padding: 0 0 0 25px;
}
.plan_tbl td p:nth-child(2) span,
.plan_tbl td p:nth-child(2){font-weight: bold!important;}

.plan_tbl td p:nth-child(2){
    padding: 30px 0;
    font-size: 250%;
}
.plan_tbl td p:nth-child(2) span{
    font-size: 60%;
    padding: 5px;
}
.plan_tbl td p:first-child span{
    display: inline-block;
    margin: 25px 0 0;
    font-size: 80%;
}
.plan_tbl td p:first-child{
    font-weight: bold;
    font-size: 175%;
    position: relative;
}
.torso::before,
.silver::before,
.gold::before{
   content:"";
   display:block;
   width:60%;
   height:8px;
   position:absolute;
    top:43px;
   left:0;
   right: 0;
    margin: 0 auto;
}
.torso::before{background: linear-gradient(to right, #815a2b 0%, #976B2F 30%, #FFE6A9 50%, #976B2F 70%, #815a2b 100%);}
.silver::before{background:linear-gradient(to right, #757575 0%, #9E9E9E 30%, #E8E8E8 50%, #9E9E9E 70%, #757575 100%);}
.gold::before{background: linear-gradient(to right,#B67B03 0%, #DAAF08 30%, #FEE9A0 50%, #DAAF08 70%, #B67B03 100%);}

.planbox {
	box-sizing: border-box;
	background: #fff;
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.1);
	border-radius: 10px;
	margin:0 auto;
	padding: 30px;
}
.next_plan_com{padding: 70px 30px 30px;}
.next_plan_com p,
.next_plan_com p span,
.next_plan p:nth-child(1),
.next_plan p:nth-child(1) span,
.next_plan p:nth-child(2),
.next_plan p:nth-child(3),
.next_plan p:nth-child(4){font-weight: bold;}

.next_plan_com p,
.next_plan p:nth-child(1),
.next_plan p:nth-child(3){font-size: 160%;}
.next_plan p:nth-child(2),
.next_plan p:nth-child(4){font-size: 200%;}

.next_plan p:nth-child(3){color:#AF1A1C;}

.next_plan_com p,
.next_plan p:nth-child(1){
    position: relative;
    margin-bottom: 40px!important;
}
.next_plan_credit{padding: 40px 20px;}
.next_plan_credit .basetbl th,.next_plan_credit .basetbl td { border: #d2cfc9 1px solid;}
.next_plan_credit .basetbl th{
    border-right: none;
    font-weight: bold;
}
.next_plan_credit .basetbl td{border-left: none;}
.credit_title{
    font-weight: bold;
    border-left: 10px solid #AF1A1C;
    padding:  0 0 0 8px;
    margin: 0 0 10px 0;
    display: inline-block;
    font-size: 113%;
}

@media only screen and (max-width: 999px){
    
.next_plan_credit .basetbl th{
    border-right: #d2cfc9 1px solid;
    border-bottom: none;
    }
.next_plan_credit .basetbl td{
    border-left:#d2cfc9 1px solid;
    border-top: none;
    border-bottom: none;
    }
    .next_plan_credit .basetbl tr:last-child td{border-bottom: #d2cfc9 1px solid; }
}
@media only screen and (min-width: 631px) and (max-width: 1030px){.plan_tbl td {padding: 40px 10px 40px;}}
@media only screen and (min-width: 631px) and (max-width: 900px) {
.torso::before, .silver::before, .gold::before {top: 24px;}
.plan_tbl td p:nth-child(2) {
    font-size: 165%;
    padding: 15px 0;
    }

.plan_tbl td ul li {
    font-size: 88%;
    padding: 0 0 0 0px;
    }
.plan_tbl td p:first-child span {
    display: inline-block;
    margin: 17px 0 0;
    font-size: 59%;
    }
.plan_upgrade_btn_select a, .plan_upgrade_btn a {font-size: 85%;}
.plan_tbl td .small {font-size: 75%;}
.plan_tbl td p:first-child {font-size: 113%;}
.next_plan_com .gold::before,
.next_plan .gold::before {top: 40px;}
}
@media only screen and (max-width: 630px) {
.plan_tbl{border-spacing: 5px 0px;}
.plan_tbl td {
width: 100%;
display: block;
border-left:none;
/*border-top: #a08632 3px solid;*/
    margin-bottom:30px;
	padding:50px 20px ;
}
.plan_tbl td:first-child {border-top: none;}
.next_plan_com .gold::before,
.next_plan .gold::before {width: 100%;}
}
@media only screen and (max-width: 568px) {
.plan_select,
.plan_price {font-size: 90%;}
    
.plan_tbl td p:first-child span{font-size: 65%;}
    
.plan_title {
    padding: 0px 10px;
    font-size: 80%;
}
    .next_plan_credit{padding: 40px 0px;}
.next_plan_com p,
.next_plan p:nth-child(1){padding: 10px 0 0 0;}
    
.next_plan_com p{font-size: 113%;}
.next_plan p:nth-child(1),
.next_plan p:nth-child(3){font-size: 120%;}
.next_plan p:nth-child(2),
.next_plan p:nth-child(4){font-size: 180%;}
}
/*-----------------------------------------------------------------
	パスワード表示アイコン
-----------------------------------------------------------------*/
.field-icon {
	color: #555;
	float: right;
	margin-right: 15px;
	margin-top: -42px;
	position: relative;
	z-index: 2;
}


