@charset "UTF-8";
/*!===========================
style.cssはSassから生成されていますので、
直接編集しないようご注意ください。
===========================*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
html, body, p, ol, ul, li, dl, dt, dd, blockquote, figure, fieldset, legend, textarea, pre, iframe, hr, h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; }

html { -webkit-text-size-adjust: 100%; }

h1, h2, h3, h4, h5, h6 { font-size: 100%; font-weight: normal; }

ul, ol { list-style: none; }

button, input, select, textarea { margin: 0; }

html, * { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

*, ::before, ::after { background-repeat: no-repeat; box-sizing: inherit; }

img, embed, iframe, object, audio, video { height: auto; max-width: 100%; }

img { -webkit-backface-visibility: hidden; backface-visibility: hidden; vertical-align: bottom; }

iframe { border: 0; }

table { border-collapse: collapse; border-spacing: 0; }

td, th { padding: 0; text-align: left; }

article, aside, figcaption, figure, footer, header, main, nav, section { display: block; }

a { background-color: transparent; -webkit-text-decoration-skip: objects; }

a:active, a:hover { outline-width: 0; }

b, strong { font-weight: bold; }

.clear { clear: both; }

.cf:before, .cf:after { content: ""; display: block; }

.cf:after { clear: both; }

.cf { zoom: 1; overflow: hidden; }

.fixed { position: fixed; top: 0; left: 0; width: 100%; z-index: 100; }

.table_w { width: 100%; display: table; table-layout: fixed; }

.table_c { display: table-cell; vertical-align: top; }

.fa { display: inline-block; font-family: FontAwesome; font-style: normal; font-weight: normal; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

.align_center { text-align: center !important; }

.align_left { text-align: left !important; }

.align_right { text-align: right !important; }

.flex { display: -webkit-flex; display: -moz-flex; display: -ms-flex; display: -o-flex; display: flex; flex-wrap: wrap; justify-content: flex-start; }

/* ===================================================================
	utility
=================================================================== */
.mt05 { margin-top: 5px; }

.mt10 { margin-top: 10px; }

.mt20 { margin-top: 20px; }

.mt30 { margin-top: 30px; }

.mt40 { margin-top: 40px; }

.mt50 { margin-top: 50px; }

.mt60 { margin-top: 60px; }

.txt_c { text-align: center; }

/* ===================================================================
	form
=================================================================== */
button, input, optgroup, select, textarea { margin: 0; font: inherit; color: inherit; }

button { overflow: visible; }

button, select { text-transform: none; }

button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; cursor: pointer; }

button[disabled], html input[disabled] { cursor: default; }

button::-moz-focus-inner, input::-moz-focus-inner { padding: 0; border: 0; }

input { line-height: normal; }

input[type="checkbox"], input[type="radio"] { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; padding: 0; }

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }

input[type="search"] { -webkit-box-sizing: content-box; -moz-box-sizing: content-box; box-sizing: content-box; -webkit-appearance: textfield; }

input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

