@charset "UTF-8";

/* ------------------------------
    all
------------------------------ */

.scroll-text{
	width: 650px;
	margin: auto;
	height: 170px;
	overflow-y: scroll;
	border: 1px solid #b3b3b3;
	padding: 10px 10px;
}

.scroll-text p{
	font-size: 1.3rem;
	line-height: 1.69;
	margin-top: 27px;
}

.scroll-text ul li,.scroll-text dd,.scroll-text dt {
	font-size: 1.3rem;
	line-height: 1.69;
}


.scroll-text ul li ul {
	padding-left: 1em;
}

.scroll-text ul li ul li{
	text-indent: -2em;
	padding-left: 2em;
}

.scroll-text p:first-of-type{
	margin-top: 0;
}


/* ------------------------------
    flow
------------------------------ */

h3.flow-title{
	border: 2px solid #043698;
	margin: 30px 0 30px;
	font-size: 2.4rem;
	line-height: 1;
	color: #043698;
	font-weight: bold;
}

h3.flow-title span{
	display: block;
	border-left: 5px solid #f49c00;
	border-right: 5px solid #043698;
	padding: 7px 5px 3px;
}

#flow .txt + h3.flow-title{
	margin-top: 70px;
}

#flow .txt{
	padding: 0 15px 40px;
	border-bottom: 2px solid #043698;
	position: relative;
}

#flow .txt.last{
	border-bottom: 0;
}

#flow .txt p .orange{
	color: #f49c00;
}

#flow .txt p .bold{
	font-weight: bold;
}

#flow .txt p a.blue{
	color: #1e87ff;
}

#flow .txt p + p,#flow .txt ul{
	margin-top: 30px;
}

#flow .txt strong{
	line-height: 1.5;
	font-size: 1.5rem;
}

#flow .txt ul li{
	font-size: 1.5rem;
	line-height: 1.8;
	color: #f49c00;
	font-weight: bold;
}

#flow .txt p a.ul{
	text-decoration: underline;
}

#flow .txt p a.ul:hover {
	text-decoration: none;
}

#flow .txt .box-area{
	margin-top: 20px;
}

#flow .txt .box{
	border: 2px solid #043698;
	background-color: #fef5e5;
	padding: 20px 25px;
	width: 365px;
	min-height: 135px;
}

#flow .txt .box p{
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1.714;
	text-align: left;
}

#flow .txt .left-box{
	float: left;
}

#flow .txt .right-box{
	padding: 8px 30px;
	float: right;
}

#flow .txt:after {
	content: '';
	position: absolute;
	bottom: -75px;
	right: 0;
	left: 0;
	margin: auto;
	box-sizing: border-box;
	width: 30px;
	height: 30px;
	border: 45px solid transparent;
	border-top: 30px solid #043698;
}

#flow .txt p{
	font-size: 1.3rem;
	line-height: 1.84;
}

/* ------------------------------
   terms
------------------------------ */

#terms .scroll-text{
	margin: 45px auto 75px;
}

/* ------------------------------
    form
------------------------------ */

#form .contents{
	padding: 45px 75px 140px;
}

#form .contents > p{
	font-size: 1.3rem;
	line-height: 1.92;
}

#form .contents > p + p{
	margin-top: 20px;
}

#form .must-label{
	background-color: #f49c00;
	font-size: 1.3rem;
	line-height: 1;
	padding: 4px 7px 3px;
	color: #fff;
	display: inline-block;
	margin-right: 3px;
}

form button{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none;
	border: none;
}

form input[type=text],form select,form textarea{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	border: 1px solid #b6b6b6;
	border-radius: 10px;
	box-shadow:0px 0px 4px 0px #b6b6b6 inset;
	-moz-box-shadow:0px 0px 4px 0px #b6b6b6 inset;
	-webkit-box-shadow:0px 0px 4px 0px #b6b6b6 inset;
	width: 250px;
	height: 35px;
	font-size: 1.3rem;
	padding: 0 5px;
	font-family: "メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
}

form input[type=checkbox]{
	 transform: scale(1.5);
	 cursor: pointer;
}

form input.small,form select.small{
	width: 150px;
}

form input:focus ,form select:focus {
  outline: 0;
}

form input{
	padding: 0 10px;
}

