@charset "utf-8";
/*
 * Copyright 2024 マサクリエイツ
 * https://www.masa-cr.com/
 *
 * Breakpoint
 * 576px(sm) 768px(md) 992px(lg) 1200px(xl) 1400px(xxl)
 */
/* ------------------------------
	初期設定
------------------------------ */
html {
	line-height: 1.75;
	font-size:15px;
	font-family: 'Manrope', 'Noto Sans JP', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
    font-weight:500;
	color:#222;
	background-color:transparent;
}
@media screen and (min-width: 576px), print {
    html { font-size:16px; }
}
blockquote {border:dotted 1px #999}
dl {border:solid 1px #ccc}
table {border-top:solid 1px #bdcde6}
caption {background: #999;color: #fff}
td, th {
    padding:1.2em .6em;
    border-bottom:solid 1px #bdcde6;
}
th {font-weight:800;}
hr {color:#ccc;background-color:#ccc}
fieldset {border:1px solid #ccc}
a {text-decoration:underline;text-underline-offset:.3em;color:#1d50a2}
a:hover {text-decoration:none;color:;}
a:active {text-decoration:none;color:#44bcbc}


/* ------------------------------
	loading
------------------------------ */
#loading {
    width:100vw;
    height:100vh;
    transition:all 1s;
    background-color:#fff;
    position:fixed;
    top:0;
    left:0;
    z-index:9999;
}
.spinner {
    width:100px;
    height:100px;
    margin:auto;
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    background-color:#ddd;
    border-radius:100%;
    animation:sk-scaleout 1.0s infinite ease-in-out;
}
/* animation:sk-scaleout */
@keyframes sk-scaleout {
    0% {
        transform:scale(0);
    } 100% {
        transform:scale(1.0);
        opacity:0;
    }
}
.loaded {
    opacity:0;
    visibility:hidden;
}


/* ------------------------------
	レイアウト
------------------------------ */
#container {overflow:hidden}
.mxW {
    max-width:1230px;
    margin-left:auto;
    margin-right:auto;
}
.pdLR {
    padding-left:5%;
    padding-right:5%;
}
.pdLRw {
    padding-left:8%;
    padding-right:8%;
}
.mgT {margin-top:4em}
.mgB {margin-bottom:4em}
.pdT {padding-top:4em}
.pdB {padding-bottom:4em}
@media screen and (min-width: 768px), print {
    .mgT {margin-top:6em}
    .mgB {margin-bottom:6em}
    .pdT {padding-top:6em}
    .pdB {padding-bottom:6em}
}
@media screen and (min-width: 992px), print {
    .mgT {margin-top:7em}
    .mgB {margin-bottom:7em}
    .pdT {padding-top:7em}
    .pdB {padding-bottom:7em}
}
@media screen and (min-width: 1200px), print {
    /*.mgT {margin-top:8em}
    .mgB {margin-bottom:8em}
    .pdT {padding-top:8em}
    .pdB {padding-bottom:8em}*/
}
@media print {
    #container {width:1000px}
}


/* ------------------------------
	header
------------------------------ */
.headerWrap {
    padding:15px 15px;
}
.headerLogo {
    margin:0;
    line-height:1;
    width:220px;
}
.nav-container {
    margin-top:66px;
    padding:3em 5%;
    background:#1d50a2;
    color:#86a3d1;
    text-align:center;
}
.nav-container ul {
    list-style:none;
    margin:0;
    padding:0;
    text-align:left;
}
.nav-container ul li {
    margin:0;
    padding:0;
}
.nav-container a {
    text-decoration:none;
    color:#fff;
}
.nav-child ul {
    margin-bottom:1.5em;
    font-weight:500;
}
.nav-child ul li {
    padding-left:5%;
    padding-right:5%;
}
.nav a {
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:.8em 0;
    border-bottom:solid 1px #86a3d1;
}
.nav a::after {
    content:"\f061";
    font-family:"Font awesome 5 free";
    font-weight:700;
    font-size:.875em;
    color:#44bcbc;
}
.headerTel,
.headerContact {
    display:inline-block;
    margin:1.5em 1.5em 0;
}
.headerTel a {
    display:inline-block;
    font-size:1.5em;
    font-weight:800;
}
.headerTel .fas {
    font-size:1.2rem;
    vertical-align:.1em;
    margin-right:.2em;
}
.headerContact a {
    display:inline-block;
    width:10em;
    padding:.4em .8em;
    border-radius:1.5em;
    background:#fff;
    color:#1d50a2;
}
@media screen and (min-width: 576px), print {
    .nav-child ul {
        float:left;
        width:50%;
    }
}
@media screen and (min-width: 992px), print {
}
@media screen and (min-width: 1200px), print {
    .headerWrap {
        display:flex;
        align-items:center;
        justify-content:space-between;
        padding:0 20px;
    }
    .headerLogo {
        width:250px;
    }
    .nav-wrap {
        text-align:right;
    }
    .nav-container {
        display:flex;
        align-items:center;
        margin-top:0;
        padding:0;
        background:transparent;
        color:#222;
    }
    .nav-container a {
        color:#222;
    }
    .nav-container a:hover {
        color:#44bcbc;
    }
    ul.nav {
        display:flex;
        align-items:center;
    }
    ul.nav > li {
        position:relative;
        margin-left:.8em;
        display:flex;
        align-items:center;
        height:100px;
    }
    ul.nav > li > a::after {
        content:none;
    }
    .nav a,
    .nav > li > span {
        padding:.4em;
        border-bottom:none;
    }
    .nav > li > span {
        cursor:default;
    }
    .nav-child {
        width:32em;
        padding:1em 0;
        border-radius:.5em;
        background:#1d50a2;
        color:#fff;
        top:85px;
        z-index:1000;
    }
    .nav-child ul {
        margin:0;
    }
    .nav-child ul li {
        margin:0;
    }
    .nav-child a {
        padding-left:.8em;
        padding-right:.4em;
        border-radius:2em;
        color:#fff;
    }
    .nav-child a:hover {
        background:#44bcbc;
        color:#fff;
    }
    .nav-child a:hover::after {
        color:#fff;
    }
    .headerTel,
    .headerContact {
        margin:0 0 0 1.5em;
    }
    .headerTel a {
        color:#1d50a2;
    }
    .headerContact a {
        width:auto;
        padding:.25em 1.6em;
        border-radius:1.5em;
        background:#1d50a2;
        color:#fff;
    }
    .headerContact a:hover {
        background:#44bcbc;
        color:#fff;
    }
}
@media screen and (min-width: 1400px), print {
    .headerWrap {
        padding:0 30px;
    }
    .headerLogo {
        width:277px;
    }
    ul.nav {
        margin-right:1em;
    }
    ul.nav > li {
        margin-left:1.5em;
        height:120px;
    }
    .nav-child {
        top:85px;
    }
}

/* グローバールメニュー切り替え */
.nav-button {display:none}
.nav-wrap.open {
    display:block;
    opacity:0;
    animation-name:fadein;
    animation-duration:.3s;
    animation-timing-function:ease-out;
    animation-fill-mode:forwards;
}
@keyframes fadein {
    0% {
       opacity: 0;
       transform: translateY(16px);
    }
    100% {
       opacity: 1;
       transform: translateY(0);
    }
}
.nav-wrap.close {display:none}
@media screen and (min-width: 1200px), print {
    .nav-wrap {display:block !important}
    .nav .nav-child {
        display:none;
        position:absolute;
    }
}
@media screen and (max-width: 1199px) {
    .nav-wrap {
        display:none;
        width:100%;
        height:100%;
        position:fixed;
        z-index:100;
        left:0;
        top:0;
        overflow-x:hidden;
        overflow-y:auto;
        overscroll-behavior:none;
        background:linear-gradient(to bottom, #fff 66px, #1d50a2 66px);
    }
    .nav-button {
        display:block;
        width:46px;
        height:46px;
        position:absolute;
        z-index:101;
        top:12px;
        right:10px;
        cursor:pointer;
        background:#1d50a2;
        border-radius:50%;
    }
    .nav-button.active {position:fixed}
    .nav-button span {
        transition:all 0.4s;
        display:inline-block;
        width:22px;
        height:2px;
        box-sizing:border-box;
        position:absolute;
        left:12px;
        background:#fff;
    }
    .nav-button span:nth-of-type(1) {top:16px}
    .nav-button span:nth-of-type(2) {top:22px}
    .nav-button span:nth-of-type(3) {bottom:16px}
    .nav-button.active span:nth-of-type(1) {
        -webkit-transform: translateY(6px) rotate(-45deg);
        transform: translateY(6px) rotate(-45deg);
    }
    .nav-button.active span:nth-of-type(2) {
        opacity:0;
    }
    .nav-button.active span:nth-of-type(3) {
        -webkit-transform: translateY(-6px) rotate(45deg);
        transform: translateY(-6px) rotate(45deg);
    }
    .nav-wrap .nav {position:relative}
}


/* ------------------------------
	footer
------------------------------ */
#footer {
    background:#1d50a2;
    color:#fff;
}
#footer a {
    color:#fff;
}
#footer .mxW {
    display:flex;
    flex-wrap:wrap;
    justify-content: space-between;
}
#footer .bgc_fff {
    width:100%;
    margin-bottom:3em;
    padding:3em 3% 2em;
    border-radius:1.5em;
}
#footer .bgc_fff a {
    color: #1d50a2;
}
#footer a:hover {
    color:#44bcbc;
}
.footerLogo {
    width:74px;
}
.snsIcon {
    font-size:1.75rem;
}
.footerNavWrap {
    width:50%;
    margin-bottom:2em;
}
ul.footerNav {
    list-style:none;
    padding:0;
}
ul.footerNav li {
    margin:1em 0;
}
ul.footerNav a {
    text-decoration:none;
}
#pagetop a {
    display:block;
    padding:1em;
    background:#86a3d1;
    color:#fff;
    text-align:center;
    text-decoration:none;
}
@media screen and (min-width: 576px), print {
    .footerNavWrap {
        width:30%;
        margin:0 10% 2em;
    }
}
@media screen and (min-width: 768px), print {
    #footer .mxW {
        flex-wrap:nowrap;
    }
    #footer .bgc_fff {
        width:auto;
        margin-right:3em;
        margin-bottom:0;
    }
    .footerLogo {
        width:92px;
    }
    .footerNavWrap {
        width:auto;
        margin:0 2em 0 0;
    }
    .copyright {
        text-align:right;
    }
    #pagetop a {
        width:46px;
        height:32px;
        padding:14px 0 0;
        line-height:1;
        position:fixed;
        right:8px;
        bottom:10px;
        background:#1d50a2;
        border:solid 2px #fff;
        border-radius:100vmax;
    }
    #pagetop a:hover {
        /*height:38px;
        padding:8px 0 0;*/
        background:#44bcbc;
        border-color:#44bcbc;
    }
}
@media screen and (min-width: 992px), print {
    #footer .mxW {
        justify-content:flex-start;
    }
    #footer .bgc_fff {
        width:auto;
        margin-right:12%;
        padding-left:7%;
        padding-right:7%;
    }
    .footerNavWrap {
        margin-right:5em;
    }
}