fieldset { padding: .35em .625em .75em; margin: 0 2px; border: 1px solid #c0c0c0; }

legend { padding: 0; border: 0; }

textarea { overflow: auto; }

optgroup { font-weight: bold; }

@media only screen and (min-width: 769px) { .sp { display: none !important; } }
@media only screen and (max-width: 768px) { .pc { display: none !important; }
  .sp { display: block !important; } }
@keyframes shiny { 0% { transform: scale(0) rotate(25deg); opacity: 0; }
  50% { transform: scale(1) rotate(25deg); opacity: 1; }
  100% { transform: scale(50) rotate(25deg); opacity: 0; } }
@keyframes animationbtn { 0% { box-shadow: 0 5px 0 #d16d14; top: 0px; }
  10% { box-shadow: 0 0 0 #d16d14; top: 6px; }
  20% { box-shadow: 0 5px 0 #d16d14; top: 0px; }
  30% { box-shadow: 0 0 0 #d16d14; top: 6px; }
  40% { box-shadow: 0 5px 0 #d16d14; top: 0px; } }
.cta_btn { position: relative; -webkit-box-shadow: 0 5px 0 #d16d14; -moz-box-shadow: 0 5px 0 #d16d14; box-shadow: 0 5px 0 #d16d14; background: #f98217; -moz-transition: 0.3s; -webkit-transition: 0.3s; -o-transition: 0.3s; -ms-transition: 0.3s; transition: 0.3s; border-radius: 15px; -moz-border-radius: 15px; -webkit-border-radius: 15px; -o-border-radius: 15px; -ms-border-radius: 15px; }
@media only screen and (min-width: 769px) { .cta_btn:hover { filter: alpha(opacity=75); -moz-opacity: 0.75; opacity: 0.75; } }
@media only screen and (max-width: 768px) { .cta_btn { border-radius: 8px; -moz-border-radius: 8px; -webkit-border-radius: 8px; -o-border-radius: 8px; -ms-border-radius: 8px; } }
.cta_btn.shiny { overflow: hidden; }
.cta_btn.shiny::after { content: ''; position: absolute; top: -100px; left: -100px; width: 50px; height: 50px; background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, white 100%, rgba(255, 255, 255, 0) 0%); animation-name: shiny; animation-duration: 4s; animation-timing-function: ease-in-out; animation-iteration-count: infinite; pointer-events: none; z-index: 10; }
.cta_btn a { display: block; text-decoration: none; line-height: 1.4; color: #fff !important; font-weight: 700; font-size: 20px; font-size: 2rem; text-align: center; padding: 10px; }
@media only screen and (max-width: 768px) { .cta_btn a { padding: 8px 0; } }
.cta_btn.animation { animation: animationbtn 2s infinite; }

html { font-size: 62.5%; }
@media only screen and (max-width: 768px) { html { font-size: 50%; } }

body { background-image: url("img/body_bg.png"); background-repeat: repeat-y; background-position: center center; background-size: 1920px auto; background-color: #fff; font-size: 1.6em; color: #161616; font-family: "Noto Sans JP", sans-serif; -webkit-font-smoothing: antialiased; line-height: 1.5; }

a { color: #161616; }

@media only screen and (min-width: 769px) { a:hover { color: #161616; text-decoration: none; }
  a, a img { -moz-transition: 0.3s; -webkit-transition: 0.3s; -o-transition: 0.3s; -ms-transition: 0.3s; transition: 0.3s; }
  a img:hover { filter: alpha(opacity=75); -moz-opacity: 0.75; opacity: 0.75; } }
.page_top { display: none; position: fixed; bottom: 20px; right: 20px; z-index: 10; width: 60px; height: 60px; background: rgba(10, 147, 81, 0.75); text-align: center; color: #fff; font-size: 30px; text-decoration: none; border-radius: 50%; -moz-border-radius: 50%; -webkit-border-radius: 50%; -o-border-radius: 50%; -ms-border-radius: 50%; -moz-transition: 0s; -webkit-transition: 0s; -o-transition: 0s; -ms-transition: 0s; transition: 0s; }
.page_top:hover { background: #0a9351; color: #fff; }
.page_top::after { content: ''; width: 12px; height: 12px; border: 0px; border-top: solid 2px #fff; border-right: solid 2px #fff; -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); transform: rotate(-45deg); position: absolute; top: 50%; right: 50%; margin-top: -4px; margin-right: -6px; }
@media only screen and (max-width: 768px) { .page_top { bottom: 10px; right: 10px; width: 40px; height: 40px; font-size: 22px; }
  .page_top::after { width: 10px; height: 10px; margin-top: -3px; margin-right: -5px; } }

.header { border-top: 3px solid #2b60be; background: #fff; -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); box-shadow: 0 0 5px rgba(0, 0, 0, 0.1); position: relative; z-index: 10; }
.header .inner { width: 1000px; margin: 0 auto; position: relative; padding: 10px 0; }
@media only screen and (max-width: 768px) { .header .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .header .inner { padding: 6px 10px; } }
.header .logo { width: 185px; }
@media only screen and (max-width: 768px) { .header .logo { width: 105px; } }

.main_ttl { background-image: url("img/main_ttl.jpg"); background-repeat: repeat; background-position: center center; text-align: center; font-size: 26px; font-size: 2.6rem; color: #fff; font-weight: 700; padding: 10px 0; line-height: 1.3; letter-spacing: 0.05em; }
@media only screen and (max-width: 768px) { .main_ttl { background-size: 6px auto; font-size: 4.8vw; padding-top: 8px; } }
.main_ttl .small { font-size: 80%; }
.main_ttl .yellow { color: #fffb83; }
.main_ttl.single { padding: 28px 0; }
@media only screen and (max-width: 768px) { .main_ttl.single { padding: 20px 0; } }

.recommend_ttl { text-align: center; margin-bottom: 25px; }
@media only screen and (max-width: 768px) { .recommend_ttl { margin-bottom: 15px; } }
.recommend_ttl h2 { display: inline-block; position: relative; font-size: 23px; font-size: 2.3rem; font-weight: 700; line-height: 1.3; }
@media only screen and (max-width: 768px) { .recommend_ttl h2 { font-size: 4vw; } }
.recommend_ttl h2::before, .recommend_ttl h2::after { content: ""; position: absolute; width: 45px; height: 100%; background-repeat: no-repeat; background-position: center bottom; background-size: 100% auto; top: 0; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .recommend_ttl h2::before, .recommend_ttl h2::after { width: 30px; } }
.recommend_ttl h2::before { left: -65px; background-image: url("img/recommend_ttl_before.png"); }
@media only screen and (max-width: 768px) { .recommend_ttl h2::before { left: -40px; } }
.recommend_ttl h2::after { right: -65px; background-image: url("img/recommend_ttl_after.png"); }
@media only screen and (max-width: 768px) { .recommend_ttl h2::after { right: -40px; } }
.recommend_ttl h2 span { font-size: 33px; font-size: 3.3rem; font-weight: 900; color: #f82020; }
@media only screen and (max-width: 768px) { .recommend_ttl h2 span { font-size: 5.2vw; } }

.remarks { margin-top: 5px; font-size: 10px; font-size: 1rem; }

sup { font-size: 10px; font-size: 1rem; }

@media only screen and (min-width: 769px) { .fv { background-image: url("img/fv_bg.jpg"); background-repeat: no-repeat; background-position: center center; background-size: cover; }
  .fv .inner { width: 1000px; margin: 0 auto; height: 310px; position: relative; } }
@media only screen and (min-width: 769px) and (max-width: 768px) { .fv .inner { width: 100%; } }
@media only screen and (min-width: 769px) { .fv .fv_image { position: absolute; left: 52px; top: 30px; } }
.section01 .inner { width: 1000px; margin: 0 auto; padding: 20px 50px 30px; }
@media only screen and (max-width: 768px) { .section01 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section01 .inner { padding: 20px 10px 30px; } }
.section01 ul { background: #fff; border: 1px solid #b7b7b7; }
.section01 ul li { padding: 12px 25px; padding-left: 105px; position: relative; border-bottom: 1px solid #b7b7b7; }
@media only screen and (max-width: 768px) { .section01 ul li { padding: 10px; padding-top: 7px; } }
.section01 ul li:last-child { border-bottom: none; }
.section01 ul li:first-child { background: #fffae5; }
.section01 ul li:first-child::after { content: ""; position: absolute; top: -1px; left: -1px; width: calc(100% + 2px); height: calc(100% + 2px); pointer-events: none; border: 2px solid #f82020; }
@media only screen and (max-width: 768px) { .section01 ul li:first-child::after { border-width: 1px; } }
.section01 ul li::before { content: ""; position: absolute; width: 53px; height: 100%; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; left: 25px; top: -2px; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .section01 ul li::before { display: none; } }
.section01 ul li:nth-child(1)::before { background-image: url("img/ico_rank01.png"); }
.section01 ul li:nth-child(2)::before { background-image: url("img/ico_rank02.png"); }
.section01 ul li:nth-child(3)::before { background-image: url("img/ico_rank03.png"); }
.section01 ul li:last-child { background: none; }
.section01 .wrap { -webkit-display: flex; -moz-display: flex; -ms-display: flex; -o-display: flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: flex-start; -moz-justify-content: flex-start; -ms-justify-content: flex-start; -o-justify-content: flex-start; justify-content: flex-start; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; -o-align-items: center; align-items: center; }
@media only screen and (max-width: 768px) { .section01 .wrap { -webkit-justify-content: flex-end; -moz-justify-content: flex-end; -ms-justify-content: flex-end; -o-justify-content: flex-end; justify-content: flex-end; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; -o-align-items: center; align-items: center; } }
.section01 .wrap .image { width: 120px; }
@media only screen and (max-width: 768px) { .section01 .wrap .image { width: 90px; position: relative; padding-top: 32px; }
  .section01 .wrap .image::before { content: ""; position: absolute; left: 0; right: 0; margin: auto; width: 32px; height: 100%; background-repeat: no-repeat; background-position: center top; background-size: 100% auto; top: 0; pointer-events: none; z-index: 10; } }
.section01 .wrap .btn { width: 215px; }
@media only screen and (max-width: 768px) { .section01 .wrap .btn { width: 100%; margin-top: 4px; } }
@media only screen and (max-width: 768px) { .section01 .wrap .btn .cta_btn { border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; } }
.section01 .wrap .btn .cta_btn a { font-size: 15px; font-size: 1.5rem; padding: 14px 0; }
@media only screen and (max-width: 768px) { .section01 .wrap .btn .cta_btn a { padding: 5px 0; font-size: 16px; font-size: 1.6rem; } }
.section01 .wrap .txt { flex: 1; padding: 0 20px; }
@media only screen and (max-width: 768px) { .section01 .wrap .txt { padding: 0; padding-left: 10px; } }
.section01 .wrap .txt .name { font-size: 17px; font-size: 1.7rem; }
.section01 .wrap .txt .name a { display: inline-block; position: relative; font-weight: 700; padding-right: 25px; color: #0994ff; }
@media only screen and (max-width: 768px) { .section01 .wrap .txt .name a { font-weight: 700; padding-right: 19px; } }
.section01 .wrap .txt .name a::before { content: ""; position: absolute; width: 18px; height: 18px; background-image: url("img/ico_blank.png"); background-repeat: no-repeat; background-position: center center; background-size: 100% auto; right: 0; top: 4px; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .section01 .wrap .txt .name a::before { width: 13px; height: 13px; } }
.section01 .wrap .txt .lead { font-size: 15px; font-size: 1.5rem; line-height: 1.4; margin-top: 5px; }
@media only screen and (max-width: 768px) { .section01 .wrap .txt .lead { font-size: 14px; font-size: 1.4rem; font-weight: 500; margin-top: 3px; } }
.section01 .wrap .txt .lead span { color: #f82020; font-weight: 700; }
.section01 .wrap .txt .lead br { display: none !important; }
@media only screen and (max-width: 768px) { .section01 .wrap .txt .lead br.sp { display: none !important; } }
@media only screen and (max-width: 768px) { .section01 .wrap .txt .cta_btn { margin-top: 5px; border-radius: 100px; -moz-border-radius: 100px; -webkit-border-radius: 100px; -o-border-radius: 100px; -ms-border-radius: 100px; }
  .section01 .wrap .txt .cta_btn a { font-size: 3vw; } }
@media only screen and (max-width: 768px) { .section01 ul li:nth-child(1) .image::before { background-image: url("img/ico_rank01.png"); }
  .section01 ul li:nth-child(2) .image::before { background-image: url("img/ico_rank02.png"); }
  .section01 ul li:nth-child(3) .image::before { background-image: url("img/ico_rank03.png"); } }

@media only screen and (max-width: 768px) { .section02 .sp_bg { background: #e2f0c8; padding: 25px 10px; } }
.section02 .inner { width: 1000px; margin: 0 auto; padding-bottom: 10px; }
@media only screen and (max-width: 768px) { .section02 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section02 .comparison { background: #fff; padding: 15px 10px 30px; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -o-border-radius: 10px; -ms-border-radius: 10px; } }
.section02 .comparison h2 { width: 670px; background: #fff3c1; margin: auto; position: relative; text-align: center; font-size: 23px; font-size: 2.3rem; font-weight: 700; border-radius: 100px; -moz-border-radius: 100px; -webkit-border-radius: 100px; -o-border-radius: 100px; -ms-border-radius: 100px; padding: 7px 0; padding-left: 60px; letter-spacing: 0.04em; }
@media only screen and (max-width: 768px) { .section02 .comparison h2 { width: 100%; font-size: 4vw; padding: 7px 0; border-radius: 15px; -moz-border-radius: 15px; -webkit-border-radius: 15px; -o-border-radius: 15px; -ms-border-radius: 15px; } }
.section02 .comparison h2::before { content: ""; position: absolute; width: 68px; height: 64px; background-image: url("img/section02_ttl.png"); background-repeat: no-repeat; background-position: center top; background-size: 100% auto; left: 13px; top: -12px; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .section02 .comparison h2::before { width: 48px; } }
.section02 .comparison h2 span { font-size: 120%; color: #0a9351; }
@media only screen and (max-width: 768px) { .section02 .comparison h2 span { font-size: 130%; } }
.section02 .comparison .wrap { width: 640px; margin: 20px auto 0; }
@media only screen and (max-width: 768px) { .section02 .comparison .wrap { width: 100%; margin-top: 15px; } }
.section02 .comparison table { width: 100%; table-layout: fixed; }
.section02 .comparison table th, .section02 .comparison table td { text-align: center; color: #2e2424; }
@media only screen and (max-width: 768px) { .section02 .comparison table th, .section02 .comparison table td { vertical-align: top; } }
.section02 .comparison table thead tr th { vertical-align: bottom; }
.section02 .comparison table thead tr th span { display: block; font-size: 23px; font-size: 2.3rem; color: #fff; font-weight: 700; border-radius: 20px 20px 0 0; -moz-border-radius: 20px 20px 0 0; -webkit-border-radius: 20px 20px 0 0; -o-border-radius: 20px 20px 0 0; -ms-border-radius: 20px 20px 0 0; }
@media only screen and (max-width: 768px) { .section02 .comparison table thead tr th span { font-size: 3.5vw; border-radius: 10px 10px 0 0; -moz-border-radius: 10px 10px 0 0; -webkit-border-radius: 10px 10px 0 0; -o-border-radius: 10px 10px 0 0; -ms-border-radius: 10px 10px 0 0; } }
.section02 .comparison table thead tr th:nth-child(1) { width: 170px; }
@media only screen and (max-width: 768px) { .section02 .comparison table thead tr th:nth-child(1) { width: 20%; } }
.section02 .comparison table thead tr th:nth-child(2) { width: 230px; }
@media only screen and (max-width: 768px) { .section02 .comparison table thead tr th:nth-child(2) { width: 40%; } }
.section02 .comparison table thead tr th:nth-child(2) span { background: #0a9351; padding: 15px 0; }
@media only screen and (max-width: 768px) { .section02 .comparison table thead tr th:nth-child(2) span { padding: 8px 0; } }
.section02 .comparison table thead tr th:nth-child(3) span { background: #a5a5a5; padding: 12px 0; }
@media only screen and (max-width: 768px) { .section02 .comparison table thead tr th:nth-child(3) span { padding: 6px 0; } }
.section02 .comparison table tbody tr th, .section02 .comparison table tbody tr td { border: 1px solid #bcbcbc; padding: 10px 0; }
@media only screen and (max-width: 768px) { .section02 .comparison table tbody tr th, .section02 .comparison table tbody tr td { padding: 8px 0; } }
.section02 .comparison table tbody tr th { background: #e6f9f0; font-size: 18px; font-size: 1.8rem; }
@media only screen and (max-width: 768px) { .section02 .comparison table tbody tr th { font-size: 3.2vw; vertical-align: middle; } }
.section02 .comparison table tbody tr th + td { position: relative; background: #fffae5; }
.section02 .comparison table tbody tr th + td::before { content: ""; position: absolute; top: -1px; left: -1px; width: calc(100% + 2px); height: calc(100% + 2px); pointer-events: none; border: 2px solid #0a9351; border-bottom-width: 1px; }
@media only screen and (max-width: 768px) { .section02 .comparison table tbody tr th + td::before { border-width: 1px; } }
@media only screen and (min-width: 769px) { .section02 .comparison table tbody tr:last-child th + td::before { border-bottom-width: 2px; } }
.section02 .comparison table tbody tr .ico { margin: auto; margin-bottom: 5px; }
@media only screen and (max-width: 768px) { .section02 .comparison table tbody tr .ico { width: 26px; margin-bottom: 2px; } }
.section02 .comparison table tbody tr p { font-size: 15px; font-size: 1.5rem; }
@media only screen and (max-width: 768px) { .section02 .comparison table tbody tr p { font-size: 3vw; line-height: 1.4; } }
.section02 .comparison .btn { width: 600px; margin: 15px auto 0; }
@media only screen and (max-width: 768px) { .section02 .comparison .btn { width: 100%; }
  .section02 .comparison .btn .cta_btn { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -o-border-radius: 10px; -ms-border-radius: 10px; } }
.section02 .comparison .btn .cta_btn a { padding: 10px 0; }
.section02 .merit { margin: 65px auto 0; width: 600px; position: relative; background-image: url("img/section02_bg.png"); background-repeat: repeat; background-position: center center; border: 2px solid #8cbc35; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -o-border-radius: 10px; -ms-border-radius: 10px; }
@media only screen and (max-width: 768px) { .section02 .merit { margin-top: 50px; width: calc(100% - 20px); background-size: 8px; } }
.section02 .merit h2 { font-size: 22px; font-size: 2.2rem; font-weight: 700; background: #fff; padding: 8px 20px 8px 20px; border-left: 10px solid #8cbc35; -webkit-box-shadow: 0 4px 0 rgba(0, 0, 0, 0.15); -moz-box-shadow: 0 4px 0 rgba(0, 0, 0, 0.15); box-shadow: 0 4px 0 rgba(0, 0, 0, 0.15); width: 350px; position: absolute; top: -30px; left: 15px; -moz-transform: rotate(-5deg); -webkit-transform: rotate(-5deg); -o-transform: rotate(-5deg); -ms-transform: rotate(-5deg); transform: rotate(-5deg); }
@media only screen and (max-width: 768px) { .section02 .merit h2 { width: 260px; font-size: 20px; font-size: 2rem; border-left-width: 8px; left: 8px; } }
.section02 .merit .wrap { text-align: center; padding: 38px 0 25px; }
@media only screen and (max-width: 768px) { .section02 .merit .wrap { padding-top: 30px; padding-bottom: 20px; } }
.section02 .merit ul { display: inline-block; }
.section02 .merit ul li { text-align: left; font-size: 18px; font-size: 1.8rem; position: relative; padding-left: 28px; letter-spacing: 0.04em; }
@media only screen and (max-width: 768px) { .section02 .merit ul li { padding-left: 25px; } }
.section02 .merit ul li + li { margin-top: 5px; }
.section02 .merit ul li::before { content: ""; position: absolute; width: 22px; height: 100%; background-image: url("img/section02_check.png"); background-repeat: no-repeat; background-position: center top; background-size: 100% auto; left: 0; top: 6px; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .section02 .merit ul li::before { width: 18px; } }
.section02 .merit ul li span { font-weight: 700; color: #f82020; }
.section02 .bottom_txt { text-align: center; margin-top: 25px; }
@media only screen and (max-width: 768px) { .section02 .bottom_txt { margin-top: 18px; }
  .section02 .bottom_txt .arrow { width: 50%; margin: auto; } }
.section02 .bottom_txt p { font-size: 25px; font-size: 2.5rem; font-weight: 700; letter-spacing: 0.04em; }
.section02 .bottom_txt p span { color: #0a9351; font-size: 120%; background: linear-gradient(transparent 60%, #ffeb96 60%); }

.section03 .inner { width: 1000px; margin: 0 auto; padding-bottom: 40px; }
@media only screen and (max-width: 768px) { .section03 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section03 .inner { padding: 0 10px 30px; } }

.client_archive > ul > li { margin-top: 40px; }
@media only screen and (max-width: 768px) { .client_archive > ul > li { margin-top: 25px; } }
.client_archive > ul > li:first-child { margin-top: 0; }
.client_archive .client_card { border: 2px solid #e7e7e7; background: #fff; position: relative; }
@media only screen and (max-width: 768px) { .client_archive .client_card { border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; } }
.client_archive .client_card .client_name { position: relative; padding: 15px 10px 15px 115px; border-bottom: 1px solid #e7e7e7; }
@media only screen and (max-width: 768px) { .client_archive .client_card .client_name { padding: 8px 8px 8px 55px; } }
.client_archive .client_card .client_name::before { content: ""; position: absolute; width: 77px; height: 66px; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; left: 25px; top: -5px; pointer-events: none; }
@media only screen and (max-width: 768px) { .client_archive .client_card .client_name::before { width: 35px; height: 30px; left: 10px; position: absolute; top: 50%; transform: translateY(-50%); } }
.client_archive .client_card .client_name a { color: #0994ff; font-size: 28px; font-size: 2.8rem; font-weight: 700; text-decoration: none; }
@media only screen and (max-width: 768px) { .client_archive .client_card .client_name a { font-size: 4.5vw; } }
.client_archive .client_card .client_name a:hover { text-decoration: underline; }
.client_archive .client_card .client_inner { padding: 15px 25px 25px; }
@media only screen and (max-width: 768px) { .client_archive .client_card .client_inner { padding: 10px 10px 20px; } }
.client_archive .client_card .star { background: #fff; border: 1px solid #dadada; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; -webkit-display: flex; -moz-display: flex; -ms-display: flex; -o-display: flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; -o-justify-content: center; justify-content: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; -o-align-items: center; align-items: center; padding: 0 15px; }
@media only screen and (min-width: 769px) { .client_archive .client_card .star { position: absolute; top: 17px; right: 25px; } }
@media only screen and (max-width: 768px) { .client_archive .client_card .star { width: 80%; margin: auto; margin-top: 8px; } }
.client_archive .client_card .star p { font-size: 14px; font-size: 1.4rem; font-weight: 500; }
@media only screen and (max-width: 768px) { .client_archive .client_card .star p { font-size: 16px; font-size: 1.6rem; } }
.client_archive .client_card .star img { margin: 0 6px; }
@media only screen and (max-width: 768px) { .client_archive .client_card .star img { width: 105px; } }
.client_archive .client_card .star img + p { font-size: 24px; font-size: 2.4rem; font-weight: 700; }
.client_archive > ul > li:nth-child(1) .client_card { border-color: #f8d02f; background: #fffae5; }
.client_archive > ul > li:nth-child(1) .client_card .client_name { border-bottom-color: #f8d02f; }
.client_archive > ul > li:nth-child(1) .client_card .client_name::before { background-image: url("img/ico_rank01.png"); }
.client_archive > ul > li:nth-child(2) .client_name::before { background-image: url("img/ico_rank02.png"); }
.client_archive > ul > li:nth-child(3) .client_name::before { background-image: url("img/ico_rank03.png"); }
.client_archive .top_heading { text-align: center; font-size: 23px; font-size: 2.3rem; color: #f82020; font-weight: 700; }
@media only screen and (max-width: 768px) { .client_archive .top_heading { font-size: 4vw; } }
.client_archive .overview { -webkit-display: flex; -moz-display: flex; -ms-display: flex; -o-display: flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; -o-justify-content: center; justify-content: center; margin-top: 15px; }
@media only screen and (max-width: 768px) { .client_archive .overview { display: block; margin-top: 10px; } }
.client_archive .overview .image { width: 300px; }
@media only screen and (max-width: 768px) { .client_archive .overview .image { width: 100%; }
  .client_archive .overview .image a img { display: block; width: 195px; margin: auto; } }
.client_archive .overview .txt { width: calc(100% - 300px); padding-left: 20px; }
@media only screen and (max-width: 768px) { .client_archive .overview .txt { width: 100%; padding: 0; } }
.client_archive .overview .txt table { width: 100%; border: 1px solid #dadada; background: #fff; font-size: 14px; font-size: 1.4rem; }
@media only screen and (max-width: 768px) { .client_archive .overview .txt table { margin-top: 15px; } }
.client_archive .overview .txt table th, .client_archive .overview .txt table td { vertical-align: middle; padding: 8px 10px; border-left: 1px solid #dadada; border-bottom: 1px solid #dadada; line-height: 1.4; }
.client_archive .overview .txt table th { font-weight: 500; color: #0a9351; background: #e6f9f0; width: 17%; padding-right: 0; font-weight: 700; }
@media only screen and (max-width: 768px) { .client_archive .overview .txt table th { width: 25%; } }
.client_archive .overview .txt table .ico_wrap { -webkit-display: flex; -moz-display: flex; -ms-display: flex; -o-display: flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: flex-start; -moz-justify-content: flex-start; -ms-justify-content: flex-start; -o-justify-content: flex-start; justify-content: flex-start; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; -o-align-items: center; align-items: center; }
.client_archive .overview .txt table .ico_wrap .ico { width: 24px; }
.client_archive .overview .txt table .ico_wrap .txt { padding-left: 5px; }
.client_archive .point { margin-top: 15px; background: #fff; position: relative; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; border: 1px solid #0a9351; overflow: hidden; }
@media only screen and (max-width: 768px) { .client_archive .point { margin-top: 8px; } }
.client_archive .point .ttl { background: #0a9351; text-align: center; color: #fff; font-weight: 700; padding: 6px 0; font-size: 18px; font-size: 1.8rem; }
@media only screen and (max-width: 768px) { .client_archive .point .ttl { padding: 3px 0; } }
.client_archive .point .wrap { padding: 15px 15px 15px 30px; -webkit-display: flex; -moz-display: flex; -ms-display: flex; -o-display: flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; -o-justify-content: center; justify-content: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; -o-align-items: center; align-items: center; }
@media only screen and (max-width: 768px) { .client_archive .point .wrap { padding: 10px; display: block; } }
.client_archive .point .wrap .ico { width: 100px; }
@media only screen and (max-width: 768px) { .client_archive .point .wrap .ico { display: none; } }
.client_archive .point .wrap ul { flex: 1; padding-left: 20px; }
@media only screen and (max-width: 768px) { .client_archive .point .wrap ul { padding: 0; } }
.client_archive .point ul li { font-size: 16px; font-size: 1.6rem; margin-top: 3px; position: relative; padding-left: 22px; }
@media only screen and (max-width: 768px) { .client_archive .point ul li { padding-left: 18px; } }
.client_archive .point ul li:first-child { margin-top: 0; }
.client_archive .point ul li::before { content: ""; position: absolute; width: 15px; height: 100%; background-image: url("img/client_ico_check.png"); background-repeat: no-repeat; background-position: center top; background-size: 100% auto; left: 0; top: 4px; pointer-events: none; }
@media only screen and (max-width: 768px) { .client_archive .point ul li::before { width: 12px; top: 2px; } }
.client_archive .point ul li span { color: #f82020; font-weight: 700; }
.client_archive .cta { margin: 10px auto 0; max-width: 650px; }
.client_archive.recommend > ul > li:nth-child(1) .client_card { border: 5px solid #e2f0c8; background: #fff; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; }
@media only screen and (max-width: 768px) { .client_archive.recommend > ul > li:nth-child(1) .client_card { border-width: 4px; } }
.client_archive.recommend > ul > li:nth-child(1) .client_card .client_name { padding-left: 25px; border-bottom-color: #e2f0c8; }
@media only screen and (max-width: 768px) { .client_archive.recommend > ul > li:nth-child(1) .client_card .client_name { padding-left: 20px; } }
.client_archive.recommend > ul > li:nth-child(1) .client_card .client_name::before { display: none; }

.section04 .inner { width: 1000px; margin: 0 auto; padding: 70px 0 40px; }
@media only screen and (max-width: 768px) { .section04 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section04 .inner { padding: 50px 10px 30px; } }

.client_table { width: 700px; margin: auto; position: relative; }
@media only screen and (max-width: 768px) { .client_table { width: 100%; } }
.client_table::before, .client_table::after { content: ""; position: absolute; top: 0; left: 1px; pointer-events: none; }
.client_table::before { background: #fffde1; width: calc(100% / 3); height: 100%; z-index: 1; }
.client_table::after { width: calc(100% / 3); height: 100%; border: 3px solid #f46174; z-index: 5; }
@media only screen and (max-width: 768px) { .client_table::after { border-width: 1px; } }
.client_table table { width: 100%; border: 1px solid #bababa; background: #fff; }
.client_table table th, .client_table table td { width: calc(100% / 3); text-align: center; vertical-align: top; }
.client_table table th { background: #e6f9f0; font-weight: 700; color: #0a9351; padding: 3px 0; font-size: 15px; font-size: 1.5rem; position: relative; z-index: 3; }
.client_table table td { padding: 15px 10px; border-left: 1px solid #bababa; border-right: 1px solid #bababa; font-size: 15px; font-size: 1.5rem; line-height: 1.4; position: relative; z-index: 5; }
@media only screen and (max-width: 768px) { .client_table table td { padding-top: 12px; padding-bottom: 12px; } }
.client_table table thead td { position: relative; }
@media only screen and (max-width: 768px) { .client_table table thead td { padding: 5px 5px 10px; } }
.client_table table thead td::before { content: ""; position: absolute; width: 53px; height: 100%; background-repeat: no-repeat; background-position: center top; background-size: 100% auto; left: 0; right: 0; margin: 0 auto; top: -52px; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .client_table table thead td::before { width: 38px; top: -38px; } }
.client_table table thead td:nth-child(1)::before { background-image: url("img/ico_rank01.png"); }
.client_table table thead td:nth-child(2)::before { background-image: url("img/ico_rank02.png"); }
.client_table table thead td:nth-child(3)::before { background-image: url("img/ico_rank03.png"); }
.client_table .min { font-size: 11px; font-size: 1.1rem; }
.client_table .star + p { margin-top: 4px; font-size: 18px; font-size: 1.8rem; font-weight: 700; }
.client_table .image { padding: 0 5px; }
@media only screen and (max-width: 768px) { .client_table .image { padding: 0; } }
.client_table .image a { display: block; }
.client_table .image a:hover img { filter: alpha(opacity=100); -moz-opacity: 1; opacity: 1; }
.client_table .image a p { text-decoration: underline; font-size: 15px; font-size: 1.5rem; font-weight: 700; color: #0994ff; margin-top: 5px; }
@media only screen and (max-width: 768px) { .client_table .image a p { margin-top: 3px; font-size: 14px; font-size: 1.4rem; } }
.client_table .image a:hover p { text-decoration: none; }
@media only screen and (max-width: 768px) { .client_table .occupation td { text-align: left; font-size: 13px; font-size: 1.3rem; } }
.client_table .ico { margin: 0 auto 3px; }
.client_table .cta_btn { width: calc(100% - 10px); margin: 0 auto 5px; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -o-border-radius: 10px; -ms-border-radius: 10px; }
@media only screen and (max-width: 768px) { .client_table .cta_btn { width: 100%; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; } }
.client_table .cta_btn a { font-size: 17px; font-size: 1.7rem; padding: 25px 0; }
@media only screen and (max-width: 768px) { .client_table .cta_btn a { font-size: 3vw; padding: 12px 0; } }

.section05 .inner { width: 1000px; margin: 0 auto; padding: 20px 0 40px; }
@media only screen and (max-width: 768px) { .section05 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section05 .inner { padding: 20px 10px 30px; } }

.section06 .inner { width: 1000px; margin: 0 auto; padding: 40px 50px; }
@media only screen and (max-width: 768px) { .section06 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section06 .inner { padding: 20px 10px 25px; } }
.section06 .about .heading { text-align: center; font-size: 20px; font-size: 2rem; font-weight: 700; line-height: 1.3; }
.section06 .about .heading span { font-size: 30px; font-size: 3rem; }
@media only screen and (max-width: 768px) { .section06 .about .heading span { font-size: 5.2vw; } }
.section06 .about .wrap { -webkit-display: flex; -moz-display: flex; -ms-display: flex; -o-display: flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; -o-justify-content: center; justify-content: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; -o-align-items: center; align-items: center; margin-top: 25px; }
@media only screen and (max-width: 768px) { .section06 .about .wrap { display: block; margin-top: 20px; }
  .section06 .about .wrap .image { width: 90%; margin: auto; } }
.section06 .about .wrap .txt { margin-left: 25px; }
@media only screen and (max-width: 768px) { .section06 .about .wrap .txt { display: none; } }
.section06 .about .wrap .txt ul { width: 280px; }
.section06 .about .wrap .txt ul li { background: #e6f9f0; font-size: 18px; font-size: 1.8rem; font-weight: 500; padding: 5px 0; padding-left: 60px; border-radius: 100px; -moz-border-radius: 100px; -webkit-border-radius: 100px; -o-border-radius: 100px; -ms-border-radius: 100px; position: relative; }
.section06 .about .wrap .txt ul li + li { margin-top: 10px; }
.section06 .about .wrap .txt ul li::before { content: ""; position: absolute; width: 20px; height: 100%; background-image: url("img/section06_check.png"); background-repeat: no-repeat; background-position: center center; background-size: 100% auto; left: 27px; top: 0; pointer-events: none; z-index: 10; }
.section06 .support { width: 600px; margin: 35px auto 0; background: #fff9e0; border-radius: 20px; -moz-border-radius: 20px; -webkit-border-radius: 20px; -o-border-radius: 20px; -ms-border-radius: 20px; position: relative; padding: 25px 0 20px; }
@media only screen and (max-width: 768px) { .section06 .support { width: 100%; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -o-border-radius: 10px; -ms-border-radius: 10px; padding: 25px 10px 15px; } }
.section06 .support .heading { width: 100%; position: absolute; left: 0; top: -18px; text-align: center; font-weight: 700; font-size: 23px; font-size: 2.3rem; color: #6c3636; }
@media only screen and (max-width: 768px) { .section06 .support .heading { top: -14px; } }
.section06 .support .items { -webkit-display: flex; -moz-display: flex; -ms-display: flex; -o-display: flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; -o-justify-content: center; justify-content: center; }
@media only screen and (max-width: 768px) { .section06 .support .items { -webkit-justify-content: space-between; -moz-justify-content: space-between; -ms-justify-content: space-between; -o-justify-content: space-between; justify-content: space-between; } }
.section06 .support .items .item { width: 150px; position: relative; text-align: center; }
@media only screen and (max-width: 768px) { .section06 .support .items .item { width: 31%; } }
.section06 .support .items .item + .item { margin-left: 15px; }
@media only screen and (max-width: 768px) { .section06 .support .items .item + .item { margin-left: 0; } }
.section06 .support .comment { background: #e8e8e8; border-radius: 100px; -moz-border-radius: 100px; -webkit-border-radius: 100px; -o-border-radius: 100px; -ms-border-radius: 100px; padding: 10px 0; font-size: 15px; font-size: 1.5rem; font-weight: 500; position: relative; }
@media only screen and (max-width: 768px) { .section06 .support .comment { font-size: 2.8vw; padding: 5px 0; } }
.section06 .support .comment::before { content: ""; position: absolute; left: 50%; transform: translateX(-50%); bottom: -7px; width: 0; height: 0; border-style: solid; border-width: 7px 5px 0 5px; border-color: #e8e8e8 transparent transparent transparent; }
.section06 .support .step { margin-top: 12px; font-weight: 700; color: #0a9351; font-size: 23px; font-size: 2.3rem; position: relative; }
@media only screen and (max-width: 768px) { .section06 .support .step { font-size: 22px; font-size: 2.2rem; } }
.section06 .support .step::before { content: ""; position: absolute; top: 50%; transform: translateY(-50%); right: -17px; width: 0; height: 0; border-style: solid; border-width: 12.5px 0 12.5px 17px; border-color: transparent transparent transparent #8cbc35; }
@media only screen and (max-width: 768px) { .section06 .support .step::before { border-width: 10px 0 10px 15px; right: -15px; } }
.section06 .support .items .item:last-child .step::before { display: none; }
.section06 .support .txt { width: 300px; margin: 15px auto 0; border: 2px solid #f98217; background: #fff; text-align: center; padding: 4px 0; font-weight: 700; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; font-size: 23px; font-size: 2.3rem; color: #f98217; }
@media only screen and (max-width: 768px) { .section06 .support .txt { width: 260px; border-width: 1px; font-size: 21px; font-size: 2.1rem; margin-top: 10px; } }
.section06 .point { margin-top: 30px; }
@media only screen and (max-width: 768px) { .section06 .point { margin-top: 20px; } }
.section06 .point .heading { width: 595px; margin: auto; height: 95px; text-align: center; background-image: url("img/section06_point_ttl.png"); background-repeat: no-repeat; background-position: center center; background-size: cover; font-size: 28px; font-size: 2.8rem; font-weight: 700; padding-top: 30px; }
@media only screen and (max-width: 768px) { .section06 .point .heading { background-image: url("img/section06_point_ttl_sp.png"); background-size: 100% auto; background-position: center 90%; width: 100%; height: auto; padding-top: 0; } }
.section06 .point .heading span { background: linear-gradient(transparent 60%, #ffeb96 60%); }
.section06 .point .items { margin-top: 30px; -webkit-display: flex; -moz-display: flex; -ms-display: flex; -o-display: flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: space-between; -moz-justify-content: space-between; -ms-justify-content: space-between; -o-justify-content: space-between; justify-content: space-between; }
@media only screen and (max-width: 768px) { .section06 .point .items { display: block; } }
.section06 .point .items .item { background: #f8feee; border: 2px solid #0a9351; border-radius: 20px; -moz-border-radius: 20px; -webkit-border-radius: 20px; -o-border-radius: 20px; -ms-border-radius: 20px; width: 290px; position: relative; padding: 30px 25px 15px; }
@media only screen and (max-width: 768px) { .section06 .point .items .item { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -o-border-radius: 10px; -ms-border-radius: 10px; width: 100%; padding: 18px 12px 15px; border-width: 1px; }
  .section06 .point .items .item + .item { margin-top: 20px; } }
.section06 .point .items .item::before { content: ""; position: absolute; width: 120px; height: 100%; background-repeat: no-repeat; background-position: center top; background-size: 100% auto; left: 0; right: 0; margin: 0 auto; top: -15px; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .section06 .point .items .item::before { width: 100px; top: -11px; } }
.section06 .point .items .item:nth-child(1)::before { background-image: url("img/section06_point_01.png"); }
.section06 .point .items .item:nth-child(2)::before { background-image: url("img/section06_point_02.png"); }
.section06 .point .items .item:nth-child(3)::before { background-image: url("img/section06_point_03.png"); }
.section06 .point .ttl { text-align: center; font-weight: 700; font-size: 20px; font-size: 2rem; }
.section06 .point p { margin-top: 12px; font-size: 15px; font-size: 1.5rem; }
@media only screen and (max-width: 768px) { .section06 .point p { margin-top: 7px; font-size: 18px; font-size: 1.8rem; } }
.section06 .point p span { font-weight: 700; color: #f82020; }

.section07 .inner { width: 1000px; margin: 0 auto; padding: 25px 50px 100px; }
@media only screen and (max-width: 768px) { .section07 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section07 .inner { padding: 15px 10px 50px; } }
.section07 ul li { background: #fff; border-radius: 15px; -moz-border-radius: 15px; -webkit-border-radius: 15px; -o-border-radius: 15px; -ms-border-radius: 15px; -webkit-box-shadow: 0 0 10px rgba(31, 31, 31, 0.2); -moz-box-shadow: 0 0 10px rgba(31, 31, 31, 0.2); box-shadow: 0 0 10px rgba(31, 31, 31, 0.2); }
@media only screen and (max-width: 768px) { .section07 ul li { border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; -webkit-box-shadow: 0 0 5px rgba(31, 31, 31, 0.2); -moz-box-shadow: 0 0 5px rgba(31, 31, 31, 0.2); box-shadow: 0 0 5px rgba(31, 31, 31, 0.2); } }
.section07 ul li + li { margin-top: 10px; }
.section07 .question, .section07 .answer { position: relative; padding-left: 85px; }
@media only screen and (max-width: 768px) { .section07 .question, .section07 .answer { padding-left: 50px; } }
.section07 .question { font-weight: 700; font-size: 18px; font-size: 1.8rem; padding-top: 25px; padding-bottom: 25px; padding-right: 70px; cursor: pointer; }
@media only screen and (max-width: 768px) { .section07 .question { padding-top: 12px; padding-bottom: 12px; padding-right: 50px; } }
.section07 .question::before { content: "+"; position: absolute; top: 50%; transform: translateY(-50%); right: 30px; font-size: 30px; font-size: 3rem; }
@media only screen and (max-width: 768px) { .section07 .question::before { right: 15px; font-weight: 400; } }
.section07 .question::after { content: ""; position: absolute; width: 46px; height: 100%; background-image: url("img/ico_question.png"); background-repeat: no-repeat; background-position: center top; background-size: 100% auto; left: 25px; top: 18px; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .section07 .question::after { width: 26px; left: 12px; top: 10px; } }
.section07 .question.active::before { content: "-"; }
.section07 .answer { padding-right: 70px; padding-bottom: 25px; }
@media only screen and (max-width: 768px) { .section07 .answer { padding-right: 20px; padding-bottom: 12px; } }
.section07 .answer::after { content: ""; position: absolute; width: 46px; height: 100%; background-image: url("img/ico_answer.png"); background-repeat: no-repeat; background-position: center top; background-size: 100% auto; left: 25px; top: 0px; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .section07 .answer::after { width: 26px; left: 12px; top: 2px; } }

.footer { background: #163d83; padding-bottom: 40px; }
.footer .privacy { background: #fff; padding: 20px 0; -webkit-display: flex; -moz-display: flex; -ms-display: flex; -o-display: flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; -o-justify-content: center; justify-content: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; -o-align-items: center; align-items: center; }
@media only screen and (max-width: 768px) { .footer .privacy { padding: 0 15px 20px; }
  .footer .privacy .ico { width: 60px; } }
.footer .privacy .txt { margin-left: 10px; font-size: 12px; font-size: 1.2rem; color: rgba(0, 0, 0, 0.54); }
@media only screen and (max-width: 768px) { .footer .privacy .txt { margin-left: 0; padding-left: 10px; flex: 1; } }
.footer .f_nav { margin-top: 15px; padding-top: 20px; }
.footer .f_nav ul { -webkit-display: flex; -moz-display: flex; -ms-display: flex; -o-display: flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; -o-justify-content: center; justify-content: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; -o-align-items: center; align-items: center; }
.footer .f_nav ul li { position: relative; padding-left: 10px; margin-left: 15px; color: #fff; }
@media only screen and (max-width: 768px) { .footer .f_nav ul li { margin-left: 5px; } }
.footer .f_nav ul li::before { content: "｜"; position: absolute; top: 0; left: -10px; color: #fff; }
@media only screen and (max-width: 768px) { .footer .f_nav ul li::before { display: none; } }
.footer .f_nav ul li:first-child::before { display: none; }
.footer .f_nav ul li a { color: #fff; text-decoration: none; }
.footer .copyright { margin-top: 20px; color: #fff; text-align: center; font-size: 12px; font-size: 1.2rem; }
@media only screen and (max-width: 768px) { .footer .copyright { font-size: 10px; font-size: 1rem; } }

.exitProtection_overlay { background: rgba(0, 0, 0, 0.7); width: 100%; height: 100%; position: fixed; top: 0; left: 0; z-index: 99; display: none; }

.exitProtection { width: 400px !important; margin: 0 auto; position: fixed; left: 0; right: 0; top: 15%; border: none; z-index: 1000; }
@media only screen and (max-width: 768px) { .exitProtection { width: 95% !important; } }
.exitProtection a { outline: none; }
.exitProtection .wrap { position: relative; overflow: auto !important; padding-top: 40px; height: 490px; }
@media only screen and (max-width: 768px) { .exitProtection .wrap { width: 80vw; margin: 0 auto; height: 100%; }
  .exitProtection .wrap::before { content: ""; display: block; padding-top: calc(450 / 400 * 100%); } }
.exitProtection .wrap .image { position: absolute; top: 40px; left: 0; }
.exitProtection .wrap .image .client_image { display: block; position: absolute; position: absolute; left: 50%; transform: translateX(-50%); width: 60%; top: 31.78%; }
.exitProtection .wrap .modal_close { background: #8d8d8d; color: #fff !important; width: 40px; line-height: 40px; display: block; font-size: 20px; font-weight: bold; position: absolute; top: 0px; right: 0; text-align: center; cursor: pointer; text-decoration: none; z-index: 100; }
.exitProtection .wrap .btn { width: 92.5%; position: absolute; left: 50%; transform: translateX(-50%); top: 82.23%; }
.exitProtection .wrap .btn .cta_btn { width: 100%; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; }
.exitProtection .wrap .btn .cta_btn a { font-size: 20px; font-size: 2rem; padding: 15px 0; }
@media only screen and (max-width: 768px) { .exitProtection .wrap .btn .cta_btn a { font-size: 19px; font-size: 1.9rem; } }

.ui-dialog-titlebar { display: none; }

.ui-dialog { background: transparent !important; border: none !important; padding: 0 !important; width: 90% !important; }

.fixed_cta { display: none; position: fixed; left: 0; bottom: 0; width: 100%; background: rgba(255, 250, 229, 0.9); z-index: 100; }
@media only screen and (max-width: 768px) { .fixed_cta { background: none; } }
.fixed_cta .inner { width: 1000px; margin: 0 auto; position: relative; padding: 10px 0; }
@media only screen and (max-width: 768px) { .fixed_cta .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .fixed_cta .inner { padding: 0; } }
.fixed_cta .wrap { -webkit-display: flex; -moz-display: flex; -ms-display: flex; -o-display: flex; display: flex; -webkit-flex-wrap: wrap; -moz-flex-wrap: wrap; -ms-flex-wrap: wrap; -o-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; -moz-justify-content: center; -ms-justify-content: center; -o-justify-content: center; justify-content: center; -webkit-align-items: center; -moz-align-items: center; -ms-align-items: center; -o-align-items: center; align-items: center; }
@media only screen and (max-width: 768px) { .fixed_cta .wrap { display: block; position: relative; } }
.fixed_cta .wrap .btn { width: 240px; margin-left: 15px; }
@media only screen and (max-width: 768px) { .fixed_cta .wrap .btn { width: 32%; margin: 0; position: absolute; top: 50%; transform: translateY(-50%); right: 1.87%; } }
.fixed_cta .wrap .cta_btn { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -o-border-radius: 10px; -ms-border-radius: 10px; }
@media only screen and (max-width: 768px) { .fixed_cta .wrap .cta_btn { border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; } }
.fixed_cta .wrap .cta_btn a { font-size: 16px; font-size: 1.6rem; }
@media only screen and (max-width: 768px) { .fixed_cta .wrap .cta_btn a { font-size: 2.7vw; padding: 5px 0; } }