form select{
	cursor: pointer;
	letter-spacing: -1px;
}

form select::-ms-expand {
	display: none;
}

form textarea{
	width: 100%;
	padding: 10px;
	height: 180px;
}

#form table{
	margin-top: 25px;
	border-collapse: collapse;
}

#form table tr th,#form table tr td{
	font-size: 1.3rem;
	line-height: 1.92;
	position: relative;
	padding: 6px 0 6px 15px;
	box-shadow: 0 -3px 5px -3px rgb(214,214,214);
	border-top: 1px solid #d6d6d6;
	vertical-align: top;
	letter-spacing: -1px;
}

#form table tr:first-child th,#form table tr:first-child td{
	vertical-align: middle;
}

#form table tr:last-child th,#form table tr:last-child td{
	border-bottom: 1px solid #d6d6d6;
	box-shadow: 0 3px 5px -3px rgb(214,214,214),0 -3px 5px -3px rgb(214,214,214);
}

#form table tr th{
	padding: 12px 5px 11px 8px;
	background-color: #e6e6e6;
	width: 190px;
}

#form table tr th.must{
	padding-left: 50px;
}

#form table tr td{
	width: 460px;
}

#form table tr td span{
	width: 70px;
	display: inline-block;
}

#form table tr td p + p{
	margin-top: 3%;
}

#form table tr th .must-label{
	position: absolute;
	top: 15px;
	left: 5px;
}

#form .pp{
	margin-top: 60px;
}

#form .pp .pp-title{
	font-size: 2rem;
	line-height: 1.4;
	text-align: center;
	color: #043698;
	margin-bottom: 25px;
}

#form .btn{
	width: 450px;
	margin: 30px auto 0;
}

#form .btn button{
	cursor: pointer;
}

#form .btn button, #form .btn button:after {
	font-size: 1.6rem;
	width: 450px;
	padding: 8px 60px 14px 60px;
	border-radius: 35px;
	letter-spacing: 0.25em;
	line-height: 1.4;
	display: block;
	margin: auto;
}

#form .btn-bl button span {
	background:none;
	padding-left: 0;
}


/* ------------------------------
    form confirm
------------------------------ */

#form.confirm table tr,#form.confirm table td{
	vertical-align: middle;
}

#form.confirm table td p{
	line-height: 1.8;
}

#form.confirm .btn button, #form.confirm .btn button:after {
	font-size: 2rem;
	border-radius: 35px;
	padding: 10px 10px 17px 10px;
	letter-spacing: 0.25em;
	line-height: 1.4;
	display: block;
	margin: auto;
}

#form.confirm .btn-area{
	padding: 0 20px;
	margin: 40px 0 0;
}

#form.confirm .btn span{
	padding-right: 0;
}

#form.confirm .btn-gr{
	float: left;
	width: 210px;
}

#form.confirm .btn-gr button,#form.confirm .btn-gr button:after{
	width: 210px;
	font-size: 1.6rem;
	letter-spacing: 0;
	padding: 13px 10px 20px 10px;
}

#form.confirm .btn-or{
	float: right;
	width: 300px;
}

#form.confirm .btn-or button,#form.confirm .btn-or button:after{
	width: 300px;
}

/* ------------------------------
    thanks
------------------------------ */

#thanks h2{
	margin: 40px 0 0;
}

#thanks .contents{
	padding: 0 0 60px;
}

#thanks .contents p{
	text-align: center;
	font-size: 1.3rem;
	line-height: 1.92;
	margin: 30px 0 0;
}

#thanks .contents .tel-box{
	border: 1px solid #043698;
	padding: 12px 5px 8px;
	width: 395px;
	margin: 30px auto 0;
}

#thanks .contents .tel-box p{
	margin: 0;
}

#thanks .contents .btn{
	width: 250px;
	margin: 50px auto 0;
}

#thanks .contents .btn a,#thanks .contents .btn a:after{
	display: block;
	font-size: 2rem;
	padding: 14px 0 18px 0;
	border-radius: 28px;
	letter-spacing: 0em;
}

#thanks .contents .btn-bl a span{
	color: #fff;
	background-image: none;
	padding-right: 0;
}



/* ------------------------------
    corres
------------------------------ */

#corres .contents{
	margin: 35px 0 50px;
}