/* ------------------------------
	pageTitle
------------------------------ */
.pageTitle {
    margin:2rem 0 4rem;
    padding:2em 5%;
    border-radius:1rem;
    background:#f0f6ff;
    color:#1d50a2;
    font-weight:500;
    letter-spacing:.05em;
}


/* ------------------------------
	main
------------------------------ */
.swiper-button-next, .swiper-button-prev {
    background:rgba(255,255,255,.75);
}
.swiper-button-prev, .swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 0);
}
.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 0);
}
.swiper-button-next:after, .swiper-button-prev:after {
    font-size:1.5em;
}

.indexEyecatch {
    background:url('../images/back_index-eyecatch.jpg') no-repeat center center;
    background-size:cover;
}
.swiperPhoto {
    border-radius:0 0 10vw 10vw;
}
.indexEyecatch .catchCopy {
    width:18em;
    margin:0 auto;
}
.indexEyecatch .catchCopy h2 {
    margin-bottom:.5em;
    padding-bottom:.5em;
    border-bottom:solid 2px #1d50a2;
    color:#1d50a2;
    font-size:1.6em;
    font-weight:800;
    font-style:italic;
}
.indexEyecatch .catchCopy h2 strong {
    font-weight:800;
}
.swiperMenu {
    margin-top:3em;
}
@media screen and (min-width: 768px), print {
    .indexEyecatch {
        padding-top:3em;
    }
    .swiperPhoto {
        max-width:700px;
        border-radius:300px;
    }
    .indexEyecatch .catchCopy {
        width:22em;
    }
    .indexEyecatch .catchCopy h2 {
        font-size:2em;
    }
}
@media screen and (min-width: 992px), print {
    .indexEyecatch {
        padding-top:7em;
    }
    .catchCopyWrap {
        display:flex;
        flex-direction:row-reverse;
        align-items:center;
        padding:5%;
        max-width:1366px;
        margin:auto;
    }
    .indexEyecatch .eyecatchSlide {
        width:50%;
    }
    .indexEyecatch .catchCopy {
        flex:1;
        width:auto;
        margin-right:5%;
    }
    .indexEyecatch .catchCopy h2 {
        display:inline;
        padding-bottom:0;
        font-size:2.25em;
        line-height:1.75;
    }
    .indexEyecatch .catchCopy h2 + p {
        margin:1.5em 0 0;
        max-width:36em;
    }
}
@media screen and (min-width: 1120px), print {
    .indexEyecatch .catchCopy h2 {
        font-size:2.5em;
    }
}
@media screen and (min-width: 1390px), print {
    .indexEyecatch .catchCopy h2 {
        font-size:3em;
        letter-spacing:.05em;
    }
}

