@font-face {
    font-family: 'babesneue';
	src: url('https://kireis.group/wp-content/themes/Total/assets/fonts/lp2/BebasNeue 3.otf') format('opentype');
}
* { padding: 0; margin: 0; box-sizing: border-box; line-height: 1.6;}
* { font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif　!important; }
h1,h2,h3,h4 { font-weight: normal; margin: 0; padding: 0;}
ul, ol { margin: 0; padding: 0; }
a:hover { text-decoration: none; }
html { font-size: 62.5% !important; box-sizing: border-box; }
body { color: #000; }
.neue { font-family: 'babesneue', sans-serif !important; }
a { text-decoration: none; }
ul li { list-style: none; }
p { margin-bottom: 0; }
img {
	max-width: none !important;
}
img.fit {
    height: auto;
    width: 100%;
}
img.auto {
	width: auto;
	max-height: 320px;
}
a:hover {
	opacity: 0.7;
	transition: 0.2s;
}
.sp-only {
    display: block;
}
.sp-hide {
    display: none;
}
body.fixed {
    height: 100%;
    position: fixed;
    width: 100%;
}
.bold {
	font-weight: bold;
}
.normal {
	font-weight: normal;
}
/* header */
#header {
	position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    background-color: #fff;
    z-index: 5;
}
#header .inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 14px 10px;
}
.head-logo {
    width: 52%;
}
.head-logo a {
	display: block;
	line-height: 0;
}
.times {
    padding-right: 20px;
}
.times span {
    color: #036EB7;
    display: block;
    font-size: 1.1rem;
}
.menu-btn {
/*     position: fixed;
    right: 10px;
    top: 20px; */
	position: relative;
    z-index: 6;
}
.menu-btn span {
    background-color: #000;
    border-radius: 1px;
    display: block;
    height: 2px;
    width: 30px;
    transition: 0.5s;
}
.menu-btn span:nth-of-type(2) {
    margin: 10px 0;
}
/* .menu-btn.active span {
    background-color: #fff;
} */
.menu-btn.active span:first-of-type {
    transform: translateY(12px) rotate(45deg);
}
.menu-btn.active span:last-of-type {
    transform: translateY(-12px) rotate(-45deg);
}
.menu-btn.active span:nth-of-type(2) {
    opacity: 0;
}
/* nav */
.sp-menu-nav {
    opacity: 0;
    background-color: #036EB7;
    overflow-y: scroll;
    position: fixed;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: 5;
    padding: 60px 20px;
    transition: 0.5s;
    visibility: hidden;
}
.sp-menu-nav.active {
    opacity: 1;
    visibility: visible;
}
.sp-menu-nav .nav-bg {
    background-color: #fff;
    border-radius: 10px;
    padding: 5px 20px 20px;
}
.sp-menu-nav ul {
    margin-bottom: 30px;
}
.sp-menu-nav li a {
    background: url(../images/lp2/menu-triangle.png) no-repeat right center / 7px 10px;
    color: #000;
    display: block;
    font-size: 1.5rem;
    padding: 15px 10px;
}
.sp-menu-nav li {
    border-bottom: 1px dashed #036EB7;
}
.sp-menu-nav .btn-line {
    border-radius: 5px;
    margin-bottom: 20px;
}
.sp-menu-nav .btn-line a {
    background-color: #06C755;
    border-radius: 5px;
    color: #fff;
    display: block;
    font-size: 1.6rem;
    padding: 15px 0;
    position: relative;
    text-align: center;
}
.sp-menu-nav .btn-line a span::before,
.sp-menu-nav .btn-line a span::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.sp-menu-nav .btn-line a span::before {
    background: url(../images/lp2/icon-line.png) no-repeat left top / 100% auto;
    height: 32px;
    width: 34px;
    left: 20px;
}
.sp-menu-nav .btn-line a span::after {
    background: url(../images/lp2/line-arrow.png) no-repeat left top / 100% auto;
    height: 10px;
    width: 7px;
    right: 10px;
}
.sp-menu-nav .btn-tel a {
    font-size: 1.5rem;
    color: #036EB7;
    display: block;
    position: relative;
    padding: 4px 0;
}
.sp-menu-nav .btn-tel a span {
    display: block;
    padding-left: 100px;
}
.sp-menu-nav .btn-tel a span::after {
    background: url(../images/lp2/tel-icon.png) no-repeat left top / 100% auto;
    content: "";
    display: block;
    height: 63px;
    width: 66px;
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
}
.sp-menu-nav .btn-tel {
    border: 2px solid #036EB7;
}
.sp-menu-nav .btn-line,
.sp-menu-nav .btn-tel {
    box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.16);
}
/* nav */
#main {
	padding-top: 64px;
}
/* campaign-section */
.campaign-section {
    background-color: #A9DFE3;
    background-image: url(../images/lp2/bg-dot.png);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 100% auto;
    padding-top: 10px;
    padding-bottom: 60px;
}
.campaign-section .kv {
    margin-bottom: 15px;
}
.campaign-section .campaign-detail {
    background-color: #fff;
    border: 7px solid #036EB7;
    border-radius: 10px;
    margin: 0 20px 50px;
    padding: 25px 10px;
    position: relative;
}
.campaign-detail h2 {
    color: #036EB7;
    font-size: 2.2rem;
    margin-bottom: 15px;
    text-align: center;
}
.campaign-detail .price {
    color: #888888;
    font-size: 1.5rem;
    text-align: center;
}
.campaign-detail .price .num {
    font-size: 3.1rem;
    font-weight: bold;
    padding: 0 5px;
    position: relative;
}
.campaign-detail .price .num::before {
    background-color: #C93963;
    content: "";
    display: block;
    height: 1px;
    width: 100%;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%) rotate(-20deg);
}
.campaign-detail .end {
    color: #036EB7;
    font-size: 1.4rem;
    text-align: center;
    position: relative;
}
.campaign-detail .end::after {
    content: "";
    display: block;
    background: url(../images/lp2/arrow-bl.png) no-repeat center top / 100% auto;
    height: 22px;
    width: 22px;
    margin: 0 auto;
}
.camp-price {
    position: relative;
}
.camp-price .border {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    width: 66%;
    margin: 0 0 0 auto;
    position: relative;
    z-index: 0;
}
.camp-price .border::after {
    content: "";
    display: block;
    background-color: #FFF000;
    height: 18px;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 10px;
    z-index: -1;
}
.camp-price .neue {
    color: #C93963;
    font-size: 7rem;
    font-weight: 500;
    width: 75%;
    line-height: 1;
    text-align: right;
}
.camp-price .txt-column {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    width: 25%;
}
.camp-price .txt-column span {
    color: #C93963;
    display: block;
    text-align: center;
}
.camp-price .txt-column .tani {
    font-size: 3rem;
    line-height: 0.8;
}
.camp-price .txt-column .tax {
    font-size: 1.2rem;
}
.camp-price::before,
.camp-price::after {
    content: "";
    display: block;
    position: absolute;
}
.camp-price::before {
    background: url(../images/lp2/star.png) no-repeat left top / 100% auto;
    height: 103px;
    width: 101px;
    top: -30px;
    left: 0;
}
.camp-price::after {
    height: 35px;
    width: 57px;
    left: 21px;
    top: 7px;
}
.item01 .camp-price::after {
    background: url(../images/lp2/discount01.png) no-repeat left top / 100% auto;
}
.item02 .camp-price::after {
    background: url(../images/lp2/discount02.png) no-repeat left top / 100% auto;
}
.item01 {
    border-bottom: 1px dashed #C9C9C9;
    padding-bottom: 26px;
    margin-bottom: 26px;
}
.line-contact .heading {
    font-size: 1.6rem;
    text-align: center;
    position: relative;
    margin-bottom: 14px;
}
.line-contact .heading .fsize {
    font-size: 2.5rem;
}
.line-contact .heading .bg {
    position: relative;
	font-weight: bold;
}
.line-contact .heading .bg::before,
.line-contact .heading .bg::after {
    content: "";
    display: block;
    width: 15px;
    height: 38px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.line-contact .heading .bg::before {
    background: url(../images/lp2/heading-left.png) no-repeat left top / 100% auto;
    left: -20px;
}
.line-contact .heading .bg::after {
    background: url(../images/lp2/heading-right.png) no-repeat left top / 100% auto;
    right: -40px;
}
.line-contact .btn-line {
    margin: 0 20px 26px;
}
.line-contact .btn-line a {
    background: #06C755;
    border-radius: 5px;
    box-shadow: 3px 3px 0 0 #04893A;
    color: #fff;
    display: block;
    font-size: 1.9rem;
    text-align: center;
    padding: 20px 0;
    position: relative;
}
.line-contact .btn-line a span {
    margin-left: 10px;
    display: inline-block;
}
.line-contact .btn-line a span::before,
.line-contact .btn-line a span::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.line-contact .btn-line a span::before {
    background: url(../images/lp2/icon-line.png) no-repeat left top / 100% auto;
    height: 42px;
    width: 44px;
    left: 20px;
}
.line-contact .btn-line a span::after {
    background: url(../images/lp2/line-arrow.png) no-repeat left top / 100% auto;
    height: 10px;
    width: 7px;
    right: 10px;
}
.commentary .heading {
    background: url(../images/lp2/fukidashi.png) no-repeat left top / 100% auto;
    font-size: 1.6rem;
    width: 269px;
    height: 43px;
    margin: 0 auto 10px;
}
.commentary .heading span {
    display: block;
    transform: rotate(-2deg);
    text-align: center;
    padding-top: 7px;
}
.commentary .bannar {
    margin: 0 20px 30px;
	box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.4);
}
.first-camp {
    margin: 0 20px;
	padding-top: 30px;
}
.first-camp h2 {
    position: relative;
    text-align: center;
    width: 70%;
    margin: 0 auto 15px;
}
.first-camp h2 span {
    color: #036EB7;
    display: block;
    font-size: 1.6rem;
    margin-top: -20px;
}
.first-box {
    background-color: #fff;
    border-radius: 10px;
    padding: 20px;
}
.first-box h3 {
    font-size: 2rem;
    text-align: center;
    border-bottom: 1px dashed #C9C9C9;
    padding-bottom: 20px;
    margin-bottom: 20px;
    line-height: 1.2;
}
.first-box span {
    font-size: 1.4rem;
}
.first-box .msg {
    font-size: 1.5rem;
}
/* about-section */
.about-section {
    border-top: 5px solid #036EB7;
    padding-bottom: 90px;
}
.about-key {
    position: relative;
}
.about-key h2 {
    position: absolute;
    left: 50%;
    top: 120px;
    transform: translateX(-50%);
    width: 213px;
}
.ttl-ruby {
    display: block;
    font-size: 1.4rem;
    font-family: 'hiraginoW3', sans-serif;
}
.about-section .msg {
    margin: -20px 20px 0;
    line-height: 2;
    font-size: 1.6rem;
}
.about-section .msg .bd-btm {
    border-bottom: 1px dashed #EFA63B;
	padding-bottom: 3px;
}
/* cheaply-section */
.cheaply-section {
    background-color: #FFFAE8;
    padding: 50px 20px;
    position: relative;
}
.cheaply-section::after {
    content: "";
    display: block;
    background: url(../images/lp2/bg-wave01.png) no-repeat left bottom / 100% auto;
    height: 81px;
    width: 100%;
    position: absolute;
    left: 0;
    bottom: -20px;
}
.cheaply-section h2 {
    margin: 0 auto 30px;
    width: 185px;
}
.item-rebon {
    position: relative;
    margin: 0 auto;
    width: 199px;
    z-index: 1;
}
.cheaply-section li:not(:last-of-type) {
    margin-bottom: 20px;
}
.cheaply-section li .in-bg {
    background-color: #fff;
    border-radius: 10px;
    padding: 35px 20px 30px;
    transform: translateY(-15px);
}
.cheaply-section li .ttl-flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px dashed #EFA63B;
    margin-bottom: 20px;
    padding-bottom: 20px;
}
.cheaply-section li .ttl-flex .pic {
    width: 25%;
}
.cheaply-section li h3 {
    font-size: 1.7rem;
	line-height: 1.6;
    width: 70%;
}
.cheaply-section li .msg {
    font-size: 1.5rem;
    line-height: 2;
}
.cheaply-section li .msg .cl-pink {
	color: #C93963;
}
/* care-section */
.care-section {
    background: url(../images/lp2/bg-care.jpg) no-repeat center center / cover;
    padding: 70px 0 0 0;
}
.care-section h2 {
    margin: 0 auto 30px;
    width: 326px;
}
.care-section .msg.line {
    color: #fff;
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.8;
    margin-bottom: 45px;
}
.care-section .msg.line span {
    border-bottom: 1px solid #FFF000;
}
.care-section .dust {
    margin: 0 20px 40px;
}
.care-section .caution {
    margin: 0 20px 80px;
}
.care-section .timing {
    background: #AFBDBE;
    padding-bottom: 60px;
    position: relative;
    z-index: 0;
}
.care-section .timing::before {
    content: "";
    display: block;
    background: url(../images/lp2/bg-wave02.png) no-repeat left top / 100% auto;
    height: 35px;
    width: 100%;
    position: absolute;
    left: 0;
    top: -20px;
    z-index: -1;
}
.care-section .timing .msg {
    background: url(../images/lp2/fukidashi02.png) no-repeat left top / 100% auto;
    color: #000;
    height: 121px;
    width: 241px;
    font-size: 1.4rem;
    margin: 0 0 0 auto;
}
.care-section .timing .msg span {
    transform: rotate(5deg);
    display: inline-block;
    padding: 30px 0 0 24px;
}
.care-section .timing .msg::after {
    content: "";
    display: block;
    background: url(../images/lp2/aircon.png) no-repeat left top / 100% auto;
    height: 135px;
    width: 136px;
    position: absolute;
    left: 10px;
    top: -30px;
}
.care-section .timing h3 {
    margin: 0 auto 30px;
    width: 291px;
}
.timing-lists {
    background-color: #fff;
    border: 3px solid #707070;
    border-radius: 10px;
    margin: 0 20px;
    padding: 35px 20px 30px;
    position: relative;
    z-index: 0;
}
.timing-lists li {
    background: url(../images/lp2/checkbox.png) no-repeat left 3px / 23px 23px;
    font-size: 1.6rem;
    padding-left: 30px;
}
.timing-lists .cl-pink {
    color: #C93963;
    font-size: 2rem;
}
.timing-lists li:not(:last-of-type) {
    margin-bottom: 20px;
}
.timing-lists::before,
.timing-lists::after,
.timing-lists ul::before {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
}
.timing-lists::before {
    background: url(../images/lp2/bg-check01.png) no-repeat left top / 102px 108px;
    left: 20px;
    top: 40px;
    height: 108px;
    width: 102px;
}
.timing-lists::after {
    background: url(../images/lp2/bg-check02.png) no-repeat left top / 73px 73px;
    right: 20px;
    top: 50%;
    height: 73px;
    width: 73px;
}
.timing-lists ul::before {
    background: url(../images/lp2/bg-check03.png) no-repeat left top / 81px 80px;
    left: 20px;
    bottom: 10px;
    height: 81px;
    width: 80px;
}
/* necessity-section */
.necessity-section {
    background: #036EB7;
    padding: 40px 0 0;
    position: relative;
}
.necessity-section::before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 25px 33.5px 0 33.5px;
    border-color: #afbdbe transparent transparent transparent;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
}
.necessity-section h2 {
    margin: 0 auto 15px;
    width: 321px;
}
.necessity-section .skip-link {
    margin: 0 20px 15px 0;
    text-align: right;
}
.necessity-section .skip-link a {
	background: url(../images/lp2/arrow-skip.png) no-repeat right center / 6px 4px;
  padding-right: 10px;
    color: #76C2F5;
    font-size: 1.4rem;
}
.necessity-section .skip-link svg {
    padding-left: 10px;
    vertical-align: middle;
}
.necessity-section .manga {
    margin: 0 20px;
}
.necessity-section .manga:not(:last-of-type) {
    margin-bottom: 15px;
}
.necessity-section .manga:last-of-type {
    margin-bottom: 60px;
}
.necessity-section .line-contact {
    background-color: #fff;
    padding: 45px 0 55px;
}
/* merit-section */
.merit-section {
    background-color: #A9DFE3;
    background-image: url(../images/lp2/bg-merit.png);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 100% auto;
    padding: 50px 20px 60px;
}
.merit-section h2 {
    margin: 0 auto 35px;
    width: 316px;
}
.merit-section li h3 {
    color: #036EB7;
    font-size: 1.9rem;
    margin-bottom: 10px;
    text-align: center;
}
.merit-section li .ft-sml {
    font-size: 1.4rem;
}
.merit-section li .ttl-point {
    background: url(../images/lp2/triangle.png) no-repeat center top / 5px 6px;
    padding-top: 8px;
}
.merit-section .merit-pic {
    margin-bottom: 20px;
    position: relative;
}
.merit-section li:first-of-type .merit-pic:after,
.merit-section li:nth-of-type(2) .merit-pic:after,
.merit-section li:last-of-type .merit-pic:after {
    content: "";
    display: block;
    position: absolute;
    right: -10px;
    bottom: -5px;
    width: 143px;
}
.merit-section li:first-of-type .merit-pic:after {
    background: url(../images/lp2/merit01-comment.png) no-repeat right bottom / 100% auto;
    height: 113px;
}
.merit-section li:nth-of-type(2) .merit-pic:after {
    background: url(../images/lp2/merit02-comment.png) no-repeat right bottom / 100% auto;
    height: 111px;
}
.merit-section li:last-of-type .merit-pic:after {
    background: url(../images/lp2/merit03-comment.png) no-repeat right bottom / 100% auto;
    height: 113px;
}
.merit-section li .msg {
    font-size: 1.5rem;
    line-height: 1.8;
    padding: 0 10px;
}
.merit-section li:not(:last-of-type) {
    margin-bottom: 45px;
}
/* reason-section */
.reason-section {
    background: url(../images/lp2/bg-stripe.png) repeat left top / 10px 10px;
}
.reason-section .inner {
    padding: 45px 20px 0;
}
.reason-section h2 {
    margin: 0 auto 40px;
    width: 204px;
}
.reason-list {
    background: #fff;
    border-radius: 10px;
}
.reason-list h3.ribon {
    background: #036EB7;
    border-top-right-radius: 10px;
    border-top-left-radius: 10px;
    color: #fff;
    font-size: 2rem;
    padding: 10px 10px 5px 95px;
    position: relative;
	line-height: 1.4;
}
.reason-list .msg {
    font-size: 1.6rem;
    padding: 35px 20px;
}
.reason-list:first-of-type h3.ribon::before,
.reason-list:nth-of-type(2) h3.ribon::before,
.reason-list:last-of-type h3.ribon::before {
    content: "";
    display: block;
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 67px 90px;
    height: 90px;
    width: 67px;
    position: absolute;
    left: 10px;
    top: -5px;
}
.reason-list:first-of-type h3.ribon::before {
    background-image: url(../images/lp2/reason01-ribbon.png);
}
.reason-list:nth-of-type(2) h3.ribon::before {
    background-image: url(../images/lp2/reason02-ribbon.png);
}
.reason-list:last-of-type h3.ribon::before {
    background-image: url(../images/lp2/reason03-ribbon.png);
}
.reason-list dl {
    margin-bottom: 20px;
    padding: 0 20px;
    position: relative;
}
.reason-list dt.type {
    background-color: #A9DFE3;
    border-radius: 5px;
    font-size: 1.6rem;
    text-align: center;
    padding: 10px 0;
    position: relative;
}
.reason-list dt.type::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 5.5px 0 5.5px;
    border-color: #a9dfe3 transparent transparent transparent;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -7px;
}
.reason-list dt.type::before {
    content: "";
    display: block;
    background: url(../images/lp2/basic-price.png) no-repeat left top / 100% auto;
    height: 48px;
    width: 48px;
    position: absolute;
    left: -10px;
    top: -20px;
}
.reason-price {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}
.reason-price .neue {
    color: #036EB7;
    font-size: 5.5rem;
    font-weight: bold;
}
.reason-price .txt-column {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    width: 18%;
    margin-top: -8px;
}
.reason-price .txt-column span {
    color: #036EB7;
    display: block;
    text-align: center;
}
.reason-price .txt-column .tani {
    font-size: 3rem;
    line-height: 0.8;
}
.reason-price .txt-column .tax {
    font-size: 1.2rem;
}
.reason-list .txt {
    background: url(../images/lp2/arrow-reason.png) no-repeat center bottom / 31px 31px;
    font-size: 2.5rem;
    padding-bottom: 31px;
    text-align: center;
	margin-bottom: 20px;
}
.limit-pack {
    background-color: #FBEFF3;
    border-left: 2px solid #C93963;
    border-right: 2px solid #C93963;
    margin-bottom: 50px;
    padding: 20px 15px 30px;
}
.limit-pack .top-pack {
    background: url(../images/lp2/bg-check.png) no-repeat center / 277px 234px;
    padding: 60px 0;
}
.limit-pack .top-pack h3 {
    font-size: 3.5rem;
    text-align: center;
	margin-bottom: 10px;
}
.limit-pack .top-pack .col-pk {
  background: linear-gradient(transparent 60%, #fff000 60%);
  color: #c93963;
  display: inline-block;
	margin-bottom: 10px;
}
.limit-pack .top-pack h3 .size {
    font-size: 2.8rem;
}
.limit-pack .top-pack h3 .neue {
    color: #C93963;
    font-size: 7rem;
    font-weight: bold;
    padding-right: 10px;
}
.limit-pack .top-pack .msg {
    font-size: 1.8rem;
    padding: 0;
    text-align: center;
}
.limit-pack .top-pack .caution {
    font-size: 1.5rem;
    text-align: center;
}
.limit-pack .campaign-detail .limit-heading {
    background-color: #C93963;
    border-radius: 5px;
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
    padding: 5px 0;
    margin-bottom: 20px;
    position: relative;
}
.limit-pack .campaign-detail .limit-heading::before {
	content: "";
    display: block;
    background: url(../images/lp2/limit-price.png) no-repeat left top / 100% auto;
    height: 48px;
    width: 48px;
    position: absolute;
    left: -10px;
    top: -20px;
}
.limit-pack .campaign-detail .limit-heading::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 5.5px 0 5.5px;
    border-color: #c93962 transparent transparent transparent;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -7px;
}
.reason02 {
    padding-bottom: 45px;
    margin-bottom: 40px;
}
.reason02 dt {
    background: url(../images/lp2/border.png) no-repeat center bottom / 100% auto;
    font-size: 1.8rem;
    margin-bottom: 20px;
    padding: 35px 0 20px;
    text-align: center;
}
.reason02 dt .cl-pink,
.reason03 dt .cl-pink {
    color: #C93963;
}
.reason02 dd {
    font-size: 1.6rem;
    line-height: 2;
    margin-bottom: 40px;
}
.company-head {
    color: #036EB7;
    font-size: 1.4rem;
    text-align: center;
    position: relative;
    margin: 0 20px;
}
.company-head::before,
.company-head::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-top: 1px dashed #036EB7;
    height: 1px;
    width: 90px;
}
.company-head::before {
    left: 0;
}
.company-head::after {
    right: 0;
}
.company-pic {
    margin: 0 20px;
}
.reason03 {
    margin-bottom: 50px;
    padding-bottom: 40px;
}
.reason03 dl {
    padding: 35px 0 0;
}
.reason03 dt {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 25px;
    position: relative;
}
.reason03 dt:before,
.reason03 dt:after {
    content: "";
    background-color: #000;
    display: block;
    height: 46px;
    width: 1px;
    position: absolute;
    top: 0;
}
.reason03 dt:before {
    left: 50px;
    transform: rotate(-15deg);
}
.reason03 dt:after {
    right: 50px;
    transform: rotate(15deg);
}
.reason03 dd {
    font-size: 1.6rem;
    line-height: 2;
    margin: 0 20px;
}
.reason03 .three-point {
    font-size: 2.4rem;
    text-align: center;
    margin-bottom: 20px;
    position: relative;
}
.reason03 .three-point::before {
    background: url(../images/lp2/txt-icon.png) no-repeat left top / 9px 9px;
    content: "";
    display: block;
    height: 9px;
    width: 9px;
    position: absolute;
    left: 53px;
    top: 16px;
}
.reason03 .three-point .cl-pink {
    color: #C93963;
    font-size: 3.8rem;
    padding: 0 5px;
}
.reason-point-lists {
    margin: 0 20px;
}
.reason-point-list {
    display: flex;
    flex-wrap: wrap;
}
.reason-point-list:not(:last-of-type) {
    margin-bottom: 25px;
}
.reason-point-list .support-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #FBEFF3;
    border-radius: 50%;
    font-size: 1.3rem;
    height: 48px;
    width: 48px;
    position: relative;
}
.reason-point-list .support-icon::after {
    content: "";
    display: block;
    background: url(../images/lp2/triangle02.png) no-repeat right bottom / 18px 14px;
    height: 14px;
    width: 18px;
    position: absolute;
    right: -7px;
    bottom: 9px;
}
.reason-point-list .support-icon span {
    transform: rotate(-15deg);
}
.reason-point-list .support-txt {
    font-size: 1.4rem;
    margin-left: 15px;
    line-height: 1.2;
	letter-spacing: -1.5px;
}
.reason-point-list .support-txt .cl-pink {
    background:linear-gradient(transparent 60%, #FFF000 60%);
    color: #C93963;
    display: inline-block;
    font-size: 2.5rem;
}
.reason-section .line-contact {
    background-color: #fff;
    padding: 45px 0 55px
}
/* voice-section */
.voice-section {
    border-top: 5px solid #000;
    background-color: #EFA63B;
    padding: 45px 20px 60px;
}
.voice-section h2 {
    margin: 0 auto 25px;
    width: 135px;
}
.voice-section .msg {
    color: #fff;
    font-size: 1.6rem;
    margin-bottom: 30px;
}
.voice-section li {
    background-color: #FFFAE8;
    border-radius: 5px;
    padding: 30px 20px;
}
.voice-section dl {
    margin-bottom: 40px;
}
.voice-section dt {
    font-size: 1.7rem;
    margin-bottom: 25px;
    padding: 10px 0 10px 65px;
    position: relative;
}
.voice-section dt::before {
    content: "";
    display: block;
    background: url(../images/lp2/character.png) no-repeat left top / 69px 75px;
    height: 75px;
    width: 69px;
    position: absolute;
    left: -10px;
    top: 0;
}
.voice-section dt span {
	display: block;
    font-size: 1.4rem;
}
.voice-section dd {
    font-size: 1.5rem;
    line-height: 1.8;
}
.voice-section li h3 {
    color: #E58800;
    font-size: 1.6rem;
    text-align: center;
    position: relative;
    margin-bottom: 15px;
}
.voice-section li h3::before,
.voice-section li h3::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border-top: 1px dashed #E58800;
    height: 1px;
    width: 70px;
}
.voice-section li h3::before {
    left: 0;
}
.voice-section li h3::after {
    right: 0;
}
.voice-section li h3.line01::before,
.voice-section li h3.line01::after {
    width: 70px;
}
.voice-section li h3.line02::before,
.voice-section li h3.line02::after {
    width: 36px;
}
.voice-section .pic {
    margin-bottom: 20px;
}
.icon-before-after {
    margin: 10px auto 0;
    width: 70%;
}
.voice-section li:not(:last-of-type) {
    margin-bottom: 15px;
}
/* flow-section */
.flow-section {
    background-color: #A9DFE3;
    background-image: url(../images/lp2/bg-merit.png);
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 100% auto;
    padding: 50px 0 60px;
}
.flow-section h2 {
    max-width: 254px;
    margin: 0 auto 15px;
}
.flow-section ul {
    margin: 0 20px;
}
.flow-section ul li {
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 3px 3px 0 0 rgba(3, 110, 183, 0.34);
    padding: 15px;
    position: relative;
}
.flow-section ul li:not(:last-of-type) {
    margin-bottom: 50px;
}
.flow-section ul li:not(:last-of-type)::after {
    background: url(../images/lp2/arrow-flow-lg.png) no-repeat center bottom / 29px 30px;
    content: "";
    display: block;
    height: 30px;
    width: 29px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -40px;
}
.flow-section li dt {
    background-position: left top;
    background-repeat: no-repeat;
    background-size: 66px 66px;
    color: #036EB7;
    font-size: 1.8rem;
    padding: 7px 0 0 80px;
    height: 66px;
    position: relative;
}
.flow-section li:first-of-type dt {
    background-image: 
    url(../images/lp2/flow-icon01.png);
}
.flow-section li:nth-of-type(2) dt {
    background-image: 
    url(../images/lp2/flow-icon02.png);
}
.flow-section li:nth-of-type(3) dt {
    background-image: 
    url(../images/lp2/flow-icon03.png);
}
.flow-section li:last-of-type dt {
    background-image: 
    url(../images/lp2/flow-icon04.png);
}
.flow-section li dt::after {
    background: url(../images/lp2/arrow-flow.png) no-repeat right center / 12px 8px;
    content: "";
    display: block;
    height: 8px;
    width: 12px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.2s;
    right: 0;
}
.flow-section li dt.active::after {
    transform: translateY(-50%) rotate(180deg);
}
.flow-section li dt img {
    height: 13px;
    width: 47px;
}
.flow-section li dd {
    display: none;
    padding-top: 15px;
    font-size: 1.5rem;
}
/* step-section */
.step-section {
    background-color: #A9DFE3;
    padding: 30px 0 60px 0;
    position: relative;
    z-index: 0;
}
.step-section::after {
    background-color: rgba(255,255,255,0.7);
    content: "";
    display: block;
    height: 58%;
    width: calc(100% - 20px);
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
}
.step-section h2 {
    margin: 0 auto 15px;
    width: 211px;
}
.scroll-arrow {
    margin: 0 auto 10px;
    width: 66px;
}
.step-section .swiper {
    margin-bottom: 30px;
    padding-left: 40px;
}
.step-section .swiper-slide {
    background-color: #fff;
    border-radius: 5px;
    width: 86%;
	height: auto;
}
.step-section .swiper-slide .pic {
    position: relative;
}
.step-section .swiper-slide h3 {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 1.8rem;
    line-height: 1.8;
    text-align: center;
    width: 100%;
}
.step-section .swiper-slide .msg {
    font-size: 1.4rem;
    line-height: 1.6;
    padding: 15px;
}
.caution01,
.caution02 {
    font-size: 1.2rem;
    margin-left: 20px;
}
.caution01 {
    margin-bottom: 10px;
}
/* faq-section */
.faq-section {
    background-color: #EFEFEF;
}
.faq-section .inner {
    padding: 50px 20px 60px;
}
.faq-section h2 {
    margin: 0 auto 50px;
    width: 170px;
}
.faq-section dl {
    background-color: #fff;
    border-radius: 10px;
    padding: 12px 20px 1px;
}
.faq-section dl:not(:last-of-type) {
    margin-bottom: 15px;
}
.faq-section dt {
    background: url(../images/lp2/txt-q.png) no-repeat left center / 15px 22px;
    color: #036EB7;
    font-size: 1.5rem;
    padding-left: 25px;
    position: relative;
    margin-bottom: 15px;
}
.faq-section dt::after {
    background: url(../images/lp2/arrow-flow.png) no-repeat right center / 12px 8px;
    content: "";
    display: block;
    height: 8px;
    width: 12px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.2s;
    right: -5px;
}
.faq-section dt.active::after {
	transform: translateY(-50%) rotate(180deg);
}
.faq-section dd {
    background: url(../images/lp2/txt-a.png) no-repeat left top / 15px 21px;
    display: none;
    font-size: 1.4rem;
    padding-bottom: 15px;
    padding-left: 25px;
    margin-top: 15px;
}
.faq-section .line-contact {
    background-color: #fff;
    padding: 35px 0 40px;
}
/* footer */
#footer {
    border-top: 5px solid #036EB7;
    background-color: #EFEFEF;
    padding: 60px 20px 35px;
}
#footer h2 {
    color: #036EB7;
    font-size: 2.4rem;
    margin: 0 0 20px;
    text-align: center;
}
#footer .txt {
    font-size: 1.6rem;
    line-height: 2;
    margin: 0 auto 30px;
    width: 290px;
}
#footer .pic {
    margin: 0 auto 55px;
    width: 206px;
}
.foot-logo {
    margin: 0 auto 27px;
    width: 192px;
}
#footer h3 {
    font-size: 1.7rem;
    margin-bottom: 14px;
}
#footer dt,
#footer dd {
    font-size: 1.4rem;
}
#footer dl {
    display: flex;
    flex-wrap: wrap;
    padding: 10px 0;
    border-bottom: 1px dashed #B2B2B2;
}
#footer dl:first-of-type {
    border-top: 1px dashed #B2B2B2;
}
#footer dt {
    width: 35%;
}
#footer dd {
    width: 65%;
}
.copyright {
    display: block;
    margin-top: 60px;
    text-align: center;
}
.fixed-btn {
    position: fixed;
    bottom: 0;
    left: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
	background-color: #fff;
	padding: 5px;
	transition: 0.5s;
	z-index: 3;
}
.fixed-btn .line-contact {
    width: 100%;
}
.fixed-btn .line-contact .btn-line {
    margin: 0;
}
.fixed-btn.is-hidden {
	visibility: hidden;
	opacity: 0;
}
/* TB 768～949 */
@media screen and (min-width:768px) and ( max-width:949px) {
	#header {
		background: none;
	}
	.menu-btn {
		position: relative;
		right: auto;
		top: auto;
	}
	.menu-btn.active {
		position: fixed;
		right: 6%;
		top: 20px;
	}
	.head-logo {
		width: 32%;
	}
	.times {
		margin: 0 0 0 auto;
	}
	#header .inner {
		background-color: #fff;
		border-radius: 10px;
		margin: 10px auto 0;
		padding: 10px;
		width: 78%;
	}
	.sp-menu-nav {
		padding-left: 6%;
		padding-right: 6%;
	}
	#main {
		background-color: #A9DFE3;
		padding-top: 124px;
	}
	.campaign-section .campaign-detail {
		margin-left: auto;
		margin-right: auto;
		padding: 45px 6%;
		max-width: 670px;
	}
	.campaign-detail h2 {
		font-size: 2.6rem;
	}
	.campaign-detail .price .num {
		font-size: 4.5rem;
	}
	.campaign-detail .price {
		font-size: 1.9rem;
	}
	.campaign-detail .end {
		font-size: 1.8rem;
		margin-bottom: 10px;
	}
	.campaign-detail .end::after {
		height: 30px;
		width: 30px;
	}
	.camp-price::before {
		height: 133px;
		width: 131px;
		left: 60px;
	}
	.camp-price::after {
		height: 44px;
		width: 70px;
		left: 92px;
		top: 18px;
	}
	.camp-price .neue {
		font-size: 10rem;
		width: 65%;
	}
	.camp-price .txt-column {
		width: 35%;
	}
	.camp-price .txt-column .tani {
		font-size: 3.4rem;
	}
	.camp-price .txt-column .tax {
		font-size: 1.6rem;
	}
	.camp-price .border {
		max-width: 255px;
		margin: 0 0 0 220px;
	}
	.line-contact .heading {
		font-size: 2rem;
	}
	.line-contact .heading .bg::before, .line-contact .heading .bg::after {
		width: 26px;
		height: 62px;
	}
	.line-contact .heading .bg::before {
		left: -30px;
	}
	.line-contact .heading .bg::after {
		right: -60px;
	}
	.line-contact .btn-line a {
		font-size: 2.3rem;
	}
	.line-contact .btn-line {
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 36px;
		max-width: 670px;
	}
	.commentary .heading {
		font-size: 2rem;
		height: 64px;
		width: 390px;
	}
	.commentary .heading span {
		padding-top: 14px;
	}
	.commentary .bannar {
		margin: 0 auto 40px;
		max-width: 670px;
	}
	.first-camp {
		margin: 0 auto;
		max-width: 670px;
	}
	.first-camp h2 {
		max-width: 400px;
		margin-bottom: 30px;
	}
	.first-box {
		padding: 40px 6%;
	}
	.first-box h3 {
		font-size: 2.4rem;
	}
	.first-box .msg {
		font-size: 1.9rem;
	}
	.about-key h2 {
		width: 341px;
		top: 280px;
	}
	.about-section .msg {
		margin-left: auto;
		margin-right: auto;
		font-size: 2rem;
		max-width: 600px;
	}
	.cheaply-section {
		padding-left: 6%;
		padding-right: 6%;
	}
	.cheaply-section h2 {
		width: 296px;
		margin-bottom: 40px;
	}
	.item-rebon {
		width: 319px;
	}
	.cheaply-section li .in-bg {
		padding: 45px 6% 40px;
		transform: translateY(-30px);
		max-width: 670px;
		margin: 0 auto;
	}
	.cheaply-section li h3 {
		font-size: 2.1rem;
	}
	.cheaply-section li .msg {
		font-size: 1.9rem;
	}
	.cheaply-section::after {
		bottom: -64px;
	}
	.care-section {
		padding-top: 140px;
	}
	.care-section h2 {
		width: 522px;
	}
	.care-section .msg.line {
		font-size: 2.2rem;
	}
	.care-section .dust,
	.care-section .caution {
		margin-left: auto;
		margin-right: auto;
		max-width: 600px;
	}
	.care-section .timing .msg {
		font-size: 1.8rem;
		height: 182px;
		width: 352px;
		margin: 0 0 0 340px;
	}
	.care-section .timing .msg span {
		padding: 45px 0 0 30px;
	}
	.care-section .timing .msg::after {
		height: 215px;
		width: 216px;
		left: 50px;
		top: -50px;
	}
	.care-section .timing h3 {
		margin-top: 20px;
		margin-bottom: 40px;
		width: 465px;
	}
	.timing-lists {
		margin: 0 auto;
		padding: 45px 6% 40px;
		max-width: 670px;
	}
	.timing-lists li {
		font-size: 2rem;
	}
	.timing-lists .cl-pink {
		font-size: 2.4rem;
	}
	.necessity-section {
		padding-top: 60px;
	}
	.necessity-section h2 {
		margin-bottom: 30px;
		width: 513px;
	}
	.necessity-section .skip-link a {
		background-size: 10px 8px;
		font-size: 1.8rem;
		padding-right: 20px;
	}
	.necessity-section .skip-link {
		margin-right: auto;
		margin-left: auto;
		margin-bottom: 30px;
		max-width: 670px;
	}
	.necessity-section .manga {
		margin: 0 auto;
		max-width: 670px;
	}
	.necessity-section .manga:not(:last-of-type) {
		margin-bottom: 30px;
	}
	.merit-section {
		padding: 70px 6% 80px;
	}
	.merit-section h2 {
		width: 505px;
		margin-bottom: 55px;
	}
	.merit-section li h3 {
		font-size: 2.3rem;
		margin-bottom: 30px;
	}
	.merit-section li .ttl-point {
		background-size: 8px 7px;
		padding-top: 10px;
	}
	.merit-section li:first-of-type .merit-pic:after {
		height: 218px;
	}
	.merit-section li:first-of-type .merit-pic:after, .merit-section li:nth-of-type(2) .merit-pic:after, .merit-section li:last-of-type .merit-pic:after {
		width: 286px;
	}
	.merit-section li:nth-of-type(2) .merit-pic:after {
		height: 222px;
	}
	.merit-section li:last-of-type .merit-pic:after {
		height: 226px;
	}
	.merit-section li .msg {
		font-size: 1.9rem;
	}
	.merit-section li:not(:last-of-type) {
		margin-bottom: 65px;
	}
	.merit-section ul {
		max-width: 670px;
		margin-left: auto;
		margin-right: auto;
	}
	.reason-section h2 {
		width: 327px;
	}
	.reason-lists {
		margin: 0 auto;
		max-width: 670px;
	}
	.reason-list h3.ribon {
		font-size: 2.4rem;
		padding: 15px 10px 10px 125px;
	}
	.reason-list:first-of-type h3.ribon::before, .reason-list:nth-of-type(2) h3.ribon::before, .reason-list:last-of-type h3.ribon::before {
		background-size: 100% auto;
		height: 117px;
		width: 87px;
		left: 20px;
	}
	.reason-list .msg {
		font-size: 2rem;
		padding-left: 6%;
		padding-right: 6%;
	}
	.reason-list dl {
		padding-left: 6%;
		padding-right: 6%;
	}
	.reason-list dt.type {
		font-size: 2rem;
		padding: 20px 0;
	}
	.reason-list dt.type::before {
		height: 76px;
		width: 76px;
	}
	.reason-price .neue {
		font-size: 8rem;
		width: 47%;
	}
	.reason-price .txt-column {
		width: 53%;
	}
	.reason-price .txt-column .tani {
		font-size: 3.4rem;
	}
	.reason-price .txt-column .tax {
		font-size: 1.6rem;
	}
	.reason-price {
		margin: 0 auto;
		width: 340px;
		padding-left: 60px;
	}
	.reason-list .txt {
		font-size: 2.9rem;
		background-size: 55px 55px;
		padding-bottom: 60px;
	}
	.limit-pack .top-pack h3 {
		font-size: 3.9rem;
	}
	.limit-pack .top-pack .msg {
		font-size: 2.2rem;
	}
	.limit-pack .campaign-detail .limit-heading {
		font-size: 2rem;
		padding: 15px 0;
	}
	.limit-pack .campaign-detail {
		margin: 0 auto;
		max-width: 600px;
	}
	.limit-pack .campaign-detail .limit-heading::before {
		height: 76px;
		width: 76px;
	}
	.limit-pack {
		padding-bottom: 60px;
	}
	.reason02 dt {
		font-size: 2.2rem;
		padding-bottom: 40px;
	}
	.reason02 dd {
		font-size: 2rem;
	}
	.company-head {
		font-size: 1.8rem;
		margin: 0 6% 10px;
	}
	.company-head::before, .company-head::after {
		width: 162px;
	}
	.company-pic {
		margin: 0 auto;
		max-width: 580px;
	}
	.reason03 dt {
		font-size: 2.2rem;
	}
	.reason03 dt:before, .reason03 dt:after {
		height: 70px;
	}
	.reason03 dt:before {
		left: 130px;
	}
	.reason03 dt:after {
		right: 130px;
	}
	.reason03 dd {
		font-size: 2rem;
	}
	.reason03 .three-point {
		font-size: 2.8rem;
	}
	.reason03 .three-point .cl-pink {
		font-size: 4.2rem;
	}
	.reason03 .three-point::before {
		left: 200px;
		top: 18px;
	}
	.reason-point-lists {
		margin: 0 auto;
		max-width: 500px;
	}
	.reason-point-list .support-icon {
		font-size: 1.7rem;
		height: 76px;
		width: 76px;
	}
	.reason-point-list .support-txt {
		font-size: 1.8rem;
		line-height: 1.6;
		margin-left: 25px;
	}
	.reason-point-list .support-txt .cl-pink {
		font-size: 2.9rem;
	}
	.reason-point-list:not(:last-of-type) {
		margin-bottom: 35px;
	}
	.voice-section h2 {
		width: 216px;
	}
	.voice-section .msg {
		font-size: 2rem;
		margin: 0 auto 40px;
		max-width: 600px;
	}
	.voice-section ul {
		margin: 0 auto;
		max-width: 670px;
	}
	.voice-section dt {
		font-size: 2.1rem;
		padding: 20px 0 15px 100px;
	}
	.voice-section dt span {
		font-size: 1.8rem;
	}
	.voice-section dd {
		font-size: 1.9rem;
	}
	.voice-section li {
		padding: 50px 6%;
	}
	.voice-section dt::before {
		background-size: 100% auto;
		height: 100px;
		width: 90px;
	}
	.voice-section li h3 {
		font-size: 2rem;
		margin-bottom: 30px;
	}
	.voice-section li h3.line01::before, .voice-section li h3.line01::after {
		width: 140px;
	}
	.voice-section .pic {
		margin-bottom: 40px;
	}
	img.auto {
		max-height: 550px;
	}
	.icon-before-after {
		margin-top: 20px;
		width: 294px;
	}
	.flow-section h2 {
		max-width: 388px;
		width: 388px;
		margin-bottom: 30px;
	}
	.flow-section ul {
		margin: 0 auto;
		max-width: 670px;
	}
	.flow-section li dt {
		font-size: 2.2rem;
	}
	.flow-section li dt img {
		width: 72px;
		height: 20px;
	}
	.flow-section li dt {
		background-size: 100px 100px;
		height: 100px;
		padding-left: 120px;
		padding-top: 15px;
	}
	.flow-section li dt::after {
		background-size: 100% auto;
		width: 17px;
		height: 13px;
	}
	.flow-section li dd {
		font-size: 1.9rem;
		padding: 20px 20px 0;
	}
	.flow-section ul li:not(:last-of-type)::after {
		background-size: 100% auto;
		height: 40px;
		width: 39px;
		bottom: -55px;
	}
	.flow-section ul li:not(:last-of-type) {
		margin-bottom: 70px;
	}
	.step-section h2 {
		width: 338px;
		margin-bottom: 30px;
	}
	.scroll-arrow {
		width: 106px;
		margin-bottom: 20px;
	}
	.step-section .swiper {
		padding-left: 10%;
	}
	.step-section .swiper-slide .msg {
		font-size: 1.8rem;
		padding: 30px;
		margin-bottom: 50px;
	}
	.step-section .swiper-slide h3 {
		font-size: 2.2rem;
	}
	.caution01, .caution02 {
		font-size: 1.6rem;
		margin-left: 10%;
	}
	.faq-section h2 {
		width: 272px;
		margin-bottom: 70px;
	}
	.faq-section dl {
		margin: 0 auto 30px;
		max-width: 670px;
		padding: 20px 5% 20px;
	}
	.faq-section dt {
		font-size: 1.9rem;
		margin-bottom: 0;
	}
	.faq-section dd {
		font-size: 1.8rem;
	}
	.faq-section dl:not(:last-of-type) {
		margin-bottom: 30px;
	}
	.faq-section dt::after {
  	  background-size: 100% auto;
	    width: 17px;	
	    height: 13px;
	}
	#footer h2 {
		font-size: 2.8rem;
	}
	#footer .txt {
		font-size: 2rem;
		width: 340px;
	}
	#footer .pic {
		width: 331px;
	}
	.foot-logo {
		width: 300px;
		margin-bottom: 40px;
	}
	#footer dl,
	#footer h3 {
		margin: 0 auto;
		width: 600px;
	}
	#footer h3 {
		margin-bottom: 30px;
		font-size: 2.1rem;
	}
	#footer dt, #footer dd {
		font-size: 1.8rem;
	}
	#footer dl {
		padding: 15px 0;
	}
	.fixed-btn .line-contact .btn-line {
		margin: 0 auto;
	}
	.fixed-btn {
		padding: 10px 0;
	}
}
/* PC 950～ */
@media screen and (min-width: 950px) {
    .sp-only {
        display: none;
    }
    .sp-hide {
        display: block;
    }
    body {
        position: relative;
    }
    #wrapper {
        margin: 0 auto;
        max-width: 430px;
/*         position: fixed;
        left: 50%;
        transform: translateX(-50%);
        top: 0;
        overflow-y: scroll;
        height: 100%;
        scrollbar-width: none; */
    }
    #wrapper::-webkit-scrollbar {
        display: none;
    }
	#header {
	position: fixed;
    left: auto;
    top: 0;
    z-index: 1;
	width: auto;
		max-width: 430px;
		background: rgba(255,255,255,0.8);
	}
	#main {
	padding-top: 64px;
	}
    .contents-left {
        background: url(../images/lp2/pc-left-bg.png) no-repeat left top / 100% auto;
        padding: 7% 30px 0 30px;
        position: fixed;
        left: 0;
        top: 0;
        width: calc(50% - 215px);
    }
	.contents-left .left-inner {
		margin: 0 0 0 auto;
		max-width: 460px;
	}
    .contents-left .first-pic {
        margin-bottom: 45px;
    }
    .contact-line-pack .heading {
        font-size: 1.8rem;
        text-align: center;
        letter-spacing: -1px;
        position: relative;
        margin-bottom: 10px;
        padding: 0 20px;
    }
    .contact-line-pack .heading::before,
    .contact-line-pack .heading::after {
        background-color: #000;
        content: "";
        display: block;
        position: absolute;
        top: 16px;
        height: 15px;
        width: 1px;
    }
    .contact-line-pack .heading::before {
		left: 20px;
        transform: rotate(-20deg);
    }
    .contact-line-pack .heading::after {
        right: 20px;
        transform: rotate(20deg);
    }
    .contact-line-pack .heading span {
        font-size: 2.8rem;
    }
    .contact-line-pack .btn-line {
        margin-bottom: 20px;
    }
    .contact-line-pack .btn-line a {
        background: #06C755;
        border-radius: 5px;
        box-shadow: 3px 3px 0 0 #04893A;
        color: #fff;
        display: block;
        font-size: 2.6rem;
        text-align: center;
        padding: 20px 0;
        position: relative;
    }
    .contact-line-pack .btn-line a span {
        margin-left: 10px;
        display: inline-block;
    }
    .contact-line-pack .btn-line a span::before,
    .contact-line-pack .btn-line a span::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }
    .contact-line-pack .btn-line a span::before {
        background: url(../images/lp2/icon-line.png) no-repeat left top / 100% auto;
        height: 42px;
        width: 44px;
        left: 20px;
    }
    .contact-line-pack .btn-line a span::after {
        background: url(../images/lp2/line-arrow.png) no-repeat left top / 100% auto;
        height: 10px;
        width: 7px;
        right: 10px;
    }
	.right-outer {
		background: url(../images/lp2/pc-right-bg.png) no-repeat left top / 100% auto;
		position: fixed;
	    right: 0;
	    top: 0;
	    width: calc(50% - 215px);
	    height: 100%;
	    padding: 140px 50px 30px 35px;
		max-height: 660px;
	}
	.contents-right {
		max-width: 460px;
        height: 100%;
    }
