@charset "utf-8";

/* CSS Document */

html { font-size: 10px; }
body { font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3",  'Hiragino Kaku Gothic Pro', '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', Osaka, 'MS PGothic', 'ＭＳ Ｐゴシック', 'MS Gothic', 'Helvetica Neue', Arial, sans-serif; font-size: 1.8rem; margin: 0px; text-align: center; background-color: #fff; line-height: 1.5; color: #444444; word-wrap: break-word; -webkit-text-size-adjust: none; image-rendering: auto; font-weight: normal; letter-spacing: 0.05em; }

p, form { margin: 0px; padding: 0px; }
img { border: none; margin: 0px; padding: 0px; backface-visibility: visible; -webkit-backface-visibility: visible; max-width: 100%; height: auto; vertical-align: top; }
a { text-decoration: none; outline: none; color: #444444; }
a:hover img { opacity: 0.75; }
a, a img, input, textarea, button { transition: all 0.15s ease-in-out; -webkit-transition: all 0.15s ease-in-out; -moz-transition: all 0.15s ease-in-out; outline: none; }
input, textarea, select, button { outline: none; }
h1, h2, h3, h4, ul, dl, dt, dd { margin: 0px; padding: 0px; font-weight: normal; list-style: none; }
*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; 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; }

a.a { text-decoration: underline; }
a.a:hover { text-decoration: none; }
.sp { display: none; }
.ipad { display: none; }

/* Header */

header { padding: 20px; }
header div { max-width: 1400px; margin: 0 auto; padding: 5px 0px; text-align: left; }
header div img { vertical-align: top; display: inline-block; }
header div span { display: inline-block; vertical-align: top; font-family: 'Noto Sans JP', sans-serif; margin: 22px 0px 0px 20px; font-size: 1.6rem; }

/* Content */

.mainbnr { background: url(../img/mainbnr_bg.jpg) no-repeat center; background-size: cover; padding: 20px; color: #fff; font-family: 'Noto Sans JP', sans-serif; }
.mainbnr .cont { max-width: 1400px; margin: 0 auto; height: 700px; position: relative; display: flex; align-items: center; justify-content: center; flex-direction: column; }
.mainbnr .cont div { font-size: 3.2rem; letter-spacing: 0.1em; font-weight: bold; background: url(../img/ribbon.png) no-repeat center; background-size: 100% 100%; text-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2); padding: 12px 55px 12px 85px; margin-bottom: 30px; }
.mainbnr .cont div span { font-size: 4.8rem; display: inline-block; vertical-align: top; margin: -14px 0px; }
.mainbnr .cont div sup { font-size: 1.8rem; }
.mainbnr h1 { font-size: 7.6rem; line-height: 1.4; font-weight: 900; letter-spacing: 0.05em; text-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2); margin-bottom: 50px; }
.mainbnr h1 span { font-size: 5.4rem; }
.mainbnr p { position: absolute; right: 0px; bottom: 0px; font-size: 1.4rem; }