.problemBlock {
    background:#f8f4e5;
    text-align:center;
}
.problemBlock h2 {
    position:relative;
    display:inline-block;
    padding-bottom:12px;
}
.problemBlock h2::before {
    content:"";
    position:absolute;
    bottom:0;
    display:block;
    width:100%;
    height:2px;
    background:#000;
}
.problemBlock h2::after {
    content: url('../images/problemBlock_h_arrow.png');
    position:absolute;
    bottom:-12px;
    left:0;
    right:0;
    width:29px;
    height:24px;
    margin:auto;
    font-size:1rem;
}
.problemBlock h2 strong {
    color:#44bcbc;
}
.problemBlock ul {
    list-style:none;
    width:fit-content;
    margin:auto;
    padding:30px 0 186px;
    text-align:left;
    background:url('../images/ill_nayami.png') no-repeat center bottom;
    background-size:240px;
}
.problemBlock ul li {
    padding:0 0 0 41px;
    text-indent:-41px;
}
.problemBlock ul li::before {
    content: url('../images/icon_check.png');
    vertical-align:-.4em;
    margin-right:.75em;
    font-size:1rem;
}
@media screen and (min-width: 576px), print {
    .problemBlock ul {
        padding:30px 0 240px;
        background-size:301px;
    }
}
@media screen and (min-width: 992px), print {
    .problemBlock ul {
        width:auto;
        padding:30px 0;
        background:url('../images/ill_nayami.png') no-repeat right center;
        min-height:169px;
        max-width:900px;
    }
    .problemBlock ul li {
        padding:0 320px 0 41px;
    }
}