#corres .txt p{
	font-size: 1.3rem;
	line-height: 1.84;
}
#corres .txt p .orange{
	color: #f49c00;
}

#corres .txt p .bold{
	font-weight: bold;
}


/* ------------------------------
    price
------------------------------ */

#price .inner{
	padding: 50px 25px 50px;
}

#price .contents{
	padding: 0 45px;
}

#price .price-table{
	padding: 0 0 100px;
}

.price-table{
	background-color: #c3e6ff;
}

.price .price-table-title{
	font-size: 2rem;
	color: #fcee21;
	font-weight: bold;
	text-align: center;
	background-color: #4f72b7;
	padding: 8px 0 5px;
}

.price .price-table table{
	border-collapse: collapse;
	width: 100%;
	margin: auto;
}

.price .price-table .basic{
	margin: 30px auto 55px;
}

.price .price-table table th,.price .price-table table td{
	font-size: 1.7rem;
	line-height: 1.5;
	font-weight: bold;
	color: #043698;
	border: 1px solid #043698;
	padding: 15px 5px;
	text-align: left;
}


.price .price-table table th{
	width: 442px;
	font-size: 1.5rem;
	background-color: #e6ebf5;
	padding: 15px 10px;
}

.price .price-table table th span{
	font-size: 1.3rem;
	color: #4d4d4d;
	font-weight: normal;
	display: block;
	line-height: 1.6;
	margin-top: 5px;
	letter-spacing: -1px;
}

.price .price-table table th.blue{
	background-color: #4f72b7;
	color: #fff;
	font-size: 1.7rem;
}
.price .price-table table th.none{
	background-color: rgba(33, 39, 98, 0);
	color: #fff;
	font-size: 1.7rem;
	border: none;
}

.price .price-table table td{
	width: 208px;
	text-align: center;
	background-color: #fff;
}

.price .price-table table td span{
	letter-spacing: -1px;
}

.price .price-table table td.yellow{
	background-color: #fcee21;
	color: #ed1c24;
	font-size: 1.7rem;
}

.price .price-table table td.blue{
	background-color: #4f72b7;
	color: #ffffff;
	font-size: 1.7rem;
}
.price .price-table table td.gray{
	background-color: #b6b6b6;
	color: #ffffff;
	font-size: 1.7rem;
}
.price .price-table table td.none{
	background-color: rgba(33, 39, 98, 0);
	color: #4D4D4D;
	font-size: 1.3rem;
	font-weight: normal;
	border: none;
}
.price .price-table .option-title{
	font-size: 1.7rem;
	font-weight: bold;
	color: #043698;
	margin: 45px auto 12px;
}

.price .price-table .option-title .orange{
	color: #f49c00;
	font-size: 2rem;
	vertical-align: middle;
}

.price .price-table .notes{
	font-size: 1.3rem;
	text-align: right;
	margin-top: 10px;
}

.price .option-title + table td{
	font-size: 1.5rem;
}

.price table.orange-table{
	margin-top: 50px;
}

.price table.orange-table th,
.price table.orange-table td{
	border-top: 1px solid #f49c00;
}

.price table.orange-table tr:last-child th,
.price table.orange-table tr:last-child td{
	border-bottom: 1px solid #f49c00;
}

.price table.orange-table th{
	color: #f49c00;
	background-color: #fef5e5;
}

.price table.orange-table td{
	color: #f49c00;
}

.price table.orange-table td.red{
	color: #c1272d;
	font-size: 1.3rem;
	font-weight: bold;
	letter-spacing: -1px;
}

.price table.size-table{
	border-collapse: collapse;
}

.price table.size-table tr th,
.price table.size-table tr td{
	width: 104px;
	font-size: 1.3rem;
	line-height: 1.4;
	font-weight: bold;
	border-top: 1px solid #b4c3e0;
	border-right: 1px solid #b4c3e0;
	box-shadow: 0 2px #e6ebf5;
	background: #fff;
	color: #043698;
	padding: 12px 0;
}
.price table.size-table th.ac{
	text-align: center;
}
.price table.size-table tr th{
	border-left: 1px solid #b4c3e0;
	background: #043698;
	color: #fff;
	width: 181px;
	padding: 12px 10px;
	text-align: left;
	letter-spacing: -0.05em;
}

