@charset "UTF-8";
/* nomal */
@font-face { font-family: 'GENJ'; src: url("font/GenJyuuGothic-Regular.woff") format("woff"), url("font/GenJyuuGothic-Regular.ttf") format("truetype"); font-weight: normal; font-style: normal; }
/* bold */
@font-face { font-family: 'GENJ'; src: url("font/GenJyuuGothic-Medium.woff") format("woff"), url("font/GenJyuuGothic-Medium.ttf") format("truetype"); font-weight: bold; font-style: normal; }
* { box-sizing: border-box; line-height: 1.5; }

body { font-family: "GENJ","メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Osaka", 'MS PGothic','ＭＳ Ｐゴシック', 'MS Gothic', sans-serif; font-size: 16px; margin: 0px; text-align: center; background-color: #FFFFFF; color: #202020; word-wrap: break-word; min-width: 1200px; }

p, form { margin: 0px; padding: 0px; }

img { border: none; margin: 0px; padding: 0px; max-width: 100%; }

a { text-decoration: none; outline: none; color: inherit; }

a:hover { text-decoration: none; opacity: 0.7; }

a, a img, input, textarea { transition: all 0.25s ease-in-out; -webkit-transition: all 0.25s ease-in-out; -moz-transition: all 0.25s ease-in-out; }

input, textarea, select { outline: none; }

h1, h2, h3, h4, ul, dl, dt, dd { margin: 0px; padding: 0px; font-weight: normal; list-style: none; }

.nan { transition: none; -webkit-transition: none; -moz-transition: none; }

.cf { width: 100%; }

/* Header */
.header .hl { margin: 25px 0; display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
.header .hl .logo { margin: 0 30px; }
.header .hl .sub { font-size: 11px; line-height: 1.6; text-align: left; color: #888; }
.header .hr { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.header .hr .tel a { padding: 25px 30px 25px 35px; background: url("images/icon_tel.png") no-repeat center left; font-weight: bold; font-size: 25px; }
.header .hr .btn { height: 100%; }
.header .hr .btn a { padding: 0 40px; background: #ff6069; color: #fff; font-weight: bold; font-size: 18px; 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; height: 100%; }

/* mv */
.mv { height: 560px; background: url("images/mv_bg.jpg") no-repeat center; background-size: cover; position: relative; }
.mv .title { width: 100%; position: absolute; top: 50%; left: 50%; transform: translateX(-50%) translateY(-50%); color: #fff; font-weight: bold; }
.mv .title .sub { font-size: 22px; margin-bottom: 40px; }
.mv .title h1 { font-size: 56px; line-height: 1.3; }

/* cta */
.cta { background: #f5f1e8; padding: 50px 0 110px; }
.cta .img { margin-bottom: 40px; font-size: 0; }
.cta .cta_title { margin-bottom: 40px; font-size: 26px; font-weight: bold; line-height: 2; }
.cta .cta_title span { font-size: 20px; }
.cta .link { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-left: -20px; opacity: 0; -webkit-transition: all 1s; -moz-transition: all 1s; -o-transition: all 1s; -ms-transition: all 1s; transition: all 1s; transform: translateY(40px); }
.cta .link div { margin-left: 20px; }
.cta .link .contact { width: 510px; height: 94px; }
.cta .link .contact a { background: #ff6069; border-radius: 10px; color: #fff; font-weight: bold; font-size: 30px; width: 100%; height: 100%; 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; }
.cta .link .tel { width: 304px; height: 94px; }
.cta .link .tel a { background: #fff; border-radius: 10px; color: #333; font-weight: bold; font-size: 16px; width: 100%; height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; -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; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.cta .link .tel a span { display: inline-block; font-size: 27px; padding-left: 35px; background: url("images/icon_tel.png") no-repeat center left; background-size: 20px; margin-top: 10px; }

/* common */
.Inner { width: 1200px; padding: 0 30px; margin: 0 auto; }

.contents { position: relative; }
.contents::before { content: ""; display: block; width: 717px; height: 125px; position: absolute; top: -60px; left: 50%; transform: translateX(-50%); }
.contents.block1::before { background: url("images/bg_circle.png") no-repeat center; background-size: cover; }
.contents.block1 .c_title::before { content: ""; width: 40px; height: 27px; background: url("images/icon_crown.png") no-repeat center; background-size: contain; position: absolute; top: -15px; left: 50%; transform: translateX(-50%); }
.contents.block2::before { background: url("images/bg_circle2.png") no-repeat center; background-size: cover; }
.contents.block2 .c_title::before { content: ""; width: 40px; height: 27px; background: url("images/icon_crown.png") no-repeat center; background-size: contain; position: absolute; top: -15px; left: 50%; transform: translateX(-50%); }
.contents.block3::before { background: url("images/bg_circle3.png") no-repeat center; background-size: cover; }
.contents.block3 .c_title::before { content: ""; width: 37px; height: 30px; background: url("images/icon_01.png") no-repeat center; background-size: contain; position: absolute; top: -15px; left: 50%; transform: translateX(-50%); }
.contents.block4::before { background: url("images/bg_circle2.png") no-repeat center; background-size: cover; }
.contents.block4 .c_title::before { content: ""; width: 47px; height: 30px; background: url("images/icon_02.png") no-repeat center; background-size: contain; position: absolute; top: -15px; left: 50%; transform: translateX(-50%); }
.contents.block5::before { background: url("images/bg_circle.png") no-repeat center; background-size: cover; }
.contents.block5 .c_title::before { content: ""; width: 46px; height: 30px; background: url("images/icon_03.png") no-repeat center; background-size: contain; position: absolute; top: -15px; left: 50%; transform: translateX(-50%); }
.contents.block6::before { background: url("images/bg_circle3.png") no-repeat center; background-size: cover; }
.contents.block6 .c_title::before { content: ""; width: 40px; height: 27px; background: url("images/icon_crown.png") no-repeat center; background-size: contain; position: absolute; top: -15px; left: 50%; transform: translateX(-50%); }
.contents.block9::before { background: url("images/bg_circle3.png") no-repeat center; background-size: cover; }
.contents.block9 .c_title::before { content: ""; width: 37px; height: 30px; background: url("images/icon_crown.png") no-repeat center; background-size: contain; position: absolute; top: -15px; left: 50%; transform: translateX(-50%); }


.c_title { font-size: 35px; font-weight: bold; position: relative; padding-top: 30px; margin-bottom: 70px; opacity: 0; -webkit-transition: all 1s; -moz-transition: all 1s; -o-transition: all 1s; -ms-transition: all 1s; transition: all 1s; transform: translateY(40px); /*&.fade_on { opacity: 1; }*/ }
.c_title span { color: #4db6e0; font-size: 24px; display: block; margin-bottom: 10px; }
.block3 .c_title, .block6 .c_title { color: #fff; }
.block3 .c_title span, .block6 .c_title span { color: #fff; }
.block3 .c_title span.b, .block6 .c_title span.b { font-size: 38px; display: inline; margin-bottom: 0; }
.block4 .c_title, .block5 .c_title { margin-bottom: 30px; }
.block7 .c_title { color: #fff; }
.block7 .c_title span { color: #fff; }
.block7 .c_title span.b { font-size: 34px; display: inline; margin-bottom: 0; }

.present_link {
	padding: 50px 0 10px;
}

/* contents */
.column { position: relative; overflow: hidden; }
.column .img, .column .txt { width: 50%; }
.column .img { padding-bottom: 27.78%; min-width: 600px; }
.column .txt h3 { font-size: 26px; font-weight: bold; text-align: left; line-height: 1.8; margin-bottom: 30px; }
.column .txt p { line-height: 1.8; text-align: left; }
.column.ir .img { float: right; border-radius: 20px 0 0 20px; }
.column.ir .txt { float: left; padding-right: 69px; }
.column.il .img { float: left; border-radius: 0 20px 20px 0; }
.column.il .txt { float: right; padding-left: 69px; }

.block1 { padding-bottom: 120px; }
.block1 .point { margin-top: 70px; }
.block1 .point dt { background: #4db6e0; color: #fff; font-size: 24px; font-weight: bold; border-radius: 20px 20px 0 0; padding: 30px 0; position: relative; }
.block1 .point dt::before { content: ""; background: url("images/point.png") no-repeat center; position: absolute; top: -30px; left: 35px; width: 144px; height: 96px; background-size: contain; }
.block1 .point dt span { font-size: 16px; display: block; margin-bottom: 10px; }
.block1 .point dd { display: -webkit-box; display: -ms-flexbox; display: flex; background: #e6f0f2; padding: 30px 40px; border-radius: 0 0 20px 20px; }
.block1 .point dd .img { width: 708px; font-size: 0; }
.block1 .point dd .txt { width: calc(100% - 708px); padding: 20px 0 0 40px; line-height: 1.8; text-align: left; }
.block1 .point dd .txt span { font-size: 13px; }

.block2 { background: #fafafa; padding-bottom: 155px; }
.block2 .menu { margin-top: 100px; }
.block2 .menu h3 { margin-bottom: -13px; position: relative; z-index: 1; font-size: 0; }
.block2 .menu ul { display: -webkit-box; display: -ms-flexbox; display: flex; }
.block2 .menu ul li { width: 33.33%; }
.block2 .menu ul li:not(:last-child) { border-right: 1px solid #ddd; }
.block2 .menu ul li:nth-child(1) a { background-image: url("images/menu01.png"), url("images/icon-arrow.png"); background-repeat: no-repeat, no-repeat; background-position: center top 50px, center bottom 30px; }
.block2 .menu ul li:nth-child(2) a { background-image: url("images/menu02.png"), url("images/icon-arrow.png"); background-repeat: no-repeat, no-repeat; background-position: center top 50px, center bottom 30px; }
.block2 .menu ul li:nth-child(3) a { background-image: url("images/menu03.png"), url("images/icon-arrow.png"); background-repeat: no-repeat, no-repeat; background-position: center top 50px, center bottom 30px; }
.block2 .menu ul li a { background-color: #fff; display: block; padding: 100px 0px 85px; font-size: 24px; font-weight: bold; }
.block2 .menu ul li a span { display: block; font-size: 18px; }

.floating_cta { position: fixed; right: 20px; bottom: 20px; z-index: 200; transition: all 0.3s ease-in-out; opacity: 1; transform: translateY(0px); pointer-events: all; }
.floating_cta a { display: block; box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.1); }
.hide_cta .floating_cta { opacity: 0; transform: translateY(60px); pointer-events: none; }

.block3 { background: url("images/bg_block_blue.jpg") no-repeat center; background-size: cover; padding-bottom: 100px; }
.block3 .forte ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.block3 .forte ul li { width: calc( 100% - 40px); margin: 0 20px; background: #fff; border-radius: 20px; overflow: hidden; }
.block3 .forte ul li:nth-child(odd) { margin-top: 35px; }
.block3 .forte ul li:nth-child(even) { margin-bottom: 35px; }
.block3 .forte ul li .img { width: 100%; height: 0; padding-bottom: 71%; }
.block3 .forte ul li .txt { position: relative; padding: 0 30px 35px; }
.block3 .forte ul li .txt::before, .block3 .forte ul li .txt::after { width: calc(100% - 80px); height: 0; display: block; position: absolute; content: ""; }
.block3 .forte ul li .txt::before { border-bottom: solid 40px #fff; border-right: solid 40px transparent; top: -30px; left: 40px; }
.block3 .forte ul li .txt::after { border-bottom: solid 40px #fff; border-left: solid 40px transparent; top: -30px; left: 0px; }
.block3 .forte ul li .txt h4 { font-size: 24px; font-weight: bold; margin: -10px 0 30px; position: relative; z-index: 1; }
.block3 .forte ul li .txt p { font-size: 14px; line-height: 1.8; text-align: left; }

.block9 { background: url("images/bg_block_blue.jpg") no-repeat center; background-size: cover; padding-bottom: 100px; }
.block9 .forte ul { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
.block9 .forte ul li { width: calc( 100% - 40px); margin: 0 20px; background: #fff; border-radius: 20px; overflow: hidden; }
.block9 .forte ul li:nth-child(odd) { margin-top: 35px; }
.block9 .forte ul li:nth-child(even) { margin-bottom: 35px; }
.block9 .forte ul li .img { width: 100%; height: 0; padding-bottom: 71%; }
.block9 .forte ul li .txt { position: relative; }
.block9 .forte ul li .txt::before, .block9 .forte ul li .txt::after { width: calc(100% - 80px); height: 0; display: block; position: absolute; content: ""; }
.block9 .forte ul li .txt::before { border-bottom: solid 40px #fff; border-right: solid 40px transparent; top: -30px; left: 40px; }
.block9 .forte ul li .txt::after { border-bottom: solid 40px #fff; border-left: solid 40px transparent; top: -30px; left: 0px; }
.block9 .forte ul li .txt h4 { font-size: 22px; font-weight: bold; margin: -10px 0 30px; position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; }
.block9 .forte ul li .txt h4 { text-align: left; }
.block9 .forte ul li .txt p { font-size: 14px; line-height: 1.8; text-align: left; }

.block4 { background: #fafafa; padding-bottom: 130px; }
.block4 .lead { color: #4db6e0; margin-bottom: 90px; line-height: 2; font-weight: bold; font-size: 18px; }
.block4 .case { display: -webkit-box; display: -ms-flexbox; display: flex; margin-bottom: 80px; }
.block4 .case:nth-child(even) { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
.block4 .case .img { width: 520px; }
.block4 .case .img img { border-radius: 20px; background: #fff; }
.block4 .case .txt { width: calc( 100% - 520px); padding: 0 40px; text-align: left; }
.block4 .case .txt .ti { font-size: 26px; font-weight: bold; margin-bottom: 20px; }
.block4 .case .txt .cat { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: -10px 0 20px -10px; }
.block4 .case .txt .cat li { margin: 10px 0 0 10px; background: #54c5f3; padding: 5px 15px; border-radius: 3px; font-size: 12px; color: #fff; }
.block4 .case .txt h3 { font-size: 26px; font-weight: bold; margin-bottom: 20px; line-height: 1.5; }
.block4 .case .txt .brand { color: #999; margin-bottom: 25px; font-size: 18px; }
.block4 .case .txt .brand span { display: inline-block; margin-left: 20px; }
.block4 .case .txt .desc { font-size: 16px; line-height: 1.8; }
.block4 .case .txt .desc dt { font-size: 16px; font-weight: bold; margin-bottom: 5px; }
.block4 .case .txt .desc dd { margin-bottom: 10px; }
.block4 .case .txt .desc dd:last-child { margin-bottom: 0; }
.block4 .other { background: #fff; padding: 40px 60px 60px; border-radius: 20px; }
.block4 .other h3 { font-size: 26px; margin-bottom: 30px; font-weight: bold; }
.block4 .result { width: 100%; max-width: 1060px; margin: 0 auto; background: #f5f1e8; padding: 30px 35px 15px; border-radius: 20px; margin-top: 60px; margin-bottom: 70px; }
.block4 .result h3 { font-size: 22px; font-weight: bold; margin-bottom: 30px; }
.block4 .result > div { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-left: -20px; }
.block4 .result > div .box { width: calc( 25% - 20px); margin-left: 20px; margin-bottom: 30px; }
.block4 .result > div .box img { margin-bottom: 5px; }
.block4 .result > div p { font-size: 18px; font-weight: bold; }

.block5 { padding-bottom: 70px; }
.block5 .lead { color: #4db6e0; margin-bottom: 90px; line-height: 2; font-weight: bold; font-size: 18px; }
.block5 .column { margin-bottom: 120px; }
.block5 .flow { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 60px 35px 90px; position: relative; }
.block5 .flow::before { content: ""; width: 100%; height: 6px; border-radius: 3px; background: #f597a6; position: absolute; top: -3px; left: 0; }
.block5 .flow::after { width: 70px; height: 70px; content: ""; position: absolute; top: -35px; left: 50%; transform: translateX(-50%); }
.block5 .flow:nth-child(1)::after { background: url("images/icon_flow1.png") no-repeat center; background-size: cover; }
.block5 .flow:nth-child(2)::after { background: url("images/icon_flow2.png") no-repeat center; background-size: cover; }
.block5 .flow:nth-child(3)::after { background: url("images/icon_flow3.png") no-repeat center; background-size: cover; }
.block5 .flow:nth-child(4)::after { background: url("images/icon_flow4n.png") no-repeat center; background-size: cover; width: 140px; }
.block5 .flow:nth-child(5)::after { background: url("images/icon_flow5n.png") no-repeat center; background-size: cover; width: 140px; }
.block5 .flow .img { width: 250px; font-size: 0; }
.block5 .flow .txt { width: calc( 100% - 250px); padding-left: 30px; text-align: left; }
.block5 .flow .txt h3 { color: #ff6069; font-size: 26px; font-weight: bold; margin: 20px 0; }
.block5 .flow .txt p { line-height: 2; }
.block5 .flow .result { width: 100%; background: #f5f1e8; padding: 30px 35px 20px; border-radius: 20px; margin-top: 60px; }
.block5 .flow .result h3 { font-size: 22px; font-weight: bold; margin-bottom: 30px; }
.block5 .flow .result > div { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-left: -25px; }
.block5 .flow .result > div .box { width: calc( 25% - 25px); margin-left: 25px; margin-bottom: 30px; }
.block5 .flow .result > div .box img { margin-bottom: 10px; }
.block5 .flow .voice { width: 100%; background: #f5f1e8; padding: 30px 35px 20px; border-radius: 20px; margin-top: 60px; }
.block5 .flow .voice h3 { font-size: 22px; font-weight: bold; margin-bottom: 30px; }
.block5 .flow .voice > div { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; }
.block5 .flow .voice .img { width: 250px; margin-left: 30px; overflow: hidden; }
.block5 .flow .voice .img img { border-radius: 20px; }
.block5 .flow .voice ul { width: calc( 100% - 280px ); list-style: disc; padding: 0 0 0 40px; text-align: left; margin-top: -10px; font-size: 16px; }
.block5 .flow .voice ul li { margin-top: 10px; }
.block5 .more { position: relative; }
.block5 .more::before { content: ""; position: absolute; top: -30px; left: 30px; width: 144px; height: 96px; background: url("images/more.png") no-repeat center; background-size: cover; }
.block5 .more dt { background: #4db6e0; color: #fff; font-weight: bold; font-size: 24px; padding: 25px 0; border-radius: 20px 20px 0 0; }
.block5 .more dd { background: #e6f0f2; padding: 40px; display: -webkit-box; display: -ms-flexbox; display: flex; border-radius: 0 0 20px 20px; }
.block5 .more dd .img { width: 405px; }
.block5 .more dd .txt { width: calc(100% - 405px); padding: 15px 0 0 40px; text-align: left; font-weight: bold; line-height: 2; }

.block6 { background: url("images/bg_block_blue.jpg") no-repeat center; background-size: cover; padding-bottom: 60px; }
.block6 .faq { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-left: -30px; position: relative; /*&::before {content: ""; width: 100%; height: 1px; background: #fff; position: absolute; left: 0; top: 50%;}*/ }
.block6 .faq dl { width: calc( 50% - 30px); color: #fff; text-align: left; position: relative; margin: 25px 0 25px 30px; }
.block6 .faq dl:nth-child(odd) { border-right: 1px solid #fff; }
.block6 .faq dl::before { content: ""; width: calc(100% + 31px); height: 1px; background: #fff; position: absolute; left: -30px; bottom: -25px; }
.block6 .faq dt { font-weight: bold; font-size: 18px; padding: 20px 40px 40px 50px; background: url("images/faq.png") no-repeat left top 20px; }
.block6 .faq dd { line-height: 1.8; padding: 0 40px 35px 50px; }

.block7 { background: url("images/bg_block_img.jpg") no-repeat center; background-size: cover; padding: 75px 0 90px; }
.block7 .img { margin-bottom: 45px; }
.block7 .txt { font-size: 24px; font-weight: bold; color: #fff; }

.block8 { padding: 60px 0; background: #f1f7ff; }
.block8 form { max-width: 960px; margin: 0 auto; text-align: left; }
.block8 form .cont { padding: 15px 10px; background-color: #fff; border-bottom: 1px solid #c6dafa; margin-bottom: 30px; }
.block8 table { width: 100%; border-collapse: collapse; margin: 0px; }
.block8 th, .block8 td { padding: 19px 30px; }
.block8 th { font-weight: bold; vertical-align: top; padding: 25px 0; font-size: 16px; width: 270px; }
.block8 th span { display: block; position: relative; padding: 0 90px 0 30px; }
.block8 th span:after { content: '必須'; font-size: 14px; color: #fff; background: linear-gradient(-22deg, #4db6e0 0%, #4db6e0 50%, #3da7d1 50%, #3da7d1 100%); padding: 0 10px; position: absolute; right: 30px; line-height: 1.5em; top: 2px; }
.block8 th span.n:after { content: none; }
.block8 .ns th span:after { display: none; }
.block8 td p { font-size: 14px; color: #e60200; font-weight: bold; padding-top: 10px; }
.block8 td .cm { display: inline-block; vertical-align: middle; font-size: 14px; color: #888888; line-height: 1.4em; margin: 0 -20px 0 10px; }
.block8 .priv { margin-bottom: 20px; text-align: center; }
.block8 .priv a { color: #e8642b; text-decoration: underline; }
.block8 .priv a:hover { text-decoration: none; }
.block8 .err_agree { font-size: 14px; color: #e60200; padding: 15px 20px; background-color: #ffe8e8; margin-bottom: 20px; font-weight: bold; }
.block8 input[type='text'], .block8 select, .block8 textarea { appearance: none; -webkit-appearance: none; border-radius: 3px; border: #cfd7e3 solid 1px; font-family: inherit; font-size: 16px; padding: 7px 10px; width: 435px; display: inline-block; vertical-align: middle; box-sizing: border-box; background: #fffdee; }
.block8 input[type='text']:focus, .block8 select:focus, .block8 textarea:focus { border: #4d86ce solid 1px; background: #fff; }
.block8 input[type='text'].size_full, .block8 select.size_full, .block8 textarea.size_full { width: 100%; }
.block8 input[type='text'].size_short, .block8 select.size_short, .block8 textarea.size_short { width: 168px; }
.block8 textarea { resize: none; height: 200px; }
.block8 select { background: #fffdee url(images/sel2.png) no-repeat right 10px center; background-size: 10px auto; padding-right: 50px; }
.block8 div { padding: 0 0 10px; }
.block8 .flex { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
.block8 .flex select { width: 100px; margin: 0 5px; }
.block8 .flex select:first-child { margin-left: 0; }
.block8 .chk label { display: inline-block; margin-right: 40px; cursor: pointer; }
.block8 .chk label:last-child { margin-right: 0; }
.block8 .chk label input { margin: 3px 10px 0 0; padding: 0; box-sizing: border-box; width: 18px; height: 18px; vertical-align: top; }
.block8 .chk label input:checked + span { font-weight: bold; color: #03a8a9; }
.block8 .nav { text-align: center; font-size: 0; }
.block8 .nav a, .block8 .nav button { display: inline-block; width: 300px; appearance: none; -webkit-appearance: none; position: relative; border: none; border-radius: 5px; text-decoration: none; vertical-align: top; margin: 0 10px; cursor: pointer; background: #ff6069 url("images/icon_submit.png") no-repeat right 25px center; transition: none; font-size: 22px; color: #fff; font-family: inherit; font-weight: bold; line-height: 25px; padding: 25px 70px 25px 50px; box-sizing: border-box; }
.block8 .nav a:hover, .block8 .nav button:hover { opacity: 0.75; text-decoration: none; }
.block8 .nav a { background: #cfcfcf url(images/backward.png) no-repeat 15px center; width: 300px; }
.block8 .sent { margin: 20px auto 40px auto; max-width: 790px; padding: 30px; border: #c0dbff solid 2px; background-color: #e3efff; }
.block8 .sent b a { pointer-events: none; }
.block8 .chks { display: flex; flex-flow: row wrap; gap: 15px 20px; padding: 8px 0px 4px 0px; }
.block8 .chks label { display: inline-block; vertical-align: top; font-size: 16px; font-weight: bold; position: relative; cursor: pointer; }
.block8 .chks input { margin: 0px; position: absolute; top: 0px; left: 0px; opacity: 0; }
.block8 .chks span { display: inline-block; padding-left: 32px; line-height: 20px; }
.block8 .chks span:before, .block8 .chks span:after { content: ''; width: 20px; height: 20px; border-radius: 50%; border: #cfd7e3 solid 1px; position: absolute; left: 0px; top: 0px; background-color: #fffdee; box-sizing: border-box; transition: all 0.15s ease-out; }
.block8 .chks span:after { width: 10px; height: 10px; top: 5px; left: 5px; background-color: #4d86ce; border: none; opacity: 0; transform: scale(0); }
.block8 .chks input:checked + span:after { opacity: 1; transform: scale(1); }
.block8 .chks input:focus + span:before, .block8 .chks label:hover span:before { border: #4d86ce solid 1px; background-color: #fff; }

.rechapcha .g-recaptcha { display: inline-block; }

/* footer */
.footer { font-size: 13px; font-weight: bold; }
.footer .address { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; -webkit-box-align: center; -ms-flex-align: center; align-items: center; margin: 25px 0; }
.footer .copy { background: #4db6e0; color: #fff; padding: 15px 0; }

/* page top */
.ptop { position: fixed; right: 20px; bottom: 80px; width: 70px; z-index: 100; transition: all 0.3s ease-in-out; opacity: 0; pointer-events: none; }
.ptop a { width: 70px; height: 70px; background: url(images/ptop.png) no-repeat center top; text-indent: -9999px; text-align: left; display: block; }
.ptop a:hover { filter: alpha(opacity=75); opacity: 0.75; }
.ptop_on .ptop { bottom: 155px; pointer-events: all; opacity: 1; }
.hide_cta .ptop { bottom: -20px; }
.hide_cta.ptop_on .ptop { bottom: 20px; }

@media screen and (min-width: 769px) { .only-sp { display: none; }
  .header { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; min-width: 1200px; } }
@media screen and (max-width: 768px) { .only-pc { display: none; }
  body { min-width: auto; font-size: 16px; }
  .header { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .header .hl { margin: 15px 0; }
  .header .hl .logo { width: 80%; }
  .header .hl .sub { display: none; }
  .header .hr { width: 100%; }
  .header .hr .tel { width: 50%; }
  .header .hr .tel a { padding: 5px 0; font-size: 4vmin; display: block; background: #ff6069 url("images/icon_tel_white.png") no-repeat center left 10px; background-size: auto 40%; color: #fff; border-right: 1px solid #D13B1B; }
  .header .hr .btn { width: 50%; }
  .header .hr .btn a { padding: 5px 0; font-size: 4vmin; display: block; border-left: 1px solid #D13B1B; }
  /* mv */
  .mv { height: auto; }
  .mv .title { width: 100%; position: static; transform: none; /*.sub { font-size: 22px; margin-bottom: 20px; }
h1 {font-size: 8vmin; }*/ }
  .mv .title .sub { display: none; }
  .mv .title h1 img { width: 100%; margin: 0; }
  /* cta */
  .cta { padding: 50px 10px 100px; }
  .cta .img { width: 80%; margin: 0 auto 20px; }
  .cta .cta_title { font-size: 20px; margin-bottom: 20px; }
  .cta .cta_title span { font-size: 16px; }
  .cta .link { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-left: -20px; }
  .cta .link div { margin-left: 20px; }
  .cta .link .contact, .cta .link .tel { width: 80%; height: 60px; }
  .cta .link .contact a { font-size: 20px; }
  .cta .link .tel { margin-top: 10px; }
  .cta .link .tel a { font-size: 12px; }
  .cta .link .tel a span { font-size: 20px; padding-left: 35px; margin-top: 0px; }
  /* common */
  .Inner { width: 100%; padding: 0 10px; }
  .contents::before { width: 300px; height: 52px; top: -50px; }
  .contents.block1 .c_title::before, .contents.block2 .c_title::before, .contents.block3 .c_title::before, .contents.block4 .c_title::before, .contents.block5 .c_title::before, .contents.block6 .c_title::before { height: 20px; }
  .c_title { font-size: 20px; padding-top: 30px; margin-bottom: 35px; padding: 20px 10px 0; }
  .c_title span { color: #4db6e0; font-size: 18px; display: block; margin-bottom: 5px; }
  .block3 .c_title, .block6 .c_title { margin-bottom: 20px; }
  .block3 .c_title span.b, .block6 .c_title span.b { font-size: 20px; }
  .block4 .c_title, .block5 .c_title { margin-bottom: 20px; }
  .block7 .c_title { margin-bottom: 20px; }
  .block7 .c_title span.b { font-size: 20px; }
  /* contents */
  .column { position: relative; overflow: hidden; }
  .column .img, .column .txt { width: 100%; }
  .column .img { padding-bottom: 55.56%; min-width: auto; width: 100%; }
  .column .txt h3 { font-size: 18px; margin: 10px 0 20px; }
  .column .txt p { line-height: 1.8; text-align: left; }
  .column.ir .img, .column.il .img { float: none; border-radius: 0; }
  .column.ir .txt, .column.il .txt { float: none; padding-right: 0px; padding-left: 0px; }
  .block1 { padding-bottom: 80px; }
  .block1 .point { margin-top: 35px; }
  .block1 .point dt { padding: 20px 10px; font-size: 18px; }
  .block1 .point dt::before { width: 72px; height: 48px; top: -16px; left: 5px; }
  .block1 .point dt span { font-size: 14px; display: block; margin-bottom: 10px; }
  .block1 .point dd { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 20px 10px; border-radius: 0 0 20px 20px; }
  .block1 .point dd .img { width: 100%; font-size: 0; margin-bottom: 10px; }
  .block1 .point dd .txt { width: 100%; padding: 0px; }
  .block2 { padding-bottom: 80px; }
  .block2 .menu { margin-top: 50px; }
  .block2 .menu h3 { margin-bottom: 10px; }
  .block2 .menu ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .block2 .menu ul li { width: 100%; }
  .block2 .menu ul li:not(:last-child) { border-right: 0; border-bottom: 1px solid #ddd; }
  .block2 .menu ul li:nth-child(1) a { background-image: url("images/menu01.png"), url("images/icon-arrow.png"); background-repeat: no-repeat, no-repeat; background-position: center top 15px, center bottom 15px; background-size: auto 20px,auto; }
  .block2 .menu ul li:nth-child(2) a { background-image: url("images/menu02.png"), url("images/icon-arrow.png"); background-repeat: no-repeat, no-repeat; background-position: center top 15px, center bottom 15px; background-size: auto 20px, auto; }
  .block2 .menu ul li:nth-child(3) a { background-image: url("images/menu03.png"), url("images/icon-arrow.png"); background-repeat: no-repeat, no-repeat; background-position: center top 15px, center bottom 15px; background-size: auto 20px, auto; }
  .block2 .menu ul li a { background-color: #fff; display: block; padding: 50px 0px 45px; font-size: 20px; font-weight: bold; }
  .block2 .menu ul li a span { display: block; font-size: 16px; }

  .floating_cta { right: calc((100% - 260px) / 2); bottom: 10px; z-index: 200; text-align: center; }
  .floating_cta img { width: 260px; }

  .block3 { padding-bottom: 50px; }
  .block3 .forte ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .block3 .forte ul li { width: 100%; margin: 0; background: #fff; border-radius: 20px; overflow: hidden; }
  .block3 .forte ul li:nth-child(odd) { margin-top: 0; }
  .block3 .forte ul li:nth-child(even) { margin-bottom: 0; }
  .block3 .forte ul li:not(:last-child) { margin-bottom: 10px; }
  .block3 .forte ul li .img { width: 100%; height: 0; padding-bottom: 71%; }
  .block3 .forte ul li .txt { position: relative; padding: 0 15px 15px; }
  .block3 .forte ul li .txt::before, .block3 .forte ul li .txt::after { width: calc(100% - 40px); height: 0; display: block; position: absolute; content: ""; }
  .block3 .forte ul li .txt::before { border-bottom: solid 20px #fff; border-right: solid 20px transparent; top: -10px; left: 20px; }
  .block3 .forte ul li .txt::after { border-bottom: solid 20px #fff; border-left: solid 20px transparent; top: -10px; left: 0px; }
  .block3 .forte ul li .txt h4 { font-size: 20px; font-weight: bold; margin: -10px 0 15px; position: relative; z-index: 1; }
  .block3 .forte ul li .txt p { font-size: 14px; line-height: 1.8; text-align: left; }

  .block9 { padding-bottom: 50px; }
  .block9 .forte ul { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; }
  .block9 .forte ul li { width: 49%; margin: 0; background: #fff; border-radius: 20px; overflow: hidden; }
  .block9 .forte ul li:nth-child(odd) { margin-top: 0; }
  .block9 .forte ul li:nth-child(even) { margin-bottom: 10px; }
  .block9 .forte ul li { margin-bottom: 10px; }
  .block9 .forte ul li .img { width: 100%; height: 0; padding-bottom: 71%; }
  .block9 .forte ul li .txt { position: relative; padding: 0 15px 15px; }
  .block9 .forte ul li .txt::before, .block9 .forte ul li .txt::after { width: calc(100% - 40px); height: 0; display: block; position: absolute; content: ""; }
  .block9 .forte ul li .txt::before { border-bottom: solid 20px #fff; border-right: solid 20px transparent; top: -10px; left: 20px; }
  .block9 .forte ul li .txt::after { border-bottom: solid 20px #fff; border-left: solid 20px transparent; top: -10px; left: 0px; }
  .block9 .forte ul li .txt h4 { font-size: 13px; font-weight: bold; margin: -10px 0 0px; position: relative; z-index: 1; display: block; text-align: center; }
  .block9 .forte ul li .txt h4 span { display: block; text-align: center; font-size: 10px !important; margin-left: -10px; margin-right: -10px; margin-bottom: -5px; }
  .block9 .forte ul li .txt p { font-size: 14px; line-height: 1.8; text-align: left; }
  .block9 .forte ul.only-pc{display: none;}
.present_link {
	padding: 30px 0 20px;
}

  .block4 { padding-bottom: 80px; }
  .block4 .lead { margin-bottom: 40px; line-height: 1.8; font-size: 16px; text-align: left; padding: 0 10px; }
  .block4 .case { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin-bottom: 60px; }
  .block4 .case:nth-child(even) { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; }
  .block4 .case .img { width: 100%; margin-bottom: 20px; }
  .block4 .case .txt { width: 100%; padding: 0 15px; text-align: left; }
  .block4 .case .txt .ti { font-size: 20px; margin-bottom: 20px; }
  .block4 .case .txt .cat { margin-left: -10px; margin-bottom: 0; }
  .block4 .case .txt .cat li { margin: 0 0 10px 10px; padding: 5px 10px; font-size: 12px; }
  .block4 .case .txt h3 { font-size: 20px; margin-bottom: 10px; }
  .block4 .case .txt .brand { margin-bottom: 15px; font-size: 16px; }
  .block4 .case .txt .brand span { display: inline-block; }
  .block4 .case .txt .desc { font-size: 14px; }
  .block4 .other { background: #fff; padding: 20px; border-radius: 20px; }
  .block4 .other h3 { font-size: 20px; margin-bottom: 15px; font-weight: bold; }
  .block4 .result { padding: 15px 10px 0; margin-top: 30px; margin-bottom: 40px; }
  .block4 .result h3 { font-size: 20px; margin-bottom: 10px; }
  .block4 .result > div { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-left: -12px; }
  .block4 .result > div .box { width: calc( 50% - 12px); margin-left: 12px; margin-bottom: 15px; }
  .block4 .result > div .box img { margin-bottom: 5px; }
  .block4 .result > div .box p { font-size: 14px; margin: 0 10px; }

  .block5 { padding-bottom: 40px; }
  .block5 .lead { margin-bottom: 40px; line-height: 1.8; font-size: 16px; text-align: left; padding: 0 10px; }
  .block5 .column { margin-bottom: 120px; }
  .block5 .flow { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; padding: 35px 10px 40px; position: relative; }
  .block5 .flow::before { content: ""; width: 100%; height: 6px; border-radius: 3px; background: #f597a6; position: absolute; top: -3px; left: 0; }
  .block5 .flow::after { width: 50px; height: 50px; content: ""; position: absolute; top: -25px; left: 50%; transform: translateX(-50%); }
  .block5 .flow:nth-child(4)::after, .block5 .flow:nth-child(5)::after { width: 100px; }
  .block5 .flow .img { width: 100%; }
  .block5 .flow .img img { width: 60%; }
  .block5 .flow .txt { width: 100%; padding-left: 0px; }
  .block5 .flow .txt h3 { font-size: 20px; margin: 15px 0 10px; }
  .block5 .flow .txt p { line-height: 1.8; }
  .block5 .flow .result { padding: 10px 10px 0; margin-top: 30px; }
  .block5 .flow .result h3 { font-size: 20px; margin-bottom: 10px; }
  .block5 .flow .result > div { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-left: -8px; }
  .block5 .flow .result > div .box { width: calc( 50% - 8px); margin-left: 8px; margin-bottom: 15px; }
  .block5 .flow .result > div .box img { margin-bottom: 8px; }
  .block5 .flow .result > div .box p { font-size: 14px; margin: 0 10px; }
  .block5 .flow .voice { padding: 10px; margin-top: 30px; }
  .block5 .flow .voice h3 { font-size: 20px; margin-bottom: 20px; }
  .block5 .flow .voice > div { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; }
  .block5 .flow .voice .img { width: 80%; margin: 0 auto 20px; border-radius: 10px; }
  .block5 .flow .voice .img img { width: 100%; }
  .block5 .flow .voice ul { padding: 0 5px 0 25px; font-size: 16px; width: 100%; }
  .block5 .more { position: relative; }
  .block5 .more::before { width: 72px; height: 48px; top: -16px; left: 5px; }
  .block5 .more dt { padding: 20px 10px; font-size: 18px; }
  .block5 .more dd { padding: 20px 10px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; border-radius: 0 0 20px 20px; }
  .block5 .more dd .img, .block5 .more dd .txt { width: 100%; }
  .block5 .more dd .txt { padding: 10px 0 0; line-height: 1.8; }
  .block6 { padding-bottom: 40px; }
  .block6 .faq { display: -webkit-box; display: -ms-flexbox; display: flex; -ms-flex-wrap: wrap; flex-wrap: wrap; margin: 0px; }
  .block6 .faq dl { width: 100%; margin: 0px; border-bottom: 1px solid #fff; }
  .block6 .faq dl:nth-child(odd) { border-right: 0; margin-bottom: 0px; }
  .block6 .faq dl::before { content: none; }
  .block6 .faq dt { font-weight: bold; font-size: 18px; padding: 20px 10px 20px 40px; background: url("images/faq.png") no-repeat left top 20px; background-size: 25px auto; }
  .block6 .faq dd { padding: 0 10px 20px 40px; }
  .block7 { padding: 20px 0 45px; }
  .block7 .img { margin-bottom: 25px; }
  .block7 .txt { font-size: 20px; }
  .block8 { padding: 25px 10px 10px 10px; }
  .block8 form .cont { padding: 10px; }
  .block8 th, .block8 td { padding: 10px; width: 100%; display: block; }
  .block8 th span { padding: 0; }
  .block8 td .cm { display: block; margin-left: 0px; margin-top: 5px; }
  .block8 .priv .cont { padding-bottom: 5px; }
  .block8 input[type='text'], .block8 select, .block8 textarea { width: 100% !important; }
  .block8 div { box-sizing: border-box; }
  .block8 .flex select { width: auto; padding-right: 30px; }
  .block8 .nav { margin-top: -10px; }
  .block8 .nav a, .block8 .nav button { padding: 15px 70px 15px 50px; font-size: 20px; width: 100%; margin: 10px 0 0; }
  .block8 .chks { flex-flow: column; padding: 0px 0px 2px 0px; }
  .block8 .chks label { font-size: 14px; }
  .block8 .chks span { padding-left: 26px; }
  /* footer */
  .footer { font-size: 13px; font-weight: bold; }
  .footer .address { text-align: left; }
  .footer .address .fr { margin-left: 10px; }
  .footer .copy { background: #4db6e0; color: #fff; padding: 15px 0; }
  /* page top */
  .ptop { position: fixed; right: 25px; bottom: -40px; width: 70px; z-index: 100; }
  .ptop a { width: 70px; height: 70px; background: url(images/ptop.png) no-repeat center top; text-indent: -9999px; text-align: left; display: block; }
  .ptop a:hover { filter: alpha(opacity=75); opacity: 0.75; }
  .ptop { right: 10px; width: 35px; }
  .ptop a { width: 35px; height: 35px; background-size: 100% 100%; }
  .ptop_on .ptop { bottom: 10px; }
  .hide_cta.ptop_on .ptop { bottom: 10px; }
}