.serviceBlock h2 {
    display:inline-block;
    color:#1d50a2;
    border-bottom:solid 2px #1d50a2;
    padding-bottom:.2em;
    margin-bottom:.6em;
}
.serviceBlock ul {
    list-style:none;
    padding:0;
}
.serviceBlock ul li {
    margin-bottom:2em;
}
.serviceImage {
    display:block;
    overflow:hidden;
    border-radius:100vmax;
    background:#82b2ff;
}
.serviceImage img {
    opacity:.75;
}
.serviceImage:hover img {
    opacity:1;
    transform:scale(1.1);
}
.serviceBlock .h_02 {
    margin:.8em 0 .5em;
}
.serviceBlock .btn_02 {
    width:1.4em;
}
@media screen and (min-width: 576px), print {
    .serviceBlock ul {
        display:flex;
        flex-wrap:wrap;
        gap:4%;
    }
    .serviceBlock ul li {
        width:48%;
    }
}
@media screen and (min-width: 928px), print {
    .serviceBlock ul {
        gap:3%;
    }
    .serviceBlock ul li {
        width:31.333%;
    }
}

.sectionTitle {
    text-align:center;
    margin-bottom:2em;
}
.sectionTitle img {
    margin-bottom:2em;
}
.sectionTitle h2 {
    display:inline-block;
    width:180px;
    padding:.2em .8em;
    background:#1d50a2;
    color:#fff;
    text-align:center;
}
.english {
    color:#bdcde6;
    font-size:2.4em;
    font-weight:800;
    letter-spacing:.1em;
}
@media screen and (min-width: 928px), print {
    .sectionTitleWrap {
        display:flex;
        align-items:center;
        margin-bottom:0;
    }
    .sectionTitle {
        width:30%;
        margin-right:5%;
    }
    .english {
        font-size:3.75em;
        line-height:1.2;
    }
    .sectionTitleNext {
        flex:1;
    }
}