.cta { background: url(../img/pattern1.jpg) center; color: #fff; padding: 20px; }
.cta .cont { max-width: 990px; margin: 0 auto; padding: 20px 0px 30px 0px; }
.cta .ti { font-size: 3rem; font-weight: bold; margin-bottom: 15px; }
.cta p { font-size: 1.4rem; line-height: 2; margin-bottom: 25px; }
.btn a { display: flex; height: 90px; width: 660px; max-width: 100%; font-size: 2.8rem; font-weight: bold; color: #fff; margin: 0 auto; align-items: center; justify-content: center; flex-direction: column; padding: 5px 100px; background: url(../img/arrow.png) no-repeat right 22px center, linear-gradient(#f57e1b, #f4202c) center; background-size: auto, auto 100%; border-radius: 50px; box-shadow: 0px 3px 0px #be0807; position: relative; overflow: hidden; }
.btn a:hover { text-decoration: none; background-size: auto, auto 150%; transform: translateY(3px); box-shadow: none; }
.btn a span { display: block; position: relative; z-index: 1; }
.btn a i { font-style: normal; font-size: 1.8rem; display: inline-block; position: relative; z-index: 1; padding: 0px 35px; background: url(../img/dots_l.png) no-repeat 0px 11px, url(../img/dots_r.png) no-repeat right 11px; }
.btn a i b { font-size: 2.8rem; display: inline-block; vertical-align: bottom; margin-bottom: -6px; }
.btn a:after { content: ''; z-index: 1; width: 300%; height: 100%; top: 0px; left: -200%; background: linear-gradient(120deg, rgba(255, 255, 255, 0) 33.33%, rgba(255, 255, 255, 0) 33.33%, rgba(255, 255, 255, 0.8) 50%, rgba(255, 255, 255, 0) 66.66%, rgba(255, 255, 255, 0) 66.66%); position: absolute; }
.btn a:hover:after { animation: flashMask 0.75s ease forwards; }
@keyframes flashMask { 0% { left: -200% } 100% { left: 0%; } }

.cta_t { background-image: none; background-color: #eaf5fd; color: #0252a8; padding: 60px 20px; }
.cta_t .tx { margin-bottom: 60px; background: url(../img/leaf_l.png) no-repeat 0px center, url(../img/leaf_r.png) no-repeat right center; background-size: auto 100%; padding: 0px 60px; }
.cta_t .tx p { margin-bottom: 0px; }
.cta_t .ti { font-size: 4.4rem; font-family: 'Noto Sans JP', sans-serif; line-height: 1.3; }
.cta_t .ti b { font-size: 6.3rem; }
.cta_t .ti span { display: block; font-size: 3rem; margin: 20px 0px 5px 0px; }

.c1 { padding: 80px 20px; }
.c1 .cont { max-width: 1040px; margin: 0 auto; }
.c1 .tx { background: url(../img/bg1.jpg) no-repeat 0px center; padding: 50px 0px 50px 380px; text-align: left; margin-bottom: 100px; }
.c1 .tx div { font-size: 3.4rem; font-weight: bold; margin-bottom: 30px; }
.c1 .tx li { padding: 10px 0px 10px 65px; margin-bottom: 10px; font-size: 2.2rem; background: url(../img/check.png) no-repeat 0px 6px; }
.c1 h2 { font-size: 4rem; color: #0252a8; font-weight: bold; margin-bottom: 35px; }
.c1 h2 span { display: inline-block; background: url(../img/ic1.png) no-repeat 0px 5px; padding-left: 54px; }
.c1 p { line-height: 2; max-width: 990px; margin: 0 auto; text-align: left; margin-bottom: 30px; }

.t1 { font-size: 2.4rem; font-family: 'Noto Sans JP', sans-serif; font-weight: 900; color: #0252a8; margin: 15px 0px 35px 0px; }
.t1 span { display: block; font-size: 5.6rem; padding-top: 15px; }
.t1 b { font-size: 8.6rem; display: inline-block; vertical-align: top; margin-top: -30px; }

.c2 { background-color: #ecf7fe; padding: 60px 20px; }
.c2 .cont { max-width: 1400px; margin: 0 auto; }
.c2 .tx { margin-bottom: 50px; background-color: #fff; padding: 60px; text-align: left; position: relative; }
.c2 .tx:last-child { margin-bottom: 0px; }
.c2 .tx .pt { position: absolute; width: 260px; background-color: #3378c2; border-radius: 10px; color: #fff; display: flex; align-items: center; justify-content: center; padding: 35px 10px; }
.c2 .tx .pt div { font-size: 1.4rem; font-weight: bold; text-align: center; border-right: #fff dotted 2px; padding-right: 12px; margin-right: 12px; }
.c2 .tx .pt div > span { font-size: 2.3rem; line-height: 1.2; padding-top: 5px; display: block; }
.c2 .tx .pt > span { font-size: 5.2rem; line-height: 1; padding-top: 5px; font-weight: bold; }
.c2 .tx h3 { margin-left: 340px; font-size: 3.2rem; font-weight: bold; color: #0252a8; margin-bottom: 30px; padding-top: 40px; }
.c2 .tx h3 span { font-size: 6.2rem; color: #e52205; display: inline-block; vertical-align: top; margin: -30px 0px; }
.c2 .tx h3 + p { margin-left: 340px; line-height: 2; max-width: 760px; margin-bottom: 10px; }

.ls1 { margin: 60px 0px 20px 0px; display: flex; }
.ls1 > div { flex: 1; padding: 0px 10px; padding-top: 150px; background-position: center top !important; background-size: 140px auto !important; }
.ls1 > div:nth-child(1) { background: url(../img/ik1.png) no-repeat; }
.ls1 > div:nth-child(2) { background: url(../img/ik2.png) no-repeat; }
.ls1 > div:nth-child(3) { background: url(../img/ik3.png) no-repeat; }
.ls1 > div:nth-child(4) { background: url(../img/ik4.png) no-repeat; }
.ls1 > div:nth-child(5) { background: url(../img/ik5.png) no-repeat; }
.ls1 h4 { font-size: 2.4rem; font-weight: bold; text-align: center; max-width: 380px; margin: 0 auto; margin-bottom: 15px; }
.ls1 p { line-height: 1.8; max-width: 380px; margin: 0 auto; }

.ls2 { text-align: center; margin: 50px 0px 20px 0px; }

.ls1b { padding: 0px 60px; }
.ls1b > div:nth-child(1) { background: url(../img/ik6.png) no-repeat; }
.ls1b > div:nth-child(2) { background: url(../img/ik7.png) no-repeat; }

.c3 { background-color: #ecf7fe; padding: 60px 20px; }
.c3 .cont { max-width: 1400px; margin: 0 auto; }
.c3 .stp { display: flex; margin-bottom: 80px; padding-top: 30px; }
.c3 .stp > div { flex: 1; margin: 0px 20px; background-color: #fff; position: relative; color: #003399; display: flex; align-items: center; justify-content: center; flex-direction: column; height: 310px; padding: 15px; }
.c3 .stp > div:before { content: ''; width: 30px; height: 30px; background-color: #fff; position: absolute; right: -15px; top: 50%; margin-top: -15px; transform: rotate(45deg); }
.c3 .stp > div:last-child { background-color: #3378c2; color: #fff; }
.c3 .stp > div:last-child:before { display: none; }
.c3 .stp h3 { font-size: 3rem; font-weight: bold; position: relative; z-index: 1; padding-bottom: 140px; margin-bottom: 10px; background-position: center bottom !important; width: 100%; }
.c3 .stp > div:nth-child(1) h3 { background: url(../img/st1.png) no-repeat; }
.c3 .stp > div:nth-child(2) h3 { background: url(../img/st2.png) no-repeat; }
.c3 .stp > div:nth-child(3) h3 { background: url(../img/st3.png) no-repeat; }
.c3 .stp > div:nth-child(4) h3 { background: url(../img/st4.png) no-repeat; }
.c3 .stp p { font-size: 2.2rem; font-weight: bold; }
.c3 .stp + p { line-height: 2; max-width: 1000px; margin: 0 auto; margin-bottom: 30px; text-align: left; }

.c4 { background-color: #ecf7fe; padding: 60px 20px; }
.c4 .cont { max-width: 1160px; margin: 0 auto; }
.c4 .stp { padding-top: 30px; margin-bottom: 50px; }
.c4 .stp > div { margin-bottom: 35px; background-color: #fff; text-align: left; padding: 40px 40px 40px 280px; position: relative; }
.c4 .stp > div > span { font-size: 1.7rem; font-weight: bold; width: 130px; height: 130px; align-items: center; justify-content: center; display: flex; flex-direction: column; color: #fff; background-color: #3378c2; border-radius: 50%; position: absolute; left: 60px; top: 35px; }
.c4 .stp > div > span i { font-size: 4.6rem; line-height: 1; font-style: normal; display: block; }
.c4 .stp > div:before { content: ''; width: 20px; height: calc(100% - 50px); position: absolute; background: url(../img/arrow2.png) no-repeat right bottom, linear-gradient(#3378c2, #3378c2) no-repeat right; background-size: auto, 8px calc(100% - 20px); bottom: -35px; left: 110px; }
.c4 .stp h3 { font-size: 2.4rem; margin-bottom: 15px; font-weight: bold; }
.c4 .stp p { line-height: 2; max-width: 760px; }
.c4 .stp p span { color: #ff0033; }
.c4 .stp > div:last-child { background: url(../img/bg2.png) no-repeat 45px center; background-color: #3378c2; color: #fff; padding-top: 50px; padding-bottom: 50px; }
.c4 .stp > div:last-child:before { display: none; }
.c4 .stp > div:last-child h3 { font-size: 4rem; }
.c4 .stp > div:last-child p { max-width: 100%; }

.c5 { padding: 100px 20px; }
.c5 .cont { max-width: 1100px; margin: 0 auto; }
.c5 p { font-size: 4.2rem; font-weight: bold; color: #0252a8; font-family: 'Noto Sans JP', sans-serif; margin-bottom: 30px; }
.c5 .im { text-align: center; margin-bottom: 45px; }

/* Footer */

footer { background-color: #ecf7fe; }
footer .cont { background: url(../img/footer.jpg) no-repeat center bottom; background-size: 100% auto; padding: 80px 20px 260px 20px; }
footer .ct { max-width: 460px; margin: 0 auto; text-align: left; }
footer .ct .ti { font-size: 2.8rem; font-weight: bold; color: #003399; margin-bottom: 10px; }
footer .ct .st { font-size: 2rem; font-weight: bold; margin-bottom: 20px; }
footer .ct p { font-size: 1.6rem; line-height: 1.8; margin-bottom: 30px; }
footer .ct .tel { font-size: 4.6rem; font-weight: bold; line-height: 1.2; margin-bottom: 10px; }
footer .ct .tel a { background: url(../img/tel.png) no-repeat 0px 2px; display: inline-block; padding-left: 64px; pointer-events: none; }
footer .ct .logo { text-align: center; }

footer .cont2 { background-color: #0252a8; color: #fff; padding: 30px 20px 50px 20px; }
footer .cont2 a { color: #fff; margin: 0px 20px; }
footer .cont2 a:hover { text-decoration: underline; }
footer address { font-style: normal; font-size: 1.4rem; margin-top: 15px; }

.ptop { position: fixed; right: 20px; bottom: 40px; z-index: 100; }
.ptop a { display: block; width: 60px; height: 60px; background: url(../img/ptop.png) no-repeat center; position: absolute; right: 0px; bottom: 0px; color: #fff; opacity: 0; pointer-events: none; transform: translateY(10px); }
.ptop.up a { opacity: 0.9; pointer-events: all; transform: translateY(0px); }
.ptop.up a:hover { opacity: 1; }

/* Animation */

.ani_a, .ani_a .a1, .ani_a .a2, .ani_a .a3, .ani_a .a4, .ani_a .a5 { transition: all 1s ease-out; opacity: 0; transform: translateY(20px); }
.ani_a.do, .ani_a.do .a1, .ani_a.do .a2, .ani_a.do .a3, .ani_a.do .a4, .ani_a.do .a5 { opacity: 1; transform: translateY(0px); }
.ani_a .a1 { transition-delay: 0.25s; }
.ani_a .a2 { transition-delay: 0.5s; }
.ani_a .a3 { transition-delay: 0.75s; }
.ani_a .a4 { transition-delay: 1s; }
.ani_a .a5 { transition-delay: 1.25s; }

/* SP Responsive */

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

.mainbnr h1 { font-size: 6.2rem; }
.mainbnr h1 span { font-size: 5rem; }

.c1 h2 span { display: inline; background-position: 0px 5px; background-size: 30px auto; padding-left: 50px; }
.c1 .tx { padding: 50px 0px; margin-bottom: 30px; }
.c1 .tx div { text-align: center; margin-bottom: 40px; }
.c1 .tx ul { padding-left: 360px; }

.c2 .tx .pt { width: 200px; padding: 20px 10px; }
.c2 .tx .pt div { font-size: 1.2rem; padding-right: 10px; margin-right: 10px; }
.c2 .tx .pt div > span { font-size: 2rem; }
.c2 .tx .pt > span { font-size: 4rem; }
.c2 .tx h3 { margin-left: 240px; padding-top: 20px; }
.c2 .tx h3 span { font-size: 5rem; margin: -18px 0px; }
.c2 .tx h3 + p { margin-left: 240px; }

.ls1 { flex-flow: row wrap; justify-content: center; }
.ls1 > div { flex: 0 0 33.33%; padding-top: 100px; background-size: 100px auto !important; margin-bottom: 30px; }

.ls1b > div { flex: 1; }

.c3 .stp > div { margin: 0px 10px; height: 280px; }
.c3 .stp h3 { padding-bottom: 100px; margin-bottom: 20px; background-size: 80px auto !important; }
.c3 .stp p { min-height: 3em; }
  
.cta_t .ti.pc,
.c5 p.pc { display: none; }
.ipad { display: block; }
}

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

body { font-size: 1.3rem; min-width: 0px; overflow-x: hidden; image-rendering: auto; }
a { -webkit-touch-callout: none; user-select: none; -webkit-user-select: none; }
a:hover { text-decoration: none; }
a:hover img { opacity: 1; }
a:active img { opacity: 0.8; }
img { max-width: 100%; height: auto; backface-visibility: initial; -webkit-backface-visibility: initial; }
.ipad { display: none; }
.sp { display: block; }
.pc { display: none; }

/* Header */

header { padding: 12px 15px; }
header div { padding: 0px; }
header div img { width: 95px; }
header div span { margin: 13px 0px 0px 10px; font-size: 1rem; }

/* Content */

.mainbnr { background: url(../img/mainbnr_bg_sp.jpg) no-repeat center; padding: 10px; background-size: cover; }
.mainbnr .cont { height: 275px; }
.mainbnr .cont div { font-size: 1.6rem; text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.2); padding: 8px 30px 10px 30px; margin-bottom: 15px; }
.mainbnr .cont div span { font-size: 2.4rem; margin: -7px 0px; }
.mainbnr .cont div sup { font-size: 0.9rem; }
.mainbnr h1 { font-size: 3rem; text-shadow: 1px 2px 3px rgba(0, 0, 0, 0.2); margin-bottom: 20px; }
.mainbnr h1 span { font-size: 2.2rem; }
/*.mainbnr p { display: none; }*/

.cta { padding: 20px; }
.cta .cont { padding: 10px 0px; }
.cta .ti { font-size: 1.8rem; margin-bottom: 15px; }
.cta p { font-size: 1.2rem; line-height: 1.6; margin-bottom: 20px; }
.btn a { height: 60px; font-size: 1.6rem; padding: 5px 50px; background-position: right 17px center, center; background-size: 26px auto, auto 100%; border-radius: 50px; }
.btn a:hover { background-size: 26px auto, auto 150%; }
.btn a i { font-size: 1.2rem; padding: 0px 15px; background-position: 0px 7px, right 7px; background-size: 8px auto; }
.btn a i b { font-size: 1.8rem; margin-bottom: -5px; }

.cta_t { padding: 30px 20px; }
.cta_t .tx { margin-bottom: 20px; background-size: 25px auto; background-position: 0px top, right top; padding: 0px 30px; }
.cta_t .ti { font-size: 2.2rem; }
.cta_t .ti b { font-size: 3.2rem; }
.cta_t .ti span { font-size: 1.6rem; line-height: 1.8; margin: 10px 0px 5px 0px; }

.c1 { padding: 30px 20px; }
.c1 .tx { background-position: 0px center; background-size: 120px auto; padding: 10px 0px; margin: 0px 0px 40px -20px; }
.c1 .tx div { font-size: 1.8rem; margin-bottom: 20px; text-align: center; }
.c1 .tx ul { padding-left: 130px; }
.c1 .tx li { padding: 5px 0px 5px 30px; margin-bottom: 5px; font-size: 1.3rem; background-size: 23px auto; background-position: 0px 3px; }
.c1 h2 { font-size: 2rem; margin-bottom: 20px; }
.c1 h2 span { display: inline; background-position: 0px 2px; background-size: 18px auto; padding-left: 30px; }
.c1 p { margin-bottom: 0px; }

.t1 { font-size: 1.8rem; margin: 10px 0px 20px 0px; }
.t1 span { font-size: 2.8rem; padding-top: 10px; }
.t1 b { font-size: 4.3rem; margin-top: -15px; }

.c2 { padding: 40px 20px; }
.c2 .tx { margin-bottom: 25px; padding: 20px; }
.c2 .tx .pt { position: static; width: 140px; margin: 0 auto; border-radius: 5px; padding: 8px 5px; }
.c2 .tx .pt div { font-size: 0.9rem; border-right-width: 1px; padding-right: 8px; margin-right: 8px; }
.c2 .tx .pt div > span { font-size: 1.2rem; padding-top: 2px; display: block; }
.c2 .tx .pt > span { font-size: 2.6rem; padding-top: 3px; }
.c2 .tx h3 { margin-left: 0px; font-size: 1.6rem; line-height: 2; margin-bottom: 15px; padding-top: 30px; text-align: center; }
.c2 .tx h3 span { font-size: 3.1rem; margin: -18px 0px; }
.c2 .tx h3 + p { margin-left: 0px; line-height: 1.8; margin-bottom: 0px; }

.ls1 { margin: 0px; padding-top: 10px; display: block; }
.ls1 > div { padding: 0px; padding-top: 100px; background-size: 110px auto !important; margin-top: 20px; margin-bottom: 0px; }
.ls1 h4 { font-size: 1.6rem; max-width: 100%; margin-bottom: 10px; }
.ls1 h4 br { display: none; }
.ls1 p { max-width: 100%; padding: 0px 10px 10px 10px; }

.ls2 { margin: 20px 0px 10px 0px; }

.ls1b { padding: 10px 0px 0px 0px; }

.c3 { padding: 30px 20px; }
.c3 .stp { display: block; margin-bottom: 40px; padding-top: 10px; }
.c3 .stp > div { margin: 0px 20px 20px 20px; height: 180px; padding: 10px; }
.c3 .stp > div:before { width: 20px; height: 20px; right: auto; left: 50%; top: auto; bottom: -10px; margin: 0px 0px 0px -10px; }
.c3 .stp h3 { font-size: 2rem; padding-bottom: 90px; margin-bottom: 10px; background-size: 90px auto !important; }
.c3 .stp p { font-size: 1.6rem; position: relative; z-index: 2; margin-top: -5px; min-height: 0px; }
.c3 .stp + p { line-height: 1.8; margin-bottom: 10px; }

.c4 { padding: 30px 20px; }
.c4 .stp { padding-top: 10px; margin-bottom: 10px; }
.c4 .stp > div { margin-bottom: 20px; padding: 20px 15px 20px 90px; }
.c4 .stp > div > span { font-size: 1rem; width: 60px; height: 60px; left: 15px; top: 15px; }
.c4 .stp > div > span i { font-size: 2.3rem; line-height: 1; font-style: normal; display: block; }
.c4 .stp > div:before { width: 10px; height: calc(100% - 30px); background-size: 10px auto, 4px calc(100% - 10px); bottom: -20px; left: 37px; }
.c4 .stp h3 { font-size: 1.6rem; margin-bottom: 10px; }
.c4 .stp p { line-height: 1.8; }
.c4 .stp > div:last-child { background-position: center 20px; background-size: 80px auto; padding: 120px 20px 20px 20px; }
.c4 .stp > div:last-child h3 { font-size: 2rem; text-align: center; }

.c5 { padding: 45px 20px; }
.c5 p { font-size: 2rem; margin-bottom: 20px; }
.c5 .im { margin-bottom: 30px; }

/* Footer */

footer .cont { background-size: 160% auto; padding: 40px 20px 100px 20px; }
footer .ct { max-width: 320px; text-align: center; }
footer .ct .ti { font-size: 1.8rem; margin-bottom: 5px; }
footer .ct .st { font-size: 1.5rem; margin-bottom: 10px; }
footer .ct p { font-size: 1.2rem; margin-bottom: 20px; }
footer .ct .tel { font-size: 2.6rem; line-height: 1.2; margin-bottom: 10px; }
footer .ct .tel a { background-position: 0px 1px; background-size: 30px auto; padding-left: 40px; pointer-events: all; }

footer .cont2 { padding: 20px 10px; font-size: 1.2rem; }
footer .cont2 a { margin: 0px 10px; }
footer address { font-size: 1rem; margin-top: 10px; }

.ptop { right: 10px; bottom: 70px; }
.ptop a { width: 40px; height: 40px; background-size: 100% 100%; }

}

/* SP Responsive Small */

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

.mainbnr .cont div { font-size: 1.4rem; }
.mainbnr .cont div span { font-size: 2rem; margin: -6px 0px; }
.mainbnr .cont div sup { font-size: 0.8rem; }
.mainbnr h1 { font-size: 2.6rem; }

.cta p { font-size: 1.1rem; }

.cta_t .tx { background-size: 15px auto; padding: 0px 20px; }
.cta_t .ti { font-size: 1.8rem; }
.cta_t .ti b { font-size: 2.4rem; }
.cta_t .ti span { font-size: 1.4rem; line-height: 1.6; }

footer .cont2 { font-size: 1.1rem; }
footer .cont2 a { margin: 0px 5px; }
footer address { font-size: 0.9rem; }

}