@charset "utf-8";

/* CSS Document */

@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);

body { font-family: "Noto Sans Japanese", "Yu Gothic", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", 'MS PGothic', 'ＭＳ Ｐゴシック', 'MS Gothic', sans-serif; font-size: 16px; margin: 0px; text-align: center; background-color: #fff; line-height: 1.6em; color: #000; word-wrap: break-word; -webkit-text-size-adjust: none; padding: 114px 0px 0px 0px; font-weight: 500; }

p, form { margin: 0px; padding: 0px; }
img { border: none; margin: 0px; padding: 0px; backface-visibility: hidden; -webkit-backface-visibility: hidden; max-width: 100%; height: auto; }
a { text-decoration: none; outline: none; color: #000; }
a:hover img { opacity: 0.75; }
a, a img, input, textarea, button { transition: all 0.25s ease-in-out; -webkit-transition: all 0.25s ease-in-out; -moz-transition: all 0.25s ease-in-out; outline: none; }
input, textarea, select { outline: none; }
h1, h2, h3, h4, ul, dl, dt, dd { margin: 0px; padding: 0px; list-style:none; }
.nan { transition: none; -webkit-transition: none; -moz-transition: none; }
th { text-align: left; }
.onsp { display: none; }
#affiliate-img { display: none; }

*, *:before, *:after { box-sizing: border-box; -webkit-box-sizing: border-box; }
.lf { float: left; }
.rh { float: right; }
.clr { clear: both; }
.cf:after { content: ' '; display: block; height: 0; clear: both; overflow: hidden; visibility: hidden; }

.sp { display: none; }

.btn { display: inline-block; font-size: 22px; font-weight: bold; color: #fff; background-color: #76b7b2; border-radius: 5px; padding: 10px 25px 12px 25px; box-shadow: 0px 5px 0px #627a78; position: relative; top: 0px; }
.btn:hover { top: 5px; box-shadow: 0px 1px 0px #627a78; }
.btn2 { background-color: #df0629; box-shadow: 0px 5px 0px #a30523; }
.btn2:hover { box-shadow: 0px 1px 0px #a30523; }

/* Header */

.header { height: 114px; background-color: rgba(255, 255, 255, 0.98); position: fixed; top: 0px; left: 0px; width: 100%; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1); z-index: 1000; }
.header .cf { position: relative; max-width: 1110px; margin: 0 auto; padding: 0px 10px; }
.header .lf { padding: 18px 0px 0px 0px; }
.header ul { float: left; padding: 39px 0px 0px 30px; }
.header ul li { float: left; padding: 0px 15px; }
.header ul li a { display: block; position: relative; padding: 5px 0px; }
.header ul li a:after { content: ''; width: 100%; position: absolute; bottom: 0px; left: 0px; border-bottom: #f70018 solid 2px; transition: all 0.25s ease-in-out; transform: scaleX(0); }
.header ul li a:hover, .header ul li a.on { color: #f70018; }
.header ul li a:hover:after, .header ul li a.on:after { transform: scaleX(1); }

.header .btns { float: right; padding: 33px 0px 0px 0px; }
.header .btns div { float: left; padding-left: 20px; }
.header .btn { font-size: 17px; width: 135px; padding: 8px 0px 9px 0px; box-shadow: 0px 4px 0px #627a78; }
.header .btn:hover { top: 3px; box-shadow: 0px 1px 0px #627a78; }
.header .btn2 { box-shadow: 0px 4px 0px #a30523; }
.header .btn2:hover { box-shadow: 0px 1px 0px #a30523; }

@media screen and (max-width: 1070px) {
	.header .btns { padding-top: 10px; }
	.header .btns div { float: none; padding: 0px 0px 7px 0px; }
}
@media screen and (max-width: 910px) {
	.header .lf { padding-top: 25px; }
	.header .lf img { width: 90px; }
	.header ul { padding-left: 10px; }
	.header ul li { padding: 0px 10px; }
	.header .btn { font-size: 16px; width: 120px; }
}

/* Content */

.mainbnr { height: 450px; background: url(images/bnr_bg.jpg) no-repeat center top; background-size: cover; overflow: hidden; position: relative; }
.mainbnr div { display: inline-block; text-align: left; color: #333333; padding-left: 50px; }
.mainbnr div h1 { font-size: 60px; line-height: 1.2em; padding: 85px 0px 15px 0px; }
.mainbnr div p { font-size: 18px; line-height: 1.7em; }
.mainbnr:before { content: ''; width: 270px; height: 399px; background: url(images/phone.png) no-repeat; position: absolute; bottom: 0px; right: 50%; margin-right: 300px; }

.c1 { padding: 80px 0px 0px 0px; }
.c1 .ti { font-size: 24px; line-height: 1.5em; position: relative; }
.c1 .ti h2 { margin: 10px 0px -80px 0px; }
.c1 .cont { background: url(images/arrow1.png) no-repeat center bottom 50px; background-color: #f4f4f4; padding: 125px 10px; }
.c1 .cont .cf { max-width: 1060px; margin: 0 auto; text-align: left; }
.c1 .cont img { float: left; }
.c1 .cont ul { float: right; width: calc(100% - 380px); }
.c1 .cont li { background: url(images/ic1.png) no-repeat 0px 4px; padding: 0px 0px 5px 60px; font-size: 22px; line-height: 1.6em; margin: 5px 0px 20px 0px; }
.c1 .cont li span { font-size: 28px; font-weight: bold; color: #df0629; border-bottom: #df0629 dotted 2px; }

.c2 { background-color: #df0629; padding: 30px 10px; }
.c2 .cont { max-width: 1090px; margin: 0 auto; padding-right: 180px; position: relative; }
.c2 .cont .qr { position: absolute; right: 0px; top: 50%; transform: translateY(-50%); }
.c2 + p { font-size: 22px; line-height: 1.6em; padding: 50px 0px; }

.t1 { font-size: 40px; font-weight: bold; line-height: 1.2em; padding: 25px 10px 70px 10px; position: relative; background: url(images/t1bg.png) no-repeat center bottom 30px; background-size: 50px auto; }
.t1 span { font-size: 19px; display: block; margin: -5px 0px -10px 0px; }

.pos { display: block; position: relative; z-index: -1; border: none; background: none; margin: -114px 0px 0px 0px; padding: 114px 0px 0px 0px; }

.c3 { background: url(images/c3bg.jpg) center top; padding: 45px 10px; overflow: hidden; margin: 15px 0px 100px 0px; }
.c3 .cont { margin: 0 auto; max-width: 1090px; }
.c3 .cf { margin: 0px -20px; text-align: left; }
.c3 .cf > div { float: left; width: calc(33.33% - 40px); margin: 45px 20px; background-color: #fff; position: relative; padding: 75px 33px 35px 33px; }
.c3 .cf > div:nth-child(3n + 1) { clear: both; }
.c3 .cf > div:before { content: ''; width: 112px; height: 112px; border-radius: 50%; box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1); position: absolute; top: -56px; left: 50%; margin-left: -56px; }
.c3 .cf > div:nth-child(1):before { background: url(images/ic2.png); }
.c3 .cf > div:nth-child(2):before { background: url(images/ic3.png); }
.c3 .cf > div:nth-child(3):before { background: url(images/ic4.png); }
.c3 .cf > div:nth-child(4):before { background: url(images/ic5.png); }
.c3 .cf > div:nth-child(5):before { background: url(images/ic6.png); }
.c3 .cf > div:nth-child(6):before { background: url(images/ic7.png); }
.c3 .cf h3 { font-size: 20px; font-weight: bold; line-height: 1.4em; padding-bottom: 15px; }
.c3 .cf p { padding-top: 15px; }

.c4 { padding: 0px 10px; margin-bottom: 110px; }
.c4 .cont { max-width: 854px; margin: 0 auto; }
.c4 .tx { display: flex; max-width: 770px; margin: 0 auto; align-items: center; justify-content: space-between; text-align: left; }
.c4 .tx p { font-size: 24px; font-weight: bold; padding-left: 20px; line-height: 1.3em; }
.c4 .vid { margin-top: 100px; position: relative; }
.c4 .vid:before { content: ''; background: url(images/click.png) no-repeat; width: 172px; height: 124px; pointer-events: none; z-index: 1; position: absolute; left: 50%; margin-left: -86px; top: -100px; animation: click 5s 1s infinite ease-in-out; }
.c4 .vid a { display: block; position: relative; }
.c4 .vid a:after { content: ''; position: absolute; background: url(images/play.png) no-repeat center center; border-radius: 30px; width: 156px; height: 96px; top: 50%; left: 50%; transform: translate(-50%, -50%); background-color: rgba(0, 0, 0, 0.8); transition: all 0.25s ease-in-out; }
.c4 .vid a:hover:after { background-color: #ff0000; }

@keyframes click {
	0% { transform: none; } 5% { transform: translateY(10%); } 10% { transform: translateY(0%); } 15% { transform: translateY(10%); } 20% { transform: translateY(0%); }
	25% { transform: translateY(10%); } 30% { transform: translateY(0%); } 35% { transform: translateY(10%); } 40% { transform: translateY(0%); }
	45% { transform: translateY(10%); }	50% { transform: translateY(0%); }
}

.tx1 { font-size: 30px; margin-bottom: 45px; }
.tx1 span { background: linear-gradient(rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 52%, #ffccd8 52%, #ffccd8 85%, rgba(0, 0, 0, 0) 85%); font-size: 35px; font-weight: bold; color: #df0629; }

.c5 { padding: 0px 10px; margin-bottom: 100px; }
.c5 .cf { max-width: 1090px; margin: 0 auto; }
.c5 .cf > div { max-width: calc(50% - 20px); width: 505px; }
.c5 .cf h3 { font-size: 20px; display: flex; align-items: center; justify-content: center; padding-bottom: 30px; }
.c5 .cf h3 img { width: 100px; }
.c5 .cf p { font-size: 20px; font-weight: bold; line-height: 1.4em; display: inline-block; margin-top: 28px; padding: 5px 10px; background-color: #df0629; color: #fff; position: relative; }
.c5 .cf p:before { content: ''; width: 19px; height: 16px; position: absolute; left: 50%; margin-left: -9px; top: -16px; background: url(images/arrow2.png) no-repeat; }
.c5 .cf .rh p { background-color: #a6a6a6; }
.c5 .cf .rh p:before { background: url(images/arrow3.png) no-repeat; }
.c5 .cf > div div { padding-top: 20px; }
.c5 .cf > div div span { color: #7f7f7f; }
.c5 .cf > div div span:after { content: '|'; margin: 0px 10px; }

.c6 { padding: 0px 10px; margin-bottom: 110px; }
.c6 .cf { max-width: 1090px; margin: 0 auto; padding-top: 10px; }
.c6 .cf > div { float: left; width: 33.33%; padding: 10px 20px; }
.c6 .cf > div:first-child { border-right: #ebebeb solid 2px; }
.c6 .cf > div:last-child { border-left: #ebebeb solid 2px; }
.c6 .cf > div:nth-child(2) { position: relative; }
.c6 .cf > div:nth-child(2):before, .c6 .cf > div:nth-child(2):after { content: ''; background: url(images/arrow4.png) no-repeat; width: 52px; height: 52px; position: absolute; top: 50%; margin-top: -26px; }
.c6 .cf > div:nth-child(2):before { left: -27px; }
.c6 .cf > div:nth-child(2):after { right: -27px; }
.c6 .cf h3 { display: flex; font-size: 18px; line-height: 1.6em; justify-content: center; align-items: center; margin-bottom: 15px; }

.t2 { font-size: 30px; margin-bottom: 40px; line-height: 1.3em; }

.c7 { padding: 0px 10px; margin-bottom: 120px; }
.c7 .cont { max-width: 880px; margin: 0 auto; position: relative; }
.c7 .cont div, .c7 dt { background-color: #fff; padding-top: 15px; width: 100%; }
.c7 .cont div { opacity: 0; }
.c7 dt { position: absolute; top: 0px; left: 0px; z-index: 1; }
.c7 dt span { display: block; max-width: 880px; margin: 0 auto; position: relative; }
.c7.float dt { position: fixed; padding: 15px 10px 0px 10px; top: 114px; box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.1); }

.cta { background-color: #fcf4de; border-bottom: #df0629 solid 4px; box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.1); margin-bottom: 90px; }
.cta .ti { background-color: #df0629; color: #fff; padding: 12px; font-size: 24px; line-height: 1.4em; text-shadow: -1px -1px 1px #990726; border-bottom: #fff solid 1px; }
.cta .ti span { color: #ffe600; }
.cta .ti b { font-size: 34px; }
.cta .cont { max-width: 980px; margin: 0 auto; padding: 20px 10px 25px 10px; }
.cta .cont p { font-size: 14px; padding-bottom: 15px; }
.cta .cont .tel { float: left; text-align: right; }
.cta .cont .tel a { display: block; font-size: 40px; font-weight: bold; background: url(images/ic8.png) no-repeat 0px center; line-height: 1.1em; padding-left: 58px; pointer-events: none; }
.cta .cont .tel span { display: block; }
.cta .cont .btns { float: right; padding-top: 5px; }
.cta .cont .btns > div { float: left; margin-left: 30px; }
.cta .cont .btns .btn { width: 270px; padding: 13px 0px 14px 0px; }

.c8 { padding: 55px 10px; overflow: hidden; }
.c8 .cont { max-width: 1090px; margin: 0 auto; }
.c8 .cf1 { margin: 0px -35px; padding-bottom: 35px; }
.c8 .cf1 > div { float: left; width: calc(33.33% - 70px); margin: 0px 35px; position: relative; }
.c8 .cf1 > div:before { content: ''; width: 102px; height: 103px; position: absolute; right: -20px; top: -30px; z-index: 1; }
.c8 .cf1 > div:nth-child(1):before { background: url(images/c1.png) no-repeat; }
.c8 .cf1 > div:nth-child(2):before { background: url(images/c2.png) no-repeat; }
.c8 .cf1 > div:nth-child(3):before { background: url(images/c3.png) no-repeat; }
.c8 .cf1 p { text-align: left; font-size: 14px; line-height: 1.5em; padding-top: 15px; letter-spacing: -0.05em; }
.c8 .vc { border: #c7e1ea solid 10px; padding: 50px 40px; margin-bottom: 65px; }
.c8 .vc h3 { font-size: 26px; font-weight: bold; color: #4c4c4c; border-bottom: #4c4c4c dashed 2px; line-height: 1.4em; padding: 0px 10px 35px 10px; display: inline-block; margin-bottom: 50px; }
.c8 .vc .cf > div { float: left; width: calc(33.33% - 40px); margin: 0px 20px; text-align: left; }
.c8 .vc h4 { display: flex; height: 126px; padding-left: 170px; font-size: 20px; line-height: 1.4em; align-items: center; }
.c8 .vc .cf > div:nth-child(1) h4 { background: url(images/ic9.png) no-repeat 0px 0px; }
.c8 .vc .cf > div:nth-child(2) h4 { background: url(images/ic10.png) no-repeat 0px 0px; }
.c8 .vc .cf > div:nth-child(3) h4 { background: url(images/ic11.png) no-repeat 0px 0px; }
.c8 .vc p { padding-top: 20px; }

@media screen and (max-width: 960px) {
	.c8 .vc { padding: 40px 10px; }
	.c8 .vc .cf > div { width: calc(33.33% - 20px); margin: 0px 10px; }
	.c8 .vc h4 { height: 115px; padding-left: 150px; background-size: 130px auto !important; }
}

.c9 { background: url(images/c9bg.jpg) repeat-y; background-size: 100% auto; padding: 80px 0px; margin-bottom: 90px; }
.c9 .cont { max-width: 1090px; margin: 0 auto; padding: 20px 0px; }
.c9 ul { font-size: 0px; }
.c9 img { display: block; }
.c9 .l1 { margin-bottom: 30px; }
.c9 .l1 li { display: inline-block; margin: 0px 20px; max-width: calc(33.33% - 40px); }
.c9 .l2 li { float: left; margin: 0px 8px 20px 8px; width: calc(20% - 16px); }
.c9 .l3 li { float: left; margin: 0px 8px 20px 8px; width: calc(25% - 16px); }

.c10 { padding: 10px; margin-bottom: 90px; }
.c10 p { font-size: 22px; line-height: 1.5em; padding-bottom: 50px; }
.c10 .cont { max-width: 1090px; margin: 0 auto; }
.c10 .cont .cf { margin: 0px -20px; }
.c10 .cont .cf > div { float: left; width: calc(33.33% - 40px); margin: 0px 20px; }
.c10 .cont .cf > div span { display: block; font-size: 12px; padding-top: 5px; }

.c11 { padding: 20px 10px; margin-bottom: 80px; }
.c11 .cont { max-width: 900px; margin: 0 auto; }
.c11 .cont li { margin-bottom: 16px; min-height: 180px; display: flex; font-size: 18px; line-height: 1.5em; text-align: left; padding: 20px 140px 20px 190px; align-items: center; position: relative; }
.c11 .cont li:nth-child(1) { background: url(images/st1bg.png) no-repeat right 35px center; background-color: #e5f3f9; }
.c11 .cont li:nth-child(2) { background: url(images/st2bg.png) no-repeat right 35px center; background-color: #e5f3f9; }
.c11 .cont li:nth-child(3) { background: url(images/st3bg.png) no-repeat right 35px center; background-color: #e5f3f9; }
.c11 .cont li:nth-child(4) { background: url(images/st4bg.png) no-repeat right 35px center; background-color: #fcf4de; }
.c11 .cont li:before { content: ''; width: 118px; height: 115px; position: absolute; left: 30px; top: -5px; z-index: 1; }
.c11 .cont li:nth-child(1):before { background: url(images/st1.png) no-repeat; }
.c11 .cont li:nth-child(2):before { background: url(images/st2.png) no-repeat; }
.c11 .cont li:nth-child(3):before { background: url(images/st3.png) no-repeat; }
.c11 .cont li:nth-child(4):before { background: url(images/st4.png) no-repeat; }
.c11 .cont li:after { content: ''; width: 118px; height: calc(100% - 105px); position: absolute; left: 30px; bottom: -5px; background: url(images/st_bot1.png) no-repeat center bottom; }
.c11 .cont li:nth-child(4):after { background: url(images/st_bot2.png) no-repeat center bottom; }
.c11 .cont li a { color: #df0629; border-bottom: #df0629 solid 1px; }
.c11 .cont li a:hover { border-bottom-color: rgba(0, 0, 0, 0); }

.c12 { background-color: #f4f4f4; padding: 60px 10px 20px 10px; margin: 20px 0px 90px 0px; }
.c12 .cont { max-width: 1090px; margin: 0 auto; }
.c12 dl { float: left; box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.1); background-color: #fff; width: 515px; max-width: calc(50% - 20px); margin-bottom: 50px; text-align: left; }
.c12 dl:nth-child(2n) { float: right; }
.c12 dl:nth-child(2n + 1) { clear: both; }
.c12 dt { background: url(images/q.png) no-repeat 15px center; background-size: 72px auto; font-size: 20px; line-height: 1.5em; height: 110px; display: flex; align-items: center; padding: 10px 20px 10px 110px; }
.c12 dd { background-color: #a0bfd8; color: #fff; padding: 20px; letter-spacing: -0.05em; position: relative; }
.c12 dd:before { content: ''; width: 18px; height: 25px; background: url(images/arrow5.png) no-repeat center bottom; background-size: 100% auto; position: absolute; top: -24px; left: 42px; }

.c13 { padding: 20px 10px; margin-bottom: 90px; }
.c13 .tel { padding-bottom: 35px; }
.c13 .tel div { display: inline-block; vertical-align: top; font-size: 18px; color: #fff; background: url(images/fx1.jpg) no-repeat right center; background-size: auto 100%; background-color: #565656; padding: 4px 20px 5px 10px; margin: 2px 15px 0px 0px; }
.c13 .tel a { display: inline-block; font-size: 32px; font-weight: bold; line-height: 1.2em; pointer-events: none; vertical-align: top; }
.c13 .tel span { display: inline-block; font-size: 14px; vertical-align: top; margin-top: 12px; }
.c13 .stp { margin-bottom: 30px; }
.c13 .stp + p { margin-bottom: 30px; display: inline-block; text-align: left; }
.c13 form { max-width: 1090px; margin: 0 auto; }
.c13 table { width: 100%; border-collapse: collapse; margin: 0px 0px 45px 0px; }
.c13 th, .c13 td { border: #d8d8d8 solid 1px; }
.c13 th { vertical-align: top; font-size: 22px; line-height: 1.2em; font-weight: normal; width: 340px; background-color: #e5f3f9; text-align: right; padding: 27px 40px 27px 20px; }
.c13 th span { display: block; position: relative; padding-right: 80px; }
.c13 th span:after { content: '必須'; color: #fff; font-size: 16px; background-color: #df0629; border-radius: 4px; padding: 0px 10px 3px 10px; width: 56px; position: absolute; right: 0px; top: 0px; text-align: center; font-weight: 500; }
.c13 td { text-align: left; padding: 20px 30px; }
.c13 td p { color: #ff0000; font-size: 14px; padding-top: 10px; }
.c13 input[type="text"], .c13 textarea, .c13 select { width: 100%; border: #d8d8d8 solid 1px; border-radius: 5px; font-family: inherit; font-size: 18px; font-weight: 500; line-height: 1.2em; padding: 10px 15px; appearance: none; -webkit-appearance: none; }
.c13 select { width: 310px; max-width: 100%; background: url(images/arrow6.png) no-repeat right 15px center; padding-right: 35px; }
.c13 textarea { height: 200px; resize: none; }
.c13 input[type="text"]:focus, .c13 textarea:focus, .c13 select:focus { border-color: #df0629; box-shadow: 0px 0px 3px #df0629; }
.c13 label { display: inline-block; margin-right: 40px; position: relative; cursor: pointer; }
.c13 label input { position: absolute; opacity: 0; }
.c13 label span { font-size: 22px; display: inline-block; line-height: 1.2em; position: relative; padding-left: 35px; }
.c13 label span:before, .c13 label span:after { content: ''; position: absolute; transition: all 0.25s ease-in-out; }
.c13 label span:before { border: #d8d8d8 solid 1px; border-radius: 50%; width: 25px; height: 25px; left: 0px; top: 1px; }
.c13 label span:after { width: 15px; height: 15px; border-radius: 50%; background-color: rgba(0, 0, 0, 0); top: 6px; left: 5px; }
.c13 label input:checked + span:after { background-color: #000; }

.c13 .priv { border: #ebebeb solid 2px; max-width: 930px; margin: 0px auto 45px auto; padding: 25px; }
.c13 .priv h3 { font-size: 22px; line-height: 1.4em; padding: 0px 0px 20px 0px; }
.c13 .priv div { border: #ebebeb solid 2px; text-align: left; padding: 15px 0px; max-height: 220px; overflow: auto; font-weight: normal; }
.c13 .priv p { padding: 15px 40px; }
.c13 .priv p span { display: block; font-weight: bold; border-left: 2px solid #d0142e; color: #d0142e; padding-left: 15px; margin-bottom: 5px; }
.c13 .priv p span + br { display: none; }
.c13 .nav button, .c13 .nav a { appearance: none; -webkit-appearance: none; border: none; font-family: inherit; font-size: 30px; font-weight: 500; cursor: pointer; vertical-align: top; padding: 15px 0px 18px 0px; margin: 0px 10px; line-height: 1.5em; }
.c13 .nav button { width: 480px; background-color: #13bf13; box-shadow: 0px 5px 0px #2a8c2a; }
.c13 .nav button:hover { box-shadow: 0px 1px 0px #2a8c2a; }
.c13 .nav a { width: 300px; background-color: #939393; box-shadow: 0px 5px 0px #7a7a7a; }
.c13 .nav a:hover { box-shadow: 0px 1px 0px #7a7a7a; }

.c13 .sent { max-width: 890px; margin: 0 auto; padding: 25px 30px; background-color: #e5f3f9; text-align: left; border: #ebebeb solid 1px; }
.c13 .sent a { text-decoration: underline; }
.c13 .sent a:hover { text-decoration: none; }

/* Footer */

.footer { background-color: #f9f9f9; border-top: #e8e8e8 solid 2px; padding: 70px 10px 40px 10px; }
.footer .cont { max-width: 1090px; margin: 0 auto; }
.footer dl { float: left; font-size: 14px; color: #7f7f7f; text-align: left; margin: 0px 130px 40px 0px; }
.footer dl:last-child { margin-right: 0px; }
.footer dt { font-weight: bold; }
.footer dd { position: relative; padding-left: 82px; }
.footer dd span { position: absolute; left: 0px; width: 75px; }
.footer dd span:after { content: ':'; position: absolute; right: 0px; }
.footer dd a { text-decoration: underline; color: #7f7f7f; }
.footer dd a:hover { text-decoration: none; }

.footer .sc { font-size: 0px; float: left; padding-top: 20px; }
.footer .sc a { display: inline-block; margin-right: 8px; }

.footer address { background: url(images/flogo.png) no-repeat right top; float: right; font-style: normal; font-size: 10px; padding: 35px 200px 5px 0px; }

.ptop { position: fixed; right: 20px; bottom: 80px; z-index: 100; transition: all 0.25s ease-in-out; }
.ptop a { background: url(images/ptop.png) no-repeat 0px 0px; background-size: 100% 100%; width: 60px; height: 60px; text-indent: -9999px; display: block; position: absolute; top: 20px; right: 0px; opacity: 0; pointer-events: none; }
.ptop a.up:hover { opacity: 0.7; }
.ptop a.up { top: 0px; opacity: 1; pointer-events: all; }

/* Mobile */

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

body { font-size: 14px; padding: 55px 0px 0px 0px; image-rendering: auto; }

img { backface-visibility: initial; -webkit-backface-visibility: initial; }
a:hover img { opacity: 1; }

.sp { display: block; }
.pc { display: none; }

.btn { font-size: 12px; border-radius: 3px; padding: 10px 25px 12px 25px; box-shadow: 0px 5px 0px #627a78; position: relative; top: 0px; }
.btn:hover { top: 5px; box-shadow: 0px 1px 0px #627a78; }
.btn2 { background-color: #df0629; box-shadow: 0px 5px 0px #a30523; }
.btn2:hover { box-shadow: 0px 1px 0px #a30523; }

/* Header */

.header { height: 55px; background: none; }
.header .lf { float: none; padding: 8px 10px 0px 10px; height: 55px; width: 100%; position: absolute; top: 0px; left: 0px; background-color: rgba(255, 255, 255, 0.98); text-align: left; z-index: 3; }
.header .lf img { width: 55px; }
.header ul { float: none; position: fixed; top: 45px; left: 0px; width: 100%; background-color: #333; padding: 0px; text-align: left; max-height: calc(100% - 55px); overflow: auto; transition: all 0.25s ease-in-out; visibility: hidden; opacity: 0; z-index: 2; -webkit-overflow-scrolling: touch; }
.header ul li { float: none; padding: 0px; border-bottom: #5a5a5a solid 1px; }
.header ul li a { display: block; padding: 15px 20px; color: #fff; background: url(images/arrow7.png) no-repeat right 20px center; background-size: 14px auto; }
.header ul li a:after { display: none; }
.header ul li a:hover, .header ul li a.on { color: #fff; }

.header .btns { float: none; position: absolute; right: 65px; top: 0px; padding: 9px 0px 0px 0px; z-index: 3; }
.header .btns div { float: left; padding-left: 8px; }
.header .btn { font-size: 13px; width: 106px; padding: 6px 0px; box-shadow: 0px 3px 0px #627a78; }
.header .btn:hover { top: 2px; box-shadow: 0px 1px 0px #627a78; }
.header .btn2 { box-shadow: 0px 3px 0px #a30523; }
.header .btn2:hover { box-shadow: 0px 1px 0px #a30523; }

@media screen and (max-width: 340px) {
	.header .btn { font-size: 12px; width: 85px; }
}

.header .spm { position: absolute; right: 0px; top: 0px; width: 55px; height: 55px; z-index: 4; background: url(images/spm.png) no-repeat; background-size: 100% 100%; }
.header > span { content: ''; display: block; background-color: rgba(0, 0, 0, 0.5); position: fixed; top: 0px; left: 0px; width: 100%; height: 150%; transition: all 0.3s ease-in-out; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; visibility: hidden; opacity: 0; z-index: 1; }

.menu_on .header ul { visibility: visible; opacity: 1; top: 55px; }
.menu_on .header > span { visibility: visible; opacity: 1; }

/* Content */

.mainbnr { height: 305px; background: url(images/bnr_bg_sp.jpg) no-repeat center top; background-size: cover; }
.mainbnr div { display: block; padding: 0px; }
.mainbnr div h1 { font-size: 27px; padding: 25px 0px 0px 20px; }
.mainbnr div p { font-size: 11px; color: #fff; background: rgba(0, 0, 0, 0.5); position: absolute; left: 0px; bottom: 0px; width: 100%; padding: 10px 10px 10px 168px; letter-spacing: -0.05em; }
.mainbnr:before { width: 135px; height: 200px; background-position: center bottom; background-size: 100% auto; position: absolute; bottom: 0px; right: auto; margin-right: 0px; left: 22px; z-index: 1; }

.c1 { padding: 80px 0px 0px 0px; }
.c1 .ti { font-size: 24px; line-height: 1.5em; position: relative; }
.c1 .ti div { display: none; }
.c1 .ti h2 { margin: -50px 0px -35px 0px; padding: 0px 10px; }
.c1 .ti h2 img { content: url(images/t1_sp.png); width: 350px; }
.c1 .cont { background-position: center bottom 45px; background-size: 30px auto; padding: 60px 10px 80px 10px; }
.c1 .cont .cf { text-align: center; }
.c1 .cont img { display: none; }
.c1 .cont ul { float: none; width: auto; display: inline-block; text-align: left; }
.c1 .cont li { background-position: 0px 4px; background-size: 17px auto; padding: 0px 0px 5px 30px; font-size: 16px; line-height: 1.5em; margin: 0px 0px 10px 0px; }
.c1 .cont li span { font-size: 16px; border-bottom-width: 1px; }

.c2 { padding: 10px; }
.c2 .cont { padding: 0px; }
.c2 .cont img { content: url(images/im2_sp.png); width: 306px; margin: -50px 0px 0px 0px; }
.c2 .cont .qr { display: none; }
.c2 + p { font-size: 15px; padding: 20px 0px 30px 0px; }

.t1 { font-size: 20px; line-height: 1.4em; padding: 15px 10px 40px 10px; background-position: center bottom 20px; background-size: 35px auto; }
.t1 span { font-size: 10px; }

.pos { margin: -55px 0px 0px 0px; padding: 55px 0px 0px 0px; }

.c3 { background-size: 255px auto; margin: 0px 0px 50px 0px; padding: 25px 10px 0px 10px; }
.c3 .cf { margin: 0px; }
.c3 .cf > div { float: left; width: calc(50% - 10px); margin: 25px 5px; background-color: #fff; position: relative; padding: 30px 15px 15px 15px; }
.c3 .cf > div:nth-child(3n + 1) { clear: none; }
.c3 .cf > div:nth-child(2n + 1) { clear: both; }
.c3 .cf > div:before { width: 56px; height: 56px; top: -28px; margin-left: -28px; background-size: 100% 100% !important; }
.c3 .cf h3 { font-size: 11px; line-height: 1.5em; padding-bottom: 10px; }
.c3 .cf p { padding-top: 10px; font-size: 10px; line-height: 1.5em; }

.c4 { padding: 0px 18px; margin-bottom: 45px; }
.c4 .tx { justify-content: center; }
.c4 .tx img { width: 80px; }
.c4 .tx p { font-size: 14px; line-height: 1.4em; }
.c4 .vid { margin-top: 50px; }
.c4 .vid:before { background-size: 100% 100%; width: 86px; height: 62px; margin-left: -43px; top: -50px; }
.c4 .vid a { display: block; position: relative; }
.c4 .vid a:after { background-size: 15px auto; border-radius: 10px; width: 62px; height: 38px; }

.tx1 { font-size: 12px; margin-bottom: 20px; }
.tx1 span { font-size: 14px; }

.c5 { padding: 0px 18px; margin-bottom: 45px; }
.c5 .cf > div { max-width: calc(50% - 10px); }
.c5 .cf h3 { font-size: 10px; padding-bottom: 10px; }
.c5 .cf h3 img { width: 60px; }
.c5 .cf p { font-size: 13px; line-height: 1.4em; margin-top: 10px; padding: 5px; }
.c5 .cf p:before { width: 8px; height: 6px; margin-left: -4px; top: -6px; background-size: 8px 6px !important; }
.c5 .cf > div div { padding-top: 5px; font-size: 12px; line-height: 1.5em; }
.c5 .cf > div div span { display: block; }
.c5 .cf > div div span:after { display: none; }

.c6 { margin-bottom: 50px; }
.c6 .cf { padding-top: 0px; }
.c6 .cf > div { padding: 5px 7px; }
.c6 .cf > div:first-child { border-right-width: 1px; }
.c6 .cf > div:last-child { border-left-width: 1px; }
.c6 .cf > div:nth-child(2) { position: relative; }
.c6 .cf > div:nth-child(2):before, .c6 .cf > div:nth-child(2):after { background-size: 100% 100%; width: 17px; height: 17px; margin-top: -8px; }
.c6 .cf > div:nth-child(2):before { left: -9px; }
.c6 .cf > div:nth-child(2):after { right: -9px; }
.c6 .cf h3 { font-size: 10px; margin-bottom: 10px; }

.t2 { font-size: 14px; margin-bottom: 10px; line-height: 1.4em; }

.c7 { padding: 0px 10px; margin-bottom: 60px; }
.c7 .cont { max-width: 340px; }
.c7 .cont div, .c7 dt { padding-top: 5px; }
.c7 .cont div img, .c7 dt img { content: url(images/tbl_head_sp.jpg); }
.c7 dt span { max-width: 340px; }
.c7.float dt { padding: 5px 10px 0px 10px; top: 55px; }
.c7 dd img { content: url(images/tbl_data2_sp.jpg); }

.cta { border-bottom-width: 2px; margin-bottom: 40px; }
.cta .ti { padding: 8px 10px; font-size: 12px; letter-spacing: -0.05em; }
.cta .ti b { font-size: 17px; }
.cta .cont { padding: 15px 10px; }
.cta .cont p { font-size: 10px; line-height: 1.5em; padding-bottom: 10px; }
.cta .cont .tel { float: none; text-align: center; }
.cta .cont .tel a { display: inline-block; font-size: 20px; background-size: 21px auto; line-height: 1.2em; padding-left: 28px; pointer-events: all; }
.cta .cont .tel span { font-size: 9px; display: inline-block; vertical-align: top; margin-top: 4px; }
.cta .cont .btns { float: none; padding: 10px 0px; font-size: 0px; margin: 0px -10px; }
.cta .cont .btns > div { float: none; display: inline-block; margin: 0px 5px; }
.cta .cont .btns .btn { width: 150px; padding: 8px 0px; }

.c8 { padding: 30px 18px; overflow: hidden; }
.c8 .cont { max-width: 1090px; margin: 0 auto; }
.c8 .cf1 { margin: 0px; padding-bottom: 10px; }
.c8 .cf1 > div { float: none; width: auto; margin: 0px auto 30px auto; max-width: 316px; }
.c8 .cf1 > div:before { width: 80px; height: 80px; background-size: 100% 100% !important; right: -10px; top: -20px; }
.c8 .cf1 p { padding-top: 10px; }
.c8 .vc { border-width: 4px; padding: 20px; margin-bottom: 0px; }
.c8 .vc h3 { font-size: 15px; border-bottom-width: 1px; padding: 0px 0px 15px 0px; display: block; margin-bottom: 0px; }
.c8 .vc .cf > div { float: none; width: auto; margin: 20px 0px 0px 0px; }
.c8 .vc h4 { height: 63px; padding-left: 90px; background-size: 72px auto !important; font-size: 15px; line-height: 1.5em; }
.c8 .vc p { padding-top: 10px; }

.c9 { padding: 35px 10px; margin-bottom: 40px; }
.c9 .cont { padding: 0px 0px 10px 0px; }
.c9 ul { font-size: 0px; }
.c9 img { display: block; }
.c9 .l1 { margin-bottom: 15px; }
.c9 .l1 li { margin: 0px 8px; max-width: calc(30% - 16px); vertical-align: top; }
.c9 .l2 li, .c9 .l3 li { margin: 0px 4px 8px 4px; width: calc(25% - 8px); }

.c10 { padding: 0px 10px; margin-bottom: 40px; }
.c10 p { font-size: 15px; padding-bottom: 15px; }
.c10 .cont .cf { margin: 0px; }
.c10 .cont .cf > div { width: calc(33.33% - 12px); margin: 0px 6px; }
.c10 .cont .cf > div span { font-size: 6px; padding-top: 5px; line-height: 1.5em; margin: 0px -5px; }

.c11 { padding: 10px 18px; margin-bottom: 30px; }
.c11 .cont { max-width: 900px; margin: 0 auto; }
.c11 .cont li { margin-bottom: 8px; min-height: 90px; font-size: 12px; padding: 10px 70px 10px 85px; background-size: 55px auto !important; background-position: right 10px center !important; letter-spacing: -0.05em; line-height: 1.5em; }
.c11 .cont li:before { width: 59px; height: 58px; left: 15px; top: -3px; background-size: 59px auto !important; }
.c11 .cont li:after { width: 59px; height: calc(100% - 50px); left: 15px; bottom: -3px; background-size: 59px auto !important; }

.c12 { padding: 30px 18px 1px 18px; margin: 10px 0px 30px 0px; }
.c12 dl { float: none; width: auto; max-width: unset; margin-bottom: 30px; }
.c12 dl:nth-child(2n) { float: none; }
.c12 dt { background-position: 10px center; background-size: 47px auto; font-size: 13px; height: 70px; padding: 10px 10px 10px 74px; }
.c12 dd { min-height: 0px !important; padding: 12px 14px; font-size: 11px; line-height: 1.5em; }
.c12 dd:before { width: 12px; height: 7px; background-size: 100% 100%; top: -7px; left: 28px; }

.c13 { padding: 10px 20px; margin-bottom: 50px; }
.c13 .tel { padding-bottom: 15px; display: inline-block; }
.c13 .tel div { font-size: 11px; line-height: 1.5em; padding: 4px 20px 5px 10px; margin: 2px 10px 0px 0px; }
.c13 .tel a { font-size: 19px; line-height: 1.4em; pointer-events: all; padding: 1px; }
.c13 .tel span { display: block; font-size: 9px; text-align: right; margin-top: -5px; }
.c13 .stp { margin-bottom: 15px; }
.c13 .stp img.st1 { content: url(images/step1_sp.jpg); }
.c13 .stp img.st2 { content: url(images/step2_sp.jpg); }
.c13 .stp img.st3 { content: url(images/step3_sp.jpg); }
.c13 .stp + p { font-size: 9px; line-height: 1.5em; margin-bottom: 15px; display: block; }
.c13 .stp + p span { display: block; padding-left: 11px; }
.c13 .stp + p span + br { display: none; }
.c13 table { display: block; margin: 0px 0px 20px 0px; border-bottom: #dfdfdf solid 1px; }
.c13 tbody, .c13 tr { display: block; }
.c13 th, .c13 td { display: block; border-bottom: none; }
.c13 td { border-top: none; }
.c13 th { font-size: 11px; line-height: 1.5em; width: auto; text-align: left; padding: 10px 15px; font-weight: 500; }
.c13 th span { display: inline-block; padding-right: 40px; }
.c13 th span:after { font-size: 8px; border-radius: 2px; padding: 0px 5px; width: 28px; }
.c13 td { padding: 10px 15px; }
.c13 input[type="text"], .c13 textarea, .c13 select { border-radius: 3px; font-size: 13px; line-height: 1.5em; padding: 8px; }
.c13 select { min-width: 190px; width: auto; background-size: 8px auto; background-position: right 10px center; padding-right: 25px; }
.c13 textarea { height: 128px; }
.c13 label { margin-right: 20px; }
.c13 label span { font-size: 13px; line-height: 1.4em; padding-left: 20px; }
.c13 label span:before { width: 14px; height: 14px; left: 0px; top: 2px; }
.c13 label span:after { width: 10px; height: 10px; top: 4px; left: 2px; }

.c13 .priv { border-width: 1px; margin: 0px auto 25px auto; padding: 14px; }
.c13 .priv h3 { font-size: 12px; padding: 0px 0px 12px 0px; }
.c13 .priv div { border-width: 1px; padding: 5px 0px; max-height: 170px; -webkit-overflow-scrolling: touch; }
.c13 .priv p { padding: 8px 15px; font-size: 11px; line-height: 1.5em; }
.c13 .priv p span { padding-left: 8px; }
.c13 .nav button, .c13 .nav a { font-size: 15px; padding: 10px 0px; margin: 0px 10px 20px 10px; }
.c13 .nav button { width: 240px; }
.c13 .nav a { width: 200px; }

.c13 .sent { padding: 15px; }

/* Footer */

.footer { border-top-width: 1px; padding: 35px 35px 20px 35px; }
.footer dl { float: none; font-size: 10px; margin: 0px 0px 20px 0px; line-height: 1.5em; }
.footer dt { padding-bottom: 5px; }
.footer dd { padding-left: 56px; }
.footer dd span { width: 50px; }

.footer .sc { float: none; padding: 5px 0px; text-align: left; }
.footer .sc a { margin-right: 12px; }
.footer .sc a img { width: 29px; height: 29px; }

.footer address { background-position: center top; background-size: 75px auto !important; float: none; font-size: 8px; padding: 30px 0px 0px 0px; margin-top: 10px; }

.ptop { right: 10px; bottom: 50px; }
.ptop a { width: 30px; height: 30px; }
.ptop a.up:hover { opacity: 1; }

}