@charset "UTF-8";

@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);
@import url(https://fonts.googleapis.com/earlyaccess/sawarabimincho.css);
@import url(https://fonts.googleapis.com/css?family=Montserrat:400,700);

* {box-sizing:border-box;}
.clearfix:after {content:""; display:block; clear:both;}

body {width:100%; margin:0 auto; padding:0; letter-spacing:0.5px; font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,"ＭＳ Ｐゴシック", "MS PGothic", sans-serif; -webkit-text-size-adjust:100%;}
header, main, footer, section {display:block; width:100%; max-width:100%; margin:0 auto; padding:0 0; position:relative;}
h1, h2, h3, h4, h5, p, ul, ol, li, dl, dt, dd, a {margin:0; padding:0; width:auto; height:auto; font-size:1rem; line-height:1.6; font-weight:normal; text-align:left; text-decoration:none; color:#000; letter-spacing:0.5px; list-style:none;}
a:hover {opacity:0.9; filter:brightness(120%);}
span {display:inline-block;}


.btn_02 {position:relative; margin:0 auto; padding:0; text-align:center !important;}
.btn_02 > span {display:block; margin:0 auto 0 auto; font-size:16px; font-weight:400; line-height:25px; height:25px; color:#fff; text-align:center;}
.btn_02 a {position:relative; display:inline-block; margin:0 auto; padding:15px 25px; font-size:26px; line-height:1.6; color:#de1a31; text-align:center; font-weight:600; border-radius:50px; background:#fff100; box-shadow:0 10px 0 0 rgba(227,185,0,1);}
.btn_02 a small {margin-right:5px; font-size:26px; color:#0e0e0e;}
.btn_02 a i {margin-right:5px; font-size:28px; color:#de1a31;}
.btn_02 a span {vertical-align:middle;}

.btn_01,
.btn_03 {position:relative; margin:0 auto; padding:0; text-align:center !important;}
.btn_01::before,
.btn_03::before {content:""; display:block; width:100%; height:25px;}
.btn_01 a,
.btn_03 a {position:relative; display:inline-block; margin:0 auto; padding:13px 25px; font-size:26px; line-height:1.6; color:#e3b900; text-align:center; font-weight:600; border-radius:50px; background:#fff; border:2px solid #e3b900;}
.btn_01 a span,
.btn_03 a span {position:relative; padding:0 30px 0 0;}
.btn_01 a span::after {font-family:'Font Awesome 5 Free'; content:'\f0e0'; position:absolute; right:0; top:50%; transform:translate(0, -50%); -webkit-transform:translate(0%, -50%); -ms-transform:translate(0, -50%); font-size:22px; line-height:1;}
.btn_03 a span::after {font-family:'Font Awesome 5 Free'; content:'\f019'; position:absolute; right:0; top:50%; transform:translate(0, -50%); -webkit-transform:translate(0%, -50%); -ms-transform:translate(0, -50%); font-size:22px; line-height:1;}
.btn_01 a br,
.btn_03 a br {display:none;}

header {position:fixed; top:0; left:0; height:100px; z-index:900; background:rgba(255,255,255,0.7);}
header > div {display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; margin:0 auto; padding:0 0; width:100%; height:100%; max-width:1200px;}

header > div p {display:flex; flex-basis:320px;}
header > div p img {width:auto; height:auto; max-width:100%;}

header > div ul {display:flex; flex-wrap:wrap; justify-content:center; align-items:center; margin:0 0; padding:0 0 5px 0;}
header > div ul li.btn_02 {margin:0 0 0 0;}
header > div ul li.btn_02 > span {font-size:14px; line-height:20px; height:20px; color:#0e0e0e;}
header > div ul li.btn_02 a {padding:15px 20px; font-size:20px; line-height:30px; box-shadow:0 5px 0 0 rgba(227,185,0,1);}
header > div ul li.btn_02 a small {font-size:20px;}
header > div ul li.btn_02 a i {font-size:22px;}

header > div ul li.btn_01,
header > div ul li.btn_03 {margin:0 0 0 20px;}
header > div ul li.btn_01::before,
header > div ul li.btn_03::before {height:20px;}
header > div ul li.btn_01 a,
header > div ul li.btn_03 a {padding:4px 20px; font-size:18px; line-height:24px;}
header > div ul li.btn_01 a span,
header > div ul li.btn_03 a span {padding:0 25px 0 0;}
header > div ul li.btn_01 a span::after {font-size:18px;}
header > div ul li.btn_03 a span::after {font-size:16px;}
header > div ul li.btn_01 a br,
header > div ul li.btn_03 a br {display:block;}

#hbg-chk {position:absolute; width:1px; height:1px; margin:-1px; border:0; padding:0; overflow:hidden; clip:rect(1px, 1px, 1px, 1px);}
#hbg {position:absolute; top:-99999px;}

#hd_menu {display:none;}
#hd_menu li,
#mv_menu li {cursor:pointer;}
#hd_menu li:hover,
#mv_menu li:hover {opacity:0.9; filter:brightness(120%);}

main {padding-top:100px;}

footer {margin:0 auto; padding:40px 0 40px 0; background:#0077c3;}
footer p {position:relative; margin:0 auto; padding:0 0; font-size:12px; line-height:20px; font-weight:200; text-align:center; color:#fff; z-index:500;}

section {margin:0 auto; padding:0 0;}
section > div {margin:0 auto; padding:50px 0 100px 0; width:100%; max-width:1200px; text-align:center;}
section > div h2 {display:inline-block; margin:0 auto 40px auto; padding:0 5px; text-align:center; font-size:44px; font-weight:600; border-bottom:10px solid #0077c3;}
section > div h3 {margin:0 auto 60px auto; padding:25px 10px 15px 10px; text-align:center; font-size:24px; font-weight:600;}
section > div h4 {margin:0 auto 10px auto; padding:0; text-align:center; font-size:28px; font-weight:600;}
section > div p {font-size:18px;}


.sc_cta {background:#0077c3;}
.sc_cta > div {margin:0 auto; padding:40px 0 50px 0; width:100%; height:100%; max-width:1200px;}
.sc_cta > div ul {display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; margin:0 auto; padding:0 0;}
.sc_cta > div ul li {margin:0 0;}
.sc_cta > div ul li.btn_01 a,
.sc_cta > div ul li.btn_03 a {color:#fff; border-color:#fff; background:transparent;}

.jagged {}
.jagged::before {content:""; display:block; width:100%; height:0; margin: 0 auto 60px auto; padding:40px 0 0 0; background:#f2f2f2 url(../img/icon_09.png) repeat-x left 0 top 0 / contain;}

#sc_mv {background:#F7C85F;}
#sc_mv > div {position:relative; margin:0 auto; padding:0 0; width:100%; height:100%; max-width:100%; z-index:50;}
#sc_mv > div h1 {margin:0 auto; padding:20px 10px; font-size: 40px; font-weight: 600; text-align:center; color: #fff; background: #d4484b;}
#sc_mv > div ol {margin:40px auto 20px auto; padding:0 0; width:100%; max-width:1200px; background:url(../img/mv_bg.png) no-repeat right 20px top 0 / contain;}
#sc_mv > div ol li {margin:0 auto; padding:0 0;}
#sc_mv > div ol li div {position:relative; display:inline-flex; justify-content:flex-start; align-items:center; margin:15px auto; padding:0 15px 0 0; font-size:22px; line-height:1.6; text-align:left; font-weight:600; color:#d3484b; background:#fff;}
#sc_mv > div ol li div::before {content:""; display:block; margin:0 25px 0 0; width:120px; height:120px; background:#d3484b url(../img/p_01.png) no-repeat 50% 50% / contain;}
#sc_mv > div ol li:nth-of-type(1) div::before {background:#d3484b url(../img/icon_04_01.png) no-repeat 50% 50% / contain;}
#sc_mv > div ol li:nth-of-type(2) div::before {background:#d3484b url(../img/icon_04_02.png) no-repeat 50% 50% / contain;}
#sc_mv > div ol li:nth-of-type(3) div::before {background:#d3484b url(../img/icon_04_03.png) no-repeat 50% 50% / contain;}
#sc_mv > div ol li span {font-weight:600; color:#d3484b;}
#sc_mv > div ol li strong {display:block; font-size:150%; font-weight:600; color:#d3484b;}
#sc_mv > div div.intro {position:relative; display:inline-flex; flex-wrap:wrap; justify-content:center; align-items:center; margin:20px auto 0 auto; padding:0 40px 0 40px; width:auto; height:100px; max-width:1200px; background:#fff;}
#sc_mv > div div.intro::before {position:absolute; left:-110px; top:50%; transform:translate(0, -50%); -webkit-transform:translate(0, -50%); -ms-transform:translate(0, -50%); content:""; display:block; width:140px; height:160px; background:url(../img/medal.png) no-repeat left 50% top 50% / contain; z-index:100;}
#sc_mv > div div.intro::after {position:absolute; left:50%; bottom:-50px; transform:translate(-50%, 0); -webkit-transform:translate(-50%, 0); -ms-transform:translate(-50%, 0); content:""; display:block; width:150px; height:50px; background:url(../img/icon_10.png) no-repeat left 50% bottom 0 / contain;}
#sc_mv > div div.intro p {display:inline-flex; flex-wrap:wrap; justify-content:flex-start; align-items:center; margin:0 auto; padding:0 0; font-size:40px; font-weight:600;}
#sc_mv > div div.intro p span {position:relative; margin:0 5px 0 0; width:290px; height:45px; font-size:10px; line-height:45px; text-align:center; color:#fff; background:#fff;}
#sc_mv > div div.intro p span::before {position:absolute; left:0; top:0; content:""; display:block; width:100%; height:100%; background:#fff url(../img/logo_rmx.png) no-repeat left 0 top 50% / contain; z-index:100;}



#sc_01 {margin-top:-50px; padding-top:80px;}
#sc_02 {}
#sc_03 {}

.bfr_aft {background:#f2f2f2;}
.bfr_aft > div {}
.bfr_aft > div > div {position:relative;}
.bfr_aft > div > div p {margin:0 auto 40px auto; font-size:22px; line-height:1.6; text-align:center;}
.bfr_aft > div > div p span {}
.bfr_aft > div > div.bfr p strong {font-weight:400; color:#d3484b;}
.bfr_aft > div > div.aft p strong {font-weight:400; color:#0077c3;}
.bfr_aft > div > div p.problem {position:relative; display:inline-flex; justify-content:flex-start; align-items:center; margin:20px auto 40px auto; padding:0 15px 0 0; font-size:22px; line-height:1.6; text-align:left; font-weight:600; color:#d3484b; background:#fff;}
.bfr_aft > div > div p.problem::before {content:""; display:block; margin:0 25px 0 0; width:120px; height:120px; background:#d3484b url(../img/p_01.png) no-repeat 50% 50% / contain;}
#sc_01.bfr_aft > div > div p.problem::before {background:#d3484b url(../img/icon_04_01.png) no-repeat 50% 50% / contain;}
#sc_02.bfr_aft > div > div p.problem::before {background:#d3484b url(../img/icon_04_02.png) no-repeat 50% 50% / contain;}
#sc_03.bfr_aft > div > div p.problem::before {background:#d3484b url(../img/icon_04_03.png) no-repeat 50% 50% / contain;}
.bfr_aft > div > div p.problem span {font-weight:600; color:#d3484b;}
.bfr_aft > div > div p.problem strong {display:block; font-size:150%; font-weight:600; color:#d3484b;}
.bfr_aft > div > div p.problem + h2 {border-color:#d3484b;}
.bfr_aft > div > div.bfr {position:relative; padding:0 0 0 0;}
.bfr_aft > div > div.bfr dl {display:inline-flex; justify-content:center; align-items:center; margin:0 auto 30px auto; border:2px solid #000;}
.bfr_aft > div > div.bfr dl dt {padding:5px 20px; font-size:18px; color:#fff; background:#000; border-left:2px solid #000;}
.bfr_aft > div > div.bfr dl dd {padding:5px 20px; font-size:18px; background:#fff; border-left:2px solid #000;}
.bfr_aft > div > div.aft {position:relative; padding:80px 50px 60px 50px; background:#fff;}
.bfr_aft > div > div.aft::before {position:absolute; left:50%; top:0; transform:translate(-50%, -50%); -webkit-transform:translate(-50%, -50%); -ms-transform:translate(-50%, -50%); content:""; display:block; margin:0 auto; width:120px; height:120px; background:url(../img/icon_05.png) no-repeat 50% 50% / contain;}
.bfr_aft > div > div.aft h2 {margin:0 auto 40px auto;}
.bfr_aft > div > div.aft h2 + div {position:relative; display:flex; justify-content:flex-start; margin:0 auto; padding:0 0; max-width:800px; text-align:left;}
.bfr_aft > div > div.aft h2 + div > div {flex-shrink:0; content:""; display:block; margin:0 40px 0 0; height:200px; line-height:0.5;}
.bfr_aft > div > div.aft h2 + div > div img {width:auto; height:auto; max-width:100%; max-height:100%;}
.bfr_aft > div > div.aft h2 + div p {margin:0 0; text-align:left;}
.bfr_aft > div > div.aft h2 + div p span {display:inline;}
.bfr_aft > div > div.bfr + p {position:relative; margin:0 auto; padding:0 0 100px 0;}
.bfr_aft > div > div.bfr + p::before {content:""; display:block; margin:0 auto 25px auto; width:100%; height:55px; background:#f2f2f2 url(../img/logo_rmx.png) no-repeat 50% 50% / contain;}
.bfr_aft > div > div.bfr + p::after {content:""; display:block; margin:0 auto; width:100%; height:120px; background:url(../img/icon_07.png) no-repeat 50% 50% / contain;}
.bfr_aft > div > div.bfr + p span {position:absolute; left:50%; top:10px; transform:translate(-50%, 0); -webkit-transform:translate(-50%, 0); -ms-transform:translate(-50%, 0); font-size:10px; line-height:10px; color:#f2f2f2; background:#f2f2f2; z-index:-100;}

#sc_04 {background:#0077c3;}
#sc_04 > div {padding:20px 0 100px 0;}
#sc_04 > div div {position:relative; display:inline-flex; flex-wrap:wrap; justify-content:flex-start; align-items:center; margin:0 auto; padding:0 0; max-width:1200px;}
#sc_04 > div div::before {content:""; display:block; margin:0 20px 0 0; width:200px; height:230px; background:url(../img/medal.png) no-repeat left 0 top 50% / contain;}
#sc_04 > div div h2 {margin:0 0; font-size:48px; color:#F7D872; border-color:#F7D872;}
#sc_04 > div div h2::before {content:""; display:block; margin:0 auto 20px auto; width:100%; height:75px; background:url(../img/logo_rmx_white.png) no-repeat left 50% top 0 / contain;}
#sc_04 > div h3 {margin:20px auto 20px auto; padding:0 0; font-size:48px; color:#fff; border-color:#fff;}

ul#about_01 {display:flex; flex-wrap:wrap; justify-content:space-between; margin:0 auto 40px auto; padding:0 0;}
ul#about_01 li {position:relative; flex-basis:24%; margin:20px 0 0 0; padding:21% 0 0 0; height:0; background:#fdfdfd; border-radius:4px; border:1px solid #ccc; overflow:hidden;}
ul#about_01 li::before {position:absolute; left:0; top:0; content:""; display:block; width:100%; height:100%; background:url(../img/05_01.png) no-repeat left 50% top 0 / contain;}
ul#about_01 li:nth-of-type(1)::before {background:url(../img/05_01.png) no-repeat left 50% top 0 / contain;}
ul#about_01 li:nth-of-type(2)::before {background:url(../img/05_02.png) no-repeat left 50% top 0 / contain;}
ul#about_01 li:nth-of-type(3)::before {background:url(../img/05_03.png) no-repeat left 50% top 0 / contain;}
ul#about_01 li:nth-of-type(4)::before {background:url(../img/05_04.png) no-repeat left 50% top 0 / contain;}

ul#about_02 {display:flex; flex-wrap:wrap; justify-content:space-between; margin:0 auto; padding:0 0;}
ul#about_02 li {position:relative; flex-basis:49%; margin:20px 0 0 0; padding:49% 0 0 0; height:0; background:#fdfdfd; overflow:hidden;}
ul#about_02 li::before {position:absolute; left:0; top:0; content:""; display:block; width:100%; height:100%; background:url(../img/03_01.png) no-repeat left 50% top 0 / contain;}
ul#about_02 li:nth-of-type(1)::before {background:url(../img/03_01.png) no-repeat left 50% top 0 / contain;}
ul#about_02 li:nth-of-type(2)::before {background:url(../img/03_02.png) no-repeat left 50% top 0 / contain;}
ul#about_02 li:nth-of-type(3)::before {background:url(../img/03_03.png) no-repeat left 50% top 0 / contain;}
ul#about_02 li:nth-of-type(4)::before {background:url(../img/03_04.png) no-repeat left 50% top 0 / contain;}


#sc_06 {background:#0da7f2;}
#sc_06::before {content:""; display:block; width:100%; height:0; padding:40px 0 0 0; background:#0da7f2 url(../img/icon_08.png) repeat-x left 0 top 0 / contain;}
#sc_06 > div {padding:100px 0 115px 0;}
#sc_06 > div ol {position:relative; display:flex; flex-wrap:wrap; justify-content:center; margin:0 auto 20px auto; padding:0 0; overflow:hidden;}
#sc_06 > div ol::before {content:""; display:block; position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); -webkit-transform:translate(-50%, -50%); -ms-transform:translate(-50%, -50%); width:10px; height:20px; background:url(../img/icon_11.png) no-repeat left 50% top 50% / contain;}
#sc_06 > div ol li {position:relative; flex-basis:30%; margin:20px 20px 0 20px; padding:17.5% 0 0 0; height:0; background:#fff; border-radius:4px; border:1px solid #ccc; overflow:hidden;}
#sc_06 > div ol li::before {position:absolute; left:0; top:0; content:""; display:block; width:100%; height:100%; background:url(../img/06_03.png) no-repeat left 50% top 0 / contain;}
#sc_06 > div ol li:nth-of-type(1)::before {background:url(../img/06_03.png) no-repeat left 50% top 0 / contain;}
#sc_06 > div ol li:nth-of-type(2)::before {background:url(../img/06_04.png) no-repeat left 50% top 0 / contain;}
#sc_06 > div h2 {color:#fff; border-color:#fff;}
#sc_06 > div h2 strong {}
#sc_06 > div h3 {margin:20px auto 10px auto; padding:0 0; text-align:center; font-size:40px; line-height:1.4; font-weight:600; color:#fff;}
#sc_06 > div h3 strong {color:#ffff33;}
#sc_06 > div h3 span.fs_l {display:block; font-size:150%;}
#sc_06 > div h3 strong.fs_l {font-size:150%;}
#sc_06 > div h3 strong.with_icon {position:relative; display:inline-block; margin:0 10px 0 0; padding:0 90px 0 10px; line-height:80px;}
#sc_06 > div h3 strong.with_icon::after {content:""; display:block; position:absolute; right:0; top:50%; transform:translate(0, -50%); -webkit-transform:translate(0, -50%); -ms-transform:translate(0, -50%); width:80px; height:80px; background:url(../img/icon_12.png) no-repeat left 50% top 50% / contain;}
#sc_06 > div h3 + h4 {display:inline-block; margin:0 auto 20px auto; font-size:30px; line-height:1.2; font-weight:600; color:#fff; border-bottom:4px solid #fff;}
#sc_06 > div h3 + h4 strong.fs_l {font-size:160%;}
#sc_06 > div h4 + p {text-align:center; color:#fff; font-weight:600;}
#sc_06 > div h4 + p strong {color:#ffff33;}
#sc_06 > div h4 + p strong.fs_l {font-size:170%;}
#sc_06 > div ol + h4 {margin:0 auto 40px auto; padding:0 0; font-size:35px; font-weight:600; color:#fff;}
#sc_06 > div ol + h4 span {position:relative; padding:0 40px 0 95px;}
#sc_06 > div ol + h4 span::before {content:""; display:block; position:absolute; left:0; top:50%; transform:translate(0, -50%); -webkit-transform:translate(0, -50%); -ms-transform:translate(0, -50%); width:90px; height:75px; background:url(../img/icon_13_a.png) no-repeat left 50% top 50% / contain;}
#sc_06 > div ol + h4 span::after {content:""; display:block; position:absolute; right:0; top:50%; transform:translate(0, -50%); -webkit-transform:translate(0, -50%); -ms-transform:translate(0, -50%); width:35px; height:75px; background:url(../img/icon_13_b.png) no-repeat left 50% top 50% / contain;}
#sc_06 > div ol + h4 strong {color:#ffff33;}
#sc_06 > div ol + h4 strong.fs_l {font-size:150%;}
#sc_06 > div ul {display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; margin:0 auto; padding:0 0;}
#sc_06 > div ul li {margin:0 0;}
#sc_06 > div ul li.btn_01 a {color:#fff; border-color:#fff; background:transparent;}
#sc_06 > div ul li.btn_03 a {color:#fff; border-color:#fff; background:transparent;}


#sc_99 > div {padding:50px 0;}
#sc_99 > div dl {margin:0 auto 40px auto; padding:0 0; border:2px solid #0077c3; max-width:500px;}
#sc_99 > div dl dt {margin:0 auto; padding:10px 10px; font-size:16px; font-weight:400; color:#fff; text-align:center; background:#0077c3;}
#sc_99 > div dl dd {margin:0 auto; padding:10px 20px; font-size:16px; color:#0077c3; text-align:center;}
#sc_99 > div dl dd span {margin:0 auto; padding:0 0; text-align:left;}
#sc_99 > div dl dd a {display:inline-block; margin:20px auto 0 auto; padding:0 0; width:300px; text-align:center; line-height:0.5;}
#sc_99 > div dl dd a img {width:auto; height:auto; max-width:100%;}
#sc_99 > div > div a {display:inline-block; margin:0 auto; padding:0 0;}
#sc_99 > div > div a p:nth-of-type(1) {display:inline-block; margin:0 auto; padding:0 0; width:460px; height:80px; text-align:center; line-height:0.5;}
#sc_99 > div > div a p:nth-of-type(2) {margin:10px auto 0 auto; padding:0 0; font-size:18px; font-weight:600; text-align:center; color:#0077c3;}
#sc_99 > div > div a p img {width:auto; height:auto; max-width:100%;}
#sc_99 > div > p {margin:0 auto; padding:0 0; font-size:14px; text-align:center; color:#0077c3;}


@media only screen and (max-width:768px) {

.btn_02 > span {font-size:12px; line-height:20px; height:20px;}
.btn_02 a {padding:15px 20px; font-size:18px; line-height:30px; box-shadow:0 5px 0 0 rgba(227,185,0,1);}
.btn_02 a small {font-size:18px;}
.btn_02 a i {font-size:20px;}

.btn_01::before,
.btn_03::before {height:20px;}
.btn_01 a,
.btn_03 a {padding:6px 20px; font-size:16px; line-height:22px;}
.btn_01 a span,
.btn_03 a span {padding:0 22px 0 0;}
.btn_01 a span::after,
.btn_03 a span::after {font-size:16px;}
.btn_01 a br,
.btn_03 a br {display:block;}

header {height:85px;}
header > div {padding:10px 0 15px 0; width:92%;}
header > div p {flex-basis:200px;}
header > div ul li.btn_02 > span {margin-bottom:3px; font-size:12px; line-height:12px; height:12px;}
header > div ul li.btn_02 a {padding:7px 15px; font-size:13px; line-height:18px;}
header > div ul li.btn_02 a small {display:block; margin:0 auto; font-size:14px;}
header > div ul li.btn_02 a i {font-size:16px; vertical-align:middle;}

header > div ul li.btn_01,
header > div ul li.btn_03 {margin:0 0 0 10px;}
header > div ul li.btn_01::before,
header > div ul li.btn_03::before {height:15px;}
header > div ul li.btn_01 a,
header > div ul li.btn_03 a {padding:5px 15px; font-size:13px; line-height:18px;}
header > div ul li.btn_01 a span,
header > div ul li.btn_03 a span {padding:0 20px 0 0;} 
header > div ul li.btn_01 a span::after,
header > div ul li.btn_03 a span::after {font-size:14px;}

main {padding-top:85px;}

footer {padding:20px 0;}

section > div {padding:40px 0; width:92%;}
section > div h2 {
    margin: 0 auto 20px auto;
    font-size: 22px;
 border-width: 5px;}

section > div h2 + p {
    margin: 0 auto 40px auto;
    font-size: 16px;
    line-height:1.6;
}

.sc_cta > div {padding:20px 0 25px 0; width:92%;}
.sc_cta > div ul {justify-content:space-between;}
.sc_cta > div ul li {margin:0 0;}

.jagged::before {
    margin: 0 auto 30px auto;
    padding: 20px 0 0 0;
}


#sc_mv > div {}
#sc_mv > div h1 {padding:10px 10px; font-size:28px;}
#sc_mv > div ol {
    margin: 20px auto 20px auto;
    padding: 0 0;
    width: 92%;
    background: url(../img/mv_bg.png) no-repeat right 0 top 50% / 55% auto;
}
#sc_mv > div ol li div {
    margin: 10px auto;
    padding: 0 10px 0 0;
    font-size: 16px;
}
#sc_mv > div ol li div::before {
    margin: 0 20px 0 0;
    width: 80px;
    height: 80px;
}
#sc_mv > div ol li strong {
    font-size: 140%;
}
#sc_mv > div div.intro {
    margin:20px auto 0 auto;
    padding: 20px 20px 20px 20px;
    height: auto;
}
#sc_mv > div div.intro::before {
    left: -80px;
    width: 100px;
    height: 115px;
}
#sc_mv > div div.intro::after {
    bottom: -30px;
    width: 150px;
    height: 30px;
    background: url(../img/icon_10.png) no-repeat left 50% bottom 0 / contain;
}

#sc_mv > div div.intro p {
    font-size: 20px;
}
#sc_mv > div div.intro p span {
    width: 240px;
    height: 35px;
    line-height: 35px;
}

#sc_01 {
    margin-top: -35px;
    padding-top: 45px;
}

.bfr_aft > div > div.bfr {
}

.bfr_aft > div > div.bfr::before {
    width:100px;
    height:100px;
}

.bfr_aft > div > div.aft::before {
    width: 100px;
    height: 100px;
}

.bfr_aft > div > div.aft h2 {
    margin: 30px auto 30px auto;
}
.bfr_aft > div > div.aft h2 + div > div {
    margin: 0 20px 0 0;
    height: 150px;
}
.bfr_aft > div > div p.problem {
    margin: 0 auto 30px auto;
    font-size: 16px;
    line-height: 1.6;
}
.bfr_aft > div > div p.problem::before {
    margin: 0 20px 0 0;
    width: 80px;
    height: 80px;
}
.bfr_aft > div > div p.problem strong {
    font-size: 140%;
}
.bfr_aft > div > div.bfr dl dt {
    font-size: 16px;
}
.bfr_aft > div > div.bfr dl dd {
    font-size: 16px;
}
.bfr_aft > div > div p {
    margin: 0 auto 20px auto;
    font-size: 18px;
    line-height:1.6;
}

.bfr_aft > div > div.bfr + p {
    padding: 0 0 70px 0;
}

.bfr_aft > div > div.bfr + p::before {
    margin: 0 auto 20px auto;
    height: 40px;
}

.bfr_aft > div > div.bfr + p::after {
    height: 80px;
}

.bfr_aft > div > div.aft {
    padding: 40px 20px 20px 20px;
}

.bfr_aft > div > div.aft p {
    text-align: left;
}
.bfr_aft > div > div p span {
    display: inline;
}

#sc_04 > div div::before {
    margin: 0 10px 0 0;
    width: 100px;
    height: 115px;
}

#sc_04 > div div h2 {
    font-size: 24px;
}
#sc_04 > div div h2::before {
    margin: 0 auto 10px auto;
    width: 100%;
    height: 35px;
}
#sc_04 > div h3 {
    margin: 0 auto;
    font-size: 24px;
}

#sc_06::before {
    padding:20px 0 0 0;
}


ul#about_01 {
    margin: 0 auto 20px auto;
}

#sc_04 > div {padding:10px 0 50px 0;}
#sc_04 > div h2 + p {argin:0 auto 40px auto; font-size:20px;}
#sc_04 > div p.cs_set_img {margin:10px auto 40px auto;}

#sc_06 > div {padding:40px 0 55px 0;}
#sc_06 > div h3 {margin:0 auto 20px auto; font-size:20px;}
#sc_06 > div h3 span.fs_l {display:inline-block;}
#sc_06 > div h3 + h4 {font-size:20px; border-width:2px;}
#sc_06 > div h4 + p {font-size:16px; font-weight:400;}
#sc_06 > div h4 + p span {display:inline;}

#sc_06 > div ol {justify-content:space-between; margin:0 auto;}
#sc_06 > div ol li {flex-basis:calc(50% - 20px); margin:20px 0;}

#sc_06 > div ol + h4 {
    margin: 0 auto 20px auto;
    font-size: 22px;
}
#sc_06 > div ol + h4 span {padding: 0 28px 0 65px;}
#sc_06 > div ol + h4 span::before {
    width: 60px;
    height: 50px;
}
#sc_06 > div ol + h4 span::after {
    width: 23px;
    height: 50px;
}

#sc_06 > div ul {justify-content:space-between;}
#sc_06 > div ul li {margin:0 0;}

#sc_99 > div {padding:40px 0;}
#sc_99 > div dl {margin:0 auto 20px auto; max-width:100%;}
#sc_99 > div dl dd {font-size:14px;}
#sc_99 > div > div a p:nth-of-type(1) {width:280px; height:50px;}
#sc_99 > div > div a p:nth-of-type(2) {font-size:16px;}
#sc_99 > div > p {font-size:12px;}

}


@media only screen and (max-width:420px) {

header {position:absolute; height:auto; background:#fff;}
header > div {padding:0 0; width:100%;}
header > div p {flex-basis:220px; padding:10px 4%; line-height:0.5;}
header > div p img {width:auto; height:28px;}
header > div ul {flex-basis:100%; margin:0 auto; padding:0 0; border-top:1px solid #ccc;}
header > div ul.hd_btn {display:none;}
header > div ul li {padding:15px 4%; font-size:14px; text-align:left; border-right:none; border-bottom:1px solid #ccc;}
header > div ul li::after {content:none;}
header > div ul li span {display:inline-block;}

#hbg {position:absolute; right:10px; top:9px; display:inline-block; width:28px; height:28px; text-indent:28px; white-space:nowrap; overflow:hidden; cursor:pointer; -webkit-tap-highlight-color: rgba(0, 0, 0, 0);}

#hbg span,
#hbg span:before,
#hbg span:after {position:absolute; top:50%; left:2px; height:2px; width:24px; background:#bbb; -webkit-transition:all 0.25s; transition:all 0.25s;}

#hbg span:before {content:""; top:-7px; left:0;}
#hbg span:after {content:""; top:7px; left:0;}

#hbg-chk:checked ~ #hbg span {height:0; background:transparent;}
#hbg-chk:checked ~ #hbg span:before {top:0; -webkit-transform:rotate(-45deg); transform:rotate(-45deg);}
#hbg-chk:checked ~ #hbg span:after {top:0; -webkit-transform:rotate(45deg); transform:rotate(45deg);}
#hbg-chk:not(:checked) ~ #hd_menu {display:none;}
#hbg-chk:checked ~ #hd_menu {display:block;}

main {padding-top:48px;}

section > div {padding:20px 0;}

section > div h2 {margin:0 auto 20px auto; font-size:20px;}
section > div p {font-size:16px;}

section > div h2 + p {margin: 0 auto 20px auto; font-size:14px; text-align:left;}

section > div h3.bln {padding:10px 15px 10px 55px; font-size:16px; line-height:1.4; text-align:left;}

section > div h3.bln::before {left:15px;}

.sc_cta > div {padding:0 0 20px 0;}
.sc_cta > div ul {}
.sc_cta > div ul li {padding:20px 0 0 0;}
.sc_cta > div ul li > span {font-size:12px; line-height:20px; height:20px;}
.btn_02 {flex-basis:100%;}
.btn_01,
.btn_03 {flex-basis:calc((100% - 10px) / 2); padding:20px 0 0 0;}
.btn_01::before,
.btn_03::before {content:none;}
.btn_02 a {padding:15px 10px; font-size:14px; line-height:1.5; width:100%;}
.btn_02 a i {font-size:16px;}
.btn_02 a small {font-size:14px;}
.btn_01 a,
.btn_03 a {padding:5px 5px; font-size:14px; line-height:1.4; width:100%;}
.btn_01 a span,
.btn_03 a span {padding:0 20px 0 0;}
.btn_01 a span::after,
.btn_03 a span::after {font-size:14px;}

#sc_mv > div h1 {
    font-size: 22px;
    line-height:1.4;
}
#sc_mv > div ol {
    margin: 20px auto 5px auto;
    padding: 69% 0 0 0;
    background: url(../img/mv_bg.png) no-repeat left 50% top 0 / contain;
}
#sc_mv > div ol li div {
    width: 100%;
    margin: 0 auto 5px auto;
    padding: 0 5px 0 0;
}
#sc_mv > div ol li div::before {
    margin: 0 10px 0 0;
    width: 70px;
    height: 70px;
}
#sc_mv > div ol li strong {
    font-size: 125%;
}
#sc_mv > div div.intro {
    margin: 10px auto 0 auto;
    padding: 10px 5px 10px 100px;
}

#sc_mv > div div.intro::before {
    left: 10px;
    width: 80px;
    height: 90px;
}

#sc_mv > div div.intro p {
    font-size: 16px;
}
#sc_mv > div div.intro p span {
    margin:0 0 5px 0;
    width: 180px;
    height: 28px;
    line-height: 28px;
}
.bfr_aft > div > div.bfr {
}
.bfr_aft > div > div.bfr::before {
    width: 80px;
    height: 80px;
}
.bfr_aft > div > div.aft::before {
    width: 80px;
    height: 80px;
}

.bfr_aft > div > div p.problem {
    margin: 0 auto 20px auto;
    width: 100%;
}
.bfr_aft > div > div p.problem::before {
    margin: 0 10px 0 0;
    width: 70px;
    height: 70px;
}
.bfr_aft > div > div p.problem strong {
    font-size: 125%;
}
.bfr_aft > div > div.bfr dl {
    display: inline-flex;
    margin: 0 auto 20px auto;
    border: 1px solid #000;
}
.bfr_aft > div > div.bfr dl dt {
	flex-shrink:0;
    padding: 5px 10px;
    font-size: 12px;
    border-left: 1px solid #000;
}
.bfr_aft > div > div.bfr dl dd {
    padding: 5px 10px;
    font-size: 12px;
    border-left: 1px solid #000;
}

.bfr_aft > div > div p {
    font-size: 16px;
    text-align: left;
}

.bfr_aft > div > div.bfr + p::before {
    margin: 0 auto 10px auto;
    height: 35px;
}
.bfr_aft > div > div.bfr + p::after {
    height: 60px;
}

.bfr_aft > div > div.bfr + p {
    padding: 0 0 60px 0;
}

.bfr_aft > div > div.aft h2 {
    margin: 20px auto 20px auto;
}
.bfr_aft > div > div.aft h2 + div {
    display:block;
}
.bfr_aft > div > div.aft h2 + div > div {
    margin: 0 auto 20px auto;
    width: 100%;
    height:150px;
    text-align: center;
}

.bfr_aft > div > div p span {
    display: inline;
}

#sc_01 {
    margin-top: -35px;
    padding-top: 65px;
}

#sc_04 > div div::before {
    margin: 0 10px 0 0;
    width: 80px;
    height: 90px;
}
#sc_04 > div div h2 {
    font-size: 20px;
}
#sc_04 > div h3 {
    font-size: 16px;
}

#sc_04 > div h2 + p {margin:0 auto 20px auto; font-size:14px; font-weight:400;}
#sc_04 > div h2 + p span {display:inline;}

ul#about_01 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto 20px auto;
    padding: 0 0;
}

