@charset "UTF-8";
* { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: 0 0; -webkit-box-sizing: border-box; box-sizing: border-box; }

:after, :before { -webkit-box-sizing: border-box; box-sizing: border-box; }

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

body { font-family: メイリオ, Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; font-size: 14px; color: #333333; background: #ccc; }

address, caption, code, figcaption, pre, th { font-size: 1em; font-weight: normal; font-style: normal; }

blockquote, q { quotes: none; }

blockquote:after, blockquote:before, q:after, q:before { content: ''; content: none; }

fieldset, iframe, img { border: 0; }

ins { background-color: #ff9; color: #000; text-decoration: none; }

caption, th { text-align: left; }

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

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

audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }

sup { vertical-align: text-top; }

sub { vertical-align: text-bottom; }

hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1.5em 0; padding: 0; }

input, select { vertical-align: middle; }

button { background: 0 0; border: 0; -webkit-box-sizing: content-box; box-sizing: content-box; color: inherit; cursor: pointer; font: inherit; line-height: inherit; overflow: visible; vertical-align: inherit; }

button:disabled { cursor: default; }

audio:not([controls]) { display: none; }

:focus[data-focus-method=mouse]:not(input):not(textarea):not(select), :focus[data-focus-method=touch]:not(input):not(textarea):not(select) { outline: 0; }

::-moz-focus-inner { border: 0; padding: 0; }