/*     .contents-right {
        background: url(../images/lp2/pc-right-bg.png) no-repeat left top / 100% auto;
        padding: 0 30px 0 50px;
        position: fixed;
        right: 0;
        top: 0;
        width: calc(50% - 215px);
        padding: 130px 50px 11% 35px;
        overflow: hidden;
        height: 100%;
    } */
    .contents-right .ribon {
        margin: 0 auto;
        width: 211px;
        transform: translateY(17px);
    }
    .contents-right ul {
        background-color: #036EB7;
        border-radius: 5px;
        padding: 15px 20px 30px;
        overflow-y: scroll;
        height: 100%;
        scrollbar-width: none;
    }
    .contents-right ul::-webkit-scrollbar {
        display: none;
    }
    .contents-right li {
        border-bottom: 1px dashed #fff;
    }
    .contents-right li a {
        background: url(../images/lp2/pc-menu-triangle.png) no-repeat right center / 7px 10px;
        color: #fff;
        display: block;
        font-size: 1.5rem;
        padding: 15px 0;
    }
    .camp-price .border {
        width: 55%;
        margin-right: 20px;
    }
    .camp-price::before {
        left: 20px;
    }
    .camp-price::after {
        left: 41px;
    }
    .reason03 .three-point::before {
        left: 78px;
    }
	.times span {
		font-size: 1.4rem;
	}
	#header .inner {
		padding: 10px 10px;
	}
	#footer {
		padding-bottom: 25px;
	}
}
/* 左の要素の非表示 */
@media screen and (min-width:950px) and ( max-width:1199px) {
	.contents-left {
		display: none;
	}
	#wrapper {
		margin: 0 0 0 80px;
	}
	body {
		position: relative;
	}
	body:before {
		content: "";
		display: block;
		background: url(../images/lp2/pc-right-bg.png) repeat-x left top / auto 423px;
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		z-index: -1;
	}
	.right-outer {
		background: none;
		right: auto;
		left: 530px;
		width: 490px;
	}
}