.menuListMain {
    list-style:none;
    max-width:400px;
    margin-left:auto;
    margin-right:auto;
    padding:0;
}
.menuListMain li {
    margin-bottom:1.5em;
    padding:0;
}
.menuListMain a {
    display:block;
    border:solid 2px #bdcde6;
    border-radius:1em;
    overflow:hidden;
    text-decoration:none;
    text-align:center;
}
.menuListMain a:hover {
    background:#44bcbc;
    border-color:#44bcbc;
    color:#fff;
}
.menuListMain a .menuImage {
    overflow:hidden;
    background:#82b2ff;
}
.menuListMain a .menuImage img {
    opacity:.75;
}
.menuListMain a:hover .menuImage img {
    opacity:1;
    transform:scale(1.1);
}
.menuListMain a span {
    display:block;
    padding:1em 5%;
}
@media screen and (min-width: 576px), print {
    .menuListMain {
        max-width:none;
    }
    .menuListMain a {
        display:flex;
        align-items:center;
        border-radius:100vmax;
        text-align:left;
    }
    .menuListMain a::after {
        content:"\f061";
        font-family:"Font awesome 5 free";
        font-weight:700;
        display:inline-block;
        width:1em;
        height:1em;
        margin-right:1em;
        padding:1.2em;
        line-height:1;
        border:solid 2px #bdcde6;
        color:#1d50a2;
        border-radius:50%;
        text-align:center;
        transition: all .2s;
        background:#fff;
    }
    .menuListMain a:hover::after {
        border-color:#44bcbc;
        color:#44bcbc;
    }
    .menuListMain a .menuImage {
        width:30%;
    }
    .menuListMain a span {
        flex:1;
        padding:.8em 5%;
    }
}

.menuList {
    list-style:none;
    padding:0;
    border:solid 2px #bdcde6;
    border-radius:1em;
    overflow:hidden;
}
.menuList li {
    border-bottom:solid 2px #bdcde6;
    margin:0;
    padding:0;
}
.menuList li:last-child {
    border-bottom:none;
}
@media screen and (min-width: 928px), print {
    .menuList {
        display:flex;
        flex-wrap:wrap;
        gap:2%;
        list-style:none;
        padding:0;
        border:none;
    }
    .menuList li {
        width:23.5%;
        margin-bottom:2%;
        border:none;
    }
}
@media screen and (max-width: 927px), print {
    .menuList .btn_02 {
        border:none;
        padding:1em;
        border-radius:0;
    }
}

