@charset "utf-8";

html {
  color: #333; 
  height: 100%; 
  font-size: 62.5%;
}

p.error {color: red; padding: 10px 0;}

* {box-sizing: border-box;}
a {text-decoration: none;}
input[type="submit"] {-webkit-appearance: none;}
a:hover, input[type="submit"]:hover {opacity: 0.8; transform: scale(1.05); transition: .7s;}
label {cursor: pointer;}



/* 書体 */
body {font-family: 'Kiwi Maru', serif;}

/* フェードインの初期値--------------------------------------------------- */
.fade_in {opacity: 0; transform: translate(0); transition: all 1s;}
.reason .inner {overflow: hidden;}
.slide-right {transform: translateX(300px);}

/*=====================================================
pc
======================================================*/

@media screen and (min-width: 769px) {
.pc {display: block;}
.sp {display: none!important;}

.br-sp {display: none;}

.inner {max-width: 1080px; margin: 0 auto; padding: 50px 0;}

/* pc ヘッダー-------------------------------------- */
header {display: flex; justify-content: space-between; align-items: center; padding: 10px 15px;}
.header-logo {width: 300px; display: block;}
.header-wrap {display: flex; justify-content: flex-end; align-items: center;}
.header-menu {width: 45%; display: flex; justify-content: space-between;}
.header-tel {width: 230px; height: 54px;}
.header-mail_btn {width: 300px; height: 50px; background: linear-gradient(to right, #009f84, #006957); color: white; font-size: 1.6rem; text-align: center; padding-top: 17px; border-radius: 20px; box-shadow: 1px 2px 4px 2px #B3B3B3;}
.header-menu-bar, .header-reason, .header-service, .header-message {font-size: 1.3rem; color: #333;}

/* pc ファーストビュー---------------------------------- */
.first-view {height: 1055px; background: top center/cover url(images/mv.jpg);}
.first-view .inner {position: relative;}
.top_icon01 {width: 172px; position: absolute; top: 370px; left: 36%;}
.top_icon02 {width: 172px; position: absolute; top: 370px; left: 54%;}
.top_icon03 {width: 172px; position: absolute; top: 370px; left: 73%;}
.top_copy {height: 90px; position: absolute; top: 540px; left: 100px;}
.sub_copy {width: 953px; height: 45px; position: absolute; top: 640px; left: 100px; background-color: #53a835; color: white; font-size: 34px; padding: 5px 0; text-align: center;}
.parts_01 {background: no-repeat top center url(images/parts_01.png); height: 700px; margin-top: 500px;}

/* pc お悩み部分----------------------------------------- */
.trouble {position: relative; background-color: #6cc04a; padding-bottom: 50px;}
.worry_01 {width: 550px; position: absolute; top: -70px; left: -50px; z-index: 20;}
.worry_02 {width: 400px; position: absolute; top: 420px; left: 190px; z-index: 20;}
.trouble .inner {padding: 0 1%; position: relative; z-index: 30;}
.sec01_text01 {height: 82px; margin-left: 25%;}
.trouble-lists {padding: 20px 0; margin-left: 37%;}
.trouble-list {font-size: 1.9rem; line-height: 3; color: white;}
.trouble-list::before {content: "□"; font-size: 1.5rem; margin-right: 20px;}
.sec01_text02 {width: 600px; margin-top: 40px; margin-left: 35%;}

/* pc コンタクト部分----------------------------------------*/
.contact {padding: 50px 0;}
.contact .inner {position: relative; z-index: 30; padding: 0 5px;}
.contact-text {color: #333; font-size: 2.2rem; line-height: 3; text-align: center;}
.contact-wrap {display: flex; justify-content: center; margin-top: 50px;}
.contact-tel {width: 350px; height: 66px; margin-right: 10px;}
.contact-mail_btn {width: 380px; height: 70px; color: white; font-size: 2.6rem; margin-left: 10px; text-align: center; padding-top: 22px; background: linear-gradient(to right, #009f84, #006957); border-radius: 20px; box-shadow: 2px 4px 4px 2px #B3B3B3;}

/* pc reason部分------------------------------------------- */
.reason {background-color: #badd8c; height: 1080px; position: relative;}
.reason-back_down {min-width: 768px; transform: scaleY(1.3); background-image: url(images/back_down.png); background-position: top center; background-size: cover; height: 300px; margin-top: -260px; z-index: 10;}
.reason_01 {height: 920px; width: 48vw; min-width: 368px; background: no-repeat top center/cover url(images/reason_01.png); position: absolute; top: 360px; left: 0;}
.reason-title {height: 70px; margin-left: 50%;}
.reason-sub_title {color: white; font-size: 2rem; margin: 20px 0 30px 52%;}
.trapezoid {width: 520px; border-bottom: 100px solid white; border-left: 30px solid transparent; margin-left: 50%; margin-bottom: 25px; filter: drop-shadow(10px 10px #8cc63f); position: relative;}
.reason-list_title {font-size: 2.5rem; color: #8cc63f;  position: absolute; top: 10px; left: 10px;}
.reason-list {font-size: 1.8rem; color: #333; line-height: 1.5; position: absolute; top: 40px; left: 15px;}
.reason-text {font-size: 1.8rem; margin-left: 51%; line-height: 2;}
.reason-marker {display: inline-block; font-size: 2.3rem; margin-bottom: 15px; line-height: 1.5; background: linear-gradient(transparent 55%, #d9e021 55%);}

/* pc reason下の三角部分------------------------------------------- */
.back_down_green {min-width: 768px; height: 300px; background: top center/cover url(images/back_down_green.png);}

/* pc サービス部分-------------------------------------------------- */
.service {padding-bottom: 10px; min-width: 768px; background-color: #6cc04a; position: relative;}
.service_back_down {height: 300px; margin-top: -240px; background: top center/cover url(images/back_down.png); position: relative; z-index: 20;}
.service_01 {height: 1015px; width: 65vw; background: no-repeat top left/cover url(images/service_01.jpg); position: absolute; top: 200px; z-index: 10;}
.service-bar { border: 1px solid #fff; width: calc((100% - 1080px) / 2 + 1000px); position: absolute; top: 620px; left: calc((100% - 1080px) / 2 + 80px); z-index: 20;}
.service .inner {position: relative; z-index: 20;}
.service-wrap {display: flex; justify-content: space-around;}
.service_price {width: 80%; margin: 45px 0 10px 80px;}
.service-title_kana {font-size: 1.8rem; color: #fff; margin-left: 90px;}
.service-text {font-size: 1.8rem; color: #fff; line-height: 2; margin-top: 30px;}
.price-wrap {width: 39%; margin-top: 60px; margin-left: 50px; position: relative;}
.support-title {color: #fff; font-size: 2.5rem; background-color: #006837; border-radius: 13px; padding: 5px 10px; display: inline-block;}
.service_fukidasi {width: 470px; position: absolute; top: 380px; left: 42%;}
.support1 {margin-bottom: 50px;}
.support1-price {font-size: 30px; color: #fff; margin-left: 15px;}
.support-consultation {font-size: 1.8rem; color: #ffff00; margin-left: 10px;}
.support-free {font-size: 2.4rem; color: #ffff00;}
.price_table {width: 100%; font-size: 1.6rem; color: #fff; margin-top: 20px;}
.price_table th {padding: 10px 0; text-align: left;}
.price_table td {padding: 10px 0; text-align: right;}
.support3 {margin-top: 30px;}
.support-note {font-size: 1.2rem; color: #fff; margin-top: 10px;}

/* pc メッセージ部分------------------------------------------------ */
.message {height: 1353px; padding-bottom: 1px; background-color: #badd8c; position: relative; z-index: 10;}
.kazari_kawakami {height: 1500px; width: 48%; background: no-repeat top center url(images/kazari_kawakami.png); position: absolute; top: 0; left: 0; z-index: 30;}
.message-title_wrap {width: 400px; display: flex; justify-content: space-around; position: absolute; top: 100px; left: 50%;}
.message-title {width: 286px;}
.message-representative {color: #fff; font-size: 2rem; margin-top: 25px;}
.message-top_bar {border: 1px solid #fff; width: calc(100% - 50% - 420px); position: absolute; top: 125px; left: calc( 50% + 420px);}
.message .inner {padding: 200px 5px 0;}
.message-sub_title {color: #333; font-size: 2.5rem; margin-bottom: 50px; margin-left: 51%;}
.message-text {color: #333; font-size: 1.6rem; margin-left: 51%; line-height: 1.8;}
.message-sign {color: #333; font-size: 1.6rem; margin-top: 80px; text-align: right;}
.message-bottom_bar {width: calc(100% - (100% - 1080px) / 2 - 300px); border: 1px solid #4D4D4D; position: absolute; top: 1310px; left: 0; z-index: 20;}

/* pc フォーム部分--------------------------------------------------- */
.form-title {width: 336px; margin: 0 auto 40px;; display: block;}
.form-title_ja {color: #6cc04a; font-size: 2.5rem; text-align: center; margin-bottom: 100px;}
.table-form {width: 100%; border-collapse: collapse; border: 1px solid #999999;}
.table-form th {width: 35%; color: #333; font-size: 1.6rem; padding-left: 30px; text-align: left; vertical-align: middle; border: 1px solid #999999; background-color: #F2F2F2;}
.table-form td {width: 65%; padding: 5px 10px; font-size: 1.6rem; border: 1px solid #999999;}
.form-indispensable {float: right; width: 58px; height: 26px; color: #ffffff; font-size: 1.4rem; padding-top: 6px; background-color: #ff7BAC; margin-right: 10px; text-align: center; border-radius: 13px;}
input[type="checkbox"] {margin: 7px;}
input[type="text"], input[type="email"] {width: 100%; padding: 15px 10px; background-color: #F2F2F2; border: none;}
textarea {width: 100%; height: 221px; font-size: 1.6rem; line-height: 1.5; padding: 15px 10px; background-color: #F2F2F2; border: none; resize: none;}
::placeholder {font-size: 1.6rem; color: #808080; font-family: 'Kiwi Maru', serif;}
.form-submit_btn {width: 414px; height: 63px; color: #ffffff; font-size: 2rem; background-color: #FF7BAC; margin: 80px auto 0; display: block; border: none; border-radius: 20px; cursor: pointer;}

/* pc フッター---------------------------------------------------------- */
footer {padding: 10px 10px 20px; background-color: #6CC04a;}
footer .inner {display: flex; justify-content: space-between; padding: 0;}
.footer-tel {width: 433px; height: 120px;}
.footer-logo {width: 407px; height: 69px;}
.footer-address {color: #fff; font-size: 2rem; line-height: 1.5; text-align: right;}
.copyright {color: #fff; font-size: 1.2rem; text-align: center; margin-top: 10px;}

/* pc 確認画面---------------------------------------------------------------- */
.confirm-thanks-logo {width: 20%; display: block;}
.confirm-form {padding-bottom: 100px;}
.confirm-form th {padding: 30px 0 30px 10px;}
.confirm-form td {vertical-align: middle;}
.confirm-form .form-title_ja {margin-bottom: 80px;}
.confirm-text {color: #333; font-size: 1.6rem; text-align: center; margin-bottom: 80px;}
.confirm-form .btn-wrap {margin-top: 50px; display: flex; justify-content: space-around;}
.back_btn {width: 380px; height: 62px; padding: 21px 0; color: #ffffff; font-size: 2rem; background-color: #B3B3B3; display: block; text-align: center; border: none; border-radius: 20px; cursor: pointer;}
.confirm-submit_btn {width: 380px; height: 62px; color: #ffffff; font-size: 2rem; background-color: #FF7BAC; display: block; border: none; border-radius: 20px; cursor: pointer;}

/* pc thanks画面---------------------------------------------------------------- */
.thankyou {width: 20%; margin: 30px auto; display: block;}
.post {width: 15%; margin: 50px auto; display: block;}
.thanks-text {color: #333; font-size: 1.6rem; line-height: 2; text-align: center;}
.back_to_top {width: 100px; color: #6CC04A; font-size: 1.8rem; margin: 40px auto; display: block;}

}
/*=====================================================
tabletより大きいサイズ
======================================================*/
@media screen and (min-width: 769px) and (max-width: 1080px) {
.br-pc {display: none;}

.header-logo {width: 190px;}
.header-wrap {display: flex; justify-content: flex-end;}
.header-menu {min-width: 240px;}
.header-tel {width: 150px;}
.header-mail_btn {width: 160px; font-size: 1.4rem;}

.top_icon01, .top_icon02, .top_icon03 {width: 130px; top: 420px;}
.top_copy {width: 80%; margin: 0 auto; display: block;}
.sub_copy {width: 80%; height: 40px; font-size: 2.2rem; padding: 9px;}

.sec01_text01 {margin: 0 auto; display: block;}
.trouble-lists {width: 56%; margin-left: 30%;}
.trouble-list {font-size: 1.6rem;}
.sec01_text02 {margin: 40px auto 0; display: block;}
.worry_01 {width: 500px;}
.worry_02 {width: 300px;}

.reason .inner {padding: 0 1%}
.reason-title {margin-top: 50px;}
.trapezoid {width: 48%;}
.reason-list_title {font-size: 1.8rem;}
.reason-list {font-size: 1.5rem; line-height: 1.8; left: 2px;}
.reason-text {font-size: 1.6rem;}
.reason-marker {font-size: 1.8rem;}

.back_down_green {height: 230px;}

.service_01 {height: 845px;}
.service-bar {width: 90%; top: 590px; left: 10%;}
.service_price {margin-left: 30px;}
.service-title_kana {margin-left: 40px;}
.service-text {font-size: 1.6rem;}
.price-wrap {width: 48%; margin-left: 3%;}
.support-title {font-size: 1.8rem;}
.support1-price {font-size: 2rem;}
.support-consultation {font-size: 1.8rem; margin-left: 5px;}
.support-free {font-size: 2rem;}
.price_table th, .price_table td {font-size: 1.4rem; padding: 5px 0;}
.support1 {margin-bottom: 20px;}
.support3 {margin-top: 20px;}
.service_fukidasi {width: 40vw; min-width: 350px; top: 360px; left: 48%;}

.message-sub_title {margin-bottom: 30px;}
.message-title_wrap {width: 40%;}
.message-representative {font-size: 1.9rem; }
.message-top_bar {width: 10%; left: 90%;}
.message-title {width: 230px;}
.message-text {font-size: 1.6rem; line-height: 1.5;}
.message-sign {position: absolute; top: 1230px; left: 60%;}
.message-bottom_bar {width: 50%;}

footer .inner {justify-content: space-around;}
.footer-tel {width: 300px;}
.footer-wrap {width: 300px; }
.footer-logo {width: 100%;}
.footer-address {font-size: 1.6rem;}
}

/*=====================================================
sp
======================================================*/

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

.br-pc {display: none;}

/* sp ヘッダー------------------------------------------------------------- */
header {height: 74px; position: relative; padding: 10px 10px;}
.header-logo {width: 240px; display: block;}
.menu-btn {height: 54px; width: 30px; position: absolute; top: 10px; right: 10px; padding-top: 12px; cursor: pointer;}

/* ハンバーガーメニュー------------------------------------------------------- */
.btn-line {width: 100%; height: 2px; background-color: #808080; display: block; position: relative;}
.btn-line::after, .btn-line::before {content: ""; position: absolute; width: 100%; height: 100%; background-color: #808080;}
.btn-line::after {transform: translateY(9px);}
.btn-line::before {transform: translateY(18px);}

.global-nav {width: 100%; background-color: #fff; color: #333; font-size: 1.8rem; padding: 10px 10px 50px; position: fixed; top: 0px; right: -100%; z-index: 200; display: flex; flex-direction: column; transition: .5s;}
.global-nav-wrapper {display: flex; justify-content: space-between;}
.global-nav ul {margin: 40px 15% 20px; text-decoration: none;}
.global-nav li {line-height: 2.5;}
.global-nav li a {color: #666;}
.nav_bg {width: 100vw; height: 100vh; position: fixed; top: 0; left: 0; z-index: 100; background-color: #000; opacity: 0; visibility: hidden; transition: .5s;}
.nav_triangle {width: 50px; border-bottom: 70px solid #6CC04A; border-left: 90px solid transparent; position: absolute; bottom: 0; right: 0;}
/* ↓メニュークリック後 */
.btn-line.open::after {background-color: transparent;}
.btn-line.open, .btn-line.open::before {content: "";}
.btn-line.open {transform: rotate(45deg);}
.btn-line.open::before {transform: rotate(-90deg);}
.nav_bg.open {opacity: 0.8; visibility: visible;}
.global-nav.open {right: 0;}

/* sp ファーストビュー部分-------------------------------------------------------- */
.first-view {height: 400px; background: top center/cover url(images/sp/mv.jpg); position: relative;}
.top_icon01, .top_icon02, .top_icon03 {width: 18%; position: absolute; top: 230px; left: 34%;}
.top_icon02 {left: 54%;}
.top_icon03 {left: 74%;}
.top_copy {width: 66%; position: absolute; top: 310px; left: 32%;}
.sub_copy {background-color: #53A835; height: 200px; width: 100%; color: #fff; font-size: 1.7rem; padding: 5px 0 0 35%; line-height: 1.3; position: absolute; top: 400px; left: 0;}
.parts_01 {height: 250px; width: 100%; background: no-repeat top left/150% 90% url(images/parts_01.png); position: absolute; top: 400px; left: 0; z-index: 10;}

/* sp お悩み部分------------------------------------------------------------------- */
.trouble {padding-top: 40px; padding-bottom: 20px; margin-top: 90px; background-color: #6CC04A; position: relative; z-index: 20;}
.worry_01 {width: 290px; position: absolute; top: 0; left: -80px;}
.worry_02 {width: 200px; position: absolute; top: 320px; left: 45%;}
.trouble .inner {display: flex; justify-content: center; flex-direction: column; position: relative; z-index: 30; padding:0 1% 0;}
.sec01_text01 {width: 80%; height: 10%; margin: 0 auto; display: block;}
.trouble-lists {margin: 30px auto 0;}
.trouble-list {font-size: 1.4rem; color: #fff; line-height: 2.5;}
.trouble-list::before {content: "□"; font-size: 1rem; margin-right: 10px; color: #fff;}
.sec01_text02 {width: 80%; margin: 40px auto 0;}

/* sp コンタクト部分----------------------------------------------------------------- */
.contact {padding: 20px 0 0 0;}
.contact-text {font-size: 1.6rem; text-align: center; line-height: 2;}
.contact-wrap {display: flex; flex-direction: column-reverse; position: relative; z-index: 30;}
.contact-tel {width: 70%; margin: 20px auto 0; display: block;}
.contact-mail_btn {width: 80%; height: 50px; color: white; font-size: 1.6rem; margin: 20px auto 0; text-align: center; padding-top: 17px; background: linear-gradient(to right, #009f84, #006957); border-radius: 15px; box-shadow: 2px 4px 4px 2px #B3B3B3;}

/* sp コンタクト下の白三角------------------------------------------------------------- */
.back_down {transform: scaleY(1.3); width: 100%; height: 100px; margin-top: -60px; background: top center/100% 100% url(images/back_down.png); position: relative; z-index: 20;}

/* sp reason部分--------------------------------------------------------------------- */
.reason {padding-top: 100px; padding-bottom: 5px; background-color: #BADD8C; margin-top: -50px; position: relative; z-index: 10;}
.reason-title {width: 40%; margin: 0 auto; display: block;}
.reason-sub_title {color: white; font-size: 2rem; margin-top: 20px; margin-bottom: 85vw; text-align: center;}
.reason_01 {width: 100%; height: 90vw; position: absolute; top: 150px; background: top center/cover url(images/sp/reason_01.png);}
.trapezoid {width: 95%; border-bottom: 80px solid white; border-left: 20px solid transparent; margin:0 auto 25px; filter: drop-shadow(10px 10px #8cc63f); position: relative;}
.reason-list_title {font-size: 1.8rem; color: #8cc63f;  position: absolute; top: 10px; left: 10px;}
.reason-list {font-size: 1.2rem; color: #333; line-height: 1.5; position: absolute; top: 35px; left: 15px;}
.reason-text {font-size: 1.4rem; margin: 0 5%; line-height: 2;}
.reason-marker {display: inline-block; font-size: 1.6rem; margin: 0 0 15px; line-height: 1.5; background: linear-gradient(transparent 55%, #d9e021 55%);}

/* sp reason下の緑三角------------------------------------------------------------------- */
.back_down_green {height: 75px; margin-top: -1px; background: top center/cover url(images/sp/back_down_green.png);}

/* sp サービス部分------------------------------------------------------------------------ */
.service {height: 1220px; position: relative; background-color: #6CC04A; overflow: hidden;}
.service_back_down {width: 100%; height: 100px; background: top center/cover url(images/sp/back_down.png); position: relative; z-index: 20;}
.service_01 {width: 100%; height: 500px; background: top center/cover url(images/sp/service_01.jpg); position: absolute; top: 30px; z-index: 10;}
.service .inner {position: relative; z-index: 20;}
.service-wrap {width: 84%; margin: 0 auto;}
.service_price {width: 70%; margin: 15px auto 0; display: block;}
.service-title_kana {color: #fff; font-size: 2rem; text-align: center;}
.service-text {color: #fff; font-size: 1.5rem; line-height: 1.8; margin-top: 80px;}
.back_triangle {border-bottom: 100px solid #6CC04A; border-left: 100vw solid transparent; position: absolute; top: 270px; z-index: 10;}
.price-wrap {width: 100%; background-color: #6CC04A; position: absolute; top: 370px; padding: 0 3%; z-index: 20;}
.support1 {margin-top: -25px;}
.support-title {color: #fff; font-size: 2rem; background-color: #006837; border-radius: 13px; padding: 5px 10px; display: inline-block;}
.support1-price {color: #fff; font-size: 2.2rem; margin-left: 10px;}
.service_fukidasi {width: 98%;}
.support2 {margin-top: 20px;}
.support-consultation {color: #ffff00; font-size: 1.8rem; margin-left: 10px;}
.support-free {color: #ffff00; font-size: 2.4rem;}
.price_table {width: 98%; color: #ffffff; font-size: 1.3rem; margin: 15px auto;}
.price_table th {padding: 7px 0; text-align: left;}
.price_table td {padding: 7px 0; text-align: right;}
.support-note {color: #ffffff; font-size: 1rem;}

/* sp メッセージ部分----------------------------------------------------------------------- */
.message {padding-bottom: 50px; background-color: #badd8c; margin-top: 30px; padding-top: 30px;}
.message-title {width: 40%; margin: 0 auto 15px; display: block;}
.message-representative {color: #fff; font-size: 2rem; text-align: center;}
.kawakami {width: 100%; margin-top: 20px;}
.message .inner {width: 90%; margin: 0 auto;}
.message-sub_title {color: #333; font-size: 2rem; text-align: center; margin-top: 30px;}
.message-text {color: #333; font-size: 1.4rem; margin-top: 20px; line-height: 1.5;}
.message-sign {color: #333; font-size: 1.4rem; margin-top: 20px; text-align: right;}

/* sp フォーム部分------------------------------------------------------------------------------ */
.form {padding: 30px 0 30px;}
.form-title {width: 40%; margin: 0 auto; display: block;}
.form-title_ja {color: #6CC04A; font-size: 1.4rem; text-align: center; margin-top: 10px;}
.table-form {width: 90%; border-collapse: collapse; border: 1px solid #999999; margin: 30px auto 0;}
.table-form th {width: 100%; color: #333; font-size: 1.6rem; padding: 20px 10px; text-align: left; border: 1px solid #999999; background-color: #F2F2F2; display: block;}
.table-form td {width: 100%; padding: 5px 5px; font-size: 1.3rem; border: 1px solid #999999; display: block;}
.table-checkbox {padding: 10px 0;  column-count: 2;}
.form-indispensable {float: left; width: 58px; height: 26px; color: #ffffff; font-size: 1.4rem; padding-top: 6px; background-color: #ff7BAC; margin-top: -5px; margin-right: 10px; text-align: center; border-radius: 13px;}
input[type="checkbox"] {margin: 7px 7px 7px 10px;}
input[type="text"], input[type="email"] {width: 100%; padding: 15px 10px; background-color: #F2F2F2; border: none;}
textarea {width: 100%; height: 150px; font-size: 1.6rem; line-height: 1.2; padding: 15px 10px; background-color: #F2F2F2; border: none; resize: none;}
::placeholder {font-size: 1.6rem; color: #808080; font-family: 'Kiwi Maru', serif;}
textarea::placeholder {font-size: 1.5rem; line-height: 1.5;}
.form-submit_btn {width: 85%; height: 50px; color: #ffffff; background-color: #FF7BAC; margin: 30px auto 0; display: block; border: none; border-radius: 15px; cursor: pointer;}

/* sp フッター---------------------------------------------------------------------------------- */
footer {padding: 15px 0; background-color: #6CC04A;}
.footer-tel {width: 80%; margin: 0 auto; display: block;}
.footer-logo {width: 75%; margin: 30px auto 0; display: block;}
.footer-address {color: #fff; font-size: 1.4rem; line-height: 1.4; margin-top: 10px; text-align: center;}
.copyright {color: #fff; font-size: 1.3rem; margin-top: 40px; text-align: center;}

/* sp 確認画面---------------------------------------------------------------------------------- */
.confirm-thanks-logo {width: 70%;}
.confirm-text {font-size: 1.4rem; line-height: 1.5; text-align: center; margin: 20px 0 30px;}
.confirm-form td {font-size: 1.6rem; padding: 15px 10px;}
.confirm-form .table-checkbox {padding: 15px 10px; column-count: 1;}
.confirm-form .btn-wrap {margin: 20px 0 30px 0;}
.confirm-form .back_btn {width: 85%;  height: 50px; color: #fff; font-size: 1.6rem; padding-top: 17px; margin: 0 auto 20px; text-align: center; background-color: #B3B3B3; border: none; border-radius: 15px; cursor: pointer; display: block;}
.confirm-submit_btn {width: 85%; color: #fff; font-size: 1.6rem; margin: 0 auto; height: 50px; background-color: #FF7BAC; border: none; border-radius: 15px; cursor: pointer; display: block;}

/* sp thanks画面-------------------------------------------------------------------------------- */
.thanks .inner {padding: 0 1%;}
.thankyou {width: 150px; margin: 30px auto; display: block;}
.post {width: 150px; margin: 50px auto; display: block;}
.thanks-text {color: #333; font-size: 1.6rem; line-height: 2; text-align: center;}
.back_to_top {width: 100px; color: #6CC04A; font-size: 1.8rem; margin: 40px auto; display: block;}

}
/*=====================================================
タブレットより小さいサイズ
======================================================*/
@media screen and (min-width: 415px) and (max-width: 768px) {
.br-sp {display: block;}

.top_icon01, .top_icon02, .top_icon03 {top: 130px; min-width: 90px;}
.top_copy {width: 50%; top: 265px; left: 35%; min-width: 275px;}
.sub_copy {font-size: 2.0rem; padding-left: 32.5%;}

.worry_02 {display: none;}
.trouble-lists {width: 56%;}

.reason-list {font-size: 1.6rem; top: 30px; left: 10px;}
.trapezoid {width: 90%;}
.reason-text {margin: 0 11%; font-size: 1.6rem;}
.reason-marker {font-size: 1.6rem; line-height: 1.8;}
.back_down_green {height: 20vw;}

.contact-mail_btn {width: 50%; min-width: 350px;}
.contact-tel {width: 50%; min-width: 350px;}

/* serviceクラスのheightで直下のコンタクト部分との距離を取っている
もし、heightが0だとコンタクトが上にずれる */
.service {padding-bottom: 10px; height: 1320px;}
.service_back_down {height: 20vw;}
.service-wrap {width: 90%; padding-bottom: 40px;}
.service-text {margin-left: 13%; margin-top: 50px; font-size: 1.5rem;}
.price-wrap {padding: 0 13%;}
.service_fukidasi {width: 95%; margin-left: 15%; max-width: 400px;}
.price_table th, .price_table td {font-size: 1.6rem;}
.support-note {font-size: 1.4rem; line-height: 1.6;}


.form-submit_btn {width: 50%;}

.footer-tel {width: 50%;}
.footer-logo {width: 50%;}

}

/*=====================================================
極小 sp
======================================================*/
@media screen and (max-width: 374px) {
.sub_copy {font-size: 1.4rem; line-height: 1.6;}
.trouble-list {font-size: 1.2rem;}
.worry_02 {top: 230px; left: 43%; width: 180px;}
.contact-text {font-size: 1.5rem;}
.reason-list_title {font-size: 1.6rem; left: 5px;}
.reason-list br {display: none;}
.trapezoid {width: 93%;}
.reason-text {font-size: 1.25rem;}
.reason-marker {font-size: 1.4rem; margin: 0 0 15px;}
.service {height: 1150px;}
.service-text {font-size: 1.25rem; line-height: 2.1;}
.support-title {font-size: 1.6rem; border-radius: 7px;}
.support-consultation {font-size: 1.3rem;}
.support-free {font-size: 2.1rem;}
.price_table {font-size: 1.1rem;}
.support-note {line-height: 1.3;}
.message .inner {width: 95%;}
.message-text {font-size: 1.3rem;}
.table-form td {font-size: 1.2rem;}
input[type="checkbox"] {margin: 7px 0;}
}
