@charset "UTF-8";

* {margin:0 0; padding:0 0; box-sizing:border-box;}
html, body {max-width:3840px; font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,"ＭＳ Ｐゴシック", "MS PGothic", sans-serif;}

section {letter-spacing:0.5px;}
ul {list-style:none;}
a {display:inline-block; text-decoration:none !important; transition:all 0.3s ease-in-out;}
a:hover {text-decoration:none !important;}
h1 {margin:0 auto; padding:0 0; font-size:68px; line-height:1.5; color:#222; letter-spacing:0.5px; text-align:center; font-weight:600;}
h2 {margin:0 auto; padding:0 0; font-size:38px; line-height:1.6; color:#222; letter-spacing:0.5px; text-align:center; font-weight:600;}
h3 {margin:0 auto; padding:0 0; font-size:20px; line-height:1.6; color:#222; letter-spacing:0.5px; text-align:center; font-weight:400;}
p {margin:0 auto; padding:0 0; font-size:14px; line-height:1.8; color:#222; letter-spacing:0.5px; text-align:center; font-weight:400;}
span {display:inline-block;}
img {width:auto; height:auto; max-width:100%; max-height:100%;}

@font-face {
  font-family: 'icomoon';
  src: url("/fonts/icomoon.eot?4hmkpr");
  src: url("/fonts/icomoon.eot?4hmkpr#iefix") format("embedded-opentype"), url("/fonts/icomoon.ttf?4hmkpr") format("truetype"), url("/fonts/icomoon.woff?4hmkpr") format("woff"), url("/fonts/icomoon.svg?4hmkpr#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
}

@media only screen and (max-width: 768px) {
h1 {font-size:40px;}
h2 {font-size:24px;}
h3 {font-size:18px;}
p {font-size:12px;}
}

@media only screen and (max-width: 420px) {
h1 {font-size:26px; line-height:1.4;}
h2 {font-size:16px; margin:0 auto 10px auto;}
h3 {font-size:14px;}
p {font-size:12px;}
}

@media only screen and (max-width: 330px) {
p {font-size:11px;}
}



header {position:fixed; left:0; top:0; width:100%; height:80px; background:#FCFDFD; box-shadow:0 2px 6px -2px #C7E4F1; z-index:100;}
header div#hdr-wrap {position:relative; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:0 20px; margin:0 auto; padding:0 0; width:100%; height:100%; max-width:1240px;}

#logo {margin:0 0; padding:0 0; width:500px; height:40px; line-height:0.5;}
#logo a {height:40px; line-height:0.5; transition: all 0.3s ease-in-out;}
#logo a:hover {opacity:0.7;}
#logo img {height:40px;}

#nav_and_cta {display:flex; flex-wrap:wrap; justify-content:end; align-items:center; gap:0 30px;}
ul.cta {display:inline-flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:0 10px; z-index:20;}
ul.cta li {margin:0 0; padding:0 0; text-align:center;}
ul.cta li a {display:inline-block; padding:15px 15px; min-width:200px; font-size:14px; line-height:20px; text-align:center; font-weight:600; letter-spacing:1px; color:#fff; background:#0081D8; border-radius:50px;}
ul.cta li:nth-of-type(1) a {color:#03335F; background:linear-gradient(90deg, #F4ED54, #EADC3D);}
ul.cta li:nth-of-type(1) a span::after {transform:translate(0, -60%) rotate(90deg); -webkit-transform:translate(0%, -60%) rotate(90deg); -ms-transform:translate(0, -60%) rotate(90deg); background:url(../img/icon_01_b.png) no-repeat 50% 50% / contain;}
ul.cta li a:hover {filter:brightness(0.9);}
ul.cta li a span {position:relative; padding:0 20px 0 0;}
ul.cta li a span::after {content:""; display:inline-block; position:absolute; right:0; top:50%; transform:translate(0, -60%); -webkit-transform:translate(0%, -60%); -ms-transform:translate(0, -60%); width:12px; height:12px; background:url(../img/icon_01_w.png) no-repeat 50% 50% / contain;}
ul.ctazzz li a:hover span::after {background:url(../img/icon_01_w.png) no-repeat 50% 50% / contain;}


@media only screen and (max-width: 768px) {
#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) ~ #nav_and_cta {display:none;}
#hbg-chk:checked ~ #nav_and_cta {display:block;}

ul.cta li a {padding:15px 20px;}
}


@media only screen and (max-width: 420px) {
ul.cta {justify-content:space-around; gap:0 10px;}
ul.cta li {flex-basis:calc((100% - 10px) / 2);}
ul.cta li a {width:100%; padding:15px 5px;}
}


@media only screen and (max-width: 330px) {
ul.cta {gap:0 5px;}
ul.cta li {flex-basis:auto;}
ul.cta li a {padding:15px 10px; font-size:14px;}
}



@media only screen and (min-width: 769px) {
div#page-top {display:block; position:fixed; right:40px; bottom:60px; margin-top:0; z-index:1100;}
div#page-top > a {overflow:hidden; display:block; width:62px; height:62px; transition:all 0.3s ease 0s; background:url(../img/up_btn.png) no-repeat 0 50%;}
div#page-top > a span {display:none;}
}


@media only screen and (max-width: 768px) {
header {height:50px; padding:0 20px;}
header .logo .inner a img {max-height:25px;}
header ul {gap:0 10px; right:10px; top:0; height:50px;}
header ul li a {padding:8px 15px; font-size:14px; border-radius:8px;}
#page-top {background:#f3f3f3;}
#page-top a {display:block; position:relative; font-size:14px; text-align:center; padding:10px 0; color:#15619d;}
#page-top a span::before {font-family:'icomoon' !important; font-style:normal; font-weight:normal; font-variant:normal; text-transform:none; line-height:1; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; content:"\e903"; display:inline-block; margin-right:10px;}
}


@media only screen and (max-width: 420px) {
header {padding:0 10px;}
header div#hdr-wrap {gap:0 20px;}
header #logo {flex-basis:100%;}
header #nav_and_cta {display:none;}
header #nav_and_cta ul.cta {width:100%;}
header #nav_and_cta ul.cta li {flex-basis:100%;}
header #nav_and_cta ul.cta li a {padding:8px 5px; font-size:16px;}
}

@media only screen and (max-width: 330px) {
header div#hdr-wrap {gap:0 10px;}
header #logo {}
header #nav_and_cta {}
header #nav_and_cta ul.cta li a {font-size:14px;}

}









section#sc_mv {width:100%; margin:80px auto 0 auto; padding:75px 0 50px 0 !important; background:url(../img/mv_bg.webp) no-repeat right 0 bottom 0 / cover; overflow:hidden;}

section#sc_mv > div#mv_box {position:relative; display:flex; justify-content:start; align-items:center; gap:25px 25px; margin:0 auto; padding:0 10px; text-align:center; max-width:1240px;}
section#sc_mv > div#mv_box::before {content:""; display:block; padding-top:calc(151.39% * 0.15); width:15%; height:0; background:url(../img/mv_01.webp) no-repeat left 50% top 50% / contain; filter:drop-shadow(0 0 10px rgba(255, 255, 255, 0.5));}

section#sc_mv > div#mv_box > div {position:relative; width:calc(100% - 15% - 25px); margin:0 0; padding:0 0; text-align:left; font-family:'Noto Sans JP', sans-serif;}

section#sc_mv > div#mv_box > div ul {display:inline-flex; flex-wrap:wrap; align-items:center; gap:10px 10px; margin:0 0; padding:0 0; list-style:none;}
section#sc_mv > div#mv_box > div ul li {margin:0 0; padding:5px 15px; font-size:24px; line-height:1.4; color:#2C95CE; background:#fff; border:2px solid #2C95CE;}

section#sc_mv > div#mv_box > div p {position:relative; margin:20px 0 25px 0; padding:0 0; font-size:34px; line-height:1.6; font-weight:900; text-align:left; color:#222; filter:drop-shadow(0 0 10px rgba(255, 255, 255, 1));}
section#sc_mv > div#mv_box > div p span {display:block;}
section#sc_mv > div#mv_box > div p strong {display:inline-block; font-size:105%; color:#2C95CE;}
section#sc_mv > div#mv_box > div p strong span {display:inline;}

section#sc_mv > div#mv_box > div h1 {position:relative; margin:0 0; padding:0 0; height:75px;}
section#sc_mv > div#mv_box > div h1::before {content:""; display:block; position:absolute; left:0; top:0; width:100%; height:75px; background:url(../img/logo.svg) no-repeat 0 50% / contain; filter:drop-shadow(0 0 10px rgba(255, 255, 255, 1));}
section#sc_mv > div#mv_box > div h1 span {position:absolute; right:90px; bottom:10px; font-size:0; opacity:0;}

section#sc_mv > ul {position:relative; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:20px 20px; margin:0 auto; padding:30px 5px; background:rgba(0,129,216,0.95);}
section#sc_mv > ul li {margin:0 0; padding:0 0;}
section#sc_mv > ul li > span {position:relative; display:block; font-size:22px; line-height:1.4; font-weight:600; color:#fff;}
section#sc_mv > ul li > span::before {content:"＼"; display:inline;}
section#sc_mv > ul li > span::after {content:"／"; display:inline;}
section#sc_mv > ul li a {display:inline-block; margin:0 0; padding:15px 20px; min-width:280px; font-size:22px; line-height:30px; color:#03335F; letter-spacing:1px; font-weight:600; text-align:center; text-decoration:none; background:linear-gradient(90deg, #F4ED54, #EADC3D); border-radius:50px; transition:all 0.3s ease-in-out;}
section#sc_mv > ul li a:hover {filter:brightness(0.9);}
section#sc_mv > ul li a span {position:relative; padding:0 25px 0 0;}
section#sc_mv > ul li a span::after {content:""; display:inline-block; position:absolute; right:0; top:50%; transform:translate(0, -60%); -webkit-transform:translate(0%, -60%); -ms-transform:translate(0, -60%); width:20px; height:20px; background:url(../img/icon_01_b.png) no-repeat 50% 50% / contain;}
section#sc_mv > ul li a:hover span::after {background:url(../img/icon_01_b.png) no-repeat 50% 50% / contain;}


section[id^="sc_0"] {position:relative; z-index:10; margin:0 auto !important; padding:0 0;}
section[id^="sc_"] > div {margin:0 auto; padding:100px 0 100px 0; text-align:center; max-width:1240px;}
section[id^="sc_"] > div > h2 {position:relative; display:inline-block; margin:0 auto 20px auto; padding:0 0; font-size:34px !important; line-height:1.4; color:#222;}
section[id^="sc_"] > div > h2::after {content:""; display:block; margin:15px auto 0 auto; width:50px; height:6px; background:#2C95CE; border-radius:10px;}
section[id^="sc_"] > div > h2 span.sub_txt {font-size:70%;}
section[id^="sc_"] > div > h2 strong {color:#027BCF;}
section[id^="sc_"] > div > h2 + p {margin:25px auto 0 auto; font-size:16px; line-height:1.8; font-weight:600; max-width:1000px;}


p.cta_btn {margin:0 auto; padding:0 0;}
p.cta_btn a {display:inline-block; margin:0 5px; padding:10px 20px; font-size:16px; line-height:1.6; text-align:center; font-weight:600; letter-spacing:1px; color:#03335F; background:linear-gradient(90deg, #F4ED54, #EADC3D); border-radius:50px;}
p.cta_btn a:nth-of-type(1) {background:linear-gradient(90deg, #F4ED54, #EADC3D);}
p.cta_btn a:nth-of-type(2) {background:#E2EEF4;}
p.cta_btn a:hover {filter:brightness(0.9);}
p.cta_btn a span {display:inline-block;}
p.cta_btn a span:nth-last-of-type(1) {position:relative; padding:0 25px 0 0;}
p.cta_btn a span:nth-last-of-type(1)::after {content:""; display:inline-block; position:absolute; right:0; top:50%; transform:translate(0, -60%); -webkit-transform:translate(0%, -60%); -ms-transform:translate(0, -60%); width:14px; height:14px; background:url(../img/icon_01_b.png) no-repeat 50% 50% / contain;}
p.cta_btn a:hover span:nth-last-of-type(1)::after {background:url(../img/icon_01_b.png) no-repeat 50% 50% / contain;}
p.cta_btn a:nth-of-type(1) span::after {transform:translate(0, -60%) rotate(90deg); -webkit-transform:translate(0%, -60%) rotate(90deg); -ms-transform:translate(0, -60%) rotate(90deg);}
p.cta_btn + p {margin:0 auto; font-size:16px !important; font-weight:400 !important;}


#sc_00 > ul {position:relative; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:20px 20px; margin:0 auto; padding:25px 5px; background:linear-gradient(90deg, #319FDB, #2C95CE);}
#sc_00 > ul li {margin:0 0; padding:0 0;}
#sc_00 > ul li a {display:inline-block; margin:0 0; padding:20px 20px; min-width:240px; font-size:22px; line-height:30px; color:#03335F; letter-spacing:1px; font-weight:600; text-align:center; text-decoration:none; background:#E2EEF4; border-radius:50px; transition:all 0.3s ease-in-out;}
#sc_00 > ul li:nth-of-type(1) a {background:linear-gradient(90deg, #F4ED54, #EADC3D);}
#sc_00 > ul li:nth-of-type(1) a span::after {transform:translate(0, -60%) rotate(90deg); -webkit-transform:translate(0%, -60%) rotate(90deg); -ms-transform:translate(0, -60%) rotate(90deg);}
#sc_00 > ul li a:hover {filter:brightness(0.9);}
#sc_00 > ul li a span {position:relative; padding:0 25px 0 0;}
#sc_00 > ul li a span::after {content:""; display:inline-block; position:absolute; right:0; top:50%; transform:translate(0, -60%); -webkit-transform:translate(0%, -60%); -ms-transform:translate(0, -60%); width:20px; height:20px; background:url(../img/icon_01_b.png) no-repeat 50% 50% / contain;}


#sc_01 {background:#fff;}
#sc_01 > div > h2 + p strong {color:#2C95CE;}
#sc_01 > div > div + p {margin:70px auto 0 auto; padding:0 0; font-size:34px; line-height:1.6; font-weight:600; color:#2C95CE;}
#sc_01 > div > div > ul {display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px 20px; margin:40px auto 0 auto;}
#sc_01 > div > div > ul > li {width:calc((100% - 40px) / 3);}
#sc_01 > div > div > ul > li > dl {position:relative; margin:0 0;}
#sc_01 > div > div > ul > li > dl::before {transform:translate(0, 20px);  content:""; display:block; margin:0 auto 10px auto; width:100%; height:160px;}
#sc_01 > div > div > ul > li:nth-of-type(1) > dl:nth-of-type(1)::before {background:url(../img/sc_01_01a.webp) no-repeat left 50% top 50% / contain;}
#sc_01 > div > div > ul > li:nth-of-type(1) > dl:nth-of-type(2)::before {background:url(../img/sc_01_01b.webp) no-repeat left 50% top 50% / contain;}
#sc_01 > div > div > ul > li:nth-of-type(2) > dl:nth-of-type(1)::before {background:url(../img/sc_01_02a.webp) no-repeat left 50% top 50% / contain;}
#sc_01 > div > div > ul > li:nth-of-type(2) > dl:nth-of-type(2)::before {background:url(../img/sc_01_02b.webp) no-repeat left 50% top 50% / contain;}
#sc_01 > div > div > ul > li:nth-of-type(3) > dl:nth-of-type(1)::before {background:url(../img/sc_01_03a.webp) no-repeat left 50% top 50% / contain;}
#sc_01 > div > div > ul > li:nth-of-type(3) > dl:nth-of-type(2)::before {background:url(../img/sc_01_03b.webp) no-repeat left 50% top 50% / contain;}
#sc_01 > div > div > ul > li > dl:nth-of-type(1)::after {content:""; display:block; margin:20px auto 0 auto; width:60px; height:55px; background:#2C95CE; clip-path:polygon(25% 0, 75% 0, 75% 40%, 100% 40%, 50% 100%, 0 40%, 25% 40%);}
#sc_01 > div > div > ul > li > dl dt {transform:translate(0, 25px); font-size:20px; line-height:1.5; font-weight:600; color:#FE7070;}
#sc_01 > div > div > ul > li > dl dt span {display:inline-block; margin:0 auto; min-width:65%; line-height:36px; font-weight:600;}
#sc_01 > div > div > ul > li > dl dt span:nth-last-of-type(1) {padding:4px 30px; font-size:22px; line-height:36px; background:#fff; border:3px solid #FE7070; border-radius:50px; box-sizing:border-box;}
#sc_01 > div > div > ul > li > dl:nth-of-type(2) dt span {color:#2C95CE;}
#sc_01 > div > div > ul > li > dl:nth-of-type(2) dt span:nth-last-of-type(1) {color:#fff; background:#2C95CE; border:3px solid #2C95CE;}
#sc_01 > div > div > ul > li > dl dd {padding:45px 15px 20px 20px; background:#F0F0F0; border-radius:10px;}
#sc_01 > div > div > ul > li > dl dd ul {display:inline-block; margin:0 auto; text-align:left; list-style:disc;}
#sc_01 > div > div > ul > li > dl dd ul li {margin:0 0 0 1em; font-weight:600; line-height:1.7;}
#sc_01 > div > div > ul > li > dl dd p {font-size:12px; line-height:1.5; text-align:left;}
#sc_01 > div > div > ul > li > dl dd p span {padding-left:1em; text-indent:-1em;}


#sc_02 {background:#F0F8FC;}
#sc_02 > div > p:has(+ h2) {margin:0 auto 5px auto; font-size:22px; line-height:1.6; font-weight:600;}
#sc_02 > div > h2 + p + p {margin:10px auto 0 auto; font-size:16px; line-height:1.8; font-weight:600; max-width:1000px;}
#sc_02 > div > p.memo_txt {font-size:12px;}
#sc_02 > div > p.catch_txt {margin:30px auto 0 auto; padding:0 0; font-size:34px; line-height:1.6; font-weight:600; color:#2C95CE;}
#sc_02 > div > p sup {font-size:12px; font-weight:400;}
#sc_02 > div > p strong {color:#2C95CE;}


#sc_04 {background:#2C95CE;}
#sc_04 > div > h2 {color:#fff;}
#sc_04 > div > h2::after {background:#8DD7FF;}
#sc_04 > div > h2 + p {max-width:780px; color:#fff;}
#sc_04 > div > ul {margin:0 auto 0 auto; padding:0 0; list-style:none;}
#sc_04 > div > ul > li {margin:-60px auto 0 auto; padding:120px 0 0 0;}
#sc_04 > div > ul > li > div {margin:0 auto; padding:40px 40px; background:#E2EEF4; border-radius:20px; max-width:740px;}
#sc_04 > div > ul > li > div h3 {display:inline-block; width:70%; margin:0 auto 30px auto; padding:5px 10px; font-size:26px; line-height:1.6; font-weight:600; text-align:center; color:#222; background:#fff; border-radius:50px;}
#sc_04 > div > ul > li > div h3 + p {display:inline-block; margin:0 auto; font-size:16px; font-weight:600; text-align:left;}
#sc_04 > div > ul > li > div h3 + p span {display:block;}
#sc_04 > div > ul > li > div ul {display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px 0; margin:15px auto 0 auto; padding:0 0; list-style:none;}
#sc_04 > div > ul > li > div ul li {margin:0 0; padding:0 0; font-size:14px; line-height:1.6;}
#sc_04 > div > ul > li > div ul li span {margin:0 5px; padding:5px 10px; font-size:16px; line-height:1.6; font-weight:600; background:#fff;}
#sc_04 > div > ul > li > div figure {position:relative; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px 10px; margin:40px auto 0 auto; text-align:center; line-height:0.5;}
#sc_04 > div > ul > li > div figure:has(+ .clm_4) {width:96%;}
#sc_04 > div > ul > li > div figure:nth-of-type(2) {margin:20px auto 0 auto;}
#sc_04 > div > ul > li > div figure.clm_4 img {width:calc((100% - 30px) / 4);}


#sc_05 {background:#f4f4f4;}
#sc_05 > div > div {position:relative; display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px 30px; margin:65px auto 0 auto; max-width:740px;}
#sc_05 > div > div > dl {display:flex; flex-direction:column; width:calc((100% - 30px) / 2); background:#fff; border-radius:30px; overflow:hidden;}
#sc_05 > div > div > dl dt {padding:15px 10px; font-size:26px; line-height:1.6; font-weight:600; color:#fff; background:#2C95CE;}
#sc_05 > div > div > dl dt span:nth-of-type(2) {font-size:80%;}
#sc_05 > div > div > dl dd {padding:50px 10px; font-size:20px; font-weight:600; color:#222;}
#sc_05 > div > div > dl:nth-of-type(1) dd {display:flex; justify-content:center; align-items:center; height:100%;}
#sc_05 > div > div > dl:nth-of-type(1) dd div span:nth-of-type(1) {font-size:260%;}
#sc_05 > div > div > dl:nth-of-type(2) dd div span:nth-of-type(1) {font-size:260%;}
#sc_05 > div > div > p {padding:0 0; font-size:12px;}
#sc_05 > div > h2 + p strong {color:#2C95CE;}

.sc_cta {background:url(../img/cta_bg.webp) no-repeat left 50% top 50% / cover, linear-gradient(90deg, #319FDB, #2C95CE); background-blend-mode:multiply;}
.sc_cta > div {position:relative; display:flex; justify-content:center; align-items:center; gap:10px 10px; margin:0 auto; padding:40px 0; width:92%; max-width:680px;}
.sc_cta > div > div {text-align:center;}
.sc_cta > div::after {content:"";display:block; width:20%; height:0; padding-top:calc(151.39% * 0.2); background:url(../img/mv_01.webp) no-repeat left 0 top 50% / contain; filter:drop-shadow(0 0 5px rgba(255, 255, 255, 0.3));}
.sc_cta > div > div h2 {font-size:26px; line-height:1.4; color:#fff;}
.sc_cta > div > div h2::before {content:"＼"}
.sc_cta > div > div h2::after {content:"／"}
.sc_cta > div > div ul {display:inline-block; margin:10px auto; text-align:left; list-style:disc;}
.sc_cta > div > div ul li {margin:0 0 0 1.5em; font-size:16px; font-weight:600; line-height:1.6; color:#fff;}


#footer {position:relative; z-index:10; padding:30px 0; text-align:center; background:#fff;}
#footer p a {position:relative; margin:0 auto; min-width:250px; font-size:0;}
#footer p a::before {content:""; display:block; margin:0 0; width:100%; height:45px; background:url(../img/logo_sb_b.png) no-repeat 50% 50% / contain;}
#footer p a:hover {opacity:0.7;}
#footer small {display:inline-block; margin:0 auto;}




@media only screen and (max-width: 768px) {

section#hdr {height:50px; padding:0 10px 0 20px !important;}
#logo {height:34px;}
#logo a {height:34px;}
#logo img {height:34px;}

#nav_and_cta ul.cta {display:none;}
#nav_and_cta ul.cta li a {padding:8px 30px; font-size:16px; line-height:18px; letter-spacing:1px;}
#nav_and_cta ul.cta li:nth-of-type(1) a {border:2px solid #E6963C;}
#nav_and_cta ul.cta li a span {padding:0 0;}
#nav_and_cta ul.cta li a span::after {content:none;}


section[id^="sc_"] > div {padding:50px 4% !important;}
section[id^="sc_"] > div > h2 {font-size:28px !important; margin:0 auto 10px auto;}
section[id^="sc_"] > div > h2 + p {margin:20px auto 0 auto;}


p.cta_btn {margin:0 auto;}
p.cta_btn a {padding:10px 10px; width:80%; font-size:20px;}
p.cta_btn a span:nth-last-of-type(1) {padding:0 22px 0 0;}
p.cta_btn a span:nth-last-of-type(1)::after {width:18px; height:18px;}
p.cta_btn + p {font-size:14px !important;}


section#sc_mv {margin:0 auto; padding:50px 0 0 0 !important;}
section#sc_mv > div#mv_box {margin:0 auto; padding:30px 4% !important; gap:15px 15px;}
section#sc_mv > div#mv_box::before {padding-top:calc(151.39% * 0.18); width:18%;}
section#sc_mv > div#mv_box > div {margin:0 0; width:calc(100% - 18% - 15px);}
section#sc_mv > div#mv_box > div::after {bottom:-5%; padding-top:calc(72.32% * 0.45); width:45%;}
section#sc_mv > div#mv_box > div ul li {padding:5px 10px; font-size:16px;}
section#sc_mv > div#mv_box > div p {margin:15px 0; font-size:26px; line-height:1.4;}
section#sc_mv > div#mv_box > div p strong {font-size:110%;}
section#sc_mv > div#mv_box > div p strong span:nth-last-of-type(1) {display:none;}
section#sc_mv > div#mv_box > div h1 {height:40px;}
section#sc_mv > div#mv_box > div h1::before {height:40px;}

section#sc_mv > ul {padding:20px 5px;}
section#sc_mv > ul li a {padding:10px 10px; font-size:20px; line-height:1.5;}
section#sc_mv > ul li a span {padding:0 22px 0 0;}
section#sc_mv > ul li a span::after {width:18px; height:18px;}

#sc_00 > ul {padding:20px 5px;}
#sc_00 > ul li a {padding:10px 10px; font-size:20px; line-height:1.5;}

#sc_01 > div > div + p {margin:30px auto 0 auto; font-size:20px;}
#sc_01 > div > div > ul {gap:30px 20px; margin:30px auto 0 auto;}
#sc_01 > div > div > ul > li {width:100%; padding:0 20px 20px 10px; border:10px solid #EBEBEB; border-radius:20px;}
#sc_01 > div > div > ul > li > dl {padding:0 0 0 150px;}
#sc_01 > div > div > ul > li > dl::before {transform:translate(0, 0); position:absolute; left:0; top:0; margin:0 0; width:140px; height:110px;}
#sc_01 > div > div > ul > li > dl:nth-of-type(1)::before {top:50px;}
#sc_01 > div > div > ul > li > dl:nth-of-type(2)::before {top:70px;}
#sc_01 > div > div > ul > li > dl:nth-of-type(1)::after {margin:10px auto -10px auto; width:50px; height:45px;}
#sc_01 > div > div > ul > li > dl dt {transform:translate(0, 20px); font-size:16px;}
#sc_01 > div > div > ul > li > dl dt span {line-height:30px;}
#sc_01 > div > div > ul > li > dl dt span:nth-last-of-type(1) {font-size:18px; line-height:26px;}
#sc_01 > div > div > ul > li > dl dd {padding:40px 20px 20px 25px;}
#sc_01 > div > div > ul > li > dl dd ul li span {display:block;}

#sc_02 > div > p.catch_txt {margin:30px auto 0 auto; font-size:22px;}

#sc_04 > div > ul > li {margin:-90px auto 0 auto;}
#sc_04 > div > ul > li > div {padding:30px 30px;}
#sc_04 > div > ul > li > div h3 {font-size:24px;}
#sc_04 > div > ul > li > div figure {margin:30px auto 0 auto;}

#sc_05 > div > div {margin:30px auto 0 auto;}
#sc_05 > div > div > dl dt {padding:10px 5px; font-size:22px;}
#sc_05 > div > div > dl dd {padding:40px 5px; font-size:18px;}

.sc_cta > div {gap:20px 20px; max-width:640px;}
.sc_cta > div > div h2 {font-size:22px;}
.sc_cta > div > div ul {margin:10px auto 15px auto;}
.sc_cta > div > div ul li {font-size:16px;}
.sc_cta > div > div p.cta_btn a:nth-of-type(1) {margin-bottom:10px}


#page-top {background:#f4f4f4;}


#footer {padding:20px 0 20px 0;}
#footer p a {margin:0 auto 10px auto; min-width:240px;}
#footer p a::before {height:40px;}
#footer small {margin:10px auto 0 auto;}

}









@media only screen and (max-width: 430px) {

#logo {height:30px;}
#logo a {height:30px;}
#logo img {height:30px;}



section[id^="sc_"] > div > h2 {max-width:calc(100% - 10px); font-size:18px !important;}
section[id^="sc_"] > div > h2::after {margin:10px 0 0 -5px; width:calc(100% + 10px); height:2px;}
section[id^="sc_"] > div > h2 + p {font-size:16px; line-height:1.6; text-align:left;}
section[id^="sc_"] > div > h2 + p span {display:inline;}

p.cta_btn a {padding:10px 10px; width:92%; font-size:18px; line-height:1.5;}
p.cta_btn a span:nth-last-of-type(1) {padding:0 20px 0 0;}
p.cta_btn a span:nth-last-of-type(1)::after {width:16px; height:16px;}
p.cta_btn + p {font-size:12px !important;}

section#sc_mv > div#mv_box {padding:20px 4% !important;}
section#sc_mv > div#mv_box::before {content:none;}
section#sc_mv > div#mv_box > div {width:100%; display:flex; flex-wrap:wrap; justify-content:start; align-items:center; gap:20px 10px;}
section#sc_mv > div#mv_box > div::before {order:4; content:""; display:block; margin-left:6%; padding-top:calc(135.23% * 0.3); width:30%; height:0; background:url(../img/mv_01.webp) no-repeat left 50% top 50% / contain;}
section#sc_mv > div#mv_box > div ul {order:1; width:100%; justify-content:center;}
section#sc_mv > div#mv_box > div ul li {padding:5px 5px; font-size:14px; border:1px solid #2C95CE;}
section#sc_mv > div#mv_box > div p {order:2; width:100%; margin:0 0; font-size:24px; line-height:1.4; text-align:center;}
section#sc_mv > div#mv_box > div p span {display:block;}
section#sc_mv > div#mv_box > div p strong {font-size:120%;}
section#sc_mv > div#mv_box > div p strong span {display:block;}
section#sc_mv > div#mv_box > div h1 {order:3; width:100%; height:32px;}
section#sc_mv > div#mv_box > div h1::before {height:32px; background-position:left 50% top 50%;}

#sc_01 > div > h2 + p strong {white-space:nowrap;}
#sc_01 > div > div + p {font-size:18px; text-align:left;}
#sc_01 > div > div + p span {display:inline;}
#sc_01 > div > div > ul > li {padding:0 15px 15px 15px;}
#sc_01 > div > div > ul > li > dl {padding:0 0;}
#sc_01 > div > div > ul > li > dl::before {position:static; left:auto; top:auto; margin:0 auto; transform:translate(0, 15px);}
#sc_01 > div > div > ul > li > dl dt span:nth-last-of-type(1) {padding:4px 20px; font-size:16px;}
#sc_01 > div > div > ul > li > dl dd {padding:30px 10px 10px 15px;}
#sc_01 > div > div > ul > li > dl dd ul {display:block;}
#sc_01 > div > div > ul > li > dl dd ul li {font-size:14px; line-height:1.6;}
#sc_01 > div > div > ul > li > dl dd ul li span {display:inline;}

#sc_02 > div > p:has(+ h2) {font-size:16px;}
#sc_02 > div > h2 {font-size:16px !important;}
#sc_02 > div > h2 + p + p {margin:15px auto 0 auto; line-height:1.6; text-align:left;}
#sc_02 > div > p.memo_txt {font-size:10px; text-align:left;}
#sc_02 > div > p.catch_txt {font-size:18px; text-align:left;}
#sc_02 > div > p span {display:inline;}
#sc_02 > div > p sup {font-size:10px;}

#sc_04 > div > h2 + p br {display:none;}
#sc_04 > div > ul > li > div {padding:20px 20px;}
#sc_04 > div > ul > li > div h3 {margin:0 auto 20px auto; width:100%; font-size:20px;}
#sc_04 > div > ul > li > div h3 + p {font-size:14px; line-height:1.6; text-align:left;}
#sc_04 > div > ul > li > div h3 + p span {display:inline;}
#sc_04 > div > ul > li > div ul li {font-size:12px;}
#sc_04 > div > ul > li > div ul li span {padding:5px 5px; font-size:14px;}
#sc_04 > div > ul > li > div figure {margin:20px auto 0 auto;}
#sc_04 > div > ul > li > div figure::after {width:40px; height:40px; margin:10px auto 20px auto;}
#sc_04 > div > ul > li > div figure:has(+ .clm_4) {width:100%;}
#sc_04 > div > ul > li > div figure.clm_4 img {width:calc((100% - 10px) / 2);}

#sc_05 > div > div > dl {width:100%; border-radius:20px;}
#sc_05 > div > div > dl dd {padding:20px 5px;}
#sc_05 > div > div > dl:nth-of-type(2) dd div span:nth-of-type(1) {font-size:200%;}

.sc_cta > div {gap:20px 0; padding:30px 0;}
.sc_cta > div::after {content:none;}
.sc_cta > div > div {width:100%;}
.sc_cta > div > div h2 {font-size:20px;}
.sc_cta > div > div ul {position:relative; display:block; margin:15px 0; padding:0 0 0 1.5em;}
.sc_ctazzz > div > div ul::before {content:""; display:block; position:absolute; right:4%; top:-10px; padding-top:calc(72.32% * 0.35); width:35%;  background:url(../img/mv_01.webp) no-repeat left 50% top 0 / contain;}
.sc_cta > div > div ul li {margin-bottom:5px; font-size:14px; line-height:1.4;}


#footer {padding:20px 0 20px 0;}
#footer p a {margin:0 auto 10px auto; min-width:240px;}
#footer p a::before {height:40px;}
#footer small {margin:10px auto 0 auto;}

}


@media only screen and (max-width: 320px) {

#logo {height:25px;}
#logo a {height:25px;}
#logo img {height:25px;}

section[id^="sc_"] > div > h2 + p {font-size:14px;}

section#sc_mv > div#mv_box > div {gap:15px 10px;}
section#sc_mv > div#mv_box > div ul li {font-size:12px;}
section#sc_mv > div#mv_box > div p {font-size:22px;}
section#sc_mv > div#mv_box > div h1 {height:30px;}
section#sc_mv > div#mv_box > div h1::before {height:30px;}

#sc_01 > div > div > ul > li > dl dt {font-size:14px;}
#sc_01 > div > div > ul > li > dl dt span:nth-last-of-type(1) {font-size:14px;}

#sc_02 > div > h2 {font-size:14px !important;}
#sc_02 > div > h2 + p + p {font-size:14px !important;}

#sc_04 > div > ul > li > div ul li {font-size:12px;}
#sc_04 > div > ul > li > div ul li span {font-size:12px;}

.sc_cta > div > div h2 {font-size:18px;}
.sc_cta > div > div ul li {font-size:12px;}

}