/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */

html {
    color: #333;
    font-size: 1em;
    line-height: 1.4;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

textarea {
    resize: vertical;
}

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

a {
	color: #333;
}

a:hover {
	text-decoration: none;
}
* {
	box-sizing: border-box;
}
img, object {
	max-width : 100%;
	height: auto;
}

body {
    font: 13px/21px Helvetica, Helvetica Neue, Arial;
}


/* MOBILE: common
***********************/
.sp{
	display: block;
}
.pc{
	display:none;
}
span.bl {
	display: block;
}
.pb20 {
	padding-bottom: 20px;
}
.tac {
	text-align:center;
}
.br_sp:before {
	content: "\A" ;
	white-space: pre ;
}
/* ページトップSP */
.ptop {
    position: fixed;
    bottom: -40px;
	width: 100%;
	height: 100px;
	text-align:center;
}
.ptop img {
	width: 100px;
}


/* MOBILE: Head
***********************/
.header-container {
	background: #CC0000;
}

#header {
	padding-top: 5px;
}
#header h1.title {
	margin: 10px;
	float: left;
}
#header h1.title img {
	width: 122px;
}
#header p.sub {
	margin: 13px 10px 0 0;
	float: right;
}
#header p.sub img {
	width: 135px;
	height: 16px;
}