.price table.size-table tr th .normal{
	font-weight: normal;
	letter-spacing: -1px;
}

.price table.size-table tr td{
	text-align: center;
	padding: 8px 0;
}

.price table.size-table tr td.head{
	background: #e1f0ff;
}

.price table.size-table tr:first-child th,
.price table.size-table tr:first-child td{
	box-shadow: 0 1px #e6ebf5 inset,0 2px #e6ebf5;
}

.price table.size-table tr:last-child th,
.price table.size-table tr:last-child td{
	border-bottom: 1px solid #b4c3e0;
}



/* ------------------------------
    amazon
------------------------------ */

#amazon .contents{
	padding: 50px 0 70px;
}

#amazon p {
	font-size: 1.3rem;
	line-height: 1.84;
	margin-bottom: 20px;
}

#amazon p .bold {
	font-weight: bold;
}

#amazon p .orange {
	color: #f49c00;
}


/* ------------------------------
    individual
------------------------------ */

#individual {
	margin-bottom: 100px;
}

#individual .price-table {
	background-color: #c0cde5;
	padding: 18px 0 35px;
	margin: 50px 0 40px;
}

#individual .price-table .contents{
	padding: 0 45px;
}

#individual .price-table .option-title {
	margin: 0 auto 12px;
}

#individual .price-table table th.ar{
	padding-left: 285px;
}

#individual .table-desc{
	font-size: 1.3rem;
	line-height: 1.8;
	margin: 50px 0 5px;
}

#individual .table-desc-under{
	margin-top: 10px;
}





@media screen and (max-width: 768px) {

.scroll-text {
	width: 100%;
	margin: auto;
	height: 140px;
	overflow-y: scroll;
	border: 1px solid #b3b3b3;
	padding: 3%;
}

.scroll-text p{
	font-size: 1.5rem;
	line-height: 1.5;
	margin-top: 27px;
}

.scroll-text ul li,.scroll-text dd,.scroll-text dt {
	font-size: 1.5rem;
	line-height: 1.5;
}


.scroll-text ul li ul {
	padding-left: 1em;
}

/* ------------------------------
    flow
------------------------------ */

h3.flow-title {
	margin: 8% 0 8%;
	font-size: 1.8rem;
	line-height: 1.4;
	text-align: left;
}

h3.flow-title span {
	padding: 6px 5px 3px;
}

#flow .txt {
	padding: 0 3% 10%;
}

#flow .txt p {
	font-size: 1.5rem;
	line-height: 1.5;
}

#flow .txt.last:after {
	display: none;
}

#flow .txt .box-area {
	margin-top: 20px;
}

#flow .txt .box {
	padding:3% 4% ;
	width: 100%;
	min-height: auto;
}

#flow .txt .left-box{
	float: none;
}

#flow .txt .right-box{
	float: none;
	margin-top: 3%;
}

#flow .txt p + p, #flow .txt ul {
	margin-top: 5%;
	color: #4d4d4d;
	font-weight: bold;
}




/* ------------------------------
   terms
------------------------------ */

#terms .scroll-text {
	margin: 8% auto 10%;
}


/* ------------------------------
    form
------------------------------ */

#form .contents {
	padding: 8% 0 15%;
}

#form .contents > p {
	font-size: 1.5rem;
	line-height: 1.5;
}

#form .contents > p + p{
	margin-top: 3%;
}

#form table{
	width: 100%;
}

#form table tr th, #form table tr td {
	display: block;
	width: 100%;
	font-size: 1.5rem;
	line-height: 1.5;
	padding: 3% 3%!important;
}

#form table tr th .must-label {
	position: static;
	display: block;
	width: 50px;
	margin-bottom: 5px;
	text-align: center;
}

#form table tr td p{
	font-size: 1.5rem;
	line-height: 1.5;
}

#form table tr td span {
	width: 100%;
	display: block;
}

form input.small, form select.small {
	width: 100%;
}

form input[type=text], form select{
	font-size: 1.5rem;
	padding: 0 3%;
	height: 40px;
	width: 100%;
}

form textarea{
	font-size: 1.5rem;
	padding: 3%;
	height: 120px;
}

#form .pp {
	margin-top: 10%;
}

#form .pp .pp-title {
	font-size: 1.8rem;
	margin-bottom: 4%;
}