.areaBlock .map {
    text-align:center;
}
.areaBlock .map img {
    border-radius:1em;
    margin-bottom:1em;
}
@media screen and (min-width: 768px), print {
    .areaBlock .sectionTitleNext {
        display:flex;
        align-items:center;
        background:#86a3d1;
        color:#fff;
        border-radius:1em;
    }
    .areaBlock .map img {
        margin-bottom:0;
    }
    .sectionTitleNext .pdLR {
        flex:1;
    }
    .sectionTitleNext p {
        max-width:19em;
        margin:auto;
    }
}

.qualityBlock {
    background-image:url('../images/back_quality-area_s.jpg?date=20250812');
    background-repeat:no-repeat;
    background-position:center bottom;
    background-color:#f0f6ff;
    background-size: contain;
}
.qualityBlock .mxW {
    max-width:1060px;
}
.qualityBlock .sectionTitle {
    width:auto;
    margin-right:0;
}
ul.qualityFeature {
    list-style:none;
    margin:4em 0 0;
    padding:0;
    display:flex;
    justify-content:center;
}
ul.qualityFeature li {
    position:relative;
    width:3em;
    height:1em;
    margin:0 10px 0 0;
    padding:1.75em .75em;
    border:solid 4px #fff;
    border-radius:50%;
    line-height:1;
    font-size:1.25em;
    font-weight:800;
    font-style:italic;
    background:linear-gradient(135deg, #44bcbc 40%, #1d50a2);
    color:#fff;
    text-align:center;
}
ul.qualityFeature li::before {
    content:"";
    width:10px;
    height:4px;
    position:absolute;
    right:-14px;
    top:0;
    bottom:0;
    margin:auto;
    background: #fff;
}
ul.qualityFeature li:last-child:before {
    content:none;
}
@media screen and (min-width: 576px), print {
    ul.qualityFeature li {
        font-size:1.5em;
    }
}
@media screen and (min-width: 992px), print {
    .qualityBlock {
        background-image:url('../images/back_quality-area.jpg?date=20250812');
        background-position:right center;
        background-size:auto;
    }
    .qualityBlock .sectionTitleWrap {
        text-align:left;
    }
    .qualityBlock .sectionTitle {
        text-align:left;
    }
    ul.qualityFeature {
        display:inline-block;
        margin:0;
    }
    ul.qualityFeature li {
        width:3em;
        height:1em;
        margin:0 0 20px;
        padding:2em 1em;
        border-width:5px;
        font-size:1.75em;
    }
    ul.qualityFeature li::before {
        width:5px;
        height:20px;
        top:auto;
        right:0;
        left:0;
        bottom:-25px;
    }
}

.newsBlock ul {
    list-style:none;
    margin:0;
    padding:0 0 230px;
    background:url('../images/ill_sofa-cleaning.png') no-repeat center bottom;
}
.newsBlock ul li {
    border-top:solid 1px #bdcde6;
    padding:1.2em;
}
.newsBlock ul li:last-child {
    border-bottom:solid 1px #bdcde6;
}
@media screen and (min-width: 726px), print {
    .newsBlock ul {
        min-height:206px;
        padding:0 270px 0 0;
        background-position:right top;
    }
}
@media screen and (min-width: 992px), print {
    .newsBlock .mxW {
        display:flex;
    }
    .newsBlock ul {
        margin-left:5%;
        padding-right:290px;
        flex:1;
    }
}

.contactBlock {
    background:#e3f5f5;
}
.contactWrap {
    padding:2em 5%;
    border:solid 2px #1d50a2;
    border-radius:1.5em;
    background:#fff;
    text-align:center;
}
.contactWrap a {
    text-decoration:none;
}
.contactWrap .tel {
    line-height:1.4;
}
.contactWrap .tel a {
    font-size:1.75em;
}
.contactWrap .tel .fas {
    margin-right:.2em;
    font-size:.875em;
    vertical-align:.05em;
}
.contactWrap .form .btn_03 {
    font-size:1.125em;
    padding:.6em 2.5em;
}
@media screen and (min-width: 576px), print {
    .contactWrap .tel a {
        font-size:2.25em;
    }
    .contactWrap .form .btn_03 {
        padding:.8em 2.5em;
    }
}
@media screen and (min-width: 768px), print {
    .contactWrap {
        padding:3em 5%;
    }
    .contactWrap > div {
        display:flex;
        align-items:center;
        justify-content:space-around;
    }
    .contactWrap .form .btn_03 {
        padding:1em 4em;
    }
}
@media screen and (min-width: 992px), print {
    .contactBlock .mxW .head {
        display:flex;
        align-items: flex-end;
    }
}

::-webkit-input-placeholder {color:#999}
:-moz-placeholder {color:#999}
.formArea table {
    border-collapse:collapse;
    width:100%;
}
.formArea input[type="text"],
.formArea input[type="password"],
.formArea input[type="email"],
.formArea input[type="tel"],
.formArea select,
.formArea textarea {
    border:solid 1px #ddd;
    background:#fff;
    color:#222;
    padding:.6em .4em;
    box-shadow:none;
}
.formArea input[type="text"],
.formArea input[type="password"],
.formArea input[type="email"],
.formArea input[type="tel"],
.formArea textarea {
    box-sizing:border-box;
    width:100%;
    max-width:100%;
}
.formArea button,
.formArea input[type="submit"],
.formArea input[type="reset"],
.formArea input[type="button"] {
	-webkit-appearance:none;
    padding:1em 2em;
    border:none;
    border-radius:100vmax;
    background:#ddd;
    color:#222;
    transition:all .2s;
}
.formArea button:hover,
.formArea input[type="reset"]:hover,
.formArea input[type="button"]:hover {
    background:#ccc;
    color:#000;
}
.formArea input[type="submit"] {
    background:#0c6;
    color:#fff;
}
.formArea input[type="submit"]:hover {
    background:#1d9f4e;
}
.formArea textarea {
    width:100%!important;
    height:12em!important;
}
@media screen and (max-width: 799px) {
    .formArea th,
    .formArea td {
        display:block;
    }
    .formArea th {
        width:100%;
        padding-bottom:0;
    }
}
.hissu {
    display:inline-block;
    margin:.5em;
    padding:2px .5em;
    border-radius:4px;
    background:#f33;
    color:#fff;
    line-height:1.2;
    font-size:.666em;
    font-weight:500;
}
.mfp_element_submit, .mfp_element_reset, .mfp_element_button, button.mfp_next, button.mfp_prev {
    text-shadow:none;
    font-size:inherit;
}

.flowWrap h2 {
    display:flex;
    align-items:center;
    padding:.3em;
    background:#1d50a2;
    color:#fff;
    border-radius:100vmax;
}
.flowWrap h2::before {
    content:"1";
    display:inline-block;
    width:1em;
    height:1em;
    margin-right:.8em;
    padding:.4em;
    line-height:1;
    border-radius:50%;
    text-align:center;
    transition: all .2s;
    background:#fff;
    color:#1d50a2;
    flex-shrink:0;
}
.flowWrap h2:nth-of-type(1)::before { content:"1";}
.flowWrap h2:nth-of-type(2)::before { content:"2";}
.flowWrap h2:nth-of-type(3)::before { content:"3";}
.flowWrap h2:nth-of-type(4)::before { content:"4";}
.flowWrap h2:nth-of-type(5)::before { content:"5";}
.flowWrap h2:nth-of-type(6)::before { content:"6";}
.flowWrap h2:nth-of-type(7)::before { content:"7";}
.flowWrap h2:nth-of-type(8)::before { content:"8";}


/* ------------------------------
	class
------------------------------ */

/***** 文字色 *****/
.txc_01,a.txc_01 {color:#1d50a2;}/*  */
.txc_02,a.txc_02 {color:#44bcbc;}/*  */
.txc_03,a.txc_03 {color:#86a3d1}/*  */

/***** 背景 *****/
.bgc_01 {}/*  */
.bgc_02 {}/*  */
.bgc_03 {}/*  */

/***** 見出し *****/
.h_01 {
    margin:3em 0 2em;
    padding:.8em 0 0;
    border-top:solid 3px #bdcde6;
    color:#1d50a2;
    font-weight:800;
}
.h_02 {
    display:flex;
    align-items:center;
    font-weight:500;
    color:#1d50a2;
}
.h_02::before {
    content:"";
    display:block;
    width:.8em;
    height:.8em;
    margin-right:.333em;
    background:#44bcbc;
    border-radius:50%;
    flex-shrink:0;
}
.h_03 {}

/***** ボタン *****/
a.btn_01,
a.btn_02,
a.btn_03,
a.btn_04 {
    display:inline-block;
    text-decoration:none;
    line-height:1.4;
    position:relative;
    text-align:center;
}
a.btn_01.d_block,
a.btn_02.d_block,
a.btn_03.d_block,
a.btn_04.d_block {
    display:block;
}
a.btn_01 {
    padding:.4em 1.2em;
    background:#fff;
    color:#1d50a2;
    border:solid 2px #1d50a2;
    border-radius:100vmax;
}
a.btn_01:active {
    color:#44bcbc;
}
a.btn_02 {
    padding:.8em;
    border-radius:100vmax;
    border:solid 2px #bdcde6;
    background:#fff;
    color:#1d50a2;
}
a.btn_02.arrow {
    display:flex;
    align-items:center;
    width:fit-content;
    padding:.6em .8em .6em 1.2em;
    text-align:left;
}
a.btn_02.arrow.d_block {
    justify-content:space-between;
    width:auto;
}
a.btn_02.arrow::after {
    content:"\f061";
    font-family:"Font awesome 5 free";
    font-weight:700;
    font-size:.875em;
    display:inline-block;
    width:1em;
    height:1em;
    margin-left:.8em;
    padding:.8em;
    line-height:1;
    border:solid 2px #bdcde6;
    border-radius:50%;
    text-align:center;
    transition: all .2s;
    background:#fff;
}
a.btn_02:hover {
    background:#44bcbc;
    border-color:#44bcbc;
    color:#fff;
}
a.btn_02.arrow:hover::after {
    border-color:#44bcbc;
    color:#44bcbc;
}
a.btn_03 {
    padding:.4em 1.2em;
    border-radius:100vmax;
    background:#1d50a2;
    color:#fff;
}
a.btn_03:hover {
    background:#44bcbc;
}
a.btn_04 {
    padding:.4em 1.2em;
    border-radius:100vmax;
    background:#86a3d1;
    color:#fff;
}
a.btn_04:hover {
    background:#44bcbc;
}
a.btn_04.arrow {
    display:flex;
    padding-right:0;
    align-items:center;
    width:fit-content;
    text-align:left;
}
a.btn_04.arrow.d_block {
    justify-content:space-between;
    width:auto;
}
a.btn_04.arrow::after {
    content:"\f061";
    font-family:"Font awesome 5 free";
    font-weight:700;
    font-size:.875em;
    margin-left:.8em;
    margin-right:.8em;
    line-height:1;
    transition:all .2s;
}
a.btn_04.arrow:hover::after {
    color:#1d50a2;
    margin-left:1em;
    margin-right:.6em;
}


/***** リスト *****/
.list_01 {}
.list_02 {}
.list_03 {}

/***** その他 *****/
@media screen and (max-width: 575px) {
    table.rpsTable th,
    table.rpsTable td {
        display:block;
    }
    table.rpsTable th {
        border-bottom:none;
        padding-bottom:.25em;
    }
    table.rpsTable td {
        padding-top:.25em;
    }
}

.marker {
    background: linear-gradient(to bottom, transparent 60%, #e3f5f5 60%);
}