/* MOBILE: Main
***********************/
.headding {
    padding: 0px 0 10px;
	background: #FF0023;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(1.0, #FF0023), color-stop(0.0, #CC0000));
	background: -webkit-linear-gradient(top, #CC0000 0%, #FF0023 100%);
	background: -moz-linear-gradient(top, #CC0000 0%, #FF0023 100%);
	background: -o-linear-gradient(top, #CC0000 0%, #FF0023 100%);
	background: -ms-linear-gradient(top, #CC0000 0%, #FF0023 100%);
	background: linear-gradient(top, #CC0000 0%, #FF0023 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#CC0000', endColorstr='#FF0023', GradientType=0); /* IE7,8,9 */
}
.cont {
	margin: 0 10px;
	background: #FFF;
}
.cont img {
	width: 100%;
}


/* MOBILE: Merit
***********************/
.merit dl.col1,
.merit dl.col2 {
	margin: 10px;
	padding: 20px 20px 5px;
	border: 8px solid #E50012;
	background: url(../images/ico_merit.png) no-repeat left top;
	background-size: 55px;
}
.merit dl.col1 + .movie {
	background: url(../images/ico_merit.png), url(../images/bg_movie.png);
	background-repeat: no-repeat, no-repeat;
	background-position: left top, right bottom;
	background-size: 55px, 145px;
}
.merit dl.col1 + .postage {
	background: url(../images/ico_merit.png), url(../images/bg_postage.png);
	background-repeat: no-repeat, no-repeat;
	background-position: left top, right bottom;
	background-size: 55px, 112px;
}
.merit dl.col1 + .jal {
	padding-bottom: 120px;
	background: url(../images/ico_merit.png), url(../images/bg_jal.png);
	background-repeat: no-repeat, no-repeat;
	background-position: left top, center 90%;
	background-size: 55px, 150px;
}
.merit dl dt {
	margin: 12px 0px;
}
.merit dl dd {
	margin-bottom:10px;
	font-size: 105%;
}
.merit dl li {
	margin: 0px -20px;
	padding: 8px 20px;
	border-top: 1px dotted #333;
}


/* MOBILE: エディション
***********************/
.edition {
	margin: 20px;
}
.edition h3 {
	margin-bottom: 20px;
}
.edition p {
	font-size: 110%;
	line-height: 1.6;
	padding: 0 10px;
}


/* MOBILE: フロー
***********************/
.flow {
	margin: 30px 10px;
	padding: 20px 20px;
	border: 8px solid #333;
}
.flow h3 {
	font-size: 154%;
	font-weight: bold;
	text-align: center;
	margin: 10px 0;
}
.flow dt {
	margin-top: 10px;
	font-weight: bold;
}
.flow dt img {
	height: 17px;
}
.flow dd {
	padding: 10px;
	background: #F4F4F4;
}
.flow dd.ttl {
	font-size: 115.4%;
	font-weight: bold;
	color: #FFF;
	background: #666 url(../images/arrow_down.png) no-repeat 90% 43%;
	background-size: 17px;
}


/* MOBILE: 申し込み
***********************/
.subscription {
	padding: 20px 0;
	background: #E50012;
}
.subscription h3 {
	width: 90%;
	margin: 0 auto 15px;
	font-size: 130.7%;
	line-height: 1.5;
	font-weight: bold;
	color: #FFF;
}
.subscription form {
	margin: 0 auto;
	text-align: center;
}
.subscription ul {
	margin: 0px 0 0;
}
.subscription input.submit_button {
	padding: 7px 20px;
	font-size: 130.7%;
	font-weight: bold;
	color: #FFF;
	cursor: pointer;
	border: 0px;
	background: #333;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0.50, #000), color-stop(0.48, #494949));
	background: -webkit-linear-gradient(top, 70deg, #494949 48%, #000 50%);
	background: -moz-linear-gradient(top, 70deg, #494949 48%, #000 50%);
	background: -o-linear-gradient(top, 70deg, #494949 48%, #000 50%);
	background: -ms-linear-gradient(top, 70deg, #494949 48%, #000 50%);
	background: linear-gradient(170deg, #494949 48%, #000 50%);
}
.subscription select,
.subscription_rakuten select {
	-moz-appearance: none;
	-webkit-appearance: none;
	-o-appearance: none;
	-ms-appearance: none;
	appearance: none;
	border-radius: 0;
	border: 0;
	margin: 0;
	padding: 0;
	background: none transparent;
	vertical-align: middle;
	font-size: inherit;
	color: inherit;
	box-sizing: content-box;
}
.custom {
	overflow: hidden;
	display: inline-block;
	*display: inline;
	*zoom: 1;
	position: relative;
	border: 1px solid rgba(255, 255, 255, 0.5);
	background-color: white;
	width:90%;
	margin-bottom: 10px;
	vertical-align: middle;
}
.custom > select {
	width: 88%;
	width: 130%;
	padding: 0.6em 3.4em 0.6em 0.6em;
	font-size: 16px;
	vertical-align: middle;
}
.custom:after {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	width: 1.8em;
	display: block;
	content: "";
	background: #EEE url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGFBMVEUAAAAZJCYWISIYIyQYIiUWIiIYIyQYIiXh0rToAAAACHRSTlMA/hTRqiinvwFkb0sAAABCSURBVHjajchBDsAgDAPBOJDw/x+XVN0icQGfPGs3i+2GEqeiLCXWLENzvdzrDfP2ls/NjfKbgimYglfBq2Dm+LwHguMA235EdKYAAAAASUVORK5CYII=") center no-repeat;
	pointer-events: none;
}

/* MOBILE: 申し込み-2
***********************/
.subscription_rakuten {
	margin: 10px;
	padding: 20px;
	text-align: center;
	border: 8px solid #E50012;
}
.subscription_rakuten li.custom {
	border: 1px solid #CCC;
}


/* MOBILE: 規約
***********************/
.kiyaku table {
	margin: 20px auto;
	width: 100%;
	border: 1px solid #CCC;
	border-bottom: 0px solid #CCC;
}
.kiyaku table th,
.kiyaku table td {
	text-align:left;
	padding:10px 15px;
	border-bottom: 1px solid #CCC;
}
.kiyaku table th {
	font-size: 115.4%;
	font-weight:bold;
	vertical-align:middle;
	background: #F4F4F4;
	display: block;
	white-space:nowrap;
}
.kiyaku table td {
	background: #FFF;
	display: block;
}
.kiyaku .siege {
	margin: 10px 5px;
	padding: 10px;
	border: 1px solid #CCC;
}
.kiyaku a {
	color: #E50012;
}
.kiyaku li {
	margin: 0px 0 0px 16px;
	padding: 0px 0 2px;
	list-style: disc;
}


/* MOBILE: 完了
***********************/
.completed {
	margin: 30px auto 50px;
	width: 100%;
	text-align:center;
}
.completed p {
	font-size: 114%;
	line-height: 2.0;
	padding: 15px 0;
}
.completed .btn a {
	font-size: 80%;
	width: 70%;
	margin: 0 auto;
	padding: 18px 10px 10px;
	text-decoration: none;
	display:block;
	border: solid 1px #CCC;
	border-radius: 5px;
	background: #eee;
}
.completed .btn a img {
	padding-bottom: 5px;
}


/* MOBILE: フッター
***********************/
.footer-container {
	font-size: 92.3%;
    background: #EEE;
}
.footer-container ul {
	font-size: 11px;
	margin: 0px 0 20px;
}
.footer-container li {
	padding: 2px 0px 2px 20px;
	background: url(../images/arrow.png) no-repeat left center;
	background-size: 14px;
}
.footer-container dl {
	margin: 10px 0 0px;
}
.footer-container dt {
	float: left;
	width: 4em;
}
.footer-container dd {
	margin-left: 4em;
}
.copyright {
	margin: 0;
    padding: 20px 0;
	text-align: center;
	color: #FFF;
    background: #525252;
}
.footer-container .footer {
    width: 90%;
    margin: 0 5%;
    padding: 20px 0;
}


/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 480px) {

}

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

/* Tablet: Head
***********************/
    .title {
        float: left;
    }
	#header p.sub img {
	width: 192px;
	height: auto;
	}


/* PC: common
***********************/
	span.bl {
	display: inline;
	}
	.sp{
	display:none;
	}
	.pc{
	display: block;
	}
	.br_sp:before {
	content: none ;
	white-space: pre ;
	}
/* ページトップSP */
	.ptop {
    bottom: -30px;
    right: 30px;
	text-align:right;
	}
.ptop img {
	width: 120px;
}


/* PC:メリット
***********************/
.merit {
	margin: 20px auto;
	background: #FFF;
}
.merit dl.col1 {
	width: 32.1%;
	float: left;
	margin: 8px 0 8px 1.8%;
}
.merit dl.col1.mg_l0 {
	margin-left: 0;
}
.merit dl.col2 {
	width: 66%;
	float: right;
	margin-right: 0;
	margin-top: 8px;
}
.merit dl.col2 img.midashi {
	height: 22px;
}
.merit dl.col1 + .jal {
	padding-bottom: 10px;
	background: url(../images/ico_merit.png), url(../images/bg_jal.png);
	background-repeat: no-repeat, no-repeat;
	background-position: left top, 48% 95%;
	background-size: 55px, 100px;
}

}

@media only screen and (min-width: 900px) {

/* ===============
    Maximal Width
   =============== */

    .wrapper {
        width: 900px; /* 1140px - 10% for margins */
        margin-right: auto;
        margin-left: auto;
    }

/* PC: Head
***********************/

	#header {
	padding-top: 10px;
	}
	#header h1.title {
	margin: 10px 0;
	float: left;
	}
	#header h1.title img {
	width: 180px;
	height: auto;
	}

/* PC:メインビジュアル
***********************/
	.headding {
    padding: 0px 0 30px;
	}

/* PC:メリット
***********************/
.merit {
	margin: 20px auto;
	background: #FFF;
}
.merit dl.col1 {
	width: 32.1%;
	float: left;
	margin: 1px 0 3px 1.8%;
}
.merit dl.col1.mg_l0 {
	margin-left: 0;
}

.merit dl.col1{
	width:48%;
}

.merit dl.col2 {
	width: 66%;
	float: right;
	margin-right: 0;
	margin-top: 8px;
}
.merit dl.col2 img.midashi {
	height: 22px;
}
.merit dl.col1 + .postage {
	background: url(../images/ico_merit.png), url(../images/bg_postage.png);
	background-repeat: no-repeat, no-repeat;
	background-position: left top, 95% 91%;
	background-size: 55px, 112px;
}
.merit dl.col1 + .jal {
	padding-bottom: 10px;
	background: url(../images/ico_merit.png), url(../images/bg_jal.png);
	background-repeat: no-repeat, no-repeat;
	background-position: left top, 95% 91%;
	background-size: 55px, 80px;
}
.merit dl.col1 + .rakuten dd.txt{
	width:73%;
	float:left;
}

.merit dl .pd20 li {
	padding: 20px 20px;
}
.merit dl .pd20 {
	padding-top: 20px;
}


/* PC: エディション
***********************/
.edition {
	padding: 20px 30px 0;
}
.edition h3 {
	width: 460px;
	float: left;
	margin-bottom: 0;
}
.edition h3 img {
	width: 430px;
}
.edition p {
	margin-top: -5px;
	font-size: 120%;
}


/* PC: フロー
***********************/
.flow {
	margin: 30px auto;
	padding: 20px 20px;
	border: 8px solid #333;
}
.flow h3 {
	font-size: 154%;
	font-weight: bold;
	text-align: center;
	margin: 10px 0;
}
.flow dl {
	width: 25%;
	float: left;
	margin-top: 10px;
}
.flow dt {
	margin-top: 10px;
	font-weight: bold;
}
.flow dt img {
	height: 17px;
}
.flow dd {
	padding: 7px 10px 4px;
	background: #FFF;
}
.flow dd.ttl {
	font-size: 115.4%;
	font-weight: bold;
	color: #FFF;
	background: #666 url(../images/arrow_right.png) no-repeat right center;
}
.flow dd.ttl.last {
	background: #666 url(../images/arrow_right_last.png) no-repeat right center;
}


/* PC:申し込み
***********************/
	.subscription h3 {
	text-align: center;
	}
	.subscription form {
	margin: 0 auto;
	text-align: left;
	}
	.subscription ul {
	width: 600px;
	text-align: center;
	margin: 0px auto 0;
	}
	.subscription li {
	vertical-align: middle;
	margin: 0 5px;
	}
.custom {
	float: left;
	width: 450px;
	margin-bottom: 0px;
	vertical-align: middle;
}
.custom > select {
	font-size: 0.8rem;
}


/* PC: 申し込み-2
***********************/
.subscription_rakuten {
	margin: 30px auto;
}
.subscription_rakuten ul {
	width: 700px;
	text-align: center;
	margin: 0px auto 0;
}
.subscription_rakuten input {
	margin-top: -2px;
}


/* PC:規約
***********************/
	.kiyaku table {
    width: 900px;
	margin: 30px auto;
	border: 2px #333 solid;
	}
	.kiyaku table th,
	.kiyaku table td {
	padding:15px 20px;
	}

	.kiyaku table th {
	display:table-cell;
	width:auto;
	font-size: 107.7%;
	}
	.kiyaku table td {
	border-left: 1px solid #CCC;
	display:table-cell;
	}


/* PC: 完了
***********************/
.completed {
	margin: 60px auto 80px;
}
.completed p {
	font-size: 130%;
}
.completed .btn a {
	width: 280px;
}


/* PC:フッター
***********************/
	.footer-container {
	font-size: 92.3%;
    background: #EEE;
	}
	.footer-container ul {
	float: right;
	margin-bottom: 0;
	}
	.footer-container li {
	padding: 2px 0px 2px 20px;
	background: url(../images/arrow.png) no-repeat left center;
	background-size: 14px;
	}
	.footer-container .footer {
    width: 900px;
    margin: 0 auto;
	}

/* PC:汎用
***********************/
	span.bl_pc {
	display: block;
	}
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}


/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}