@charset "utf-8";

/* CSS Document */

:root {
	--red: #C7000B;
	--orange: #F0795C;
	--pink1: #FDAB9F;
	--pink2: #FDECEC;
	--black: #1A1A1A;
	--olive: #92846E;
	--gray: #F2F1F0;
}
html { font-size: 10px; }
body { font-family: "hiragino-kaku-gothic-pron", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Sans", "ヒラギノ角ゴシック", "メイリオ", Meiryo, Osaka, "MS PGothic", "ＭＳ Ｐゴシック", "MS Gothic", "Helvetica Neue", Arial, sans-serif; font-size: 1.8rem; margin: 0px; text-align: center; background: #fff; line-height: 1.8; color: var(--black); word-wrap: break-word; -webkit-text-size-adjust: none; image-rendering: auto; font-weight: 300; }
sup{
	font-size: 1.2rem;
	margin-right: 5px;
}
small{
	display: block;
	line-height: 1.4;
	margin-top: 10px;
}
b { font-weight: bold; }
p, form { margin: 0px; padding: 0px; }
img { border: none; margin: 0px; padding: 0px; backface-visibility: visible; -webkit-backface-visibility: visible; max-width: 100%; height: auto; vertical-align: top; }
picture { display: inline-block; }
a { text-decoration: none; outline: none; color: var(--black); }
a, input, textarea, button { transition: all 0.2s ease-out; }
input, textarea, select, button { outline: none; }
h1, h2, h3, h4, ul, dl, dt, dd { margin: 0px; padding: 0px; font-weight: 300; list-style: none; }
*, *:before, *:after { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

html:after { content: ''; position: fixed; top: 50%; left: 50%; width: 30px; height: 30px; margin-top: -15px; margin-left: -15px; border-radius: 50%; border: solid 2px; border-color: var(--red) transparent var(--red) transparent; animation: spin 1s linear infinite; transition: opacity 0.2s ease-in-out; pointer-events: none; }
html body { transition: opacity 1s ease-in-out; opacity: 0; }
html.init body { opacity: 1; }
html.init:after { opacity: 0; visibility: hidden; }
@keyframes spin { 100% { transform: rotate(360deg); } }

.sp, .sps { display: none; }

.anim { transform: translateY(30px); opacity: 0; transition: all 0.8s; }
.anim.do { transform: translateY(0px); opacity: 1; }

/* Header */

header { background-color: #fff; position: relative; z-index: 1001; box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1); }
header .cont { padding: 0px 20px; display: flex; align-items: center; height: 80px; justify-content: space-between; }
header .logo { margin-right: auto; margin-left: -5px; }
header .logo a:hover { opacity: 0.75; }
header .tel { border-left: #ddd solid 1px; }
header .tel a { height: 40px; padding-left: 45px; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; background: url(../image/icon_tel.png) no-repeat 10px 7px; background-size: 28px auto; pointer-events: none; }
header .tel a img { display: block; margin-bottom: 5px; }
header .tel a span { font-size: 1rem; display: block; line-height: 1; margin: 2px -4px 0px 0px; }
header .btn {padding-left: 10px; margin-left: 10px; }
header .btn a { font-size: 1.8rem; font-weight: 600; height: 56px; display: flex; align-items: center; padding: 0px 30px 0px 55px; background: var(--red) url(../image/icon_doc.png) no-repeat 18px center; background-size: 16px auto; color: #fff; }
header .btn a:hover { opacity: 0.75; }

/* Content */

main { overflow: hidden; }

.form input { appearance: none; -webkit-appearance: none; width: 100%; margin: 0px; vertical-align: middle; display: inline-block; border: #ddd solid 1px; border-radius: 5px; font-family: inherit; font-size: 1.6rem; font-weight: 300; line-height: 1.5; padding: 8px 15px; }
.form input:hover { border-color: var(--red); }
.form input:focus { border-color: var(--red); box-shadow: 0px 0px 0px 3px rgba(255, 0, 0, 0.2); }
.form .col input { width: 180px; }
.form .col span { font-size: 1.2rem; margin-left: 10px; }
.form .prtxt { font-size: 1.2rem; text-align: left; }
.form .prtxt a { color: var(--red); text-decoration: underline; }
.form .prtxt a[target="_blank"] { display: inline-block; background: url(../image/icon_blank.png) no-repeat right center; background-size: 15px auto; padding-right: 16px; }
.form .prtxt a:hover { text-decoration: none; }
.form nav button { appearance: none; -webkit-appearance: none; font-family: inherit; background-color: var(--red); border: none; color: #fff; cursor: pointer; transition: all 0.15s ease-out; }
.form nav button:hover { opacity: 0.75; }

.mv { display: flex; height: 580px; }
.mv .bg { width: calc(100% - 420px); background: url(../image/bg_mv.jpg) no-repeat right center; background-size: cover; display: flex; align-items: center; justify-content: center; }
.mv .bnr { position: relative; background-color: #fff; width: 690px; z-index: 1; padding: 1px 80px; text-align: left; margin-top: -50px; margin-right: 160px; }
.mv .bnr .tx1 { background-color: #000; color: #fff; font-size: 1.6rem; font-weight: 600; text-align: center; padding: 5px 10px; max-width: 480px; margin-top: -28px; position: relative; margin-bottom: 15px; }
.mv .bnr .tx1:before { content: ''; border: solid 9px; border-color: #686868 #686868 transparent transparent; position: absolute; bottom: -18px; left: 20px; }
.mv .bnr .tx2 { font-size: 2rem; font-weight: 600; display: flex; align-items: center; gap: 50px; margin-bottom: 10px; }
.mv .bnr .tx2 span { display: inline-block; padding: 10px 115px 10px 10px; position: relative; }
.mv .bnr .tx2 span:nth-child(1) { background: url(../image/text_icon01.png) no-repeat right center; background-size: 94px auto; }

.mv .bnr .tx2 span:nth-child(2) { background: url(../image/text_icon02.png) no-repeat right center; background-size: 94px auto; }
.mv .bnr .tx3 { font-size: 2rem; font-weight: 600; margin: 10px 0px; }

.mv .bnr ul { display: flex; gap: 10px; margin-bottom: -80px; }
.mv .bnr ul li { width: 34%; background-color: var(--red); border: #fff solid 3px; display: flex; align-items: center; justify-content: flex-start; flex-direction: column; box-shadow: 0px 3px 5px rgba(0, 0, 0, 0.2); color: #fff; padding: 10px 0px 12px 0px; }
.mv .bnr ul li span { font-size: 1.3rem; font-weight: 600; display: inline-block; margin-bottom: 3px; position: relative; }
.mv .bnr ul li span:before, .mv .bnr ul li span:after { content: ''; width: 2px; background-color: #fff; height: 18px; position: absolute; top: 2px; }
.mv .bnr ul li span:before { left: -10px; transform: rotate(-20deg); }
.mv .bnr ul li span:after { right: -10px; transform: rotate(20deg); }
.mv .bnr ul li img { margin-top: auto; margin-bottom: auto; }
.mv .bnr ul li b { font-size: 1.4rem; font-weight: 600; display: block; margin: 3px 0px -5px 0px; }

.mv .form { background-color: var(--gray); width: 420px; position: relative; z-index: 1; padding: 15px 30px; display: flex; flex-direction: column; }
.mv .form .ti { font-weight: 600; margin-bottom: 2px; }
.mv .form .req_tx { font-size: 1.2rem; font-weight: 600; color: var(--red); margin-bottom: 5px; }
.mv .form .inner { font-size: 1.6rem; flex-grow: 1; text-align: left; }
.mv .form .fld { margin-bottom: 9px; }
.mv .form input { border-color: #fff; padding: 6px 13px; }
.mv .form input:hover, .mv .form input:focus { border-color: var(--red); }
.mv .form .prtxt { font-size: 1rem; line-height: 1.6; margin-bottom: 15px; }
.mv .form .prtxt p:not(:last-child) { margin-bottom: 5px; }
.mv .form nav button { width: 100%; font-size: 1.6rem; font-weight: 600; padding: 12px 30px 12px 50px; background: var(--red) url(../image/icon_doc.png) no-repeat 15px center; background-size: 18px auto; }
.mv{
	position: relative;
	margin-bottom: 25px;
}
.mv .bnr .tx2 span:nth-child(1)  sup{
	position: absolute;
	right: -10px;
	top: 0;
	font-weight: normal;
	font-size: 1.2rem;
}
.mv .bnr .tx3 small{
	display: block;
	font-size: 1.2rem;
	font-weight: normal;
}
.mv .notice._n01{
	display: block;
	position: absolute;
	top: 100%;
	font-size: 1.2rem;
	max-width: 1180px;
	width: 100%;
	padding-left: 30px;
	left: 50%;
	translate: -50% 0;
	text-align: left;
}
@media screen and (max-width: 1300px) {
	.mv .bnr { width: 590px; padding: 1px 30px; }
}
@media screen and (max-width: 1170px) {
	.mv .bg { justify-content: flex-start; }
	.mv .bnr { margin-right: 20px; }
}
@media screen and (max-width: 1000px) {
	.mv .bg { width: calc(100% - 380px); }
	.mv .bnr { padding: 1px 20px; }
	.mv .bnr .tx3 { font-size: 1.8rem; }
	.mv .form { width: 380px; padding: 15px; }
}
@media screen and (max-width: 940px) {
	.mv .bnr ul li span { font-size: 1rem; }
	.mv .bnr ul li span:before, .mv .bnr ul li span:after { top: 0px; }
	.mv .bnr ul li span:before { left: -6px; transform: rotate(-20deg) scale(0.6); }
	.mv .bnr ul li span:after { right: -6px; transform: rotate(20deg) scale(0.6); }
	.mv .bnr ul li img { max-width: calc(100% - 20px); }
	.mv .bnr ul li b { font-size: 1rem; }
}
@media screen and (max-width: 900px) {
	.mv .bg { width: calc(100% - 340px); }
	.mv .bnr .tx2 { gap: 20px; }
	.mv .bnr .tx2 span { padding-right: 110px; padding-left: 0px; }
	.mv .form { width: 340px; }
	.mv .form nav button { padding: 12px 10px 12px 30px; }
}
@media screen and (max-width: 800px) {
	.mv .bnr .tx2 { gap: 20px; justify-content: space-evenly; }
	.mv .bnr .tx2 span { padding: 0px 0px 50px 0px; font-size: 1.4rem; width: 94px; text-align: center; }
	.mv .bnr .tx2 span:nth-child(1) { background-position: center bottom; }
	.mv .bnr .tx2 span:nth-child(2) { background-position: center bottom; }
}

.img_slide { padding: 30px 0px; }
.img_slide div { font-size: 0px; white-space: nowrap; user-select: none; }
.img_slide img { display: inline-block; animation-duration: 20s; max-width: 10000px; }
.img_slide.loop img { animation: slide_linear linear infinite; }
@keyframes slide_linear { 100% { transform: translateX(-100%); } }

.t1 { font-size: 4rem; font-weight: 600; line-height: 1.4; margin-bottom: 50px; }
.t2 { font-size: 3.2rem; font-weight: 600; line-height: 1.4; margin-bottom: 50px; }
.t2 span { display: inline-block; position: relative; padding: 0px 40px; }
.t2 span:before, .t2 span:after { content: ''; width: 4px; height: 68px; background-color: var(--red); position: absolute; top: 50%; margin-top: -34px; }
.t2 span:before { left: 0px; transform: rotate(-20deg); }
.t2 span:after { right: 0px; transform: rotate(20deg); }

.cta_btn { display: inline-block; text-align: center; max-width: 100%; }
.cta_btn a { width: 500px; max-width: 100%; text-align: center; background: var(--red) url(../image/icon_doc.png) no-repeat 30px center; background-size: 23px auto; color: #fff; display: flex; align-items: center; justify-content: center; padding: 24px 45px 24px 60px; position: relative; }
.cta_btn a:before { content: attr(data-before); font-size: 2.4rem; line-height: 1; font-weight: 600; color: var(--red); width: 300px; background-color: #fff; border: var(--red) solid 2px; border-radius: 50px; display: block; padding: 5px; position: absolute; left: 50%; margin-left: -150px; top: -30px; box-shadow: 0px 0px 0px 3px #fff, 0px 4px 4px rgba(0, 0, 0, 0.25); pointer-events: none; z-index: 1; transition: all 0.2s ease-out; }
.cta_btn a img { display: block; }
.cta_btn a:hover { opacity: 0.75; }
.cta_btn a:hover:before { transform: translateY(-3px); }

.pos { border: none; background: none; display: block; position: relative; z-index: -1; pointer-events: none; padding: 20px 0px 0px 0px; margin: -20px 0px 0px 0px; }

.c01 { padding: 80px 20px; }
.c01 .cont { max-width: 1080px; margin: 0 auto; }
.c01 .list { display: flex; gap: 20px; }
.c01 .list > div { width: 34%; }
.c01 .list p { font-size: 2rem; line-height: 2.4; font-weight: 600; margin-top: 10px; }
.c01 .list p span { text-decoration: underline; text-decoration-color: var(--red); text-decoration-thickness: 3px; text-underline-offset: 10px; }

@media screen and (max-width: 940px) {
	.c01 .list p { font-size: 1.6rem; }
}

.c02 { padding: 60px 20px 80px 20px; }
.c02 .cont { max-width: 1080px; margin: 0 auto; }
.c02 .list { display: flex; gap: 20px; margin-bottom: 30px; }
.c02 .list > div { width: 34%; }
.c02 .list p { margin-top: 30px; }
.c02 .list p sup { font-size: 1.2rem; font-weight: 300; margin-left: 2px; }
.c02 .list p, .c02 .cn { font-size: 2.4rem; font-weight: 600; line-height: 1.4; }
.c02 .list span { font-size: 1.4rem; line-height: 1.6; text-align: right; display: block; padding-top: 0px;padding-right: 35px; margin-top: -5px;}
.c02 .cn { margin-bottom: 80px; }

@media screen and (max-width: 1000px) {
	.c02 .list p, .c02 .cn { font-size: 2rem; }
}

.c03 { background: linear-gradient(to bottom, transparent 75px, var(--pink1) 75px, var(--pink1) calc(100% - 60px), transparent calc(100% - 60px)); padding: 0px 20px; }
.c03 .cont { max-width: 1180px; margin: 0 auto; background-color: var(--pink2); padding: 80px 40px 90px 40px; }
.c03 .list > div { position: relative; z-index: 1; text-align: left; display: flex; gap: 20px; padding: 55px 0px; justify-content: space-between; }
.c03 .list > div:not(:last-child) { margin-bottom: 30px; }
.c03 .list > div:before { content: ''; height: 100%; width: 3000px; margin: 0 auto; position: absolute; z-index: -1; background-color: #fff; top: 0px; }
.c03 .list > div .im { max-width: 50%; width: 500px; padding: 5px 0px; }
.c03 .list > div .im:before, .c03 .list > div .im:after { content: ''; width: 96px; height: 96px; text-align: center; line-height: 1; position: absolute; top: -48px; color: #fff; }
.c03 .list > div .im:before { content: attr(data-before); font-size: 1.6rem; font-weight: 600; background-color: var(--red); padding-top: 10px; }
.c03 .list > div:nth-child(1) .im:after { background: url(../image/num1.png) no-repeat center 38px; background-size: 28px auto; }
.c03 .list > div:nth-child(2) .im:after { background: url(../image/num2.png) no-repeat center 38px; background-size: 28px auto; }
.c03 .list > div:nth-child(3) .im:after { background: url(../image/num3.png) no-repeat center 38px; background-size: 28px auto; }
.c03 .list > div:nth-child(4) .im:after { background: url(../image/num4.png) no-repeat center 38px; background-size: 28px auto; }
.c03 .list > div .tx { max-width: calc(50% - 40px); width: 480px; }
.c03 .list > div .tx h3 { font-size: 3.2rem; font-weight: 600; line-height: 1.5; margin-bottom: 30px; }
.c03 .list > div:nth-child(odd) { margin-left: 50px; flex-direction: row-reverse; }
.c03 .list > div:nth-child(odd):before { left: 0px; }
.c03 .list > div:nth-child(odd) .im:before, .c03 .list > div:nth-child(odd) .im:after { left: -48px; }
.c03 .list > div:nth-child(odd) .tx { padding-left: 80px; }
.c03 .list > div:nth-child(even) { margin-right: 50px; }
.c03 .list > div:nth-child(even):before { right: 0px; }
.c03 .list > div:nth-child(even) .im:before, .c03 .list > div:nth-child(even) .im:after { right: -48px; }
.c03 .list > div:nth-child(even) .tx { padding-right: 80px; }

@media screen and (max-width: 1060px) {
	.c03 .list > div:nth-child(odd) { margin-left: 0px; }
	.c03 .list > div:nth-child(odd) .tx { padding-left: 40px; }
	.c03 .list > div:nth-child(even) { margin-right: 0px; }
	.c03 .list > div:nth-child(even) .tx { padding-right: 40px; }
}
@media screen and (max-width: 900px) {
	.c03 .list > div .tx { max-width: calc(50% - 20px); }
	.c03 .list > div .tx h3 { font-size: 2.4rem; }
}

.c04 { padding: 80px 20px; }
.c04 .cont { max-width: 1100px; margin: 0 auto; }
.c04 .bx { display: flex; justify-content: flex-end; gap: 80px; align-items: flex-end; }
.c04 .bx .docs { width: 390px; max-width: 50%; display: flex; align-items: flex-start; }
.c04 .bx .docs img { border: #fff solid 3px; box-shadow: 0px 4px 70px rgba(0, 0, 0, 0.15); }
.c04 .bx .docs img:nth-child(1) { position: relative; z-index: 1; }
.c04 .bx .docs img:nth-child(2) { margin: 40px 0px 0px -30px; }
.c04 .bx .cta { width: 500px; max-width: 50%; }
.c04 .bx .cta ul { text-align: left; font-size: 2.4rem; font-weight: 600; margin-bottom: 60px; }
.c04 .bx .cta li { position: relative; padding-left: 28px; }
.c04 .bx .cta li:before { content: '・'; position: absolute; left: 0px; }

@media screen and (max-width: 900px) {
	.c04 .bx .docs img { width: 60%; }
	.c04 .bx .cta ul { font-size: 2rem; }
}

.c05 { padding: 60px 20px 80px 20px; }
.c05 .cont { max-width: 1100px; margin: 0 auto; }
.c05 .cont > p { margin-bottom: 60px; }
.c05 .list { display: flex; justify-content: center; gap: 60px 70px; flex-flow: row wrap; }
.c05 .list > div { width: calc((100% - 140px) / 3); }
.c05 .list h3 { font-size: 2rem; font-weight: 600; display: flex; align-items: center; justify-content: center; min-height: 3.6em; margin: 15px 0px 10px 0px; }
.c05 .list h3.red { color: var(--red); }
.c05 .list p { text-align: left; font-size: 1.6rem; }

@media screen and (max-width: 1020px) {
	.c05 .list { gap: 40px; }
	.c05 .list > div { width: calc((100% - 80px) / 3); }
}
@media screen and (max-width: 950px) {
	.c05 .list { gap: 40px 30px; }
	.c05 .list > div { width: calc((100% - 60px) / 3); }
	.c05 .list h3 { font-size: 1.8rem; }
}

.c06 { background-color: var(--pink2); padding: 80px 20px 40px 20px; }
.c06 .cont { max-width: 1100px; margin: 0 auto; }
.c06 .cont > p { margin-bottom: 60px; }
.c06 .cont > p span { font-size: 1.4rem; }
.c06 .list { display: flex; justify-content: center; gap: 60px 70px; flex-flow: row wrap; text-align: left; }
.c06 .list > div, .c06 .list > a { width: calc((100% - 140px) / 3); display: flex; flex-direction: column; background-color: #fff; padding-bottom: 20px; }
.c06 .list .im { border: #fff solid 3px; overflow: hidden; margin-bottom: 10px; }
.c06 .list h3 { font-size: 2rem; font-weight: 600; display: flex; align-items: center; min-height: 2.8em; line-height: 1.4; padding: 0px 20px; transition: all 0.15s ease-out; }
.c06 .list span { display: flex; flex-flow: row wrap; padding: 10px 20px; font-size: 1.3rem; gap: 5px 20px; }
.c06 .list span i { font-style: normal; display: inline-block; padding-left: 20px; }
.c06 .list span i.i1 { background: url(../image/icon_office.png) no-repeat 0px 4px; background-size: 13px auto; }
.c06 .list span i.i2 { background: url(../image/icon_user.png) no-repeat 0px 3px; background-size: 16px auto; }
.c06 .list p { font-size: 1.6rem; font-weight: 600; padding: 0px 20px; }
.c06 .list > a .im img { transition: all 0.15s ease-out; }
.c06 .list > a:hover .im img { transform: scale(1.1); }
.c06 .list > a:hover h3 { color: var(--red); }

@media screen and (max-width: 1020px) {
	.c06 .list { gap: 40px; }
	.c06 .list > div, .c06 .list > a { width: calc((100% - 80px) / 3); }
	.c06 .list h3 { font-size: 1.8rem; }
}
@media screen and (max-width: 950px) {
	.c06 .list { gap: 40px 30px; }
	.c06 .list > div, .c06 .list > a { width: calc((100% - 60px) / 3); }
}

.c07 { padding: 80px 20px; }
.c07 .cont { max-width: 1100px; margin: 0 auto; }
.c07 .cont > p { margin-bottom: 100px; }
.c07 .tbl { margin-bottom: 55px; }
.c07 .tbl table { width: 100%; border-collapse: collapse; margin: 0px; font-weight: 600; line-height: 1.5; }
.c07 .tbl th { position: relative; color: #fff; }
.c07 .tbl th span:after { content: attr(data-after); position: absolute; right: 3px; top: 2px; font-size: 1.4rem; font-weight: 300; }
.c07 .tbl th span.att { display: flex; background-color: var(--red); justify-content: center; align-items: center; padding: 23px 5px 13px 5px; margin: -13px -3px 0px -3px; position: absolute; left: 0px; top: 0px; width: calc(100% + 6px); height: calc(100% + 16px); z-index: 1; border: #fff solid 3px; box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.15); }
.c07 .tbl thead th { background-color: #70675A; padding: 8px 5px; }
.c07 .tbl thead th:not(:last-child), .c07 .tbl td:not(:last-child) { border-right: #C2BBAF solid 1px; }
.c07 .tbl tbody th { background-color: #92846E; padding: 15px 5px; }
.c07 .tbl tbody td { background-color: var(--gray); padding: 15px 5px; vertical-align: middle; }
.c07 .tbl tbody th:not(:last-child) { border-right: #b7a790 solid 1px; }
.c07 .tbl tbody tr:not(:last-child) th { border-bottom: #A89C8B solid 1px; }
.c07 .tbl tbody tr:not(:last-child) td { border-bottom: #C2BBAF solid 1px; }
.c07 .tbl tbody td b, .c07 .tbl tbody td i { font-size: 0px; display: inline-block; width: 34px; vertical-align: middle; }
.c07 .tbl tbody td b { height: 34px; border-radius: 50%; border: var(--red) solid 3px; }
.c07 .tbl tbody td i { border-bottom: #92846E solid 3px; }
.c07 .tbl1 thead th { width: calc(100% / 7); }
.c07 .tbl1 thead th:not(:first-child) { font-size: 1.6rem; padding: 12px 5px; line-height: 1.4; }
.c07 .tbl2 thead th { width: calc(100% / 5); }
.c07 .tbl2 tbody td { padding: 20px 5px; }
.c07 .st { font-weight: 600; text-align: left; font-size: 1.8rem; margin-bottom: 10px; }
.c07 .desc { text-align: left; font-size: 1.4rem; line-height: 1.5; margin-bottom: 50px; }
.c07 .desc li { position: relative; padding-left: 30px; }
.c07 .desc li:before { content: attr(data-before); position: absolute; left: 0px; }
.c07 .free { display: flex; justify-content: space-between; align-items: center; border-bottom: var(--red) solid 12px; }
.c07 .free h3 { padding: 10px 0px 0px 15px; margin: 0px 15px -15px 0px; }
.c07 .free > b { font-size: 3rem; line-height: 1; }
.c07 .free ul li { display: flex; align-items: center; }
.c07 .free ul li:not(:last-child) { margin-bottom: 10px; }
.c07 .free ul li span { width: 200px; border-radius: 50px; border: var(--red) solid 2px; padding: 5px; font-weight: 600; font-size: 1.6rem; line-height: 1.2; margin-right: 15px; white-space: nowrap; }
.c07 .free  .txt_plan02{
	width: 300px;
}

.c07 .tbl th .balloon{
	position: absolute;
	bottom: calc(100% + 15px);
	left: 50%;
	translate: -50% 0;
}
.c07 .tbl th .balloon img{
	width: 320px;
	max-width: 320px
}
@media screen and (max-width: 1140px) {
	.c07 .tbl th span:after { font-size: 1.2rem; }
	.c07 .tbl table { font-size: 1.6rem; }
	.c07 .tbl1 thead th:not(:first-child) { font-size: 1.4rem; }
}
@media screen and (max-width: 1120px) {
	.c07 .tbl table { font-size: 1.5rem; }
	.c07 .tbl1 thead th:not(:first-child) { font-size: 1.3rem; }
}
@media screen and (max-width: 1060px) {
	.c07 .free > b { padding: 0px 15px; }
}
@media screen and (max-width: 980px) {
	.c07 .free { flex-flow: row wrap; padding-bottom: 20px; justify-content: center; }
	.c07 .free h3 { width: 100%; margin-bottom: 20px; }
}

.c08 { padding: 60px 20px 80px 20px; }
.c08 .img_slide { padding: 0px; margin: 0px -20px 70px -20px; }

.c09 { padding: 80px 20px; background-color: var(--gray); }
.c09 .cont { max-width: 670px; margin: 0 auto; }
.c09 .cont > p { margin-bottom: 60px; }
.c09 .flow h3 { display: flex; align-items: center; justify-content: center; font-size: 2.4rem; font-weight: 600; line-height: 1.5; }
.c09 .flow h3:not(:last-child) { margin-bottom: 15px; }
.c09 .flow h3:before, .c09 .flow h3:after { content: ''; width: 50%; height: 3px; display: block; background-color: var(--pink1); }
.c09 .flow h3 span { display: inline-block; white-space: nowrap; margin: 0px 30px; }
.c09 .flow h3.st2:before, .c09 .flow h3.st2:after { background-color: #F24E1E; }
.c09 .flow h3.st3 { color: var(--red); }
.c09 .flow h3.st3:before, .c09 .flow h3.st3:after { background-color: var(--red); }
.c09 .flow p:not(:last-child) { padding-bottom: 40px; margin-bottom: 30px; background: url(../image/icon_arrow_down.png) no-repeat center bottom 0px; background-size: 16px auto; }

.c10 { background-color: var(--pink2); border-top: #fff solid 6px; padding: 80px 20px 90px 20px; }
.c10 .cont { max-width: 800px; margin: 0 auto; }
.c10 .qa dl { border-bottom: #8B8383 solid 3px; padding-bottom: 5px; text-align: left; }
.c10 .qa dl:not(:last-child) { margin-bottom: 5px; }
.c10 .qa dt { background-color: #FDF1F1; font-weight: 600; padding: 20px 60px 20px 24px; position: relative; cursor: pointer; transition: all 0.15s ease-out; }
.c10 .qa dt:hover { color: var(--red); }
.c10 .qa dt:before, .c10 .qa dt:after { content: ''; background-color: var(--black); width: 2px; height: 30px; position: absolute; right: 30px; top: 50%; margin-top: -15px; transition: all 0.15s ease-out; }
.c10 .qa dt:before { transform: rotate(90deg); }
.c10 .qa dt:hover:before, .c10 .qa dt:hover:after { background-color: var(--red); }
.c10 .qa dt.on:after { transform: scaleY(0); }
.c10 .qa dd { background-color: #FFFAFA; margin-top: 3px; padding: 20px 24px; display: none; }

.c11 { padding: 80px 20px; }
.c11 .cont { max-width: 800px; margin: 0 auto; }
.c11 .tel { background-color: #F9F9F9; border: #ddd solid 1px; border-radius: 5px; display: flex; align-items: center; justify-content: center; padding: 20px; margin: 80px 0px; }
.c11 .tel .ti { font-size: 2rem; font-weight: 600; background: url(../image/icon_tel_big.png) no-repeat 0px center; background-size: 46px auto; padding: 10px 0px 10px 60px; }
.c11 .tel a { pointer-events: none; margin-left: 50px; }
.c11 .tel a img { display: block; }
.c11 .tel span { font-size: 1.2rem; line-height: 1.6; margin-left: 30px; }
.c11 .st { font-size: 2.4rem; font-weight: 600; display: flex; align-items: center; justify-content: center; margin-bottom: 40px; }
.c11 .st:before, .c11 .st:after { content: ''; width: 50%; height: 2px; background-color: #ddd; }
.c11 .st span { white-space: nowrap; padding: 0px 30px; }
.c11 .form { background-color: #F9F9F9; border: #ddd solid 1px; border-radius: 5px; padding: 45px; }
.c11 .form table { width: 100%; border-collapse: collapse; }
.c11 .form th { width: 120px; font-weight: 300; line-height: 1.5; text-align: right; font-size: 1.7rem; padding: 0px 0px 15px 0px; }
.c11 .form td { padding: 0px 0px 15px 30px; text-align: left; }
.c11 .form .prtxt { padding: 20px 0px 35px 0px; max-width: 640px; margin: 0 auto; }
.c11 .form nav button { width: 380px; max-width: 100%; padding: 15px; font-size: 2rem; font-weight: 600; }

/* Footer */

footer { background-color: #92846E; color: #fff; padding: 50px 20px 134px 20px; }
footer .cont { max-width: 1100px; margin: 0 auto; }
footer .tx1 { font-size: 1.6rem; text-align: left; margin-bottom: 30px; }
footer .tx2 { font-size: 1.4rem; text-align: left; line-height: 1.6; margin-bottom: 60px; }
footer .copy { font-size: 1.3rem; }

.bot_cta .cont { width: 100%; position: fixed; z-index: 900; left: 0px; bottom: -1px; padding: 0px 20px 1px 20px; background-color: var(--gray); box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); border-top: #fff solid 1px; transition: all 0.2s ease-out; transform: translateY(94px); }
.bot_cta .inner { width: 1100px; max-width: 100%; margin: 0 auto; height: 84px; display: flex; align-items: center; justify-content: space-between; position: relative; }
.bot_cta .docs { position: absolute; left: 0px; bottom: 20px; display: flex; gap: 4px; pointer-events: none; transition: all 0.2s ease-out; transform: translateY(50px); }
.bot_cta .docs img { border: #fff solid 2px; box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2); }
.bot_cta .ti { padding-left: 190px; flex-grow: 1; }
.bot_cta .btn a { display: block; background-color: var(--red); color: #fff; padding: 20px 30px 20px 80px; border: #fff solid 3px; box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.2); position: relative; }
.bot_cta .btn a:before { content: ''; width: 58px; height: 100%; background: #A4050E url(../image/icon_doc.png) no-repeat center; background-size: 20px auto; position: absolute; left: 0px; top: 0px; }
.bot_cta .btn a img { display: block; }
.bot_cta .btn a span { display: none; }
.bot_cta .btn a:hover { opacity: 0.75; }

.cta_show .bot_cta .cont { transform: translateY(0px); }
.cta_show .bot_cta .docs { transform: translateY(0px); }

@media screen and (max-width: 1080px) {
	.bot_cta .ti { margin-right: 20px; }
}
@media screen and (max-width: 920px) {
	.bot_cta .docs { display: none; }
	.bot_cta .ti {padding-left: 0px; }
}

.ptop { position: fixed; right: 13px; bottom: 13px; z-index: 902; transition: all 0.2s ease-out; }
.ptop a { width: 58px; height: 58px; display: block; opacity: 0; transform: translateY(10px); position: relative; pointer-events: none; background: var(--red) url(../image/icon_arrow_up.svg) no-repeat center; background-size: 20px auto; transition: all 0.2s ease-out; }
.ptop_up .ptop a { opacity: 1; transform: translateY(0px); pointer-events: all; }
.ptop_up .ptop a:hover { text-decoration: none; opacity: 0.75; }

@media screen and (max-width: 1300px) {
	.ptop { right: 20px; bottom: 90px; }
	.ptop a { width: 50px; height: 50px; }
}

/* Responsive */

@media screen and (max-width: 980px) {

}
@media screen and (max-width: 768px) {
	.pc { display: none; }
	.sp { display: block; }

	header .cont { padding: 0px; height: 60px; }
	header .logo { margin-left: 10px; padding: 0px; }
	header .logo img { width: 116px; }
	header .logo a:hover { opacity: 1; }
	header .tel a { height: 60px; width: 94px; padding: 36px 0px 0px 0px; display: block; background-position: center 9px; background-size: 22px auto; pointer-events: all; }
	header .tel a img { display: none; }
	header .tel a span { font-size: 0.9rem; line-height: 1.2; margin: 0px; }
	header .btn { border-left: none; padding-left: 0px; margin-left: 0px; width: 96px; }
	header .btn a { font-size: 1rem; font-weight: 300; height: 60px; padding: 36px 0px 0px 0px; background-position: center 10px; background-size: 18px auto; display: block; }
	header .btn a:hover { opacity: 1; }

	.mv { display: block; height: auto; }
	.mv .bg { width: auto; background: url(../image/bg_mv_sp.jpg) no-repeat right center; background-size: cover; justify-content: center; padding: 15px; height: 610px; }
	.mv .bnr { width: 400px; max-width: 100%; padding: 1px 0px; text-align: center; margin-top: -70px; margin-right: 0px; }
	.mv .bnr .tx1 { margin-bottom: 8px; }
	.mv .bnr .tx2 { margin-bottom: 18px; gap: 0px; }
	.mv .bnr h1 { display: flex; justify-content: center; }
	.mv .bnr .tx3 { font-size: 1.8rem; line-height: 1.4; margin: 15px 0px; }
	.mv .bnr ul { gap: 4px; margin-bottom: -80px; padding: 0px 6px; justify-content: flex-start; }
	.mv .bnr ul li { border-width: 2px; box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2); padding: 10px 0px 12px 0px; }
	.mv .bnr ul li span { font-size: 1.2rem; line-height: 1.3; margin-bottom: 6px; display: flex; min-height: 30px; align-items: center; }
	.mv .bnr ul li span:before, .mv .bnr ul li span:after { height: 16px; top: 50%; margin-top: -8px; }
	.mv .bnr ul li span:before { left: -8px; transform: rotate(-20deg); }
	.mv .bnr ul li span:after { right: -8px; transform: rotate(20deg); }
	.mv .bnr ul li:nth-child(1) img { width: 76px; }
	.mv .bnr ul li:nth-child(2) img { width: 88px; }
	.mv .bnr ul li:nth-child(3) img { width: 50px; }
	.mv .bnr ul li img { max-width: 100%; margin-top: 0px; }
	.mv .bnr ul li b { font-size: 1rem; }

	.mv .form { width: auto; padding: 20px 20px 30px 20px; }
	.form nav button:hover { opacity: 1; }

	.t1 { font-size: 2.8rem; margin-bottom: 40px; }
	.t2 { font-size: 2.2rem; margin-bottom: 40px; }
	.t2 span { padding: 0px 30px; }
	.t2 span:before, .t2 span:after { width: 3px; height: 60px; margin-top: -30px; }

	.cta_btn a { background-position: 20px center; }
	.cta_btn a:before { font-size: 1.8rem; width: 200px; margin-left: -100px; top: -25px; }
	.cta_btn a:hover { opacity: 1; }
	.cta_btn a:hover:before { transform: translateY(0px); }

	.c01 { padding: 60px 15px; }
	.c01 .list { display: block; }
	.c01 .list > div { width: auto; }
	.c01 .list > div:not(:last-child) { margin-bottom: 40px; }
	.c01 .list img { width: 220px; }
	.c01 .list p { font-size: 1.8rem; margin-top: 0px; }
	.c01 .list p span { text-decoration-thickness: 2px; text-underline-offset: 8px; }

	.c02 { padding: 40px 15px 60px 15px; }
	.c02 .list { display: block; margin-bottom: 30px; }
	.c02 .list > div { width: auto; }
	.c02 .list > div:not(:last-child) { margin-bottom: 40px; }
	.c02 .list img { width: 180px; }
	.c02 .list p { margin-top: 20px; }
	.c02 .list span { font-size: 1.2rem; padding: 15px 10px 0px 10px; }
	.c02 .cn { margin-bottom: 80px; font-size: 2.2rem; }

	.c03 { background: linear-gradient(to bottom, transparent 30px, var(--pink1) 30px, var(--pink1) calc(100% - 30px), transparent calc(100% - 30px)); padding: 0px 15px; }
	.c03 .cont { padding: 50px 16px 60px 15px; }
	.c03 .list > div { display: block; padding: 15px; }
	.c03 .list > div:not(:last-child) { margin-bottom: 30px; }
	.c03 .list > div:before { content: ''; height: 100%; width: 3000px; margin: 0 auto; position: absolute; z-index: -1; background-color: #fff; top: 0px; }
	.c03 .list > div .im { max-width: 100%; padding: 5px 0px 10px 0px; }
	.c03 .list > div .im:before, .c03 .list > div .im:after { width: 60px; height: 60px; top: -20px; }
	.c03 .list > div .im:before { font-size: 1rem; padding-top: 5px; }
	.c03 .list > div .im:after { font-size: 3.8rem; padding-top: 20px; }
	.c03 .list > div:nth-child(1) .im:after { background-position: center 22px; background-size: 20px auto; }
	.c03 .list > div:nth-child(2) .im:after { background-position: center 22px; background-size: 20px auto; }
	.c03 .list > div:nth-child(3) .im:after { background-position: center 22px; background-size: 20px auto; }
	.c03 .list > div:nth-child(4) .im:after { background-position: center 22px; background-size: 20px auto; }
	.c03 .list > div .tx { max-width: 100%; width: 100%; }
	.c03 .list > div .tx h3 { font-size: 2.4rem; margin-bottom: 10px; }
	.c03 .list > div .tx p { font-size: 1.6rem; }
	.c03 .list > div:nth-child(odd) { padding-right: 0px; padding-left: 20px; margin-right: -10px; }
	.c03 .list > div:nth-child(odd) .im:before, .c03 .list > div:nth-child(odd) .im:after { left: -25px; }
	.c03 .list > div:nth-child(odd) .tx { padding-left: 0px; }
	.c03 .list > div:nth-child(even) { padding-left: 0px; padding-right: 20px; margin-left: -10px; }
	.c03 .list > div:nth-child(even) .im:before, .c03 .list > div:nth-child(even) .im:after { right: -25px; }
	.c03 .list > div:nth-child(even) .tx { padding-right: 0px; }

	.c04 { padding: 60px 15px; }
	.c04 .bx { display: block; }
	.c04 .bx .docs { width: 260px; margin: 0 auto; max-width: 100%; margin-bottom: 30px; }
	.c04 .bx .docs img { width: 150px; }
	.c04 .bx .cta { margin: 0 auto; max-width: 100%; }
	.c04 .bx .cta ul { font-size: 1.8rem; }
	.c04 .bx .cta li { padding-left: 20px; }

	.c05 { padding: 40px 15px 60px 15px; }
	.c05 .cont > p { margin-bottom: 40px; font-size: 1.6rem; }
	.c05 .list { display: block; }
	.c05 .list > div { width: 320px; max-width: 100%; margin: 0 auto; }
	.c05 .list > div:not(:last-child) { margin-bottom: 30px; }
	.c05 .list h3 { font-size: 1.8rem; min-height: 0px; }
	.c05 .list p { font-size: 1.4rem; }

	.c06 { padding: 60px 15px 40px 15px; }
	.c06 .cont > p { margin-bottom: 40px; font-size: 1.6rem; }
	.c06 .cont > p span { font-size: 1.2rem; }
	.c06 .list { display: block; }
	.c06 .list > div, .c06 .list > a { width: auto; padding-bottom: 15px; }
	.c06 .list > div:not(:last-child), .c06 .list > a:not(:last-child) { margin-bottom: 30px; }
	.c06 .list .im { margin-bottom: 10px; border-width: 10px; }
	.c06 .list .im img { width: 100%; }
	.c06 .list h3 { font-size: 1.7rem; min-height: 0px; }
	.c06 .list p { font-size: 1.4rem; }
	.c06 .list > a:hover .im img { transform: scale(1); }
	.c06 .list > a:hover h3 { color: var(--black); }

	.c07 { padding: 60px 15px; }
	.c07 .cont > p { margin-bottom: 30px; font-size: 1.6rem; }
	.c07 .tbl { overflow: auto; margin: 0px -15px; margin-bottom: 15px; padding: 15px 0px 10px 0px; }
	.c07 .tbl table { width: 720px; border-left: #fff solid 15px; border-right: #fff solid 15px; }
	.c07 .tbl tbody td b, .c07 .tbl tbody td i { width: 24px; }
	.c07 .tbl tbody td b { height: 24px; }
	.c07 .tbl2 { padding-top: 0px; }
	.c07 .desc { font-size: 1.2rem; margin-bottom: 40px; }
	.c07 .desc li { padding-left: 26px; }
	.c07 .free { border-bottom-width: 6px; flex-direction: column; }
	.c07 .free h3 { padding: 0px; margin: 0px 0px 15px 0px; }
	.c07 .free > b { padding: 15px 0px; }
	.c07 .free ul li span { width: 140px; font-size: 1.4rem; }

	.c08 { padding: 40px 15px 60px 15px; }
	.c08 .img_slide { padding: 0px; margin: 0px -15px 70px -15px; }
	.c08 .img_slide img { width: 1000px; }

	.c09 { padding: 60px 15px; }
	.c09 .cont > p { margin-bottom: 40px; font-size: 1.6rem; }
	.c09 .flow h3 { font-size: 2rem; }
	.c09 .flow h3:not(:last-child) { margin-bottom: 15px; }
	.c09 .flow p { font-size: 1.6rem; }

	.c10 { padding: 60px 15px; }
	.c10 .qa dt { padding: 10px 30px 10px 15px; font-size: 1.6rem; }
	.c10 .qa dt:before, .c10 .qa dt:after { width: 1px; height: 16px; right: 16px; margin-top: -8px; }
	.c10 .qa dd { font-size: 1.4rem; padding: 15px; }
	.c10 .qa dt:hover { color: var(--black); }
	.c10 .qa dt:hover:before, .c10 .qa dt:hover:after { background-color: var(--black); }

	.c11 { padding: 60px 15px; }
	.c11 .t2 { font-size: 2rem; }
	.c11 .tel { padding: 10px 10px 15px 10px; margin: 40px 0px 60px 0px; flex-direction: column; }
	.c11 .tel .ti { display: inline-block; font-size: 1.6rem; background-size: 20px auto; padding: 2px 0px 2px 26px; }
	.c11 .tel a { margin-left: 0px; padding: 5px 10px; pointer-events: all; }
	.c11 .tel span { display: block; margin-left: 0px; }
	.c11 .tel span br { display: none; }
	.c11 .st { font-size: 2rem; margin-bottom: 30px; }
	.c11 .st span { padding: 0px 20px; }
	.c11 .form { padding: 20px 15px; }
	.c11 .form table, .c11 .form tr, .c11 .form tbody { display: block; }
	.c11 .form th { width: auto; display: block; text-align: left; font-size: 1.5rem; font-weight: 600; padding: 0px 0px 5px 0px; }
	.c11 .form td { display: block; padding: 0px; }
	.c11 .form tr:not(:last-child) td { padding-bottom: 15px; }
	.c11 .form .prtxt { font-size: 1rem; padding: 20px 0px; }
	.c11 .form nav button { padding: 12px; font-size: 1.8rem; }

	footer { padding: 40px 15px 100px 15px; }
	footer .tx1 { font-size: 1.4rem; }
	footer .tx2 { font-size: 1.2rem; margin-bottom: 40px; }
	footer .copy { font-size: 1.2rem; }

	.bot_cta .cont { padding: 0px 5px 1px 5px; }
	.bot_cta .inner { height: 60px; }
	.bot_cta .ti { padding-left: 10px; }
	.bot_cta .btn a { display: block; background-color: var(--red); color: #fff; padding: 5px 10px 5px 40px; border: none; box-shadow: none; text-align: left; font-size: 1.6rem; font-weight: 600; line-height: 2rem; }
	.bot_cta .btn a:before { width: 40px; background-size: 20px auto; background-color: transparent; }
	.bot_cta .btn a span { display: inline; white-space: nowrap; }
	.bot_cta .btn a img { display: none; }
	.bot_cta .btn a:hover { opacity: 1; }

	.ptop { right: 5px; bottom: 70px; }
	.ptop a { width: 40px; height: 40px; background-size: 12px auto; }
	.ptop_up .ptop a:hover { text-decoration: none; opacity: 1; }
}


@media screen and (max-width: 768px){

.mv{
	margin-bottom: 40px;
}
.mv .bnr .tx2 span:nth-child(1)  sup{
	right: 0;
	top: 2vw;
}
.mv .bnr .tx3 small{
	display: block;
	font-size: 1.2rem;
	font-weight: normal;
}
.mv .notice._n01{
	font-size: 1.2rem;
	padding: 0 5vw;
}
.c07 .tbl{
	padding-top: 75px;
}
}
