@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 #cf560e; top: 0px; }
  10% { box-shadow: 0 0 0 #cf560e; top: 6px; }
  20% { box-shadow: 0 5px 0 #cf560e; top: 0px; }
  30% { box-shadow: 0 0 0 #cf560e; top: 6px; }
  40% { box-shadow: 0 5px 0 #cf560e; top: 0px; } }
@media only screen and (max-width: 768px) { @keyframes animationbtn { 0% { box-shadow: 0 4px 0 #cf560e; top: 0px; }
    10% { box-shadow: 0 0 0 #cf560e; top: 6px; }
    20% { box-shadow: 0 4px 0 #cf560e; top: 0px; }
    30% { box-shadow: 0 0 0 #cf560e; top: 6px; }
    40% { box-shadow: 0 4px 0 #cf560e; top: 0px; } } }
.cta { position: relative; text-align: center; }
.cta .hover_txt { display: inline-block; background: #fff; border: 1px solid #ff690f; font-size: 15px; font-size: 1.5rem; padding: 2px 50px; position: absolute; left: 50%; transform: translateX(-50%); top: -12px; border-radius: 50px; -moz-border-radius: 50px; -webkit-border-radius: 50px; -o-border-radius: 50px; -ms-border-radius: 50px; color: #ff690f; font-weight: 700; z-index: 3; pointer-events: none; }
@media only screen and (max-width: 768px) { .cta .hover_txt { font-size: 13px; font-size: 1.3rem; top: -10px; padding: 2px 0; width: 65%; } }

.cta_btn { position: relative; -webkit-box-shadow: 0 5px 0 #cf560e; -moz-box-shadow: 0 5px 0 #cf560e; box-shadow: 0 5px 0 #cf560e; background: #ff690f; -moz-transition: 0.3s; -webkit-transition: 0.3s; -o-transition: 0.3s; -ms-transition: 0.3s; transition: 0.3s; 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) { .cta_btn { -webkit-box-shadow: 0 4px 0 #cf560e; -moz-box-shadow: 0 4px 0 #cf560e; box-shadow: 0 4px 0 #cf560e; } }
@media only screen and (min-width: 769px) { .cta_btn:hover { filter: alpha(opacity=75); -moz-opacity: 0.75; opacity: 0.75; } }
.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: 23px; font-size: 2.3rem; text-align: center; padding: 20px; }
@media only screen and (max-width: 768px) { .cta_btn a { font-size: 4vw; padding: 16px 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: #fff; font-size: 1.6em; color: #333; font-family: "Noto Sans JP", sans-serif; -webkit-font-smoothing: antialiased; line-height: 1.5; }
@media only screen and (max-width: 768px) { body { background: #fff; } }

a { color: #1e53ff; }

@media only screen and (min-width: 769px) { a:hover { color: #1e53ff; 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(17, 17, 17, 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: #0787d1; 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 #e70010; 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; }
@media only screen and (max-width: 768px) { .header { border-top-width: 2px; } }
.header .logo { width: 180px; }
.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: 8px; }
  .header .inner .logo { width: 225px; } }
@media only screen and (max-width: 768px) and (max-width: 768px) { .header .inner .logo { width: 130px; } }

.header .header_pr { position: absolute; top: 50%; transform: translateY(-50%); right: 0; font-size: 15px; font-size: 1.5rem; }
@media only screen and (max-width: 768px) { .header .header_pr { right: 10px; } }
.header .header_pr span { display: inline-block; border: 1px solid #747474; padding: 1px 10px; border-radius: 3px; -moz-border-radius: 3px; -webkit-border-radius: 3px; -o-border-radius: 3px; -ms-border-radius: 3px; }
@media only screen and (max-width: 768px) { .header .header_pr span { font-size: 11px; font-size: 1.1rem; padding: 1px 5px; } }

.main_ttl { background: #0787d1; text-align: center; font-size: 26px; font-size: 2.6rem; color: #fff; font-weight: 700; padding: 10px 0 16px; line-height: 1.3; letter-spacing: 0.075em; }
@media only screen and (max-width: 768px) { .main_ttl { font-size: 4.5vw; padding: 8px 0 14px; letter-spacing: 0.05em; } }
.main_ttl.single { padding: 22px 0; }
@media only screen and (max-width: 768px) { .main_ttl.single { padding: 15px 0; } }
.main_ttl .medium { font-size: 20px; font-size: 2rem; }
@media only screen and (max-width: 768px) { .main_ttl .medium { font-size: 3.5vw; } }

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

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

.fv { background-image: url("img/fv_bg.jpg"); background-repeat: no-repeat; background-position: center center; background-size: cover auto; }
@media only screen and (max-width: 768px) { .fv { background: none; } }
.fv .inner { width: 1000px; margin: 0 auto; position: relative; height: 320px; }
@media only screen and (max-width: 768px) { .fv .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .fv .inner { height: auto; } }
@media only screen and (min-width: 769px) { .fv .fv_image { position: absolute; top: 50%; transform: translateY(-50%); z-index: 1; left: 0; } }

.sub_ttl_wrap { text-align: center; }
.sub_ttl_wrap img { display: block; width: 165px; margin: auto; }
@media only screen and (max-width: 768px) { .sub_ttl_wrap img { width: 120px; } }
.sub_ttl_wrap .sub_heading span { display: inline-block; font-size: 20px; font-size: 2rem; font-weight: 700; background: #d2efff; border-radius: 100px; -moz-border-radius: 100px; -webkit-border-radius: 100px; -o-border-radius: 100px; -ms-border-radius: 100px; padding: 4px 24px; position: relative; border: 2px solid #0787d1; }
@media only screen and (max-width: 768px) { .sub_ttl_wrap .sub_heading span { font-size: 3.8vw; padding: 2px 18px; } }
.sub_ttl_wrap .sub_heading span::before, .sub_ttl_wrap .sub_heading span::after { content: ""; position: absolute; left: 50%; translate: -50% 100%; bottom: 0; border-style: solid; }
.sub_ttl_wrap .sub_heading span::before { border-width: 13px 9px 0 9px; border-color: #0787d1 transparent transparent; }
.sub_ttl_wrap .sub_heading span::after { border-width: 9.5px 6.6px 0 6.6px; border-color: #d2efff transparent transparent; }
.sub_ttl_wrap .sub_ttl { text-align: center; font-weight: 700; font-size: 30px; font-size: 3rem; margin-top: 8px; letter-spacing: 0.075em; }
@media only screen and (max-width: 768px) { .sub_ttl_wrap .sub_ttl { font-size: 5vw; } }
.sub_ttl_wrap .sub_ttl span { color: #ef4444; }

.section01 .inner { width: 1000px; margin: 0 auto; padding: 25px 50px 70px; }
@media only screen and (max-width: 768px) { .section01 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section01 .inner { padding: 15px 10px 50px; } }
.section01 .detail_only { display: none; }
.section01 .recommend { padding: 2px; position: relative; }
.section01 .recommend::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 20px; -moz-border-radius: 20px; -webkit-border-radius: 20px; -o-border-radius: 20px; -ms-border-radius: 20px; z-index: -1; /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#b4993a+7,fffea6+21,b4993a+38,fffea6+63,b9a34b+82,b4993a+95 */ background: linear-gradient(135deg, #b4993a 13%, #fffea6 21%, #b4993a 39%, #fffea6 63%, #b9a34b 77%, #b4993a 95%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ }
@media only screen and (max-width: 768px) { .section01 .recommend::before { border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -o-border-radius: 10px; -ms-border-radius: 10px; } }
.section01 .recommend ul { background: #fff; border-radius: 18px; -moz-border-radius: 18px; -webkit-border-radius: 18px; -o-border-radius: 18px; -ms-border-radius: 18px; padding: 15px 35px; }
@media only screen and (max-width: 768px) { .section01 .recommend ul { border-radius: 8px; -moz-border-radius: 8px; -webkit-border-radius: 8px; -o-border-radius: 8px; -ms-border-radius: 8px; padding: 8px 12px; } }
.section01 .recommend ul li { padding: 12px 0; padding-left: 85px; position: relative; background-image: url("img/section01_border.png"); background-repeat: repeat-x; background-position: left bottom; background-size: 6px auto; }
@media only screen and (max-width: 768px) { .section01 .recommend ul li { padding: 10px 0 15px; padding-left: 40px; background-size: 4px auto; } }
.section01 .recommend ul li:last-child { border-bottom: none; }
.section01 .recommend ul li::before { content: ""; position: absolute; width: 67px; height: 100%; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; left: 0; top: -2px; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .section01 .recommend ul li::before { display: none; } }
.section01 .recommend ul li:nth-child(1)::before { background-image: url("img/ico_rank01.png"); }
.section01 .recommend ul li:nth-child(2)::before { background-image: url("img/ico_rank02.png"); }
.section01 .recommend ul li:nth-child(3)::before { background-image: url("img/ico_rank03.png"); }
.section01 .recommend ul li:last-child { background: none; }
@media only screen and (max-width: 768px) { .section01 .recommend ul li:first-child .wrap .btn .cta { margin-top: 17px; } }
.section01 .recommend .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 .recommend .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: flex-start; -moz-align-items: flex-start; -ms-align-items: flex-start; -o-align-items: flex-start; align-items: flex-start; } }
.section01 .recommend .wrap .image { width: 120px; }
@media only screen and (max-width: 768px) { .section01 .recommend .wrap .image { width: 90px; position: relative; }
  .section01 .recommend .wrap .image::before { content: ""; position: absolute; left: -38px; 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 .recommend .wrap .btn { width: 215px; }
@media only screen and (max-width: 768px) { .section01 .recommend .wrap .btn { width: 100%; margin-top: 4px; } }
.section01 .recommend .wrap .btn .cta { margin-top: 0; }
@media only screen and (max-width: 768px) { .section01 .recommend .wrap .btn .cta { max-width: 100%; } }
.section01 .recommend .wrap .btn .cta .hover_txt { padding: 2px 0; width: 90%; top: -15px; font-size: 14px; font-size: 1.4rem; }
@media only screen and (max-width: 768px) { .section01 .recommend .wrap .btn .cta .hover_txt { width: 160px; top: -13px; font-size: 12px; font-size: 1.2rem; } }
@media only screen and (max-width: 768px) { .section01 .recommend .wrap .btn .cta_btn { border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; } }
.section01 .recommend .wrap .btn .cta_btn a { font-size: 16px; font-size: 1.6rem; padding: 14px 0; }
@media only screen and (max-width: 768px) { .section01 .recommend .wrap .btn .cta_btn a { padding: 10px 0; font-size: 16px; font-size: 1.6rem; } }
.section01 .recommend .wrap .txt { flex: 1; padding: 0 20px; }
@media only screen and (max-width: 768px) { .section01 .recommend .wrap .txt { padding: 0; padding-left: 10px; } }
.section01 .recommend .wrap .txt .name { font-size: 14px; font-size: 1.4rem; }
.section01 .recommend .wrap .txt .name a { display: inline-block; position: relative; font-weight: 700; padding-right: 20px; }
@media only screen and (max-width: 768px) { .section01 .recommend .wrap .txt .name a { font-weight: 700; padding-right: 19px; } }
.section01 .recommend .wrap .txt .name a::before { content: ""; position: absolute; width: 14px; height: 14px; 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 .recommend .wrap .txt .name a::before { width: 13px; height: 13px; } }
.section01 .recommend .wrap .txt .lead { font-size: 15px; font-size: 1.5rem; font-weight: 500; line-height: 1.4; margin-top: 5px; }
@media only screen and (max-width: 768px) { .section01 .recommend .wrap .txt .lead { font-size: 14px; font-size: 1.4rem; font-weight: 500; margin-top: 3px; } }
.section01 .recommend .wrap .txt .lead span { color: #ef4444; font-weight: 700; }
@media only screen and (max-width: 768px) { .section01 .recommend ul li:nth-child(1) .image::before { background-image: url("img/ico_rank01.png"); }
  .section01 .recommend ul li:nth-child(2) .image::before { background-image: url("img/ico_rank02.png"); }
  .section01 .recommend ul li:nth-child(3) .image::before { background-image: url("img/ico_rank03.png"); } }
.section01 .comparison { margin-top: 45px; }
@media only screen and (max-width: 768px) { .section01 .comparison { margin-top: 30px; } }
.section01 .comparison .wrap { position: relative; margin: auto; }
@media only screen and (max-width: 768px) { .section01 .comparison .wrap { width: 100%; } }
.section01 .comparison .wrap::before { content: ""; position: absolute; left: 160px; top: 0; width: calc((100% - 160px) / 3 + 1px); height: 100%; pointer-events: none; border: 3px solid #0787d1; z-index: 10; }
@media only screen and (max-width: 768px) { .section01 .comparison .wrap::before { border-width: 2px; left: 80px; width: calc( (100% - 80px) / 3 + 1px ); } }
@media only screen and (max-width: 768px) { .section01 .comparison .ico { width: 29px; margin: auto; } }
.section01 .comparison table { width: 100%; table-layout: fixed; margin-top: 20px; }
@media only screen and (max-width: 768px) { .section01 .comparison table { margin-top: 15px; } }
.section01 .comparison table th, .section01 .comparison table td { vertical-align: middle; text-align: center; font-size: 14px; font-size: 1.4rem; font-weight: 500; line-height: 1.4; }
@media only screen and (max-width: 768px) { .section01 .comparison table th, .section01 .comparison table td { font-size: 12px; font-size: 1.2rem; } }
.section01 .comparison table thead tr th { width: calc( (100% - 160px) / 3 ); }
@media only screen and (max-width: 768px) { .section01 .comparison table thead tr th { width: calc( (100% - 80px) / 3 ); } }
.section01 .comparison table thead tr th span { display: block; font-size: 18px; font-size: 1.8rem; font-weight: 700; padding: 8px 0; background: #9e9d9d; border: 1px solid #e8e8e8; border-bottom: none; border-left: none; color: #fff; }
@media only screen and (max-width: 768px) { .section01 .comparison table thead tr th span { font-size: 3.5vw; } }
.section01 .comparison table thead tr th:nth-child(1) { width: 160px; border: none; background: #fff; }
@media only screen and (max-width: 768px) { .section01 .comparison table thead tr th:nth-child(1) { width: 80px; } }
.section01 .comparison table thead tr th:nth-child(2) { background: #0787d1; border: none; vertical-align: middle; }
@media only screen and (max-width: 768px) { .section01 .comparison table thead tr th:nth-child(2) img { display: block; width: 75%; margin: auto; } }
.section01 .comparison table tbody tr th, .section01 .comparison table tbody tr td { padding: 15px 0; border: 1px solid #b6b6b6; background: #fff; }
@media only screen and (max-width: 768px) { .section01 .comparison table tbody tr th, .section01 .comparison table tbody tr td { padding: 10px 0; vertical-align: middle; } }
.section01 .comparison table tbody tr th { font-weight: 500; font-size: 16px; font-size: 1.6rem; color: #0787d1; background: #f5fbff; vertical-align: middle; }
@media only screen and (max-width: 768px) { .section01 .comparison table tbody tr th { font-size: 2.5vw; } }
.section01 .comparison table tbody tr td { padding-left: 10px; padding-right: 10px; }
.section01 .comparison table tbody tr td ul li { text-align: left; position: relative; padding-left: 1.2em; }
.section01 .comparison table tbody tr td ul li::before { content: "・"; position: absolute; top: 0; left: 0; }
.section01 .comparison table tbody tr td ul li span { color: #ef4444; font-weight: 700; }
.section01 .comparison table tbody tr td ul.red li::before { color: #ef4444; }
.section01 .comparison table tbody tr td:nth-of-type(1) { background: #fffeeb; }
.section01 .comparison .star { color: #fca91a; font-size: 130%; }
.section01 .comparison .star + p { font-weight: 700; font-size: 18px; font-size: 1.8rem; }
.section01 .comparison .bottom_txt { margin-top: 25px; text-align: center; letter-spacing: 0.075em; }
@media only screen and (max-width: 768px) { .section01 .comparison .bottom_txt { margin-top: 15px; } }
.section01 .comparison .bottom_txt span { display: inline-block; font-size: 25px; font-size: 2.5rem; font-weight: 700; padding: 0 10px; background: linear-gradient(transparent 60%, #fdfc66 60%); }
@media only screen and (max-width: 768px) { .section01 .comparison .bottom_txt span { font-size: 22px; font-size: 2.2rem; } }
.section01 .comparison .bottom_txt span strong { color: #ef4444; font-size: 120%; }
@media only screen and (max-width: 768px) { .section01 .point_sp { margin-top: 15px; }
  .section01 .point_sp .heading { background: #ef4444; text-align: center; padding: 3px 0; color: #fff; font-weight: 500; }
  .section01 .point_sp .point_items .point_item { border-left: 1px solid #b6b6b6; border-right: 1px solid #b6b6b6; border-bottom: 1px solid #b6b6b6; -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; }
  .section01 .point_sp .point_items .point_item .name { width: 80px; text-align: center; }
  .section01 .point_sp .point_items .point_item .name img { width: 80%; margin: auto; vertical-align: top; }
  .section01 .point_sp .point_items .point_item .txt { flex: 1; padding: 1em; font-size: 14px; font-size: 1.4rem; border-left: 1px solid #b6b6b6; }
  .section01 .point_sp .point_items .point_item .txt ul li { text-align: left; position: relative; padding-left: 1.2em; }
  .section01 .point_sp .point_items .point_item .txt ul li::before { content: "・"; position: absolute; top: 0; left: 0; }
  .section01 .point_sp .point_items .point_item .txt ul li span { color: #ef4444; font-weight: 500; }
  .section01 .point_sp .point_items .point_item:nth-child(1) { border-left: 2px solid #ef4444; border-right: 2px solid #ef4444; border-bottom: 2px solid #ef4444; }
  .section01 .point_sp .point_items .point_item:nth-child(1) .name { width: 79px; }
  .section01 .point_sp .point_items .point_item:nth-child(1) .txt { background: #fffeeb; } }
.section01 .cta { max-width: 680px; margin: 30px auto 0; }
@media only screen and (max-width: 768px) { .section01 .cta { max-width: 90%; margin-top: 25px; }
  .section01 .cta .hover_txt { font-size: 15px; font-size: 1.5rem; top: -14px; } }
.section01 .cta .remarks { text-align: left; }
@media only screen and (max-width: 768px) { .section01 .cta .remarks { text-align: right; } }
.section01 .achievement { margin-top: 60px; }
@media only screen and (max-width: 768px) { .section01 .achievement { margin-top: 40px; } }
.section01 .achievement .achievement_slides { width: 550px; margin: auto; margin-top: 20px; }
@media only screen and (max-width: 768px) { .section01 .achievement .achievement_slides { width: 100%; margin-top: 25px; padding: 0 30px; } }
@media only screen and (max-width: 768px) { .section01 .achievement .achievement_slides .slick-dots { width: 85%; }
  .section01 .achievement .achievement_slides .achievement_slide { text-align: center; width: 100%; }
  .section01 .achievement .achievement_slides .achievement_slide img { margin: auto; }
  .section01 .achievement .achievement_slides .slick-prev:before, .section01 .achievement .achievement_slides .slick-next:before { content: ''; width: 13px; height: 13px; border: 0px; border-top: solid 2px #9e9d9d; border-right: solid 2px #9e9d9d; -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); transform: rotate(45deg); position: absolute; top: 50%; right: 0; margin-top: -5px; z-index: 1000; }
  .section01 .achievement .achievement_slides .slick-prev { left: 10px; }
  .section01 .achievement .achievement_slides .slick-prev::before { right: auto; left: 0; -moz-transform: rotate(-135deg); -webkit-transform: rotate(-135deg); -o-transform: rotate(-135deg); -ms-transform: rotate(-135deg); transform: rotate(-135deg); }
  .section01 .achievement .achievement_slides .slick-next { right: 10px; } }
.section01 .achievement .remarks { margin-top: 60px; text-align: center; }
@media only screen and (max-width: 768px) { .section01 .achievement .remarks { margin-top: 50px; } }
.section01 .achievement .cta { margin-top: 20px; }
.section01 .achievement .slick-dots { bottom: -40px; }
@media only screen and (max-width: 768px) { .section01 .achievement .slick-dots li { margin: 0; } }
.section01 .achievement .slick-dots li button::before { content: ""; width: 12px; border-radius: 100%; -moz-border-radius: 100%; -webkit-border-radius: 100%; -o-border-radius: 100%; -ms-border-radius: 100%; height: 12px; background: #fff; border: 1px solid #0787d1; opacity: 1; }
@media only screen and (max-width: 768px) { .section01 .achievement .slick-dots li button::before { width: 9px; height: 9px; } }
.section01 .achievement .slick-dots li.slick-active button:before { opacity: 1; background: #0787d1; }
.section01 .achievement .achievement_slides { opacity: 0; transition: opacity .3s linear; }
.section01 .achievement .achievement_slides.slick-initialized { opacity: 1; }
.section01 .achievement .slick-slide { height: auto !important; -webkit-backface-visibility: hidden; -webkit-transform-style: preserve-3d; }
.section01 .achievement .cta { margin-top: 30px; }

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

.client_archive > ul > li { margin-top: 30px; }
@media only screen and (max-width: 768px) { .client_archive > ul > li { margin-top: 20px; } }
.client_archive > ul > li:first-child { margin-top: 0; }
.client_archive .client_card { border: 2px solid #929292; background: #fff; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -o-border-radius: 10px; -ms-border-radius: 10px; }
.client_archive .client_card .client_name { position: relative; padding: 15px 10px 15px 118px; border-bottom: 1px solid #929292; }
@media only screen and (max-width: 768px) { .client_archive .client_card .client_name { padding: 8px 10px 8px 60px; } }
.client_archive .client_card .client_name::before { content: ""; position: absolute; width: 85px; height: 69px; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; left: 25px; top: -17px; pointer-events: none; }
@media only screen and (max-width: 768px) { .client_archive .client_card .client_name::before { width: 42px; height: 34px; left: 10px; top: -5px; } }
.client_archive .client_card .client_name a { font-size: 28px; font-size: 2.8rem; font-weight: 700; text-decoration: none; position: relative; display: inline-block; letter-spacing: 0.075em; }
@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::before { content: ""; position: absolute; width: 26px; height: 100%; background-image: url("img/ico_blank.png"); background-repeat: no-repeat; background-position: center top; background-size: 100% auto; right: -38px; top: 10px; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .client_archive .client_card .client_name a::before { width: 13px; top: 7px; right: -20px; } }
.client_archive .client_card .client_name a:hover { text-decoration: underline; }
.client_archive .client_card .client_inner { padding: 20px 25px 35px; }
@media only screen and (max-width: 768px) { .client_archive .client_card .client_inner { padding: 10px 10px 25px; } }
.client_archive > ul > li:nth-child(1) .client_card { background: #fffeeb; border-color: #0787d1; }
.client_archive > ul > li:nth-child(1) .client_card .client_name { border-color: #0787d1; }
.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.recommend > ul > li:nth-child(1) .client_card .client_name { padding-left: 25px; }
@media only screen and (max-width: 768px) { .client_archive.recommend > ul > li:nth-child(1) .client_card .client_name { padding-left: 15px; } }
.client_archive.recommend > ul > li:nth-child(1) .client_card .client_name::before { display: none; }
.client_archive .top_heading { font-size: 20px; font-size: 2rem; color: #ef4444; font-weight: 700; }
@media only screen and (max-width: 768px) { .client_archive .top_heading { font-size: 4vw; text-align: center; margin-top: 10px; } }
.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; }
@media only screen and (max-width: 768px) { .client_archive .overview { margin-top: 6px; display: block; } }
.client_archive .overview .image { width: 300px; }
@media only screen and (max-width: 768px) { .client_archive .overview .image { width: 100%; }
  .client_archive .overview .image img { display: block; width: 195px; margin: auto; margin-bottom: 8px; } }
.client_archive .overview .image .recommend_star { margin-top: 5px; text-align: center; -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; font-size: 18px; font-size: 1.8rem; font-weight: 700; margin-top: 8px; background: #fff; border: 1px solid #dadada; padding: 5px 0; 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 .overview .image .recommend_star { width: 230px; margin: 5px auto 0; } }
.client_archive .overview .image .recommend_star .label { font-size: 16px; font-size: 1.6rem; }
.client_archive .overview .image .recommend_star .star { margin-left: 10px; }
.client_archive .overview .image .recommend_star .star span { color: #fca91a; display: inline-block; margin-right: 5px; }
.client_archive .overview .txt { flex: 1; padding-left: 20px; }
@media only screen and (max-width: 768px) { .client_archive .overview .txt { padding: 0 0 0; }
  .client_archive .overview .txt .cta { margin-top: 0; margin-bottom: 15px; } }
.client_archive .overview .txt table { width: 100%; margin-top: 10px; 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 + table { border-top: none; } }
.client_archive .overview .txt table th, .client_archive .overview .txt table td { vertical-align: middle; padding: 12px 10px; border-left: 1px solid #dadada; border-bottom: 1px solid #dadada; line-height: 1.3; width: 25%; }
@media only screen and (max-width: 768px) { .client_archive .overview .txt table th, .client_archive .overview .txt table td { text-align: center; width: calc(100% / 3); } }
.client_archive .overview .txt table th { font-weight: 500; color: #0787d1; background: #f5fbff; width: 25%; font-weight: 700; }
@media only screen and (max-width: 768px) { .client_archive .overview .txt table th { padding: 8px; } }
.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; }
@media only screen and (max-width: 768px) { .client_archive .overview .txt table .ico_wrap { display: block; } }
.client_archive .overview .txt table .ico_wrap .ico { width: 24px; }
@media only screen and (max-width: 768px) { .client_archive .overview .txt table .ico_wrap .ico { margin: 0 auto 3px; } }
.client_archive .overview .txt table .ico_wrap .text { padding-left: 8px; flex: 1; }
@media only screen and (max-width: 768px) { .client_archive .overview .txt table .ico_wrap .text { padding-left: 0; } }
.client_archive .point { margin-top: 35px; background: #fff; position: relative; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -o-border-radius: 10px; -ms-border-radius: 10px; border: 2px solid #0787d1; }
@media only screen and (max-width: 768px) { .client_archive .point { margin-top: 25px; } }
.client_archive .point .ttl { position: absolute; left: 50%; transform: translateX(-50%); background: #0787d1; width: 270px; text-align: center; color: #fff; border-radius: 100px; -moz-border-radius: 100px; -webkit-border-radius: 100px; -o-border-radius: 100px; -ms-border-radius: 100px; padding: 3px 0; font-size: 18px; font-size: 1.8rem; font-weight: 700; top: -18px; }
@media only screen and (max-width: 768px) { .client_archive .point .ttl { width: 180px; top: -16px; } }
.client_archive .point .wrap { padding: 30px 20px 25px; text-align: center; }
@media only screen and (max-width: 768px) { .client_archive .point .wrap { padding: 20px 10px 12px; display: block; } }
.client_archive .point .wrap ul { display: inline-block; }
.client_archive .point .wrap ul li { text-align: left; }
.client_archive .point ul li { font-size: 18px; font-size: 1.8rem; margin-top: 3px; position: relative; font-weight: 500; padding-left: 22px; }
@media only screen and (max-width: 768px) { .client_archive .point ul li { padding-left: 20px; } }
.client_archive .point ul li:first-child { margin-top: 0; }
.client_archive .point ul li::before { content: ""; position: absolute; width: 13px; height: 100%; background-image: url("img/client_point_ico.png"); background-repeat: no-repeat; background-position: center top; background-size: 100% auto; left: 0; top: 7px; pointer-events: none; }
@media only screen and (max-width: 768px) { .client_archive .point ul li::before { width: 12px; top: 6px; } }
.client_archive .point ul li span { color: #ef4444; font-weight: 700; }
.client_archive .cta { margin: 20px auto 0; max-width: 680px; }
@media only screen and (max-width: 768px) { .client_archive .cta { margin-top: 15px; } }
.client_archive .cta .txt { text-align: center; font-weight: 700; color: #ef4444; font-size: 22px; font-size: 2.2rem; margin-bottom: 8px; }
@media only screen and (max-width: 768px) { .client_archive .cta .txt { font-size: 4vw; margin-bottom: 4px; } }
.client_archive .overview .txt .cta { margin-top: 10px; }

.section03 .inner { width: 1000px; margin: 0 auto; padding: 30px 0 60px; }
@media only screen and (max-width: 768px) { .section03 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section03 .inner { padding: 15px 10px 20px; } }
.section03 .client_table { position: relative; width: 750px; margin: auto; }
@media only screen and (max-width: 768px) { .section03 .client_table { width: 100%; } }
.section03 .client_table .wrap { position: relative; }
.section03 .client_table .wrap::before, .section03 .client_table .wrap::after { content: ""; position: absolute; top: 0; left: 1px; pointer-events: none; }
.section03 .client_table .wrap::after { width: calc(100% / 3); height: 100%; border: 2px solid #ef4444; z-index: 5; }
@media only screen and (max-width: 768px) { .section03 .client_table .wrap::after { border-width: 2px; } }
.section03 .client_table table { width: 100%; border: 1px solid #d0d0d0; background: #fff; }
.section03 .client_table table th, .section03 .client_table table td { width: calc(100% / 3); text-align: center; }
.section03 .client_table table th { border-top: 1px solid #d0d0d0; border-bottom: 1px solid #d0d0d0; background: #f5fbff; font-weight: 700; color: #0787d1; padding: 3px 0; font-size: 15px; font-size: 1.5rem; position: relative; z-index: 3; }
.section03 .client_table table td { padding: 10px 20px; border-left: 1px solid #d0d0d0; border-right: 1px solid #d0d0d0; font-size: 14px; font-size: 1.4rem; line-height: 1.4; position: relative; z-index: 5; }
@media only screen and (max-width: 768px) { .section03 .client_table table td { padding: 10px 5px; } }
.section03 .client_table table td .star { color: #fca91a; font-size: 150%; }
.section03 .client_table table td .star + p { font-weight: 700; font-size: 18px; font-size: 1.8rem; }
.section03 .client_table table tr td:first-child { background: #fffeeb; }
.section03 .client_table .image { position: relative; padding: 60px 0 0; }
@media only screen and (max-width: 768px) { .section03 .client_table .image { padding-top: 40px; } }
.section03 .client_table .image::before { content: ""; position: absolute; width: 67px; height: 100%; background-repeat: no-repeat; background-position: center top; background-size: 100% auto; left: 0; right: 0; margin: 0 auto; top: 0; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .section03 .client_table .image::before { width: 42px; } }
.section03 .client_table .image a { display: block; }
.section03 .client_table .image a:hover img { filter: alpha(opacity=100); -moz-opacity: 1; opacity: 1; }
.section03 .client_table .image a p { text-decoration: underline; font-size: 15px; font-size: 1.5rem; font-weight: 700; margin-top: 4px; }
@media only screen and (max-width: 768px) { .section03 .client_table .image a p { font-size: 14px; font-size: 1.4rem; } }
.section03 .client_table .image a:hover p { text-decoration: none; }
.section03 .client_table thead td:nth-child(1) .image::before { background-image: url("img/ico_rank01.png"); }
.section03 .client_table thead td:nth-child(2) .image::before { background-image: url("img/ico_rank02.png"); }
.section03 .client_table thead td:nth-child(3) .image::before { background-image: url("img/ico_rank03.png"); }
.section03 .client_table .ico { margin: 0 auto 3px; }
@media only screen and (max-width: 768px) { .section03 .client_table .ico { width: 35px; } }
.section03 .client_table .cta_btn { margin: 5px 0 10px; 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) { .section03 .client_table .cta_btn { width: 95%; margin: 0 auto 4px; } }
.section03 .client_table .cta_btn a { font-size: 17px; font-size: 1.7rem; padding: 22px 0; }
@media only screen and (max-width: 768px) { .section03 .client_table .cta_btn a { font-size: 2.8vw; padding: 10px 0; } }
.section03 .conclusion { margin-top: 30px; }
.section03 .conclusion .sub_heading { margin-top: 15px; }
.section03 .conclusion .client_archive { margin-top: 25px; }
@media only screen and (max-width: 768px) { .section03 .conclusion .client_archive { margin-top: 15px; } }

.section04 .inner { width: 1000px; margin: 0 auto; padding: 30px 50px 60px; }
@media only screen and (max-width: 768px) { .section04 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section04 .inner { padding: 15px 25px 40px; } }
.section04 .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: 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) { .section04 .items { display: block; } }
.section04 .items .item { width: 290px; background: #f4fbff; border: 2px solid #0787d1; border-radius: 10px; -moz-border-radius: 10px; -webkit-border-radius: 10px; -o-border-radius: 10px; -ms-border-radius: 10px; padding: 10px 20px 20px; }
@media only screen and (max-width: 768px) { .section04 .items .item { width: 100%; padding: 5px 10px 20px; border-width: 1px; border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; }
  .section04 .items .item + .item { margin-top: 10px; }
  .section04 .items .item .sp_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; margin-top: 10px; } }
.section04 .point { text-align: center; padding-bottom: 14px; border-bottom: 1px solid #0787d1; }
@media only screen and (max-width: 768px) { .section04 .point { padding-bottom: 10px; }
  .section04 .point img { height: 13px; } }
.section04 .heading { margin-top: 12px; font-weight: 700; text-align: center; font-size: 20px; font-size: 2rem; }
@media only screen and (max-width: 768px) { .section04 .heading { font-size: 22px; font-size: 2.2rem; margin-top: 10px; } }
.section04 .heading span { color: #ef4444; }
.section04 .lead { font-weight: 700; margin-top: 5px; text-align: center; }
@media only screen and (max-width: 768px) { .section04 .lead { margin-top: 2px; font-size: 17px; font-size: 1.7rem; } }
.section04 .image { text-align: center; margin-top: 10px; }
@media only screen and (max-width: 768px) { .section04 .image { margin-top: 0; width: 85px; } }
.section04 p { margin-top: 10px; font-size: 15px; font-size: 1.5rem; }
@media only screen and (max-width: 768px) { .section04 p { font-size: 17px; font-size: 1.7rem; padding-left: 10px; margin-top: 0; flex: 1; } }
@media only screen and (max-width: 768px) { .section04 .remarks { margin: 10px -15px 0; } }

.section05 .inner { width: 1000px; margin: 0 auto; padding: 25px 0 60px; }
@media only screen and (max-width: 768px) { .section05 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section05 .inner { padding: 15px 40px 40px; } }
.section05 .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) { .section05 .items { display: block; } }
.section05 .items .item { text-align: center; width: 200px; margin-left: 20px; }
@media only screen and (max-width: 768px) { .section05 .items .item { width: 100%; text-align: left; margin: 15px 0 0; position: relative; padding-left: 90px; }
  .section05 .items .item::before { content: ""; position: absolute; width: 75px; height: 100%; background-repeat: no-repeat; background-position: center top; background-size: 100% auto; left: 0; top: 0; pointer-events: none; z-index: 10; }
  .section05 .items .item:nth-child(1)::before { background-image: url("img/section05_image_01.png"); }
  .section05 .items .item:nth-child(2)::before { background-image: url("img/section05_image_02.png"); }
  .section05 .items .item:nth-child(3)::before { background-image: url("img/section05_image_03.png"); }
  .section05 .items .item:nth-child(4)::before { background-image: url("img/section05_image_04.png"); }
  .section05 .items .item .step, .section05 .items .item .image { display: none; }
  .section05 .items .item:nth-child(1) .heading::before { background-image: url("img/section05_step_01.png"); }
  .section05 .items .item:nth-child(2) .heading::before { background-image: url("img/section05_step_02.png"); }
  .section05 .items .item:nth-child(3) .heading::before { background-image: url("img/section05_step_03.png"); }
  .section05 .items .item:nth-child(4) .heading::before { background-image: url("img/section05_step_04.png"); } }
.section05 .items .item:first-child { margin: 0; }
.section05 .cta_btn { margin: 10px auto 0; width: 170px; 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) { .section05 .cta_btn { border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; width: 100%; } }
.section05 .cta_btn a { font-size: 14px; font-size: 1.4rem; padding: 15px 0; }
@media only screen and (max-width: 768px) { .section05 .cta_btn a { font-size: 15px; font-size: 1.5rem; padding: 10px 0; } }
.section05 .heading { margin-top: 10px; font-weight: 700; font-size: 20px; font-size: 2rem; }
@media only screen and (max-width: 768px) { .section05 .heading { position: relative; padding-top: 22px; }
  .section05 .heading::before { content: ""; position: absolute; width: 65px; height: 100%; background-repeat: no-repeat; background-position: center top; background-size: 100% auto; left: 0; top: 0; pointer-events: none; z-index: 10; } }
.section05 .image { margin-top: 10px; }
.section05 p { margin-top: 10px; font-size: 15px; font-size: 1.5rem; }
@media only screen and (max-width: 768px) { .section05 p { font-size: 17px; font-size: 1.7rem; margin-top: 3px; } }

.section06 .inner { width: 1000px; margin: 0 auto; padding: 30px 50px 60px; }
@media only screen and (max-width: 768px) { .section06 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section06 .inner { padding: 20px 10px 40px; } }
.section06 table { width: 100%; border: 1px solid #e7e7e7; }
.section06 table th, .section06 table td { padding: 15px; font-size: 14px; font-size: 1.4rem; border: 1px solid #e7e7e7; }
@media only screen and (max-width: 768px) { .section06 table th, .section06 table td { padding: 10px; } }
.section06 table th { font-weight: 700; background: #f5fbff; width: 160px; }
@media only screen and (max-width: 768px) { .section06 table th { width: 100px; } }
.section06 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: 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; }
.section06 ul li { margin-right: 20px; }
@media only screen and (max-width: 768px) { .section06 ul li { font-size: 15px; font-size: 1.5rem; } }
.section06 ul li a { color: #1e53ff; text-decoration: none; }
@media only screen and (min-width: 769px) { .section06 ul li a:hover { text-decoration: underline; } }

.section07 .inner { padding: 25px 50px 20px; width: 1000px; margin: 0 auto; }
@media only screen and (max-width: 768px) { .section07 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section07 .inner { padding: 20px 10px 20px; } }
.section07 .items .item { 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 2px 9px rgba(51, 51, 51, 0.2); -moz-box-shadow: 0 2px 9px rgba(51, 51, 51, 0.2); box-shadow: 0 2px 9px rgba(51, 51, 51, 0.2); }
@media only screen and (max-width: 768px) { .section07 .items .item { border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; -webkit-box-shadow: 0 1px 5px rgba(51, 51, 51, 0.2); -moz-box-shadow: 0 1px 5px rgba(51, 51, 51, 0.2); box-shadow: 0 1px 5px rgba(51, 51, 51, 0.2); } }
.section07 .items .item + .item { margin-top: 10px; }
@media only screen and (max-width: 768px) { .section07 .items .item + .item { margin-top: 7px; } }
.section07 .question, .section07 .answer { position: relative; padding-left: 60px; }
@media only screen and (max-width: 768px) { .section07 .question, .section07 .answer { padding-left: 35px; } }
.section07 .question::before, .section07 .answer::before { content: ""; position: absolute; left: 25px; top: 21px; pointer-events: none; z-index: 10; font-weight: 700; font-size: 22px; font-size: 2.2rem; }
@media only screen and (max-width: 768px) { .section07 .question::before, .section07 .answer::before { width: 27px; left: 10px; top: 12px; background-position: center center; } }
.section07 .question { font-size: 20px; font-size: 2rem; font-weight: 700; padding-top: 25px; padding-bottom: 25px; padding-right: 60px; cursor: pointer; }
@media only screen and (max-width: 768px) { .section07 .question { font-size: 17px; font-size: 1.7rem; padding-top: 17px; padding-bottom: 17px; padding-right: 35px; } }
.section07 .question::before { content: "Q."; color: #0787d1; }
.section07 .question::after { position: absolute; top: 50%; transform: translateY(-50%); right: 20px; content: ""; position: absolute; width: 20px; height: 100%; background-image: url("img/ico_trigger.png"); background-repeat: no-repeat; background-position: center center; background-size: 100% auto; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .section07 .question::after { width: 15px; right: 10px; } }
.section07 .question.active::after { background-image: url("img/ico_trigger_active.png"); }
.section07 .answer { padding: 0 60px 30px 60px; }
@media only screen and (max-width: 768px) { .section07 .answer { padding-left: 35px; padding-right: 15px; font-size: 17px; font-size: 1.7rem; } }
.section07 .answer::before { content: "A."; color: #ff690f; top: 0; }

.footer { background-color: #fff; margin-top: 40px; }
@media only screen and (max-width: 768px) { .footer { margin-top: 0; } }
.footer .privacy { -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 20px; } }
.footer .privacy .image { width: 90px; }
@media only screen and (max-width: 768px) { .footer .privacy .image { width: 60px; } }
.footer .privacy .txt { padding-left: 20px; font-size: 13px; font-size: 1.3rem; }
@media only screen and (max-width: 768px) { .footer .privacy .txt { flex: 1; } }
.footer .f_nav { padding: 20px 0; }
.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; }
.footer .f_nav ul li { margin-left: 60px; }
@media only screen and (max-width: 768px) { .footer .f_nav ul li { margin: 0 15px; } }
.footer .f_nav ul li:first-child { margin-left: 0; }
.footer .f_nav ul li a { text-decoration: none; color: #333; font-size: 13px; font-size: 1.3rem; }
@media only screen and (max-width: 768px) { .footer .f_nav ul li a { font-size: 15px; font-size: 1.5rem; } }
.footer .copyright { text-align: center; padding: 6px 0; background: #ef4444; color: #fff; font-size: 12px; font-size: 1.2rem; }

.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: 510px; }
@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(470 / 400 * 100%); } }
.exitProtection .wrap .image { position: absolute; top: 40px; left: 0; }
.exitProtection .wrap .image .client_image { display: block; position: absolute; left: 50%; transform: translateX(-50%); top: 34.47%; width: 60%; }
.exitProtection .wrap .image .btn { position: absolute; left: 50%; transform: translateX(-50%); width: 95%; top: 390px; }
@media only screen and (max-width: 768px) { .exitProtection .wrap .image .btn { top: 82.98%; } }
.exitProtection .wrap .image .btn .cta .hover_txt { padding: 1px 0; width: 250px; font-size: 18px; font-size: 1.8rem; top: -17px; }
.exitProtection .wrap .image .btn a { font-size: 22px; font-size: 2.2rem; padding: 18px 0; }
@media only screen and (max-width: 768px) { .exitProtection .wrap .image .btn a { font-size: 4vw; padding: 15px 0; } }
.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; }

.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%; z-index: 50; }
.fixed_cta .wrap { background: rgba(51, 51, 51, 0.9); }
@media only screen and (max-width: 768px) { .fixed_cta .wrap { background: none; } }
.fixed_cta .inner { width: 1000px; margin: 0 auto; position: relative; height: 90px; -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 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .fixed_cta .inner { height: auto; } }
.fixed_cta .btn { width: 250px; margin-left: 10px; }
@media only screen and (max-width: 768px) { .fixed_cta .btn { position: absolute; width: 43.33%; right: 2.67%; top: 6.48%; padding-left: 5px; } }
.fixed_cta .cta .hover_txt { padding: 2px 0; width: 210px; }
@media only screen and (max-width: 768px) { .fixed_cta .cta .hover_txt { width: 90%; top: -13px; } }
.fixed_cta .cta_btn { border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }
.fixed_cta .cta_btn a { font-size: 16px; font-size: 1.6rem; padding: 16px 0 12px; }
@media only screen and (max-width: 768px) { .fixed_cta .cta_btn a { font-size: 3vw; padding: 10px 0 6px; } }