ul#about_01 li {
    flex-basis: 49%;
    margin: 20px 0 0 0;
    padding: 49.67% 0 0 0;
}

ul#about_02 li {
    flex-basis:100%;
    padding: 100% 0 0 0;
}

#sc_06 > div h3 {margin:0 auto 10px auto; font-size:16px;}
#sc_06 > div h3 strong.with_icon {margin:0 5px 0 0; padding:0 45px 0 5px; line-height:40px;}
#sc_06 > div h3 strong.with_icon::after {width:40px; height:40px;}
#sc_06 > div h3 + h4 {font-size:16px;}
#sc_06 > div h4 + p {font-size:14px; line-height:1.4; text-align:left;}

#sc_06 > div ol::before {width:18px; height:15px; background: url(img/icon_06.png) no-repeat left 50% top 50% / contain;}
#sc_06 > div ol li {flex-basis:100%; padding:58.35% 0 0 0;}

#sc_06 > div ol + h4 {font-size:18px;}
#sc_06 > div ol + h4 span {padding:0 24px 0 53px;}
#sc_06 > div ol + h4 span::before {width:48px; height:40px;}
#sc_06 > div ol + h4 span::after {width:19px; height:40px;}

#sc_99 > div dl dd a {width:240px;}

}


@media only screen and (max-width:320px) {
.sc_cta > div {width:94%;}
.btn_02 a {font-size:12px;}
.btn_02 a i {font-size:14px;}
.btn_02 a small {margin-right:2px; font-size:12px;}
.btn_01 a,
.btn_03 a {font-size:12px;}
.btn_01 a span,
.btn_03 a span {padding:0 18px 0 0;}
.btn_01 a span::after,
.btn_03 a span::after {font-size:12px;}

#sc_mv > div ol li div {font-size:14px;}
#sc_06 > div ol + h4 {font-size:16px;}
}


.go_to_top {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 20px;
  bottom: 40px;
  color: #FFF;
  background-color: #0077c3;
  border-radius: 50px;
  -o-border-radius: 50px;
  -ms-border-radius: 50px;
  -moz-border-radius: 50px;
  -webkit-border-radius: 50px;
  background-clip: padding-box;
  -webkit-box-shadow: 0 0 3px 0 rgba(255, 255, 255, 1) ;
  -moz-box-shadow: 0 0 3px 0 rgba(255, 255, 255, 1) ;
  box-shadow: 0 0 3px 0 rgba(255, 255, 255, 1) ;
  text-align: center;
  line-height: 50px;
  -webkit-transform: translate(0, 100px);
  -moz-transform: translate(0, 100px);
  -ms-transform: translate(0, 100px);
  transform: translate(0, 100px);
  -webkit-transition: 0.2s ease-in;
  -moz-transition: 0.2s ease-in;
  -o-transition: 0.2s ease-in;
  -ms-transition: 0.2s ease-in;
  transition: 0.2s ease-in;
  opacity: 1;
  z-index: 400; }
  .go_to_top.show-button {
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0); }
  .go_to_top i {
    font-size: 30px; }

.slide {display: none;}
.active {display: block;}