@charset "UTF-8";
/*!===========================
style.cssはSassから生成されていますので、
直接編集しないようご注意ください。
===========================*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&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; } }
html { font-size: 62.5%; }
@media only screen and (max-width: 768px) { html { font-size: 50%; } }

body { background: #fff; font-size: 1.6em; color: #141415; font-family: "Noto Sans JP", sans-serif; -webkit-font-smoothing: antialiased; line-height: 1.8; }

a { color: #141415; }

@media only screen and (min-width: 769px) { a:hover { color: #141415; 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(1, 94, 234, 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: #015eea; 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; } }

.main_gradient { background: linear-gradient(to right, #015eea 0%, #00c0fa 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ }

.header { background: #141415; }
.header .inner { width: 1000px; margin: 0 auto; text-align: center; 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 0; } }
.header .header_txt { color: #fff; font-size: 18px; font-size: 1.8rem; font-weight: 500; }
@media only screen and (max-width: 768px) { .header .header_txt { font-size: 2.7vw; } }

.fv { position: relative; }
.fv::before { content: ""; position: absolute; width: 100%; height: 100%; left: 0; bottom: 0; z-index: 30; background: rgba(0, 0, 0, 0.6); }
.fv .fv_slide { overflow: hidden; height: 690px; }
@media only screen and (max-width: 768px) { .fv .fv_slide { height: 345px; } }
.fv .fv_slide .fv_slide_item { background-image: url("img/fv_slide.jpg"); background-repeat: no-repeat; background-position: left top; background-size: auto 690px; width: 3200px; height: 690px; }
@media only screen and (max-width: 768px) { .fv .fv_slide .fv_slide_item { width: 1600px; background-size: auto 345px; height: 345px; } }
.fv .inner { z-index: 40; width: 1000px; margin: 0 auto; height: 690px; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
@media only screen and (max-width: 768px) { .fv .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .fv .inner { height: 345px; } }
.fv .fv_txt { position: absolute; left: 0; right: 0; margin: auto; top: 120px; width: 668px; }
@media only screen and (max-width: 768px) { .fv .fv_txt { width: 100%; top: 11.89%; } }

.section01 .inner { padding: 75px 0 100px; width: 1000px; margin: 0 auto; }
@media only screen and (max-width: 768px) { .section01 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section01 .inner { padding: 40px 20px; } }
.section01 .ttl { text-align: center; }
.section01 .ttl .sub { min-width: 530px; margin: auto; }
@media only screen and (max-width: 768px) { .section01 .ttl .sub { min-width: 100%; } }
.section01 .ttl .sub span { display: inline-block; background: #141415; color: #fff; font-size: 18px; font-size: 1.8rem; font-weight: 500; padding: 7px 25px; position: relative; }
@media only screen and (max-width: 768px) { .section01 .ttl .sub span { width: 100%; display: block; font-size: 3vw; padding: 7px 0; } }
.section01 .ttl .sub span::before { content: ""; position: absolute; width: 23px; height: 15px; background-image: url("img/ico_subttl.png"); background-repeat: no-repeat; background-position: center top; background-size: 100% auto; left: 0; right: 0; margin: 0 auto; bottom: -15px; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .section01 .ttl .sub span::before { width: 16px; } }
.section01 .ttl h2 { margin-top: 20px; font-size: 38px; font-size: 3.8rem; font-weight: 700; letter-spacing: 0.03em; }
@media only screen and (max-width: 768px) { .section01 .ttl h2 { font-size: 6vw; line-height: 1.3; } }
.section01 .txt { text-align: center; font-size: 18px; font-size: 1.8rem; }
@media only screen and (max-width: 768px) { .section01 .txt { text-align: left; } }
.section01 .txt span { font-weight: 700; color: #de0d0d; }
.section01 .txt.txt_01 { margin-top: 90px; }
@media only screen and (max-width: 768px) { .section01 .txt.txt_01 { margin-top: 50px; } }
.section01 .txt.txt_02 { margin-top: 40px; }
@media only screen and (max-width: 768px) { .section01 .txt.txt_02 { margin-top: 30px; } }
.section01 .image { width: 780px; margin: 50px auto 0; }
@media only screen and (max-width: 768px) { .section01 .image { width: 100%; margin-top: 30px; }
  .section01 .image span { display: block; margin-left: -20px; margin-right: -20px; } }

.ba_slides { margin-top: 35px; }
@media only screen and (max-width: 768px) { .ba_slides { margin-top: 20px; } }
.ba_slides .ba_slide { position: relative; }
.ba_slides .ba_slide::before, .ba_slides .ba_slide::after { content: ""; position: absolute; width: 100px; height: 100%; background-repeat: no-repeat; background-position: center bottom; background-size: 100% auto; left: 15px; bottom: 15px; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .ba_slides .ba_slide::before, .ba_slides .ba_slide::after { width: 70px; bottom: 5px; } }
.ba_slides .ba_slide::before { background-image: url("img/ico_before.png"); left: 15px; }
@media only screen and (max-width: 768px) { .ba_slides .ba_slide::before { left: 5px; } }
.ba_slides .ba_slide::after { background-image: url("img/ico_after.png"); left: calc(50% + 15px); }
@media only screen and (max-width: 768px) { .ba_slides .ba_slide::after { left: calc(50% + 5px); } }

.slider { opacity: 0; transition: opacity .3s linear; }
.slider.slick-initialized { opacity: 1; }
.slider .slide_arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 10; width: 56px; cursor: pointer; }
@media only screen and (max-width: 768px) { .slider .slide_arrow { display: none !important; } }
.slider .slide_arrow.prev_arrow { left: -70px; }
.slider .slide_arrow.next_arrow { right: -70px; }

.slick-dots { bottom: -45px; }
@media only screen and (max-width: 768px) { .slick-dots { bottom: -35px; } }
@media only screen and (max-width: 768px) { .slick-dots li { margin: 0; } }
.slick-dots li button::before { content: ""; width: 14px; border-radius: 100%; -moz-border-radius: 100%; -webkit-border-radius: 100%; -o-border-radius: 100%; -ms-border-radius: 100%; height: 14px; background: #fff; border: 1px solid #141415; opacity: 1; }
@media only screen and (max-width: 768px) { .slick-dots li button::before { width: 10px; height: 10px; } }
.slick-dots li.slick-active button:before { opacity: 1; background: #141415; }

.main_ttl { text-align: center; }
.main_ttl h2 { font-size: 18px; font-size: 1.8rem; font-weight: 500; margin-top: 15px; }
@media only screen and (max-width: 768px) { .main_ttl h2 { font-size: 17px; font-size: 1.7rem; margin-top: 10px; } }
.main_ttl .en img { display: block; height: 62px; margin: auto; }
@media only screen and (max-width: 768px) { .main_ttl .en img { height: 45px; } }

.section02 { background: #f1f1f1; }
.section02 .inner { width: 1000px; margin: 0 auto; padding: 120px 20px; }
@media only screen and (max-width: 768px) { .section02 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section02 .inner { padding: 80px 20px 60px; } }
.section02 .items { margin-top: 60px; }
@media only screen and (max-width: 768px) { .section02 .items { margin-top: 40px; } }
.section02 .items .item { margin-top: 45px; }
@media only screen and (max-width: 768px) { .section02 .items .item { margin-top: 30px; } }
.section02 .items .item:first-child { margin-top: 0; }
.section02 .items .item .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; }
.section02 .items .item .wrap .image { width: 230px; }
@media only screen and (max-width: 768px) { .section02 .items .item .wrap .image { width: 130px; } }
.section02 .items .item .wrap .txt { width: calc(100% - 230px); padding-left: 25px; }
@media only screen and (max-width: 768px) { .section02 .items .item .wrap .txt { width: calc(100% - 130px); padding-left: 15px; } }
.section02 .items .item .heading span { display: inline-block; font-size: 22px; font-size: 2.2rem; font-weight: 700; letter-spacing: 0.04em; vertical-align: bottom; }
@media only screen and (max-width: 768px) { .section02 .items .item .heading span { font-size: 4vw; line-height: 1.4; vertical-align: middle; } }
.section02 .items .item .heading .ico { width: 46px; margin-right: 15px; }
@media only screen and (max-width: 768px) { .section02 .items .item .heading .ico { width: 30px; margin-right: 10px; } }
.section02 .items .item p { margin-top: 15px; }
@media only screen and (max-width: 768px) { .section02 .items .item p { font-size: 18px; font-size: 1.8rem; } }
.section02 .example { margin-top: 75px; background: #fff; }
@media only screen and (max-width: 768px) { .section02 .example { margin-top: 50px; background: none; } }
.section02 .example .heading { background: #141415; position: relative; height: 74px; }
@media only screen and (max-width: 768px) { .section02 .example .heading { height: auto; background: none; } }
@media only screen and (min-width: 769px) { .section02 .example .heading span { display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 568px; } }
.section02 .example .example_inner { padding: 45px 50px 50px; }
@media only screen and (max-width: 768px) { .section02 .example .example_inner { padding: 20px 15px 20px; background: #fff; } }
.section02 .example .voice { border: 1px solid #141415; position: relative; margin-top: 50px; padding: 40px 25px 30px; }
@media only screen and (max-width: 768px) { .section02 .example .voice { margin-top: 40px; padding: 30px 20px 25px; } }
.section02 .example .voice .voice_heading { position: absolute; left: 20px; top: -20px; background: #141415; color: #fff; }
.section02 .example .voice .voice_heading span { display: inline-block; color: #fff; padding: 4px 40px; position: relative; font-size: 18px; font-size: 1.8rem; font-weight: 500; }
@media only screen and (max-width: 768px) { .section02 .example .voice .voice_heading span { font-size: 16px; font-size: 1.6rem; padding: 4px 20px; } }
.section02 .example .voice .voice_heading span::before { content: ""; position: absolute; width: 23px; height: 15px; background-image: url("img/section02_ico_05.png"); background-repeat: no-repeat; background-position: center top; background-size: 100% auto; left: 40px; bottom: -15px; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .section02 .example .voice .voice_heading span::before { width: 16px; } }
.section02 .example .voice p span { font-weight: 700; color: #df0c0c; }

.section03 .inner { width: 1000px; margin: 0 auto; padding: 120px 0 100px; }
@media only screen and (max-width: 768px) { .section03 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section03 .inner { padding: 80px 0; } }
.section03 .wrap { margin-top: 70px; }
@media only screen and (max-width: 768px) { .section03 .wrap { margin-top: 40px; width: 100%; position: relative; overflow: scroll; } }
@media only screen and (min-width: 769px) { .section03 table { width: 100%; border-collapse: separate; border-spacing: 5px; }
  .section03 table th, .section03 table td { vertical-align: middle; text-align: center; }
  .section03 table thead th { background: #141415; color: #fff; font-size: 18px; font-size: 1.8rem; font-weight: 500; padding: 10px; border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; -webkit-border-radius: 5px 5px 0 0; -o-border-radius: 5px 5px 0 0; -ms-border-radius: 5px 5px 0 0; }
  .section03 table thead th.none { background: none; }
  .section03 table tbody tr th, .section03 table tbody tr td { line-height: 1.4; padding: 15px; }
  .section03 table tbody tr th { font-weight: 500; color: #fff; }
  .section03 table tbody tr th.l_blue { background: #0091db; }
  .section03 table tbody tr th.blue { background: #2552ad; }
  .section03 table tbody tr th.purple { background: #5d34d3; }
  .section03 table tbody tr th .large { font-weight: 700; font-size: 22px; font-size: 2.2rem; }
  .section03 table tbody tr th .min { font-size: 13px; font-size: 1.3rem; font-weight: 400; }
  .section03 table tbody tr td { background: #f1f1f1; font-size: 18px; font-size: 1.8rem; font-weight: 400; }
  .section03 table tbody tr td .remark { font-size: 12px; font-size: 1.2rem; font-weight: 400; display: block; }
  .section03 table tbody tr td ul { text-align: left; font-size: 14px; font-size: 1.4rem; } }
@media only screen and (max-width: 768px) { .section03 table { width: 900px; border-collapse: separate; }
  .section03 table th, .section03 table td { vertical-align: middle; text-align: center; font-size: 14px; font-size: 1.4rem; }
  .section03 table thead th { padding: 10px; font-weight: 500; color: #fff; line-height: 1.3; border-left: 1px solid #fff; }
  .section03 table thead th.l_blue { background: #0091db; }
  .section03 table thead th.blue { background: #2552ad; }
  .section03 table thead th.purple { background: #5d34d3; }
  .section03 table thead th .large { font-weight: 700; font-size: 120%; }
  .section03 table thead th .min { font-size: 90%; font-weight: 400; }
  .section03 table thead th.none { background: #fff; }
  .section03 table tbody tr th, .section03 table tbody tr td { line-height: 1.4; padding: 15px; }
  .section03 table tbody tr th { background: #141415; text-align: left; color: #fff; border-bottom: 1px solid #fff; }
  .section03 table tbody tr td { background: #f1f1f1; font-size: 18px; font-size: 1.8rem; font-weight: 400; border: 1px solid #fff; }
  .section03 table tbody tr td .remark { font-size: 12px; font-size: 1.2rem; font-weight: 400; display: block; }
  .section03 table tbody tr td ul { text-align: left; font-size: 14px; font-size: 1.4rem; }
  .section03 table thead tr th:first-child, .section03 table tbody tr th:first-child { position: sticky; top: 0; left: 0; z-index: 20; width: 100px; }
  .section03 table thead tr th:first-child::after, .section03 table tbody tr th:first-child::after { content: ""; position: absolute; top: -1px; right: -1px; width: 1px; height: 100%; border-right: 1px solid #e4e4e4; z-index: -1; } }
.section03 .remarks { margin-top: 10px; font-size: 15px; font-size: 1.5rem; }
@media only screen and (max-width: 768px) { .section03 .remarks { padding: 0 20px; } }
.section03 .remarks ul li { position: relative; padding-left: 1.2em; font-size: 15px; font-size: 1.5rem; }
@media only screen and (max-width: 768px) { .section03 .remarks ul li { font-size: 13px; font-size: 1.3rem; } }
.section03 .remarks ul li::before { content: "※"; position: absolute; left: 0; top: 0; }
.section03 .scroll_ico { width: 180px; z-index: 10; background: rgba(87, 87, 87, 0.7); border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; padding: 15px 0; text-align: center; position: absolute; left: 50%; transform: translateX(-50%); z-index: 20; top: 100px; }
.section03 .scroll_ico .scroll_txt { font-size: 13px; font-size: 1.3rem; color: #fff; font-weight: 700; margin-bottom: 10px; }
.section03 .scroll_ico img { display: block; width: 40%; margin: auto; }
.section03 .is_onscreen.scroll_ico { animation: fadeout-anim 3s linear forwards; animation-delay: 1s; }
@keyframes fadeout-anim { 100% { opacity: 0; } }
.section04 { background-image: url("img/section04_bg.jpg"); background-repeat: no-repeat; background-position: top right; background-color: #d7d7e0; }
@media only screen and (max-width: 768px) { .section04 { background-image: url("img/section04_bg_sp.jpg"); } }
.section04 .inner { width: 1000px; margin: 0 auto; padding: 120px 0; }
@media only screen and (max-width: 768px) { .section04 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section04 .inner { padding: 80px 20px; } }
.section04 .items { margin-top: 90px; }
@media only screen and (max-width: 768px) { .section04 .items { margin-top: 40px; } }
.section04 .items .item { background: #fff; position: relative; padding: 45px 40px; margin-top: 35px; }
@media only screen and (max-width: 768px) { .section04 .items .item { margin-top: 20px; padding: 20px; } }
.section04 .items .item::before { content: ""; position: absolute; width: 85px; height: 100%; background-repeat: no-repeat; background-position: center top; background-size: 100% auto; right: 15px; top: 15px; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .section04 .items .item::before { width: 60px; top: 10px; right: 10px; } }
.section04 .items .item:nth-child(1) { margin-top: 0; }
.section04 .items .item:nth-child(1)::before { background-image: url("img/section04_ico_01.png"); }
.section04 .items .item:nth-child(2)::before { background-image: url("img/section04_ico_02.png"); }
.section04 .items .item:nth-child(3)::before { background-image: url("img/section04_ico_03.png"); }
.section04 .items .item:nth-child(4)::before { background-image: url("img/section04_ico_04.png"); }
.section04 .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; }
.section04 .wrap .image { width: 180px; }
@media only screen and (max-width: 768px) { .section04 .wrap .image { width: 120px; } }
.section04 .wrap .txt { width: calc(100% - 180px); padding-left: 30px; }
@media only screen and (max-width: 768px) { .section04 .wrap .txt { width: calc(100% - 120px); padding-left: 20px; }
  .section04 .wrap .txt .star { width: 95px; } }
.section04 .wrap .txt .heading { font-weight: 700; font-size: 20px; font-size: 2rem; margin-top: 8px; }
@media only screen and (max-width: 768px) { .section04 .wrap .txt .heading { font-size: 3.7vw; line-height: 1.4; } }
.section04 p { margin-top: 5px; }
@media only screen and (max-width: 768px) { .section04 p { margin-top: 10px; } }

.section05 .inner { width: 1000px; margin: 0 auto; padding: 120px 0; }
@media only screen and (max-width: 768px) { .section05 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section05 .inner { padding: 80px 20px; } }
.section05 .items { margin-top: 90px; }
@media only screen and (max-width: 768px) { .section05 .items { margin-top: 40px; } }
.section05 .items .item { margin-top: 80px; }
@media only screen and (max-width: 768px) { .section05 .items .item { margin-top: 40px; } }
.section05 .items .item:first-child { margin-top: 0; }
.section05 .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) { .section05 .wrap { display: block; } }
.section05 .wrap .image { width: 455px; }
@media only screen and (max-width: 768px) { .section05 .wrap .image { width: 61.26%; margin: auto; } }
.section05 .wrap .txt { padding-left: 45px; width: calc(100% - 455px); }
@media only screen and (max-width: 768px) { .section05 .wrap .txt { width: 100%; padding: 20px 0 0; text-align: center; line-height: 1.5; } }
.section05 .wrap .txt .min { font-size: 14px; font-size: 1.4rem; }
@media only screen and (max-width: 768px) { .section05 .wrap .txt .min { text-align: center; font-size: 13px; font-size: 1.3rem; } }
.section05 .wrap .txt .name { font-size: 28px; font-size: 2.8rem; font-weight: 700; }
.section05 .wrap .txt .name span { display: inline-block; margin-left: 10px; color: #a48e6f; font-size: 13px; font-size: 1.3rem; }
@media only screen and (max-width: 768px) { .section05 .wrap .txt .name span { display: block; margin: 3px 0 0; } }
.section05 .wrap .txt p { margin-top: 10px; line-height: 1.8; }
@media only screen and (max-width: 768px) { .section05 .wrap .txt p { margin-top: 15px; font-size: 17.5px; font-size: 1.75rem; text-align: left; padding: 0 10px; } }

.section06 { background: #f1f1f1; }
.section06 .inner { width: 1000px; margin: 0 auto; padding: 120px 100px; }
@media only screen and (max-width: 768px) { .section06 .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .section06 .inner { padding: 80px 20px 60px; } }
.section06 .items { margin-top: 70px; }
@media only screen and (max-width: 768px) { .section06 .items { margin-top: 40px; } }
.section06 .items .item { margin-top: 20px; }
@media only screen and (max-width: 768px) { .section06 .items .item { margin-top: 10px; } }
.section06 .items .item:first-child { margin-top: 0; }
.section06 .question, .section06 .answer { position: relative; }
.section06 .question::before, .section06 .answer::before { content: ""; position: absolute; width: 22px; height: 100%; background-repeat: no-repeat; background-position: center top; background-size: 100% auto; left: 25px; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .section06 .question::before, .section06 .answer::before { width: 16px; left: 15px; } }
.section06 .question { border-radius: 5px; -moz-border-radius: 5px; -webkit-border-radius: 5px; -o-border-radius: 5px; -ms-border-radius: 5px; cursor: pointer; background: #141415; color: #fff; font-size: 18px; font-size: 1.8rem; font-weight: 500; padding: 15px 50px 15px 65px; }
@media only screen and (max-width: 768px) { .section06 .question { font-size: 17px; font-size: 1.7rem; padding: 10px 40px 10px 45px; } }
.section06 .question::before { top: 20px; background-image: url("img/section06_question.png"); }
@media only screen and (max-width: 768px) { .section06 .question::before { top: 15px; } }
.section06 .question::after { content: ''; width: 10px; height: 10px; border: 0px; border-top: solid 1px #fff; border-right: solid 1px #fff; -ms-transform: rotate(135deg); -webkit-transform: rotate(135deg); transform: rotate(135deg); position: absolute; top: 50%; right: 25px; margin-top: -5px; -moz-transition: 0.3s; -webkit-transition: 0.3s; -o-transition: 0.3s; -ms-transition: 0.3s; transition: 0.3s; }
@media only screen and (max-width: 768px) { .section06 .question::after { width: 8px; height: 8px; right: 15px; } }
.section06 .question.active { border-radius: 5px 5px 0 0; -moz-border-radius: 5px 5px 0 0; -webkit-border-radius: 5px 5px 0 0; -o-border-radius: 5px 5px 0 0; -ms-border-radius: 5px 5px 0 0; }
.section06 .question.active::after { -ms-transform: rotate(315deg); -webkit-transform: rotate(315deg); transform: rotate(315deg); }
@media only screen and (max-width: 768px) { .section06 .question.active::after { margin-top: -2px; } }
.section06 .answer { background: #fff; border-radius: 0 0 5px 5px; -moz-border-radius: 0 0 5px 5px; -webkit-border-radius: 0 0 5px 5px; -o-border-radius: 0 0 5px 5px; -ms-border-radius: 0 0 5px 5px; padding: 25px 50px 25px 65px; }
@media only screen and (max-width: 768px) { .section06 .answer { padding: 15px 20px 15px 45px; } }
.section06 .answer::before { top: 30px; background-image: url("img/section06_answer.png"); }
@media only screen and (max-width: 768px) { .section06 .answer::before { top: 20px; } }

.footer .copyright { background: #141415; text-align: center; color: #fff; font-size: 13px; font-size: 1.3rem; padding: 15px 0; }

.fixed_cta { background: rgba(255, 255, 255, 0.9); position: fixed; z-index: 50; left: 0; bottom: 0; width: 100%; display: none; }
.fixed_cta .inner { padding: 10px; width: 1000px; margin: 0 auto; }
@media only screen and (max-width: 768px) { .fixed_cta .inner { width: 100%; } }
@media only screen and (max-width: 768px) { .fixed_cta .inner { padding: 10px 20px; } }
.fixed_cta .btn { width: 350px; margin: auto; position: relative; overflow: hidden; }
@media only screen and (max-width: 768px) { .fixed_cta .btn { width: 80%; } }
.fixed_cta .btn.shiny { overflow: hidden; }
.fixed_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; }
.fixed_cta .btn a { display: block; text-decoration: none; text-align: center; color: #fff; position: relative; font-size: 18px; font-size: 1.8rem; font-weight: 500; padding: 0.8em 0; border-radius: 50px; -moz-border-radius: 50px; -webkit-border-radius: 50px; -o-border-radius: 50px; -ms-border-radius: 50px; line-height: 1.35; }
@media only screen and (max-width: 768px) { .fixed_cta .btn a { line-height: 1.45; } }
.fixed_cta .btn a::before { content: ""; position: absolute; width: 30px; height: 100%; background-image: url("img/fixed_cta.png"); background-repeat: no-repeat; background-position: center center; background-size: 100% auto; right: 22px; top: 0; pointer-events: none; z-index: 10; }
@media only screen and (max-width: 768px) { .fixed_cta .btn a::before { width: 22px; right: 14px; } }
.fixed_cta .btn a span { display: block; font-size: 12px; font-size: 1.2rem; }

.fixed_nav { position: fixed; width: 100%; z-index: 50; left: 0; top: 0; background: #141415; padding: 15px 0; display: none; }
.fixed_nav nav ul { width: 1000px; margin: 0 auto; -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) { .fixed_nav nav ul { width: 100%; } }
.fixed_nav nav ul li { margin-left: 40px; }
.fixed_nav nav ul li:first-child { margin-left: 0; }
.fixed_nav nav ul a { text-decoration: none; color: #fff; font-weight: 500; }
.fixed_nav nav ul a:hover { color: #a48e6f; }

.fixed_nav_sp { display: none; }

@media only screen and (max-width: 768px) { .fixed_nav_sp { position: fixed; top: 20px; right: 20px; z-index: 55; }
  .fixed_nav_sp #header_menu_trigger { display: none; outline: none; }
  .fixed_nav_sp .header_menu_ico { transition: all 0.3s; position: relative; width: 60px; height: 60px; z-index: 65; background-image: url("img/sp_header.png"); background-repeat: no-repeat; background-position: center center; background-size: 60px auto; border: 1px solid rgba(255, 255, 255, 0.54); border-radius: 100%; -moz-border-radius: 100%; -webkit-border-radius: 100%; -o-border-radius: 100%; -ms-border-radius: 100%; -moz-transition: 0.3s; -webkit-transition: 0.3s; -o-transition: 0.3s; -ms-transition: 0.3s; transition: 0.3s; }
  .fixed_nav_sp input#header_menu_trigger:checked + label .header_menu_ico { background-image: url("img/sp_header_active.png"); }
  #header_menu { display: none; position: fixed; z-index: 60; top: 0; left: 0; width: 100%; margin: 0; padding: 0; background: rgba(0, 0, 0, 0.95); text-align: center; height: 100vh; }
  #header_menu nav { display: block; text-align: center; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80%; margin-top: -20%; }
  #header_menu ul { display: inline-block; }
  #header_menu ul li { margin-top: 10px; text-align: left; opacity: 0; -webkit-transform: translateX(-8%); -ms-transform: translateX(-8%); transform: translateX(-8%); }
  #header_menu ul li a { color: #fff; display: block; text-decoration: none; font-size: 20px; font-size: 2rem; position: relative; padding-left: 1.2em; }
  #header_menu ul li a::before { content: ""; position: absolute; top: 50%; transform: translateY(-50%); left: 0; width: 10px; height: 10px; border: 1px solid rgba(255, 255, 255, 0.54); border-radius: 100%; -moz-border-radius: 100%; -webkit-border-radius: 100%; -o-border-radius: 100%; -ms-border-radius: 100%; } }
@-webkit-keyframes lazyX { 100% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } }
@keyframes lazyX { 100% { opacity: 1; -webkit-transform: translateX(0); -ms-transform: translateX(0); transform: translateX(0); } }
#header_menu ul li:nth-child(1) { -webkit-animation: lazyX 0.8s ease 0.08s 1 forwards; animation: lazyX 0.8s ease 0.08s 1 forwards; }

#header_menu ul li:nth-child(2) { -webkit-animation: lazyX 0.8s ease 0.16s 1 forwards; animation: lazyX 0.8s ease 0.16s 1 forwards; }

#header_menu ul li:nth-child(3) { -webkit-animation: lazyX 0.8s ease 0.24s 1 forwards; animation: lazyX 0.8s ease 0.24s 1 forwards; }

#header_menu ul li:nth-child(4) { -webkit-animation: lazyX 0.8s ease 0.32s 1 forwards; animation: lazyX 0.8s ease 0.32s 1 forwards; }

#header_menu ul li:nth-child(5) { -webkit-animation: lazyX 0.8s ease 0.4s 1 forwards; animation: lazyX 0.8s ease 0.4s 1 forwards; }

#header_menu ul li:nth-child(6) { -webkit-animation: lazyX 0.8s ease 0.48s 1 forwards; animation: lazyX 0.8s ease 0.48s 1 forwards; }

#header_menu ul li:nth-child(7) { -webkit-animation: lazyX 0.8s ease 0.56s 1 forwards; animation: lazyX 0.8s ease 0.56s 1 forwards; }

#header_menu ul li:nth-child(8) { -webkit-animation: lazyX 0.8s ease 0.64s 1 forwards; animation: lazyX 0.8s ease 0.64s 1 forwards; }

#header_menu ul li:nth-child(9) { -webkit-animation: lazyX 0.8s ease 0.72s 1 forwards; animation: lazyX 0.8s ease 0.72s 1 forwards; }

#header_menu ul li:nth-child(10) { -webkit-animation: lazyX 0.8s ease 0.8s 1 forwards; animation: lazyX 0.8s ease 0.8s 1 forwards; }