#form .btn{
	width: 100%;
}

#form .btn button, #form .btn button:after {
	font-size: 1.4rem;
	width: 100%;
	padding: 8px 0px 14px 0px;
	border-radius: 35px;
	letter-spacing: 0.25em;
	line-height: 1.4;
	display: block;
	margin: auto;
}


/* ------------------------------
    form confirm
------------------------------ */


#form.confirm .btn-area {
	padding: 0 ;
	margin:  10% 0 0;
}

#form.confirm .btn-or{
	width: 100%;
	float: none;
	margin: 5% auto 0;
}

#form.confirm .btn-gr {
	width: 100%;
	float: none;
	margin: auto;
}

#form.confirm .btn-gr button, #form.confirm .btn-gr button:after{
	width: 100%;
	font-size: 1.7rem;
	padding: 14px 0 18px 0;
}

#form.confirm .btn-or button, #form.confirm .btn-or button:after{
	width: 100%;
	font-size: 1.7rem;
	padding: 14px 0 18px 0;
}


/* ------------------------------
    thanks
------------------------------ */

#thanks h2{
	margin: 5% 0 5%;
}

#thanks .contents{
	padding: 0 0 15%;
}

#thanks .contents p{
	font-size: 1.5rem;
	line-height: 1.5;
	margin: 3% 0 0;
	text-align: left;
}

#thanks .contents .tel-box{
	padding: 5% 3% 4%;
	width: 100%;
	margin: 5% auto 0;
}

#thanks .contents .tel-box .open{
	text-align: center;
	margin-top: 2%;
}

#thanks .contents .btn{
	width: 100%;
	margin: 15% auto 0;
}

#thanks .contents .btn a,#thanks .contents .btn a:after{
	font-size: 1.7rem;
	padding: 14px 0 18px 0;
}




/* ------------------------------
    corres
------------------------------ */

#corres .contents {
	margin: 10% 0 15%;
}

#corres .txt p {
	font-size: 1.5rem;
	    line-height: 1.5;
}


/* ------------------------------
    price
------------------------------ */

#price .inner {
	padding: 5% 0;
}

#price .contents {
	padding: 0 3%;
}

#price .price-table {
	padding: 0 0 15%;
}

.price .price-table .basic {
	margin: 5% auto 14%
}

.price .price-table-title {
	font-size: 1.8rem;
	padding: 3% 0 2%;
}

.price .price-table table th, .price .price-table table td {
	font-size: 1.3rem;
	line-height: 1.5;
	padding: 5% 3%;
	text-align: left;
}

.price .price-table table th {
	width: 60%;
	font-size: 1.3rem;
	padding: 5% 3%;
}

 .price .price-table table td {
 	width: 20%;
 	text-align: center;
 }

.price .price-table .option-title {
	margin: 10% auto 2%;
}

.price .price-table .notes {
	font-size: 1.3rem;
	line-height: 1.6;
	text-align: left;
	margin-top: 2%;
}

.price table.orange-table {
	margin-top: 10%;
}



/* ------------------------------
    amazon
------------------------------ */

#amazon .contents {
	padding: 8% 0 8%;
}

#amazon p {
	font-size: 1.5rem;
	line-height: 1.5;
	margin-bottom: 6%;
}

.price table.size-table {
	border-collapse: collapse;
	width: 800px;
}

.table-scroll{
	overflow-x: scroll;
	width: 100%;
}

.table-scroll::-webkit-scrollbar{
 	height: 5px;
}
.table-scroll::-webkit-scrollbar-track{
	background: #F1F1F1;
}
.table-scroll::-webkit-scrollbar-thumb {
	background: #BCBCBC;
}

/* ------------------------------
    individual
------------------------------ */

#individual {
	margin-bottom: 20%;
}

#individual .price-table .contents {
	padding: 0 3%;
}

#individual .price-table table th.ar {
	padding: 5% 3%;
}

#individual .price-table {
	padding: 5% 0 10%;
	margin: 7% 0 10%;
}

#individual .table-desc {
	font-size: 1.5rem;
	line-height: 1.5;
	margin: 8% 0 3%;
}

#individual .table-desc-under {
	margin-top: 5%;
}




/* ------------------------------
    all
------------------------------ */


/* ------------------------------
    all
------------------------------ */





















}