a, a:link, a:visited { text-decoration: none; color: #0068b7; }

a:hover { text-decoration: underline; }

a:active { text-decoration: none; }

ul { list-style: none; }

img { display: block; height: auto; }

:-moz-placeholder { color: #ccc; opacity: 1; }

::-moz-placeholder { color: #ccc; opacity: 1; }

input:-ms-input-placeholder { color: #ccc; opacity: 1; }

input::-webkit-input-placeholder { color: #ccc; opacity: 1; }

.dgib { background-repeat: no-repeat; background-size: cover; background-position: center center; }
.dgib img { display: none; }
.dgib::after { display: block; content: ""; padding-top: 100%; }

.scroll_ani { opacity: 0; -webkit-transform: translateY(100px); transform: translateY(100px); -webkit-transition: all 1s; transition: all 1s; }

.scroll_ani1 { opacity: 0; -webkit-transition: all 1s; transition: all 1s; }

.scroll_ani2 { -webkit-transform: translateX(-100%); transform: translateX(-100%); -webkit-transition: all 1s; transition: all 1s; }

.scroll_ani4 { opacity: 0; -webkit-transform: translateY(-100px); transform: translateY(-100px); -webkit-transition: all 1s; transition: all 1s; }

.itemsshow { opacity: 1 !important; -webkit-transform: translateY(0) !important; transform: translateY(0) !important; -webkit-transition: all 1s; transition: all 1s; }

.itemsshow1 { opacity: 1 !important; -webkit-transition: all 1s; transition: all 1s; }

.itemsshow2 { -webkit-transform: translateX(0) !important; transform: translateX(0) !important; -webkit-transition: all 1s; transition: all 1s; }

::-webkit-scrollbar { width: 6px; background-color: #f3f3f3; border-left: 1px solid #dddddd; }

::-webkit-scrollbar:hover { background-color: transparent; }

::-webkit-scrollbar-thumb { cursor: pointer; background-color: #cccccc; }

::-webkit-scrollbar-thumb:hover { background-color: #111111; }

::-webkit-scrollbar-button:start:decrement, ::-webkit-scrollbar-button:end:increment { display: none; }

.layout { max-width: 2000px; min-width: 1160px; margin: 0 auto; background: #fff; }

.header .top { width: 1100px; height: 75px; background: #fff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; margin: 0 auto; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.header .top > a img { position: relative; top: 160px; left: 80px; display: block; width: 200px; z-index: 20; }
.header .top div { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }
.header .top div a:nth-child(1) { padding-right: 20px; }
.header .top div a img { display: block; height: 40px; width: auto; }

.clear { position: relative; z-index: 50; background: #fff; width: 924px; margin: -70px auto 0; padding: 30px 0; -webkit-box-shadow: 0px 5px 20px rgba(4, 60, 103, 0.3); box-shadow: 0px 5px 20px rgba(4, 60, 103, 0.3); }

.nav ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin: 0 -15px 0 auto; }
.nav ul li { float: left; padding-right: 15px; width: 30%; }
.nav ul a { display: block; background: #0eb8cf; border-radius: 4px; height: 75px; position: relative; white-space: nowrap; color: white; }
.nav ul a:hover { -webkit-transition-duration: 0s; transition-duration: 0s; -webkit-box-shadow: inset 0 2px 6px rgba(10, 10, 30, 0.2); box-shadow: inset 0 2px 6px rgba(10, 10, 30, 0.2); background-color: #14a1b4; }
.nav ul div { padding: 0 25px 0 70px; position: absolute; width: 100%; height: 100%; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); color: white; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
.nav ul div::after { content: ""; display: block; position: absolute; width: 40px; height: 100%; left: 20px; top: 0; }
.nav ul div span { font-size: 16px; font-weight: bold; display: block; text-align: center; line-height: 1.3; }
.nav ul div span + i { font-style: normal; font-size: 12px; opacity: 0.7; line-height: 1.2; display: block; text-transform: capitalize; }

.nav ul li:nth-child(1) a div::after { background: url(../img/nav-pic-1.png) center center/contain no-repeat; }

.nav ul li:nth-child(2) a div::after { background: url(../img/nav-pic-3-white.png) center center/contain no-repeat; }

.nav ul li:nth-child(3) a div::after { background: url(../img/nav-pic-4.png) center center/contain no-repeat; }

.footer { background: #f2f2f2; border-top: 1px solid #dedede; padding: 30px 0 0; overflow: hidden; }
.footer .inner { width: 1100px; margin: 0 auto; }
.footer .flogo { border-right: 1px solid #dedede; display: inline-block; margin-right: 30px; width: 240px; vertical-align: top; height: 130px; }
.footer .fnavi { border-right: 1px solid #dedede; display: inline-block; margin-right: 30px; width: 460px; vertical-align: top; height: 130px; }
.footer .fnavi li { float: left; margin-right: 20px; width: 45%; line-height: 2; }
.footer .fnavi a { color: #3c3c3c; font-size: 12px; text-decoration: none; }
.footer .fnavi a::before { content: url(../img/icon_fnavi.png); padding-right: 5px; vertical-align: middle; }
.footer .fnavi a::hover { color: #32b2cb; }

.footer .office { display: inline-block; color: #666; font-size: 12px; vertical-align: top; }

.footer .copyright { background: #00b4cd; color: #fff; font-size: 12px; padding: 10px; margin-top: 30px; text-align: center; }

.banner { display: block; height: 788px; position: relative; overflow: hidden; }
.banner::after { content: ""; display: block; position: absolute; width: 100%; height: 100%; background: url("../img/mask.png"); z-index: 10; opacity: 0.7; }
.banner .animation { z-index: 5; }
.banner .animation li:after { display: none; }

@-webkit-keyframes banneranimation { 0% { -webkit-transform: scale(1.2, 1.2); transform: scale(1.2, 1.2); }
  50% { -webkit-transform: scale(1, 1); transform: scale(1, 1); }
  100% { -webkit-transform: scale(1.2, 1.2); transform: scale(1.2, 1.2); } }

@keyframes banneranimation { 0% { -webkit-transform: scale(1.2, 1.2); transform: scale(1.2, 1.2); }
  50% { -webkit-transform: scale(1, 1); transform: scale(1, 1); }
  100% { -webkit-transform: scale(1.2, 1.2); transform: scale(1.2, 1.2); } }
.banner .animation li, .addbg { position: absolute; width: 100%; height: 100%; -webkit-animation: banneranimation 50s linear infinite 0s; animation: banneranimation 50s linear infinite 0s; }

.featured { position: absolute; z-index: 50; width: 100%; min-width: 1100px; top: 180px; margin: 0 auto; }

.featured-box { width: 754px; display: block; margin: 0 auto; padding: 50px 60px 40px; text-align: center; border-radius: 2px; background-color: rgba(255, 255, 255, 0.7); }
.featured-box .slogan-date { width: 100%; text-align: left; padding: 30px 0px 10px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: stretch; -ms-flex-align: stretch; align-items: stretch; }
.featured-box .slogan-date .col { width: 32%; font-size: 18px; font-weight: bold; text-align: center; }
.featured-box .slogan-date .col div { border: 2px solid #c10117; height: 34px; line-height: 34px; text-align: center; color: #c10117; background-color: #fff; }
.featured-box .slogan-date .col div:first-child { background-color: #c10117; color: white; }
.featured-box > p { text-align: left; font-size: 12px; }

.featured-box .blue { background: #0eb8cf; color: #fff; font-size: 28px; border-radius: 5px; padding: 10px 20px; }
.featured-box h1 { font-size: 37px; font-weight: bold; color: #0eb8cf; line-height: 1.4; display: block; margin-bottom: 20px; }
.featured-box h2 { font-size: 28px; color: #fff; margin-bottom: 20px; line-height: 1.4; display: block; }
.featured-box .new-add { width: 80%; margin: 10px auto 0; padding: 5px; color: #c10117; border: 2px solid #c10117; }
.featured-box .new-add a { color: #0eb8cf; }

.title { text-align: center; color: #0eb8cf; line-height: 1.1; margin-bottom: 40px; }
.title h2 { font-size: 30px; }
.title p { font-size: 14px; font-weight: bold; text-transform: uppercase; margin-top: 1em; margin-bottom: 12px; }

.part-add .title { position: relative; padding: 50px 0 0px; color: #fff; }
.part-add .title span { display: block; margin: 20px 0 10px; }

.part-2 .title { padding: 60px 0 40px; background: #fff; margin-bottom: 40px; }

.part-3-main-menu .title { color: #fff; text-align: left; }
.part-3-main-menu .title p { margin-bottom: 10px; }
.part-3-main-menu .title h2 { height: 55px; line-height: 55px; margin-bottom: 20px; }

.part-1 { margin: 0 auto; padding: 80px 0 0; }

.concept { padding-bottom: 20px; width: 100%; text-align: center; }
.concept .concept-content { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; text-align: left; max-width: 1100px; margin: 0 auto; font-size: 16px; }
.concept .concept-content div { width: 49%; }
.concept .concept-content div img { float: right; width: 92%; }
.concept .concept-content .concept-left { padding: 50px 0 0 0; }

.steps-bottom { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: start; -ms-flex-align: start; align-items: flex-start; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; width: 1100px; margin: 0 auto; }
.steps-bottom .step-number { white-space: nowrap; line-height: 1; font-size: 20px; font-weight: bold; margin-left: 40px; margin-right: 100px; }
.steps-bottom .step-number::before { content: ""; position: relative; top: 20px; left: -38px; display: block; width: 1.3em; min-width: 1.4em; height: 1.4em; background: url(../img/step.jpg) center center/contain no-repeat; }

.steps { width: 1100px; margin: 0 auto 60px; }
.steps .col-a { width: 100%; color: #b6001d; font-size: 16px; }
.steps .col-a div { margin-top: 20px; border: 15px solid #fcb82b; padding: 30px; font-size: 21px; }
.steps .col-b { width: 100%; color: #444; font-size: 16px; }
.steps .col-b div { margin-top: 20px; font-size: 16px; }

.part-add { width: 100%; height: 436px; overflow: hidden; position: relative; }
.part-add .add-tip { position: relative; z-index: 20; text-align: right; color: #fff; }
.part-add .add-tip p { width: 1100px; margin: 0 auto; line-height: 2; }

.part-add-content { width: 1100px; margin: 0 auto; border: 15px solid #e9f1f3; padding: 15px; background: #fdfefe; position: relative; z-index: 20; padding: 20px; }
.part-add-content ul li { position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; line-height: 1.8; padding: 4px 0 4px 65px; font-size: 18px; font-weight: bold; }
.part-add-content ul li::before { content: ""; display: block; width: .8em; height: .8em; background: #0eb8cf; margin-right: 10px; margin-bottom: 4px; }

.part-flex { width: 1100px; margin: 0 auto; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; border: 15px solid #e9f1f3; padding: 15px; background: #fdfefe; position: relative; z-index: 20; padding: 20px 30px; font-size: 16px; }
.part-flex div { width: 45%; }
.part-flex div p { margin-left: 40px; font-size: 20px; color: #0eb8cf; }
.part-flex div p::before { content: ""; position: relative; top: 26px; left: -38px; display: block; width: 1.3em; min-width: 1.4em; height: 1.4em; background: url(../img/step2.jpg) center center/contain no-repeat; }
.part-flex div ul { padding: 10px 0 0 20px; list-style-type: disc; }
.part-flex h3 { color: #0eb8cf; margin-left: 30px; }

.more { height: 523px; }

.part-2 { width: 100%; padding: 0px 0 40px; background: #0eb8cf; font-size: 16px; }

.part-2-main { width: 1100px; margin: 0 auto 40px; color: #fff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.part-2-main:not(:last-child) { border-bottom: 1px solid #46d1e4; }
.part-2-main img { width: 100%; display: block; margin: auto; }

.part-2-a { margin-bottom: 30px; }
.part-2-a ul p { margin: 30px 0 10px; }

.bottom-30 { margin-bottom: 30px; }

.part-2-b { width: 45%; margin-bottom: 30px; }
.part-2-b ul p { margin: 30px 0 10px; }
.part-2-b ul span { display: inline-block; margin: 10px 0; }
.part-2-b ul li img { width: 30%; margin-top: 70px; }

.a-photo { width: 180px; position: relative; top: -50px; right: -359px; }

.seven-photo { margin-top: 30px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.seven-photo p { display: block; width: 45%; line-height: 2; }
.seven-photo p video { width: 495px; display: block; }
.seven-photo p video source { width: 100%; }

.detils-title { width: 100%; color: #fff; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }
.detils-title > p { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; font-size: 20px; font-weight: bold; }
.detils-title .detils { width: 80px; height: 80px; border: 2px solid #fff; border-radius: 50%; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-right: 20px; }
.detils-title .detils p { font-size: 14px; }
.detils-title .detils h5 { font-size: 30px; line-height: 1; }

.d-height { height: 265px; }

.p-top { margin-top: 10px; }

.part-more { padding: 50px 0; }

.part-more-content { width: 1100px; margin: 0 auto; padding: 15px; background: #0eb8cf; position: relative; z-index: 20; padding: 20px; }
.part-more-content ul li { color: #fff; position: relative; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; line-height: 1.8; padding: 4px 0 4px 65px; font-size: 18px; }
.part-more-content ul li::before { content: ""; display: block; width: .6em; height: .6em; background: #fff; margin-right: 10px; margin-bottom: 4px; }

.more-tip { position: relative; z-index: 20; text-align: right; color: #444; }
.more-tip p { width: 1100px; margin: 0 auto; line-height: 2; }

.more-flex { width: 1100px; margin: 0 auto; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; position: relative; z-index: 20; padding: 10px 0; font-size: 16px; }
.more-flex table { width: 100%; text-align: center; margin-top: 10px; font-size: 14px; }
.more-flex table .tcolor { color: #0eb8cf; font-weight: bold; font-size: 16px; }
.more-flex table td { border: 1px solid #d6d6d6; line-height: 2.4; }
.more-flex div { width: 45%; }
.more-flex div p { margin-top: 10px; }
.more-flex h3 { color: #0eb8cf; margin-left: 45px; font-size: 18px; }

.hphoto-2::before, .hphoto-4::before { content: ""; display: block; width: 2em; height: 2em; background-size: contain; background-position: center center; background-repeat: no-repeat; margin-right: 10px; top: 22px; left: -45px; position: relative; }

.hphoto-2::before { background-image: url(../img/part-2-2-c.jpg); }

.hphoto-4::before { background-image: url(../img/part-2-2-d.jpg); }

.part-3 { padding: 0 0 80px 0; }
.part-3 .part-3-main { width: 100%; max-width: 1100px; margin: 0 auto; }
.part-3 .part-3-main > p { line-height: 0; margin-bottom: 40px; }

.part-3-header { padding: 50px 0; margin-bottom: 40px; background: #f5f5f5; }
.part-3-header div { width: 1100px; margin: 0 auto; }
.part-3-header div .competive { display: block; width: 1100px; }

.part-3-main-step { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.part-3-main-step .detils-title { color: #0eb8cf; }
.part-3-main-step .detils-title > p { color: #444; }
.part-3-main-step .detils-title > p span { font-size: 16px; color: #0eb8cf; }
.part-3-main-step .detils-title .detils { border: 2px solid #0eb8cf; }

.part-3-main-menu { background: #0eb8cf; padding: 50px 0 30px; }
.part-3-main-menu > div { width: 1100px; margin: 0 auto; display: -webkit-box; display: -ms-flexbox; display: flex; padding-bottom: 30px; }
.part-3-main-menu > div > * { width: 50%; }

.part-3-main-menu-r { padding-left: 30px; border-left: 1px solid #30c7dc; }

.step-1-name { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.step-1-name h4 { width: calc(100%/3); }
.step-1-name h4:nth-child(2) { padding-left: 20px; }
.step-1-name h4:nth-child(3) { padding-left: 20px; }

.step-1 > div:nth-child(3) { background: #f5f5f5; padding: 0 30px 30px 30px; margin-top: 20px; }
.step-1 > div:nth-child(3) .step-1-box { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.step-1 > div:nth-child(3) .step-1-box > div { width: calc(100%/3); }
.step-1 > div:nth-child(3) .step-1-box > div:nth-child(1) { padding-right: 20px; border-right: 1px solid #e6e6e6; }
.step-1 > div:nth-child(3) .step-1-box > div:nth-child(2) { padding-left: 20px; padding-right: 20px; }
.step-1 > div:nth-child(3) .step-1-box > div:nth-child(3) { padding-left: 20px; border-left: 1px solid #e6e6e6; }

.step-1 .table { height: 165px; }
.step-1 h4 { font-size: 16px; color: #0eb8cf; margin-top: 1em; margin-bottom: 0.5em; }
.step-1 h3 { display: inline-block; background: #0eb8cf; color: #fff; font-size: 18px; line-height: 1.1; padding: 10px 40px; }

.table { background: #fff; font-size: 14px; padding: 10px; }

.step-1 > p, .step-2 > p, .step-3 > p, .step-4 > p, .step-5 > p { line-height: 1.8; margin: 30px 0 0; }

.step-1 .table dl, .step-2 .table dl, .step-3 .table dl { overflow: hidden; line-height: 1.8; }
.step-1 .table dl dt, .step-2 .table dl dt, .step-3 .table dl dt { float: left; font-weight: bold; }
.step-1 .table dl dd a, .step-2 .table dl dd a, .step-3 .table dl dd a { font-size: 12px; color: #0eb8cf; line-height: 1.5; display: inline-block; padding-top: 0.25em; }

.step-1 .table dl dd, .step-3 .table dl dd { padding-left: 40px; }

.step-1 .table dl dd ~ p { font-size: 12px; color: #b5b5b5; }

.step-2, .step-3, .step-4, .step-5 { width: 45%; padding-top: 40px; }
.step-2 .table, .step-3 .table, .step-4 .table, .step-5 .table { background: #f5f5f5; padding: 20px; margin-top: 10px; }

.ttbutton a { width: 80%; margin: 5px auto 0; display: block; color: #fff; font-size: 16px; background: #ffc107; text-align: center; border-radius: 6px; padding: 5px 0; }

.ttbackground { width: 520px; background: #30c7dc; padding: 20px; }
.ttbackground p { color: #fff; margin: 12px auto; font-weight: bold; }
.ttbackground ul li { padding-left: 10px; position: relative; color: #fff; }
.ttbackground ul li:not(:last-child) { margin-bottom: 1em; }
.ttbackground ul li::after { content: ""; display: block; position: absolute; width: 3px; height: 3px; background: #fff; border-radius: 50%; left: 0; top: 8px; }
.ttbackground dl { overflow: hidden; margin: 1em 0; }
.ttbackground dl dt { float: left; width: 110px; margin-right: 20px; }
.ttbackground dl dt span { background: #fff; color: #0eb8cf; line-height: 1.1; padding: 5px 10px; display: block; width: 110px; text-align: center; font-weight: bold; border-radius: 2px; }
.ttbackground dl dd { float: left; width: calc(100% - 145px); color: #fff; }

.qa { width: 1100px; margin: 0px auto; padding: 80px 0px 50px; }
.qa div { margin-bottom: 30px; background: #f5f5f5; padding: 20px; }
.qa div h5 { font-size: 16px; margin-bottom: 10px; }
.qa div p { padding: 0 20px; }
.qa div p:nth-child(2n) { margin-top: 10px; }
.qa .title { background: #fff; }

.bottom-30 { margin-bottom: 30px; }

.bkt { width: 44px; height: 44px; position: fixed; bottom: 100px; right: 20px; z-index: 20px; border: 2px solid #fff; }
.bkt img { width: 100%; }
